84 std::vector<unsigned int> index;
85 std::vector<uint64_t> inamounts, outamounts;
90 inamounts.push_back(6000);
96 inamounts.push_back(7000);
99 const int mixin = 3, max_outputs = 16;
101 for (
int n_outputs = 1; n_outputs <= max_outputs; ++n_outputs)
103 std::vector<uint64_t> outamounts;
112 for (
size_t i = 0; i < n_outputs; ++i)
115 outamounts.push_back(amount);
118 destinations.push_back(Pk);
122 for (
size_t i = 0; i < sc.size(); ++i)
124 for (
size_t j = 0; j <= mixin; ++j)
127 mixRing[i].push_back(pc[i]);
135 rct::rctSig s =
rct::genRctSimple(
rct::zero(), sc, destinations, inamounts, outamounts, available, mixRing, amount_keys, NULL, NULL, index, outSk, rct_config,
hw::get_device(
"default"));
137 for (
size_t i = 0; i < n_outputs; ++i)
device & get_device(const std::string &device_descriptor)
void scalarmultBase(key &aG, const key &a)
void hash_to_scalar(key &hash, const void *data, const std::size_t l)
etn_amount decodeRctSimple(const rctSig &rv, const key &sk, unsigned int i, key &mask, hw::device &hwdev)
void skpkGen(key &sk, key &pk)
std::vector< ctkeyV > ctkeyM
std::vector< ctkey > ctkeyV
tuple< ctkey, ctkey > ctskpkGen(etn_amount amount)
@ RangeProofPaddedBulletproof
rctSig genRctSimple(const key &message, const ctkeyV &inSk, const keyV &destinations, const vector< etn_amount > &inamounts, const vector< etn_amount > &outamounts, etn_amount txnFee, const ctkeyM &mixRing, const keyV &amount_keys, const std::vector< multisig_kLRki > *kLRki, multisig_out *msout, const std::vector< unsigned int > &index, ctkeyV &outSk, const RCTConfig &rct_config, hw::device &hwdev)
etn_amount randEtnAmount(etn_amount upperlimit)