@ -412,7 +412,7 @@ UniValue createrawtransaction(const UniValue& params, bool fHelp)
{
if ( fHelp | | params . size ( ) < 2 | | params . size ( ) > 4 )
throw runtime_error (
" createrawtransaction [{ \" txid \" : \" id \" , \" vout \" :n},...] { \" address \" :amount,...} ( locktime ) \n "
" createrawtransaction [{ \" txid \" : \" id \" , \" vout \" :n},...] { \" address \" :amount,...} ( locktime ) ( expiryheight ) \n "
" \n Create a transaction spending the given inputs and sending to the given addresses. \n "
" Returns hex-encoded raw transaction. \n "
" Note that the transaction's inputs are not signed, and \n "
@ -422,7 +422,7 @@ UniValue createrawtransaction(const UniValue& params, bool fHelp)
" 1. \" transactions \" (string, required) A json array of json objects \n "
" [ \n "
" { \n "
" \" txid \" : \" id \" , (string, required) The transaction id \n "
" \" txid \" : \" id \" , (string, required) The transaction id \n "
" \" vout \" :n (numeric, required) The output number \n "
" \" sequence \" :n (numeric, optional) The sequence number \n "
" } \n "
@ -433,8 +433,8 @@ UniValue createrawtransaction(const UniValue& params, bool fHelp)
" \" address \" : x.xxx (numeric, required) The key is the Zcash address, the value is the " + CURRENCY_UNIT + " amount \n "
" ,... \n "
" } \n "
" 3. locktime (numeric, optional, default=0) Raw locktime. Non-0 value also locktime-activates inputs \n "
" 4. expiryheight (numeric, optional, default=0) Expiry height of transaction \n "
" 3. locktime (numeric, optional, default=0) Raw locktime. Non-0 value also locktime-activates inputs \n "
" 4. expiryheight (numeric, optional, default= " + strprintf ( " %d " , DEFAULT_TX_EXPIRY_DELTA ) + " ) Expiry height of transaction (if Overwinter is active) \n "
" \n Result: \n "
" \" transaction \" (string) hex string of the transaction \n "
@ -462,13 +462,15 @@ UniValue createrawtransaction(const UniValue& params, bool fHelp)
rawTx . nLockTime = nLockTime ;
}
if ( NetworkUpgradeActive ( nextBlockHeight , Params ( ) . GetConsensus ( ) , Consensus : : UPGRADE_OVERWINTER ) ) {
if ( params . size ( ) > 3 & & ! params [ 3 ] . isNull ( ) ) {
if ( params . size ( ) > 3 & & ! params [ 3 ] . isNull ( ) ) {
if ( NetworkUpgradeActive ( nextBlockHeight , Params ( ) . GetConsensus ( ) , Consensus : : UPGRADE_OVERWINTER ) ) {
int64_t nExpiryHeight = params [ 3 ] . get_int64 ( ) ;
if ( nExpiryHeight < 0 | | nExpiryHeight > = TX_EXPIRY_HEIGHT_THRESHOLD ) {
throw JSONRPCError ( RPC_INVALID_PARAMETER , " Invalid parameter, nExpiryHeight must be less than TX_EXPIRY_HEIGHT_THRESHOLD. " ) ;
throw JSONRPCError ( RPC_INVALID_PARAMETER , strprintf ( " Invalid parameter, expiryheight must be nonnegative and less than %d. " , TX_EXPIRY_HEIGHT_THRESHOLD ) ) ;
}
rawTx . nExpiryHeight = nExpiryHeight ;
} else {
throw JSONRPCError ( RPC_INVALID_PARAMETER , " Invalid parameter, expiryheight can only be used if Overwinter is active when the transaction is mined " ) ;
}
}