122 rctSig
genRct(
const key &
message,
const ctkeyV & inSk,
const keyV & destinations,
const std::vector<etn_amount> & amounts,
const ctkeyM &mixRing,
const keyV &amount_keys,
const multisig_kLRki *kLRki, multisig_out *msout,
unsigned int index,
ctkeyV &outSk,
const RCTConfig &rct_config,
hw::device &hwdev);
123 rctSig
genRct(
const key &
message,
const ctkeyV & inSk,
const ctkeyV & inPk,
const keyV & destinations,
const std::vector<etn_amount> & amounts,
const keyV &amount_keys,
const multisig_kLRki *kLRki, multisig_out *msout,
const int mixin,
const RCTConfig &rct_config,
hw::device &hwdev);
124 rctSig
genRctSimple(
const key &
message,
const ctkeyV & inSk,
const ctkeyV & inPk,
const keyV & destinations,
const std::vector<etn_amount> & inamounts,
const std::vector<etn_amount> & outamounts,
const keyV &amount_keys,
const std::vector<multisig_kLRki> *kLRki, multisig_out *msout,
etn_amount txnFee,
unsigned int mixin,
const RCTConfig &rct_config,
hw::device &hwdev);
125 rctSig
genRctSimple(
const key &
message,
const ctkeyV & inSk,
const keyV & destinations,
const std::vector<etn_amount> & inamounts,
const std::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);
126 bool verRct(
const rctSig & rv,
bool semantics);
127 static inline bool verRct(
const rctSig & rv) {
return verRct(rv,
true) &&
verRct(rv,
false); }
boroSig genBorromean(const key64 x, const key64 P1, const key64 P2, const bits indices)
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)
key get_pre_mlsag_hash(const rctSig &rv, hw::device &hwdev)
bool verRct(const rctSig &rv, bool semantics)
bool verifyBorromean(const boroSig &bb, const ge_p3 P1[64], const ge_p3 P2[64])
epee::mlocked< tools::scrubbed< ec_scalar > > secret_key
void getKeyFromBlockchain(ctkey &a, size_t reference_index)
etn_amount decodeRct(const rctSig &rv, const key &sk, unsigned int i, key &mask, hw::device &hwdev)
mgSig proveRctMGSimple(const key &message, const ctkeyV &pubs, const ctkey &inSk, const key &a, const key &Cout, const multisig_kLRki *kLRki, key *mscout, unsigned int index, hw::device &hwdev)
std::vector< ctkey > ctkeyV
bool MLSAG_Ver(const key &message, const keyM &pk, const mgSig &rv, size_t dsRows)
tuple< ctkeyM, etn_amount > populateFromBlockchain(ctkeyV inPk, int mixin)
rctSig genRct(const key &message, const ctkeyV &inSk, const keyV &destinations, const vector< etn_amount > &amounts, const ctkeyM &mixRing, const keyV &amount_keys, const multisig_kLRki *kLRki, multisig_out *msout, unsigned int index, ctkeyV &outSk, const RCTConfig &rct_config, hw::device &hwdev)
bool signMultisig(rctSig &rv, const std::vector< unsigned int > &indices, const keyV &k, const multisig_out &msout, const key &secret_key)
std::string message("Message requiring signing")
mgSig proveRctMG(const key &message, const ctkeyM &pubs, const ctkeyV &inSk, const ctkeyV &outSk, const ctkeyV &outPk, const multisig_kLRki *kLRki, key *mscout, unsigned int index, const key &txnFeeKey, hw::device &hwdev)
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
rangeSig proveRange(key &C, key &mask, const etn_amount &amount)
bool verRctMG(const mgSig &mg, const ctkeyM &pubs, const ctkeyV &outPk, const key &txnFeeKey, const key &message)
bool verRctMGSimple(const key &message, const mgSig &mg, const ctkeyV &pubs, const key &C)
bool verRange(const key &C, const rangeSig &as)
bool verRctNonSemanticsSimple(const rctSig &rv)
std::vector< ctkeyV > ctkeyM
etn_amount decodeRctSimple(const rctSig &rv, const key &sk, unsigned int i, key &mask, hw::device &hwdev)
bool verRctSemanticsSimple(const std::vector< const rctSig *> &rvv)
mgSig MLSAG_Gen(const key &message, const keyM &pk, const keyV &xx, const multisig_kLRki *kLRki, key *mscout, const unsigned int index, size_t dsRows, hw::device &hwdev)