@gitmyabi/pooladdressesprovider 0.0.0-stage → 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,1149 @@
1
+ import type { Address, PublicClient, WalletClient } from 'viem';
2
+ /**
3
+ * PoolAddressesProvider ABI
4
+ *
5
+ * This ABI is typed using viem's type system for full type safety.
6
+ */
7
+ export declare const PoolAddressesProviderAbi: readonly [{
8
+ readonly inputs: readonly [{
9
+ readonly internalType: "string";
10
+ readonly name: "marketId";
11
+ readonly type: "string";
12
+ }, {
13
+ readonly internalType: "address";
14
+ readonly name: "owner";
15
+ readonly type: "address";
16
+ }];
17
+ readonly stateMutability: "nonpayable";
18
+ readonly type: "constructor";
19
+ }, {
20
+ readonly anonymous: false;
21
+ readonly inputs: readonly [{
22
+ readonly indexed: true;
23
+ readonly internalType: "address";
24
+ readonly name: "oldAddress";
25
+ readonly type: "address";
26
+ }, {
27
+ readonly indexed: true;
28
+ readonly internalType: "address";
29
+ readonly name: "newAddress";
30
+ readonly type: "address";
31
+ }];
32
+ readonly name: "ACLAdminUpdated";
33
+ readonly type: "event";
34
+ }, {
35
+ readonly anonymous: false;
36
+ readonly inputs: readonly [{
37
+ readonly indexed: true;
38
+ readonly internalType: "address";
39
+ readonly name: "oldAddress";
40
+ readonly type: "address";
41
+ }, {
42
+ readonly indexed: true;
43
+ readonly internalType: "address";
44
+ readonly name: "newAddress";
45
+ readonly type: "address";
46
+ }];
47
+ readonly name: "ACLManagerUpdated";
48
+ readonly type: "event";
49
+ }, {
50
+ readonly anonymous: false;
51
+ readonly inputs: readonly [{
52
+ readonly indexed: true;
53
+ readonly internalType: "bytes32";
54
+ readonly name: "id";
55
+ readonly type: "bytes32";
56
+ }, {
57
+ readonly indexed: true;
58
+ readonly internalType: "address";
59
+ readonly name: "oldAddress";
60
+ readonly type: "address";
61
+ }, {
62
+ readonly indexed: true;
63
+ readonly internalType: "address";
64
+ readonly name: "newAddress";
65
+ readonly type: "address";
66
+ }];
67
+ readonly name: "AddressSet";
68
+ readonly type: "event";
69
+ }, {
70
+ readonly anonymous: false;
71
+ readonly inputs: readonly [{
72
+ readonly indexed: true;
73
+ readonly internalType: "bytes32";
74
+ readonly name: "id";
75
+ readonly type: "bytes32";
76
+ }, {
77
+ readonly indexed: true;
78
+ readonly internalType: "address";
79
+ readonly name: "proxyAddress";
80
+ readonly type: "address";
81
+ }, {
82
+ readonly indexed: false;
83
+ readonly internalType: "address";
84
+ readonly name: "oldImplementationAddress";
85
+ readonly type: "address";
86
+ }, {
87
+ readonly indexed: true;
88
+ readonly internalType: "address";
89
+ readonly name: "newImplementationAddress";
90
+ readonly type: "address";
91
+ }];
92
+ readonly name: "AddressSetAsProxy";
93
+ readonly type: "event";
94
+ }, {
95
+ readonly anonymous: false;
96
+ readonly inputs: readonly [{
97
+ readonly indexed: true;
98
+ readonly internalType: "string";
99
+ readonly name: "oldMarketId";
100
+ readonly type: "string";
101
+ }, {
102
+ readonly indexed: true;
103
+ readonly internalType: "string";
104
+ readonly name: "newMarketId";
105
+ readonly type: "string";
106
+ }];
107
+ readonly name: "MarketIdSet";
108
+ readonly type: "event";
109
+ }, {
110
+ readonly anonymous: false;
111
+ readonly inputs: readonly [{
112
+ readonly indexed: true;
113
+ readonly internalType: "address";
114
+ readonly name: "previousOwner";
115
+ readonly type: "address";
116
+ }, {
117
+ readonly indexed: true;
118
+ readonly internalType: "address";
119
+ readonly name: "newOwner";
120
+ readonly type: "address";
121
+ }];
122
+ readonly name: "OwnershipTransferred";
123
+ readonly type: "event";
124
+ }, {
125
+ readonly anonymous: false;
126
+ readonly inputs: readonly [{
127
+ readonly indexed: true;
128
+ readonly internalType: "address";
129
+ readonly name: "oldAddress";
130
+ readonly type: "address";
131
+ }, {
132
+ readonly indexed: true;
133
+ readonly internalType: "address";
134
+ readonly name: "newAddress";
135
+ readonly type: "address";
136
+ }];
137
+ readonly name: "PoolConfiguratorUpdated";
138
+ readonly type: "event";
139
+ }, {
140
+ readonly anonymous: false;
141
+ readonly inputs: readonly [{
142
+ readonly indexed: true;
143
+ readonly internalType: "address";
144
+ readonly name: "oldAddress";
145
+ readonly type: "address";
146
+ }, {
147
+ readonly indexed: true;
148
+ readonly internalType: "address";
149
+ readonly name: "newAddress";
150
+ readonly type: "address";
151
+ }];
152
+ readonly name: "PoolDataProviderUpdated";
153
+ readonly type: "event";
154
+ }, {
155
+ readonly anonymous: false;
156
+ readonly inputs: readonly [{
157
+ readonly indexed: true;
158
+ readonly internalType: "address";
159
+ readonly name: "oldAddress";
160
+ readonly type: "address";
161
+ }, {
162
+ readonly indexed: true;
163
+ readonly internalType: "address";
164
+ readonly name: "newAddress";
165
+ readonly type: "address";
166
+ }];
167
+ readonly name: "PoolUpdated";
168
+ readonly type: "event";
169
+ }, {
170
+ readonly anonymous: false;
171
+ readonly inputs: readonly [{
172
+ readonly indexed: true;
173
+ readonly internalType: "address";
174
+ readonly name: "oldAddress";
175
+ readonly type: "address";
176
+ }, {
177
+ readonly indexed: true;
178
+ readonly internalType: "address";
179
+ readonly name: "newAddress";
180
+ readonly type: "address";
181
+ }];
182
+ readonly name: "PriceOracleSentinelUpdated";
183
+ readonly type: "event";
184
+ }, {
185
+ readonly anonymous: false;
186
+ readonly inputs: readonly [{
187
+ readonly indexed: true;
188
+ readonly internalType: "address";
189
+ readonly name: "oldAddress";
190
+ readonly type: "address";
191
+ }, {
192
+ readonly indexed: true;
193
+ readonly internalType: "address";
194
+ readonly name: "newAddress";
195
+ readonly type: "address";
196
+ }];
197
+ readonly name: "PriceOracleUpdated";
198
+ readonly type: "event";
199
+ }, {
200
+ readonly anonymous: false;
201
+ readonly inputs: readonly [{
202
+ readonly indexed: true;
203
+ readonly internalType: "bytes32";
204
+ readonly name: "id";
205
+ readonly type: "bytes32";
206
+ }, {
207
+ readonly indexed: true;
208
+ readonly internalType: "address";
209
+ readonly name: "proxyAddress";
210
+ readonly type: "address";
211
+ }, {
212
+ readonly indexed: true;
213
+ readonly internalType: "address";
214
+ readonly name: "implementationAddress";
215
+ readonly type: "address";
216
+ }];
217
+ readonly name: "ProxyCreated";
218
+ readonly type: "event";
219
+ }, {
220
+ readonly inputs: readonly [];
221
+ readonly name: "getACLAdmin";
222
+ readonly outputs: readonly [{
223
+ readonly internalType: "address";
224
+ readonly name: "";
225
+ readonly type: "address";
226
+ }];
227
+ readonly stateMutability: "view";
228
+ readonly type: "function";
229
+ }, {
230
+ readonly inputs: readonly [];
231
+ readonly name: "getACLManager";
232
+ readonly outputs: readonly [{
233
+ readonly internalType: "address";
234
+ readonly name: "";
235
+ readonly type: "address";
236
+ }];
237
+ readonly stateMutability: "view";
238
+ readonly type: "function";
239
+ }, {
240
+ readonly inputs: readonly [{
241
+ readonly internalType: "bytes32";
242
+ readonly name: "id";
243
+ readonly type: "bytes32";
244
+ }];
245
+ readonly name: "getAddress";
246
+ readonly outputs: readonly [{
247
+ readonly internalType: "address";
248
+ readonly name: "";
249
+ readonly type: "address";
250
+ }];
251
+ readonly stateMutability: "view";
252
+ readonly type: "function";
253
+ }, {
254
+ readonly inputs: readonly [];
255
+ readonly name: "getMarketId";
256
+ readonly outputs: readonly [{
257
+ readonly internalType: "string";
258
+ readonly name: "";
259
+ readonly type: "string";
260
+ }];
261
+ readonly stateMutability: "view";
262
+ readonly type: "function";
263
+ }, {
264
+ readonly inputs: readonly [];
265
+ readonly name: "getPool";
266
+ readonly outputs: readonly [{
267
+ readonly internalType: "address";
268
+ readonly name: "";
269
+ readonly type: "address";
270
+ }];
271
+ readonly stateMutability: "view";
272
+ readonly type: "function";
273
+ }, {
274
+ readonly inputs: readonly [];
275
+ readonly name: "getPoolConfigurator";
276
+ readonly outputs: readonly [{
277
+ readonly internalType: "address";
278
+ readonly name: "";
279
+ readonly type: "address";
280
+ }];
281
+ readonly stateMutability: "view";
282
+ readonly type: "function";
283
+ }, {
284
+ readonly inputs: readonly [];
285
+ readonly name: "getPoolDataProvider";
286
+ readonly outputs: readonly [{
287
+ readonly internalType: "address";
288
+ readonly name: "";
289
+ readonly type: "address";
290
+ }];
291
+ readonly stateMutability: "view";
292
+ readonly type: "function";
293
+ }, {
294
+ readonly inputs: readonly [];
295
+ readonly name: "getPriceOracle";
296
+ readonly outputs: readonly [{
297
+ readonly internalType: "address";
298
+ readonly name: "";
299
+ readonly type: "address";
300
+ }];
301
+ readonly stateMutability: "view";
302
+ readonly type: "function";
303
+ }, {
304
+ readonly inputs: readonly [];
305
+ readonly name: "getPriceOracleSentinel";
306
+ readonly outputs: readonly [{
307
+ readonly internalType: "address";
308
+ readonly name: "";
309
+ readonly type: "address";
310
+ }];
311
+ readonly stateMutability: "view";
312
+ readonly type: "function";
313
+ }, {
314
+ readonly inputs: readonly [];
315
+ readonly name: "owner";
316
+ readonly outputs: readonly [{
317
+ readonly internalType: "address";
318
+ readonly name: "";
319
+ readonly type: "address";
320
+ }];
321
+ readonly stateMutability: "view";
322
+ readonly type: "function";
323
+ }, {
324
+ readonly inputs: readonly [];
325
+ readonly name: "renounceOwnership";
326
+ readonly outputs: readonly [];
327
+ readonly stateMutability: "nonpayable";
328
+ readonly type: "function";
329
+ }, {
330
+ readonly inputs: readonly [{
331
+ readonly internalType: "address";
332
+ readonly name: "newAclAdmin";
333
+ readonly type: "address";
334
+ }];
335
+ readonly name: "setACLAdmin";
336
+ readonly outputs: readonly [];
337
+ readonly stateMutability: "nonpayable";
338
+ readonly type: "function";
339
+ }, {
340
+ readonly inputs: readonly [{
341
+ readonly internalType: "address";
342
+ readonly name: "newAclManager";
343
+ readonly type: "address";
344
+ }];
345
+ readonly name: "setACLManager";
346
+ readonly outputs: readonly [];
347
+ readonly stateMutability: "nonpayable";
348
+ readonly type: "function";
349
+ }, {
350
+ readonly inputs: readonly [{
351
+ readonly internalType: "bytes32";
352
+ readonly name: "id";
353
+ readonly type: "bytes32";
354
+ }, {
355
+ readonly internalType: "address";
356
+ readonly name: "newAddress";
357
+ readonly type: "address";
358
+ }];
359
+ readonly name: "setAddress";
360
+ readonly outputs: readonly [];
361
+ readonly stateMutability: "nonpayable";
362
+ readonly type: "function";
363
+ }, {
364
+ readonly inputs: readonly [{
365
+ readonly internalType: "bytes32";
366
+ readonly name: "id";
367
+ readonly type: "bytes32";
368
+ }, {
369
+ readonly internalType: "address";
370
+ readonly name: "newImplementationAddress";
371
+ readonly type: "address";
372
+ }];
373
+ readonly name: "setAddressAsProxy";
374
+ readonly outputs: readonly [];
375
+ readonly stateMutability: "nonpayable";
376
+ readonly type: "function";
377
+ }, {
378
+ readonly inputs: readonly [{
379
+ readonly internalType: "string";
380
+ readonly name: "newMarketId";
381
+ readonly type: "string";
382
+ }];
383
+ readonly name: "setMarketId";
384
+ readonly outputs: readonly [];
385
+ readonly stateMutability: "nonpayable";
386
+ readonly type: "function";
387
+ }, {
388
+ readonly inputs: readonly [{
389
+ readonly internalType: "address";
390
+ readonly name: "newPoolConfiguratorImpl";
391
+ readonly type: "address";
392
+ }];
393
+ readonly name: "setPoolConfiguratorImpl";
394
+ readonly outputs: readonly [];
395
+ readonly stateMutability: "nonpayable";
396
+ readonly type: "function";
397
+ }, {
398
+ readonly inputs: readonly [{
399
+ readonly internalType: "address";
400
+ readonly name: "newDataProvider";
401
+ readonly type: "address";
402
+ }];
403
+ readonly name: "setPoolDataProvider";
404
+ readonly outputs: readonly [];
405
+ readonly stateMutability: "nonpayable";
406
+ readonly type: "function";
407
+ }, {
408
+ readonly inputs: readonly [{
409
+ readonly internalType: "address";
410
+ readonly name: "newPoolImpl";
411
+ readonly type: "address";
412
+ }];
413
+ readonly name: "setPoolImpl";
414
+ readonly outputs: readonly [];
415
+ readonly stateMutability: "nonpayable";
416
+ readonly type: "function";
417
+ }, {
418
+ readonly inputs: readonly [{
419
+ readonly internalType: "address";
420
+ readonly name: "newPriceOracle";
421
+ readonly type: "address";
422
+ }];
423
+ readonly name: "setPriceOracle";
424
+ readonly outputs: readonly [];
425
+ readonly stateMutability: "nonpayable";
426
+ readonly type: "function";
427
+ }, {
428
+ readonly inputs: readonly [{
429
+ readonly internalType: "address";
430
+ readonly name: "newPriceOracleSentinel";
431
+ readonly type: "address";
432
+ }];
433
+ readonly name: "setPriceOracleSentinel";
434
+ readonly outputs: readonly [];
435
+ readonly stateMutability: "nonpayable";
436
+ readonly type: "function";
437
+ }, {
438
+ readonly inputs: readonly [{
439
+ readonly internalType: "address";
440
+ readonly name: "newOwner";
441
+ readonly type: "address";
442
+ }];
443
+ readonly name: "transferOwnership";
444
+ readonly outputs: readonly [];
445
+ readonly stateMutability: "nonpayable";
446
+ readonly type: "function";
447
+ }];
448
+ /**
449
+ * Type-safe ABI for PoolAddressesProvider
450
+ */
451
+ export type PoolAddressesProviderAbi = typeof PoolAddressesProviderAbi;
452
+ /**
453
+ * Contract instance type for PoolAddressesProvider
454
+ */
455
+ export type PoolAddressesProviderContract = any;
456
+ /**
457
+ * PoolAddressesProvider Contract Class
458
+ *
459
+ * Provides a class-based API similar to TypeChain for interacting with the contract.
460
+ *
461
+ * @example
462
+ * ```typescript
463
+ * import { createPublicClient, createWalletClient, http } from 'viem';
464
+ * import { mainnet } from 'viem/chains';
465
+ * import { PoolAddressesProvider } from 'PoolAddressesProvider';
466
+ *
467
+ * const publicClient = createPublicClient({ chain: mainnet, transport: http() });
468
+ * const walletClient = createWalletClient({ chain: mainnet, transport: http() });
469
+ *
470
+ * const contract = new PoolAddressesProvider('0x...', { publicClient, walletClient });
471
+ *
472
+ * // Read functions
473
+ * const result = await contract.balanceOf('0x...');
474
+ *
475
+ * // Write functions
476
+ * const hash = await contract.transfer('0x...', 1000n);
477
+ *
478
+ * // Simulate transactions (dry-run)
479
+ * const simulation = await contract.simulate.transfer('0x...', 1000n);
480
+ * console.log('Gas estimate:', simulation.request.gas);
481
+ *
482
+ * // Watch events
483
+ * const unwatch = contract.watch.Transfer((event) => {
484
+ * console.log('Transfer event:', event);
485
+ * });
486
+ * ```
487
+ */
488
+ export declare class PoolAddressesProvider {
489
+ private contract;
490
+ private contractAddress;
491
+ private publicClient;
492
+ constructor(address: Address, clients: {
493
+ publicClient: PublicClient;
494
+ walletClient?: WalletClient;
495
+ });
496
+ /**
497
+ * Get the contract address
498
+ */
499
+ get address(): Address;
500
+ /**
501
+ * Get the underlying viem contract instance.
502
+ */
503
+ getContract(): PoolAddressesProviderContract;
504
+ /**
505
+ * getACLAdmin
506
+ * view
507
+ */
508
+ getACLAdmin(): Promise<`0x${string}`>;
509
+ /**
510
+ * getACLManager
511
+ * view
512
+ */
513
+ getACLManager(): Promise<`0x${string}`>;
514
+ /**
515
+ * getAddress
516
+ * view
517
+ */
518
+ getAddress(id: `0x${string}`): Promise<`0x${string}`>;
519
+ /**
520
+ * getMarketId
521
+ * view
522
+ */
523
+ getMarketId(): Promise<string>;
524
+ /**
525
+ * getPool
526
+ * view
527
+ */
528
+ getPool(): Promise<`0x${string}`>;
529
+ /**
530
+ * getPoolConfigurator
531
+ * view
532
+ */
533
+ getPoolConfigurator(): Promise<`0x${string}`>;
534
+ /**
535
+ * getPoolDataProvider
536
+ * view
537
+ */
538
+ getPoolDataProvider(): Promise<`0x${string}`>;
539
+ /**
540
+ * getPriceOracle
541
+ * view
542
+ */
543
+ getPriceOracle(): Promise<`0x${string}`>;
544
+ /**
545
+ * getPriceOracleSentinel
546
+ * view
547
+ */
548
+ getPriceOracleSentinel(): Promise<`0x${string}`>;
549
+ /**
550
+ * owner
551
+ * view
552
+ */
553
+ owner(): Promise<`0x${string}`>;
554
+ /**
555
+ * renounceOwnership
556
+ * nonpayable
557
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
558
+ */
559
+ renounceOwnership(options?: {
560
+ accessList?: import('viem').AccessList;
561
+ authorizationList?: import('viem').AuthorizationList;
562
+ chain?: import('viem').Chain | null;
563
+ dataSuffix?: `0x${string}`;
564
+ gas?: bigint;
565
+ gasPrice?: bigint;
566
+ maxFeePerGas?: bigint;
567
+ maxPriorityFeePerGas?: bigint;
568
+ nonce?: number;
569
+ value?: bigint;
570
+ }): Promise<`0x${string}`>;
571
+ /**
572
+ * setACLAdmin
573
+ * nonpayable
574
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
575
+ */
576
+ setACLAdmin(newAclAdmin: `0x${string}`, options?: {
577
+ accessList?: import('viem').AccessList;
578
+ authorizationList?: import('viem').AuthorizationList;
579
+ chain?: import('viem').Chain | null;
580
+ dataSuffix?: `0x${string}`;
581
+ gas?: bigint;
582
+ gasPrice?: bigint;
583
+ maxFeePerGas?: bigint;
584
+ maxPriorityFeePerGas?: bigint;
585
+ nonce?: number;
586
+ value?: bigint;
587
+ }): Promise<`0x${string}`>;
588
+ /**
589
+ * setACLManager
590
+ * nonpayable
591
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
592
+ */
593
+ setACLManager(newAclManager: `0x${string}`, options?: {
594
+ accessList?: import('viem').AccessList;
595
+ authorizationList?: import('viem').AuthorizationList;
596
+ chain?: import('viem').Chain | null;
597
+ dataSuffix?: `0x${string}`;
598
+ gas?: bigint;
599
+ gasPrice?: bigint;
600
+ maxFeePerGas?: bigint;
601
+ maxPriorityFeePerGas?: bigint;
602
+ nonce?: number;
603
+ value?: bigint;
604
+ }): Promise<`0x${string}`>;
605
+ /**
606
+ * setAddress
607
+ * nonpayable
608
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
609
+ */
610
+ setAddress(id: `0x${string}`, newAddress: `0x${string}`, options?: {
611
+ accessList?: import('viem').AccessList;
612
+ authorizationList?: import('viem').AuthorizationList;
613
+ chain?: import('viem').Chain | null;
614
+ dataSuffix?: `0x${string}`;
615
+ gas?: bigint;
616
+ gasPrice?: bigint;
617
+ maxFeePerGas?: bigint;
618
+ maxPriorityFeePerGas?: bigint;
619
+ nonce?: number;
620
+ value?: bigint;
621
+ }): Promise<`0x${string}`>;
622
+ /**
623
+ * setAddressAsProxy
624
+ * nonpayable
625
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
626
+ */
627
+ setAddressAsProxy(id: `0x${string}`, newImplementationAddress: `0x${string}`, options?: {
628
+ accessList?: import('viem').AccessList;
629
+ authorizationList?: import('viem').AuthorizationList;
630
+ chain?: import('viem').Chain | null;
631
+ dataSuffix?: `0x${string}`;
632
+ gas?: bigint;
633
+ gasPrice?: bigint;
634
+ maxFeePerGas?: bigint;
635
+ maxPriorityFeePerGas?: bigint;
636
+ nonce?: number;
637
+ value?: bigint;
638
+ }): Promise<`0x${string}`>;
639
+ /**
640
+ * setMarketId
641
+ * nonpayable
642
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
643
+ */
644
+ setMarketId(newMarketId: string, options?: {
645
+ accessList?: import('viem').AccessList;
646
+ authorizationList?: import('viem').AuthorizationList;
647
+ chain?: import('viem').Chain | null;
648
+ dataSuffix?: `0x${string}`;
649
+ gas?: bigint;
650
+ gasPrice?: bigint;
651
+ maxFeePerGas?: bigint;
652
+ maxPriorityFeePerGas?: bigint;
653
+ nonce?: number;
654
+ value?: bigint;
655
+ }): Promise<`0x${string}`>;
656
+ /**
657
+ * setPoolConfiguratorImpl
658
+ * nonpayable
659
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
660
+ */
661
+ setPoolConfiguratorImpl(newPoolConfiguratorImpl: `0x${string}`, options?: {
662
+ accessList?: import('viem').AccessList;
663
+ authorizationList?: import('viem').AuthorizationList;
664
+ chain?: import('viem').Chain | null;
665
+ dataSuffix?: `0x${string}`;
666
+ gas?: bigint;
667
+ gasPrice?: bigint;
668
+ maxFeePerGas?: bigint;
669
+ maxPriorityFeePerGas?: bigint;
670
+ nonce?: number;
671
+ value?: bigint;
672
+ }): Promise<`0x${string}`>;
673
+ /**
674
+ * setPoolDataProvider
675
+ * nonpayable
676
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
677
+ */
678
+ setPoolDataProvider(newDataProvider: `0x${string}`, options?: {
679
+ accessList?: import('viem').AccessList;
680
+ authorizationList?: import('viem').AuthorizationList;
681
+ chain?: import('viem').Chain | null;
682
+ dataSuffix?: `0x${string}`;
683
+ gas?: bigint;
684
+ gasPrice?: bigint;
685
+ maxFeePerGas?: bigint;
686
+ maxPriorityFeePerGas?: bigint;
687
+ nonce?: number;
688
+ value?: bigint;
689
+ }): Promise<`0x${string}`>;
690
+ /**
691
+ * setPoolImpl
692
+ * nonpayable
693
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
694
+ */
695
+ setPoolImpl(newPoolImpl: `0x${string}`, options?: {
696
+ accessList?: import('viem').AccessList;
697
+ authorizationList?: import('viem').AuthorizationList;
698
+ chain?: import('viem').Chain | null;
699
+ dataSuffix?: `0x${string}`;
700
+ gas?: bigint;
701
+ gasPrice?: bigint;
702
+ maxFeePerGas?: bigint;
703
+ maxPriorityFeePerGas?: bigint;
704
+ nonce?: number;
705
+ value?: bigint;
706
+ }): Promise<`0x${string}`>;
707
+ /**
708
+ * setPriceOracle
709
+ * nonpayable
710
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
711
+ */
712
+ setPriceOracle(newPriceOracle: `0x${string}`, options?: {
713
+ accessList?: import('viem').AccessList;
714
+ authorizationList?: import('viem').AuthorizationList;
715
+ chain?: import('viem').Chain | null;
716
+ dataSuffix?: `0x${string}`;
717
+ gas?: bigint;
718
+ gasPrice?: bigint;
719
+ maxFeePerGas?: bigint;
720
+ maxPriorityFeePerGas?: bigint;
721
+ nonce?: number;
722
+ value?: bigint;
723
+ }): Promise<`0x${string}`>;
724
+ /**
725
+ * setPriceOracleSentinel
726
+ * nonpayable
727
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
728
+ */
729
+ setPriceOracleSentinel(newPriceOracleSentinel: `0x${string}`, options?: {
730
+ accessList?: import('viem').AccessList;
731
+ authorizationList?: import('viem').AuthorizationList;
732
+ chain?: import('viem').Chain | null;
733
+ dataSuffix?: `0x${string}`;
734
+ gas?: bigint;
735
+ gasPrice?: bigint;
736
+ maxFeePerGas?: bigint;
737
+ maxPriorityFeePerGas?: bigint;
738
+ nonce?: number;
739
+ value?: bigint;
740
+ }): Promise<`0x${string}`>;
741
+ /**
742
+ * transferOwnership
743
+ * nonpayable
744
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
745
+ */
746
+ transferOwnership(newOwner: `0x${string}`, options?: {
747
+ accessList?: import('viem').AccessList;
748
+ authorizationList?: import('viem').AuthorizationList;
749
+ chain?: import('viem').Chain | null;
750
+ dataSuffix?: `0x${string}`;
751
+ gas?: bigint;
752
+ gasPrice?: bigint;
753
+ maxFeePerGas?: bigint;
754
+ maxPriorityFeePerGas?: bigint;
755
+ nonce?: number;
756
+ value?: bigint;
757
+ }): Promise<`0x${string}`>;
758
+ /**
759
+ * Simulate contract write operations (dry-run without sending transaction)
760
+ *
761
+ * @example
762
+ * const result = await contract.simulate.transfer('0x...', 1000n);
763
+ * console.log('Gas estimate:', result.request.gas);
764
+ * console.log('Would succeed:', result.result);
765
+ */
766
+ get simulate(): {
767
+ /**
768
+ * Simulate renounceOwnership
769
+ * Returns gas estimate and result without sending transaction
770
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
771
+ */
772
+ renounceOwnership(options?: {
773
+ accessList?: import("viem").AccessList;
774
+ authorizationList?: import("viem").AuthorizationList;
775
+ chain?: import("viem").Chain | null;
776
+ dataSuffix?: `0x${string}`;
777
+ gas?: bigint;
778
+ gasPrice?: bigint;
779
+ maxFeePerGas?: bigint;
780
+ maxPriorityFeePerGas?: bigint;
781
+ nonce?: number;
782
+ value?: bigint;
783
+ }): Promise<void>;
784
+ /**
785
+ * Simulate setACLAdmin
786
+ * Returns gas estimate and result without sending transaction
787
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
788
+ */
789
+ setACLAdmin(newAclAdmin: `0x${string}`, options?: {
790
+ accessList?: import("viem").AccessList;
791
+ authorizationList?: import("viem").AuthorizationList;
792
+ chain?: import("viem").Chain | null;
793
+ dataSuffix?: `0x${string}`;
794
+ gas?: bigint;
795
+ gasPrice?: bigint;
796
+ maxFeePerGas?: bigint;
797
+ maxPriorityFeePerGas?: bigint;
798
+ nonce?: number;
799
+ value?: bigint;
800
+ }): Promise<void>;
801
+ /**
802
+ * Simulate setACLManager
803
+ * Returns gas estimate and result without sending transaction
804
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
805
+ */
806
+ setACLManager(newAclManager: `0x${string}`, options?: {
807
+ accessList?: import("viem").AccessList;
808
+ authorizationList?: import("viem").AuthorizationList;
809
+ chain?: import("viem").Chain | null;
810
+ dataSuffix?: `0x${string}`;
811
+ gas?: bigint;
812
+ gasPrice?: bigint;
813
+ maxFeePerGas?: bigint;
814
+ maxPriorityFeePerGas?: bigint;
815
+ nonce?: number;
816
+ value?: bigint;
817
+ }): Promise<void>;
818
+ /**
819
+ * Simulate setAddress
820
+ * Returns gas estimate and result without sending transaction
821
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
822
+ */
823
+ setAddress(id: `0x${string}`, newAddress: `0x${string}`, options?: {
824
+ accessList?: import("viem").AccessList;
825
+ authorizationList?: import("viem").AuthorizationList;
826
+ chain?: import("viem").Chain | null;
827
+ dataSuffix?: `0x${string}`;
828
+ gas?: bigint;
829
+ gasPrice?: bigint;
830
+ maxFeePerGas?: bigint;
831
+ maxPriorityFeePerGas?: bigint;
832
+ nonce?: number;
833
+ value?: bigint;
834
+ }): Promise<void>;
835
+ /**
836
+ * Simulate setAddressAsProxy
837
+ * Returns gas estimate and result without sending transaction
838
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
839
+ */
840
+ setAddressAsProxy(id: `0x${string}`, newImplementationAddress: `0x${string}`, options?: {
841
+ accessList?: import("viem").AccessList;
842
+ authorizationList?: import("viem").AuthorizationList;
843
+ chain?: import("viem").Chain | null;
844
+ dataSuffix?: `0x${string}`;
845
+ gas?: bigint;
846
+ gasPrice?: bigint;
847
+ maxFeePerGas?: bigint;
848
+ maxPriorityFeePerGas?: bigint;
849
+ nonce?: number;
850
+ value?: bigint;
851
+ }): Promise<void>;
852
+ /**
853
+ * Simulate setMarketId
854
+ * Returns gas estimate and result without sending transaction
855
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
856
+ */
857
+ setMarketId(newMarketId: string, options?: {
858
+ accessList?: import("viem").AccessList;
859
+ authorizationList?: import("viem").AuthorizationList;
860
+ chain?: import("viem").Chain | null;
861
+ dataSuffix?: `0x${string}`;
862
+ gas?: bigint;
863
+ gasPrice?: bigint;
864
+ maxFeePerGas?: bigint;
865
+ maxPriorityFeePerGas?: bigint;
866
+ nonce?: number;
867
+ value?: bigint;
868
+ }): Promise<void>;
869
+ /**
870
+ * Simulate setPoolConfiguratorImpl
871
+ * Returns gas estimate and result without sending transaction
872
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
873
+ */
874
+ setPoolConfiguratorImpl(newPoolConfiguratorImpl: `0x${string}`, options?: {
875
+ accessList?: import("viem").AccessList;
876
+ authorizationList?: import("viem").AuthorizationList;
877
+ chain?: import("viem").Chain | null;
878
+ dataSuffix?: `0x${string}`;
879
+ gas?: bigint;
880
+ gasPrice?: bigint;
881
+ maxFeePerGas?: bigint;
882
+ maxPriorityFeePerGas?: bigint;
883
+ nonce?: number;
884
+ value?: bigint;
885
+ }): Promise<void>;
886
+ /**
887
+ * Simulate setPoolDataProvider
888
+ * Returns gas estimate and result without sending transaction
889
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
890
+ */
891
+ setPoolDataProvider(newDataProvider: `0x${string}`, options?: {
892
+ accessList?: import("viem").AccessList;
893
+ authorizationList?: import("viem").AuthorizationList;
894
+ chain?: import("viem").Chain | null;
895
+ dataSuffix?: `0x${string}`;
896
+ gas?: bigint;
897
+ gasPrice?: bigint;
898
+ maxFeePerGas?: bigint;
899
+ maxPriorityFeePerGas?: bigint;
900
+ nonce?: number;
901
+ value?: bigint;
902
+ }): Promise<void>;
903
+ /**
904
+ * Simulate setPoolImpl
905
+ * Returns gas estimate and result without sending transaction
906
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
907
+ */
908
+ setPoolImpl(newPoolImpl: `0x${string}`, options?: {
909
+ accessList?: import("viem").AccessList;
910
+ authorizationList?: import("viem").AuthorizationList;
911
+ chain?: import("viem").Chain | null;
912
+ dataSuffix?: `0x${string}`;
913
+ gas?: bigint;
914
+ gasPrice?: bigint;
915
+ maxFeePerGas?: bigint;
916
+ maxPriorityFeePerGas?: bigint;
917
+ nonce?: number;
918
+ value?: bigint;
919
+ }): Promise<void>;
920
+ /**
921
+ * Simulate setPriceOracle
922
+ * Returns gas estimate and result without sending transaction
923
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
924
+ */
925
+ setPriceOracle(newPriceOracle: `0x${string}`, options?: {
926
+ accessList?: import("viem").AccessList;
927
+ authorizationList?: import("viem").AuthorizationList;
928
+ chain?: import("viem").Chain | null;
929
+ dataSuffix?: `0x${string}`;
930
+ gas?: bigint;
931
+ gasPrice?: bigint;
932
+ maxFeePerGas?: bigint;
933
+ maxPriorityFeePerGas?: bigint;
934
+ nonce?: number;
935
+ value?: bigint;
936
+ }): Promise<void>;
937
+ /**
938
+ * Simulate setPriceOracleSentinel
939
+ * Returns gas estimate and result without sending transaction
940
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
941
+ */
942
+ setPriceOracleSentinel(newPriceOracleSentinel: `0x${string}`, options?: {
943
+ accessList?: import("viem").AccessList;
944
+ authorizationList?: import("viem").AuthorizationList;
945
+ chain?: import("viem").Chain | null;
946
+ dataSuffix?: `0x${string}`;
947
+ gas?: bigint;
948
+ gasPrice?: bigint;
949
+ maxFeePerGas?: bigint;
950
+ maxPriorityFeePerGas?: bigint;
951
+ nonce?: number;
952
+ value?: bigint;
953
+ }): Promise<void>;
954
+ /**
955
+ * Simulate transferOwnership
956
+ * Returns gas estimate and result without sending transaction
957
+ * @param options Optional transaction parameters (value, gas, nonce, etc.)
958
+ */
959
+ transferOwnership(newOwner: `0x${string}`, options?: {
960
+ accessList?: import("viem").AccessList;
961
+ authorizationList?: import("viem").AuthorizationList;
962
+ chain?: import("viem").Chain | null;
963
+ dataSuffix?: `0x${string}`;
964
+ gas?: bigint;
965
+ gasPrice?: bigint;
966
+ maxFeePerGas?: bigint;
967
+ maxPriorityFeePerGas?: bigint;
968
+ nonce?: number;
969
+ value?: bigint;
970
+ }): Promise<void>;
971
+ };
972
+ /**
973
+ * Watch contract events
974
+ *
975
+ * @example
976
+ * // Watch all Transfer events
977
+ * const unwatch = contract.watch.Transfer((event) => {
978
+ * console.log('Transfer:', event);
979
+ * });
980
+ *
981
+ * // Stop watching
982
+ * unwatch();
983
+ */
984
+ get watch(): {
985
+ /**
986
+ * Watch ACLAdminUpdated events
987
+ * @param callback Function to call when event is emitted
988
+ * @param filter Optional filter for indexed parameters
989
+ * @returns Unwatch function to stop listening
990
+ */
991
+ ACLAdminUpdated: (callback: (event: {
992
+ oldAddress: `0x${string}`;
993
+ newAddress: `0x${string}`;
994
+ }) => void, filter?: {
995
+ oldAddress?: `0x${string}` | `0x${string}`[] | null;
996
+ newAddress?: `0x${string}` | `0x${string}`[] | null;
997
+ }) => () => void;
998
+ /**
999
+ * Watch ACLManagerUpdated events
1000
+ * @param callback Function to call when event is emitted
1001
+ * @param filter Optional filter for indexed parameters
1002
+ * @returns Unwatch function to stop listening
1003
+ */
1004
+ ACLManagerUpdated: (callback: (event: {
1005
+ oldAddress: `0x${string}`;
1006
+ newAddress: `0x${string}`;
1007
+ }) => void, filter?: {
1008
+ oldAddress?: `0x${string}` | `0x${string}`[] | null;
1009
+ newAddress?: `0x${string}` | `0x${string}`[] | null;
1010
+ }) => () => void;
1011
+ /**
1012
+ * Watch AddressSet events
1013
+ * @param callback Function to call when event is emitted
1014
+ * @param filter Optional filter for indexed parameters
1015
+ * @returns Unwatch function to stop listening
1016
+ */
1017
+ AddressSet: (callback: (event: {
1018
+ id: `0x${string}`;
1019
+ oldAddress: `0x${string}`;
1020
+ newAddress: `0x${string}`;
1021
+ }) => void, filter?: {
1022
+ id?: `0x${string}` | `0x${string}`[] | null;
1023
+ oldAddress?: `0x${string}` | `0x${string}`[] | null;
1024
+ newAddress?: `0x${string}` | `0x${string}`[] | null;
1025
+ }) => () => void;
1026
+ /**
1027
+ * Watch AddressSetAsProxy events
1028
+ * @param callback Function to call when event is emitted
1029
+ * @param filter Optional filter for indexed parameters
1030
+ * @returns Unwatch function to stop listening
1031
+ */
1032
+ AddressSetAsProxy: (callback: (event: {
1033
+ id: `0x${string}`;
1034
+ proxyAddress: `0x${string}`;
1035
+ oldImplementationAddress: `0x${string}`;
1036
+ newImplementationAddress: `0x${string}`;
1037
+ }) => void, filter?: {
1038
+ id?: `0x${string}` | `0x${string}`[] | null;
1039
+ proxyAddress?: `0x${string}` | `0x${string}`[] | null;
1040
+ newImplementationAddress?: `0x${string}` | `0x${string}`[] | null;
1041
+ }) => () => void;
1042
+ /**
1043
+ * Watch MarketIdSet events
1044
+ * @param callback Function to call when event is emitted
1045
+ * @param filter Optional filter for indexed parameters
1046
+ * @returns Unwatch function to stop listening
1047
+ */
1048
+ MarketIdSet: (callback: (event: {
1049
+ oldMarketId: string;
1050
+ newMarketId: string;
1051
+ }) => void, filter?: {
1052
+ oldMarketId?: string | string[] | null;
1053
+ newMarketId?: string | string[] | null;
1054
+ }) => () => void;
1055
+ /**
1056
+ * Watch OwnershipTransferred events
1057
+ * @param callback Function to call when event is emitted
1058
+ * @param filter Optional filter for indexed parameters
1059
+ * @returns Unwatch function to stop listening
1060
+ */
1061
+ OwnershipTransferred: (callback: (event: {
1062
+ previousOwner: `0x${string}`;
1063
+ newOwner: `0x${string}`;
1064
+ }) => void, filter?: {
1065
+ previousOwner?: `0x${string}` | `0x${string}`[] | null;
1066
+ newOwner?: `0x${string}` | `0x${string}`[] | null;
1067
+ }) => () => void;
1068
+ /**
1069
+ * Watch PoolConfiguratorUpdated events
1070
+ * @param callback Function to call when event is emitted
1071
+ * @param filter Optional filter for indexed parameters
1072
+ * @returns Unwatch function to stop listening
1073
+ */
1074
+ PoolConfiguratorUpdated: (callback: (event: {
1075
+ oldAddress: `0x${string}`;
1076
+ newAddress: `0x${string}`;
1077
+ }) => void, filter?: {
1078
+ oldAddress?: `0x${string}` | `0x${string}`[] | null;
1079
+ newAddress?: `0x${string}` | `0x${string}`[] | null;
1080
+ }) => () => void;
1081
+ /**
1082
+ * Watch PoolDataProviderUpdated events
1083
+ * @param callback Function to call when event is emitted
1084
+ * @param filter Optional filter for indexed parameters
1085
+ * @returns Unwatch function to stop listening
1086
+ */
1087
+ PoolDataProviderUpdated: (callback: (event: {
1088
+ oldAddress: `0x${string}`;
1089
+ newAddress: `0x${string}`;
1090
+ }) => void, filter?: {
1091
+ oldAddress?: `0x${string}` | `0x${string}`[] | null;
1092
+ newAddress?: `0x${string}` | `0x${string}`[] | null;
1093
+ }) => () => void;
1094
+ /**
1095
+ * Watch PoolUpdated events
1096
+ * @param callback Function to call when event is emitted
1097
+ * @param filter Optional filter for indexed parameters
1098
+ * @returns Unwatch function to stop listening
1099
+ */
1100
+ PoolUpdated: (callback: (event: {
1101
+ oldAddress: `0x${string}`;
1102
+ newAddress: `0x${string}`;
1103
+ }) => void, filter?: {
1104
+ oldAddress?: `0x${string}` | `0x${string}`[] | null;
1105
+ newAddress?: `0x${string}` | `0x${string}`[] | null;
1106
+ }) => () => void;
1107
+ /**
1108
+ * Watch PriceOracleSentinelUpdated events
1109
+ * @param callback Function to call when event is emitted
1110
+ * @param filter Optional filter for indexed parameters
1111
+ * @returns Unwatch function to stop listening
1112
+ */
1113
+ PriceOracleSentinelUpdated: (callback: (event: {
1114
+ oldAddress: `0x${string}`;
1115
+ newAddress: `0x${string}`;
1116
+ }) => void, filter?: {
1117
+ oldAddress?: `0x${string}` | `0x${string}`[] | null;
1118
+ newAddress?: `0x${string}` | `0x${string}`[] | null;
1119
+ }) => () => void;
1120
+ /**
1121
+ * Watch PriceOracleUpdated events
1122
+ * @param callback Function to call when event is emitted
1123
+ * @param filter Optional filter for indexed parameters
1124
+ * @returns Unwatch function to stop listening
1125
+ */
1126
+ PriceOracleUpdated: (callback: (event: {
1127
+ oldAddress: `0x${string}`;
1128
+ newAddress: `0x${string}`;
1129
+ }) => void, filter?: {
1130
+ oldAddress?: `0x${string}` | `0x${string}`[] | null;
1131
+ newAddress?: `0x${string}` | `0x${string}`[] | null;
1132
+ }) => () => void;
1133
+ /**
1134
+ * Watch ProxyCreated events
1135
+ * @param callback Function to call when event is emitted
1136
+ * @param filter Optional filter for indexed parameters
1137
+ * @returns Unwatch function to stop listening
1138
+ */
1139
+ ProxyCreated: (callback: (event: {
1140
+ id: `0x${string}`;
1141
+ proxyAddress: `0x${string}`;
1142
+ implementationAddress: `0x${string}`;
1143
+ }) => void, filter?: {
1144
+ id?: `0x${string}` | `0x${string}`[] | null;
1145
+ proxyAddress?: `0x${string}` | `0x${string}`[] | null;
1146
+ implementationAddress?: `0x${string}` | `0x${string}`[] | null;
1147
+ }) => () => void;
1148
+ };
1149
+ }