@invisi-labs/contracts 1.0.0

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/index.js ADDED
@@ -0,0 +1,545 @@
1
+ // src/abis/InvisiProtocol.ts
2
+ var invisiProtocolAbi = [
3
+ // ── Write functions ──────────────────────────────────────────────────────
4
+ {
5
+ type: "function",
6
+ name: "payOpen",
7
+ stateMutability: "nonpayable",
8
+ inputs: [
9
+ { name: "identityCommitment", type: "bytes32" },
10
+ {
11
+ name: "asset",
12
+ type: "tuple",
13
+ components: [
14
+ { name: "addr", type: "address" },
15
+ { name: "amount", type: "uint256" }
16
+ ]
17
+ },
18
+ { name: "nonce", type: "bytes32" },
19
+ { name: "treeId", type: "uint256" },
20
+ { name: "refundLink", type: "bytes32" }
21
+ ],
22
+ outputs: []
23
+ },
24
+ {
25
+ type: "function",
26
+ name: "payBlind",
27
+ stateMutability: "nonpayable",
28
+ inputs: [
29
+ { name: "proof", type: "bytes" },
30
+ { name: "paymentCommitment", type: "bytes32" },
31
+ { name: "changeCommitment", type: "bytes32" },
32
+ { name: "inputAmount", type: "uint256" },
33
+ { name: "tokenAddress", type: "address" },
34
+ { name: "treeId", type: "uint256" },
35
+ { name: "refundLink", type: "bytes32" }
36
+ ],
37
+ outputs: []
38
+ },
39
+ {
40
+ type: "function",
41
+ name: "withdraw",
42
+ stateMutability: "nonpayable",
43
+ inputs: [
44
+ { name: "proof", type: "bytes" },
45
+ { name: "merkleRoot", type: "bytes32" },
46
+ { name: "nullifiers", type: "bytes32[]" },
47
+ { name: "totalAmount", type: "uint256" },
48
+ { name: "receivingAddress", type: "address" },
49
+ { name: "tokenAddress", type: "address" },
50
+ { name: "treeId", type: "uint256" }
51
+ ],
52
+ outputs: []
53
+ },
54
+ // ── Meta-transaction (WithSig) ────────────────────────────────────────
55
+ {
56
+ type: "function",
57
+ name: "payOpenWithSig",
58
+ stateMutability: "nonpayable",
59
+ inputs: [
60
+ { name: "identityCommitment", type: "bytes32" },
61
+ {
62
+ name: "asset",
63
+ type: "tuple",
64
+ components: [
65
+ { name: "addr", type: "address" },
66
+ { name: "amount", type: "uint256" }
67
+ ]
68
+ },
69
+ { name: "nonce", type: "bytes32" },
70
+ { name: "treeId", type: "uint256" },
71
+ { name: "refundLink", type: "bytes32" },
72
+ {
73
+ name: "permit",
74
+ type: "tuple",
75
+ components: [
76
+ { name: "deadline", type: "uint256" },
77
+ { name: "v", type: "uint8" },
78
+ { name: "r", type: "bytes32" },
79
+ { name: "s", type: "bytes32" }
80
+ ]
81
+ },
82
+ { name: "signer", type: "address" },
83
+ { name: "sigNonce", type: "uint256" },
84
+ { name: "deadline", type: "uint256" },
85
+ { name: "signature", type: "bytes" }
86
+ ],
87
+ outputs: []
88
+ },
89
+ {
90
+ type: "function",
91
+ name: "payBlindWithSig",
92
+ stateMutability: "nonpayable",
93
+ inputs: [
94
+ { name: "proof", type: "bytes" },
95
+ { name: "paymentCommitment", type: "bytes32" },
96
+ { name: "changeCommitment", type: "bytes32" },
97
+ { name: "inputAmount", type: "uint256" },
98
+ { name: "tokenAddress", type: "address" },
99
+ { name: "treeId", type: "uint256" },
100
+ { name: "refundLink", type: "bytes32" },
101
+ {
102
+ name: "meta",
103
+ type: "tuple",
104
+ components: [
105
+ {
106
+ name: "permit",
107
+ type: "tuple",
108
+ components: [
109
+ { name: "deadline", type: "uint256" },
110
+ { name: "v", type: "uint8" },
111
+ { name: "r", type: "bytes32" },
112
+ { name: "s", type: "bytes32" }
113
+ ]
114
+ },
115
+ { name: "signer", type: "address" },
116
+ { name: "sigNonce", type: "uint256" },
117
+ { name: "deadline", type: "uint256" },
118
+ { name: "signature", type: "bytes" }
119
+ ]
120
+ }
121
+ ],
122
+ outputs: []
123
+ },
124
+ {
125
+ type: "function",
126
+ name: "depositCreditWithSig",
127
+ stateMutability: "nonpayable",
128
+ inputs: [
129
+ { name: "identityCommitment", type: "bytes32" },
130
+ { name: "payerCommitment", type: "bytes32" },
131
+ {
132
+ name: "asset",
133
+ type: "tuple",
134
+ components: [
135
+ { name: "addr", type: "address" },
136
+ { name: "amount", type: "uint256" }
137
+ ]
138
+ },
139
+ { name: "nonce", type: "bytes32" },
140
+ { name: "expiry", type: "uint256" },
141
+ { name: "nullifierKeyHash", type: "bytes32" },
142
+ { name: "treeId", type: "uint256" },
143
+ {
144
+ name: "meta",
145
+ type: "tuple",
146
+ components: [
147
+ {
148
+ name: "permit",
149
+ type: "tuple",
150
+ components: [
151
+ { name: "deadline", type: "uint256" },
152
+ { name: "v", type: "uint8" },
153
+ { name: "r", type: "bytes32" },
154
+ { name: "s", type: "bytes32" }
155
+ ]
156
+ },
157
+ { name: "signer", type: "address" },
158
+ { name: "sigNonce", type: "uint256" },
159
+ { name: "deadline", type: "uint256" },
160
+ { name: "signature", type: "bytes" }
161
+ ]
162
+ }
163
+ ],
164
+ outputs: []
165
+ },
166
+ {
167
+ type: "function",
168
+ name: "invalidateNonce",
169
+ stateMutability: "nonpayable",
170
+ inputs: [],
171
+ outputs: []
172
+ },
173
+ // ── View functions ───────────────────────────────────────────────────────
174
+ {
175
+ type: "function",
176
+ name: "getTreeCount",
177
+ stateMutability: "view",
178
+ inputs: [],
179
+ outputs: [{ name: "count", type: "uint256" }]
180
+ },
181
+ {
182
+ type: "function",
183
+ name: "getPaymentTreeRoot",
184
+ stateMutability: "view",
185
+ inputs: [{ name: "treeId", type: "uint256" }],
186
+ outputs: [{ name: "", type: "bytes32" }]
187
+ },
188
+ {
189
+ type: "function",
190
+ name: "isTreeFull",
191
+ stateMutability: "view",
192
+ inputs: [{ name: "treeId", type: "uint256" }],
193
+ outputs: [{ name: "", type: "bool" }]
194
+ },
195
+ {
196
+ type: "function",
197
+ name: "isNullifierSpent",
198
+ stateMutability: "view",
199
+ inputs: [{ name: "nullifier", type: "bytes32" }],
200
+ outputs: [{ name: "", type: "bool" }]
201
+ },
202
+ {
203
+ type: "function",
204
+ name: "nonces",
205
+ stateMutability: "view",
206
+ inputs: [{ name: "signer", type: "address" }],
207
+ outputs: [{ name: "", type: "uint256" }]
208
+ },
209
+ {
210
+ type: "function",
211
+ name: "isCommitmentPaid",
212
+ stateMutability: "view",
213
+ inputs: [{ name: "paymentCommitment", type: "bytes32" }],
214
+ outputs: [{ name: "", type: "bool" }]
215
+ },
216
+ {
217
+ type: "function",
218
+ name: "VERSION",
219
+ stateMutability: "view",
220
+ inputs: [],
221
+ outputs: [{ name: "", type: "uint256" }]
222
+ },
223
+ {
224
+ type: "function",
225
+ name: "emergencyAdmin",
226
+ stateMutability: "view",
227
+ inputs: [],
228
+ outputs: [{ name: "", type: "address" }]
229
+ },
230
+ {
231
+ type: "function",
232
+ name: "timelockAdmin",
233
+ stateMutability: "view",
234
+ inputs: [],
235
+ outputs: [{ name: "", type: "address" }]
236
+ },
237
+ {
238
+ type: "function",
239
+ name: "getTokenConfig",
240
+ stateMutability: "view",
241
+ inputs: [{ name: "token", type: "address" }],
242
+ outputs: [
243
+ {
244
+ name: "",
245
+ type: "tuple",
246
+ components: [
247
+ { name: "registered", type: "bool" },
248
+ { name: "enabled", type: "bool" },
249
+ { name: "maxPerDeposit", type: "uint256" }
250
+ ]
251
+ }
252
+ ]
253
+ },
254
+ {
255
+ type: "function",
256
+ name: "isTokenEnabled",
257
+ stateMutability: "view",
258
+ inputs: [{ name: "token", type: "address" }],
259
+ outputs: [{ name: "", type: "bool" }]
260
+ },
261
+ // ── Admin functions ──────────────────────────────────────────────────────
262
+ // emergencyAdmin (instant)
263
+ {
264
+ type: "function",
265
+ name: "pause",
266
+ stateMutability: "nonpayable",
267
+ inputs: [],
268
+ outputs: []
269
+ },
270
+ {
271
+ type: "function",
272
+ name: "unpause",
273
+ stateMutability: "nonpayable",
274
+ inputs: [],
275
+ outputs: []
276
+ },
277
+ {
278
+ type: "function",
279
+ name: "pauseToken",
280
+ stateMutability: "nonpayable",
281
+ inputs: [{ name: "token", type: "address" }],
282
+ outputs: []
283
+ },
284
+ // timelockAdmin (delayed)
285
+ {
286
+ type: "function",
287
+ name: "addToken",
288
+ stateMutability: "nonpayable",
289
+ inputs: [
290
+ { name: "token", type: "address" },
291
+ { name: "maxPerDeposit", type: "uint256" }
292
+ ],
293
+ outputs: []
294
+ },
295
+ {
296
+ type: "function",
297
+ name: "removeToken",
298
+ stateMutability: "nonpayable",
299
+ inputs: [{ name: "token", type: "address" }],
300
+ outputs: []
301
+ },
302
+ {
303
+ type: "function",
304
+ name: "setTokenLimit",
305
+ stateMutability: "nonpayable",
306
+ inputs: [
307
+ { name: "token", type: "address" },
308
+ { name: "maxPerDeposit", type: "uint256" }
309
+ ],
310
+ outputs: []
311
+ },
312
+ {
313
+ type: "function",
314
+ name: "unpauseToken",
315
+ stateMutability: "nonpayable",
316
+ inputs: [{ name: "token", type: "address" }],
317
+ outputs: []
318
+ },
319
+ // ── Credit functions ────────────────────────────────────────────────────
320
+ {
321
+ type: "function",
322
+ name: "depositCredit",
323
+ inputs: [
324
+ { name: "identityCommitment", type: "bytes32" },
325
+ { name: "payerCommitment", type: "bytes32" },
326
+ {
327
+ name: "asset",
328
+ type: "tuple",
329
+ components: [
330
+ { name: "addr", type: "address" },
331
+ { name: "amount", type: "uint256" }
332
+ ]
333
+ },
334
+ { name: "nonce", type: "bytes32" },
335
+ { name: "expiry", type: "uint256" },
336
+ { name: "nullifierKeyHash", type: "bytes32" },
337
+ { name: "treeId", type: "uint256" }
338
+ ],
339
+ outputs: [],
340
+ stateMutability: "nonpayable"
341
+ },
342
+ {
343
+ type: "function",
344
+ name: "creditDraw",
345
+ inputs: [
346
+ { name: "proof", type: "bytes" },
347
+ {
348
+ name: "params",
349
+ type: "tuple",
350
+ components: [
351
+ { name: "merkleRoot", type: "bytes32" },
352
+ { name: "nullifiers", type: "bytes32[]" },
353
+ { name: "totalAmount", type: "uint256" },
354
+ { name: "receivingAddress", type: "address" },
355
+ { name: "tokenAddress", type: "address" },
356
+ { name: "treeId", type: "uint256" },
357
+ { name: "remainderCommitments", type: "bytes32[]" },
358
+ { name: "expiry", type: "uint256" }
359
+ ]
360
+ }
361
+ ],
362
+ outputs: [],
363
+ stateMutability: "nonpayable"
364
+ },
365
+ {
366
+ type: "function",
367
+ name: "reclaim",
368
+ inputs: [
369
+ { name: "proof", type: "bytes" },
370
+ { name: "merkleRoot", type: "bytes32" },
371
+ { name: "nullifier", type: "bytes32" },
372
+ { name: "amount", type: "uint256" },
373
+ { name: "receivingAddress", type: "address" },
374
+ { name: "tokenAddress", type: "address" },
375
+ { name: "treeId", type: "uint256" },
376
+ { name: "expiry", type: "uint256" }
377
+ ],
378
+ outputs: [],
379
+ stateMutability: "nonpayable"
380
+ },
381
+ {
382
+ type: "function",
383
+ name: "COOLDOWN_PERIOD",
384
+ inputs: [],
385
+ outputs: [{ name: "", type: "uint256" }],
386
+ stateMutability: "view"
387
+ },
388
+ // ── Events ───────────────────────────────────────────────────────────────
389
+ {
390
+ type: "event",
391
+ name: "PayOpen",
392
+ inputs: [
393
+ { name: "paymentCommitment", type: "bytes32", indexed: true },
394
+ { name: "payer", type: "address", indexed: true },
395
+ { name: "treeId", type: "uint256", indexed: true },
396
+ { name: "leafIndex", type: "uint32", indexed: false },
397
+ { name: "tokenAddress", type: "address", indexed: false },
398
+ { name: "amount", type: "uint256", indexed: false },
399
+ { name: "identityCommitment", type: "bytes32", indexed: false },
400
+ { name: "nonce", type: "bytes32", indexed: false },
401
+ { name: "refundLink", type: "bytes32", indexed: false }
402
+ ]
403
+ },
404
+ {
405
+ type: "event",
406
+ name: "PayBlind",
407
+ inputs: [
408
+ { name: "paymentCommitment", type: "bytes32", indexed: true },
409
+ { name: "payer", type: "address", indexed: true },
410
+ { name: "treeId", type: "uint256", indexed: true },
411
+ { name: "changeCommitment", type: "bytes32", indexed: false },
412
+ { name: "paymentLeafIndex", type: "uint32", indexed: false },
413
+ { name: "changeLeafIndex", type: "uint32", indexed: false },
414
+ { name: "tokenAddress", type: "address", indexed: false },
415
+ { name: "inputAmount", type: "uint256", indexed: false },
416
+ { name: "refundLink", type: "bytes32", indexed: false }
417
+ ]
418
+ },
419
+ {
420
+ type: "event",
421
+ name: "Withdraw",
422
+ inputs: [
423
+ { name: "receivingAddress", type: "address", indexed: true },
424
+ { name: "tokenAddress", type: "address", indexed: true },
425
+ { name: "treeId", type: "uint256", indexed: true },
426
+ { name: "merkleRoot", type: "bytes32", indexed: false },
427
+ { name: "nullifiers", type: "bytes32[]", indexed: false },
428
+ { name: "totalAmount", type: "uint256", indexed: false }
429
+ ]
430
+ },
431
+ {
432
+ type: "event",
433
+ name: "TreeCreated",
434
+ inputs: [{ name: "treeId", type: "uint256", indexed: true }]
435
+ },
436
+ {
437
+ type: "event",
438
+ name: "TokenAdded",
439
+ inputs: [
440
+ { name: "token", type: "address", indexed: true },
441
+ { name: "maxPerDeposit", type: "uint256", indexed: false }
442
+ ]
443
+ },
444
+ {
445
+ type: "event",
446
+ name: "TokenRemoved",
447
+ inputs: [{ name: "token", type: "address", indexed: true }]
448
+ },
449
+ {
450
+ type: "event",
451
+ name: "TokenPaused",
452
+ inputs: [{ name: "token", type: "address", indexed: true }]
453
+ },
454
+ {
455
+ type: "event",
456
+ name: "TokenUnpaused",
457
+ inputs: [{ name: "token", type: "address", indexed: true }]
458
+ },
459
+ {
460
+ type: "event",
461
+ name: "TokenLimitUpdated",
462
+ inputs: [
463
+ { name: "token", type: "address", indexed: true },
464
+ { name: "maxPerDeposit", type: "uint256", indexed: false }
465
+ ]
466
+ },
467
+ {
468
+ type: "event",
469
+ name: "CreditDeposit",
470
+ inputs: [
471
+ { name: "commitment", type: "bytes32", indexed: true },
472
+ { name: "depositor", type: "address", indexed: true },
473
+ { name: "treeId", type: "uint256", indexed: true },
474
+ { name: "leafIndex", type: "uint32", indexed: false },
475
+ { name: "identityCommitment", type: "bytes32", indexed: false },
476
+ { name: "payerCommitment", type: "bytes32", indexed: false },
477
+ { name: "tokenAddress", type: "address", indexed: false },
478
+ { name: "amount", type: "uint256", indexed: false },
479
+ { name: "nonce", type: "bytes32", indexed: false },
480
+ { name: "expiry", type: "uint256", indexed: false },
481
+ { name: "nullifierKeyHash", type: "bytes32", indexed: false }
482
+ ]
483
+ },
484
+ {
485
+ type: "event",
486
+ name: "CreditDraw",
487
+ inputs: [
488
+ { name: "receivingAddress", type: "address", indexed: true },
489
+ { name: "tokenAddress", type: "address", indexed: true },
490
+ { name: "treeId", type: "uint256", indexed: true },
491
+ { name: "merkleRoot", type: "bytes32", indexed: false },
492
+ { name: "nullifiers", type: "bytes32[]", indexed: false },
493
+ { name: "totalAmount", type: "uint256", indexed: false },
494
+ { name: "remainderCommitments", type: "bytes32[]", indexed: false },
495
+ { name: "remainderLeafIndices", type: "uint32[]", indexed: false },
496
+ { name: "expiry", type: "uint256", indexed: false }
497
+ ]
498
+ },
499
+ {
500
+ type: "event",
501
+ name: "CreditReclaim",
502
+ inputs: [
503
+ { name: "receivingAddress", type: "address", indexed: true },
504
+ { name: "treeId", type: "uint256", indexed: true },
505
+ { name: "nullifier", type: "bytes32", indexed: true },
506
+ { name: "merkleRoot", type: "bytes32", indexed: false },
507
+ { name: "tokenAddress", type: "address", indexed: false },
508
+ { name: "amount", type: "uint256", indexed: false },
509
+ { name: "expiry", type: "uint256", indexed: false }
510
+ ]
511
+ },
512
+ // ── Meta-transaction events ───────────────────────────────────────────
513
+ {
514
+ type: "event",
515
+ name: "NonceInvalidated",
516
+ inputs: [
517
+ { name: "signer", type: "address", indexed: true },
518
+ { name: "newNonce", type: "uint256", indexed: false }
519
+ ]
520
+ },
521
+ // ── Errors ─────────────────────────────────────────────────────────────
522
+ {
523
+ type: "error",
524
+ name: "TokenNotRegistered",
525
+ inputs: [{ name: "token", type: "address" }]
526
+ },
527
+ {
528
+ type: "error",
529
+ name: "TokenNotEnabled",
530
+ inputs: [{ name: "token", type: "address" }]
531
+ },
532
+ {
533
+ type: "error",
534
+ name: "ExceedsDepositLimit",
535
+ inputs: [
536
+ { name: "token", type: "address" },
537
+ { name: "amount", type: "uint256" },
538
+ { name: "maxPerDeposit", type: "uint256" }
539
+ ]
540
+ }
541
+ ];
542
+ export {
543
+ invisiProtocolAbi
544
+ };
545
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/abis/InvisiProtocol.ts"],"sourcesContent":["export const invisiProtocolAbi = [\n // ── Write functions ──────────────────────────────────────────────────────\n {\n type: \"function\",\n name: \"payOpen\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"identityCommitment\", type: \"bytes32\" },\n {\n name: \"asset\",\n type: \"tuple\",\n components: [\n { name: \"addr\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n ],\n },\n { name: \"nonce\", type: \"bytes32\" },\n { name: \"treeId\", type: \"uint256\" },\n { name: \"refundLink\", type: \"bytes32\" },\n ],\n outputs: [],\n },\n {\n type: \"function\",\n name: \"payBlind\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"proof\", type: \"bytes\" },\n { name: \"paymentCommitment\", type: \"bytes32\" },\n { name: \"changeCommitment\", type: \"bytes32\" },\n { name: \"inputAmount\", type: \"uint256\" },\n { name: \"tokenAddress\", type: \"address\" },\n { name: \"treeId\", type: \"uint256\" },\n { name: \"refundLink\", type: \"bytes32\" },\n ],\n outputs: [],\n },\n {\n type: \"function\",\n name: \"withdraw\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"proof\", type: \"bytes\" },\n { name: \"merkleRoot\", type: \"bytes32\" },\n { name: \"nullifiers\", type: \"bytes32[]\" },\n { name: \"totalAmount\", type: \"uint256\" },\n { name: \"receivingAddress\", type: \"address\" },\n { name: \"tokenAddress\", type: \"address\" },\n { name: \"treeId\", type: \"uint256\" },\n ],\n outputs: [],\n },\n\n // ── Meta-transaction (WithSig) ────────────────────────────────────────\n {\n type: \"function\",\n name: \"payOpenWithSig\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"identityCommitment\", type: \"bytes32\" },\n {\n name: \"asset\",\n type: \"tuple\",\n components: [\n { name: \"addr\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n ],\n },\n { name: \"nonce\", type: \"bytes32\" },\n { name: \"treeId\", type: \"uint256\" },\n { name: \"refundLink\", type: \"bytes32\" },\n {\n name: \"permit\",\n type: \"tuple\",\n components: [\n { name: \"deadline\", type: \"uint256\" },\n { name: \"v\", type: \"uint8\" },\n { name: \"r\", type: \"bytes32\" },\n { name: \"s\", type: \"bytes32\" },\n ],\n },\n { name: \"signer\", type: \"address\" },\n { name: \"sigNonce\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"signature\", type: \"bytes\" },\n ],\n outputs: [],\n },\n {\n type: \"function\",\n name: \"payBlindWithSig\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"proof\", type: \"bytes\" },\n { name: \"paymentCommitment\", type: \"bytes32\" },\n { name: \"changeCommitment\", type: \"bytes32\" },\n { name: \"inputAmount\", type: \"uint256\" },\n { name: \"tokenAddress\", type: \"address\" },\n { name: \"treeId\", type: \"uint256\" },\n { name: \"refundLink\", type: \"bytes32\" },\n {\n name: \"meta\",\n type: \"tuple\",\n components: [\n {\n name: \"permit\",\n type: \"tuple\",\n components: [\n { name: \"deadline\", type: \"uint256\" },\n { name: \"v\", type: \"uint8\" },\n { name: \"r\", type: \"bytes32\" },\n { name: \"s\", type: \"bytes32\" },\n ],\n },\n { name: \"signer\", type: \"address\" },\n { name: \"sigNonce\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"signature\", type: \"bytes\" },\n ],\n },\n ],\n outputs: [],\n },\n {\n type: \"function\",\n name: \"depositCreditWithSig\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"identityCommitment\", type: \"bytes32\" },\n { name: \"payerCommitment\", type: \"bytes32\" },\n {\n name: \"asset\",\n type: \"tuple\",\n components: [\n { name: \"addr\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n ],\n },\n { name: \"nonce\", type: \"bytes32\" },\n { name: \"expiry\", type: \"uint256\" },\n { name: \"nullifierKeyHash\", type: \"bytes32\" },\n { name: \"treeId\", type: \"uint256\" },\n {\n name: \"meta\",\n type: \"tuple\",\n components: [\n {\n name: \"permit\",\n type: \"tuple\",\n components: [\n { name: \"deadline\", type: \"uint256\" },\n { name: \"v\", type: \"uint8\" },\n { name: \"r\", type: \"bytes32\" },\n { name: \"s\", type: \"bytes32\" },\n ],\n },\n { name: \"signer\", type: \"address\" },\n { name: \"sigNonce\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"signature\", type: \"bytes\" },\n ],\n },\n ],\n outputs: [],\n },\n {\n type: \"function\",\n name: \"invalidateNonce\",\n stateMutability: \"nonpayable\",\n inputs: [],\n outputs: [],\n },\n\n // ── View functions ───────────────────────────────────────────────────────\n {\n type: \"function\",\n name: \"getTreeCount\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"count\", type: \"uint256\" }],\n },\n {\n type: \"function\",\n name: \"getPaymentTreeRoot\",\n stateMutability: \"view\",\n inputs: [{ name: \"treeId\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"bytes32\" }],\n },\n {\n type: \"function\",\n name: \"isTreeFull\",\n stateMutability: \"view\",\n inputs: [{ name: \"treeId\", type: \"uint256\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n type: \"function\",\n name: \"isNullifierSpent\",\n stateMutability: \"view\",\n inputs: [{ name: \"nullifier\", type: \"bytes32\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n type: \"function\",\n name: \"nonces\",\n stateMutability: \"view\",\n inputs: [{ name: \"signer\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n type: \"function\",\n name: \"isCommitmentPaid\",\n stateMutability: \"view\",\n inputs: [{ name: \"paymentCommitment\", type: \"bytes32\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n type: \"function\",\n name: \"VERSION\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n type: \"function\",\n name: \"emergencyAdmin\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n type: \"function\",\n name: \"timelockAdmin\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\" }],\n },\n {\n type: \"function\",\n name: \"getTokenConfig\",\n stateMutability: \"view\",\n inputs: [{ name: \"token\", type: \"address\" }],\n outputs: [\n {\n name: \"\",\n type: \"tuple\",\n components: [\n { name: \"registered\", type: \"bool\" },\n { name: \"enabled\", type: \"bool\" },\n { name: \"maxPerDeposit\", type: \"uint256\" },\n ],\n },\n ],\n },\n {\n type: \"function\",\n name: \"isTokenEnabled\",\n stateMutability: \"view\",\n inputs: [{ name: \"token\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n\n // ── Admin functions ──────────────────────────────────────────────────────\n // emergencyAdmin (instant)\n {\n type: \"function\",\n name: \"pause\",\n stateMutability: \"nonpayable\",\n inputs: [],\n outputs: [],\n },\n {\n type: \"function\",\n name: \"unpause\",\n stateMutability: \"nonpayable\",\n inputs: [],\n outputs: [],\n },\n {\n type: \"function\",\n name: \"pauseToken\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"token\", type: \"address\" }],\n outputs: [],\n },\n\n // timelockAdmin (delayed)\n {\n type: \"function\",\n name: \"addToken\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"token\", type: \"address\" },\n { name: \"maxPerDeposit\", type: \"uint256\" },\n ],\n outputs: [],\n },\n {\n type: \"function\",\n name: \"removeToken\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"token\", type: \"address\" }],\n outputs: [],\n },\n {\n type: \"function\",\n name: \"setTokenLimit\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"token\", type: \"address\" },\n { name: \"maxPerDeposit\", type: \"uint256\" },\n ],\n outputs: [],\n },\n {\n type: \"function\",\n name: \"unpauseToken\",\n stateMutability: \"nonpayable\",\n inputs: [{ name: \"token\", type: \"address\" }],\n outputs: [],\n },\n\n // ── Credit functions ────────────────────────────────────────────────────\n {\n type: \"function\",\n name: \"depositCredit\",\n inputs: [\n { name: \"identityCommitment\", type: \"bytes32\" },\n { name: \"payerCommitment\", type: \"bytes32\" },\n {\n name: \"asset\",\n type: \"tuple\",\n components: [\n { name: \"addr\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n ],\n },\n { name: \"nonce\", type: \"bytes32\" },\n { name: \"expiry\", type: \"uint256\" },\n { name: \"nullifierKeyHash\", type: \"bytes32\" },\n { name: \"treeId\", type: \"uint256\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"creditDraw\",\n inputs: [\n { name: \"proof\", type: \"bytes\" },\n {\n name: \"params\",\n type: \"tuple\",\n components: [\n { name: \"merkleRoot\", type: \"bytes32\" },\n { name: \"nullifiers\", type: \"bytes32[]\" },\n { name: \"totalAmount\", type: \"uint256\" },\n { name: \"receivingAddress\", type: \"address\" },\n { name: \"tokenAddress\", type: \"address\" },\n { name: \"treeId\", type: \"uint256\" },\n { name: \"remainderCommitments\", type: \"bytes32[]\" },\n { name: \"expiry\", type: \"uint256\" },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"reclaim\",\n inputs: [\n { name: \"proof\", type: \"bytes\" },\n { name: \"merkleRoot\", type: \"bytes32\" },\n { name: \"nullifier\", type: \"bytes32\" },\n { name: \"amount\", type: \"uint256\" },\n { name: \"receivingAddress\", type: \"address\" },\n { name: \"tokenAddress\", type: \"address\" },\n { name: \"treeId\", type: \"uint256\" },\n { name: \"expiry\", type: \"uint256\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"COOLDOWN_PERIOD\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n stateMutability: \"view\",\n },\n\n // ── Events ───────────────────────────────────────────────────────────────\n {\n type: \"event\",\n name: \"PayOpen\",\n inputs: [\n { name: \"paymentCommitment\", type: \"bytes32\", indexed: true },\n { name: \"payer\", type: \"address\", indexed: true },\n { name: \"treeId\", type: \"uint256\", indexed: true },\n { name: \"leafIndex\", type: \"uint32\", indexed: false },\n { name: \"tokenAddress\", type: \"address\", indexed: false },\n { name: \"amount\", type: \"uint256\", indexed: false },\n { name: \"identityCommitment\", type: \"bytes32\", indexed: false },\n { name: \"nonce\", type: \"bytes32\", indexed: false },\n { name: \"refundLink\", type: \"bytes32\", indexed: false },\n ],\n },\n {\n type: \"event\",\n name: \"PayBlind\",\n inputs: [\n { name: \"paymentCommitment\", type: \"bytes32\", indexed: true },\n { name: \"payer\", type: \"address\", indexed: true },\n { name: \"treeId\", type: \"uint256\", indexed: true },\n { name: \"changeCommitment\", type: \"bytes32\", indexed: false },\n { name: \"paymentLeafIndex\", type: \"uint32\", indexed: false },\n { name: \"changeLeafIndex\", type: \"uint32\", indexed: false },\n { name: \"tokenAddress\", type: \"address\", indexed: false },\n { name: \"inputAmount\", type: \"uint256\", indexed: false },\n { name: \"refundLink\", type: \"bytes32\", indexed: false },\n ],\n },\n {\n type: \"event\",\n name: \"Withdraw\",\n inputs: [\n { name: \"receivingAddress\", type: \"address\", indexed: true },\n { name: \"tokenAddress\", type: \"address\", indexed: true },\n { name: \"treeId\", type: \"uint256\", indexed: true },\n { name: \"merkleRoot\", type: \"bytes32\", indexed: false },\n { name: \"nullifiers\", type: \"bytes32[]\", indexed: false },\n { name: \"totalAmount\", type: \"uint256\", indexed: false },\n ],\n },\n {\n type: \"event\",\n name: \"TreeCreated\",\n inputs: [{ name: \"treeId\", type: \"uint256\", indexed: true }],\n },\n {\n type: \"event\",\n name: \"TokenAdded\",\n inputs: [\n { name: \"token\", type: \"address\", indexed: true },\n { name: \"maxPerDeposit\", type: \"uint256\", indexed: false },\n ],\n },\n {\n type: \"event\",\n name: \"TokenRemoved\",\n inputs: [{ name: \"token\", type: \"address\", indexed: true }],\n },\n {\n type: \"event\",\n name: \"TokenPaused\",\n inputs: [{ name: \"token\", type: \"address\", indexed: true }],\n },\n {\n type: \"event\",\n name: \"TokenUnpaused\",\n inputs: [{ name: \"token\", type: \"address\", indexed: true }],\n },\n {\n type: \"event\",\n name: \"TokenLimitUpdated\",\n inputs: [\n { name: \"token\", type: \"address\", indexed: true },\n { name: \"maxPerDeposit\", type: \"uint256\", indexed: false },\n ],\n },\n {\n type: \"event\",\n name: \"CreditDeposit\",\n inputs: [\n { name: \"commitment\", type: \"bytes32\", indexed: true },\n { name: \"depositor\", type: \"address\", indexed: true },\n { name: \"treeId\", type: \"uint256\", indexed: true },\n { name: \"leafIndex\", type: \"uint32\", indexed: false },\n { name: \"identityCommitment\", type: \"bytes32\", indexed: false },\n { name: \"payerCommitment\", type: \"bytes32\", indexed: false },\n { name: \"tokenAddress\", type: \"address\", indexed: false },\n { name: \"amount\", type: \"uint256\", indexed: false },\n { name: \"nonce\", type: \"bytes32\", indexed: false },\n { name: \"expiry\", type: \"uint256\", indexed: false },\n { name: \"nullifierKeyHash\", type: \"bytes32\", indexed: false },\n ],\n },\n {\n type: \"event\",\n name: \"CreditDraw\",\n inputs: [\n { name: \"receivingAddress\", type: \"address\", indexed: true },\n { name: \"tokenAddress\", type: \"address\", indexed: true },\n { name: \"treeId\", type: \"uint256\", indexed: true },\n { name: \"merkleRoot\", type: \"bytes32\", indexed: false },\n { name: \"nullifiers\", type: \"bytes32[]\", indexed: false },\n { name: \"totalAmount\", type: \"uint256\", indexed: false },\n { name: \"remainderCommitments\", type: \"bytes32[]\", indexed: false },\n { name: \"remainderLeafIndices\", type: \"uint32[]\", indexed: false },\n { name: \"expiry\", type: \"uint256\", indexed: false },\n ],\n },\n {\n type: \"event\",\n name: \"CreditReclaim\",\n inputs: [\n { name: \"receivingAddress\", type: \"address\", indexed: true },\n { name: \"treeId\", type: \"uint256\", indexed: true },\n { name: \"nullifier\", type: \"bytes32\", indexed: true },\n { name: \"merkleRoot\", type: \"bytes32\", indexed: false },\n { name: \"tokenAddress\", type: \"address\", indexed: false },\n { name: \"amount\", type: \"uint256\", indexed: false },\n { name: \"expiry\", type: \"uint256\", indexed: false },\n ],\n },\n\n // ── Meta-transaction events ───────────────────────────────────────────\n {\n type: \"event\",\n name: \"NonceInvalidated\",\n inputs: [\n { name: \"signer\", type: \"address\", indexed: true },\n { name: \"newNonce\", type: \"uint256\", indexed: false },\n ],\n },\n // ── Errors ─────────────────────────────────────────────────────────────\n {\n type: \"error\",\n name: \"TokenNotRegistered\",\n inputs: [{ name: \"token\", type: \"address\" }],\n },\n {\n type: \"error\",\n name: \"TokenNotEnabled\",\n inputs: [{ name: \"token\", type: \"address\" }],\n },\n {\n type: \"error\",\n name: \"ExceedsDepositLimit\",\n inputs: [\n { name: \"token\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n { name: \"maxPerDeposit\", type: \"uint256\" },\n ],\n },\n] as const\n"],"mappings":"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","names":[]}
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@invisi-labs/contracts",
3
+ "version": "1.0.0",
4
+ "description": "Invisi Protocol contract ABIs and types",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "require": "./dist/index.cjs",
13
+ "types": "./dist/index.d.ts"
14
+ }
15
+ },
16
+ "devDependencies": {
17
+ "tsup": "^8.0.0",
18
+ "typescript": "^5.4.0",
19
+ "vitest": "^1.6.0"
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "scripts": {
25
+ "build": "tsup",
26
+ "test": "vitest run",
27
+ "lint": "tsc --noEmit",
28
+ "clean": "rm -rf dist"
29
+ }
30
+ }