@gitmyabi/railgunsmartwallet 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.
@@ -0,0 +1,2752 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * CommitmentPreimage struct type
4
+ */
5
+ export type CommitmentPreimage = {
6
+ npk: `0x${string}`;
7
+ token: TokenData;
8
+ value: bigint;
9
+ };
10
+ /**
11
+ * TokenData struct type
12
+ */
13
+ export type TokenData = {
14
+ tokenType: bigint;
15
+ tokenAddress: `0x${string}`;
16
+ tokenSubID: bigint;
17
+ };
18
+ /**
19
+ * ShieldCiphertext struct type
20
+ */
21
+ export type ShieldCiphertext = {
22
+ encryptedBundle: `0x${string}`[];
23
+ shieldKey: `0x${string}`;
24
+ };
25
+ /**
26
+ * CommitmentCiphertext struct type
27
+ */
28
+ export type CommitmentCiphertext = {
29
+ ciphertext: `0x${string}`[];
30
+ blindedSenderViewingKey: `0x${string}`;
31
+ blindedReceiverViewingKey: `0x${string}`;
32
+ annotationData: `0x${string}`;
33
+ memo: `0x${string}`;
34
+ };
35
+ /**
36
+ * VerifyingKey struct type
37
+ */
38
+ export type VerifyingKey = {
39
+ artifactsIPFSHash: string;
40
+ alpha1: G1Point;
41
+ beta2: G2Point;
42
+ gamma2: G2Point;
43
+ delta2: G2Point;
44
+ ic: G1Point[];
45
+ };
46
+ /**
47
+ * G1Point struct type
48
+ */
49
+ export type G1Point = {
50
+ x: bigint;
51
+ y: bigint;
52
+ };
53
+ /**
54
+ * G2Point struct type
55
+ */
56
+ export type G2Point = {
57
+ x: bigint[];
58
+ y: bigint[];
59
+ };
60
+ /**
61
+ * BoundParams struct type
62
+ */
63
+ export type BoundParams = {
64
+ treeNumber: bigint;
65
+ minGasPrice: bigint;
66
+ unshield: bigint;
67
+ chainID: bigint;
68
+ adaptContract: `0x${string}`;
69
+ adaptParams: `0x${string}`;
70
+ commitmentCiphertext: CommitmentCiphertext[];
71
+ };
72
+ /**
73
+ * ShieldRequest struct type
74
+ */
75
+ export type ShieldRequest = {
76
+ preimage: CommitmentPreimage;
77
+ ciphertext: ShieldCiphertext;
78
+ };
79
+ /**
80
+ * Transaction struct type
81
+ */
82
+ export type Transaction = {
83
+ proof: SnarkProof;
84
+ merkleRoot: `0x${string}`;
85
+ nullifiers: `0x${string}`[];
86
+ commitments: `0x${string}`[];
87
+ boundParams: BoundParams;
88
+ unshieldPreimage: CommitmentPreimage;
89
+ };
90
+ /**
91
+ * SnarkProof struct type
92
+ */
93
+ export type SnarkProof = {
94
+ a: G1Point;
95
+ b: G2Point;
96
+ c: G1Point;
97
+ };
98
+ /**
99
+ * RailgunSmartWallet_json ABI
100
+ *
101
+ * This ABI is typed using viem's type system for full type safety.
102
+ */
103
+ export declare const RailgunSmartWallet_jsonAbi: readonly [{
104
+ readonly anonymous: false;
105
+ readonly inputs: readonly [{
106
+ readonly indexed: true;
107
+ readonly internalType: "address";
108
+ readonly name: "token";
109
+ readonly type: "address";
110
+ }];
111
+ readonly name: "AddToBlocklist";
112
+ readonly type: "event";
113
+ }, {
114
+ readonly anonymous: false;
115
+ readonly inputs: readonly [{
116
+ readonly indexed: false;
117
+ readonly internalType: "uint256";
118
+ readonly name: "shieldFee";
119
+ readonly type: "uint256";
120
+ }, {
121
+ readonly indexed: false;
122
+ readonly internalType: "uint256";
123
+ readonly name: "unshieldFee";
124
+ readonly type: "uint256";
125
+ }, {
126
+ readonly indexed: false;
127
+ readonly internalType: "uint256";
128
+ readonly name: "nftFee";
129
+ readonly type: "uint256";
130
+ }];
131
+ readonly name: "FeeChange";
132
+ readonly type: "event";
133
+ }, {
134
+ readonly anonymous: false;
135
+ readonly inputs: readonly [{
136
+ readonly indexed: false;
137
+ readonly internalType: "uint8";
138
+ readonly name: "version";
139
+ readonly type: "uint8";
140
+ }];
141
+ readonly name: "Initialized";
142
+ readonly type: "event";
143
+ }, {
144
+ readonly anonymous: false;
145
+ readonly inputs: readonly [{
146
+ readonly indexed: false;
147
+ readonly internalType: "uint16";
148
+ readonly name: "treeNumber";
149
+ readonly type: "uint16";
150
+ }, {
151
+ readonly indexed: false;
152
+ readonly internalType: "bytes32[]";
153
+ readonly name: "nullifier";
154
+ readonly type: "bytes32[]";
155
+ }];
156
+ readonly name: "Nullified";
157
+ readonly type: "event";
158
+ }, {
159
+ readonly anonymous: false;
160
+ readonly inputs: readonly [{
161
+ readonly indexed: true;
162
+ readonly internalType: "address";
163
+ readonly name: "previousOwner";
164
+ readonly type: "address";
165
+ }, {
166
+ readonly indexed: true;
167
+ readonly internalType: "address";
168
+ readonly name: "newOwner";
169
+ readonly type: "address";
170
+ }];
171
+ readonly name: "OwnershipTransferred";
172
+ readonly type: "event";
173
+ }, {
174
+ readonly anonymous: false;
175
+ readonly inputs: readonly [{
176
+ readonly indexed: true;
177
+ readonly internalType: "address";
178
+ readonly name: "token";
179
+ readonly type: "address";
180
+ }];
181
+ readonly name: "RemoveFromBlocklist";
182
+ readonly type: "event";
183
+ }, {
184
+ readonly anonymous: false;
185
+ readonly inputs: readonly [{
186
+ readonly indexed: false;
187
+ readonly internalType: "uint256";
188
+ readonly name: "treeNumber";
189
+ readonly type: "uint256";
190
+ }, {
191
+ readonly indexed: false;
192
+ readonly internalType: "uint256";
193
+ readonly name: "startPosition";
194
+ readonly type: "uint256";
195
+ }, {
196
+ readonly components: readonly [{
197
+ readonly internalType: "bytes32";
198
+ readonly name: "npk";
199
+ readonly type: "bytes32";
200
+ }, {
201
+ readonly components: readonly [{
202
+ readonly internalType: "enum TokenType";
203
+ readonly name: "tokenType";
204
+ readonly type: "uint8";
205
+ }, {
206
+ readonly internalType: "address";
207
+ readonly name: "tokenAddress";
208
+ readonly type: "address";
209
+ }, {
210
+ readonly internalType: "uint256";
211
+ readonly name: "tokenSubID";
212
+ readonly type: "uint256";
213
+ }];
214
+ readonly internalType: "struct TokenData";
215
+ readonly name: "token";
216
+ readonly type: "tuple";
217
+ }, {
218
+ readonly internalType: "uint120";
219
+ readonly name: "value";
220
+ readonly type: "uint120";
221
+ }];
222
+ readonly indexed: false;
223
+ readonly internalType: "struct CommitmentPreimage[]";
224
+ readonly name: "commitments";
225
+ readonly type: "tuple[]";
226
+ }, {
227
+ readonly components: readonly [{
228
+ readonly internalType: "bytes32[3]";
229
+ readonly name: "encryptedBundle";
230
+ readonly type: "bytes32[3]";
231
+ }, {
232
+ readonly internalType: "bytes32";
233
+ readonly name: "shieldKey";
234
+ readonly type: "bytes32";
235
+ }];
236
+ readonly indexed: false;
237
+ readonly internalType: "struct ShieldCiphertext[]";
238
+ readonly name: "shieldCiphertext";
239
+ readonly type: "tuple[]";
240
+ }, {
241
+ readonly indexed: false;
242
+ readonly internalType: "uint256[]";
243
+ readonly name: "fees";
244
+ readonly type: "uint256[]";
245
+ }];
246
+ readonly name: "Shield";
247
+ readonly type: "event";
248
+ }, {
249
+ readonly anonymous: false;
250
+ readonly inputs: readonly [{
251
+ readonly indexed: false;
252
+ readonly internalType: "uint256";
253
+ readonly name: "treeNumber";
254
+ readonly type: "uint256";
255
+ }, {
256
+ readonly indexed: false;
257
+ readonly internalType: "uint256";
258
+ readonly name: "startPosition";
259
+ readonly type: "uint256";
260
+ }, {
261
+ readonly indexed: false;
262
+ readonly internalType: "bytes32[]";
263
+ readonly name: "hash";
264
+ readonly type: "bytes32[]";
265
+ }, {
266
+ readonly components: readonly [{
267
+ readonly internalType: "bytes32[4]";
268
+ readonly name: "ciphertext";
269
+ readonly type: "bytes32[4]";
270
+ }, {
271
+ readonly internalType: "bytes32";
272
+ readonly name: "blindedSenderViewingKey";
273
+ readonly type: "bytes32";
274
+ }, {
275
+ readonly internalType: "bytes32";
276
+ readonly name: "blindedReceiverViewingKey";
277
+ readonly type: "bytes32";
278
+ }, {
279
+ readonly internalType: "bytes";
280
+ readonly name: "annotationData";
281
+ readonly type: "bytes";
282
+ }, {
283
+ readonly internalType: "bytes";
284
+ readonly name: "memo";
285
+ readonly type: "bytes";
286
+ }];
287
+ readonly indexed: false;
288
+ readonly internalType: "struct CommitmentCiphertext[]";
289
+ readonly name: "ciphertext";
290
+ readonly type: "tuple[]";
291
+ }];
292
+ readonly name: "Transact";
293
+ readonly type: "event";
294
+ }, {
295
+ readonly anonymous: false;
296
+ readonly inputs: readonly [{
297
+ readonly indexed: false;
298
+ readonly internalType: "address";
299
+ readonly name: "treasury";
300
+ readonly type: "address";
301
+ }];
302
+ readonly name: "TreasuryChange";
303
+ readonly type: "event";
304
+ }, {
305
+ readonly anonymous: false;
306
+ readonly inputs: readonly [{
307
+ readonly indexed: false;
308
+ readonly internalType: "address";
309
+ readonly name: "to";
310
+ readonly type: "address";
311
+ }, {
312
+ readonly components: readonly [{
313
+ readonly internalType: "enum TokenType";
314
+ readonly name: "tokenType";
315
+ readonly type: "uint8";
316
+ }, {
317
+ readonly internalType: "address";
318
+ readonly name: "tokenAddress";
319
+ readonly type: "address";
320
+ }, {
321
+ readonly internalType: "uint256";
322
+ readonly name: "tokenSubID";
323
+ readonly type: "uint256";
324
+ }];
325
+ readonly indexed: false;
326
+ readonly internalType: "struct TokenData";
327
+ readonly name: "token";
328
+ readonly type: "tuple";
329
+ }, {
330
+ readonly indexed: false;
331
+ readonly internalType: "uint256";
332
+ readonly name: "amount";
333
+ readonly type: "uint256";
334
+ }, {
335
+ readonly indexed: false;
336
+ readonly internalType: "uint256";
337
+ readonly name: "fee";
338
+ readonly type: "uint256";
339
+ }];
340
+ readonly name: "Unshield";
341
+ readonly type: "event";
342
+ }, {
343
+ readonly anonymous: false;
344
+ readonly inputs: readonly [{
345
+ readonly indexed: false;
346
+ readonly internalType: "uint256";
347
+ readonly name: "nullifiers";
348
+ readonly type: "uint256";
349
+ }, {
350
+ readonly indexed: false;
351
+ readonly internalType: "uint256";
352
+ readonly name: "commitments";
353
+ readonly type: "uint256";
354
+ }, {
355
+ readonly components: readonly [{
356
+ readonly internalType: "string";
357
+ readonly name: "artifactsIPFSHash";
358
+ readonly type: "string";
359
+ }, {
360
+ readonly components: readonly [{
361
+ readonly internalType: "uint256";
362
+ readonly name: "x";
363
+ readonly type: "uint256";
364
+ }, {
365
+ readonly internalType: "uint256";
366
+ readonly name: "y";
367
+ readonly type: "uint256";
368
+ }];
369
+ readonly internalType: "struct G1Point";
370
+ readonly name: "alpha1";
371
+ readonly type: "tuple";
372
+ }, {
373
+ readonly components: readonly [{
374
+ readonly internalType: "uint256[2]";
375
+ readonly name: "x";
376
+ readonly type: "uint256[2]";
377
+ }, {
378
+ readonly internalType: "uint256[2]";
379
+ readonly name: "y";
380
+ readonly type: "uint256[2]";
381
+ }];
382
+ readonly internalType: "struct G2Point";
383
+ readonly name: "beta2";
384
+ readonly type: "tuple";
385
+ }, {
386
+ readonly components: readonly [{
387
+ readonly internalType: "uint256[2]";
388
+ readonly name: "x";
389
+ readonly type: "uint256[2]";
390
+ }, {
391
+ readonly internalType: "uint256[2]";
392
+ readonly name: "y";
393
+ readonly type: "uint256[2]";
394
+ }];
395
+ readonly internalType: "struct G2Point";
396
+ readonly name: "gamma2";
397
+ readonly type: "tuple";
398
+ }, {
399
+ readonly components: readonly [{
400
+ readonly internalType: "uint256[2]";
401
+ readonly name: "x";
402
+ readonly type: "uint256[2]";
403
+ }, {
404
+ readonly internalType: "uint256[2]";
405
+ readonly name: "y";
406
+ readonly type: "uint256[2]";
407
+ }];
408
+ readonly internalType: "struct G2Point";
409
+ readonly name: "delta2";
410
+ readonly type: "tuple";
411
+ }, {
412
+ readonly components: readonly [{
413
+ readonly internalType: "uint256";
414
+ readonly name: "x";
415
+ readonly type: "uint256";
416
+ }, {
417
+ readonly internalType: "uint256";
418
+ readonly name: "y";
419
+ readonly type: "uint256";
420
+ }];
421
+ readonly internalType: "struct G1Point[]";
422
+ readonly name: "ic";
423
+ readonly type: "tuple[]";
424
+ }];
425
+ readonly indexed: false;
426
+ readonly internalType: "struct VerifyingKey";
427
+ readonly name: "verifyingKey";
428
+ readonly type: "tuple";
429
+ }];
430
+ readonly name: "VerifyingKeySet";
431
+ readonly type: "event";
432
+ }, {
433
+ readonly inputs: readonly [];
434
+ readonly name: "ZERO_VALUE";
435
+ readonly outputs: readonly [{
436
+ readonly internalType: "bytes32";
437
+ readonly name: "";
438
+ readonly type: "bytes32";
439
+ }];
440
+ readonly stateMutability: "view";
441
+ readonly type: "function";
442
+ }, {
443
+ readonly inputs: readonly [{
444
+ readonly internalType: "address[]";
445
+ readonly name: "_tokens";
446
+ readonly type: "address[]";
447
+ }];
448
+ readonly name: "addToBlocklist";
449
+ readonly outputs: readonly [];
450
+ readonly stateMutability: "nonpayable";
451
+ readonly type: "function";
452
+ }, {
453
+ readonly inputs: readonly [{
454
+ readonly internalType: "uint256";
455
+ readonly name: "vector";
456
+ readonly type: "uint256";
457
+ }];
458
+ readonly name: "addVector";
459
+ readonly outputs: readonly [];
460
+ readonly stateMutability: "nonpayable";
461
+ readonly type: "function";
462
+ }, {
463
+ readonly inputs: readonly [{
464
+ readonly internalType: "uint120";
465
+ readonly name: "_shieldFee";
466
+ readonly type: "uint120";
467
+ }, {
468
+ readonly internalType: "uint120";
469
+ readonly name: "_unshieldFee";
470
+ readonly type: "uint120";
471
+ }, {
472
+ readonly internalType: "uint256";
473
+ readonly name: "_nftFee";
474
+ readonly type: "uint256";
475
+ }];
476
+ readonly name: "changeFee";
477
+ readonly outputs: readonly [];
478
+ readonly stateMutability: "nonpayable";
479
+ readonly type: "function";
480
+ }, {
481
+ readonly inputs: readonly [{
482
+ readonly internalType: "address payable";
483
+ readonly name: "_treasury";
484
+ readonly type: "address";
485
+ }];
486
+ readonly name: "changeTreasury";
487
+ readonly outputs: readonly [];
488
+ readonly stateMutability: "nonpayable";
489
+ readonly type: "function";
490
+ }, {
491
+ readonly inputs: readonly [];
492
+ readonly name: "checkSafetyVectors";
493
+ readonly outputs: readonly [];
494
+ readonly stateMutability: "nonpayable";
495
+ readonly type: "function";
496
+ }, {
497
+ readonly inputs: readonly [{
498
+ readonly internalType: "uint136";
499
+ readonly name: "_amount";
500
+ readonly type: "uint136";
501
+ }, {
502
+ readonly internalType: "bool";
503
+ readonly name: "_isInclusive";
504
+ readonly type: "bool";
505
+ }, {
506
+ readonly internalType: "uint120";
507
+ readonly name: "_feeBP";
508
+ readonly type: "uint120";
509
+ }];
510
+ readonly name: "getFee";
511
+ readonly outputs: readonly [{
512
+ readonly internalType: "uint120";
513
+ readonly name: "";
514
+ readonly type: "uint120";
515
+ }, {
516
+ readonly internalType: "uint120";
517
+ readonly name: "";
518
+ readonly type: "uint120";
519
+ }];
520
+ readonly stateMutability: "pure";
521
+ readonly type: "function";
522
+ }, {
523
+ readonly inputs: readonly [{
524
+ readonly internalType: "uint256";
525
+ readonly name: "_newCommitments";
526
+ readonly type: "uint256";
527
+ }];
528
+ readonly name: "getInsertionTreeNumberAndStartingIndex";
529
+ readonly outputs: readonly [{
530
+ readonly internalType: "uint256";
531
+ readonly name: "";
532
+ readonly type: "uint256";
533
+ }, {
534
+ readonly internalType: "uint256";
535
+ readonly name: "";
536
+ readonly type: "uint256";
537
+ }];
538
+ readonly stateMutability: "view";
539
+ readonly type: "function";
540
+ }, {
541
+ readonly inputs: readonly [{
542
+ readonly components: readonly [{
543
+ readonly internalType: "enum TokenType";
544
+ readonly name: "tokenType";
545
+ readonly type: "uint8";
546
+ }, {
547
+ readonly internalType: "address";
548
+ readonly name: "tokenAddress";
549
+ readonly type: "address";
550
+ }, {
551
+ readonly internalType: "uint256";
552
+ readonly name: "tokenSubID";
553
+ readonly type: "uint256";
554
+ }];
555
+ readonly internalType: "struct TokenData";
556
+ readonly name: "_tokenData";
557
+ readonly type: "tuple";
558
+ }];
559
+ readonly name: "getTokenID";
560
+ readonly outputs: readonly [{
561
+ readonly internalType: "bytes32";
562
+ readonly name: "";
563
+ readonly type: "bytes32";
564
+ }];
565
+ readonly stateMutability: "pure";
566
+ readonly type: "function";
567
+ }, {
568
+ readonly inputs: readonly [{
569
+ readonly internalType: "uint256";
570
+ readonly name: "_nullifiers";
571
+ readonly type: "uint256";
572
+ }, {
573
+ readonly internalType: "uint256";
574
+ readonly name: "_commitments";
575
+ readonly type: "uint256";
576
+ }];
577
+ readonly name: "getVerificationKey";
578
+ readonly outputs: readonly [{
579
+ readonly components: readonly [{
580
+ readonly internalType: "string";
581
+ readonly name: "artifactsIPFSHash";
582
+ readonly type: "string";
583
+ }, {
584
+ readonly components: readonly [{
585
+ readonly internalType: "uint256";
586
+ readonly name: "x";
587
+ readonly type: "uint256";
588
+ }, {
589
+ readonly internalType: "uint256";
590
+ readonly name: "y";
591
+ readonly type: "uint256";
592
+ }];
593
+ readonly internalType: "struct G1Point";
594
+ readonly name: "alpha1";
595
+ readonly type: "tuple";
596
+ }, {
597
+ readonly components: readonly [{
598
+ readonly internalType: "uint256[2]";
599
+ readonly name: "x";
600
+ readonly type: "uint256[2]";
601
+ }, {
602
+ readonly internalType: "uint256[2]";
603
+ readonly name: "y";
604
+ readonly type: "uint256[2]";
605
+ }];
606
+ readonly internalType: "struct G2Point";
607
+ readonly name: "beta2";
608
+ readonly type: "tuple";
609
+ }, {
610
+ readonly components: readonly [{
611
+ readonly internalType: "uint256[2]";
612
+ readonly name: "x";
613
+ readonly type: "uint256[2]";
614
+ }, {
615
+ readonly internalType: "uint256[2]";
616
+ readonly name: "y";
617
+ readonly type: "uint256[2]";
618
+ }];
619
+ readonly internalType: "struct G2Point";
620
+ readonly name: "gamma2";
621
+ readonly type: "tuple";
622
+ }, {
623
+ readonly components: readonly [{
624
+ readonly internalType: "uint256[2]";
625
+ readonly name: "x";
626
+ readonly type: "uint256[2]";
627
+ }, {
628
+ readonly internalType: "uint256[2]";
629
+ readonly name: "y";
630
+ readonly type: "uint256[2]";
631
+ }];
632
+ readonly internalType: "struct G2Point";
633
+ readonly name: "delta2";
634
+ readonly type: "tuple";
635
+ }, {
636
+ readonly components: readonly [{
637
+ readonly internalType: "uint256";
638
+ readonly name: "x";
639
+ readonly type: "uint256";
640
+ }, {
641
+ readonly internalType: "uint256";
642
+ readonly name: "y";
643
+ readonly type: "uint256";
644
+ }];
645
+ readonly internalType: "struct G1Point[]";
646
+ readonly name: "ic";
647
+ readonly type: "tuple[]";
648
+ }];
649
+ readonly internalType: "struct VerifyingKey";
650
+ readonly name: "";
651
+ readonly type: "tuple";
652
+ }];
653
+ readonly stateMutability: "view";
654
+ readonly type: "function";
655
+ }, {
656
+ readonly inputs: readonly [{
657
+ readonly components: readonly [{
658
+ readonly internalType: "uint16";
659
+ readonly name: "treeNumber";
660
+ readonly type: "uint16";
661
+ }, {
662
+ readonly internalType: "uint72";
663
+ readonly name: "minGasPrice";
664
+ readonly type: "uint72";
665
+ }, {
666
+ readonly internalType: "enum UnshieldType";
667
+ readonly name: "unshield";
668
+ readonly type: "uint8";
669
+ }, {
670
+ readonly internalType: "uint64";
671
+ readonly name: "chainID";
672
+ readonly type: "uint64";
673
+ }, {
674
+ readonly internalType: "address";
675
+ readonly name: "adaptContract";
676
+ readonly type: "address";
677
+ }, {
678
+ readonly internalType: "bytes32";
679
+ readonly name: "adaptParams";
680
+ readonly type: "bytes32";
681
+ }, {
682
+ readonly components: readonly [{
683
+ readonly internalType: "bytes32[4]";
684
+ readonly name: "ciphertext";
685
+ readonly type: "bytes32[4]";
686
+ }, {
687
+ readonly internalType: "bytes32";
688
+ readonly name: "blindedSenderViewingKey";
689
+ readonly type: "bytes32";
690
+ }, {
691
+ readonly internalType: "bytes32";
692
+ readonly name: "blindedReceiverViewingKey";
693
+ readonly type: "bytes32";
694
+ }, {
695
+ readonly internalType: "bytes";
696
+ readonly name: "annotationData";
697
+ readonly type: "bytes";
698
+ }, {
699
+ readonly internalType: "bytes";
700
+ readonly name: "memo";
701
+ readonly type: "bytes";
702
+ }];
703
+ readonly internalType: "struct CommitmentCiphertext[]";
704
+ readonly name: "commitmentCiphertext";
705
+ readonly type: "tuple[]";
706
+ }];
707
+ readonly internalType: "struct BoundParams";
708
+ readonly name: "_boundParams";
709
+ readonly type: "tuple";
710
+ }];
711
+ readonly name: "hashBoundParams";
712
+ readonly outputs: readonly [{
713
+ readonly internalType: "uint256";
714
+ readonly name: "";
715
+ readonly type: "uint256";
716
+ }];
717
+ readonly stateMutability: "pure";
718
+ readonly type: "function";
719
+ }, {
720
+ readonly inputs: readonly [{
721
+ readonly components: readonly [{
722
+ readonly internalType: "bytes32";
723
+ readonly name: "npk";
724
+ readonly type: "bytes32";
725
+ }, {
726
+ readonly components: readonly [{
727
+ readonly internalType: "enum TokenType";
728
+ readonly name: "tokenType";
729
+ readonly type: "uint8";
730
+ }, {
731
+ readonly internalType: "address";
732
+ readonly name: "tokenAddress";
733
+ readonly type: "address";
734
+ }, {
735
+ readonly internalType: "uint256";
736
+ readonly name: "tokenSubID";
737
+ readonly type: "uint256";
738
+ }];
739
+ readonly internalType: "struct TokenData";
740
+ readonly name: "token";
741
+ readonly type: "tuple";
742
+ }, {
743
+ readonly internalType: "uint120";
744
+ readonly name: "value";
745
+ readonly type: "uint120";
746
+ }];
747
+ readonly internalType: "struct CommitmentPreimage";
748
+ readonly name: "_commitmentPreimage";
749
+ readonly type: "tuple";
750
+ }];
751
+ readonly name: "hashCommitment";
752
+ readonly outputs: readonly [{
753
+ readonly internalType: "bytes32";
754
+ readonly name: "";
755
+ readonly type: "bytes32";
756
+ }];
757
+ readonly stateMutability: "pure";
758
+ readonly type: "function";
759
+ }, {
760
+ readonly inputs: readonly [{
761
+ readonly internalType: "bytes32";
762
+ readonly name: "_left";
763
+ readonly type: "bytes32";
764
+ }, {
765
+ readonly internalType: "bytes32";
766
+ readonly name: "_right";
767
+ readonly type: "bytes32";
768
+ }];
769
+ readonly name: "hashLeftRight";
770
+ readonly outputs: readonly [{
771
+ readonly internalType: "bytes32";
772
+ readonly name: "";
773
+ readonly type: "bytes32";
774
+ }];
775
+ readonly stateMutability: "pure";
776
+ readonly type: "function";
777
+ }, {
778
+ readonly inputs: readonly [{
779
+ readonly internalType: "address payable";
780
+ readonly name: "_treasury";
781
+ readonly type: "address";
782
+ }, {
783
+ readonly internalType: "uint120";
784
+ readonly name: "_shieldFee";
785
+ readonly type: "uint120";
786
+ }, {
787
+ readonly internalType: "uint120";
788
+ readonly name: "_unshieldFee";
789
+ readonly type: "uint120";
790
+ }, {
791
+ readonly internalType: "uint256";
792
+ readonly name: "_nftFee";
793
+ readonly type: "uint256";
794
+ }, {
795
+ readonly internalType: "address";
796
+ readonly name: "_owner";
797
+ readonly type: "address";
798
+ }];
799
+ readonly name: "initializeRailgunLogic";
800
+ readonly outputs: readonly [];
801
+ readonly stateMutability: "nonpayable";
802
+ readonly type: "function";
803
+ }, {
804
+ readonly inputs: readonly [];
805
+ readonly name: "lastEventBlock";
806
+ readonly outputs: readonly [{
807
+ readonly internalType: "uint256";
808
+ readonly name: "";
809
+ readonly type: "uint256";
810
+ }];
811
+ readonly stateMutability: "view";
812
+ readonly type: "function";
813
+ }, {
814
+ readonly inputs: readonly [];
815
+ readonly name: "merkleRoot";
816
+ readonly outputs: readonly [{
817
+ readonly internalType: "bytes32";
818
+ readonly name: "";
819
+ readonly type: "bytes32";
820
+ }];
821
+ readonly stateMutability: "view";
822
+ readonly type: "function";
823
+ }, {
824
+ readonly inputs: readonly [];
825
+ readonly name: "nextLeafIndex";
826
+ readonly outputs: readonly [{
827
+ readonly internalType: "uint256";
828
+ readonly name: "";
829
+ readonly type: "uint256";
830
+ }];
831
+ readonly stateMutability: "view";
832
+ readonly type: "function";
833
+ }, {
834
+ readonly inputs: readonly [];
835
+ readonly name: "nftFee";
836
+ readonly outputs: readonly [{
837
+ readonly internalType: "uint256";
838
+ readonly name: "";
839
+ readonly type: "uint256";
840
+ }];
841
+ readonly stateMutability: "view";
842
+ readonly type: "function";
843
+ }, {
844
+ readonly inputs: readonly [{
845
+ readonly internalType: "uint256";
846
+ readonly name: "";
847
+ readonly type: "uint256";
848
+ }, {
849
+ readonly internalType: "bytes32";
850
+ readonly name: "";
851
+ readonly type: "bytes32";
852
+ }];
853
+ readonly name: "nullifiers";
854
+ readonly outputs: readonly [{
855
+ readonly internalType: "bool";
856
+ readonly name: "";
857
+ readonly type: "bool";
858
+ }];
859
+ readonly stateMutability: "view";
860
+ readonly type: "function";
861
+ }, {
862
+ readonly inputs: readonly [];
863
+ readonly name: "owner";
864
+ readonly outputs: readonly [{
865
+ readonly internalType: "address";
866
+ readonly name: "";
867
+ readonly type: "address";
868
+ }];
869
+ readonly stateMutability: "view";
870
+ readonly type: "function";
871
+ }, {
872
+ readonly inputs: readonly [{
873
+ readonly internalType: "address[]";
874
+ readonly name: "_tokens";
875
+ readonly type: "address[]";
876
+ }];
877
+ readonly name: "removeFromBlocklist";
878
+ readonly outputs: readonly [];
879
+ readonly stateMutability: "nonpayable";
880
+ readonly type: "function";
881
+ }, {
882
+ readonly inputs: readonly [{
883
+ readonly internalType: "uint256";
884
+ readonly name: "vector";
885
+ readonly type: "uint256";
886
+ }];
887
+ readonly name: "removeVector";
888
+ readonly outputs: readonly [];
889
+ readonly stateMutability: "nonpayable";
890
+ readonly type: "function";
891
+ }, {
892
+ readonly inputs: readonly [];
893
+ readonly name: "renounceOwnership";
894
+ readonly outputs: readonly [];
895
+ readonly stateMutability: "nonpayable";
896
+ readonly type: "function";
897
+ }, {
898
+ readonly inputs: readonly [{
899
+ readonly internalType: "uint256";
900
+ readonly name: "";
901
+ readonly type: "uint256";
902
+ }, {
903
+ readonly internalType: "bytes32";
904
+ readonly name: "";
905
+ readonly type: "bytes32";
906
+ }];
907
+ readonly name: "rootHistory";
908
+ readonly outputs: readonly [{
909
+ readonly internalType: "bool";
910
+ readonly name: "";
911
+ readonly type: "bool";
912
+ }];
913
+ readonly stateMutability: "view";
914
+ readonly type: "function";
915
+ }, {
916
+ readonly inputs: readonly [{
917
+ readonly internalType: "uint256";
918
+ readonly name: "_nullifiers";
919
+ readonly type: "uint256";
920
+ }, {
921
+ readonly internalType: "uint256";
922
+ readonly name: "_commitments";
923
+ readonly type: "uint256";
924
+ }, {
925
+ readonly components: readonly [{
926
+ readonly internalType: "string";
927
+ readonly name: "artifactsIPFSHash";
928
+ readonly type: "string";
929
+ }, {
930
+ readonly components: readonly [{
931
+ readonly internalType: "uint256";
932
+ readonly name: "x";
933
+ readonly type: "uint256";
934
+ }, {
935
+ readonly internalType: "uint256";
936
+ readonly name: "y";
937
+ readonly type: "uint256";
938
+ }];
939
+ readonly internalType: "struct G1Point";
940
+ readonly name: "alpha1";
941
+ readonly type: "tuple";
942
+ }, {
943
+ readonly components: readonly [{
944
+ readonly internalType: "uint256[2]";
945
+ readonly name: "x";
946
+ readonly type: "uint256[2]";
947
+ }, {
948
+ readonly internalType: "uint256[2]";
949
+ readonly name: "y";
950
+ readonly type: "uint256[2]";
951
+ }];
952
+ readonly internalType: "struct G2Point";
953
+ readonly name: "beta2";
954
+ readonly type: "tuple";
955
+ }, {
956
+ readonly components: readonly [{
957
+ readonly internalType: "uint256[2]";
958
+ readonly name: "x";
959
+ readonly type: "uint256[2]";
960
+ }, {
961
+ readonly internalType: "uint256[2]";
962
+ readonly name: "y";
963
+ readonly type: "uint256[2]";
964
+ }];
965
+ readonly internalType: "struct G2Point";
966
+ readonly name: "gamma2";
967
+ readonly type: "tuple";
968
+ }, {
969
+ readonly components: readonly [{
970
+ readonly internalType: "uint256[2]";
971
+ readonly name: "x";
972
+ readonly type: "uint256[2]";
973
+ }, {
974
+ readonly internalType: "uint256[2]";
975
+ readonly name: "y";
976
+ readonly type: "uint256[2]";
977
+ }];
978
+ readonly internalType: "struct G2Point";
979
+ readonly name: "delta2";
980
+ readonly type: "tuple";
981
+ }, {
982
+ readonly components: readonly [{
983
+ readonly internalType: "uint256";
984
+ readonly name: "x";
985
+ readonly type: "uint256";
986
+ }, {
987
+ readonly internalType: "uint256";
988
+ readonly name: "y";
989
+ readonly type: "uint256";
990
+ }];
991
+ readonly internalType: "struct G1Point[]";
992
+ readonly name: "ic";
993
+ readonly type: "tuple[]";
994
+ }];
995
+ readonly internalType: "struct VerifyingKey";
996
+ readonly name: "_verifyingKey";
997
+ readonly type: "tuple";
998
+ }];
999
+ readonly name: "setVerificationKey";
1000
+ readonly outputs: readonly [];
1001
+ readonly stateMutability: "nonpayable";
1002
+ readonly type: "function";
1003
+ }, {
1004
+ readonly inputs: readonly [{
1005
+ readonly components: readonly [{
1006
+ readonly components: readonly [{
1007
+ readonly internalType: "bytes32";
1008
+ readonly name: "npk";
1009
+ readonly type: "bytes32";
1010
+ }, {
1011
+ readonly components: readonly [{
1012
+ readonly internalType: "enum TokenType";
1013
+ readonly name: "tokenType";
1014
+ readonly type: "uint8";
1015
+ }, {
1016
+ readonly internalType: "address";
1017
+ readonly name: "tokenAddress";
1018
+ readonly type: "address";
1019
+ }, {
1020
+ readonly internalType: "uint256";
1021
+ readonly name: "tokenSubID";
1022
+ readonly type: "uint256";
1023
+ }];
1024
+ readonly internalType: "struct TokenData";
1025
+ readonly name: "token";
1026
+ readonly type: "tuple";
1027
+ }, {
1028
+ readonly internalType: "uint120";
1029
+ readonly name: "value";
1030
+ readonly type: "uint120";
1031
+ }];
1032
+ readonly internalType: "struct CommitmentPreimage";
1033
+ readonly name: "preimage";
1034
+ readonly type: "tuple";
1035
+ }, {
1036
+ readonly components: readonly [{
1037
+ readonly internalType: "bytes32[3]";
1038
+ readonly name: "encryptedBundle";
1039
+ readonly type: "bytes32[3]";
1040
+ }, {
1041
+ readonly internalType: "bytes32";
1042
+ readonly name: "shieldKey";
1043
+ readonly type: "bytes32";
1044
+ }];
1045
+ readonly internalType: "struct ShieldCiphertext";
1046
+ readonly name: "ciphertext";
1047
+ readonly type: "tuple";
1048
+ }];
1049
+ readonly internalType: "struct ShieldRequest[]";
1050
+ readonly name: "_shieldRequests";
1051
+ readonly type: "tuple[]";
1052
+ }];
1053
+ readonly name: "shield";
1054
+ readonly outputs: readonly [];
1055
+ readonly stateMutability: "nonpayable";
1056
+ readonly type: "function";
1057
+ }, {
1058
+ readonly inputs: readonly [];
1059
+ readonly name: "shieldFee";
1060
+ readonly outputs: readonly [{
1061
+ readonly internalType: "uint120";
1062
+ readonly name: "";
1063
+ readonly type: "uint120";
1064
+ }];
1065
+ readonly stateMutability: "view";
1066
+ readonly type: "function";
1067
+ }, {
1068
+ readonly inputs: readonly [{
1069
+ readonly internalType: "uint256";
1070
+ readonly name: "";
1071
+ readonly type: "uint256";
1072
+ }];
1073
+ readonly name: "snarkSafetyVector";
1074
+ readonly outputs: readonly [{
1075
+ readonly internalType: "bool";
1076
+ readonly name: "";
1077
+ readonly type: "bool";
1078
+ }];
1079
+ readonly stateMutability: "view";
1080
+ readonly type: "function";
1081
+ }, {
1082
+ readonly inputs: readonly [{
1083
+ readonly components: readonly [{
1084
+ readonly components: readonly [{
1085
+ readonly components: readonly [{
1086
+ readonly internalType: "uint256";
1087
+ readonly name: "x";
1088
+ readonly type: "uint256";
1089
+ }, {
1090
+ readonly internalType: "uint256";
1091
+ readonly name: "y";
1092
+ readonly type: "uint256";
1093
+ }];
1094
+ readonly internalType: "struct G1Point";
1095
+ readonly name: "a";
1096
+ readonly type: "tuple";
1097
+ }, {
1098
+ readonly components: readonly [{
1099
+ readonly internalType: "uint256[2]";
1100
+ readonly name: "x";
1101
+ readonly type: "uint256[2]";
1102
+ }, {
1103
+ readonly internalType: "uint256[2]";
1104
+ readonly name: "y";
1105
+ readonly type: "uint256[2]";
1106
+ }];
1107
+ readonly internalType: "struct G2Point";
1108
+ readonly name: "b";
1109
+ readonly type: "tuple";
1110
+ }, {
1111
+ readonly components: readonly [{
1112
+ readonly internalType: "uint256";
1113
+ readonly name: "x";
1114
+ readonly type: "uint256";
1115
+ }, {
1116
+ readonly internalType: "uint256";
1117
+ readonly name: "y";
1118
+ readonly type: "uint256";
1119
+ }];
1120
+ readonly internalType: "struct G1Point";
1121
+ readonly name: "c";
1122
+ readonly type: "tuple";
1123
+ }];
1124
+ readonly internalType: "struct SnarkProof";
1125
+ readonly name: "proof";
1126
+ readonly type: "tuple";
1127
+ }, {
1128
+ readonly internalType: "bytes32";
1129
+ readonly name: "merkleRoot";
1130
+ readonly type: "bytes32";
1131
+ }, {
1132
+ readonly internalType: "bytes32[]";
1133
+ readonly name: "nullifiers";
1134
+ readonly type: "bytes32[]";
1135
+ }, {
1136
+ readonly internalType: "bytes32[]";
1137
+ readonly name: "commitments";
1138
+ readonly type: "bytes32[]";
1139
+ }, {
1140
+ readonly components: readonly [{
1141
+ readonly internalType: "uint16";
1142
+ readonly name: "treeNumber";
1143
+ readonly type: "uint16";
1144
+ }, {
1145
+ readonly internalType: "uint72";
1146
+ readonly name: "minGasPrice";
1147
+ readonly type: "uint72";
1148
+ }, {
1149
+ readonly internalType: "enum UnshieldType";
1150
+ readonly name: "unshield";
1151
+ readonly type: "uint8";
1152
+ }, {
1153
+ readonly internalType: "uint64";
1154
+ readonly name: "chainID";
1155
+ readonly type: "uint64";
1156
+ }, {
1157
+ readonly internalType: "address";
1158
+ readonly name: "adaptContract";
1159
+ readonly type: "address";
1160
+ }, {
1161
+ readonly internalType: "bytes32";
1162
+ readonly name: "adaptParams";
1163
+ readonly type: "bytes32";
1164
+ }, {
1165
+ readonly components: readonly [{
1166
+ readonly internalType: "bytes32[4]";
1167
+ readonly name: "ciphertext";
1168
+ readonly type: "bytes32[4]";
1169
+ }, {
1170
+ readonly internalType: "bytes32";
1171
+ readonly name: "blindedSenderViewingKey";
1172
+ readonly type: "bytes32";
1173
+ }, {
1174
+ readonly internalType: "bytes32";
1175
+ readonly name: "blindedReceiverViewingKey";
1176
+ readonly type: "bytes32";
1177
+ }, {
1178
+ readonly internalType: "bytes";
1179
+ readonly name: "annotationData";
1180
+ readonly type: "bytes";
1181
+ }, {
1182
+ readonly internalType: "bytes";
1183
+ readonly name: "memo";
1184
+ readonly type: "bytes";
1185
+ }];
1186
+ readonly internalType: "struct CommitmentCiphertext[]";
1187
+ readonly name: "commitmentCiphertext";
1188
+ readonly type: "tuple[]";
1189
+ }];
1190
+ readonly internalType: "struct BoundParams";
1191
+ readonly name: "boundParams";
1192
+ readonly type: "tuple";
1193
+ }, {
1194
+ readonly components: readonly [{
1195
+ readonly internalType: "bytes32";
1196
+ readonly name: "npk";
1197
+ readonly type: "bytes32";
1198
+ }, {
1199
+ readonly components: readonly [{
1200
+ readonly internalType: "enum TokenType";
1201
+ readonly name: "tokenType";
1202
+ readonly type: "uint8";
1203
+ }, {
1204
+ readonly internalType: "address";
1205
+ readonly name: "tokenAddress";
1206
+ readonly type: "address";
1207
+ }, {
1208
+ readonly internalType: "uint256";
1209
+ readonly name: "tokenSubID";
1210
+ readonly type: "uint256";
1211
+ }];
1212
+ readonly internalType: "struct TokenData";
1213
+ readonly name: "token";
1214
+ readonly type: "tuple";
1215
+ }, {
1216
+ readonly internalType: "uint120";
1217
+ readonly name: "value";
1218
+ readonly type: "uint120";
1219
+ }];
1220
+ readonly internalType: "struct CommitmentPreimage";
1221
+ readonly name: "unshieldPreimage";
1222
+ readonly type: "tuple";
1223
+ }];
1224
+ readonly internalType: "struct Transaction[]";
1225
+ readonly name: "_transactions";
1226
+ readonly type: "tuple[]";
1227
+ }];
1228
+ readonly name: "sumCommitments";
1229
+ readonly outputs: readonly [{
1230
+ readonly internalType: "uint256";
1231
+ readonly name: "";
1232
+ readonly type: "uint256";
1233
+ }];
1234
+ readonly stateMutability: "pure";
1235
+ readonly type: "function";
1236
+ }, {
1237
+ readonly inputs: readonly [{
1238
+ readonly internalType: "address";
1239
+ readonly name: "";
1240
+ readonly type: "address";
1241
+ }];
1242
+ readonly name: "tokenBlocklist";
1243
+ readonly outputs: readonly [{
1244
+ readonly internalType: "bool";
1245
+ readonly name: "";
1246
+ readonly type: "bool";
1247
+ }];
1248
+ readonly stateMutability: "view";
1249
+ readonly type: "function";
1250
+ }, {
1251
+ readonly inputs: readonly [{
1252
+ readonly internalType: "bytes32";
1253
+ readonly name: "";
1254
+ readonly type: "bytes32";
1255
+ }];
1256
+ readonly name: "tokenIDMapping";
1257
+ readonly outputs: readonly [{
1258
+ readonly internalType: "enum TokenType";
1259
+ readonly name: "tokenType";
1260
+ readonly type: "uint8";
1261
+ }, {
1262
+ readonly internalType: "address";
1263
+ readonly name: "tokenAddress";
1264
+ readonly type: "address";
1265
+ }, {
1266
+ readonly internalType: "uint256";
1267
+ readonly name: "tokenSubID";
1268
+ readonly type: "uint256";
1269
+ }];
1270
+ readonly stateMutability: "view";
1271
+ readonly type: "function";
1272
+ }, {
1273
+ readonly inputs: readonly [{
1274
+ readonly components: readonly [{
1275
+ readonly components: readonly [{
1276
+ readonly components: readonly [{
1277
+ readonly internalType: "uint256";
1278
+ readonly name: "x";
1279
+ readonly type: "uint256";
1280
+ }, {
1281
+ readonly internalType: "uint256";
1282
+ readonly name: "y";
1283
+ readonly type: "uint256";
1284
+ }];
1285
+ readonly internalType: "struct G1Point";
1286
+ readonly name: "a";
1287
+ readonly type: "tuple";
1288
+ }, {
1289
+ readonly components: readonly [{
1290
+ readonly internalType: "uint256[2]";
1291
+ readonly name: "x";
1292
+ readonly type: "uint256[2]";
1293
+ }, {
1294
+ readonly internalType: "uint256[2]";
1295
+ readonly name: "y";
1296
+ readonly type: "uint256[2]";
1297
+ }];
1298
+ readonly internalType: "struct G2Point";
1299
+ readonly name: "b";
1300
+ readonly type: "tuple";
1301
+ }, {
1302
+ readonly components: readonly [{
1303
+ readonly internalType: "uint256";
1304
+ readonly name: "x";
1305
+ readonly type: "uint256";
1306
+ }, {
1307
+ readonly internalType: "uint256";
1308
+ readonly name: "y";
1309
+ readonly type: "uint256";
1310
+ }];
1311
+ readonly internalType: "struct G1Point";
1312
+ readonly name: "c";
1313
+ readonly type: "tuple";
1314
+ }];
1315
+ readonly internalType: "struct SnarkProof";
1316
+ readonly name: "proof";
1317
+ readonly type: "tuple";
1318
+ }, {
1319
+ readonly internalType: "bytes32";
1320
+ readonly name: "merkleRoot";
1321
+ readonly type: "bytes32";
1322
+ }, {
1323
+ readonly internalType: "bytes32[]";
1324
+ readonly name: "nullifiers";
1325
+ readonly type: "bytes32[]";
1326
+ }, {
1327
+ readonly internalType: "bytes32[]";
1328
+ readonly name: "commitments";
1329
+ readonly type: "bytes32[]";
1330
+ }, {
1331
+ readonly components: readonly [{
1332
+ readonly internalType: "uint16";
1333
+ readonly name: "treeNumber";
1334
+ readonly type: "uint16";
1335
+ }, {
1336
+ readonly internalType: "uint72";
1337
+ readonly name: "minGasPrice";
1338
+ readonly type: "uint72";
1339
+ }, {
1340
+ readonly internalType: "enum UnshieldType";
1341
+ readonly name: "unshield";
1342
+ readonly type: "uint8";
1343
+ }, {
1344
+ readonly internalType: "uint64";
1345
+ readonly name: "chainID";
1346
+ readonly type: "uint64";
1347
+ }, {
1348
+ readonly internalType: "address";
1349
+ readonly name: "adaptContract";
1350
+ readonly type: "address";
1351
+ }, {
1352
+ readonly internalType: "bytes32";
1353
+ readonly name: "adaptParams";
1354
+ readonly type: "bytes32";
1355
+ }, {
1356
+ readonly components: readonly [{
1357
+ readonly internalType: "bytes32[4]";
1358
+ readonly name: "ciphertext";
1359
+ readonly type: "bytes32[4]";
1360
+ }, {
1361
+ readonly internalType: "bytes32";
1362
+ readonly name: "blindedSenderViewingKey";
1363
+ readonly type: "bytes32";
1364
+ }, {
1365
+ readonly internalType: "bytes32";
1366
+ readonly name: "blindedReceiverViewingKey";
1367
+ readonly type: "bytes32";
1368
+ }, {
1369
+ readonly internalType: "bytes";
1370
+ readonly name: "annotationData";
1371
+ readonly type: "bytes";
1372
+ }, {
1373
+ readonly internalType: "bytes";
1374
+ readonly name: "memo";
1375
+ readonly type: "bytes";
1376
+ }];
1377
+ readonly internalType: "struct CommitmentCiphertext[]";
1378
+ readonly name: "commitmentCiphertext";
1379
+ readonly type: "tuple[]";
1380
+ }];
1381
+ readonly internalType: "struct BoundParams";
1382
+ readonly name: "boundParams";
1383
+ readonly type: "tuple";
1384
+ }, {
1385
+ readonly components: readonly [{
1386
+ readonly internalType: "bytes32";
1387
+ readonly name: "npk";
1388
+ readonly type: "bytes32";
1389
+ }, {
1390
+ readonly components: readonly [{
1391
+ readonly internalType: "enum TokenType";
1392
+ readonly name: "tokenType";
1393
+ readonly type: "uint8";
1394
+ }, {
1395
+ readonly internalType: "address";
1396
+ readonly name: "tokenAddress";
1397
+ readonly type: "address";
1398
+ }, {
1399
+ readonly internalType: "uint256";
1400
+ readonly name: "tokenSubID";
1401
+ readonly type: "uint256";
1402
+ }];
1403
+ readonly internalType: "struct TokenData";
1404
+ readonly name: "token";
1405
+ readonly type: "tuple";
1406
+ }, {
1407
+ readonly internalType: "uint120";
1408
+ readonly name: "value";
1409
+ readonly type: "uint120";
1410
+ }];
1411
+ readonly internalType: "struct CommitmentPreimage";
1412
+ readonly name: "unshieldPreimage";
1413
+ readonly type: "tuple";
1414
+ }];
1415
+ readonly internalType: "struct Transaction[]";
1416
+ readonly name: "_transactions";
1417
+ readonly type: "tuple[]";
1418
+ }];
1419
+ readonly name: "transact";
1420
+ readonly outputs: readonly [];
1421
+ readonly stateMutability: "nonpayable";
1422
+ readonly type: "function";
1423
+ }, {
1424
+ readonly inputs: readonly [{
1425
+ readonly internalType: "address";
1426
+ readonly name: "newOwner";
1427
+ readonly type: "address";
1428
+ }];
1429
+ readonly name: "transferOwnership";
1430
+ readonly outputs: readonly [];
1431
+ readonly stateMutability: "nonpayable";
1432
+ readonly type: "function";
1433
+ }, {
1434
+ readonly inputs: readonly [];
1435
+ readonly name: "treasury";
1436
+ readonly outputs: readonly [{
1437
+ readonly internalType: "address payable";
1438
+ readonly name: "";
1439
+ readonly type: "address";
1440
+ }];
1441
+ readonly stateMutability: "view";
1442
+ readonly type: "function";
1443
+ }, {
1444
+ readonly inputs: readonly [];
1445
+ readonly name: "treeNumber";
1446
+ readonly outputs: readonly [{
1447
+ readonly internalType: "uint256";
1448
+ readonly name: "";
1449
+ readonly type: "uint256";
1450
+ }];
1451
+ readonly stateMutability: "view";
1452
+ readonly type: "function";
1453
+ }, {
1454
+ readonly inputs: readonly [];
1455
+ readonly name: "unshieldFee";
1456
+ readonly outputs: readonly [{
1457
+ readonly internalType: "uint120";
1458
+ readonly name: "";
1459
+ readonly type: "uint120";
1460
+ }];
1461
+ readonly stateMutability: "view";
1462
+ readonly type: "function";
1463
+ }, {
1464
+ readonly inputs: readonly [{
1465
+ readonly components: readonly [{
1466
+ readonly internalType: "bytes32";
1467
+ readonly name: "npk";
1468
+ readonly type: "bytes32";
1469
+ }, {
1470
+ readonly components: readonly [{
1471
+ readonly internalType: "enum TokenType";
1472
+ readonly name: "tokenType";
1473
+ readonly type: "uint8";
1474
+ }, {
1475
+ readonly internalType: "address";
1476
+ readonly name: "tokenAddress";
1477
+ readonly type: "address";
1478
+ }, {
1479
+ readonly internalType: "uint256";
1480
+ readonly name: "tokenSubID";
1481
+ readonly type: "uint256";
1482
+ }];
1483
+ readonly internalType: "struct TokenData";
1484
+ readonly name: "token";
1485
+ readonly type: "tuple";
1486
+ }, {
1487
+ readonly internalType: "uint120";
1488
+ readonly name: "value";
1489
+ readonly type: "uint120";
1490
+ }];
1491
+ readonly internalType: "struct CommitmentPreimage";
1492
+ readonly name: "_note";
1493
+ readonly type: "tuple";
1494
+ }];
1495
+ readonly name: "validateCommitmentPreimage";
1496
+ readonly outputs: readonly [{
1497
+ readonly internalType: "bool";
1498
+ readonly name: "";
1499
+ readonly type: "bool";
1500
+ }, {
1501
+ readonly internalType: "string";
1502
+ readonly name: "";
1503
+ readonly type: "string";
1504
+ }];
1505
+ readonly stateMutability: "view";
1506
+ readonly type: "function";
1507
+ }, {
1508
+ readonly inputs: readonly [{
1509
+ readonly components: readonly [{
1510
+ readonly components: readonly [{
1511
+ readonly components: readonly [{
1512
+ readonly internalType: "uint256";
1513
+ readonly name: "x";
1514
+ readonly type: "uint256";
1515
+ }, {
1516
+ readonly internalType: "uint256";
1517
+ readonly name: "y";
1518
+ readonly type: "uint256";
1519
+ }];
1520
+ readonly internalType: "struct G1Point";
1521
+ readonly name: "a";
1522
+ readonly type: "tuple";
1523
+ }, {
1524
+ readonly components: readonly [{
1525
+ readonly internalType: "uint256[2]";
1526
+ readonly name: "x";
1527
+ readonly type: "uint256[2]";
1528
+ }, {
1529
+ readonly internalType: "uint256[2]";
1530
+ readonly name: "y";
1531
+ readonly type: "uint256[2]";
1532
+ }];
1533
+ readonly internalType: "struct G2Point";
1534
+ readonly name: "b";
1535
+ readonly type: "tuple";
1536
+ }, {
1537
+ readonly components: readonly [{
1538
+ readonly internalType: "uint256";
1539
+ readonly name: "x";
1540
+ readonly type: "uint256";
1541
+ }, {
1542
+ readonly internalType: "uint256";
1543
+ readonly name: "y";
1544
+ readonly type: "uint256";
1545
+ }];
1546
+ readonly internalType: "struct G1Point";
1547
+ readonly name: "c";
1548
+ readonly type: "tuple";
1549
+ }];
1550
+ readonly internalType: "struct SnarkProof";
1551
+ readonly name: "proof";
1552
+ readonly type: "tuple";
1553
+ }, {
1554
+ readonly internalType: "bytes32";
1555
+ readonly name: "merkleRoot";
1556
+ readonly type: "bytes32";
1557
+ }, {
1558
+ readonly internalType: "bytes32[]";
1559
+ readonly name: "nullifiers";
1560
+ readonly type: "bytes32[]";
1561
+ }, {
1562
+ readonly internalType: "bytes32[]";
1563
+ readonly name: "commitments";
1564
+ readonly type: "bytes32[]";
1565
+ }, {
1566
+ readonly components: readonly [{
1567
+ readonly internalType: "uint16";
1568
+ readonly name: "treeNumber";
1569
+ readonly type: "uint16";
1570
+ }, {
1571
+ readonly internalType: "uint72";
1572
+ readonly name: "minGasPrice";
1573
+ readonly type: "uint72";
1574
+ }, {
1575
+ readonly internalType: "enum UnshieldType";
1576
+ readonly name: "unshield";
1577
+ readonly type: "uint8";
1578
+ }, {
1579
+ readonly internalType: "uint64";
1580
+ readonly name: "chainID";
1581
+ readonly type: "uint64";
1582
+ }, {
1583
+ readonly internalType: "address";
1584
+ readonly name: "adaptContract";
1585
+ readonly type: "address";
1586
+ }, {
1587
+ readonly internalType: "bytes32";
1588
+ readonly name: "adaptParams";
1589
+ readonly type: "bytes32";
1590
+ }, {
1591
+ readonly components: readonly [{
1592
+ readonly internalType: "bytes32[4]";
1593
+ readonly name: "ciphertext";
1594
+ readonly type: "bytes32[4]";
1595
+ }, {
1596
+ readonly internalType: "bytes32";
1597
+ readonly name: "blindedSenderViewingKey";
1598
+ readonly type: "bytes32";
1599
+ }, {
1600
+ readonly internalType: "bytes32";
1601
+ readonly name: "blindedReceiverViewingKey";
1602
+ readonly type: "bytes32";
1603
+ }, {
1604
+ readonly internalType: "bytes";
1605
+ readonly name: "annotationData";
1606
+ readonly type: "bytes";
1607
+ }, {
1608
+ readonly internalType: "bytes";
1609
+ readonly name: "memo";
1610
+ readonly type: "bytes";
1611
+ }];
1612
+ readonly internalType: "struct CommitmentCiphertext[]";
1613
+ readonly name: "commitmentCiphertext";
1614
+ readonly type: "tuple[]";
1615
+ }];
1616
+ readonly internalType: "struct BoundParams";
1617
+ readonly name: "boundParams";
1618
+ readonly type: "tuple";
1619
+ }, {
1620
+ readonly components: readonly [{
1621
+ readonly internalType: "bytes32";
1622
+ readonly name: "npk";
1623
+ readonly type: "bytes32";
1624
+ }, {
1625
+ readonly components: readonly [{
1626
+ readonly internalType: "enum TokenType";
1627
+ readonly name: "tokenType";
1628
+ readonly type: "uint8";
1629
+ }, {
1630
+ readonly internalType: "address";
1631
+ readonly name: "tokenAddress";
1632
+ readonly type: "address";
1633
+ }, {
1634
+ readonly internalType: "uint256";
1635
+ readonly name: "tokenSubID";
1636
+ readonly type: "uint256";
1637
+ }];
1638
+ readonly internalType: "struct TokenData";
1639
+ readonly name: "token";
1640
+ readonly type: "tuple";
1641
+ }, {
1642
+ readonly internalType: "uint120";
1643
+ readonly name: "value";
1644
+ readonly type: "uint120";
1645
+ }];
1646
+ readonly internalType: "struct CommitmentPreimage";
1647
+ readonly name: "unshieldPreimage";
1648
+ readonly type: "tuple";
1649
+ }];
1650
+ readonly internalType: "struct Transaction";
1651
+ readonly name: "_transaction";
1652
+ readonly type: "tuple";
1653
+ }];
1654
+ readonly name: "validateTransaction";
1655
+ readonly outputs: readonly [{
1656
+ readonly internalType: "bool";
1657
+ readonly name: "";
1658
+ readonly type: "bool";
1659
+ }, {
1660
+ readonly internalType: "string";
1661
+ readonly name: "";
1662
+ readonly type: "string";
1663
+ }];
1664
+ readonly stateMutability: "view";
1665
+ readonly type: "function";
1666
+ }, {
1667
+ readonly inputs: readonly [{
1668
+ readonly components: readonly [{
1669
+ readonly components: readonly [{
1670
+ readonly components: readonly [{
1671
+ readonly internalType: "uint256";
1672
+ readonly name: "x";
1673
+ readonly type: "uint256";
1674
+ }, {
1675
+ readonly internalType: "uint256";
1676
+ readonly name: "y";
1677
+ readonly type: "uint256";
1678
+ }];
1679
+ readonly internalType: "struct G1Point";
1680
+ readonly name: "a";
1681
+ readonly type: "tuple";
1682
+ }, {
1683
+ readonly components: readonly [{
1684
+ readonly internalType: "uint256[2]";
1685
+ readonly name: "x";
1686
+ readonly type: "uint256[2]";
1687
+ }, {
1688
+ readonly internalType: "uint256[2]";
1689
+ readonly name: "y";
1690
+ readonly type: "uint256[2]";
1691
+ }];
1692
+ readonly internalType: "struct G2Point";
1693
+ readonly name: "b";
1694
+ readonly type: "tuple";
1695
+ }, {
1696
+ readonly components: readonly [{
1697
+ readonly internalType: "uint256";
1698
+ readonly name: "x";
1699
+ readonly type: "uint256";
1700
+ }, {
1701
+ readonly internalType: "uint256";
1702
+ readonly name: "y";
1703
+ readonly type: "uint256";
1704
+ }];
1705
+ readonly internalType: "struct G1Point";
1706
+ readonly name: "c";
1707
+ readonly type: "tuple";
1708
+ }];
1709
+ readonly internalType: "struct SnarkProof";
1710
+ readonly name: "proof";
1711
+ readonly type: "tuple";
1712
+ }, {
1713
+ readonly internalType: "bytes32";
1714
+ readonly name: "merkleRoot";
1715
+ readonly type: "bytes32";
1716
+ }, {
1717
+ readonly internalType: "bytes32[]";
1718
+ readonly name: "nullifiers";
1719
+ readonly type: "bytes32[]";
1720
+ }, {
1721
+ readonly internalType: "bytes32[]";
1722
+ readonly name: "commitments";
1723
+ readonly type: "bytes32[]";
1724
+ }, {
1725
+ readonly components: readonly [{
1726
+ readonly internalType: "uint16";
1727
+ readonly name: "treeNumber";
1728
+ readonly type: "uint16";
1729
+ }, {
1730
+ readonly internalType: "uint72";
1731
+ readonly name: "minGasPrice";
1732
+ readonly type: "uint72";
1733
+ }, {
1734
+ readonly internalType: "enum UnshieldType";
1735
+ readonly name: "unshield";
1736
+ readonly type: "uint8";
1737
+ }, {
1738
+ readonly internalType: "uint64";
1739
+ readonly name: "chainID";
1740
+ readonly type: "uint64";
1741
+ }, {
1742
+ readonly internalType: "address";
1743
+ readonly name: "adaptContract";
1744
+ readonly type: "address";
1745
+ }, {
1746
+ readonly internalType: "bytes32";
1747
+ readonly name: "adaptParams";
1748
+ readonly type: "bytes32";
1749
+ }, {
1750
+ readonly components: readonly [{
1751
+ readonly internalType: "bytes32[4]";
1752
+ readonly name: "ciphertext";
1753
+ readonly type: "bytes32[4]";
1754
+ }, {
1755
+ readonly internalType: "bytes32";
1756
+ readonly name: "blindedSenderViewingKey";
1757
+ readonly type: "bytes32";
1758
+ }, {
1759
+ readonly internalType: "bytes32";
1760
+ readonly name: "blindedReceiverViewingKey";
1761
+ readonly type: "bytes32";
1762
+ }, {
1763
+ readonly internalType: "bytes";
1764
+ readonly name: "annotationData";
1765
+ readonly type: "bytes";
1766
+ }, {
1767
+ readonly internalType: "bytes";
1768
+ readonly name: "memo";
1769
+ readonly type: "bytes";
1770
+ }];
1771
+ readonly internalType: "struct CommitmentCiphertext[]";
1772
+ readonly name: "commitmentCiphertext";
1773
+ readonly type: "tuple[]";
1774
+ }];
1775
+ readonly internalType: "struct BoundParams";
1776
+ readonly name: "boundParams";
1777
+ readonly type: "tuple";
1778
+ }, {
1779
+ readonly components: readonly [{
1780
+ readonly internalType: "bytes32";
1781
+ readonly name: "npk";
1782
+ readonly type: "bytes32";
1783
+ }, {
1784
+ readonly components: readonly [{
1785
+ readonly internalType: "enum TokenType";
1786
+ readonly name: "tokenType";
1787
+ readonly type: "uint8";
1788
+ }, {
1789
+ readonly internalType: "address";
1790
+ readonly name: "tokenAddress";
1791
+ readonly type: "address";
1792
+ }, {
1793
+ readonly internalType: "uint256";
1794
+ readonly name: "tokenSubID";
1795
+ readonly type: "uint256";
1796
+ }];
1797
+ readonly internalType: "struct TokenData";
1798
+ readonly name: "token";
1799
+ readonly type: "tuple";
1800
+ }, {
1801
+ readonly internalType: "uint120";
1802
+ readonly name: "value";
1803
+ readonly type: "uint120";
1804
+ }];
1805
+ readonly internalType: "struct CommitmentPreimage";
1806
+ readonly name: "unshieldPreimage";
1807
+ readonly type: "tuple";
1808
+ }];
1809
+ readonly internalType: "struct Transaction";
1810
+ readonly name: "_transaction";
1811
+ readonly type: "tuple";
1812
+ }];
1813
+ readonly name: "verify";
1814
+ readonly outputs: readonly [{
1815
+ readonly internalType: "bool";
1816
+ readonly name: "";
1817
+ readonly type: "bool";
1818
+ }];
1819
+ readonly stateMutability: "view";
1820
+ readonly type: "function";
1821
+ }, {
1822
+ readonly inputs: readonly [{
1823
+ readonly components: readonly [{
1824
+ readonly internalType: "string";
1825
+ readonly name: "artifactsIPFSHash";
1826
+ readonly type: "string";
1827
+ }, {
1828
+ readonly components: readonly [{
1829
+ readonly internalType: "uint256";
1830
+ readonly name: "x";
1831
+ readonly type: "uint256";
1832
+ }, {
1833
+ readonly internalType: "uint256";
1834
+ readonly name: "y";
1835
+ readonly type: "uint256";
1836
+ }];
1837
+ readonly internalType: "struct G1Point";
1838
+ readonly name: "alpha1";
1839
+ readonly type: "tuple";
1840
+ }, {
1841
+ readonly components: readonly [{
1842
+ readonly internalType: "uint256[2]";
1843
+ readonly name: "x";
1844
+ readonly type: "uint256[2]";
1845
+ }, {
1846
+ readonly internalType: "uint256[2]";
1847
+ readonly name: "y";
1848
+ readonly type: "uint256[2]";
1849
+ }];
1850
+ readonly internalType: "struct G2Point";
1851
+ readonly name: "beta2";
1852
+ readonly type: "tuple";
1853
+ }, {
1854
+ readonly components: readonly [{
1855
+ readonly internalType: "uint256[2]";
1856
+ readonly name: "x";
1857
+ readonly type: "uint256[2]";
1858
+ }, {
1859
+ readonly internalType: "uint256[2]";
1860
+ readonly name: "y";
1861
+ readonly type: "uint256[2]";
1862
+ }];
1863
+ readonly internalType: "struct G2Point";
1864
+ readonly name: "gamma2";
1865
+ readonly type: "tuple";
1866
+ }, {
1867
+ readonly components: readonly [{
1868
+ readonly internalType: "uint256[2]";
1869
+ readonly name: "x";
1870
+ readonly type: "uint256[2]";
1871
+ }, {
1872
+ readonly internalType: "uint256[2]";
1873
+ readonly name: "y";
1874
+ readonly type: "uint256[2]";
1875
+ }];
1876
+ readonly internalType: "struct G2Point";
1877
+ readonly name: "delta2";
1878
+ readonly type: "tuple";
1879
+ }, {
1880
+ readonly components: readonly [{
1881
+ readonly internalType: "uint256";
1882
+ readonly name: "x";
1883
+ readonly type: "uint256";
1884
+ }, {
1885
+ readonly internalType: "uint256";
1886
+ readonly name: "y";
1887
+ readonly type: "uint256";
1888
+ }];
1889
+ readonly internalType: "struct G1Point[]";
1890
+ readonly name: "ic";
1891
+ readonly type: "tuple[]";
1892
+ }];
1893
+ readonly internalType: "struct VerifyingKey";
1894
+ readonly name: "_verifyingKey";
1895
+ readonly type: "tuple";
1896
+ }, {
1897
+ readonly components: readonly [{
1898
+ readonly components: readonly [{
1899
+ readonly internalType: "uint256";
1900
+ readonly name: "x";
1901
+ readonly type: "uint256";
1902
+ }, {
1903
+ readonly internalType: "uint256";
1904
+ readonly name: "y";
1905
+ readonly type: "uint256";
1906
+ }];
1907
+ readonly internalType: "struct G1Point";
1908
+ readonly name: "a";
1909
+ readonly type: "tuple";
1910
+ }, {
1911
+ readonly components: readonly [{
1912
+ readonly internalType: "uint256[2]";
1913
+ readonly name: "x";
1914
+ readonly type: "uint256[2]";
1915
+ }, {
1916
+ readonly internalType: "uint256[2]";
1917
+ readonly name: "y";
1918
+ readonly type: "uint256[2]";
1919
+ }];
1920
+ readonly internalType: "struct G2Point";
1921
+ readonly name: "b";
1922
+ readonly type: "tuple";
1923
+ }, {
1924
+ readonly components: readonly [{
1925
+ readonly internalType: "uint256";
1926
+ readonly name: "x";
1927
+ readonly type: "uint256";
1928
+ }, {
1929
+ readonly internalType: "uint256";
1930
+ readonly name: "y";
1931
+ readonly type: "uint256";
1932
+ }];
1933
+ readonly internalType: "struct G1Point";
1934
+ readonly name: "c";
1935
+ readonly type: "tuple";
1936
+ }];
1937
+ readonly internalType: "struct SnarkProof";
1938
+ readonly name: "_proof";
1939
+ readonly type: "tuple";
1940
+ }, {
1941
+ readonly internalType: "uint256[]";
1942
+ readonly name: "_inputs";
1943
+ readonly type: "uint256[]";
1944
+ }];
1945
+ readonly name: "verifyProof";
1946
+ readonly outputs: readonly [{
1947
+ readonly internalType: "bool";
1948
+ readonly name: "";
1949
+ readonly type: "bool";
1950
+ }];
1951
+ readonly stateMutability: "view";
1952
+ readonly type: "function";
1953
+ }, {
1954
+ readonly inputs: readonly [{
1955
+ readonly internalType: "uint256";
1956
+ readonly name: "";
1957
+ readonly type: "uint256";
1958
+ }];
1959
+ readonly name: "zeros";
1960
+ readonly outputs: readonly [{
1961
+ readonly internalType: "bytes32";
1962
+ readonly name: "";
1963
+ readonly type: "bytes32";
1964
+ }];
1965
+ readonly stateMutability: "view";
1966
+ readonly type: "function";
1967
+ }];
1968
+ /**
1969
+ * Type-safe ABI for RailgunSmartWallet_json
1970
+ */
1971
+ export type RailgunSmartWallet_jsonAbi = typeof RailgunSmartWallet_jsonAbi;
1972
+ /**
1973
+ * Contract instance type for RailgunSmartWallet_json
1974
+ */
1975
+ export type RailgunSmartWallet_jsonContract = any;
1976
+ /**
1977
+ * RailgunSmartWallet_json Contract Class
1978
+ *
1979
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
1980
+ *
1981
+ * @example
1982
+ * ```typescript
1983
+ * import { createPublicClient, createWalletClient, http } from 'viem';
1984
+ * import { mainnet } from 'viem/chains';
1985
+ * import { RailgunSmartWallet_json } from 'RailgunSmartWallet_json';
1986
+ *
1987
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
1988
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
1989
+ *
1990
+ * const contract = new RailgunSmartWallet_json('0x...', { publicClient, walletClient });
1991
+ *
1992
+ * // Read functions
1993
+ * const result = await contract.balanceOf('0x...');
1994
+ *
1995
+ * // Write functions
1996
+ * const hash = await contract.transfer('0x...', 1000n);
1997
+ *
1998
+ * // Simulate transactions (dry-run)
1999
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
2000
+ * console.log('Gas estimate:', simulation.request.gas);
2001
+ *
2002
+ * // Watch events
2003
+ * const unwatch = contract.watch.Transfer((event) => {
2004
+ * console.log('Transfer event:', event);
2005
+ * });
2006
+ * ```
2007
+ */
2008
+ export declare class RailgunSmartWallet_json {
2009
+ private contract;
2010
+ private contractAddress;
2011
+ private publicClient;
2012
+ constructor(address: Address, clients: {
2013
+ publicClient: PublicClient;
2014
+ walletClient?: WalletClient;
2015
+ });
2016
+ /**
2017
+ * Get the contract address
2018
+ */
2019
+ get address(): Address;
2020
+ /**
2021
+ * Get the underlying viem contract instance
2022
+ */
2023
+ getContract(): RailgunSmartWallet_jsonContract;
2024
+ /**
2025
+ * ZERO_VALUE
2026
+ * view
2027
+ */
2028
+ ZERO_VALUE(): Promise<`0x${string}`>;
2029
+ /**
2030
+ * getFee
2031
+ * pure
2032
+ */
2033
+ getFee(_amount: bigint, _isInclusive: boolean, _feeBP: bigint): Promise<[bigint, bigint]>;
2034
+ /**
2035
+ * getInsertionTreeNumberAndStartingIndex
2036
+ * view
2037
+ */
2038
+ getInsertionTreeNumberAndStartingIndex(_newCommitments: bigint): Promise<[bigint, bigint]>;
2039
+ /**
2040
+ * getTokenID
2041
+ * pure
2042
+ */
2043
+ getTokenID(_tokenData: TokenData): Promise<`0x${string}`>;
2044
+ /**
2045
+ * getVerificationKey
2046
+ * view
2047
+ */
2048
+ getVerificationKey(_nullifiers: bigint, _commitments: bigint): Promise<VerifyingKey>;
2049
+ /**
2050
+ * hashBoundParams
2051
+ * pure
2052
+ */
2053
+ hashBoundParams(_boundParams: BoundParams): Promise<bigint>;
2054
+ /**
2055
+ * hashCommitment
2056
+ * pure
2057
+ */
2058
+ hashCommitment(_commitmentPreimage: CommitmentPreimage): Promise<`0x${string}`>;
2059
+ /**
2060
+ * hashLeftRight
2061
+ * pure
2062
+ */
2063
+ hashLeftRight(_left: `0x${string}`, _right: `0x${string}`): Promise<`0x${string}`>;
2064
+ /**
2065
+ * lastEventBlock
2066
+ * view
2067
+ */
2068
+ lastEventBlock(): Promise<bigint>;
2069
+ /**
2070
+ * merkleRoot
2071
+ * view
2072
+ */
2073
+ merkleRoot(): Promise<`0x${string}`>;
2074
+ /**
2075
+ * nextLeafIndex
2076
+ * view
2077
+ */
2078
+ nextLeafIndex(): Promise<bigint>;
2079
+ /**
2080
+ * nftFee
2081
+ * view
2082
+ */
2083
+ nftFee(): Promise<bigint>;
2084
+ /**
2085
+ * nullifiers
2086
+ * view
2087
+ */
2088
+ nullifiers(arg0: bigint, arg1: `0x${string}`): Promise<boolean>;
2089
+ /**
2090
+ * owner
2091
+ * view
2092
+ */
2093
+ owner(): Promise<`0x${string}`>;
2094
+ /**
2095
+ * rootHistory
2096
+ * view
2097
+ */
2098
+ rootHistory(arg0: bigint, arg1: `0x${string}`): Promise<boolean>;
2099
+ /**
2100
+ * shieldFee
2101
+ * view
2102
+ */
2103
+ shieldFee(): Promise<bigint>;
2104
+ /**
2105
+ * snarkSafetyVector
2106
+ * view
2107
+ */
2108
+ snarkSafetyVector(arg0: bigint): Promise<boolean>;
2109
+ /**
2110
+ * sumCommitments
2111
+ * pure
2112
+ */
2113
+ sumCommitments(_transactions: Transaction[]): Promise<bigint>;
2114
+ /**
2115
+ * tokenBlocklist
2116
+ * view
2117
+ */
2118
+ tokenBlocklist(arg0: `0x${string}`): Promise<boolean>;
2119
+ /**
2120
+ * tokenIDMapping
2121
+ * view
2122
+ */
2123
+ tokenIDMapping(arg0: `0x${string}`): Promise<[bigint, `0x${string}`, bigint]>;
2124
+ /**
2125
+ * treasury
2126
+ * view
2127
+ */
2128
+ treasury(): Promise<`0x${string}`>;
2129
+ /**
2130
+ * treeNumber
2131
+ * view
2132
+ */
2133
+ treeNumber(): Promise<bigint>;
2134
+ /**
2135
+ * unshieldFee
2136
+ * view
2137
+ */
2138
+ unshieldFee(): Promise<bigint>;
2139
+ /**
2140
+ * validateCommitmentPreimage
2141
+ * view
2142
+ */
2143
+ validateCommitmentPreimage(_note: CommitmentPreimage): Promise<[boolean, string]>;
2144
+ /**
2145
+ * validateTransaction
2146
+ * view
2147
+ */
2148
+ validateTransaction(_transaction: Transaction): Promise<[boolean, string]>;
2149
+ /**
2150
+ * verify
2151
+ * view
2152
+ */
2153
+ verify(_transaction: Transaction): Promise<boolean>;
2154
+ /**
2155
+ * verifyProof
2156
+ * view
2157
+ */
2158
+ verifyProof(_verifyingKey: VerifyingKey, _proof: SnarkProof, _inputs: bigint[]): Promise<boolean>;
2159
+ /**
2160
+ * zeros
2161
+ * view
2162
+ */
2163
+ zeros(arg0: bigint): Promise<`0x${string}`>;
2164
+ /**
2165
+ * addToBlocklist
2166
+ * nonpayable
2167
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2168
+ */
2169
+ addToBlocklist(_tokens: `0x${string}`[], options?: {
2170
+ accessList?: import('viem').AccessList;
2171
+ authorizationList?: import('viem').AuthorizationList;
2172
+ chain?: import('viem').Chain | null;
2173
+ dataSuffix?: `0x${string}`;
2174
+ gas?: bigint;
2175
+ gasPrice?: bigint;
2176
+ maxFeePerGas?: bigint;
2177
+ maxPriorityFeePerGas?: bigint;
2178
+ nonce?: number;
2179
+ value?: bigint;
2180
+ }): Promise<`0x${string}`>;
2181
+ /**
2182
+ * addVector
2183
+ * nonpayable
2184
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2185
+ */
2186
+ addVector(vector: bigint, options?: {
2187
+ accessList?: import('viem').AccessList;
2188
+ authorizationList?: import('viem').AuthorizationList;
2189
+ chain?: import('viem').Chain | null;
2190
+ dataSuffix?: `0x${string}`;
2191
+ gas?: bigint;
2192
+ gasPrice?: bigint;
2193
+ maxFeePerGas?: bigint;
2194
+ maxPriorityFeePerGas?: bigint;
2195
+ nonce?: number;
2196
+ value?: bigint;
2197
+ }): Promise<`0x${string}`>;
2198
+ /**
2199
+ * changeFee
2200
+ * nonpayable
2201
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2202
+ */
2203
+ changeFee(_shieldFee: bigint, _unshieldFee: bigint, _nftFee: bigint, options?: {
2204
+ accessList?: import('viem').AccessList;
2205
+ authorizationList?: import('viem').AuthorizationList;
2206
+ chain?: import('viem').Chain | null;
2207
+ dataSuffix?: `0x${string}`;
2208
+ gas?: bigint;
2209
+ gasPrice?: bigint;
2210
+ maxFeePerGas?: bigint;
2211
+ maxPriorityFeePerGas?: bigint;
2212
+ nonce?: number;
2213
+ value?: bigint;
2214
+ }): Promise<`0x${string}`>;
2215
+ /**
2216
+ * changeTreasury
2217
+ * nonpayable
2218
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2219
+ */
2220
+ changeTreasury(_treasury: `0x${string}`, options?: {
2221
+ accessList?: import('viem').AccessList;
2222
+ authorizationList?: import('viem').AuthorizationList;
2223
+ chain?: import('viem').Chain | null;
2224
+ dataSuffix?: `0x${string}`;
2225
+ gas?: bigint;
2226
+ gasPrice?: bigint;
2227
+ maxFeePerGas?: bigint;
2228
+ maxPriorityFeePerGas?: bigint;
2229
+ nonce?: number;
2230
+ value?: bigint;
2231
+ }): Promise<`0x${string}`>;
2232
+ /**
2233
+ * checkSafetyVectors
2234
+ * nonpayable
2235
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2236
+ */
2237
+ checkSafetyVectors(options?: {
2238
+ accessList?: import('viem').AccessList;
2239
+ authorizationList?: import('viem').AuthorizationList;
2240
+ chain?: import('viem').Chain | null;
2241
+ dataSuffix?: `0x${string}`;
2242
+ gas?: bigint;
2243
+ gasPrice?: bigint;
2244
+ maxFeePerGas?: bigint;
2245
+ maxPriorityFeePerGas?: bigint;
2246
+ nonce?: number;
2247
+ value?: bigint;
2248
+ }): Promise<`0x${string}`>;
2249
+ /**
2250
+ * initializeRailgunLogic
2251
+ * nonpayable
2252
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2253
+ */
2254
+ initializeRailgunLogic(_treasury: `0x${string}`, _shieldFee: bigint, _unshieldFee: bigint, _nftFee: bigint, _owner: `0x${string}`, options?: {
2255
+ accessList?: import('viem').AccessList;
2256
+ authorizationList?: import('viem').AuthorizationList;
2257
+ chain?: import('viem').Chain | null;
2258
+ dataSuffix?: `0x${string}`;
2259
+ gas?: bigint;
2260
+ gasPrice?: bigint;
2261
+ maxFeePerGas?: bigint;
2262
+ maxPriorityFeePerGas?: bigint;
2263
+ nonce?: number;
2264
+ value?: bigint;
2265
+ }): Promise<`0x${string}`>;
2266
+ /**
2267
+ * removeFromBlocklist
2268
+ * nonpayable
2269
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2270
+ */
2271
+ removeFromBlocklist(_tokens: `0x${string}`[], options?: {
2272
+ accessList?: import('viem').AccessList;
2273
+ authorizationList?: import('viem').AuthorizationList;
2274
+ chain?: import('viem').Chain | null;
2275
+ dataSuffix?: `0x${string}`;
2276
+ gas?: bigint;
2277
+ gasPrice?: bigint;
2278
+ maxFeePerGas?: bigint;
2279
+ maxPriorityFeePerGas?: bigint;
2280
+ nonce?: number;
2281
+ value?: bigint;
2282
+ }): Promise<`0x${string}`>;
2283
+ /**
2284
+ * removeVector
2285
+ * nonpayable
2286
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2287
+ */
2288
+ removeVector(vector: bigint, options?: {
2289
+ accessList?: import('viem').AccessList;
2290
+ authorizationList?: import('viem').AuthorizationList;
2291
+ chain?: import('viem').Chain | null;
2292
+ dataSuffix?: `0x${string}`;
2293
+ gas?: bigint;
2294
+ gasPrice?: bigint;
2295
+ maxFeePerGas?: bigint;
2296
+ maxPriorityFeePerGas?: bigint;
2297
+ nonce?: number;
2298
+ value?: bigint;
2299
+ }): Promise<`0x${string}`>;
2300
+ /**
2301
+ * renounceOwnership
2302
+ * nonpayable
2303
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2304
+ */
2305
+ renounceOwnership(options?: {
2306
+ accessList?: import('viem').AccessList;
2307
+ authorizationList?: import('viem').AuthorizationList;
2308
+ chain?: import('viem').Chain | null;
2309
+ dataSuffix?: `0x${string}`;
2310
+ gas?: bigint;
2311
+ gasPrice?: bigint;
2312
+ maxFeePerGas?: bigint;
2313
+ maxPriorityFeePerGas?: bigint;
2314
+ nonce?: number;
2315
+ value?: bigint;
2316
+ }): Promise<`0x${string}`>;
2317
+ /**
2318
+ * setVerificationKey
2319
+ * nonpayable
2320
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2321
+ */
2322
+ setVerificationKey(_nullifiers: bigint, _commitments: bigint, _verifyingKey: VerifyingKey, options?: {
2323
+ accessList?: import('viem').AccessList;
2324
+ authorizationList?: import('viem').AuthorizationList;
2325
+ chain?: import('viem').Chain | null;
2326
+ dataSuffix?: `0x${string}`;
2327
+ gas?: bigint;
2328
+ gasPrice?: bigint;
2329
+ maxFeePerGas?: bigint;
2330
+ maxPriorityFeePerGas?: bigint;
2331
+ nonce?: number;
2332
+ value?: bigint;
2333
+ }): Promise<`0x${string}`>;
2334
+ /**
2335
+ * shield
2336
+ * nonpayable
2337
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2338
+ */
2339
+ shield(_shieldRequests: ShieldRequest[], options?: {
2340
+ accessList?: import('viem').AccessList;
2341
+ authorizationList?: import('viem').AuthorizationList;
2342
+ chain?: import('viem').Chain | null;
2343
+ dataSuffix?: `0x${string}`;
2344
+ gas?: bigint;
2345
+ gasPrice?: bigint;
2346
+ maxFeePerGas?: bigint;
2347
+ maxPriorityFeePerGas?: bigint;
2348
+ nonce?: number;
2349
+ value?: bigint;
2350
+ }): Promise<`0x${string}`>;
2351
+ /**
2352
+ * transact
2353
+ * nonpayable
2354
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2355
+ */
2356
+ transact(_transactions: Transaction[], options?: {
2357
+ accessList?: import('viem').AccessList;
2358
+ authorizationList?: import('viem').AuthorizationList;
2359
+ chain?: import('viem').Chain | null;
2360
+ dataSuffix?: `0x${string}`;
2361
+ gas?: bigint;
2362
+ gasPrice?: bigint;
2363
+ maxFeePerGas?: bigint;
2364
+ maxPriorityFeePerGas?: bigint;
2365
+ nonce?: number;
2366
+ value?: bigint;
2367
+ }): Promise<`0x${string}`>;
2368
+ /**
2369
+ * transferOwnership
2370
+ * nonpayable
2371
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2372
+ */
2373
+ transferOwnership(newOwner: `0x${string}`, options?: {
2374
+ accessList?: import('viem').AccessList;
2375
+ authorizationList?: import('viem').AuthorizationList;
2376
+ chain?: import('viem').Chain | null;
2377
+ dataSuffix?: `0x${string}`;
2378
+ gas?: bigint;
2379
+ gasPrice?: bigint;
2380
+ maxFeePerGas?: bigint;
2381
+ maxPriorityFeePerGas?: bigint;
2382
+ nonce?: number;
2383
+ value?: bigint;
2384
+ }): Promise<`0x${string}`>;
2385
+ /**
2386
+ * Simulate contract write operations (dry-run without sending transaction)
2387
+ *
2388
+ * @example
2389
+ * const result = await contract.simulate.transfer('0x...', 1000n);
2390
+ * console.log('Gas estimate:', result.request.gas);
2391
+ * console.log('Would succeed:', result.result);
2392
+ */
2393
+ get simulate(): {
2394
+ /**
2395
+ * Simulate addToBlocklist
2396
+ * Returns gas estimate and result without sending transaction
2397
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2398
+ */
2399
+ addToBlocklist(_tokens: `0x${string}`[], options?: {
2400
+ accessList?: import("viem").AccessList;
2401
+ authorizationList?: import("viem").AuthorizationList;
2402
+ chain?: import("viem").Chain | null;
2403
+ dataSuffix?: `0x${string}`;
2404
+ gas?: bigint;
2405
+ gasPrice?: bigint;
2406
+ maxFeePerGas?: bigint;
2407
+ maxPriorityFeePerGas?: bigint;
2408
+ nonce?: number;
2409
+ value?: bigint;
2410
+ }): Promise<void>;
2411
+ /**
2412
+ * Simulate addVector
2413
+ * Returns gas estimate and result without sending transaction
2414
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2415
+ */
2416
+ addVector(vector: bigint, options?: {
2417
+ accessList?: import("viem").AccessList;
2418
+ authorizationList?: import("viem").AuthorizationList;
2419
+ chain?: import("viem").Chain | null;
2420
+ dataSuffix?: `0x${string}`;
2421
+ gas?: bigint;
2422
+ gasPrice?: bigint;
2423
+ maxFeePerGas?: bigint;
2424
+ maxPriorityFeePerGas?: bigint;
2425
+ nonce?: number;
2426
+ value?: bigint;
2427
+ }): Promise<void>;
2428
+ /**
2429
+ * Simulate changeFee
2430
+ * Returns gas estimate and result without sending transaction
2431
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2432
+ */
2433
+ changeFee(_shieldFee: bigint, _unshieldFee: bigint, _nftFee: bigint, options?: {
2434
+ accessList?: import("viem").AccessList;
2435
+ authorizationList?: import("viem").AuthorizationList;
2436
+ chain?: import("viem").Chain | null;
2437
+ dataSuffix?: `0x${string}`;
2438
+ gas?: bigint;
2439
+ gasPrice?: bigint;
2440
+ maxFeePerGas?: bigint;
2441
+ maxPriorityFeePerGas?: bigint;
2442
+ nonce?: number;
2443
+ value?: bigint;
2444
+ }): Promise<void>;
2445
+ /**
2446
+ * Simulate changeTreasury
2447
+ * Returns gas estimate and result without sending transaction
2448
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2449
+ */
2450
+ changeTreasury(_treasury: `0x${string}`, options?: {
2451
+ accessList?: import("viem").AccessList;
2452
+ authorizationList?: import("viem").AuthorizationList;
2453
+ chain?: import("viem").Chain | null;
2454
+ dataSuffix?: `0x${string}`;
2455
+ gas?: bigint;
2456
+ gasPrice?: bigint;
2457
+ maxFeePerGas?: bigint;
2458
+ maxPriorityFeePerGas?: bigint;
2459
+ nonce?: number;
2460
+ value?: bigint;
2461
+ }): Promise<void>;
2462
+ /**
2463
+ * Simulate checkSafetyVectors
2464
+ * Returns gas estimate and result without sending transaction
2465
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2466
+ */
2467
+ checkSafetyVectors(options?: {
2468
+ accessList?: import("viem").AccessList;
2469
+ authorizationList?: import("viem").AuthorizationList;
2470
+ chain?: import("viem").Chain | null;
2471
+ dataSuffix?: `0x${string}`;
2472
+ gas?: bigint;
2473
+ gasPrice?: bigint;
2474
+ maxFeePerGas?: bigint;
2475
+ maxPriorityFeePerGas?: bigint;
2476
+ nonce?: number;
2477
+ value?: bigint;
2478
+ }): Promise<void>;
2479
+ /**
2480
+ * Simulate initializeRailgunLogic
2481
+ * Returns gas estimate and result without sending transaction
2482
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2483
+ */
2484
+ initializeRailgunLogic(_treasury: `0x${string}`, _shieldFee: bigint, _unshieldFee: bigint, _nftFee: bigint, _owner: `0x${string}`, options?: {
2485
+ accessList?: import("viem").AccessList;
2486
+ authorizationList?: import("viem").AuthorizationList;
2487
+ chain?: import("viem").Chain | null;
2488
+ dataSuffix?: `0x${string}`;
2489
+ gas?: bigint;
2490
+ gasPrice?: bigint;
2491
+ maxFeePerGas?: bigint;
2492
+ maxPriorityFeePerGas?: bigint;
2493
+ nonce?: number;
2494
+ value?: bigint;
2495
+ }): Promise<void>;
2496
+ /**
2497
+ * Simulate removeFromBlocklist
2498
+ * Returns gas estimate and result without sending transaction
2499
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2500
+ */
2501
+ removeFromBlocklist(_tokens: `0x${string}`[], options?: {
2502
+ accessList?: import("viem").AccessList;
2503
+ authorizationList?: import("viem").AuthorizationList;
2504
+ chain?: import("viem").Chain | null;
2505
+ dataSuffix?: `0x${string}`;
2506
+ gas?: bigint;
2507
+ gasPrice?: bigint;
2508
+ maxFeePerGas?: bigint;
2509
+ maxPriorityFeePerGas?: bigint;
2510
+ nonce?: number;
2511
+ value?: bigint;
2512
+ }): Promise<void>;
2513
+ /**
2514
+ * Simulate removeVector
2515
+ * Returns gas estimate and result without sending transaction
2516
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2517
+ */
2518
+ removeVector(vector: bigint, options?: {
2519
+ accessList?: import("viem").AccessList;
2520
+ authorizationList?: import("viem").AuthorizationList;
2521
+ chain?: import("viem").Chain | null;
2522
+ dataSuffix?: `0x${string}`;
2523
+ gas?: bigint;
2524
+ gasPrice?: bigint;
2525
+ maxFeePerGas?: bigint;
2526
+ maxPriorityFeePerGas?: bigint;
2527
+ nonce?: number;
2528
+ value?: bigint;
2529
+ }): Promise<void>;
2530
+ /**
2531
+ * Simulate renounceOwnership
2532
+ * Returns gas estimate and result without sending transaction
2533
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2534
+ */
2535
+ renounceOwnership(options?: {
2536
+ accessList?: import("viem").AccessList;
2537
+ authorizationList?: import("viem").AuthorizationList;
2538
+ chain?: import("viem").Chain | null;
2539
+ dataSuffix?: `0x${string}`;
2540
+ gas?: bigint;
2541
+ gasPrice?: bigint;
2542
+ maxFeePerGas?: bigint;
2543
+ maxPriorityFeePerGas?: bigint;
2544
+ nonce?: number;
2545
+ value?: bigint;
2546
+ }): Promise<void>;
2547
+ /**
2548
+ * Simulate setVerificationKey
2549
+ * Returns gas estimate and result without sending transaction
2550
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2551
+ */
2552
+ setVerificationKey(_nullifiers: bigint, _commitments: bigint, _verifyingKey: VerifyingKey, options?: {
2553
+ accessList?: import("viem").AccessList;
2554
+ authorizationList?: import("viem").AuthorizationList;
2555
+ chain?: import("viem").Chain | null;
2556
+ dataSuffix?: `0x${string}`;
2557
+ gas?: bigint;
2558
+ gasPrice?: bigint;
2559
+ maxFeePerGas?: bigint;
2560
+ maxPriorityFeePerGas?: bigint;
2561
+ nonce?: number;
2562
+ value?: bigint;
2563
+ }): Promise<void>;
2564
+ /**
2565
+ * Simulate shield
2566
+ * Returns gas estimate and result without sending transaction
2567
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2568
+ */
2569
+ shield(_shieldRequests: ShieldRequest[], options?: {
2570
+ accessList?: import("viem").AccessList;
2571
+ authorizationList?: import("viem").AuthorizationList;
2572
+ chain?: import("viem").Chain | null;
2573
+ dataSuffix?: `0x${string}`;
2574
+ gas?: bigint;
2575
+ gasPrice?: bigint;
2576
+ maxFeePerGas?: bigint;
2577
+ maxPriorityFeePerGas?: bigint;
2578
+ nonce?: number;
2579
+ value?: bigint;
2580
+ }): Promise<void>;
2581
+ /**
2582
+ * Simulate transact
2583
+ * Returns gas estimate and result without sending transaction
2584
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2585
+ */
2586
+ transact(_transactions: Transaction[], options?: {
2587
+ accessList?: import("viem").AccessList;
2588
+ authorizationList?: import("viem").AuthorizationList;
2589
+ chain?: import("viem").Chain | null;
2590
+ dataSuffix?: `0x${string}`;
2591
+ gas?: bigint;
2592
+ gasPrice?: bigint;
2593
+ maxFeePerGas?: bigint;
2594
+ maxPriorityFeePerGas?: bigint;
2595
+ nonce?: number;
2596
+ value?: bigint;
2597
+ }): Promise<void>;
2598
+ /**
2599
+ * Simulate transferOwnership
2600
+ * Returns gas estimate and result without sending transaction
2601
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
2602
+ */
2603
+ transferOwnership(newOwner: `0x${string}`, options?: {
2604
+ accessList?: import("viem").AccessList;
2605
+ authorizationList?: import("viem").AuthorizationList;
2606
+ chain?: import("viem").Chain | null;
2607
+ dataSuffix?: `0x${string}`;
2608
+ gas?: bigint;
2609
+ gasPrice?: bigint;
2610
+ maxFeePerGas?: bigint;
2611
+ maxPriorityFeePerGas?: bigint;
2612
+ nonce?: number;
2613
+ value?: bigint;
2614
+ }): Promise<void>;
2615
+ };
2616
+ /**
2617
+ * Watch contract events
2618
+ *
2619
+ * @example
2620
+ * // Watch all Transfer events
2621
+ * const unwatch = contract.watch.Transfer((event) => {
2622
+ * console.log('Transfer:', event);
2623
+ * });
2624
+ *
2625
+ * // Stop watching
2626
+ * unwatch();
2627
+ */
2628
+ get watch(): {
2629
+ /**
2630
+ * Watch AddToBlocklist events
2631
+ * @param callback Function to call when event is emitted
2632
+ * @param filter Optional filter for indexed parameters
2633
+ * @returns Unwatch function to stop listening
2634
+ */
2635
+ AddToBlocklist: (callback: (event: {
2636
+ token: `0x${string}`;
2637
+ }) => void, filter?: {
2638
+ token: `0x${string}`;
2639
+ }) => () => void;
2640
+ /**
2641
+ * Watch FeeChange events
2642
+ * @param callback Function to call when event is emitted
2643
+ * @param filter Optional filter for indexed parameters
2644
+ * @returns Unwatch function to stop listening
2645
+ */
2646
+ FeeChange: (callback: (event: {
2647
+ shieldFee: bigint;
2648
+ unshieldFee: bigint;
2649
+ nftFee: bigint;
2650
+ }) => void) => () => void;
2651
+ /**
2652
+ * Watch Initialized events
2653
+ * @param callback Function to call when event is emitted
2654
+ * @param filter Optional filter for indexed parameters
2655
+ * @returns Unwatch function to stop listening
2656
+ */
2657
+ Initialized: (callback: (event: {
2658
+ version: bigint;
2659
+ }) => void) => () => void;
2660
+ /**
2661
+ * Watch Nullified events
2662
+ * @param callback Function to call when event is emitted
2663
+ * @param filter Optional filter for indexed parameters
2664
+ * @returns Unwatch function to stop listening
2665
+ */
2666
+ Nullified: (callback: (event: {
2667
+ treeNumber: bigint;
2668
+ nullifier: `0x${string}`[];
2669
+ }) => void) => () => void;
2670
+ /**
2671
+ * Watch OwnershipTransferred events
2672
+ * @param callback Function to call when event is emitted
2673
+ * @param filter Optional filter for indexed parameters
2674
+ * @returns Unwatch function to stop listening
2675
+ */
2676
+ OwnershipTransferred: (callback: (event: {
2677
+ previousOwner: `0x${string}`;
2678
+ newOwner: `0x${string}`;
2679
+ }) => void, filter?: {
2680
+ previousOwner: `0x${string}`;
2681
+ newOwner: `0x${string}`;
2682
+ }) => () => void;
2683
+ /**
2684
+ * Watch RemoveFromBlocklist events
2685
+ * @param callback Function to call when event is emitted
2686
+ * @param filter Optional filter for indexed parameters
2687
+ * @returns Unwatch function to stop listening
2688
+ */
2689
+ RemoveFromBlocklist: (callback: (event: {
2690
+ token: `0x${string}`;
2691
+ }) => void, filter?: {
2692
+ token: `0x${string}`;
2693
+ }) => () => void;
2694
+ /**
2695
+ * Watch Shield events
2696
+ * @param callback Function to call when event is emitted
2697
+ * @param filter Optional filter for indexed parameters
2698
+ * @returns Unwatch function to stop listening
2699
+ */
2700
+ Shield: (callback: (event: {
2701
+ treeNumber: bigint;
2702
+ startPosition: bigint;
2703
+ commitments: CommitmentPreimage[];
2704
+ shieldCiphertext: ShieldCiphertext[];
2705
+ fees: bigint[];
2706
+ }) => void) => () => void;
2707
+ /**
2708
+ * Watch Transact events
2709
+ * @param callback Function to call when event is emitted
2710
+ * @param filter Optional filter for indexed parameters
2711
+ * @returns Unwatch function to stop listening
2712
+ */
2713
+ Transact: (callback: (event: {
2714
+ treeNumber: bigint;
2715
+ startPosition: bigint;
2716
+ hash: `0x${string}`[];
2717
+ ciphertext: CommitmentCiphertext[];
2718
+ }) => void) => () => void;
2719
+ /**
2720
+ * Watch TreasuryChange events
2721
+ * @param callback Function to call when event is emitted
2722
+ * @param filter Optional filter for indexed parameters
2723
+ * @returns Unwatch function to stop listening
2724
+ */
2725
+ TreasuryChange: (callback: (event: {
2726
+ treasury: `0x${string}`;
2727
+ }) => void) => () => void;
2728
+ /**
2729
+ * Watch Unshield events
2730
+ * @param callback Function to call when event is emitted
2731
+ * @param filter Optional filter for indexed parameters
2732
+ * @returns Unwatch function to stop listening
2733
+ */
2734
+ Unshield: (callback: (event: {
2735
+ to: `0x${string}`;
2736
+ token: TokenData;
2737
+ amount: bigint;
2738
+ fee: bigint;
2739
+ }) => void) => () => void;
2740
+ /**
2741
+ * Watch VerifyingKeySet events
2742
+ * @param callback Function to call when event is emitted
2743
+ * @param filter Optional filter for indexed parameters
2744
+ * @returns Unwatch function to stop listening
2745
+ */
2746
+ VerifyingKeySet: (callback: (event: {
2747
+ nullifiers: bigint;
2748
+ commitments: bigint;
2749
+ verifyingKey: VerifyingKey;
2750
+ }) => void) => () => void;
2751
+ };
2752
+ }