func init() {
// deploy contract arguments
- deployTradeoffCmd.PersistentFlags().Uint64Var(&txFee, "txFee", 40000000, "contract transaction fee")
- deployTradeoffCmd.PersistentFlags().StringVar(&assetRequested, "assetRequested", "", "tradeoff contract paramenter with requested assetID")
- deployTradeoffCmd.PersistentFlags().Uint64Var(&amountRequested, "amountRequested", 0, "tradeoff contract paramenter with requested amount")
- deployTradeoffCmd.PersistentFlags().StringVar(&seller, "seller", "", "tradeoff contract paramenter with seller control-program")
- deployTradeoffCmd.PersistentFlags().StringVar(&cancelKey, "cancelKey", "", "tradeoff contract paramenter with seller pubkey for cancelling the contract")
- deployTradeoffCmd.PersistentFlags().StringVar(&assetLocked, "assetLocked", "", "tradeoff contract locked value with assetID")
- deployTradeoffCmd.PersistentFlags().Uint64Var(&amountLocked, "amountLocked", 0, "tradeoff contract locked value with amount")
- deployTradeoffCmd.PersistentFlags().StringVar(&ip, "ip", "127.0.0.1", "network address")
- deployTradeoffCmd.PersistentFlags().StringVar(&port, "port", "9888", "network port")
-
- // call contract arguments
- callTradeoffCmd.PersistentFlags().Uint64Var(&txFee, "txFee", 40000000, "contract transaction fee")
- callTradeoffCmd.PersistentFlags().StringVar(&ip, "ip", "127.0.0.1", "network address")
- callTradeoffCmd.PersistentFlags().StringVar(&port, "port", "9888", "network port")
-
- // cancel tradeoff contract arguments
- cancelTradeoffCmd.PersistentFlags().Uint64Var(&txFee, "txFee", 40000000, "contract transaction fee")
- cancelTradeoffCmd.PersistentFlags().StringVar(&ip, "ip", "127.0.0.1", "network address")
- cancelTradeoffCmd.PersistentFlags().StringVar(&port, "port", "9888", "network port")
+ // deployTradeoffCmd.PersistentFlags().Uint64Var(&txFee, "txFee", 40000000, "contract transaction fee")
+ // deployTradeoffCmd.PersistentFlags().StringVar(&assetRequested, "assetRequested", "", "tradeoff contract paramenter with requested assetID")
+ // deployTradeoffCmd.PersistentFlags().Uint64Var(&amountRequested, "amountRequested", 0, "tradeoff contract paramenter with requested amount")
+ // deployTradeoffCmd.PersistentFlags().StringVar(&seller, "seller", "", "tradeoff contract paramenter with seller control-program")
+ // deployTradeoffCmd.PersistentFlags().StringVar(&cancelKey, "cancelKey", "", "tradeoff contract paramenter with seller pubkey for cancelling the contract")
+ // deployTradeoffCmd.PersistentFlags().StringVar(&assetLocked, "assetLocked", "", "tradeoff contract locked value with assetID")
+ // deployTradeoffCmd.PersistentFlags().Uint64Var(&amountLocked, "amountLocked", 0, "tradeoff contract locked value with amount")
+ // deployTradeoffCmd.PersistentFlags().StringVar(&ip, "ip", "127.0.0.1", "network address")
+ // deployTradeoffCmd.PersistentFlags().StringVar(&port, "port", "9888", "network port")
// compile contract locally
equityCmd.PersistentFlags().BoolVar(&bin, strBin, false, "Binary of the contracts in hex.")
cancelHTLCCmd.PersistentFlags().StringVar(&ip, "ip", "127.0.0.1", "network address")
cancelHTLCCmd.PersistentFlags().StringVar(&port, "port", "9888", "network port")
+ // call contract arguments
+ callTradeoffCmd.PersistentFlags().Uint64Var(&txFee, "txFee", 40000000, "contract transaction fee")
+ callTradeoffCmd.PersistentFlags().StringVar(&ip, "ip", "127.0.0.1", "network address")
+ callTradeoffCmd.PersistentFlags().StringVar(&port, "port", "9888", "network port")
+
+ // cancel tradeoff contract arguments
+ cancelTradeoffCmd.PersistentFlags().Uint64Var(&txFee, "txFee", 40000000, "contract transaction fee")
+ cancelTradeoffCmd.PersistentFlags().StringVar(&ip, "ip", "127.0.0.1", "network address")
+ cancelTradeoffCmd.PersistentFlags().StringVar(&port, "port", "9888", "network port")
+
// submit tx
submitPaymentCmd.PersistentFlags().StringVar(&spendUTXOSig, "spendUTXOSig", "", "spend UTXO Signature")
submitPaymentCmd.PersistentFlags().StringVar(&spendUTXOPublicKey, "spendUTXOPublicKey", "", "spend UTXO PublicKey")
version = false
)
-var deployTradeoffCmd = &cobra.Command{
- Use: "deployTradeoff <accountID> <password> [contract flags(paramenters and locked value)] [txFee flag] [URL flags(ip and port)]",
- Short: "deploy tradeoff contract",
- Args: cobra.ExactArgs(2),
- Run: func(cmd *cobra.Command, args []string) {
- accountInfo := swap.AccountInfo{
- AccountID: args[0],
- Password: args[1],
- TxFee: txFee,
- }
- if len(accountInfo.AccountID) == 0 || len(accountInfo.Password) == 0 {
- fmt.Println("The part field of the structure AccountInfo is empty:", accountInfo)
- os.Exit(0)
- }
-
- contractArgs := swap.ContractArgs{
- AssetAmount: swap.AssetAmount{
- Asset: assetRequested,
- Amount: amountRequested,
- },
- Seller: seller,
- CancelKey: cancelKey,
- }
- if len(contractArgs.Asset) == 0 || contractArgs.Amount == uint64(0) || len(contractArgs.Seller) == 0 || len(contractArgs.CancelKey) == 0 {
- fmt.Println("The part field of the structure ContractArgs is empty:", contractArgs)
- os.Exit(0)
- }
-
- contractValue := swap.AssetAmount{
- Asset: assetLocked,
- Amount: amountLocked,
- }
- if len(contractValue.Asset) == 0 || contractValue.Amount == uint64(0) {
- fmt.Println("The part field of the structure ContractValue AssetAmount is empty:", contractValue)
- os.Exit(0)
- }
-
- server := &swap.Server{
- IP: ip,
- Port: port,
- }
-
- contractUTXOID, err := swap.DeployTradeoffContract(server, accountInfo, contractArgs, contractValue)
- if err != nil {
- fmt.Println(err)
- os.Exit(0)
- }
- fmt.Println("--> contractUTXOID:", contractUTXOID)
- },
-}
-
var deployHTLCCmd = &cobra.Command{
Use: "deployhtlc <guid> <outputID> <lockedAsset> <contractProgram> <lockedAmount> [URL flags(ip and port)]",
Short: "deploy HTLC contract",
spendUTXOSignatures = append(spendUTXOSignatures, preimage, spendUTXOSig, "")
+ case "cancelHTLC":
+ if _, err := hex.DecodeString(spendUTXOSig); err != nil || len(spendUTXOSig) != 128 {
+ fmt.Println("The part field of spendUTXOSig is invalid:", spendUTXOSig)
+ os.Exit(0)
+ }
+
+ if _, err := hex.DecodeString(spendWalletSig); err != nil || len(spendWalletSig) != 128 {
+ fmt.Println("The part field of spendWalletSig is invalid:", spendWalletSig)
+ os.Exit(0)
+ }
+
+ spendUTXOSignatures = append(spendUTXOSignatures, spendUTXOSig, "01")
+
default:
fmt.Println("action is invalid:", action)
os.Exit(0)