@gitmyabi/onewaybidhook 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,1543 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * PoolKey struct type
4
+ */
5
+ export type PoolKey = {
6
+ currency0: `0x${string}`;
7
+ currency1: `0x${string}`;
8
+ fee: bigint;
9
+ tickSpacing: bigint;
10
+ hooks: `0x${string}`;
11
+ };
12
+ /**
13
+ * ModifyLiquidityParams struct type
14
+ */
15
+ export type ModifyLiquidityParams = {
16
+ tickLower: bigint;
17
+ tickUpper: bigint;
18
+ liquidityDelta: bigint;
19
+ salt: `0x${string}`;
20
+ };
21
+ /**
22
+ * SwapParams struct type
23
+ */
24
+ export type SwapParams = {
25
+ zeroForOne: boolean;
26
+ amountSpecified: bigint;
27
+ sqrtPriceLimitX96: bigint;
28
+ };
29
+ /**
30
+ * Hooks.Permissions struct type
31
+ */
32
+ export type Hooks_Permissions = {
33
+ beforeInitialize: boolean;
34
+ afterInitialize: boolean;
35
+ beforeAddLiquidity: boolean;
36
+ afterAddLiquidity: boolean;
37
+ beforeRemoveLiquidity: boolean;
38
+ afterRemoveLiquidity: boolean;
39
+ beforeSwap: boolean;
40
+ afterSwap: boolean;
41
+ beforeDonate: boolean;
42
+ afterDonate: boolean;
43
+ beforeSwapReturnDelta: boolean;
44
+ afterSwapReturnDelta: boolean;
45
+ afterAddLiquidityReturnDelta: boolean;
46
+ afterRemoveLiquidityReturnDelta: boolean;
47
+ };
48
+ /**
49
+ * OneWayBidHook_json ABI
50
+ *
51
+ * This ABI is typed using viem's type system for full type safety.
52
+ */
53
+ export declare const OneWayBidHook_jsonAbi: readonly [{
54
+ readonly inputs: readonly [{
55
+ readonly internalType: "contract IPoolManager";
56
+ readonly name: "_poolManager";
57
+ readonly type: "address";
58
+ }, {
59
+ readonly internalType: "address";
60
+ readonly name: "_accumulatedToken";
61
+ readonly type: "address";
62
+ }, {
63
+ readonly internalType: "uint24";
64
+ readonly name: "_allowedDirectionFee";
65
+ readonly type: "uint24";
66
+ }, {
67
+ readonly internalType: "uint24";
68
+ readonly name: "_blockedDirectionFee";
69
+ readonly type: "uint24";
70
+ }, {
71
+ readonly internalType: "address";
72
+ readonly name: "_owner";
73
+ readonly type: "address";
74
+ }];
75
+ readonly stateMutability: "nonpayable";
76
+ readonly type: "constructor";
77
+ }, {
78
+ readonly inputs: readonly [];
79
+ readonly name: "FeeOutOfRange";
80
+ readonly type: "error";
81
+ }, {
82
+ readonly inputs: readonly [];
83
+ readonly name: "HookNotImplemented";
84
+ readonly type: "error";
85
+ }, {
86
+ readonly inputs: readonly [];
87
+ readonly name: "NotOwner";
88
+ readonly type: "error";
89
+ }, {
90
+ readonly inputs: readonly [];
91
+ readonly name: "NotPoolManager";
92
+ readonly type: "error";
93
+ }, {
94
+ readonly inputs: readonly [];
95
+ readonly name: "ZeroAddress";
96
+ readonly type: "error";
97
+ }, {
98
+ readonly anonymous: false;
99
+ readonly inputs: readonly [{
100
+ readonly indexed: false;
101
+ readonly internalType: "uint24";
102
+ readonly name: "oldFee";
103
+ readonly type: "uint24";
104
+ }, {
105
+ readonly indexed: false;
106
+ readonly internalType: "uint24";
107
+ readonly name: "newFee";
108
+ readonly type: "uint24";
109
+ }];
110
+ readonly name: "AllowedFeeUpdated";
111
+ readonly type: "event";
112
+ }, {
113
+ readonly anonymous: false;
114
+ readonly inputs: readonly [{
115
+ readonly indexed: false;
116
+ readonly internalType: "uint24";
117
+ readonly name: "oldFee";
118
+ readonly type: "uint24";
119
+ }, {
120
+ readonly indexed: false;
121
+ readonly internalType: "uint24";
122
+ readonly name: "newFee";
123
+ readonly type: "uint24";
124
+ }];
125
+ readonly name: "BlockedFeeUpdated";
126
+ readonly type: "event";
127
+ }, {
128
+ readonly anonymous: false;
129
+ readonly inputs: readonly [{
130
+ readonly indexed: true;
131
+ readonly internalType: "address";
132
+ readonly name: "oldOwner";
133
+ readonly type: "address";
134
+ }, {
135
+ readonly indexed: true;
136
+ readonly internalType: "address";
137
+ readonly name: "newOwner";
138
+ readonly type: "address";
139
+ }];
140
+ readonly name: "OwnerTransferred";
141
+ readonly type: "event";
142
+ }, {
143
+ readonly inputs: readonly [];
144
+ readonly name: "MAX_ALLOWED_FEE";
145
+ readonly outputs: readonly [{
146
+ readonly internalType: "uint24";
147
+ readonly name: "";
148
+ readonly type: "uint24";
149
+ }];
150
+ readonly stateMutability: "view";
151
+ readonly type: "function";
152
+ }, {
153
+ readonly inputs: readonly [];
154
+ readonly name: "MAX_BLOCKED_FEE";
155
+ readonly outputs: readonly [{
156
+ readonly internalType: "uint24";
157
+ readonly name: "";
158
+ readonly type: "uint24";
159
+ }];
160
+ readonly stateMutability: "view";
161
+ readonly type: "function";
162
+ }, {
163
+ readonly inputs: readonly [];
164
+ readonly name: "MIN_ALLOWED_FEE";
165
+ readonly outputs: readonly [{
166
+ readonly internalType: "uint24";
167
+ readonly name: "";
168
+ readonly type: "uint24";
169
+ }];
170
+ readonly stateMutability: "view";
171
+ readonly type: "function";
172
+ }, {
173
+ readonly inputs: readonly [];
174
+ readonly name: "MIN_BLOCKED_FEE";
175
+ readonly outputs: readonly [{
176
+ readonly internalType: "uint24";
177
+ readonly name: "";
178
+ readonly type: "uint24";
179
+ }];
180
+ readonly stateMutability: "view";
181
+ readonly type: "function";
182
+ }, {
183
+ readonly inputs: readonly [];
184
+ readonly name: "accumulatedToken";
185
+ readonly outputs: readonly [{
186
+ readonly internalType: "address";
187
+ readonly name: "";
188
+ readonly type: "address";
189
+ }];
190
+ readonly stateMutability: "view";
191
+ readonly type: "function";
192
+ }, {
193
+ readonly inputs: readonly [{
194
+ readonly internalType: "address";
195
+ readonly name: "sender";
196
+ readonly type: "address";
197
+ }, {
198
+ readonly components: readonly [{
199
+ readonly internalType: "Currency";
200
+ readonly name: "currency0";
201
+ readonly type: "address";
202
+ }, {
203
+ readonly internalType: "Currency";
204
+ readonly name: "currency1";
205
+ readonly type: "address";
206
+ }, {
207
+ readonly internalType: "uint24";
208
+ readonly name: "fee";
209
+ readonly type: "uint24";
210
+ }, {
211
+ readonly internalType: "int24";
212
+ readonly name: "tickSpacing";
213
+ readonly type: "int24";
214
+ }, {
215
+ readonly internalType: "contract IHooks";
216
+ readonly name: "hooks";
217
+ readonly type: "address";
218
+ }];
219
+ readonly internalType: "struct PoolKey";
220
+ readonly name: "key";
221
+ readonly type: "tuple";
222
+ }, {
223
+ readonly components: readonly [{
224
+ readonly internalType: "int24";
225
+ readonly name: "tickLower";
226
+ readonly type: "int24";
227
+ }, {
228
+ readonly internalType: "int24";
229
+ readonly name: "tickUpper";
230
+ readonly type: "int24";
231
+ }, {
232
+ readonly internalType: "int256";
233
+ readonly name: "liquidityDelta";
234
+ readonly type: "int256";
235
+ }, {
236
+ readonly internalType: "bytes32";
237
+ readonly name: "salt";
238
+ readonly type: "bytes32";
239
+ }];
240
+ readonly internalType: "struct ModifyLiquidityParams";
241
+ readonly name: "params";
242
+ readonly type: "tuple";
243
+ }, {
244
+ readonly internalType: "BalanceDelta";
245
+ readonly name: "delta";
246
+ readonly type: "int256";
247
+ }, {
248
+ readonly internalType: "BalanceDelta";
249
+ readonly name: "feesAccrued";
250
+ readonly type: "int256";
251
+ }, {
252
+ readonly internalType: "bytes";
253
+ readonly name: "hookData";
254
+ readonly type: "bytes";
255
+ }];
256
+ readonly name: "afterAddLiquidity";
257
+ readonly outputs: readonly [{
258
+ readonly internalType: "bytes4";
259
+ readonly name: "";
260
+ readonly type: "bytes4";
261
+ }, {
262
+ readonly internalType: "BalanceDelta";
263
+ readonly name: "";
264
+ readonly type: "int256";
265
+ }];
266
+ readonly stateMutability: "nonpayable";
267
+ readonly type: "function";
268
+ }, {
269
+ readonly inputs: readonly [{
270
+ readonly internalType: "address";
271
+ readonly name: "sender";
272
+ readonly type: "address";
273
+ }, {
274
+ readonly components: readonly [{
275
+ readonly internalType: "Currency";
276
+ readonly name: "currency0";
277
+ readonly type: "address";
278
+ }, {
279
+ readonly internalType: "Currency";
280
+ readonly name: "currency1";
281
+ readonly type: "address";
282
+ }, {
283
+ readonly internalType: "uint24";
284
+ readonly name: "fee";
285
+ readonly type: "uint24";
286
+ }, {
287
+ readonly internalType: "int24";
288
+ readonly name: "tickSpacing";
289
+ readonly type: "int24";
290
+ }, {
291
+ readonly internalType: "contract IHooks";
292
+ readonly name: "hooks";
293
+ readonly type: "address";
294
+ }];
295
+ readonly internalType: "struct PoolKey";
296
+ readonly name: "key";
297
+ readonly type: "tuple";
298
+ }, {
299
+ readonly internalType: "uint256";
300
+ readonly name: "amount0";
301
+ readonly type: "uint256";
302
+ }, {
303
+ readonly internalType: "uint256";
304
+ readonly name: "amount1";
305
+ readonly type: "uint256";
306
+ }, {
307
+ readonly internalType: "bytes";
308
+ readonly name: "hookData";
309
+ readonly type: "bytes";
310
+ }];
311
+ readonly name: "afterDonate";
312
+ readonly outputs: readonly [{
313
+ readonly internalType: "bytes4";
314
+ readonly name: "";
315
+ readonly type: "bytes4";
316
+ }];
317
+ readonly stateMutability: "nonpayable";
318
+ readonly type: "function";
319
+ }, {
320
+ readonly inputs: readonly [{
321
+ readonly internalType: "address";
322
+ readonly name: "sender";
323
+ readonly type: "address";
324
+ }, {
325
+ readonly components: readonly [{
326
+ readonly internalType: "Currency";
327
+ readonly name: "currency0";
328
+ readonly type: "address";
329
+ }, {
330
+ readonly internalType: "Currency";
331
+ readonly name: "currency1";
332
+ readonly type: "address";
333
+ }, {
334
+ readonly internalType: "uint24";
335
+ readonly name: "fee";
336
+ readonly type: "uint24";
337
+ }, {
338
+ readonly internalType: "int24";
339
+ readonly name: "tickSpacing";
340
+ readonly type: "int24";
341
+ }, {
342
+ readonly internalType: "contract IHooks";
343
+ readonly name: "hooks";
344
+ readonly type: "address";
345
+ }];
346
+ readonly internalType: "struct PoolKey";
347
+ readonly name: "key";
348
+ readonly type: "tuple";
349
+ }, {
350
+ readonly internalType: "uint160";
351
+ readonly name: "sqrtPriceX96";
352
+ readonly type: "uint160";
353
+ }, {
354
+ readonly internalType: "int24";
355
+ readonly name: "tick";
356
+ readonly type: "int24";
357
+ }];
358
+ readonly name: "afterInitialize";
359
+ readonly outputs: readonly [{
360
+ readonly internalType: "bytes4";
361
+ readonly name: "";
362
+ readonly type: "bytes4";
363
+ }];
364
+ readonly stateMutability: "nonpayable";
365
+ readonly type: "function";
366
+ }, {
367
+ readonly inputs: readonly [{
368
+ readonly internalType: "address";
369
+ readonly name: "sender";
370
+ readonly type: "address";
371
+ }, {
372
+ readonly components: readonly [{
373
+ readonly internalType: "Currency";
374
+ readonly name: "currency0";
375
+ readonly type: "address";
376
+ }, {
377
+ readonly internalType: "Currency";
378
+ readonly name: "currency1";
379
+ readonly type: "address";
380
+ }, {
381
+ readonly internalType: "uint24";
382
+ readonly name: "fee";
383
+ readonly type: "uint24";
384
+ }, {
385
+ readonly internalType: "int24";
386
+ readonly name: "tickSpacing";
387
+ readonly type: "int24";
388
+ }, {
389
+ readonly internalType: "contract IHooks";
390
+ readonly name: "hooks";
391
+ readonly type: "address";
392
+ }];
393
+ readonly internalType: "struct PoolKey";
394
+ readonly name: "key";
395
+ readonly type: "tuple";
396
+ }, {
397
+ readonly components: readonly [{
398
+ readonly internalType: "int24";
399
+ readonly name: "tickLower";
400
+ readonly type: "int24";
401
+ }, {
402
+ readonly internalType: "int24";
403
+ readonly name: "tickUpper";
404
+ readonly type: "int24";
405
+ }, {
406
+ readonly internalType: "int256";
407
+ readonly name: "liquidityDelta";
408
+ readonly type: "int256";
409
+ }, {
410
+ readonly internalType: "bytes32";
411
+ readonly name: "salt";
412
+ readonly type: "bytes32";
413
+ }];
414
+ readonly internalType: "struct ModifyLiquidityParams";
415
+ readonly name: "params";
416
+ readonly type: "tuple";
417
+ }, {
418
+ readonly internalType: "BalanceDelta";
419
+ readonly name: "delta";
420
+ readonly type: "int256";
421
+ }, {
422
+ readonly internalType: "BalanceDelta";
423
+ readonly name: "feesAccrued";
424
+ readonly type: "int256";
425
+ }, {
426
+ readonly internalType: "bytes";
427
+ readonly name: "hookData";
428
+ readonly type: "bytes";
429
+ }];
430
+ readonly name: "afterRemoveLiquidity";
431
+ readonly outputs: readonly [{
432
+ readonly internalType: "bytes4";
433
+ readonly name: "";
434
+ readonly type: "bytes4";
435
+ }, {
436
+ readonly internalType: "BalanceDelta";
437
+ readonly name: "";
438
+ readonly type: "int256";
439
+ }];
440
+ readonly stateMutability: "nonpayable";
441
+ readonly type: "function";
442
+ }, {
443
+ readonly inputs: readonly [{
444
+ readonly internalType: "address";
445
+ readonly name: "sender";
446
+ readonly type: "address";
447
+ }, {
448
+ readonly components: readonly [{
449
+ readonly internalType: "Currency";
450
+ readonly name: "currency0";
451
+ readonly type: "address";
452
+ }, {
453
+ readonly internalType: "Currency";
454
+ readonly name: "currency1";
455
+ readonly type: "address";
456
+ }, {
457
+ readonly internalType: "uint24";
458
+ readonly name: "fee";
459
+ readonly type: "uint24";
460
+ }, {
461
+ readonly internalType: "int24";
462
+ readonly name: "tickSpacing";
463
+ readonly type: "int24";
464
+ }, {
465
+ readonly internalType: "contract IHooks";
466
+ readonly name: "hooks";
467
+ readonly type: "address";
468
+ }];
469
+ readonly internalType: "struct PoolKey";
470
+ readonly name: "key";
471
+ readonly type: "tuple";
472
+ }, {
473
+ readonly components: readonly [{
474
+ readonly internalType: "bool";
475
+ readonly name: "zeroForOne";
476
+ readonly type: "bool";
477
+ }, {
478
+ readonly internalType: "int256";
479
+ readonly name: "amountSpecified";
480
+ readonly type: "int256";
481
+ }, {
482
+ readonly internalType: "uint160";
483
+ readonly name: "sqrtPriceLimitX96";
484
+ readonly type: "uint160";
485
+ }];
486
+ readonly internalType: "struct SwapParams";
487
+ readonly name: "params";
488
+ readonly type: "tuple";
489
+ }, {
490
+ readonly internalType: "BalanceDelta";
491
+ readonly name: "delta";
492
+ readonly type: "int256";
493
+ }, {
494
+ readonly internalType: "bytes";
495
+ readonly name: "hookData";
496
+ readonly type: "bytes";
497
+ }];
498
+ readonly name: "afterSwap";
499
+ readonly outputs: readonly [{
500
+ readonly internalType: "bytes4";
501
+ readonly name: "";
502
+ readonly type: "bytes4";
503
+ }, {
504
+ readonly internalType: "int128";
505
+ readonly name: "";
506
+ readonly type: "int128";
507
+ }];
508
+ readonly stateMutability: "nonpayable";
509
+ readonly type: "function";
510
+ }, {
511
+ readonly inputs: readonly [];
512
+ readonly name: "allowedDirectionFee";
513
+ readonly outputs: readonly [{
514
+ readonly internalType: "uint24";
515
+ readonly name: "";
516
+ readonly type: "uint24";
517
+ }];
518
+ readonly stateMutability: "view";
519
+ readonly type: "function";
520
+ }, {
521
+ readonly inputs: readonly [{
522
+ readonly internalType: "address";
523
+ readonly name: "sender";
524
+ readonly type: "address";
525
+ }, {
526
+ readonly components: readonly [{
527
+ readonly internalType: "Currency";
528
+ readonly name: "currency0";
529
+ readonly type: "address";
530
+ }, {
531
+ readonly internalType: "Currency";
532
+ readonly name: "currency1";
533
+ readonly type: "address";
534
+ }, {
535
+ readonly internalType: "uint24";
536
+ readonly name: "fee";
537
+ readonly type: "uint24";
538
+ }, {
539
+ readonly internalType: "int24";
540
+ readonly name: "tickSpacing";
541
+ readonly type: "int24";
542
+ }, {
543
+ readonly internalType: "contract IHooks";
544
+ readonly name: "hooks";
545
+ readonly type: "address";
546
+ }];
547
+ readonly internalType: "struct PoolKey";
548
+ readonly name: "key";
549
+ readonly type: "tuple";
550
+ }, {
551
+ readonly components: readonly [{
552
+ readonly internalType: "int24";
553
+ readonly name: "tickLower";
554
+ readonly type: "int24";
555
+ }, {
556
+ readonly internalType: "int24";
557
+ readonly name: "tickUpper";
558
+ readonly type: "int24";
559
+ }, {
560
+ readonly internalType: "int256";
561
+ readonly name: "liquidityDelta";
562
+ readonly type: "int256";
563
+ }, {
564
+ readonly internalType: "bytes32";
565
+ readonly name: "salt";
566
+ readonly type: "bytes32";
567
+ }];
568
+ readonly internalType: "struct ModifyLiquidityParams";
569
+ readonly name: "params";
570
+ readonly type: "tuple";
571
+ }, {
572
+ readonly internalType: "bytes";
573
+ readonly name: "hookData";
574
+ readonly type: "bytes";
575
+ }];
576
+ readonly name: "beforeAddLiquidity";
577
+ readonly outputs: readonly [{
578
+ readonly internalType: "bytes4";
579
+ readonly name: "";
580
+ readonly type: "bytes4";
581
+ }];
582
+ readonly stateMutability: "nonpayable";
583
+ readonly type: "function";
584
+ }, {
585
+ readonly inputs: readonly [{
586
+ readonly internalType: "address";
587
+ readonly name: "sender";
588
+ readonly type: "address";
589
+ }, {
590
+ readonly components: readonly [{
591
+ readonly internalType: "Currency";
592
+ readonly name: "currency0";
593
+ readonly type: "address";
594
+ }, {
595
+ readonly internalType: "Currency";
596
+ readonly name: "currency1";
597
+ readonly type: "address";
598
+ }, {
599
+ readonly internalType: "uint24";
600
+ readonly name: "fee";
601
+ readonly type: "uint24";
602
+ }, {
603
+ readonly internalType: "int24";
604
+ readonly name: "tickSpacing";
605
+ readonly type: "int24";
606
+ }, {
607
+ readonly internalType: "contract IHooks";
608
+ readonly name: "hooks";
609
+ readonly type: "address";
610
+ }];
611
+ readonly internalType: "struct PoolKey";
612
+ readonly name: "key";
613
+ readonly type: "tuple";
614
+ }, {
615
+ readonly internalType: "uint256";
616
+ readonly name: "amount0";
617
+ readonly type: "uint256";
618
+ }, {
619
+ readonly internalType: "uint256";
620
+ readonly name: "amount1";
621
+ readonly type: "uint256";
622
+ }, {
623
+ readonly internalType: "bytes";
624
+ readonly name: "hookData";
625
+ readonly type: "bytes";
626
+ }];
627
+ readonly name: "beforeDonate";
628
+ readonly outputs: readonly [{
629
+ readonly internalType: "bytes4";
630
+ readonly name: "";
631
+ readonly type: "bytes4";
632
+ }];
633
+ readonly stateMutability: "nonpayable";
634
+ readonly type: "function";
635
+ }, {
636
+ readonly inputs: readonly [{
637
+ readonly internalType: "address";
638
+ readonly name: "sender";
639
+ readonly type: "address";
640
+ }, {
641
+ readonly components: readonly [{
642
+ readonly internalType: "Currency";
643
+ readonly name: "currency0";
644
+ readonly type: "address";
645
+ }, {
646
+ readonly internalType: "Currency";
647
+ readonly name: "currency1";
648
+ readonly type: "address";
649
+ }, {
650
+ readonly internalType: "uint24";
651
+ readonly name: "fee";
652
+ readonly type: "uint24";
653
+ }, {
654
+ readonly internalType: "int24";
655
+ readonly name: "tickSpacing";
656
+ readonly type: "int24";
657
+ }, {
658
+ readonly internalType: "contract IHooks";
659
+ readonly name: "hooks";
660
+ readonly type: "address";
661
+ }];
662
+ readonly internalType: "struct PoolKey";
663
+ readonly name: "key";
664
+ readonly type: "tuple";
665
+ }, {
666
+ readonly internalType: "uint160";
667
+ readonly name: "sqrtPriceX96";
668
+ readonly type: "uint160";
669
+ }];
670
+ readonly name: "beforeInitialize";
671
+ readonly outputs: readonly [{
672
+ readonly internalType: "bytes4";
673
+ readonly name: "";
674
+ readonly type: "bytes4";
675
+ }];
676
+ readonly stateMutability: "nonpayable";
677
+ readonly type: "function";
678
+ }, {
679
+ readonly inputs: readonly [{
680
+ readonly internalType: "address";
681
+ readonly name: "sender";
682
+ readonly type: "address";
683
+ }, {
684
+ readonly components: readonly [{
685
+ readonly internalType: "Currency";
686
+ readonly name: "currency0";
687
+ readonly type: "address";
688
+ }, {
689
+ readonly internalType: "Currency";
690
+ readonly name: "currency1";
691
+ readonly type: "address";
692
+ }, {
693
+ readonly internalType: "uint24";
694
+ readonly name: "fee";
695
+ readonly type: "uint24";
696
+ }, {
697
+ readonly internalType: "int24";
698
+ readonly name: "tickSpacing";
699
+ readonly type: "int24";
700
+ }, {
701
+ readonly internalType: "contract IHooks";
702
+ readonly name: "hooks";
703
+ readonly type: "address";
704
+ }];
705
+ readonly internalType: "struct PoolKey";
706
+ readonly name: "key";
707
+ readonly type: "tuple";
708
+ }, {
709
+ readonly components: readonly [{
710
+ readonly internalType: "int24";
711
+ readonly name: "tickLower";
712
+ readonly type: "int24";
713
+ }, {
714
+ readonly internalType: "int24";
715
+ readonly name: "tickUpper";
716
+ readonly type: "int24";
717
+ }, {
718
+ readonly internalType: "int256";
719
+ readonly name: "liquidityDelta";
720
+ readonly type: "int256";
721
+ }, {
722
+ readonly internalType: "bytes32";
723
+ readonly name: "salt";
724
+ readonly type: "bytes32";
725
+ }];
726
+ readonly internalType: "struct ModifyLiquidityParams";
727
+ readonly name: "params";
728
+ readonly type: "tuple";
729
+ }, {
730
+ readonly internalType: "bytes";
731
+ readonly name: "hookData";
732
+ readonly type: "bytes";
733
+ }];
734
+ readonly name: "beforeRemoveLiquidity";
735
+ readonly outputs: readonly [{
736
+ readonly internalType: "bytes4";
737
+ readonly name: "";
738
+ readonly type: "bytes4";
739
+ }];
740
+ readonly stateMutability: "nonpayable";
741
+ readonly type: "function";
742
+ }, {
743
+ readonly inputs: readonly [{
744
+ readonly internalType: "address";
745
+ readonly name: "sender";
746
+ readonly type: "address";
747
+ }, {
748
+ readonly components: readonly [{
749
+ readonly internalType: "Currency";
750
+ readonly name: "currency0";
751
+ readonly type: "address";
752
+ }, {
753
+ readonly internalType: "Currency";
754
+ readonly name: "currency1";
755
+ readonly type: "address";
756
+ }, {
757
+ readonly internalType: "uint24";
758
+ readonly name: "fee";
759
+ readonly type: "uint24";
760
+ }, {
761
+ readonly internalType: "int24";
762
+ readonly name: "tickSpacing";
763
+ readonly type: "int24";
764
+ }, {
765
+ readonly internalType: "contract IHooks";
766
+ readonly name: "hooks";
767
+ readonly type: "address";
768
+ }];
769
+ readonly internalType: "struct PoolKey";
770
+ readonly name: "key";
771
+ readonly type: "tuple";
772
+ }, {
773
+ readonly components: readonly [{
774
+ readonly internalType: "bool";
775
+ readonly name: "zeroForOne";
776
+ readonly type: "bool";
777
+ }, {
778
+ readonly internalType: "int256";
779
+ readonly name: "amountSpecified";
780
+ readonly type: "int256";
781
+ }, {
782
+ readonly internalType: "uint160";
783
+ readonly name: "sqrtPriceLimitX96";
784
+ readonly type: "uint160";
785
+ }];
786
+ readonly internalType: "struct SwapParams";
787
+ readonly name: "params";
788
+ readonly type: "tuple";
789
+ }, {
790
+ readonly internalType: "bytes";
791
+ readonly name: "hookData";
792
+ readonly type: "bytes";
793
+ }];
794
+ readonly name: "beforeSwap";
795
+ readonly outputs: readonly [{
796
+ readonly internalType: "bytes4";
797
+ readonly name: "";
798
+ readonly type: "bytes4";
799
+ }, {
800
+ readonly internalType: "BeforeSwapDelta";
801
+ readonly name: "";
802
+ readonly type: "int256";
803
+ }, {
804
+ readonly internalType: "uint24";
805
+ readonly name: "";
806
+ readonly type: "uint24";
807
+ }];
808
+ readonly stateMutability: "nonpayable";
809
+ readonly type: "function";
810
+ }, {
811
+ readonly inputs: readonly [];
812
+ readonly name: "blockedDirectionFee";
813
+ readonly outputs: readonly [{
814
+ readonly internalType: "uint24";
815
+ readonly name: "";
816
+ readonly type: "uint24";
817
+ }];
818
+ readonly stateMutability: "view";
819
+ readonly type: "function";
820
+ }, {
821
+ readonly inputs: readonly [];
822
+ readonly name: "getHookPermissions";
823
+ readonly outputs: readonly [{
824
+ readonly components: readonly [{
825
+ readonly internalType: "bool";
826
+ readonly name: "beforeInitialize";
827
+ readonly type: "bool";
828
+ }, {
829
+ readonly internalType: "bool";
830
+ readonly name: "afterInitialize";
831
+ readonly type: "bool";
832
+ }, {
833
+ readonly internalType: "bool";
834
+ readonly name: "beforeAddLiquidity";
835
+ readonly type: "bool";
836
+ }, {
837
+ readonly internalType: "bool";
838
+ readonly name: "afterAddLiquidity";
839
+ readonly type: "bool";
840
+ }, {
841
+ readonly internalType: "bool";
842
+ readonly name: "beforeRemoveLiquidity";
843
+ readonly type: "bool";
844
+ }, {
845
+ readonly internalType: "bool";
846
+ readonly name: "afterRemoveLiquidity";
847
+ readonly type: "bool";
848
+ }, {
849
+ readonly internalType: "bool";
850
+ readonly name: "beforeSwap";
851
+ readonly type: "bool";
852
+ }, {
853
+ readonly internalType: "bool";
854
+ readonly name: "afterSwap";
855
+ readonly type: "bool";
856
+ }, {
857
+ readonly internalType: "bool";
858
+ readonly name: "beforeDonate";
859
+ readonly type: "bool";
860
+ }, {
861
+ readonly internalType: "bool";
862
+ readonly name: "afterDonate";
863
+ readonly type: "bool";
864
+ }, {
865
+ readonly internalType: "bool";
866
+ readonly name: "beforeSwapReturnDelta";
867
+ readonly type: "bool";
868
+ }, {
869
+ readonly internalType: "bool";
870
+ readonly name: "afterSwapReturnDelta";
871
+ readonly type: "bool";
872
+ }, {
873
+ readonly internalType: "bool";
874
+ readonly name: "afterAddLiquidityReturnDelta";
875
+ readonly type: "bool";
876
+ }, {
877
+ readonly internalType: "bool";
878
+ readonly name: "afterRemoveLiquidityReturnDelta";
879
+ readonly type: "bool";
880
+ }];
881
+ readonly internalType: "struct Hooks.Permissions";
882
+ readonly name: "";
883
+ readonly type: "tuple";
884
+ }];
885
+ readonly stateMutability: "pure";
886
+ readonly type: "function";
887
+ }, {
888
+ readonly inputs: readonly [];
889
+ readonly name: "owner";
890
+ readonly outputs: readonly [{
891
+ readonly internalType: "address";
892
+ readonly name: "";
893
+ readonly type: "address";
894
+ }];
895
+ readonly stateMutability: "view";
896
+ readonly type: "function";
897
+ }, {
898
+ readonly inputs: readonly [];
899
+ readonly name: "poolManager";
900
+ readonly outputs: readonly [{
901
+ readonly internalType: "contract IPoolManager";
902
+ readonly name: "";
903
+ readonly type: "address";
904
+ }];
905
+ readonly stateMutability: "view";
906
+ readonly type: "function";
907
+ }, {
908
+ readonly inputs: readonly [{
909
+ readonly internalType: "uint24";
910
+ readonly name: "newFee";
911
+ readonly type: "uint24";
912
+ }];
913
+ readonly name: "setAllowedFee";
914
+ readonly outputs: readonly [];
915
+ readonly stateMutability: "nonpayable";
916
+ readonly type: "function";
917
+ }, {
918
+ readonly inputs: readonly [{
919
+ readonly internalType: "uint24";
920
+ readonly name: "newFee";
921
+ readonly type: "uint24";
922
+ }];
923
+ readonly name: "setBlockedFee";
924
+ readonly outputs: readonly [];
925
+ readonly stateMutability: "nonpayable";
926
+ readonly type: "function";
927
+ }, {
928
+ readonly inputs: readonly [{
929
+ readonly internalType: "address";
930
+ readonly name: "newOwner";
931
+ readonly type: "address";
932
+ }];
933
+ readonly name: "transferOwnership";
934
+ readonly outputs: readonly [];
935
+ readonly stateMutability: "nonpayable";
936
+ readonly type: "function";
937
+ }];
938
+ /**
939
+ * Type-safe ABI for OneWayBidHook_json
940
+ */
941
+ export type OneWayBidHook_jsonAbi = typeof OneWayBidHook_jsonAbi;
942
+ /**
943
+ * Contract instance type for OneWayBidHook_json
944
+ */
945
+ export type OneWayBidHook_jsonContract = any;
946
+ /**
947
+ * OneWayBidHook_json Contract Class
948
+ *
949
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
950
+ *
951
+ * @example
952
+ * ```typescript
953
+ * import { createPublicClient, createWalletClient, http } from 'viem';
954
+ * import { mainnet } from 'viem/chains';
955
+ * import { OneWayBidHook_json } from 'OneWayBidHook_json';
956
+ *
957
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
958
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
959
+ *
960
+ * const contract = new OneWayBidHook_json('0x...', { publicClient, walletClient });
961
+ *
962
+ * // Read functions
963
+ * const result = await contract.balanceOf('0x...');
964
+ *
965
+ * // Write functions
966
+ * const hash = await contract.transfer('0x...', 1000n);
967
+ *
968
+ * // Simulate transactions (dry-run)
969
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
970
+ * console.log('Gas estimate:', simulation.request.gas);
971
+ *
972
+ * // Watch events
973
+ * const unwatch = contract.watch.Transfer((event) => {
974
+ * console.log('Transfer event:', event);
975
+ * });
976
+ * ```
977
+ */
978
+ export declare class OneWayBidHook_json {
979
+ private contract;
980
+ private contractAddress;
981
+ private publicClient;
982
+ constructor(address: Address, clients: {
983
+ publicClient: PublicClient;
984
+ walletClient?: WalletClient;
985
+ });
986
+ /**
987
+ * Get the contract address
988
+ */
989
+ get address(): Address;
990
+ /**
991
+ * Get the underlying viem contract instance
992
+ */
993
+ getContract(): OneWayBidHook_jsonContract;
994
+ /**
995
+ * MAX_ALLOWED_FEE
996
+ * view
997
+ */
998
+ MAX_ALLOWED_FEE(): Promise<bigint>;
999
+ /**
1000
+ * MAX_BLOCKED_FEE
1001
+ * view
1002
+ */
1003
+ MAX_BLOCKED_FEE(): Promise<bigint>;
1004
+ /**
1005
+ * MIN_ALLOWED_FEE
1006
+ * view
1007
+ */
1008
+ MIN_ALLOWED_FEE(): Promise<bigint>;
1009
+ /**
1010
+ * MIN_BLOCKED_FEE
1011
+ * view
1012
+ */
1013
+ MIN_BLOCKED_FEE(): Promise<bigint>;
1014
+ /**
1015
+ * accumulatedToken
1016
+ * view
1017
+ */
1018
+ accumulatedToken(): Promise<`0x${string}`>;
1019
+ /**
1020
+ * allowedDirectionFee
1021
+ * view
1022
+ */
1023
+ allowedDirectionFee(): Promise<bigint>;
1024
+ /**
1025
+ * blockedDirectionFee
1026
+ * view
1027
+ */
1028
+ blockedDirectionFee(): Promise<bigint>;
1029
+ /**
1030
+ * getHookPermissions
1031
+ * pure
1032
+ */
1033
+ getHookPermissions(): Promise<Hooks_Permissions>;
1034
+ /**
1035
+ * owner
1036
+ * view
1037
+ */
1038
+ owner(): Promise<`0x${string}`>;
1039
+ /**
1040
+ * poolManager
1041
+ * view
1042
+ */
1043
+ poolManager(): Promise<`0x${string}`>;
1044
+ /**
1045
+ * afterAddLiquidity
1046
+ * nonpayable
1047
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1048
+ */
1049
+ afterAddLiquidity(sender: `0x${string}`, key: PoolKey, params: ModifyLiquidityParams, delta: bigint, feesAccrued: bigint, hookData: `0x${string}`, options?: {
1050
+ accessList?: import('viem').AccessList;
1051
+ authorizationList?: import('viem').AuthorizationList;
1052
+ chain?: import('viem').Chain | null;
1053
+ dataSuffix?: `0x${string}`;
1054
+ gas?: bigint;
1055
+ gasPrice?: bigint;
1056
+ maxFeePerGas?: bigint;
1057
+ maxPriorityFeePerGas?: bigint;
1058
+ nonce?: number;
1059
+ value?: bigint;
1060
+ }): Promise<`0x${string}`>;
1061
+ /**
1062
+ * afterDonate
1063
+ * nonpayable
1064
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1065
+ */
1066
+ afterDonate(sender: `0x${string}`, key: PoolKey, amount0: bigint, amount1: bigint, hookData: `0x${string}`, options?: {
1067
+ accessList?: import('viem').AccessList;
1068
+ authorizationList?: import('viem').AuthorizationList;
1069
+ chain?: import('viem').Chain | null;
1070
+ dataSuffix?: `0x${string}`;
1071
+ gas?: bigint;
1072
+ gasPrice?: bigint;
1073
+ maxFeePerGas?: bigint;
1074
+ maxPriorityFeePerGas?: bigint;
1075
+ nonce?: number;
1076
+ value?: bigint;
1077
+ }): Promise<`0x${string}`>;
1078
+ /**
1079
+ * afterInitialize
1080
+ * nonpayable
1081
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1082
+ */
1083
+ afterInitialize(sender: `0x${string}`, key: PoolKey, sqrtPriceX96: bigint, tick: bigint, options?: {
1084
+ accessList?: import('viem').AccessList;
1085
+ authorizationList?: import('viem').AuthorizationList;
1086
+ chain?: import('viem').Chain | null;
1087
+ dataSuffix?: `0x${string}`;
1088
+ gas?: bigint;
1089
+ gasPrice?: bigint;
1090
+ maxFeePerGas?: bigint;
1091
+ maxPriorityFeePerGas?: bigint;
1092
+ nonce?: number;
1093
+ value?: bigint;
1094
+ }): Promise<`0x${string}`>;
1095
+ /**
1096
+ * afterRemoveLiquidity
1097
+ * nonpayable
1098
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1099
+ */
1100
+ afterRemoveLiquidity(sender: `0x${string}`, key: PoolKey, params: ModifyLiquidityParams, delta: bigint, feesAccrued: bigint, hookData: `0x${string}`, options?: {
1101
+ accessList?: import('viem').AccessList;
1102
+ authorizationList?: import('viem').AuthorizationList;
1103
+ chain?: import('viem').Chain | null;
1104
+ dataSuffix?: `0x${string}`;
1105
+ gas?: bigint;
1106
+ gasPrice?: bigint;
1107
+ maxFeePerGas?: bigint;
1108
+ maxPriorityFeePerGas?: bigint;
1109
+ nonce?: number;
1110
+ value?: bigint;
1111
+ }): Promise<`0x${string}`>;
1112
+ /**
1113
+ * afterSwap
1114
+ * nonpayable
1115
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1116
+ */
1117
+ afterSwap(sender: `0x${string}`, key: PoolKey, params: SwapParams, delta: bigint, hookData: `0x${string}`, options?: {
1118
+ accessList?: import('viem').AccessList;
1119
+ authorizationList?: import('viem').AuthorizationList;
1120
+ chain?: import('viem').Chain | null;
1121
+ dataSuffix?: `0x${string}`;
1122
+ gas?: bigint;
1123
+ gasPrice?: bigint;
1124
+ maxFeePerGas?: bigint;
1125
+ maxPriorityFeePerGas?: bigint;
1126
+ nonce?: number;
1127
+ value?: bigint;
1128
+ }): Promise<`0x${string}`>;
1129
+ /**
1130
+ * beforeAddLiquidity
1131
+ * nonpayable
1132
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1133
+ */
1134
+ beforeAddLiquidity(sender: `0x${string}`, key: PoolKey, params: ModifyLiquidityParams, hookData: `0x${string}`, options?: {
1135
+ accessList?: import('viem').AccessList;
1136
+ authorizationList?: import('viem').AuthorizationList;
1137
+ chain?: import('viem').Chain | null;
1138
+ dataSuffix?: `0x${string}`;
1139
+ gas?: bigint;
1140
+ gasPrice?: bigint;
1141
+ maxFeePerGas?: bigint;
1142
+ maxPriorityFeePerGas?: bigint;
1143
+ nonce?: number;
1144
+ value?: bigint;
1145
+ }): Promise<`0x${string}`>;
1146
+ /**
1147
+ * beforeDonate
1148
+ * nonpayable
1149
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1150
+ */
1151
+ beforeDonate(sender: `0x${string}`, key: PoolKey, amount0: bigint, amount1: bigint, hookData: `0x${string}`, options?: {
1152
+ accessList?: import('viem').AccessList;
1153
+ authorizationList?: import('viem').AuthorizationList;
1154
+ chain?: import('viem').Chain | null;
1155
+ dataSuffix?: `0x${string}`;
1156
+ gas?: bigint;
1157
+ gasPrice?: bigint;
1158
+ maxFeePerGas?: bigint;
1159
+ maxPriorityFeePerGas?: bigint;
1160
+ nonce?: number;
1161
+ value?: bigint;
1162
+ }): Promise<`0x${string}`>;
1163
+ /**
1164
+ * beforeInitialize
1165
+ * nonpayable
1166
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1167
+ */
1168
+ beforeInitialize(sender: `0x${string}`, key: PoolKey, sqrtPriceX96: bigint, options?: {
1169
+ accessList?: import('viem').AccessList;
1170
+ authorizationList?: import('viem').AuthorizationList;
1171
+ chain?: import('viem').Chain | null;
1172
+ dataSuffix?: `0x${string}`;
1173
+ gas?: bigint;
1174
+ gasPrice?: bigint;
1175
+ maxFeePerGas?: bigint;
1176
+ maxPriorityFeePerGas?: bigint;
1177
+ nonce?: number;
1178
+ value?: bigint;
1179
+ }): Promise<`0x${string}`>;
1180
+ /**
1181
+ * beforeRemoveLiquidity
1182
+ * nonpayable
1183
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1184
+ */
1185
+ beforeRemoveLiquidity(sender: `0x${string}`, key: PoolKey, params: ModifyLiquidityParams, hookData: `0x${string}`, options?: {
1186
+ accessList?: import('viem').AccessList;
1187
+ authorizationList?: import('viem').AuthorizationList;
1188
+ chain?: import('viem').Chain | null;
1189
+ dataSuffix?: `0x${string}`;
1190
+ gas?: bigint;
1191
+ gasPrice?: bigint;
1192
+ maxFeePerGas?: bigint;
1193
+ maxPriorityFeePerGas?: bigint;
1194
+ nonce?: number;
1195
+ value?: bigint;
1196
+ }): Promise<`0x${string}`>;
1197
+ /**
1198
+ * beforeSwap
1199
+ * nonpayable
1200
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1201
+ */
1202
+ beforeSwap(sender: `0x${string}`, key: PoolKey, params: SwapParams, hookData: `0x${string}`, options?: {
1203
+ accessList?: import('viem').AccessList;
1204
+ authorizationList?: import('viem').AuthorizationList;
1205
+ chain?: import('viem').Chain | null;
1206
+ dataSuffix?: `0x${string}`;
1207
+ gas?: bigint;
1208
+ gasPrice?: bigint;
1209
+ maxFeePerGas?: bigint;
1210
+ maxPriorityFeePerGas?: bigint;
1211
+ nonce?: number;
1212
+ value?: bigint;
1213
+ }): Promise<`0x${string}`>;
1214
+ /**
1215
+ * setAllowedFee
1216
+ * nonpayable
1217
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1218
+ */
1219
+ setAllowedFee(newFee: bigint, options?: {
1220
+ accessList?: import('viem').AccessList;
1221
+ authorizationList?: import('viem').AuthorizationList;
1222
+ chain?: import('viem').Chain | null;
1223
+ dataSuffix?: `0x${string}`;
1224
+ gas?: bigint;
1225
+ gasPrice?: bigint;
1226
+ maxFeePerGas?: bigint;
1227
+ maxPriorityFeePerGas?: bigint;
1228
+ nonce?: number;
1229
+ value?: bigint;
1230
+ }): Promise<`0x${string}`>;
1231
+ /**
1232
+ * setBlockedFee
1233
+ * nonpayable
1234
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1235
+ */
1236
+ setBlockedFee(newFee: bigint, options?: {
1237
+ accessList?: import('viem').AccessList;
1238
+ authorizationList?: import('viem').AuthorizationList;
1239
+ chain?: import('viem').Chain | null;
1240
+ dataSuffix?: `0x${string}`;
1241
+ gas?: bigint;
1242
+ gasPrice?: bigint;
1243
+ maxFeePerGas?: bigint;
1244
+ maxPriorityFeePerGas?: bigint;
1245
+ nonce?: number;
1246
+ value?: bigint;
1247
+ }): Promise<`0x${string}`>;
1248
+ /**
1249
+ * transferOwnership
1250
+ * nonpayable
1251
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1252
+ */
1253
+ transferOwnership(newOwner: `0x${string}`, options?: {
1254
+ accessList?: import('viem').AccessList;
1255
+ authorizationList?: import('viem').AuthorizationList;
1256
+ chain?: import('viem').Chain | null;
1257
+ dataSuffix?: `0x${string}`;
1258
+ gas?: bigint;
1259
+ gasPrice?: bigint;
1260
+ maxFeePerGas?: bigint;
1261
+ maxPriorityFeePerGas?: bigint;
1262
+ nonce?: number;
1263
+ value?: bigint;
1264
+ }): Promise<`0x${string}`>;
1265
+ /**
1266
+ * Simulate contract write operations (dry-run without sending transaction)
1267
+ *
1268
+ * @example
1269
+ * const result = await contract.simulate.transfer('0x...', 1000n);
1270
+ * console.log('Gas estimate:', result.request.gas);
1271
+ * console.log('Would succeed:', result.result);
1272
+ */
1273
+ get simulate(): {
1274
+ /**
1275
+ * Simulate afterAddLiquidity
1276
+ * Returns gas estimate and result without sending transaction
1277
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1278
+ */
1279
+ afterAddLiquidity(sender: `0x${string}`, key: PoolKey, params: ModifyLiquidityParams, delta: bigint, feesAccrued: bigint, hookData: `0x${string}`, options?: {
1280
+ accessList?: import("viem").AccessList;
1281
+ authorizationList?: import("viem").AuthorizationList;
1282
+ chain?: import("viem").Chain | null;
1283
+ dataSuffix?: `0x${string}`;
1284
+ gas?: bigint;
1285
+ gasPrice?: bigint;
1286
+ maxFeePerGas?: bigint;
1287
+ maxPriorityFeePerGas?: bigint;
1288
+ nonce?: number;
1289
+ value?: bigint;
1290
+ }): Promise<[`0x${string}`, bigint]>;
1291
+ /**
1292
+ * Simulate afterDonate
1293
+ * Returns gas estimate and result without sending transaction
1294
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1295
+ */
1296
+ afterDonate(sender: `0x${string}`, key: PoolKey, amount0: bigint, amount1: bigint, hookData: `0x${string}`, options?: {
1297
+ accessList?: import("viem").AccessList;
1298
+ authorizationList?: import("viem").AuthorizationList;
1299
+ chain?: import("viem").Chain | null;
1300
+ dataSuffix?: `0x${string}`;
1301
+ gas?: bigint;
1302
+ gasPrice?: bigint;
1303
+ maxFeePerGas?: bigint;
1304
+ maxPriorityFeePerGas?: bigint;
1305
+ nonce?: number;
1306
+ value?: bigint;
1307
+ }): Promise<`0x${string}`>;
1308
+ /**
1309
+ * Simulate afterInitialize
1310
+ * Returns gas estimate and result without sending transaction
1311
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1312
+ */
1313
+ afterInitialize(sender: `0x${string}`, key: PoolKey, sqrtPriceX96: bigint, tick: bigint, options?: {
1314
+ accessList?: import("viem").AccessList;
1315
+ authorizationList?: import("viem").AuthorizationList;
1316
+ chain?: import("viem").Chain | null;
1317
+ dataSuffix?: `0x${string}`;
1318
+ gas?: bigint;
1319
+ gasPrice?: bigint;
1320
+ maxFeePerGas?: bigint;
1321
+ maxPriorityFeePerGas?: bigint;
1322
+ nonce?: number;
1323
+ value?: bigint;
1324
+ }): Promise<`0x${string}`>;
1325
+ /**
1326
+ * Simulate afterRemoveLiquidity
1327
+ * Returns gas estimate and result without sending transaction
1328
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1329
+ */
1330
+ afterRemoveLiquidity(sender: `0x${string}`, key: PoolKey, params: ModifyLiquidityParams, delta: bigint, feesAccrued: bigint, hookData: `0x${string}`, options?: {
1331
+ accessList?: import("viem").AccessList;
1332
+ authorizationList?: import("viem").AuthorizationList;
1333
+ chain?: import("viem").Chain | null;
1334
+ dataSuffix?: `0x${string}`;
1335
+ gas?: bigint;
1336
+ gasPrice?: bigint;
1337
+ maxFeePerGas?: bigint;
1338
+ maxPriorityFeePerGas?: bigint;
1339
+ nonce?: number;
1340
+ value?: bigint;
1341
+ }): Promise<[`0x${string}`, bigint]>;
1342
+ /**
1343
+ * Simulate afterSwap
1344
+ * Returns gas estimate and result without sending transaction
1345
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1346
+ */
1347
+ afterSwap(sender: `0x${string}`, key: PoolKey, params: SwapParams, delta: bigint, hookData: `0x${string}`, options?: {
1348
+ accessList?: import("viem").AccessList;
1349
+ authorizationList?: import("viem").AuthorizationList;
1350
+ chain?: import("viem").Chain | null;
1351
+ dataSuffix?: `0x${string}`;
1352
+ gas?: bigint;
1353
+ gasPrice?: bigint;
1354
+ maxFeePerGas?: bigint;
1355
+ maxPriorityFeePerGas?: bigint;
1356
+ nonce?: number;
1357
+ value?: bigint;
1358
+ }): Promise<[`0x${string}`, bigint]>;
1359
+ /**
1360
+ * Simulate beforeAddLiquidity
1361
+ * Returns gas estimate and result without sending transaction
1362
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1363
+ */
1364
+ beforeAddLiquidity(sender: `0x${string}`, key: PoolKey, params: ModifyLiquidityParams, hookData: `0x${string}`, options?: {
1365
+ accessList?: import("viem").AccessList;
1366
+ authorizationList?: import("viem").AuthorizationList;
1367
+ chain?: import("viem").Chain | null;
1368
+ dataSuffix?: `0x${string}`;
1369
+ gas?: bigint;
1370
+ gasPrice?: bigint;
1371
+ maxFeePerGas?: bigint;
1372
+ maxPriorityFeePerGas?: bigint;
1373
+ nonce?: number;
1374
+ value?: bigint;
1375
+ }): Promise<`0x${string}`>;
1376
+ /**
1377
+ * Simulate beforeDonate
1378
+ * Returns gas estimate and result without sending transaction
1379
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1380
+ */
1381
+ beforeDonate(sender: `0x${string}`, key: PoolKey, amount0: bigint, amount1: bigint, hookData: `0x${string}`, options?: {
1382
+ accessList?: import("viem").AccessList;
1383
+ authorizationList?: import("viem").AuthorizationList;
1384
+ chain?: import("viem").Chain | null;
1385
+ dataSuffix?: `0x${string}`;
1386
+ gas?: bigint;
1387
+ gasPrice?: bigint;
1388
+ maxFeePerGas?: bigint;
1389
+ maxPriorityFeePerGas?: bigint;
1390
+ nonce?: number;
1391
+ value?: bigint;
1392
+ }): Promise<`0x${string}`>;
1393
+ /**
1394
+ * Simulate beforeInitialize
1395
+ * Returns gas estimate and result without sending transaction
1396
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1397
+ */
1398
+ beforeInitialize(sender: `0x${string}`, key: PoolKey, sqrtPriceX96: bigint, options?: {
1399
+ accessList?: import("viem").AccessList;
1400
+ authorizationList?: import("viem").AuthorizationList;
1401
+ chain?: import("viem").Chain | null;
1402
+ dataSuffix?: `0x${string}`;
1403
+ gas?: bigint;
1404
+ gasPrice?: bigint;
1405
+ maxFeePerGas?: bigint;
1406
+ maxPriorityFeePerGas?: bigint;
1407
+ nonce?: number;
1408
+ value?: bigint;
1409
+ }): Promise<`0x${string}`>;
1410
+ /**
1411
+ * Simulate beforeRemoveLiquidity
1412
+ * Returns gas estimate and result without sending transaction
1413
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1414
+ */
1415
+ beforeRemoveLiquidity(sender: `0x${string}`, key: PoolKey, params: ModifyLiquidityParams, hookData: `0x${string}`, options?: {
1416
+ accessList?: import("viem").AccessList;
1417
+ authorizationList?: import("viem").AuthorizationList;
1418
+ chain?: import("viem").Chain | null;
1419
+ dataSuffix?: `0x${string}`;
1420
+ gas?: bigint;
1421
+ gasPrice?: bigint;
1422
+ maxFeePerGas?: bigint;
1423
+ maxPriorityFeePerGas?: bigint;
1424
+ nonce?: number;
1425
+ value?: bigint;
1426
+ }): Promise<`0x${string}`>;
1427
+ /**
1428
+ * Simulate beforeSwap
1429
+ * Returns gas estimate and result without sending transaction
1430
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1431
+ */
1432
+ beforeSwap(sender: `0x${string}`, key: PoolKey, params: SwapParams, hookData: `0x${string}`, options?: {
1433
+ accessList?: import("viem").AccessList;
1434
+ authorizationList?: import("viem").AuthorizationList;
1435
+ chain?: import("viem").Chain | null;
1436
+ dataSuffix?: `0x${string}`;
1437
+ gas?: bigint;
1438
+ gasPrice?: bigint;
1439
+ maxFeePerGas?: bigint;
1440
+ maxPriorityFeePerGas?: bigint;
1441
+ nonce?: number;
1442
+ value?: bigint;
1443
+ }): Promise<[`0x${string}`, bigint, bigint]>;
1444
+ /**
1445
+ * Simulate setAllowedFee
1446
+ * Returns gas estimate and result without sending transaction
1447
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1448
+ */
1449
+ setAllowedFee(newFee: bigint, options?: {
1450
+ accessList?: import("viem").AccessList;
1451
+ authorizationList?: import("viem").AuthorizationList;
1452
+ chain?: import("viem").Chain | null;
1453
+ dataSuffix?: `0x${string}`;
1454
+ gas?: bigint;
1455
+ gasPrice?: bigint;
1456
+ maxFeePerGas?: bigint;
1457
+ maxPriorityFeePerGas?: bigint;
1458
+ nonce?: number;
1459
+ value?: bigint;
1460
+ }): Promise<void>;
1461
+ /**
1462
+ * Simulate setBlockedFee
1463
+ * Returns gas estimate and result without sending transaction
1464
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1465
+ */
1466
+ setBlockedFee(newFee: bigint, options?: {
1467
+ accessList?: import("viem").AccessList;
1468
+ authorizationList?: import("viem").AuthorizationList;
1469
+ chain?: import("viem").Chain | null;
1470
+ dataSuffix?: `0x${string}`;
1471
+ gas?: bigint;
1472
+ gasPrice?: bigint;
1473
+ maxFeePerGas?: bigint;
1474
+ maxPriorityFeePerGas?: bigint;
1475
+ nonce?: number;
1476
+ value?: bigint;
1477
+ }): Promise<void>;
1478
+ /**
1479
+ * Simulate transferOwnership
1480
+ * Returns gas estimate and result without sending transaction
1481
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
1482
+ */
1483
+ transferOwnership(newOwner: `0x${string}`, options?: {
1484
+ accessList?: import("viem").AccessList;
1485
+ authorizationList?: import("viem").AuthorizationList;
1486
+ chain?: import("viem").Chain | null;
1487
+ dataSuffix?: `0x${string}`;
1488
+ gas?: bigint;
1489
+ gasPrice?: bigint;
1490
+ maxFeePerGas?: bigint;
1491
+ maxPriorityFeePerGas?: bigint;
1492
+ nonce?: number;
1493
+ value?: bigint;
1494
+ }): Promise<void>;
1495
+ };
1496
+ /**
1497
+ * Watch contract events
1498
+ *
1499
+ * @example
1500
+ * // Watch all Transfer events
1501
+ * const unwatch = contract.watch.Transfer((event) => {
1502
+ * console.log('Transfer:', event);
1503
+ * });
1504
+ *
1505
+ * // Stop watching
1506
+ * unwatch();
1507
+ */
1508
+ get watch(): {
1509
+ /**
1510
+ * Watch AllowedFeeUpdated events
1511
+ * @param callback Function to call when event is emitted
1512
+ * @param filter Optional filter for indexed parameters
1513
+ * @returns Unwatch function to stop listening
1514
+ */
1515
+ AllowedFeeUpdated: (callback: (event: {
1516
+ oldFee: bigint;
1517
+ newFee: bigint;
1518
+ }) => void) => () => void;
1519
+ /**
1520
+ * Watch BlockedFeeUpdated events
1521
+ * @param callback Function to call when event is emitted
1522
+ * @param filter Optional filter for indexed parameters
1523
+ * @returns Unwatch function to stop listening
1524
+ */
1525
+ BlockedFeeUpdated: (callback: (event: {
1526
+ oldFee: bigint;
1527
+ newFee: bigint;
1528
+ }) => void) => () => void;
1529
+ /**
1530
+ * Watch OwnerTransferred events
1531
+ * @param callback Function to call when event is emitted
1532
+ * @param filter Optional filter for indexed parameters
1533
+ * @returns Unwatch function to stop listening
1534
+ */
1535
+ OwnerTransferred: (callback: (event: {
1536
+ oldOwner: `0x${string}`;
1537
+ newOwner: `0x${string}`;
1538
+ }) => void, filter?: {
1539
+ oldOwner: `0x${string}`;
1540
+ newOwner: `0x${string}`;
1541
+ }) => () => void;
1542
+ };
1543
+ }