@collectorcrypt/vrf-client 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/light.d.ts.map +1 -1
- package/dist/light.js +13 -1
- package/dist/light.js.map +1 -1
- package/package.json +1 -1
- package/src/light.ts +16 -1
package/dist/light.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../src/light.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAGL,kCAAkC,EAGlC,GAAG,EAIJ,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,wBAAgB,YAAY,SAG3B;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,SAAS,EAC/B,cAAc,GAAE;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;CAClB,EAAO;;;;;;;;;;;GAwCT;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,kCAAkC,EACrD,gBAAgB,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../src/light.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAGL,kCAAkC,EAGlC,GAAG,EAIJ,MAAM,6BAA6B,CAAC;AAErC;;;GAGG;AACH,wBAAgB,YAAY,SAG3B;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,oBAAoB,EAAE,SAAS,EAC/B,cAAc,GAAE;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;CAClB,EAAO;;;;;;;;;;;GAwCT;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,kCAAkC,EACrD,gBAAgB,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;GAiF5B;AAED;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,kCAAkC;;;;;;;;;;;;;;;GAwCtD;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,kCAAkC;;;;;;;;;;;;;;;;GA+C7C"}
|
package/dist/light.js
CHANGED
|
@@ -96,8 +96,20 @@ async function buildCommitProofContext(rpc, programId, authorityExisting, newCom
|
|
|
96
96
|
},
|
|
97
97
|
address: authorityExisting.address,
|
|
98
98
|
};
|
|
99
|
+
// Photon reports the new-address root index as 0 in a combined (input +
|
|
100
|
+
// new-address) proof though the root VALUE is correct; recover the true slot
|
|
101
|
+
// via an address-only proof, using it only when the root value still matches.
|
|
102
|
+
const addrEntry = proofRes.rootIndices.length - 1;
|
|
103
|
+
let addressRootIndex = proofRes.rootIndices[addrEntry];
|
|
104
|
+
const addrOnly = await rpc.getValidityProofV0([], [{ tree: addressTree, queue: addressTree, address: (0, stateless_js_1.bn)(newCommitAddress.toBytes()) }]);
|
|
105
|
+
if (addrOnly.roots[0].eq(proofRes.roots[addrEntry])) {
|
|
106
|
+
addressRootIndex = addrOnly.rootIndices[0];
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
throw new Error("cc-vrf commit: address tree advanced between proofs; retry");
|
|
110
|
+
}
|
|
99
111
|
const packedAddressTreeInfo = {
|
|
100
|
-
rootIndex:
|
|
112
|
+
rootIndex: addressRootIndex,
|
|
101
113
|
addressMerkleTreePubkeyIndex: addressMtIdx,
|
|
102
114
|
addressQueuePubkeyIndex: addressMtIdx,
|
|
103
115
|
};
|
package/dist/light.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"light.js","sourceRoot":"","sources":["../src/light.ts"],"names":[],"mappings":";;AAiBA,oCAGC;AAOD,gDAgDC;AAQD,
|
|
1
|
+
{"version":3,"file":"light.js","sourceRoot":"","sources":["../src/light.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/light.ts
CHANGED
|
@@ -138,8 +138,23 @@ export async function buildCommitProofContext(
|
|
|
138
138
|
address: authorityExisting.address,
|
|
139
139
|
};
|
|
140
140
|
|
|
141
|
+
// Photon reports the new-address root index as 0 in a combined (input +
|
|
142
|
+
// new-address) proof though the root VALUE is correct; recover the true slot
|
|
143
|
+
// via an address-only proof, using it only when the root value still matches.
|
|
144
|
+
const addrEntry = proofRes.rootIndices.length - 1;
|
|
145
|
+
let addressRootIndex = proofRes.rootIndices[addrEntry];
|
|
146
|
+
const addrOnly = await rpc.getValidityProofV0(
|
|
147
|
+
[],
|
|
148
|
+
[{ tree: addressTree, queue: addressTree, address: bn(newCommitAddress.toBytes()) }],
|
|
149
|
+
);
|
|
150
|
+
if (addrOnly.roots[0].eq(proofRes.roots[addrEntry])) {
|
|
151
|
+
addressRootIndex = addrOnly.rootIndices[0];
|
|
152
|
+
} else {
|
|
153
|
+
throw new Error("cc-vrf commit: address tree advanced between proofs; retry");
|
|
154
|
+
}
|
|
155
|
+
|
|
141
156
|
const packedAddressTreeInfo = {
|
|
142
|
-
rootIndex:
|
|
157
|
+
rootIndex: addressRootIndex,
|
|
143
158
|
addressMerkleTreePubkeyIndex: addressMtIdx,
|
|
144
159
|
addressQueuePubkeyIndex: addressMtIdx,
|
|
145
160
|
};
|