Changeset View
Changeset View
Standalone View
Standalone View
src/rpc/rawtransaction_util.cpp
Show All 16 Lines | |||||
#include <tinyformat.h> | #include <tinyformat.h> | ||||
#include <univalue.h> | #include <univalue.h> | ||||
#include <util/strencodings.h> | #include <util/strencodings.h> | ||||
CMutableTransaction ConstructTransaction(const CChainParams ¶ms, | CMutableTransaction ConstructTransaction(const CChainParams ¶ms, | ||||
const UniValue &inputs_in, | const UniValue &inputs_in, | ||||
const UniValue &outputs_in, | const UniValue &outputs_in, | ||||
const UniValue &locktime) { | const UniValue &locktime) { | ||||
if (inputs_in.isNull() || outputs_in.isNull()) { | if (outputs_in.isNull()) { | ||||
throw JSONRPCError( | throw JSONRPCError( | ||||
RPC_INVALID_PARAMETER, | RPC_INVALID_PARAMETER, | ||||
"Invalid parameter, arguments 1 and 2 must be non-null"); | "Invalid parameter, output argument must be non-null"); | ||||
} | |||||
UniValue inputs; | |||||
if (inputs_in.isNull()) { | |||||
inputs = UniValue::VARR; | |||||
} else { | |||||
inputs = inputs_in.get_array(); | |||||
} | } | ||||
UniValue inputs = inputs_in.get_array(); | |||||
const bool outputs_is_obj = outputs_in.isObject(); | const bool outputs_is_obj = outputs_in.isObject(); | ||||
UniValue outputs = | UniValue outputs = | ||||
outputs_is_obj ? outputs_in.get_obj() : outputs_in.get_array(); | outputs_is_obj ? outputs_in.get_obj() : outputs_in.get_array(); | ||||
CMutableTransaction rawTx; | CMutableTransaction rawTx; | ||||
if (!locktime.isNull()) { | if (!locktime.isNull()) { | ||||
int64_t nLockTime = locktime.get_int64(); | int64_t nLockTime = locktime.get_int64(); | ||||
▲ Show 20 Lines • Show All 261 Lines • Show Last 20 Lines |