initial post-carrot tx construction

This commit is contained in:
akildemir
2025-06-03 16:01:43 +03:00
parent a958bdb0e0
commit 474bca538b
7 changed files with 600 additions and 7 deletions
+5 -1
View File
@@ -1718,8 +1718,12 @@ namespace rct {
{
if (hwdev.get_mode() == hw::device::TRANSACTION_CREATE_FAKE)
rv.p.CLSAGs[i] = make_dummy_clsag(rv.mixRing[i].size());
else
else {
if (rv.type == RCTTypeSalviumOne)
rv.p.CLSAGs[i] = proveRctCLSAGSimpleCarrot(full_message, rv.mixRing[i], inSk[i].x, inSk[i].y, inSk[i].dest, a[i], pseudoOuts[i], index[i], hwdev);
else
rv.p.CLSAGs[i] = proveRctCLSAGSimple(full_message, rv.mixRing[i], inSk[i], a[i], pseudoOuts[i], index[i], hwdev);
}
}
else
{
+16
View File
@@ -123,6 +123,22 @@ namespace rct {
typedef std::vector<ctkey> ctkeyV;
typedef std::vector<ctkeyV> ctkeyM;
struct carrot_ctkey {
key x;
key y;
key mask; //C here if public
bool operator==(const carrot_ctkey &other) const {
return (x == other.x) && (y == other.y) && (mask == other.mask);
}
bool operator!=(const carrot_ctkey &other) const {
return !(*this == other);
}
};
typedef std::vector<carrot_ctkey> carrot_ctkeyV;
typedef std::vector<carrot_ctkey> carrot_ctkeyM;
//used for multisig data
struct multisig_kLRki {
key k;