提交 c63f86de 编写于 作者: A Anton Perkov

construct transaction as a structure instead of json #2163

上级 347d9062
......@@ -1222,8 +1222,9 @@ int main( int argc, char** argv ) {
reqperm = requested_perm_var.as<vector<permission_level>>();
} EOS_RETHROW_EXCEPTIONS(transaction_type_exception, "Wrong requested permissions format: '${data}'", ("data",requested_perm_var));
vector<permission_level> trxperm;
try {
transaction_perm_var.as<vector<permission_level>>();
trxperm = transaction_perm_var.as<vector<permission_level>>();
} EOS_RETHROW_EXCEPTIONS(transaction_type_exception, "Wrong transaction permissions format: '${data}'", ("data",transaction_perm_var));
auto accountPermissions = get_account_permissions(tx_permission);
......@@ -1238,6 +1239,19 @@ int main( int argc, char** argv ) {
proposer = name(accountPermissions.at(0).actor).to_string();
}
transaction trx;
trx.expiration = fc::time_point_sec( fc::time_point::now() + fc::hours(proposal_expiration_hours) );
trx.region = 0;
trx.ref_block_num = 0;
trx.ref_block_prefix = 0;
trx.max_net_usage_words = 0;
trx.max_kcpu_usage = 0;
trx.delay_sec = 0;
trx.actions = { chain::action(trxperm, name(proposed_contract), name(proposed_action), proposed_trx_serialized) };
fc::to_variant(trx, trx_var);
arg = fc::mutable_variant_object()
("code", "eosio.msig")
("action", "propose")
......@@ -1245,23 +1259,7 @@ int main( int argc, char** argv ) {
("proposer", proposer )
("proposal_name", proposal_name)
("requested", requested_perm_var)
("trx", fc::mutable_variant_object()
("expiration", fc::time_point_sec( fc::time_point::now() + fc::hours(proposal_expiration_hours) ).to_iso_string())
("region", 0)
("ref_block_num", 0)
("ref_block_prefix", 0)
("max_net_usage_words", 0)
("max_kcpu_usage",0)
("delay_sec", 0)
("context_free_actions", fc::variants() )
("actions", fc::variants{ fc::mutable_variant_object()
("account", proposed_contract)
("name", proposed_action)
("authorization", transaction_perm_var)
("data", proposed_trx_serialized)
}
)
)
("trx", trx_var)
);
result = call(json_to_bin_func, arg);
send_actions({chain::action{accountPermissions, "eosio.msig", "propose", result.get_object()["binargs"].as<bytes>()}});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册