@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.
@@ -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;;;;;;;;;;;;;;;;;;;;;GAkE5B;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"}
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: proofRes.rootIndices[proofRes.rootIndices.length - 1],
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":"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"}
1
+ {"version":3,"file":"light.js","sourceRoot":"","sources":["../src/light.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@collectorcrypt/vrf-client",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "TypeScript SDK for the cc-vrf on-chain VRF program (Solana + Light Protocol)",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
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: proofRes.rootIndices[proofRes.rootIndices.length - 1],
157
+ rootIndex: addressRootIndex,
143
158
  addressMerkleTreePubkeyIndex: addressMtIdx,
144
159
  addressQueuePubkeyIndex: addressMtIdx,
145
160
  };