zklicensing 0.1.0-beta.7 → 0.1.0-beta.9

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.
Files changed (101) hide show
  1. package/build/appsLookup.js +1 -1
  2. package/build/appsLookup.js.map +1 -1
  3. package/build/archiveBootstrap.d.ts +4 -0
  4. package/build/archiveBootstrap.d.ts.map +1 -1
  5. package/build/archiveBootstrap.js +47 -20
  6. package/build/archiveBootstrap.js.map +1 -1
  7. package/build/bindClient.d.ts +20 -0
  8. package/build/bindClient.d.ts.map +1 -1
  9. package/build/bindClient.js +49 -0
  10. package/build/bindClient.js.map +1 -1
  11. package/build/buyClient.d.ts +1 -1
  12. package/build/buyClient.d.ts.map +1 -1
  13. package/build/buyClient.js +9 -8
  14. package/build/buyClient.js.map +1 -1
  15. package/build/contractInterface.js +10 -10
  16. package/build/contractInterface.js.map +1 -1
  17. package/build/countryStats.d.ts +1 -1
  18. package/build/deployClient.d.ts +4 -3
  19. package/build/deployClient.d.ts.map +1 -1
  20. package/build/deployClient.js +18 -16
  21. package/build/deployClient.js.map +1 -1
  22. package/build/freezeClient.d.ts +3 -3
  23. package/build/freezeClient.js +2 -2
  24. package/build/freezeClient.js.map +1 -1
  25. package/build/generationClient.d.ts +3 -3
  26. package/build/generationClient.js +6 -6
  27. package/build/index.d.ts +4 -4
  28. package/build/index.d.ts.map +1 -1
  29. package/build/index.js +3 -3
  30. package/build/index.js.map +1 -1
  31. package/build/licenseLeaf.d.ts +1 -1
  32. package/build/licenseLeaf.js +1 -1
  33. package/build/licenseRecord.d.ts.map +1 -1
  34. package/build/licenseRecord.js.map +1 -1
  35. package/build/licenseStore.d.ts +1 -0
  36. package/build/licenseStore.d.ts.map +1 -1
  37. package/build/licenseStore.js +5 -0
  38. package/build/licenseStore.js.map +1 -1
  39. package/build/manifestVerify.d.ts +1 -1
  40. package/build/manifestVerify.js +1 -1
  41. package/build/migrateClient.js +1 -1
  42. package/build/minaPriceHistory.d.ts +9 -0
  43. package/build/minaPriceHistory.d.ts.map +1 -0
  44. package/build/minaPriceHistory.js +152 -0
  45. package/build/minaPriceHistory.js.map +1 -0
  46. package/build/onChainRoot.d.ts +1 -1
  47. package/build/onChainRoot.d.ts.map +1 -1
  48. package/build/onChainRoot.js +6 -4
  49. package/build/onChainRoot.js.map +1 -1
  50. package/build/proveErrors.d.ts +1 -1
  51. package/build/proveErrors.js +1 -1
  52. package/build/refundClient.d.ts.map +1 -1
  53. package/build/refundClient.js +4 -4
  54. package/build/refundClient.js.map +1 -1
  55. package/build/renewClient.js +5 -5
  56. package/build/renewClient.js.map +1 -1
  57. package/build/statsClient.d.ts +6 -3
  58. package/build/statsClient.d.ts.map +1 -1
  59. package/build/statsClient.js.map +1 -1
  60. package/build/trustAnchorVerify.d.ts.map +1 -1
  61. package/build/trustAnchorVerify.js +44 -16
  62. package/build/trustAnchorVerify.js.map +1 -1
  63. package/build/txBroadcastClient.d.ts +1 -1
  64. package/build/unbindClient.d.ts +19 -0
  65. package/build/unbindClient.d.ts.map +1 -1
  66. package/build/unbindClient.js +49 -0
  67. package/build/unbindClient.js.map +1 -1
  68. package/build/vendorAccountClient.d.ts +6 -2
  69. package/build/vendorAccountClient.d.ts.map +1 -1
  70. package/build/vendorAccountClient.js.map +1 -1
  71. package/build/verifyService.js +13 -11
  72. package/build/verifyService.js.map +1 -1
  73. package/build/verifyWithAncestors.js +1 -1
  74. package/package.json +1 -1
  75. package/src/appsLookup.ts +3 -3
  76. package/src/archiveBootstrap.ts +57 -29
  77. package/src/bindClient.ts +80 -0
  78. package/src/buyClient.ts +20 -14
  79. package/src/contractInterface.ts +10 -10
  80. package/src/countryStats.ts +1 -1
  81. package/src/deployClient.ts +43 -39
  82. package/src/freezeClient.ts +7 -7
  83. package/src/generationClient.ts +6 -6
  84. package/src/index.ts +7 -3
  85. package/src/licenseLeaf.ts +1 -1
  86. package/src/licenseRecord.ts +13 -6
  87. package/src/licenseStore.ts +9 -0
  88. package/src/manifestVerify.ts +1 -1
  89. package/src/migrateClient.ts +2 -2
  90. package/src/minaPriceHistory.ts +166 -0
  91. package/src/onChainRoot.ts +6 -4
  92. package/src/proveErrors.ts +2 -2
  93. package/src/refundClient.ts +11 -7
  94. package/src/renewClient.ts +8 -8
  95. package/src/statsClient.ts +18 -11
  96. package/src/trustAnchorVerify.ts +47 -17
  97. package/src/txBroadcastClient.ts +1 -1
  98. package/src/unbindClient.ts +73 -0
  99. package/src/vendorAccountClient.ts +6 -2
  100. package/src/verifyService.ts +19 -16
  101. package/src/verifyWithAncestors.ts +1 -1
@@ -2,7 +2,7 @@
2
2
  // SPDX-License-Identifier: BUSL-1.1
3
3
  // Return the first app whose devnet OR mainnet deployment matches (current
4
4
  // live address or any retired generation in deploymentHistory). Under the
5
- // keeper-routing design a buyer who pinned an original devnet address stays
5
+ // backend-routing design a buyer who pinned an original devnet address stays
6
6
  // resolvable across N mainnet promotions and any number of retired gens.
7
7
  export function findAppByAnyAddress(apps, zkAppAddress) {
8
8
  const matches = (d) => !!d && (d.zkAppAddress === zkAppAddress ||
@@ -1 +1 @@
1
- {"version":3,"file":"appsLookup.js","sourceRoot":"","sources":["../src/appsLookup.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,oCAAoC;AAgCpC,2EAA2E;AAC3E,0EAA0E;AAC1E,4EAA4E;AAC5E,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CACjC,IAAkB,EAClB,YAAoB;IAEpB,MAAM,OAAO,GAAG,CAAC,CAAwB,EAAW,EAAE,CACpD,CAAC,CAAC,CAAC,IAAI,CACL,CAAC,CAAC,YAAY,KAAK,YAAY;QAC/B,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,CACvE,CAAC;IACJ,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AACzF,CAAC"}
1
+ {"version":3,"file":"appsLookup.js","sourceRoot":"","sources":["../src/appsLookup.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,oCAAoC;AAgCpC,2EAA2E;AAC3E,0EAA0E;AAC1E,6EAA6E;AAC7E,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CACjC,IAAkB,EAClB,YAAoB;IAEpB,MAAM,OAAO,GAAG,CAAC,CAAwB,EAAW,EAAE,CACpD,CAAC,CAAC,CAAC,IAAI,CACL,CAAC,CAAC,YAAY,KAAK,YAAY;QAC/B,CAAC,CAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,CACvE,CAAC;IACJ,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AACzF,CAAC"}
@@ -8,6 +8,8 @@ export type NormalizedEvent = {
8
8
  amount: bigint;
9
9
  issuedSlot: number;
10
10
  expirySlot: number;
11
+ buyerAddress: string;
12
+ cap: number;
11
13
  } | {
12
14
  kind: 'licenseIssuedNoEscrow';
13
15
  slot: number;
@@ -15,6 +17,8 @@ export type NormalizedEvent = {
15
17
  amount: bigint;
16
18
  issuedSlot: number;
17
19
  expirySlot: number;
20
+ buyerAddress: string;
21
+ cap: number;
18
22
  } | {
19
23
  kind: 'licenseRenewed';
20
24
  slot: number;
@@ -1 +1 @@
1
- {"version":3,"file":"archiveBootstrap.d.ts","sourceRoot":"","sources":["../src/archiveBootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archiveBootstrap.d.ts","sourceRoot":"","sources":["../src/archiveBootstrap.ts"],"names":[],"mappings":"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"}
@@ -18,13 +18,13 @@
18
18
  * deviceBound → applyDeviceBound (non-custodial binding)
19
19
  * deviceUnbound → applyDeviceUnbound (non-custodial binding)
20
20
  * priceUpdated → ignored (price-history tracking lives in the private
21
- * zklicensing-app keeper alongside vendor-stats)
21
+ * zklicensing-app backend alongside vendor-stats)
22
22
  *
23
23
  * Uses LicensingAppEventsContract (from contractInterface) for fetchEvents —
24
24
  * this lets the public verify service read events without depending on the
25
25
  * private LicensingApp circuit source.
26
26
  */
27
- import { PublicKey, UInt32 } from 'o1js';
27
+ import { PublicKey } from 'o1js';
28
28
  import { LicensingAppEventsContract, MONTHLY_SLOTS_N, ONE_YEAR_SLOTS_N, FIVE_YEAR_SLOTS_N, PERPETUAL_SLOTS_N, } from './contractInterface.js';
29
29
  import { applyLicenseIssued, applyLicenseRenewed, applyDeviceBound, applyDeviceUnbound, recordRefund, recordRelease, } from './licenseStore.js';
30
30
  export const SYNC_CHUNK_SLOTS = 10_000;
@@ -46,11 +46,29 @@ export function tierFromExpiryDelta(slots) {
46
46
  export async function bootstrapFromArchive(zkAppAddress, range = {}) {
47
47
  const pubKey = PublicKey.fromBase58(zkAppAddress);
48
48
  const zkApp = new LicensingAppEventsContract(pubKey);
49
- const start = range.from !== undefined ? UInt32.from(range.from) : undefined;
50
- const end = range.to !== undefined ? UInt32.from(range.to) : undefined;
51
- const allEvents = await zkApp.fetchEvents(start, end);
49
+ // o1js's fetchEvents(from, to) passes these directly to the archive-node
50
+ // GraphQL as `from`/`to`, which the reference Mina archive interprets as
51
+ // BLOCK HEIGHTS, not global slots. We track everything in slots, so the two
52
+ // never match and every query returned zero events. Fetch all events for
53
+ // the address and filter by globalSlot client-side — over-fetches per
54
+ // chunked call, but is the only correct behavior against this archive.
55
+ const allEvents = await zkApp.fetchEvents();
56
+ const fromSlot = range.from ?? 0;
57
+ const toSlot = range.to ?? Number.MAX_SAFE_INTEGER;
58
+ // Filter out only orphaned events; keep both 'canonical' and 'pending'.
59
+ // The devnet-archive-node-api.gcp.o1test.net archive returns everything
60
+ // with chainStatus='pending' (it doesn't finalize the flag), so a strict
61
+ // `=== 'canonical'` filter drops every event and the mirror stays empty.
62
+ // Mina's k-block finality means recently-landed events on the best chain
63
+ // are safe to replay; if one later reorgs out, the next sync sweep will
64
+ // re-derive state from the new canonical events (a no-op if none of them
65
+ // touch this record).
52
66
  const canonical = [...allEvents]
53
- .filter(e => e.chainStatus === 'canonical')
67
+ .filter(e => e.chainStatus !== 'orphaned')
68
+ .filter(e => {
69
+ const slot = Number(e.globalSlot.toString());
70
+ return slot >= fromSlot && slot <= toSlot;
71
+ })
54
72
  .sort((a, b) => Number(a.globalSlot.toString()) - Number(b.globalSlot.toString()));
55
73
  const events = [];
56
74
  for (const ev of canonical) {
@@ -77,6 +95,8 @@ export async function bootstrapFromArchive(zkAppAddress, range = {}) {
77
95
  amount: BigInt(data.amount.toString()),
78
96
  issuedSlot: Number(data.slot.toString()),
79
97
  expirySlot: Number(data.expirySlot.toString()),
98
+ buyerAddress: data.buyer.toBase58(),
99
+ cap: Number(data.cap.toString()),
80
100
  });
81
101
  break;
82
102
  }
@@ -89,6 +109,8 @@ export async function bootstrapFromArchive(zkAppAddress, range = {}) {
89
109
  amount: BigInt(data.amount.toString()),
90
110
  issuedSlot: Number(data.slot.toString()),
91
111
  expirySlot: Number(data.expirySlot.toString()),
112
+ buyerAddress: data.buyer.toBase58(),
113
+ cap: Number(data.cap.toString()),
92
114
  });
93
115
  break;
94
116
  }
@@ -166,6 +188,8 @@ export async function applyEventsToStore(zkAppAddress, events) {
166
188
  expirySlot: ev.expirySlot,
167
189
  purchaseSlot: ev.issuedSlot,
168
190
  purchaseAmount: ev.amount.toString(),
191
+ buyerAddress: ev.buyerAddress,
192
+ deviceCap: ev.cap,
169
193
  ...(tier ? { tier } : {}),
170
194
  });
171
195
  count++;
@@ -178,6 +202,8 @@ export async function applyEventsToStore(zkAppAddress, events) {
178
202
  purchaseSlot: ev.issuedSlot,
179
203
  purchaseAmount: ev.amount.toString(),
180
204
  escrowless: true,
205
+ buyerAddress: ev.buyerAddress,
206
+ deviceCap: ev.cap,
181
207
  ...(tier ? { tier } : {}),
182
208
  });
183
209
  count++;
@@ -238,20 +264,21 @@ export async function discoverAppCreatedSlot(zkAppAddress, nowSlot, lookbackSlot
238
264
  const pubKey = PublicKey.fromBase58(zkAppAddress);
239
265
  const zkApp = new LicensingAppEventsContract(pubKey);
240
266
  const floor = Math.max(1, nowSlot - lookbackSlots);
241
- let to = nowSlot;
242
- while (to >= floor) {
243
- const from = Math.max(floor, to - SYNC_CHUNK_SLOTS + 1);
244
- const events = await zkApp.fetchEvents(UInt32.from(from), UInt32.from(to));
245
- const created = events
246
- .filter(e => e.chainStatus === 'canonical' && e.type === 'appCreated')
247
- .sort((a, b) => Number(a.globalSlot.toString()) - Number(b.globalSlot.toString()));
248
- if (created.length > 0) {
249
- return Number(created[0].globalSlot.toString());
250
- }
251
- if (from <= floor)
252
- break;
253
- to = from - 1;
254
- }
267
+ // See bootstrapFromArchive: fetchEvents(from, to) filters by BLOCK HEIGHT
268
+ // in the reference archive, not slot. One full fetch + client-side slot
269
+ // filter is the only correct approach. Also keeps chainStatus='pending'
270
+ // events — o1test.net's devnet archive doesn't finalize that flag; strict
271
+ // 'canonical' filtering leaves discovery empty on freshly-deployed apps.
272
+ const events = await zkApp.fetchEvents();
273
+ const created = events
274
+ .filter(e => e.chainStatus !== 'orphaned' && e.type === 'appCreated')
275
+ .filter(e => {
276
+ const slot = Number(e.globalSlot.toString());
277
+ return slot >= floor && slot <= nowSlot;
278
+ })
279
+ .sort((a, b) => Number(a.globalSlot.toString()) - Number(b.globalSlot.toString()));
280
+ if (created.length > 0)
281
+ return Number(created[0].globalSlot.toString());
255
282
  return null;
256
283
  }
257
284
  const inFlightBootstraps = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"archiveBootstrap.js","sourceRoot":"","sources":["../src/archiveBootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archiveBootstrap.js","sourceRoot":"","sources":["../src/archiveBootstrap.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,oCAAoC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EACL,0BAA0B,EAO1B,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAe1C,4EAA4E;AAC5E,8DAA8D;AAC9D,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,MAAM,CAAC,eAAe,CAAC;QAAI,OAAO,SAAS,CAAC;IAChD,IAAI,MAAM,CAAC,gBAAgB,CAAC;QAAG,OAAO,QAAQ,CAAC;IAC/C,IAAI,MAAM,CAAC,iBAAiB,CAAC;QAAE,OAAO,UAAU,CAAC;IACjD,IAAI,MAAM,CAAC,iBAAiB,CAAC;QAAE,OAAO,WAAW,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC;AAYD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAAoB,EACpB,QAAoB,EAAE;IAEtB,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,KAAK,GAAI,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAEtD,yEAAyE;IACzE,yEAAyE;IACzE,4EAA4E;IAC5E,yEAAyE;IACzE,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;IAE5C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;IACjC,MAAM,MAAM,GAAK,KAAK,CAAC,EAAE,IAAM,MAAM,CAAC,gBAAgB,CAAC;IAEvD,wEAAwE;IACxE,wEAAwE;IACxE,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,wEAAwE;IACxE,yEAAyE;IACzE,sBAAsB;IACtB,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;SAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC;SACzC,MAAM,CAAC,CAAC,CAAC,EAAE;QACV,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,MAAM,CAAC;IAC5C,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAErF,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9C,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,IAAoC,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,cAAc;oBACpB,IAAI;oBACJ,YAAY,EAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;oBACpD,WAAW,EAAK,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;oBACnD,aAAa,EAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;oBACrD,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;iBACvD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,IAAqC,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,eAAe;oBACrB,IAAI;oBACJ,WAAW,EAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;oBACzC,MAAM,EAAQ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC5C,UAAU,EAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC1C,UAAU,EAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAChD,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;oBACnC,GAAG,EAAW,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;iBAC1C,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,IAAqC,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,uBAAuB;oBAC7B,IAAI;oBACJ,WAAW,EAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;oBACzC,MAAM,EAAQ,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC5C,UAAU,EAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC1C,UAAU,EAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAChD,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;oBACnC,GAAG,EAAW,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;iBAC1C,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,IAAoC,CAAC;gBAC3D,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,gBAAgB;oBACtB,IAAI;oBACJ,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;oBACxC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;iBAC7C,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,IAAuC,CAAC;gBAC9D,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,iBAAiB;oBACvB,IAAI;oBACJ,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;oBACxC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAC9C,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,cAAc;gBACjB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAG,EAAE,CAAC,KAAK,CAAC,IAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC5F,MAAM;YACR,KAAK,eAAe;gBAClB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAG,EAAE,CAAC,KAAK,CAAC,IAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAC7F,MAAM;YACR,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,IAAmC,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,aAAa;oBACnB,IAAI;oBACJ,WAAW,EAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;oBAC7C,SAAS,EAAS,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACnD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;oBAClD,mEAAmE;oBACnE,kEAAkE;oBAClE,gEAAgE;oBAChE,WAAW,EAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;iBACtD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,IAAqC,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,eAAe;oBACrB,IAAI;oBACJ,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;oBACxC,SAAS,EAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;oBAC9C,kDAAkD;oBAClD,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC;QACxC,CAAC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAElE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,YAAoB,EACpB,MAAyB;IAEzB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;QACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,cAAc;gBACjB,MAAM;YACR,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;gBAC7E,MAAM,kBAAkB,CAAC,YAAY,EAAE,EAAE,CAAC,WAAW,EAAE;oBACrD,UAAU,EAAM,EAAE,CAAC,UAAU;oBAC7B,YAAY,EAAI,EAAE,CAAC,UAAU;oBAC7B,cAAc,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACpC,YAAY,EAAI,EAAE,CAAC,YAAY;oBAC/B,SAAS,EAAO,EAAE,CAAC,GAAG;oBACtB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1B,CAAC,CAAC;gBACH,KAAK,EAAE,CAAC;gBACR,MAAM;YACR,CAAC;YACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,MAAM,IAAI,GAAG,mBAAmB,CAAC,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;gBAC7E,MAAM,kBAAkB,CAAC,YAAY,EAAE,EAAE,CAAC,WAAW,EAAE;oBACrD,UAAU,EAAM,EAAE,CAAC,UAAU;oBAC7B,YAAY,EAAI,EAAE,CAAC,UAAU;oBAC7B,cAAc,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACpC,UAAU,EAAM,IAAI;oBACpB,YAAY,EAAI,EAAE,CAAC,YAAY;oBAC/B,SAAS,EAAO,EAAE,CAAC,GAAG;oBACtB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1B,CAAC,CAAC;gBACH,KAAK,EAAE,CAAC;gBACR,MAAM;YACR,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;gBAChG,IAAI,CAAC,EAAE;oBAAE,QAAQ,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBACpF,MAAM;YACR,CAAC;YACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,MAAM,kBAAkB,CAAC,YAAY,EAAE,EAAE,CAAC,WAAW,EAAE;oBACrD,UAAU,EAAM,EAAE,CAAC,UAAU;oBAC7B,YAAY,EAAI,CAAC;oBACjB,cAAc,EAAE,GAAG;oBACnB,UAAU,EAAM,IAAI;iBACrB,CAAC,CAAC;gBACH,KAAK,EAAE,CAAC;gBACR,MAAM;YACR,CAAC;YACD,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;gBAC5D,IAAI,CAAC,EAAE;oBAAE,QAAQ,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBACrF,MAAM;YACR,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,YAAY,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;gBACtE,IAAI,CAAC,EAAE;oBAAE,QAAQ,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBACtF,MAAM;YACR,CAAC;YACD,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAC,WAAW,EAAE;oBAC9D,SAAS,EAAS,EAAE,CAAC,SAAS;oBAC9B,gBAAgB,EAAE,EAAE,CAAC,gBAAgB;oBACrC,WAAW,EAAO,EAAE,CAAC,WAAW;iBACjC,CAAC,CAAC;gBACH,IAAI,CAAC,EAAE;oBAAE,QAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBACnF,MAAM;YACR,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,YAAY,EAAE,EAAE,CAAC,WAAW,EAAE;oBAChE,SAAS,EAAI,EAAE,CAAC,SAAS;oBACzB,WAAW,EAAE,EAAE,CAAC,WAAW;iBAC5B,CAAC,CAAC;gBACH,IAAI,CAAC,EAAE;oBAAE,QAAQ,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBACrF,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,YAAoB,EACpB,OAAe,EACf,gBAAwB,kBAAkB;IAE1C,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,KAAK,GAAI,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,KAAK,GAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,CAAC;IAEpD,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;SACpE,MAAM,CAAC,CAAC,CAAC,EAAE;QACV,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,CAAC;IAC1C,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACrF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAyB,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,YAAoB;IACtD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;IAC9C,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;YAC5D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC3E,KAAK,MAAM,CAAC,IAAI,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1E,kEAAkE;YAClE,qEAAqE;YACrE,sEAAsE;YACtE,sEAAsE;YACtE,sEAAsE;YACtE,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,cAAc,KAAK,iBAAiB,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,IAAI,CAAC,CAAC;QACrG,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,oBAAoB,KAAK,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;gBAAS,CAAC;YACT,kBAAkB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IACL,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -48,4 +48,24 @@ export declare function proveBind(req: ProveBindRequest): Promise<ProveBindRespo
48
48
  export declare function confirmBind(req: ConfirmBindRequest): Promise<{
49
49
  ok: true;
50
50
  }>;
51
+ export type BindStatus = {
52
+ status: 'confirmed' | 'pending' | 'unknown';
53
+ slotIndex?: number;
54
+ deviceCommitment?: string;
55
+ elapsedMs?: number;
56
+ };
57
+ export type PollBindStatusOptions = {
58
+ keeperUrl: string;
59
+ network: 'devnet' | 'mainnet';
60
+ zkAppAddress: string;
61
+ licenseHash: string;
62
+ slotIndex: number;
63
+ deviceCommitment: string;
64
+ fetcher?: typeof fetch;
65
+ intervalMs?: number;
66
+ timeoutMs?: number;
67
+ signal?: AbortSignal;
68
+ onTick?: (status: BindStatus) => void;
69
+ };
70
+ export declare function pollBindStatus(opts: PollBindStatusOptions): Promise<BindStatus>;
51
71
  //# sourceMappingURL=bindClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bindClient.d.ts","sourceRoot":"","sources":["../src/bindClient.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAS,UAAU,EAAwB,MAAM,MAAM,CAAC;AAS/D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAS,MAAM,CAAC;IAGzB,OAAO,EAAW,QAAQ,GAAG,SAAS,CAAC;IAGvC,YAAY,EAAM,MAAM,CAAC;IAKzB,WAAW,EAAO,MAAM,CAAC;IAIzB,eAAe,EAAG,UAAU,CAAC;IAK7B,gBAAgB,EAAE,MAAM,CAAC;IAEzB,SAAS,EAAS,MAAM,CAAC;IAEzB,YAAY,EAAM,MAAM,CAAC;IAKzB,KAAK,CAAC,EAAY,MAAM,CAAC;IACzB,OAAO,CAAC,EAAU,OAAO,KAAK,CAAC;IAC/B,MAAM,CAAC,EAAW,WAAW,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAG,MAAM,CAAC;IACrB,SAAS,EAAK,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAK,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAG,MAAM,CAAC;IACrB,MAAM,EAAQ,MAAM,CAAC;IACrB,OAAO,CAAC,EAAM,OAAO,KAAK,CAAC;IAC3B,MAAM,CAAC,EAAO,WAAW,CAAC;CAC3B,CAAC;AAuCF,wBAAsB,SAAS,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmCjF;AAMD,wBAAsB,WAAW,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,CAchF"}
1
+ {"version":3,"file":"bindClient.d.ts","sourceRoot":"","sources":["../src/bindClient.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAS,UAAU,EAAwB,MAAM,MAAM,CAAC;AAS/D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAS,MAAM,CAAC;IAGzB,OAAO,EAAW,QAAQ,GAAG,SAAS,CAAC;IAGvC,YAAY,EAAM,MAAM,CAAC;IAKzB,WAAW,EAAO,MAAM,CAAC;IAIzB,eAAe,EAAG,UAAU,CAAC;IAK7B,gBAAgB,EAAE,MAAM,CAAC;IAEzB,SAAS,EAAS,MAAM,CAAC;IAEzB,YAAY,EAAM,MAAM,CAAC;IAKzB,KAAK,CAAC,EAAY,MAAM,CAAC;IACzB,OAAO,CAAC,EAAU,OAAO,KAAK,CAAC;IAC/B,MAAM,CAAC,EAAW,WAAW,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAG,MAAM,CAAC;IACrB,SAAS,EAAK,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAK,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAG,MAAM,CAAC;IACrB,MAAM,EAAQ,MAAM,CAAC;IACrB,OAAO,CAAC,EAAM,OAAO,KAAK,CAAC;IAC3B,MAAM,CAAC,EAAO,WAAW,CAAC;CAC3B,CAAC;AAuCF,wBAAsB,SAAS,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmCjF;AAMD,wBAAsB,WAAW,CAAC,GAAG,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,CAchF;AAED,MAAM,MAAM,UAAU,GAAG;IAKvB,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IAC5C,SAAS,CAAC,EAAS,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAS,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAS,MAAM,CAAC;IACzB,OAAO,EAAW,QAAQ,GAAG,SAAS,CAAC;IACvC,YAAY,EAAM,MAAM,CAAC;IACzB,WAAW,EAAO,MAAM,CAAC;IACzB,SAAS,EAAS,MAAM,CAAC;IAKzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAU,OAAO,KAAK,CAAC;IAG/B,UAAU,CAAC,EAAO,MAAM,CAAC;IACzB,SAAS,CAAC,EAAQ,MAAM,CAAC;IACzB,MAAM,CAAC,EAAW,WAAW,CAAC;IAC9B,MAAM,CAAC,EAAW,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CAChD,CAAC;AAKF,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,CA4CrF"}
@@ -112,4 +112,53 @@ export async function confirmBind(req) {
112
112
  throw new Error(await readJsonError(resp));
113
113
  return { ok: true };
114
114
  }
115
+ // Polls GET /license/:zkAppAddress/:licenseHash until the bind has
116
+ // landed on-chain (the target slot's commitment matches the expected
117
+ // value) or the timeout fires. Mirrors pollRenewStatus in shape.
118
+ export async function pollBindStatus(opts) {
119
+ const fetcher = opts.fetcher ?? fetch;
120
+ const interval = opts.intervalMs ?? 10_000;
121
+ const timeout = opts.timeoutMs ?? 20 * 60 * 1000;
122
+ const startedAt = Date.now();
123
+ const deadline = startedAt + timeout;
124
+ const url = `${baseUrl(opts.keeperUrl)}/license/${encodeURIComponent(opts.zkAppAddress)}/${encodeURIComponent(opts.licenseHash)}?network=${opts.network}`;
125
+ while (true) {
126
+ if (opts.signal?.aborted)
127
+ throw new Error('pollBindStatus aborted');
128
+ let status = { status: 'unknown', elapsedMs: Date.now() - startedAt };
129
+ try {
130
+ const resp = await fetcher(url, { signal: opts.signal });
131
+ if (resp.ok) {
132
+ const body = await resp.json();
133
+ if (body.found) {
134
+ const slot = (body.devices ?? []).find(d => d.slotIndex === opts.slotIndex);
135
+ const commitment = slot?.deviceCommitment ?? '0';
136
+ if (commitment === opts.deviceCommitment) {
137
+ status = {
138
+ status: 'confirmed',
139
+ slotIndex: opts.slotIndex,
140
+ deviceCommitment: commitment,
141
+ elapsedMs: Date.now() - startedAt,
142
+ };
143
+ }
144
+ else {
145
+ status = {
146
+ status: 'pending',
147
+ slotIndex: opts.slotIndex,
148
+ deviceCommitment: commitment,
149
+ elapsedMs: Date.now() - startedAt,
150
+ };
151
+ }
152
+ }
153
+ }
154
+ }
155
+ catch { /* transient network — try again on next tick */ }
156
+ opts.onTick?.(status);
157
+ if (status.status === 'confirmed')
158
+ return status;
159
+ if (Date.now() >= deadline)
160
+ return status;
161
+ await new Promise((r) => setTimeout(r, interval));
162
+ }
163
+ }
115
164
  //# sourceMappingURL=bindClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bindClient.js","sourceRoot":"","sources":["../src/bindClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindClient.js","sourceRoot":"","sources":["../src/bindClient.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ export type ConfirmBuyRequest = {
42
42
  signal?: AbortSignal;
43
43
  };
44
44
  export type BuyStatus = {
45
- status: 'unknown' | 'pending' | 'confirmed' | 'failed';
45
+ status: 'unknown' | 'pending' | 'landed' | 'timeout';
46
46
  txHash?: string;
47
47
  landedAtBlockHeight?: number;
48
48
  landedAtSlot?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"buyClient.d.ts","sourceRoot":"","sources":["../src/buyClient.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG;IAMxB,SAAS,EAAQ,SAAS,CAAC;IAG3B,eAAe,EAAE,MAAM,CAAC;IAKxB,UAAU,EAAO,UAAU,CAAC;IAK5B,WAAW,EAAM,MAAM,CAAC;CACzB,CAAC;AAaF,wBAAsB,iBAAiB,CACrC,UAAU,EAAI,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC,CAItB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAO,MAAM,CAAC;IAOvB,WAAW,EAAK,MAAM,CAAC;IACvB,YAAY,EAAI,MAAM,CAAC;IACvB,YAAY,EAAI,MAAM,CAAC;IAOvB,WAAW,EAAK,MAAM,CAAC;IAKvB,OAAO,EAAS,QAAQ,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,YAAY,EAAI,MAAM,CAAC;IAIvB,QAAQ,CAAC,EAAO,MAAM,CAAC;IASvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAG/B,eAAe,CAAC,EAAO,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,EAAQ,OAAO,KAAK,CAAC;IAC7B,MAAM,CAAC,EAAS,WAAW,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAS,MAAM,CAAC;IAC5B,UAAU,EAAW,MAAM,CAAC;IAC5B,WAAW,EAAU,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAS,MAAM,CAAC;IAC5B,cAAc,EAAO,MAAM,CAAC;IAC5B,QAAQ,EAAa,MAAM,CAAC;IAC5B,aAAa,EAAQ,MAAM,CAAC;IAI5B,UAAU,EAAW,MAAM,CAAC;IAK5B,MAAM,EAAe,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAK,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAG,MAAM,CAAC;IACrB,MAAM,EAAQ,MAAM,CAAC;IACrB,OAAO,CAAC,EAAM,OAAO,KAAK,CAAC;IAC3B,MAAM,CAAC,EAAO,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,EAAe,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACpE,MAAM,CAAC,EAAc,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAQ,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAW,MAAM,CAAC;CAC7B,CAAC;AAiCF,wBAAsB,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+D9E;AAMD,wBAAsB,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,CAc9E;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAO,MAAM,CAAC;IACvB,WAAW,EAAK,MAAM,CAAC;IACvB,OAAO,CAAC,EAAQ,OAAO,KAAK,CAAC;IAI7B,UAAU,CAAC,EAAK,MAAM,CAAC;IACvB,SAAS,CAAC,EAAM,MAAM,CAAC;IACvB,MAAM,CAAC,EAAS,WAAW,CAAC;IAC5B,MAAM,CAAC,EAAS,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;CAC7C,CAAC;AAKF,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,CAmBlF"}
1
+ {"version":3,"file":"buyClient.d.ts","sourceRoot":"","sources":["../src/buyClient.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG;IAMxB,SAAS,EAAQ,SAAS,CAAC;IAG3B,eAAe,EAAE,MAAM,CAAC;IAKxB,UAAU,EAAO,UAAU,CAAC;IAK5B,WAAW,EAAM,MAAM,CAAC;CACzB,CAAC;AAaF,wBAAsB,iBAAiB,CACrC,UAAU,EAAI,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,CAAC,CAItB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAO,MAAM,CAAC;IAOvB,WAAW,EAAK,MAAM,CAAC;IACvB,YAAY,EAAI,MAAM,CAAC;IACvB,YAAY,EAAI,MAAM,CAAC;IAOvB,WAAW,EAAK,MAAM,CAAC;IAKvB,OAAO,EAAS,QAAQ,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,YAAY,EAAI,MAAM,CAAC;IAIvB,QAAQ,CAAC,EAAO,MAAM,CAAC;IASvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAG/B,eAAe,CAAC,EAAO,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,CAAC,EAAQ,OAAO,KAAK,CAAC;IAC7B,MAAM,CAAC,EAAS,WAAW,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAS,MAAM,CAAC;IAC5B,UAAU,EAAW,MAAM,CAAC;IAC5B,WAAW,EAAU,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAS,MAAM,CAAC;IAC5B,cAAc,EAAO,MAAM,CAAC;IAC5B,QAAQ,EAAa,MAAM,CAAC;IAC5B,aAAa,EAAQ,MAAM,CAAC;IAI5B,UAAU,EAAW,MAAM,CAAC;IAK5B,MAAM,EAAe,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAK,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAG,MAAM,CAAC;IACrB,MAAM,EAAQ,MAAM,CAAC;IACrB,OAAO,CAAC,EAAM,OAAO,KAAK,CAAC;IAC3B,MAAM,CAAC,EAAO,WAAW,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IAMtB,MAAM,EAAe,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClE,MAAM,CAAC,EAAc,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAQ,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAW,MAAM,CAAC;CAC7B,CAAC;AAiCF,wBAAsB,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA+D9E;AAMD,wBAAsB,UAAU,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CAAC,CAc9E;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAO,MAAM,CAAC;IACvB,WAAW,EAAK,MAAM,CAAC;IACvB,OAAO,CAAC,EAAQ,OAAO,KAAK,CAAC;IAI7B,UAAU,CAAC,EAAK,MAAM,CAAC;IACvB,SAAS,CAAC,EAAM,MAAM,CAAC;IACvB,MAAM,CAAC,EAAS,WAAW,CAAC;IAC5B,MAAM,CAAC,EAAS,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;CAC7C,CAAC;AAMF,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,CAmBlF"}
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * buyClient.ts
5
5
  *
6
- * Browser-safe client for the buy flow. Exposes the three keeper roundtrips
6
+ * Browser-safe client for the buy flow. Exposes the three backend roundtrips
7
7
  * (derive identity → prove → confirm) as small, individually testable
8
8
  * functions plus a `pollBuyStatus` helper. Deliberately does NOT talk to a
9
9
  * wallet — the caller drives the wallet step between `proveBuy` and
@@ -50,11 +50,11 @@ async function readJsonError(resp) {
50
50
  catch { /* body wasn't JSON */ }
51
51
  return `HTTP ${resp.status}`;
52
52
  }
53
- // POST /prove/buy — keeper compiles + proves the buy tx.
53
+ // POST /prove/buy — backend compiles + proves the buy tx.
54
54
  // The buyer's wallet then signs the returned provenTxJson.
55
55
  //
56
56
  // Pre-network guards:
57
- // - salesFrozen === true → refuse immediately (keeper would 423 anyway).
57
+ // - salesFrozen === true → refuse immediately (backend would 423 anyway).
58
58
  // - freezeAfterSlot announced AND this buy's 14-day refund window would
59
59
  // extend past the freeze slot AND refundWaiverAccepted !== true →
60
60
  // refuse (buyer must explicitly accept that the scheduled hardfork
@@ -120,7 +120,7 @@ export async function proveBuy(req) {
120
120
  // is a redeploy through the hardfork-migration flow (§12.13); until
121
121
  // then the escrowless (waiver) path is unavailable on this vendor.
122
122
  if (useNoEscrow && resp.status === 404) {
123
- throw new Error('Keeper does not offer /prove/buy-no-escrow — this vendor\'s zkApp does not support the escrowless (waiver) path; vendor must redeploy via the hardfork-migration flow');
123
+ throw new Error('Backend does not offer /prove/buy-no-escrow — this vendor\'s zkApp does not support the escrowless (waiver) path; vendor must redeploy via the hardfork-migration flow');
124
124
  }
125
125
  const parsed = await readErrorBody(resp);
126
126
  const queueBusy = tryQueueBusyFromBody(parsed);
@@ -150,9 +150,10 @@ export async function confirmBuy(req) {
150
150
  throw new Error(await readJsonError(resp));
151
151
  return { ok: true };
152
152
  }
153
- // Polls GET /buy/status until it returns a terminal state ('confirmed' or
154
- // 'failed') or the timeout fires. Terminal state is resolved via the
155
- // returned status; 'unknown' just means the keeper hasn't seen the tx yet.
153
+ // Polls GET /buy/status until it returns a terminal state ('landed' — success,
154
+ // tx included on-chain; or 'timeout' — watch deadline passed without inclusion)
155
+ // or the local poll timeout fires. 'unknown' just means the backend hasn't seen
156
+ // a watch record yet (confirmBuy still landing, or retention window expired).
156
157
  export async function pollBuyStatus(opts) {
157
158
  const fetcher = opts.fetcher ?? fetch;
158
159
  const interval = opts.intervalMs ?? 3_000;
@@ -170,7 +171,7 @@ export async function pollBuyStatus(opts) {
170
171
  }
171
172
  catch { /* transient network — try again on next tick */ }
172
173
  opts.onTick?.(status);
173
- if (status.status === 'confirmed' || status.status === 'failed')
174
+ if (status.status === 'landed' || status.status === 'timeout')
174
175
  return status;
175
176
  if (Date.now() >= deadline)
176
177
  return status;
@@ -1 +1 @@
1
- {"version":3,"file":"buyClient.js","sourceRoot":"","sources":["../src/buyClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buyClient.js","sourceRoot":"","sources":["../src/buyClient.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * `CANONICAL_VK_HASH` is the verification-key hash of the published
16
16
  * `LicensingApp` circuit. Bump it whenever the on-chain zkApp changes
17
- * and rerun the keeper's boot assertion (see zklicensing-app/src/keeperService.ts)
17
+ * and rerun the backend's boot assertion (see zklicensing-app/src/keeperService.ts)
18
18
  * / the verify service's `ensureCompiled()` check to catch drift.
19
19
  */
20
20
  import { declareState, fetchAccount, Field, PublicKey, SmartContract, Struct, UInt32, UInt64, MerkleMap } from 'o1js';
@@ -30,7 +30,7 @@ import { declareState, fetchAccount, Field, PublicKey, SmartContract, Struct, UI
30
30
  // The clean alternative — `export class X extends Struct({...}) {}` as the
31
31
  // mina-fungible-token repo does — only works when o1js sits inside rootDir,
32
32
  // which a workspace member can't guarantee.
33
- // `cap` is carried so that a keeper reconstructing the license from archive
33
+ // `cap` is carried so that a backend reconstructing the license from archive
34
34
  // events (e.g. after losing its in-memory intent map to a restart) can
35
35
  // rehydrate the exact LicenseLeaf that was committed on-chain. Without it,
36
36
  // leafFromRecord() would default cap to UInt32.zero and every follow-up
@@ -38,7 +38,7 @@ import { declareState, fetchAccount, Field, PublicKey, SmartContract, Struct, UI
38
38
  // in-circuit hash check.
39
39
  //
40
40
  // `deviceSlotsRoot` / `deviceSlotsFilled` are omitted deliberately: at issue
41
- // time they are always EMPTY_DEVICE_SLOTS_ROOT / 0. The keeper's rehydration
41
+ // time they are always EMPTY_DEVICE_SLOTS_ROOT / 0. The backend's rehydration
42
42
  // uses those defaults, matching the leaf the circuit wrote.
43
43
  //
44
44
  // The leaf carries no separate ownerPubKeyHash — `licenseHash` IS the owner-
@@ -72,7 +72,7 @@ export const AppCreatedEvent = Struct({
72
72
  // licensesRoot entry; `ancestorGen` is the generation index the migration
73
73
  // resolved against (needed so archive replay and auditors can trace which
74
74
  // frozen root supplied the entry — skip-generation migrations are one-hop).
75
- // Migration copies the ancestor leaf verbatim, so a destination keeper that
75
+ // Migration copies the ancestor leaf verbatim, so a destination backend that
76
76
  // only sees `licenseMigrated` (never saw the original `licenseIssued` on the
77
77
  // ancestor deployment) needs every leaf field to rehydrate correctly. Unlike
78
78
  // LicenseIssuedEvent, `deviceSlotsRoot` and `deviceSlotsFilled` are included
@@ -93,7 +93,7 @@ export const LicenseMigratedEvent = Struct({
93
93
  //
94
94
  // `boundAtSlot` carries the circuit's proof-time `globalSlotSinceGenesis` —
95
95
  // the exact value packed into the leaf's `freedAt` via `packSlotTimes(
96
- // currentSlot, 0)`. Off-chain keepers rebuilding `deviceSlotsRoot` MUST use
96
+ // currentSlot, 0)`. Off-chain backends rebuilding `deviceSlotsRoot` MUST use
97
97
  // this, not the block's globalSlot: the tx's precondition allows any block
98
98
  // slot within TOLERANCE_WINDOW of proof time, so block-slot != proof-slot in
99
99
  // the general case, and any mismatch flips the packed field, the leaf hash,
@@ -113,8 +113,8 @@ export const DeviceBoundEvent = Struct({
113
113
  // `freedAtSlot` carries the circuit's proof-time `globalSlotSinceGenesis` —
114
114
  // the value packed into the leaf's `freedAt` via `packSlotTimes(preservedBound,
115
115
  // currentSlot)`. Same off-chain reconstruction reason as `DeviceBoundEvent.
116
- // boundAtSlot`. The preserved `boundAtSlot` is not re-emitted; keeper reads
117
- // it from its own record (which still has the earlier bind's stamp).
116
+ // boundAtSlot`. The preserved `boundAtSlot` is not re-emitted; the backend
117
+ // reads it from its own record (which still has the earlier bind's stamp).
118
118
  export const DeviceUnboundEvent = Struct({
119
119
  licenseHash: Field,
120
120
  slotIndex: UInt32,
@@ -225,7 +225,7 @@ export function unpackPrices(packed) {
225
225
  //
226
226
  // On-chain `version` slot is set at init() and can never change (setPermissions
227
227
  // is impossible; setVerificationKey is impossibleDuringCurrentVersion). A
228
- // keeper / verifier that only understands v1 state decodes must refuse to serve
228
+ // backend / verifier that only understands v1 state decodes must refuse to serve
229
229
  // a zkApp deployed from a different source revision — otherwise it could
230
230
  // mis-decode events or feed a stale state format to the verifier.
231
231
  //
@@ -252,7 +252,7 @@ export async function fetchLicensingAppVersion(zkAppAddress) {
252
252
  // ------------------------------------------------------------
253
253
  // CANONICAL VK HASHES
254
254
  //
255
- // Per-generation, append-only. The keeper boots with `LicensingApp.compile()`
255
+ // Per-generation, append-only. The backend boots with `LicensingApp.compile()`
256
256
  // and asserts the resulting VK hash matches `CANONICAL_VK_HASH` (the current
257
257
  // generation's row); the verify service resolves an address's generation via
258
258
  // AppRecord.deploymentHistory and asserts the on-chain VK hash matches
@@ -266,7 +266,7 @@ export async function fetchLicensingAppVersion(zkAppAddress) {
266
266
  // - Append the new generation's row at each hardfork migration; never
267
267
  // delete historical rows.
268
268
  // - Bump `CURRENT_GENERATION` to the new key alongside the row.
269
- // - `CANONICAL_VK_HASH` is derived from the record — drift test and keeper
269
+ // - `CANONICAL_VK_HASH` is derived from the record — drift test and backend
270
270
  // boot-assert are unchanged.
271
271
  // ------------------------------------------------------------
272
272
  export const CANONICAL_VK_HASHES = {
@@ -1 +1 @@
1
- {"version":3,"file":"contractInterface.js","sourceRoot":"","sources":["../src/contractInterface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contractInterface.js","sourceRoot":"","sources":["../src/contractInterface.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Buyer-country breakdown of a vendor's revenue, bucketed by UTC calendar year.
5
5
  * Structured for tax reporting: one row per (year, appId, countryCode) with
6
- * license count + the vendor's cut in MINA. Both the keeper (source of
6
+ * license count + the vendor's cut in MINA. Both the backend (source of
7
7
  * truth for /stats) and the dashboard UI import from here so the numbers can
8
8
  * never drift between them.
9
9
  *
@@ -2,14 +2,14 @@
2
2
  * deployClient.ts
3
3
  *
4
4
  * Browser-safe client for the deploy flow. Mirrors the buy / renew / refund
5
- * client shape: `proveDeploy` posts to the keeper's `/prove/deploy` endpoint
5
+ * client shape: `proveDeploy` posts to the backend's `/prove/deploy` endpoint
6
6
  * and returns the atomic deploy+initialize tx already signed with the
7
7
  * throwaway zkApp key. The vendor's wallet then adds the fee-payer signature
8
8
  * and broadcasts.
9
9
  *
10
10
  * The atomic bundling is what makes single-shot initialization safe:
11
11
  * `provenTxJson` holds both `zkApp.deploy()` and `zkApp.initialize()`
12
- * AccountUpdates in the same transaction, and the keeper generates a
12
+ * AccountUpdates in the same transaction, and the backend generates a
13
13
  * throwaway zkApp keypair per request that is discarded before the tx is
14
14
  * returned — so the target address is not observable to an attacker until
15
15
  * the initialize AU inside is already signed and locked to `(vendor,
@@ -17,7 +17,7 @@
17
17
  * precondition on `initialize()`, this yields a one-shot init per account.
18
18
  *
19
19
  * Also exports admin-side `redeployApp` / `redeployAll` for the platform
20
- * operator to trigger post-hardfork v1→v2 migrations via the keeper's
20
+ * operator to trigger post-hardfork v1→v2 migrations via the backend's
21
21
  * `/admin/redeploy*` endpoints (bearer-token auth).
22
22
  */
23
23
  export type ProveDeployRequest = {
@@ -27,6 +27,7 @@ export type ProveDeployRequest = {
27
27
  priceMonthlyMina: number;
28
28
  priceYearlyMina: number;
29
29
  priceFiveYearMina: number;
30
+ pricePerpetualMina: number;
30
31
  forkActivationSlot?: number;
31
32
  fetcher?: typeof fetch;
32
33
  signal?: AbortSignal;