diff --git a/src/cc/payments.cpp b/src/cc/payments.cpp index 42a8bb1d9..a945d6a28 100644 --- a/src/cc/payments.cpp +++ b/src/cc/payments.cpp @@ -16,16 +16,22 @@ #include "CCPayments.h" /* - 0) create <- update_allowed flag, locked_blocks, minrelease, list of scriptPubKeys, allocations + 0) txidopret <- allocation, scriptPubKey, opret + 1) create <- locked_blocks, minrelease, list of txidopret - 1) lock amount to global CC address + 2) lock amount opretflag to global CC address with opret or txidaddr without - 2) release amount -> vout[i] will be scriptPubKeys[i] and (amount * allocations[i]) / sumallocations[] (only using vins that have been locked for locked_blocks+). will make a tx with less than amount if it can find enough vins for minrelease amount - - 3) update (vins from all scriptPubkeys) new update_allowed flag, locked_blocks, minrelease, list of scriptPubKeys, allocations (only if update_allowed) + 3) release amount -> vout[i] will be scriptPubKeys[i] and (amount * allocations[i]) / sumallocations[] (only using vins that have been locked for locked_blocks+). will make a tx with less than amount if it can find enough vins for minrelease amount 4) info txid -> display parameters, funds 5) list -> all txids + + First step is to create txids with the info needed in their opreturns. this info is the weight, scriptPubKey and opret if needed. To do that txidopret is used: + + ./c is a script that invokes komodo-cli with the correct -ac_name + + ./komodo-cli -ac_name=PAY paymentstxidopret \"[9,%222102d6f13a8f745921cdb811e32237bb98950af1a5952be7b3d429abd9152f8e388dac%22]\" + ./c paymentstxidopret \"[1,%2221039433dc3749aece1bd568f374a45da3b0bc6856990d7da3cd175399577940a775ac%22]\" */ // start of consensus code diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index 1668a6cb6..2bde855eb 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -5581,8 +5581,8 @@ UniValue cclib(const UniValue& params, bool fHelp) UniValue payments_release(const UniValue& params, bool fHelp) { struct CCcontract_info *cp,C; char *jsonstr=0; - if ( fHelp || params.size() != 2 ) - throw runtime_error("paymentsrelease createtxid amount\n"); + if ( fHelp || params.size() != 1 ) + throw runtime_error("paymentsrelease \"[%22createtxid%22,amount]\"\n"); if ( ensure_CCrequirements(EVAL_PAYMENTS) < 0 ) throw runtime_error("to use CC contracts, you need to launch daemon with valid -pubkey= for an address in your wallet\n"); const CKeyStore& keystore = *pwalletMain; @@ -5594,8 +5594,8 @@ UniValue payments_release(const UniValue& params, bool fHelp) UniValue payments_fund(const UniValue& params, bool fHelp) { struct CCcontract_info *cp,C; char *jsonstr=0; - if ( fHelp || params.size() < 2 || params.size() > 3 ) - throw runtime_error("paymentsfund createtxid amount [useopret]\n"); + if ( fHelp || params.size() != 1 ) + throw runtime_error("paymentsfund \"[%22createtxid%22,amount(,useopret)]\"\n"); if ( ensure_CCrequirements(EVAL_PAYMENTS) < 0 ) throw runtime_error("to use CC contracts, you need to launch daemon with valid -pubkey= for an address in your wallet\n"); const CKeyStore& keystore = *pwalletMain; @@ -5607,8 +5607,8 @@ UniValue payments_fund(const UniValue& params, bool fHelp) UniValue payments_txidopret(const UniValue& params, bool fHelp) { struct CCcontract_info *cp,C; char *jsonstr=0; - if ( fHelp || params.size() < 2 ) - throw runtime_error("paymentstxidopret scriptPubKey opretformat\n"); + if ( fHelp || params.size() != 1 ) + throw runtime_error("paymentstxidopret \"[allocation,%22scriptPubKey%22(,%22destopret%22)]\"\n"); if ( ensure_CCrequirements(EVAL_PAYMENTS) < 0 ) throw runtime_error("to use CC contracts, you need to launch daemon with valid -pubkey= for an address in your wallet\n"); const CKeyStore& keystore = *pwalletMain; @@ -5620,8 +5620,8 @@ UniValue payments_txidopret(const UniValue& params, bool fHelp) UniValue payments_create(const UniValue& params, bool fHelp) { struct CCcontract_info *cp,C; char *jsonstr=0; - if ( fHelp || params.size() < 4 ) - throw runtime_error("paymentscreate lockedblocks minamount paytxid0,...,paytxidN\n"); + if ( fHelp || params.size() != 1 ) + throw runtime_error("paymentscreate \"[lockedblocks,minamount,%22paytxid0%22,...,%22paytxidN%22]\"\n"); if ( ensure_CCrequirements(EVAL_PAYMENTS) < 0 ) throw runtime_error("to use CC contracts, you need to launch daemon with valid -pubkey= for an address in your wallet\n"); const CKeyStore& keystore = *pwalletMain; @@ -5634,7 +5634,7 @@ UniValue payments_info(const UniValue& params, bool fHelp) { struct CCcontract_info *cp,C; char *jsonstr=0; if ( fHelp || params.size() != 1 ) - throw runtime_error("paymentsinfo createtxid\n"); + throw runtime_error("paymentsinfo \"[%22createtxid%22]\"\n"); if ( ensure_CCrequirements(EVAL_PAYMENTS) < 0 ) throw runtime_error("to use CC contracts, you need to launch daemon with valid -pubkey= for an address in your wallet\n"); const CKeyStore& keystore = *pwalletMain;