77 std::vector<tx_source_entry> sources;
78 sources.resize(sources.size()+1);
80 src.
amount = 70368744177663;
86 src.
push_output(1, boost::get<txout_to_key>(tx_mine_2.vout[0].target).key, src.
amount);
88 src.
push_output(2, boost::get<txout_to_key>(tx_mine_3.vout[0].target).key, src.
amount);
90 src.
push_output(3, boost::get<txout_to_key>(tx_mine_4.vout[0].target).key, src.
amount);
92 src.
push_output(4, boost::get<txout_to_key>(tx_mine_5.vout[0].target).key, src.
amount);
94 src.
push_output(5, boost::get<txout_to_key>(tx_mine_6.vout[0].target).key, src.
amount);
104 td.
amount = 69368744177663;
105 std::vector<tx_destination_entry> destinations;
106 destinations.push_back(td);
109 bool r =
construct_tx(miner_acc2.
get_keys(), sources, destinations, boost::none, std::vector<uint8_t>(), tx_rc1, 0);
113 std::vector<const crypto::public_key *> output_keys;
114 output_keys.push_back(&boost::get<txout_to_key>(tx_mine_1.
vout[0].target).key);
115 output_keys.push_back(&boost::get<txout_to_key>(tx_mine_2.vout[0].target).key);
116 output_keys.push_back(&boost::get<txout_to_key>(tx_mine_3.vout[0].target).key);
117 output_keys.push_back(&boost::get<txout_to_key>(tx_mine_4.vout[0].target).key);
118 output_keys.push_back(&boost::get<txout_to_key>(tx_mine_5.vout[0].target).key);
119 output_keys.push_back(&boost::get<txout_to_key>(tx_mine_6.vout[0].target).key);
123 std::vector<size_t> outs;
138 uint64_t vszs[] = {80,476,476,475,475,474,475,474,474,475,472,476,476,475,475,474,475,474,474,475,472,476,476,475,475,474,475,474,474,475,9391,476,476,475,475,474,475,8819,8301,475,472,4302,5316,14347,16620,19583,19403,19728,19442,19852,19015,19000,19016,19795,19749,18087,19787,19704,19750,19267,19006,19050,19445,19407,19522,19546,19788,19369,19486,19329,19370,18853,19600,19110,19320,19746,19474,19474,19743,19494,19755,19715,19769,19620,19368,19839,19532,23424,28287,30707};
139 std::vector<uint64_t> szs(&vszs[0], &vszs[90]);
crypto::public_key real_out_tx_key
#define CHECK_AND_ASSERT_MES(expr, fail_ret_val, message)
bool check_ring_signature(const hash &prefix_hash, const key_image &image, const public_key *const *pubs, std::size_t pubs_count, const signature *sig)
bool construct_tx(const account_keys &sender_account_keys, std::vector< tx_source_entry > &sources, const std::vector< tx_destination_entry > &destinations, const boost::optional< cryptonote::account_public_address > &change_addr, const std::vector< uint8_t > &extra, transaction &tx, uint64_t unlock_time)
crypto::secret_key generate(const crypto::secret_key &recovery_key=crypto::secret_key(), bool recover=false, bool two_random=false)
const account_keys & get_keys() const
std::vector< tx_out > vout
Holds cryptonote related classes and helpers.
std::vector< txin_v > vin
unsigned __int64 uint64_t
crypto::public_key get_tx_pub_key_from_extra(const std::vector< uint8_t > &tx_extra, size_t pk_index)
bool test_transaction_generation_and_ring_signature()
void push_output(uint64_t idx, const crypto::public_key &k, uint64_t amount)
std::vector< std::vector< crypto::signature > > signatures
account_public_address addr
type_vec_type median(std::vector< type_vec_type > &v)
bool test_block_creation()
account_public_address m_account_address
void get_transaction_prefix_hash(const transaction_prefix &tx, crypto::hash &h)
size_t real_output_in_tx_index
bool get_account_address_from_str(address_parse_info &info, network_type nettype, std::string const &str)
bool construct_miner_tx(size_t height, size_t median_weight, uint64_t already_generated_coins, size_t current_block_weight, uint64_t fee, const account_public_address &miner_address, transaction &tx, const blobdata &extra_nonce, size_t max_outs, uint8_t hard_fork_version, network_type nettype)
std::pair< uint64_t, rct::ctkey > output_entry
std::vector< crypto::public_key > get_additional_tx_pub_keys_from_extra(const std::vector< uint8_t > &tx_extra)
bool lookup_acc_outs(const account_keys &acc, const transaction &tx, std::vector< size_t > &outs, uint64_t &etn_transfered)