gauravlochab commited on
Commit
ebd9232
1 Parent(s): 35faf7a

new abi and contracts

Browse files
contracts/NonfungiblePositionManager.json ADDED
@@ -0,0 +1,1228 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "contractName": "",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "address",
8
+ "name": "_factory",
9
+ "type": "address"
10
+ },
11
+ {
12
+ "internalType": "address",
13
+ "name": "_WETH9",
14
+ "type": "address"
15
+ },
16
+ {
17
+ "internalType": "address",
18
+ "name": "_tokenDescriptor_",
19
+ "type": "address"
20
+ }
21
+ ],
22
+ "stateMutability": "nonpayable",
23
+ "type": "constructor"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": true,
30
+ "internalType": "address",
31
+ "name": "owner",
32
+ "type": "address"
33
+ },
34
+ {
35
+ "indexed": true,
36
+ "internalType": "address",
37
+ "name": "approved",
38
+ "type": "address"
39
+ },
40
+ {
41
+ "indexed": true,
42
+ "internalType": "uint256",
43
+ "name": "tokenId",
44
+ "type": "uint256"
45
+ }
46
+ ],
47
+ "name": "Approval",
48
+ "type": "event"
49
+ },
50
+ {
51
+ "anonymous": false,
52
+ "inputs": [
53
+ {
54
+ "indexed": true,
55
+ "internalType": "address",
56
+ "name": "owner",
57
+ "type": "address"
58
+ },
59
+ {
60
+ "indexed": true,
61
+ "internalType": "address",
62
+ "name": "operator",
63
+ "type": "address"
64
+ },
65
+ {
66
+ "indexed": false,
67
+ "internalType": "bool",
68
+ "name": "approved",
69
+ "type": "bool"
70
+ }
71
+ ],
72
+ "name": "ApprovalForAll",
73
+ "type": "event"
74
+ },
75
+ {
76
+ "anonymous": false,
77
+ "inputs": [
78
+ {
79
+ "indexed": true,
80
+ "internalType": "uint256",
81
+ "name": "tokenId",
82
+ "type": "uint256"
83
+ },
84
+ {
85
+ "indexed": false,
86
+ "internalType": "address",
87
+ "name": "recipient",
88
+ "type": "address"
89
+ },
90
+ {
91
+ "indexed": false,
92
+ "internalType": "uint256",
93
+ "name": "amount0",
94
+ "type": "uint256"
95
+ },
96
+ {
97
+ "indexed": false,
98
+ "internalType": "uint256",
99
+ "name": "amount1",
100
+ "type": "uint256"
101
+ }
102
+ ],
103
+ "name": "Collect",
104
+ "type": "event"
105
+ },
106
+ {
107
+ "anonymous": false,
108
+ "inputs": [
109
+ {
110
+ "indexed": true,
111
+ "internalType": "uint256",
112
+ "name": "tokenId",
113
+ "type": "uint256"
114
+ },
115
+ {
116
+ "indexed": false,
117
+ "internalType": "uint128",
118
+ "name": "liquidity",
119
+ "type": "uint128"
120
+ },
121
+ {
122
+ "indexed": false,
123
+ "internalType": "uint256",
124
+ "name": "amount0",
125
+ "type": "uint256"
126
+ },
127
+ {
128
+ "indexed": false,
129
+ "internalType": "uint256",
130
+ "name": "amount1",
131
+ "type": "uint256"
132
+ }
133
+ ],
134
+ "name": "DecreaseLiquidity",
135
+ "type": "event"
136
+ },
137
+ {
138
+ "anonymous": false,
139
+ "inputs": [
140
+ {
141
+ "indexed": true,
142
+ "internalType": "uint256",
143
+ "name": "tokenId",
144
+ "type": "uint256"
145
+ },
146
+ {
147
+ "indexed": false,
148
+ "internalType": "uint128",
149
+ "name": "liquidity",
150
+ "type": "uint128"
151
+ },
152
+ {
153
+ "indexed": false,
154
+ "internalType": "uint256",
155
+ "name": "amount0",
156
+ "type": "uint256"
157
+ },
158
+ {
159
+ "indexed": false,
160
+ "internalType": "uint256",
161
+ "name": "amount1",
162
+ "type": "uint256"
163
+ }
164
+ ],
165
+ "name": "IncreaseLiquidity",
166
+ "type": "event"
167
+ },
168
+ {
169
+ "anonymous": false,
170
+ "inputs": [
171
+ {
172
+ "indexed": true,
173
+ "internalType": "address",
174
+ "name": "from",
175
+ "type": "address"
176
+ },
177
+ {
178
+ "indexed": true,
179
+ "internalType": "address",
180
+ "name": "to",
181
+ "type": "address"
182
+ },
183
+ {
184
+ "indexed": true,
185
+ "internalType": "uint256",
186
+ "name": "tokenId",
187
+ "type": "uint256"
188
+ }
189
+ ],
190
+ "name": "Transfer",
191
+ "type": "event"
192
+ },
193
+ {
194
+ "inputs": [],
195
+ "name": "DOMAIN_SEPARATOR",
196
+ "outputs": [
197
+ {
198
+ "internalType": "bytes32",
199
+ "name": "",
200
+ "type": "bytes32"
201
+ }
202
+ ],
203
+ "stateMutability": "view",
204
+ "type": "function"
205
+ },
206
+ {
207
+ "inputs": [],
208
+ "name": "PERMIT_TYPEHASH",
209
+ "outputs": [
210
+ {
211
+ "internalType": "bytes32",
212
+ "name": "",
213
+ "type": "bytes32"
214
+ }
215
+ ],
216
+ "stateMutability": "view",
217
+ "type": "function"
218
+ },
219
+ {
220
+ "inputs": [],
221
+ "name": "WETH9",
222
+ "outputs": [
223
+ {
224
+ "internalType": "address",
225
+ "name": "",
226
+ "type": "address"
227
+ }
228
+ ],
229
+ "stateMutability": "view",
230
+ "type": "function"
231
+ },
232
+ {
233
+ "inputs": [
234
+ {
235
+ "internalType": "address",
236
+ "name": "to",
237
+ "type": "address"
238
+ },
239
+ {
240
+ "internalType": "uint256",
241
+ "name": "tokenId",
242
+ "type": "uint256"
243
+ }
244
+ ],
245
+ "name": "approve",
246
+ "outputs": [],
247
+ "stateMutability": "nonpayable",
248
+ "type": "function"
249
+ },
250
+ {
251
+ "inputs": [
252
+ {
253
+ "internalType": "address",
254
+ "name": "owner",
255
+ "type": "address"
256
+ }
257
+ ],
258
+ "name": "balanceOf",
259
+ "outputs": [
260
+ {
261
+ "internalType": "uint256",
262
+ "name": "",
263
+ "type": "uint256"
264
+ }
265
+ ],
266
+ "stateMutability": "view",
267
+ "type": "function"
268
+ },
269
+ {
270
+ "inputs": [],
271
+ "name": "baseURI",
272
+ "outputs": [
273
+ {
274
+ "internalType": "string",
275
+ "name": "",
276
+ "type": "string"
277
+ }
278
+ ],
279
+ "stateMutability": "pure",
280
+ "type": "function"
281
+ },
282
+ {
283
+ "inputs": [
284
+ {
285
+ "internalType": "uint256",
286
+ "name": "tokenId",
287
+ "type": "uint256"
288
+ }
289
+ ],
290
+ "name": "burn",
291
+ "outputs": [],
292
+ "stateMutability": "payable",
293
+ "type": "function"
294
+ },
295
+ {
296
+ "inputs": [
297
+ {
298
+ "components": [
299
+ {
300
+ "internalType": "uint256",
301
+ "name": "tokenId",
302
+ "type": "uint256"
303
+ },
304
+ {
305
+ "internalType": "address",
306
+ "name": "recipient",
307
+ "type": "address"
308
+ },
309
+ {
310
+ "internalType": "uint128",
311
+ "name": "amount0Max",
312
+ "type": "uint128"
313
+ },
314
+ {
315
+ "internalType": "uint128",
316
+ "name": "amount1Max",
317
+ "type": "uint128"
318
+ }
319
+ ],
320
+ "internalType": "struct INonfungiblePositionManager.CollectParams",
321
+ "name": "params",
322
+ "type": "tuple"
323
+ }
324
+ ],
325
+ "name": "collect",
326
+ "outputs": [
327
+ {
328
+ "internalType": "uint256",
329
+ "name": "amount0",
330
+ "type": "uint256"
331
+ },
332
+ {
333
+ "internalType": "uint256",
334
+ "name": "amount1",
335
+ "type": "uint256"
336
+ }
337
+ ],
338
+ "stateMutability": "payable",
339
+ "type": "function"
340
+ },
341
+ {
342
+ "inputs": [
343
+ {
344
+ "internalType": "address",
345
+ "name": "token0",
346
+ "type": "address"
347
+ },
348
+ {
349
+ "internalType": "address",
350
+ "name": "token1",
351
+ "type": "address"
352
+ },
353
+ {
354
+ "internalType": "uint24",
355
+ "name": "fee",
356
+ "type": "uint24"
357
+ },
358
+ {
359
+ "internalType": "uint160",
360
+ "name": "sqrtPriceX96",
361
+ "type": "uint160"
362
+ }
363
+ ],
364
+ "name": "createAndInitializePoolIfNecessary",
365
+ "outputs": [
366
+ {
367
+ "internalType": "address",
368
+ "name": "pool",
369
+ "type": "address"
370
+ }
371
+ ],
372
+ "stateMutability": "payable",
373
+ "type": "function"
374
+ },
375
+ {
376
+ "inputs": [
377
+ {
378
+ "components": [
379
+ {
380
+ "internalType": "uint256",
381
+ "name": "tokenId",
382
+ "type": "uint256"
383
+ },
384
+ {
385
+ "internalType": "uint128",
386
+ "name": "liquidity",
387
+ "type": "uint128"
388
+ },
389
+ {
390
+ "internalType": "uint256",
391
+ "name": "amount0Min",
392
+ "type": "uint256"
393
+ },
394
+ {
395
+ "internalType": "uint256",
396
+ "name": "amount1Min",
397
+ "type": "uint256"
398
+ },
399
+ {
400
+ "internalType": "uint256",
401
+ "name": "deadline",
402
+ "type": "uint256"
403
+ }
404
+ ],
405
+ "internalType": "struct INonfungiblePositionManager.DecreaseLiquidityParams",
406
+ "name": "params",
407
+ "type": "tuple"
408
+ }
409
+ ],
410
+ "name": "decreaseLiquidity",
411
+ "outputs": [
412
+ {
413
+ "internalType": "uint256",
414
+ "name": "amount0",
415
+ "type": "uint256"
416
+ },
417
+ {
418
+ "internalType": "uint256",
419
+ "name": "amount1",
420
+ "type": "uint256"
421
+ }
422
+ ],
423
+ "stateMutability": "payable",
424
+ "type": "function"
425
+ },
426
+ {
427
+ "inputs": [],
428
+ "name": "factory",
429
+ "outputs": [
430
+ {
431
+ "internalType": "address",
432
+ "name": "",
433
+ "type": "address"
434
+ }
435
+ ],
436
+ "stateMutability": "view",
437
+ "type": "function"
438
+ },
439
+ {
440
+ "inputs": [
441
+ {
442
+ "internalType": "uint256",
443
+ "name": "tokenId",
444
+ "type": "uint256"
445
+ }
446
+ ],
447
+ "name": "getApproved",
448
+ "outputs": [
449
+ {
450
+ "internalType": "address",
451
+ "name": "",
452
+ "type": "address"
453
+ }
454
+ ],
455
+ "stateMutability": "view",
456
+ "type": "function"
457
+ },
458
+ {
459
+ "inputs": [
460
+ {
461
+ "components": [
462
+ {
463
+ "internalType": "uint256",
464
+ "name": "tokenId",
465
+ "type": "uint256"
466
+ },
467
+ {
468
+ "internalType": "uint256",
469
+ "name": "amount0Desired",
470
+ "type": "uint256"
471
+ },
472
+ {
473
+ "internalType": "uint256",
474
+ "name": "amount1Desired",
475
+ "type": "uint256"
476
+ },
477
+ {
478
+ "internalType": "uint256",
479
+ "name": "amount0Min",
480
+ "type": "uint256"
481
+ },
482
+ {
483
+ "internalType": "uint256",
484
+ "name": "amount1Min",
485
+ "type": "uint256"
486
+ },
487
+ {
488
+ "internalType": "uint256",
489
+ "name": "deadline",
490
+ "type": "uint256"
491
+ }
492
+ ],
493
+ "internalType": "struct INonfungiblePositionManager.IncreaseLiquidityParams",
494
+ "name": "params",
495
+ "type": "tuple"
496
+ }
497
+ ],
498
+ "name": "increaseLiquidity",
499
+ "outputs": [
500
+ {
501
+ "internalType": "uint128",
502
+ "name": "liquidity",
503
+ "type": "uint128"
504
+ },
505
+ {
506
+ "internalType": "uint256",
507
+ "name": "amount0",
508
+ "type": "uint256"
509
+ },
510
+ {
511
+ "internalType": "uint256",
512
+ "name": "amount1",
513
+ "type": "uint256"
514
+ }
515
+ ],
516
+ "stateMutability": "payable",
517
+ "type": "function"
518
+ },
519
+ {
520
+ "inputs": [
521
+ {
522
+ "internalType": "address",
523
+ "name": "owner",
524
+ "type": "address"
525
+ },
526
+ {
527
+ "internalType": "address",
528
+ "name": "operator",
529
+ "type": "address"
530
+ }
531
+ ],
532
+ "name": "isApprovedForAll",
533
+ "outputs": [
534
+ {
535
+ "internalType": "bool",
536
+ "name": "",
537
+ "type": "bool"
538
+ }
539
+ ],
540
+ "stateMutability": "view",
541
+ "type": "function"
542
+ },
543
+ {
544
+ "inputs": [
545
+ {
546
+ "components": [
547
+ {
548
+ "internalType": "address",
549
+ "name": "token0",
550
+ "type": "address"
551
+ },
552
+ {
553
+ "internalType": "address",
554
+ "name": "token1",
555
+ "type": "address"
556
+ },
557
+ {
558
+ "internalType": "uint24",
559
+ "name": "fee",
560
+ "type": "uint24"
561
+ },
562
+ {
563
+ "internalType": "int24",
564
+ "name": "tickLower",
565
+ "type": "int24"
566
+ },
567
+ {
568
+ "internalType": "int24",
569
+ "name": "tickUpper",
570
+ "type": "int24"
571
+ },
572
+ {
573
+ "internalType": "uint256",
574
+ "name": "amount0Desired",
575
+ "type": "uint256"
576
+ },
577
+ {
578
+ "internalType": "uint256",
579
+ "name": "amount1Desired",
580
+ "type": "uint256"
581
+ },
582
+ {
583
+ "internalType": "uint256",
584
+ "name": "amount0Min",
585
+ "type": "uint256"
586
+ },
587
+ {
588
+ "internalType": "uint256",
589
+ "name": "amount1Min",
590
+ "type": "uint256"
591
+ },
592
+ {
593
+ "internalType": "address",
594
+ "name": "recipient",
595
+ "type": "address"
596
+ },
597
+ {
598
+ "internalType": "uint256",
599
+ "name": "deadline",
600
+ "type": "uint256"
601
+ }
602
+ ],
603
+ "internalType": "struct INonfungiblePositionManager.MintParams",
604
+ "name": "params",
605
+ "type": "tuple"
606
+ }
607
+ ],
608
+ "name": "mint",
609
+ "outputs": [
610
+ {
611
+ "internalType": "uint256",
612
+ "name": "tokenId",
613
+ "type": "uint256"
614
+ },
615
+ {
616
+ "internalType": "uint128",
617
+ "name": "liquidity",
618
+ "type": "uint128"
619
+ },
620
+ {
621
+ "internalType": "uint256",
622
+ "name": "amount0",
623
+ "type": "uint256"
624
+ },
625
+ {
626
+ "internalType": "uint256",
627
+ "name": "amount1",
628
+ "type": "uint256"
629
+ }
630
+ ],
631
+ "stateMutability": "payable",
632
+ "type": "function"
633
+ },
634
+ {
635
+ "inputs": [
636
+ {
637
+ "internalType": "bytes[]",
638
+ "name": "data",
639
+ "type": "bytes[]"
640
+ }
641
+ ],
642
+ "name": "multicall",
643
+ "outputs": [
644
+ {
645
+ "internalType": "bytes[]",
646
+ "name": "results",
647
+ "type": "bytes[]"
648
+ }
649
+ ],
650
+ "stateMutability": "payable",
651
+ "type": "function"
652
+ },
653
+ {
654
+ "inputs": [],
655
+ "name": "name",
656
+ "outputs": [
657
+ {
658
+ "internalType": "string",
659
+ "name": "",
660
+ "type": "string"
661
+ }
662
+ ],
663
+ "stateMutability": "view",
664
+ "type": "function"
665
+ },
666
+ {
667
+ "inputs": [
668
+ {
669
+ "internalType": "uint256",
670
+ "name": "tokenId",
671
+ "type": "uint256"
672
+ }
673
+ ],
674
+ "name": "ownerOf",
675
+ "outputs": [
676
+ {
677
+ "internalType": "address",
678
+ "name": "",
679
+ "type": "address"
680
+ }
681
+ ],
682
+ "stateMutability": "view",
683
+ "type": "function"
684
+ },
685
+ {
686
+ "inputs": [
687
+ {
688
+ "internalType": "address",
689
+ "name": "spender",
690
+ "type": "address"
691
+ },
692
+ {
693
+ "internalType": "uint256",
694
+ "name": "tokenId",
695
+ "type": "uint256"
696
+ },
697
+ {
698
+ "internalType": "uint256",
699
+ "name": "deadline",
700
+ "type": "uint256"
701
+ },
702
+ {
703
+ "internalType": "uint8",
704
+ "name": "v",
705
+ "type": "uint8"
706
+ },
707
+ {
708
+ "internalType": "bytes32",
709
+ "name": "r",
710
+ "type": "bytes32"
711
+ },
712
+ {
713
+ "internalType": "bytes32",
714
+ "name": "s",
715
+ "type": "bytes32"
716
+ }
717
+ ],
718
+ "name": "permit",
719
+ "outputs": [],
720
+ "stateMutability": "payable",
721
+ "type": "function"
722
+ },
723
+ {
724
+ "inputs": [
725
+ {
726
+ "internalType": "uint256",
727
+ "name": "tokenId",
728
+ "type": "uint256"
729
+ }
730
+ ],
731
+ "name": "positions",
732
+ "outputs": [
733
+ {
734
+ "internalType": "uint96",
735
+ "name": "nonce",
736
+ "type": "uint96"
737
+ },
738
+ {
739
+ "internalType": "address",
740
+ "name": "operator",
741
+ "type": "address"
742
+ },
743
+ {
744
+ "internalType": "address",
745
+ "name": "token0",
746
+ "type": "address"
747
+ },
748
+ {
749
+ "internalType": "address",
750
+ "name": "token1",
751
+ "type": "address"
752
+ },
753
+ {
754
+ "internalType": "uint24",
755
+ "name": "fee",
756
+ "type": "uint24"
757
+ },
758
+ {
759
+ "internalType": "int24",
760
+ "name": "tickLower",
761
+ "type": "int24"
762
+ },
763
+ {
764
+ "internalType": "int24",
765
+ "name": "tickUpper",
766
+ "type": "int24"
767
+ },
768
+ {
769
+ "internalType": "uint128",
770
+ "name": "liquidity",
771
+ "type": "uint128"
772
+ },
773
+ {
774
+ "internalType": "uint256",
775
+ "name": "feeGrowthInside0LastX128",
776
+ "type": "uint256"
777
+ },
778
+ {
779
+ "internalType": "uint256",
780
+ "name": "feeGrowthInside1LastX128",
781
+ "type": "uint256"
782
+ },
783
+ {
784
+ "internalType": "uint128",
785
+ "name": "tokensOwed0",
786
+ "type": "uint128"
787
+ },
788
+ {
789
+ "internalType": "uint128",
790
+ "name": "tokensOwed1",
791
+ "type": "uint128"
792
+ }
793
+ ],
794
+ "stateMutability": "view",
795
+ "type": "function"
796
+ },
797
+ {
798
+ "inputs": [],
799
+ "name": "refundETH",
800
+ "outputs": [],
801
+ "stateMutability": "payable",
802
+ "type": "function"
803
+ },
804
+ {
805
+ "inputs": [
806
+ {
807
+ "internalType": "address",
808
+ "name": "from",
809
+ "type": "address"
810
+ },
811
+ {
812
+ "internalType": "address",
813
+ "name": "to",
814
+ "type": "address"
815
+ },
816
+ {
817
+ "internalType": "uint256",
818
+ "name": "tokenId",
819
+ "type": "uint256"
820
+ }
821
+ ],
822
+ "name": "safeTransferFrom",
823
+ "outputs": [],
824
+ "stateMutability": "nonpayable",
825
+ "type": "function"
826
+ },
827
+ {
828
+ "inputs": [
829
+ {
830
+ "internalType": "address",
831
+ "name": "from",
832
+ "type": "address"
833
+ },
834
+ {
835
+ "internalType": "address",
836
+ "name": "to",
837
+ "type": "address"
838
+ },
839
+ {
840
+ "internalType": "uint256",
841
+ "name": "tokenId",
842
+ "type": "uint256"
843
+ },
844
+ {
845
+ "internalType": "bytes",
846
+ "name": "_data",
847
+ "type": "bytes"
848
+ }
849
+ ],
850
+ "name": "safeTransferFrom",
851
+ "outputs": [],
852
+ "stateMutability": "nonpayable",
853
+ "type": "function"
854
+ },
855
+ {
856
+ "inputs": [
857
+ {
858
+ "internalType": "address",
859
+ "name": "token",
860
+ "type": "address"
861
+ },
862
+ {
863
+ "internalType": "uint256",
864
+ "name": "value",
865
+ "type": "uint256"
866
+ },
867
+ {
868
+ "internalType": "uint256",
869
+ "name": "deadline",
870
+ "type": "uint256"
871
+ },
872
+ {
873
+ "internalType": "uint8",
874
+ "name": "v",
875
+ "type": "uint8"
876
+ },
877
+ {
878
+ "internalType": "bytes32",
879
+ "name": "r",
880
+ "type": "bytes32"
881
+ },
882
+ {
883
+ "internalType": "bytes32",
884
+ "name": "s",
885
+ "type": "bytes32"
886
+ }
887
+ ],
888
+ "name": "selfPermit",
889
+ "outputs": [],
890
+ "stateMutability": "payable",
891
+ "type": "function"
892
+ },
893
+ {
894
+ "inputs": [
895
+ {
896
+ "internalType": "address",
897
+ "name": "token",
898
+ "type": "address"
899
+ },
900
+ {
901
+ "internalType": "uint256",
902
+ "name": "nonce",
903
+ "type": "uint256"
904
+ },
905
+ {
906
+ "internalType": "uint256",
907
+ "name": "expiry",
908
+ "type": "uint256"
909
+ },
910
+ {
911
+ "internalType": "uint8",
912
+ "name": "v",
913
+ "type": "uint8"
914
+ },
915
+ {
916
+ "internalType": "bytes32",
917
+ "name": "r",
918
+ "type": "bytes32"
919
+ },
920
+ {
921
+ "internalType": "bytes32",
922
+ "name": "s",
923
+ "type": "bytes32"
924
+ }
925
+ ],
926
+ "name": "selfPermitAllowed",
927
+ "outputs": [],
928
+ "stateMutability": "payable",
929
+ "type": "function"
930
+ },
931
+ {
932
+ "inputs": [
933
+ {
934
+ "internalType": "address",
935
+ "name": "token",
936
+ "type": "address"
937
+ },
938
+ {
939
+ "internalType": "uint256",
940
+ "name": "nonce",
941
+ "type": "uint256"
942
+ },
943
+ {
944
+ "internalType": "uint256",
945
+ "name": "expiry",
946
+ "type": "uint256"
947
+ },
948
+ {
949
+ "internalType": "uint8",
950
+ "name": "v",
951
+ "type": "uint8"
952
+ },
953
+ {
954
+ "internalType": "bytes32",
955
+ "name": "r",
956
+ "type": "bytes32"
957
+ },
958
+ {
959
+ "internalType": "bytes32",
960
+ "name": "s",
961
+ "type": "bytes32"
962
+ }
963
+ ],
964
+ "name": "selfPermitAllowedIfNecessary",
965
+ "outputs": [],
966
+ "stateMutability": "payable",
967
+ "type": "function"
968
+ },
969
+ {
970
+ "inputs": [
971
+ {
972
+ "internalType": "address",
973
+ "name": "token",
974
+ "type": "address"
975
+ },
976
+ {
977
+ "internalType": "uint256",
978
+ "name": "value",
979
+ "type": "uint256"
980
+ },
981
+ {
982
+ "internalType": "uint256",
983
+ "name": "deadline",
984
+ "type": "uint256"
985
+ },
986
+ {
987
+ "internalType": "uint8",
988
+ "name": "v",
989
+ "type": "uint8"
990
+ },
991
+ {
992
+ "internalType": "bytes32",
993
+ "name": "r",
994
+ "type": "bytes32"
995
+ },
996
+ {
997
+ "internalType": "bytes32",
998
+ "name": "s",
999
+ "type": "bytes32"
1000
+ }
1001
+ ],
1002
+ "name": "selfPermitIfNecessary",
1003
+ "outputs": [],
1004
+ "stateMutability": "payable",
1005
+ "type": "function"
1006
+ },
1007
+ {
1008
+ "inputs": [
1009
+ {
1010
+ "internalType": "address",
1011
+ "name": "operator",
1012
+ "type": "address"
1013
+ },
1014
+ {
1015
+ "internalType": "bool",
1016
+ "name": "approved",
1017
+ "type": "bool"
1018
+ }
1019
+ ],
1020
+ "name": "setApprovalForAll",
1021
+ "outputs": [],
1022
+ "stateMutability": "nonpayable",
1023
+ "type": "function"
1024
+ },
1025
+ {
1026
+ "inputs": [
1027
+ {
1028
+ "internalType": "bytes4",
1029
+ "name": "interfaceId",
1030
+ "type": "bytes4"
1031
+ }
1032
+ ],
1033
+ "name": "supportsInterface",
1034
+ "outputs": [
1035
+ {
1036
+ "internalType": "bool",
1037
+ "name": "",
1038
+ "type": "bool"
1039
+ }
1040
+ ],
1041
+ "stateMutability": "view",
1042
+ "type": "function"
1043
+ },
1044
+ {
1045
+ "inputs": [
1046
+ {
1047
+ "internalType": "address",
1048
+ "name": "token",
1049
+ "type": "address"
1050
+ },
1051
+ {
1052
+ "internalType": "uint256",
1053
+ "name": "amountMinimum",
1054
+ "type": "uint256"
1055
+ },
1056
+ {
1057
+ "internalType": "address",
1058
+ "name": "recipient",
1059
+ "type": "address"
1060
+ }
1061
+ ],
1062
+ "name": "sweepToken",
1063
+ "outputs": [],
1064
+ "stateMutability": "payable",
1065
+ "type": "function"
1066
+ },
1067
+ {
1068
+ "inputs": [],
1069
+ "name": "symbol",
1070
+ "outputs": [
1071
+ {
1072
+ "internalType": "string",
1073
+ "name": "",
1074
+ "type": "string"
1075
+ }
1076
+ ],
1077
+ "stateMutability": "view",
1078
+ "type": "function"
1079
+ },
1080
+ {
1081
+ "inputs": [
1082
+ {
1083
+ "internalType": "uint256",
1084
+ "name": "index",
1085
+ "type": "uint256"
1086
+ }
1087
+ ],
1088
+ "name": "tokenByIndex",
1089
+ "outputs": [
1090
+ {
1091
+ "internalType": "uint256",
1092
+ "name": "",
1093
+ "type": "uint256"
1094
+ }
1095
+ ],
1096
+ "stateMutability": "view",
1097
+ "type": "function"
1098
+ },
1099
+ {
1100
+ "inputs": [
1101
+ {
1102
+ "internalType": "address",
1103
+ "name": "owner",
1104
+ "type": "address"
1105
+ },
1106
+ {
1107
+ "internalType": "uint256",
1108
+ "name": "index",
1109
+ "type": "uint256"
1110
+ }
1111
+ ],
1112
+ "name": "tokenOfOwnerByIndex",
1113
+ "outputs": [
1114
+ {
1115
+ "internalType": "uint256",
1116
+ "name": "",
1117
+ "type": "uint256"
1118
+ }
1119
+ ],
1120
+ "stateMutability": "view",
1121
+ "type": "function"
1122
+ },
1123
+ {
1124
+ "inputs": [
1125
+ {
1126
+ "internalType": "uint256",
1127
+ "name": "tokenId",
1128
+ "type": "uint256"
1129
+ }
1130
+ ],
1131
+ "name": "tokenURI",
1132
+ "outputs": [
1133
+ {
1134
+ "internalType": "string",
1135
+ "name": "",
1136
+ "type": "string"
1137
+ }
1138
+ ],
1139
+ "stateMutability": "view",
1140
+ "type": "function"
1141
+ },
1142
+ {
1143
+ "inputs": [],
1144
+ "name": "totalSupply",
1145
+ "outputs": [
1146
+ {
1147
+ "internalType": "uint256",
1148
+ "name": "",
1149
+ "type": "uint256"
1150
+ }
1151
+ ],
1152
+ "stateMutability": "view",
1153
+ "type": "function"
1154
+ },
1155
+ {
1156
+ "inputs": [
1157
+ {
1158
+ "internalType": "address",
1159
+ "name": "from",
1160
+ "type": "address"
1161
+ },
1162
+ {
1163
+ "internalType": "address",
1164
+ "name": "to",
1165
+ "type": "address"
1166
+ },
1167
+ {
1168
+ "internalType": "uint256",
1169
+ "name": "tokenId",
1170
+ "type": "uint256"
1171
+ }
1172
+ ],
1173
+ "name": "transferFrom",
1174
+ "outputs": [],
1175
+ "stateMutability": "nonpayable",
1176
+ "type": "function"
1177
+ },
1178
+ {
1179
+ "inputs": [
1180
+ {
1181
+ "internalType": "uint256",
1182
+ "name": "amount0Owed",
1183
+ "type": "uint256"
1184
+ },
1185
+ {
1186
+ "internalType": "uint256",
1187
+ "name": "amount1Owed",
1188
+ "type": "uint256"
1189
+ },
1190
+ {
1191
+ "internalType": "bytes",
1192
+ "name": "data",
1193
+ "type": "bytes"
1194
+ }
1195
+ ],
1196
+ "name": "uniswapV3MintCallback",
1197
+ "outputs": [],
1198
+ "stateMutability": "nonpayable",
1199
+ "type": "function"
1200
+ },
1201
+ {
1202
+ "inputs": [
1203
+ {
1204
+ "internalType": "uint256",
1205
+ "name": "amountMinimum",
1206
+ "type": "uint256"
1207
+ },
1208
+ {
1209
+ "internalType": "address",
1210
+ "name": "recipient",
1211
+ "type": "address"
1212
+ }
1213
+ ],
1214
+ "name": "unwrapWETH9",
1215
+ "outputs": [],
1216
+ "stateMutability": "payable",
1217
+ "type": "function"
1218
+ },
1219
+ {
1220
+ "stateMutability": "payable",
1221
+ "type": "receive"
1222
+ }
1223
+ ],
1224
+ "bytecode": "",
1225
+ "deployedBytecode": "",
1226
+ "linkReferences": {},
1227
+ "deployedLinkReferences": {}
1228
+ }
contracts/Vault.json ADDED
@@ -0,0 +1,1186 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "contractName": "",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "contract IAuthorizer",
8
+ "name": "authorizer",
9
+ "type": "address"
10
+ },
11
+ {
12
+ "internalType": "contract IWETH",
13
+ "name": "weth",
14
+ "type": "address"
15
+ },
16
+ {
17
+ "internalType": "uint256",
18
+ "name": "pauseWindowDuration",
19
+ "type": "uint256"
20
+ },
21
+ {
22
+ "internalType": "uint256",
23
+ "name": "bufferPeriodDuration",
24
+ "type": "uint256"
25
+ }
26
+ ],
27
+ "stateMutability": "nonpayable",
28
+ "type": "constructor"
29
+ },
30
+ {
31
+ "anonymous": false,
32
+ "inputs": [
33
+ {
34
+ "indexed": true,
35
+ "internalType": "contract IAuthorizer",
36
+ "name": "newAuthorizer",
37
+ "type": "address"
38
+ }
39
+ ],
40
+ "name": "AuthorizerChanged",
41
+ "type": "event"
42
+ },
43
+ {
44
+ "anonymous": false,
45
+ "inputs": [
46
+ {
47
+ "indexed": true,
48
+ "internalType": "contract IERC20",
49
+ "name": "token",
50
+ "type": "address"
51
+ },
52
+ {
53
+ "indexed": true,
54
+ "internalType": "address",
55
+ "name": "sender",
56
+ "type": "address"
57
+ },
58
+ {
59
+ "indexed": false,
60
+ "internalType": "address",
61
+ "name": "recipient",
62
+ "type": "address"
63
+ },
64
+ {
65
+ "indexed": false,
66
+ "internalType": "uint256",
67
+ "name": "amount",
68
+ "type": "uint256"
69
+ }
70
+ ],
71
+ "name": "ExternalBalanceTransfer",
72
+ "type": "event"
73
+ },
74
+ {
75
+ "anonymous": false,
76
+ "inputs": [
77
+ {
78
+ "indexed": true,
79
+ "internalType": "contract IFlashLoanRecipient",
80
+ "name": "recipient",
81
+ "type": "address"
82
+ },
83
+ {
84
+ "indexed": true,
85
+ "internalType": "contract IERC20",
86
+ "name": "token",
87
+ "type": "address"
88
+ },
89
+ {
90
+ "indexed": false,
91
+ "internalType": "uint256",
92
+ "name": "amount",
93
+ "type": "uint256"
94
+ },
95
+ {
96
+ "indexed": false,
97
+ "internalType": "uint256",
98
+ "name": "feeAmount",
99
+ "type": "uint256"
100
+ }
101
+ ],
102
+ "name": "FlashLoan",
103
+ "type": "event"
104
+ },
105
+ {
106
+ "anonymous": false,
107
+ "inputs": [
108
+ {
109
+ "indexed": true,
110
+ "internalType": "address",
111
+ "name": "user",
112
+ "type": "address"
113
+ },
114
+ {
115
+ "indexed": true,
116
+ "internalType": "contract IERC20",
117
+ "name": "token",
118
+ "type": "address"
119
+ },
120
+ {
121
+ "indexed": false,
122
+ "internalType": "int256",
123
+ "name": "delta",
124
+ "type": "int256"
125
+ }
126
+ ],
127
+ "name": "InternalBalanceChanged",
128
+ "type": "event"
129
+ },
130
+ {
131
+ "anonymous": false,
132
+ "inputs": [
133
+ {
134
+ "indexed": false,
135
+ "internalType": "bool",
136
+ "name": "paused",
137
+ "type": "bool"
138
+ }
139
+ ],
140
+ "name": "PausedStateChanged",
141
+ "type": "event"
142
+ },
143
+ {
144
+ "anonymous": false,
145
+ "inputs": [
146
+ {
147
+ "indexed": true,
148
+ "internalType": "bytes32",
149
+ "name": "poolId",
150
+ "type": "bytes32"
151
+ },
152
+ {
153
+ "indexed": true,
154
+ "internalType": "address",
155
+ "name": "liquidityProvider",
156
+ "type": "address"
157
+ },
158
+ {
159
+ "indexed": false,
160
+ "internalType": "contract IERC20[]",
161
+ "name": "tokens",
162
+ "type": "address[]"
163
+ },
164
+ {
165
+ "indexed": false,
166
+ "internalType": "int256[]",
167
+ "name": "deltas",
168
+ "type": "int256[]"
169
+ },
170
+ {
171
+ "indexed": false,
172
+ "internalType": "uint256[]",
173
+ "name": "protocolFeeAmounts",
174
+ "type": "uint256[]"
175
+ }
176
+ ],
177
+ "name": "PoolBalanceChanged",
178
+ "type": "event"
179
+ },
180
+ {
181
+ "anonymous": false,
182
+ "inputs": [
183
+ {
184
+ "indexed": true,
185
+ "internalType": "bytes32",
186
+ "name": "poolId",
187
+ "type": "bytes32"
188
+ },
189
+ {
190
+ "indexed": true,
191
+ "internalType": "address",
192
+ "name": "assetManager",
193
+ "type": "address"
194
+ },
195
+ {
196
+ "indexed": true,
197
+ "internalType": "contract IERC20",
198
+ "name": "token",
199
+ "type": "address"
200
+ },
201
+ {
202
+ "indexed": false,
203
+ "internalType": "int256",
204
+ "name": "cashDelta",
205
+ "type": "int256"
206
+ },
207
+ {
208
+ "indexed": false,
209
+ "internalType": "int256",
210
+ "name": "managedDelta",
211
+ "type": "int256"
212
+ }
213
+ ],
214
+ "name": "PoolBalanceManaged",
215
+ "type": "event"
216
+ },
217
+ {
218
+ "anonymous": false,
219
+ "inputs": [
220
+ {
221
+ "indexed": true,
222
+ "internalType": "bytes32",
223
+ "name": "poolId",
224
+ "type": "bytes32"
225
+ },
226
+ {
227
+ "indexed": true,
228
+ "internalType": "address",
229
+ "name": "poolAddress",
230
+ "type": "address"
231
+ },
232
+ {
233
+ "indexed": false,
234
+ "internalType": "enum IVault.PoolSpecialization",
235
+ "name": "specialization",
236
+ "type": "uint8"
237
+ }
238
+ ],
239
+ "name": "PoolRegistered",
240
+ "type": "event"
241
+ },
242
+ {
243
+ "anonymous": false,
244
+ "inputs": [
245
+ {
246
+ "indexed": true,
247
+ "internalType": "address",
248
+ "name": "relayer",
249
+ "type": "address"
250
+ },
251
+ {
252
+ "indexed": true,
253
+ "internalType": "address",
254
+ "name": "sender",
255
+ "type": "address"
256
+ },
257
+ {
258
+ "indexed": false,
259
+ "internalType": "bool",
260
+ "name": "approved",
261
+ "type": "bool"
262
+ }
263
+ ],
264
+ "name": "RelayerApprovalChanged",
265
+ "type": "event"
266
+ },
267
+ {
268
+ "anonymous": false,
269
+ "inputs": [
270
+ {
271
+ "indexed": true,
272
+ "internalType": "bytes32",
273
+ "name": "poolId",
274
+ "type": "bytes32"
275
+ },
276
+ {
277
+ "indexed": true,
278
+ "internalType": "contract IERC20",
279
+ "name": "tokenIn",
280
+ "type": "address"
281
+ },
282
+ {
283
+ "indexed": true,
284
+ "internalType": "contract IERC20",
285
+ "name": "tokenOut",
286
+ "type": "address"
287
+ },
288
+ {
289
+ "indexed": false,
290
+ "internalType": "uint256",
291
+ "name": "amountIn",
292
+ "type": "uint256"
293
+ },
294
+ {
295
+ "indexed": false,
296
+ "internalType": "uint256",
297
+ "name": "amountOut",
298
+ "type": "uint256"
299
+ }
300
+ ],
301
+ "name": "Swap",
302
+ "type": "event"
303
+ },
304
+ {
305
+ "anonymous": false,
306
+ "inputs": [
307
+ {
308
+ "indexed": true,
309
+ "internalType": "bytes32",
310
+ "name": "poolId",
311
+ "type": "bytes32"
312
+ },
313
+ {
314
+ "indexed": false,
315
+ "internalType": "contract IERC20[]",
316
+ "name": "tokens",
317
+ "type": "address[]"
318
+ }
319
+ ],
320
+ "name": "TokensDeregistered",
321
+ "type": "event"
322
+ },
323
+ {
324
+ "anonymous": false,
325
+ "inputs": [
326
+ {
327
+ "indexed": true,
328
+ "internalType": "bytes32",
329
+ "name": "poolId",
330
+ "type": "bytes32"
331
+ },
332
+ {
333
+ "indexed": false,
334
+ "internalType": "contract IERC20[]",
335
+ "name": "tokens",
336
+ "type": "address[]"
337
+ },
338
+ {
339
+ "indexed": false,
340
+ "internalType": "address[]",
341
+ "name": "assetManagers",
342
+ "type": "address[]"
343
+ }
344
+ ],
345
+ "name": "TokensRegistered",
346
+ "type": "event"
347
+ },
348
+ {
349
+ "inputs": [],
350
+ "name": "WETH",
351
+ "outputs": [
352
+ {
353
+ "internalType": "contract IWETH",
354
+ "name": "",
355
+ "type": "address"
356
+ }
357
+ ],
358
+ "stateMutability": "view",
359
+ "type": "function"
360
+ },
361
+ {
362
+ "inputs": [
363
+ {
364
+ "internalType": "enum IVault.SwapKind",
365
+ "name": "kind",
366
+ "type": "uint8"
367
+ },
368
+ {
369
+ "components": [
370
+ {
371
+ "internalType": "bytes32",
372
+ "name": "poolId",
373
+ "type": "bytes32"
374
+ },
375
+ {
376
+ "internalType": "uint256",
377
+ "name": "assetInIndex",
378
+ "type": "uint256"
379
+ },
380
+ {
381
+ "internalType": "uint256",
382
+ "name": "assetOutIndex",
383
+ "type": "uint256"
384
+ },
385
+ {
386
+ "internalType": "uint256",
387
+ "name": "amount",
388
+ "type": "uint256"
389
+ },
390
+ {
391
+ "internalType": "bytes",
392
+ "name": "userData",
393
+ "type": "bytes"
394
+ }
395
+ ],
396
+ "internalType": "struct IVault.BatchSwapStep[]",
397
+ "name": "swaps",
398
+ "type": "tuple[]"
399
+ },
400
+ {
401
+ "internalType": "contract IAsset[]",
402
+ "name": "assets",
403
+ "type": "address[]"
404
+ },
405
+ {
406
+ "components": [
407
+ {
408
+ "internalType": "address",
409
+ "name": "sender",
410
+ "type": "address"
411
+ },
412
+ {
413
+ "internalType": "bool",
414
+ "name": "fromInternalBalance",
415
+ "type": "bool"
416
+ },
417
+ {
418
+ "internalType": "address payable",
419
+ "name": "recipient",
420
+ "type": "address"
421
+ },
422
+ {
423
+ "internalType": "bool",
424
+ "name": "toInternalBalance",
425
+ "type": "bool"
426
+ }
427
+ ],
428
+ "internalType": "struct IVault.FundManagement",
429
+ "name": "funds",
430
+ "type": "tuple"
431
+ },
432
+ {
433
+ "internalType": "int256[]",
434
+ "name": "limits",
435
+ "type": "int256[]"
436
+ },
437
+ {
438
+ "internalType": "uint256",
439
+ "name": "deadline",
440
+ "type": "uint256"
441
+ }
442
+ ],
443
+ "name": "batchSwap",
444
+ "outputs": [
445
+ {
446
+ "internalType": "int256[]",
447
+ "name": "assetDeltas",
448
+ "type": "int256[]"
449
+ }
450
+ ],
451
+ "stateMutability": "payable",
452
+ "type": "function"
453
+ },
454
+ {
455
+ "inputs": [
456
+ {
457
+ "internalType": "bytes32",
458
+ "name": "poolId",
459
+ "type": "bytes32"
460
+ },
461
+ {
462
+ "internalType": "contract IERC20[]",
463
+ "name": "tokens",
464
+ "type": "address[]"
465
+ }
466
+ ],
467
+ "name": "deregisterTokens",
468
+ "outputs": [],
469
+ "stateMutability": "nonpayable",
470
+ "type": "function"
471
+ },
472
+ {
473
+ "inputs": [
474
+ {
475
+ "internalType": "bytes32",
476
+ "name": "poolId",
477
+ "type": "bytes32"
478
+ },
479
+ {
480
+ "internalType": "address",
481
+ "name": "sender",
482
+ "type": "address"
483
+ },
484
+ {
485
+ "internalType": "address payable",
486
+ "name": "recipient",
487
+ "type": "address"
488
+ },
489
+ {
490
+ "components": [
491
+ {
492
+ "internalType": "contract IAsset[]",
493
+ "name": "assets",
494
+ "type": "address[]"
495
+ },
496
+ {
497
+ "internalType": "uint256[]",
498
+ "name": "minAmountsOut",
499
+ "type": "uint256[]"
500
+ },
501
+ {
502
+ "internalType": "bytes",
503
+ "name": "userData",
504
+ "type": "bytes"
505
+ },
506
+ {
507
+ "internalType": "bool",
508
+ "name": "toInternalBalance",
509
+ "type": "bool"
510
+ }
511
+ ],
512
+ "internalType": "struct IVault.ExitPoolRequest",
513
+ "name": "request",
514
+ "type": "tuple"
515
+ }
516
+ ],
517
+ "name": "exitPool",
518
+ "outputs": [],
519
+ "stateMutability": "nonpayable",
520
+ "type": "function"
521
+ },
522
+ {
523
+ "inputs": [
524
+ {
525
+ "internalType": "contract IFlashLoanRecipient",
526
+ "name": "recipient",
527
+ "type": "address"
528
+ },
529
+ {
530
+ "internalType": "contract IERC20[]",
531
+ "name": "tokens",
532
+ "type": "address[]"
533
+ },
534
+ {
535
+ "internalType": "uint256[]",
536
+ "name": "amounts",
537
+ "type": "uint256[]"
538
+ },
539
+ {
540
+ "internalType": "bytes",
541
+ "name": "userData",
542
+ "type": "bytes"
543
+ }
544
+ ],
545
+ "name": "flashLoan",
546
+ "outputs": [],
547
+ "stateMutability": "nonpayable",
548
+ "type": "function"
549
+ },
550
+ {
551
+ "inputs": [
552
+ {
553
+ "internalType": "bytes4",
554
+ "name": "selector",
555
+ "type": "bytes4"
556
+ }
557
+ ],
558
+ "name": "getActionId",
559
+ "outputs": [
560
+ {
561
+ "internalType": "bytes32",
562
+ "name": "",
563
+ "type": "bytes32"
564
+ }
565
+ ],
566
+ "stateMutability": "view",
567
+ "type": "function"
568
+ },
569
+ {
570
+ "inputs": [],
571
+ "name": "getAuthorizer",
572
+ "outputs": [
573
+ {
574
+ "internalType": "contract IAuthorizer",
575
+ "name": "",
576
+ "type": "address"
577
+ }
578
+ ],
579
+ "stateMutability": "view",
580
+ "type": "function"
581
+ },
582
+ {
583
+ "inputs": [],
584
+ "name": "getDomainSeparator",
585
+ "outputs": [
586
+ {
587
+ "internalType": "bytes32",
588
+ "name": "",
589
+ "type": "bytes32"
590
+ }
591
+ ],
592
+ "stateMutability": "view",
593
+ "type": "function"
594
+ },
595
+ {
596
+ "inputs": [
597
+ {
598
+ "internalType": "address",
599
+ "name": "user",
600
+ "type": "address"
601
+ },
602
+ {
603
+ "internalType": "contract IERC20[]",
604
+ "name": "tokens",
605
+ "type": "address[]"
606
+ }
607
+ ],
608
+ "name": "getInternalBalance",
609
+ "outputs": [
610
+ {
611
+ "internalType": "uint256[]",
612
+ "name": "balances",
613
+ "type": "uint256[]"
614
+ }
615
+ ],
616
+ "stateMutability": "view",
617
+ "type": "function"
618
+ },
619
+ {
620
+ "inputs": [
621
+ {
622
+ "internalType": "address",
623
+ "name": "user",
624
+ "type": "address"
625
+ }
626
+ ],
627
+ "name": "getNextNonce",
628
+ "outputs": [
629
+ {
630
+ "internalType": "uint256",
631
+ "name": "",
632
+ "type": "uint256"
633
+ }
634
+ ],
635
+ "stateMutability": "view",
636
+ "type": "function"
637
+ },
638
+ {
639
+ "inputs": [],
640
+ "name": "getPausedState",
641
+ "outputs": [
642
+ {
643
+ "internalType": "bool",
644
+ "name": "paused",
645
+ "type": "bool"
646
+ },
647
+ {
648
+ "internalType": "uint256",
649
+ "name": "pauseWindowEndTime",
650
+ "type": "uint256"
651
+ },
652
+ {
653
+ "internalType": "uint256",
654
+ "name": "bufferPeriodEndTime",
655
+ "type": "uint256"
656
+ }
657
+ ],
658
+ "stateMutability": "view",
659
+ "type": "function"
660
+ },
661
+ {
662
+ "inputs": [
663
+ {
664
+ "internalType": "bytes32",
665
+ "name": "poolId",
666
+ "type": "bytes32"
667
+ }
668
+ ],
669
+ "name": "getPool",
670
+ "outputs": [
671
+ {
672
+ "internalType": "address",
673
+ "name": "",
674
+ "type": "address"
675
+ },
676
+ {
677
+ "internalType": "enum IVault.PoolSpecialization",
678
+ "name": "",
679
+ "type": "uint8"
680
+ }
681
+ ],
682
+ "stateMutability": "view",
683
+ "type": "function"
684
+ },
685
+ {
686
+ "inputs": [
687
+ {
688
+ "internalType": "bytes32",
689
+ "name": "poolId",
690
+ "type": "bytes32"
691
+ },
692
+ {
693
+ "internalType": "contract IERC20",
694
+ "name": "token",
695
+ "type": "address"
696
+ }
697
+ ],
698
+ "name": "getPoolTokenInfo",
699
+ "outputs": [
700
+ {
701
+ "internalType": "uint256",
702
+ "name": "cash",
703
+ "type": "uint256"
704
+ },
705
+ {
706
+ "internalType": "uint256",
707
+ "name": "managed",
708
+ "type": "uint256"
709
+ },
710
+ {
711
+ "internalType": "uint256",
712
+ "name": "lastChangeBlock",
713
+ "type": "uint256"
714
+ },
715
+ {
716
+ "internalType": "address",
717
+ "name": "assetManager",
718
+ "type": "address"
719
+ }
720
+ ],
721
+ "stateMutability": "view",
722
+ "type": "function"
723
+ },
724
+ {
725
+ "inputs": [
726
+ {
727
+ "internalType": "bytes32",
728
+ "name": "poolId",
729
+ "type": "bytes32"
730
+ }
731
+ ],
732
+ "name": "getPoolTokens",
733
+ "outputs": [
734
+ {
735
+ "internalType": "contract IERC20[]",
736
+ "name": "tokens",
737
+ "type": "address[]"
738
+ },
739
+ {
740
+ "internalType": "uint256[]",
741
+ "name": "balances",
742
+ "type": "uint256[]"
743
+ },
744
+ {
745
+ "internalType": "uint256",
746
+ "name": "lastChangeBlock",
747
+ "type": "uint256"
748
+ }
749
+ ],
750
+ "stateMutability": "view",
751
+ "type": "function"
752
+ },
753
+ {
754
+ "inputs": [],
755
+ "name": "getProtocolFeesCollector",
756
+ "outputs": [
757
+ {
758
+ "internalType": "contract ProtocolFeesCollector",
759
+ "name": "",
760
+ "type": "address"
761
+ }
762
+ ],
763
+ "stateMutability": "view",
764
+ "type": "function"
765
+ },
766
+ {
767
+ "inputs": [
768
+ {
769
+ "internalType": "address",
770
+ "name": "user",
771
+ "type": "address"
772
+ },
773
+ {
774
+ "internalType": "address",
775
+ "name": "relayer",
776
+ "type": "address"
777
+ }
778
+ ],
779
+ "name": "hasApprovedRelayer",
780
+ "outputs": [
781
+ {
782
+ "internalType": "bool",
783
+ "name": "",
784
+ "type": "bool"
785
+ }
786
+ ],
787
+ "stateMutability": "view",
788
+ "type": "function"
789
+ },
790
+ {
791
+ "inputs": [
792
+ {
793
+ "internalType": "bytes32",
794
+ "name": "poolId",
795
+ "type": "bytes32"
796
+ },
797
+ {
798
+ "internalType": "address",
799
+ "name": "sender",
800
+ "type": "address"
801
+ },
802
+ {
803
+ "internalType": "address",
804
+ "name": "recipient",
805
+ "type": "address"
806
+ },
807
+ {
808
+ "components": [
809
+ {
810
+ "internalType": "contract IAsset[]",
811
+ "name": "assets",
812
+ "type": "address[]"
813
+ },
814
+ {
815
+ "internalType": "uint256[]",
816
+ "name": "maxAmountsIn",
817
+ "type": "uint256[]"
818
+ },
819
+ {
820
+ "internalType": "bytes",
821
+ "name": "userData",
822
+ "type": "bytes"
823
+ },
824
+ {
825
+ "internalType": "bool",
826
+ "name": "fromInternalBalance",
827
+ "type": "bool"
828
+ }
829
+ ],
830
+ "internalType": "struct IVault.JoinPoolRequest",
831
+ "name": "request",
832
+ "type": "tuple"
833
+ }
834
+ ],
835
+ "name": "joinPool",
836
+ "outputs": [],
837
+ "stateMutability": "payable",
838
+ "type": "function"
839
+ },
840
+ {
841
+ "inputs": [
842
+ {
843
+ "components": [
844
+ {
845
+ "internalType": "enum IVault.PoolBalanceOpKind",
846
+ "name": "kind",
847
+ "type": "uint8"
848
+ },
849
+ {
850
+ "internalType": "bytes32",
851
+ "name": "poolId",
852
+ "type": "bytes32"
853
+ },
854
+ {
855
+ "internalType": "contract IERC20",
856
+ "name": "token",
857
+ "type": "address"
858
+ },
859
+ {
860
+ "internalType": "uint256",
861
+ "name": "amount",
862
+ "type": "uint256"
863
+ }
864
+ ],
865
+ "internalType": "struct IVault.PoolBalanceOp[]",
866
+ "name": "ops",
867
+ "type": "tuple[]"
868
+ }
869
+ ],
870
+ "name": "managePoolBalance",
871
+ "outputs": [],
872
+ "stateMutability": "nonpayable",
873
+ "type": "function"
874
+ },
875
+ {
876
+ "inputs": [
877
+ {
878
+ "components": [
879
+ {
880
+ "internalType": "enum IVault.UserBalanceOpKind",
881
+ "name": "kind",
882
+ "type": "uint8"
883
+ },
884
+ {
885
+ "internalType": "contract IAsset",
886
+ "name": "asset",
887
+ "type": "address"
888
+ },
889
+ {
890
+ "internalType": "uint256",
891
+ "name": "amount",
892
+ "type": "uint256"
893
+ },
894
+ {
895
+ "internalType": "address",
896
+ "name": "sender",
897
+ "type": "address"
898
+ },
899
+ {
900
+ "internalType": "address payable",
901
+ "name": "recipient",
902
+ "type": "address"
903
+ }
904
+ ],
905
+ "internalType": "struct IVault.UserBalanceOp[]",
906
+ "name": "ops",
907
+ "type": "tuple[]"
908
+ }
909
+ ],
910
+ "name": "manageUserBalance",
911
+ "outputs": [],
912
+ "stateMutability": "payable",
913
+ "type": "function"
914
+ },
915
+ {
916
+ "inputs": [
917
+ {
918
+ "internalType": "enum IVault.SwapKind",
919
+ "name": "kind",
920
+ "type": "uint8"
921
+ },
922
+ {
923
+ "components": [
924
+ {
925
+ "internalType": "bytes32",
926
+ "name": "poolId",
927
+ "type": "bytes32"
928
+ },
929
+ {
930
+ "internalType": "uint256",
931
+ "name": "assetInIndex",
932
+ "type": "uint256"
933
+ },
934
+ {
935
+ "internalType": "uint256",
936
+ "name": "assetOutIndex",
937
+ "type": "uint256"
938
+ },
939
+ {
940
+ "internalType": "uint256",
941
+ "name": "amount",
942
+ "type": "uint256"
943
+ },
944
+ {
945
+ "internalType": "bytes",
946
+ "name": "userData",
947
+ "type": "bytes"
948
+ }
949
+ ],
950
+ "internalType": "struct IVault.BatchSwapStep[]",
951
+ "name": "swaps",
952
+ "type": "tuple[]"
953
+ },
954
+ {
955
+ "internalType": "contract IAsset[]",
956
+ "name": "assets",
957
+ "type": "address[]"
958
+ },
959
+ {
960
+ "components": [
961
+ {
962
+ "internalType": "address",
963
+ "name": "sender",
964
+ "type": "address"
965
+ },
966
+ {
967
+ "internalType": "bool",
968
+ "name": "fromInternalBalance",
969
+ "type": "bool"
970
+ },
971
+ {
972
+ "internalType": "address payable",
973
+ "name": "recipient",
974
+ "type": "address"
975
+ },
976
+ {
977
+ "internalType": "bool",
978
+ "name": "toInternalBalance",
979
+ "type": "bool"
980
+ }
981
+ ],
982
+ "internalType": "struct IVault.FundManagement",
983
+ "name": "funds",
984
+ "type": "tuple"
985
+ }
986
+ ],
987
+ "name": "queryBatchSwap",
988
+ "outputs": [
989
+ {
990
+ "internalType": "int256[]",
991
+ "name": "",
992
+ "type": "int256[]"
993
+ }
994
+ ],
995
+ "stateMutability": "nonpayable",
996
+ "type": "function"
997
+ },
998
+ {
999
+ "inputs": [
1000
+ {
1001
+ "internalType": "enum IVault.PoolSpecialization",
1002
+ "name": "specialization",
1003
+ "type": "uint8"
1004
+ }
1005
+ ],
1006
+ "name": "registerPool",
1007
+ "outputs": [
1008
+ {
1009
+ "internalType": "bytes32",
1010
+ "name": "",
1011
+ "type": "bytes32"
1012
+ }
1013
+ ],
1014
+ "stateMutability": "nonpayable",
1015
+ "type": "function"
1016
+ },
1017
+ {
1018
+ "inputs": [
1019
+ {
1020
+ "internalType": "bytes32",
1021
+ "name": "poolId",
1022
+ "type": "bytes32"
1023
+ },
1024
+ {
1025
+ "internalType": "contract IERC20[]",
1026
+ "name": "tokens",
1027
+ "type": "address[]"
1028
+ },
1029
+ {
1030
+ "internalType": "address[]",
1031
+ "name": "assetManagers",
1032
+ "type": "address[]"
1033
+ }
1034
+ ],
1035
+ "name": "registerTokens",
1036
+ "outputs": [],
1037
+ "stateMutability": "nonpayable",
1038
+ "type": "function"
1039
+ },
1040
+ {
1041
+ "inputs": [
1042
+ {
1043
+ "internalType": "contract IAuthorizer",
1044
+ "name": "newAuthorizer",
1045
+ "type": "address"
1046
+ }
1047
+ ],
1048
+ "name": "setAuthorizer",
1049
+ "outputs": [],
1050
+ "stateMutability": "nonpayable",
1051
+ "type": "function"
1052
+ },
1053
+ {
1054
+ "inputs": [
1055
+ {
1056
+ "internalType": "bool",
1057
+ "name": "paused",
1058
+ "type": "bool"
1059
+ }
1060
+ ],
1061
+ "name": "setPaused",
1062
+ "outputs": [],
1063
+ "stateMutability": "nonpayable",
1064
+ "type": "function"
1065
+ },
1066
+ {
1067
+ "inputs": [
1068
+ {
1069
+ "internalType": "address",
1070
+ "name": "sender",
1071
+ "type": "address"
1072
+ },
1073
+ {
1074
+ "internalType": "address",
1075
+ "name": "relayer",
1076
+ "type": "address"
1077
+ },
1078
+ {
1079
+ "internalType": "bool",
1080
+ "name": "approved",
1081
+ "type": "bool"
1082
+ }
1083
+ ],
1084
+ "name": "setRelayerApproval",
1085
+ "outputs": [],
1086
+ "stateMutability": "nonpayable",
1087
+ "type": "function"
1088
+ },
1089
+ {
1090
+ "inputs": [
1091
+ {
1092
+ "components": [
1093
+ {
1094
+ "internalType": "bytes32",
1095
+ "name": "poolId",
1096
+ "type": "bytes32"
1097
+ },
1098
+ {
1099
+ "internalType": "enum IVault.SwapKind",
1100
+ "name": "kind",
1101
+ "type": "uint8"
1102
+ },
1103
+ {
1104
+ "internalType": "contract IAsset",
1105
+ "name": "assetIn",
1106
+ "type": "address"
1107
+ },
1108
+ {
1109
+ "internalType": "contract IAsset",
1110
+ "name": "assetOut",
1111
+ "type": "address"
1112
+ },
1113
+ {
1114
+ "internalType": "uint256",
1115
+ "name": "amount",
1116
+ "type": "uint256"
1117
+ },
1118
+ {
1119
+ "internalType": "bytes",
1120
+ "name": "userData",
1121
+ "type": "bytes"
1122
+ }
1123
+ ],
1124
+ "internalType": "struct IVault.SingleSwap",
1125
+ "name": "singleSwap",
1126
+ "type": "tuple"
1127
+ },
1128
+ {
1129
+ "components": [
1130
+ {
1131
+ "internalType": "address",
1132
+ "name": "sender",
1133
+ "type": "address"
1134
+ },
1135
+ {
1136
+ "internalType": "bool",
1137
+ "name": "fromInternalBalance",
1138
+ "type": "bool"
1139
+ },
1140
+ {
1141
+ "internalType": "address payable",
1142
+ "name": "recipient",
1143
+ "type": "address"
1144
+ },
1145
+ {
1146
+ "internalType": "bool",
1147
+ "name": "toInternalBalance",
1148
+ "type": "bool"
1149
+ }
1150
+ ],
1151
+ "internalType": "struct IVault.FundManagement",
1152
+ "name": "funds",
1153
+ "type": "tuple"
1154
+ },
1155
+ {
1156
+ "internalType": "uint256",
1157
+ "name": "limit",
1158
+ "type": "uint256"
1159
+ },
1160
+ {
1161
+ "internalType": "uint256",
1162
+ "name": "deadline",
1163
+ "type": "uint256"
1164
+ }
1165
+ ],
1166
+ "name": "swap",
1167
+ "outputs": [
1168
+ {
1169
+ "internalType": "uint256",
1170
+ "name": "amountCalculated",
1171
+ "type": "uint256"
1172
+ }
1173
+ ],
1174
+ "stateMutability": "payable",
1175
+ "type": "function"
1176
+ },
1177
+ {
1178
+ "stateMutability": "payable",
1179
+ "type": "receive"
1180
+ }
1181
+ ],
1182
+ "bytecode": "",
1183
+ "deployedBytecode": "",
1184
+ "linkReferences": {},
1185
+ "deployedLinkReferences": {}
1186
+ }
contracts/service_registry_abi.json ADDED
@@ -0,0 +1 @@
 
 
1
+ [{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"string","name":"_baseURI","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"operator","type":"address"}],"name":"AgentInstanceRegistered","type":"error"},{"inputs":[{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"AgentInstancesSlotsFilled","type":"error"},{"inputs":[{"internalType":"uint256","name":"agentId","type":"uint256"}],"name":"AgentNotFound","type":"error"},{"inputs":[{"internalType":"uint256","name":"agentId","type":"uint256"},{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"AgentNotInService","type":"error"},{"inputs":[{"internalType":"uint256","name":"componentId","type":"uint256"}],"name":"ComponentNotFound","type":"error"},{"inputs":[],"name":"HashExists","type":"error"},{"inputs":[{"internalType":"uint256","name":"sent","type":"uint256"},{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"IncorrectAgentBondingValue","type":"error"},{"inputs":[{"internalType":"uint256","name":"sent","type":"uint256"},{"internalType":"uint256","name":"expected","type":"uint256"},{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"IncorrectRegistrationDepositValue","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"manager","type":"address"}],"name":"ManagerOnly","type":"error"},{"inputs":[{"internalType":"address","name":"provided","type":"address"},{"internalType":"address","name":"expected","type":"address"},{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"OnlyOwnServiceMultisig","type":"error"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"OperatorHasNoInstances","type":"error"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"max","type":"uint256"}],"name":"Overflow","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"name":"OwnerOnly","type":"error"},{"inputs":[],"name":"Paused","type":"error"},{"inputs":[],"name":"ReentrancyGuard","type":"error"},{"inputs":[{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"ServiceMustBeInactive","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"TransferFailed","type":"error"},{"inputs":[{"internalType":"address","name":"multisig","type":"address"}],"name":"UnauthorizedMultisig","type":"error"},{"inputs":[{"internalType":"uint256","name":"agentId","type":"uint256"}],"name":"WrongAgentId","type":"error"},{"inputs":[{"internalType":"uint256","name":"numValues1","type":"uint256"},{"internalType":"uint256","name":"numValues2","type":"uint256"}],"name":"WrongArrayLength","type":"error"},{"inputs":[{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"WrongOperator","type":"error"},{"inputs":[{"internalType":"uint256","name":"state","type":"uint256"},{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"WrongServiceState","type":"error"},{"inputs":[{"internalType":"uint256","name":"currentThreshold","type":"uint256"},{"internalType":"uint256","name":"minThreshold","type":"uint256"},{"internalType":"uint256","name":"maxThreshold","type":"uint256"}],"name":"WrongThreshold","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"inputs":[],"name":"ZeroValue","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"ActivateRegistration","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"baseURI","type":"string"}],"name":"BaseURIChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"serviceId","type":"uint256"},{"indexed":true,"internalType":"address","name":"multisig","type":"address"}],"name":"CreateMultisigWithAgents","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"serviceId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"configHash","type":"bytes32"}],"name":"CreateService","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"DeployService","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"drainer","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Drain","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"drainer","type":"address"}],"name":"DrainerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"manager","type":"address"}],"name":"ManagerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"OperatorSlashed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"OperatorUnbond","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"OwnerUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Refund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":true,"internalType":"uint256","name":"serviceId","type":"uint256"},{"indexed":true,"internalType":"address","name":"agentInstance","type":"address"},{"indexed":false,"internalType":"uint256","name":"agentId","type":"uint256"}],"name":"RegisterInstance","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"TerminateService","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"serviceId","type":"uint256"},{"indexed":false,"internalType":"bytes32","name":"configHash","type":"bytes32"}],"name":"UpdateService","type":"event"},{"inputs":[],"name":"CID_PREFIX","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"serviceOwner","type":"address"},{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"activateRegistration","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newDrainer","type":"address"}],"name":"changeDrainer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newManager","type":"address"}],"name":"changeManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"multisig","type":"address"},{"internalType":"bool","name":"permission","type":"bool"}],"name":"changeMultisigPermission","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"serviceOwner","type":"address"},{"internalType":"bytes32","name":"configHash","type":"bytes32"},{"internalType":"uint32[]","name":"agentIds","type":"uint32[]"},{"components":[{"internalType":"uint32","name":"slots","type":"uint32"},{"internalType":"uint96","name":"bond","type":"uint96"}],"internalType":"struct AgentParams[]","name":"agentParams","type":"tuple[]"},{"internalType":"uint32","name":"threshold","type":"uint32"}],"name":"create","outputs":[{"internalType":"uint256","name":"serviceId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"serviceOwner","type":"address"},{"internalType":"uint256","name":"serviceId","type":"uint256"},{"internalType":"address","name":"multisigImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"deploy","outputs":[{"internalType":"address","name":"multisig","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"drain","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"drainer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"unitId","type":"uint256"}],"name":"exists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"getAgentInstances","outputs":[{"internalType":"uint256","name":"numAgentInstances","type":"uint256"},{"internalType":"address[]","name":"agentInstances","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"getAgentParams","outputs":[{"internalType":"uint256","name":"numAgentIds","type":"uint256"},{"components":[{"internalType":"uint32","name":"slots","type":"uint32"},{"internalType":"uint96","name":"bond","type":"uint96"}],"internalType":"struct AgentParams[]","name":"agentParams","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"serviceId","type":"uint256"},{"internalType":"uint256","name":"agentId","type":"uint256"}],"name":"getInstancesForAgentId","outputs":[{"internalType":"uint256","name":"numAgentInstances","type":"uint256"},{"internalType":"address[]","name":"agentInstances","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"getOperatorBalance","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"getPreviousHashes","outputs":[{"internalType":"uint256","name":"numHashes","type":"uint256"},{"internalType":"bytes32[]","name":"configHashes","type":"bytes32[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"getService","outputs":[{"components":[{"internalType":"uint96","name":"securityDeposit","type":"uint96"},{"internalType":"address","name":"multisig","type":"address"},{"internalType":"bytes32","name":"configHash","type":"bytes32"},{"internalType":"uint32","name":"threshold","type":"uint32"},{"internalType":"uint32","name":"maxNumAgentInstances","type":"uint32"},{"internalType":"uint32","name":"numAgentInstances","type":"uint32"},{"internalType":"enum ServiceRegistryL2.ServiceState","name":"state","type":"uint8"},{"internalType":"uint32[]","name":"agentIds","type":"uint32[]"}],"internalType":"struct ServiceRegistryL2.Service","name":"service","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mapAgentInstanceOperators","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"mapConfigHashes","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"mapMultisigs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"mapOperatorAndServiceIdAgentInstances","outputs":[{"internalType":"address","name":"instance","type":"address"},{"internalType":"uint32","name":"agentId","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mapOperatorAndServiceIdOperatorBalances","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"mapServiceAndAgentIdAgentInstances","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mapServiceAndAgentIdAgentParams","outputs":[{"internalType":"uint32","name":"slots","type":"uint32"},{"internalType":"uint96","name":"bond","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mapServices","outputs":[{"internalType":"uint96","name":"securityDeposit","type":"uint96"},{"internalType":"address","name":"multisig","type":"address"},{"internalType":"bytes32","name":"configHash","type":"bytes32"},{"internalType":"uint32","name":"threshold","type":"uint32"},{"internalType":"uint32","name":"maxNumAgentInstances","type":"uint32"},{"internalType":"uint32","name":"numAgentInstances","type":"uint32"},{"internalType":"enum ServiceRegistryL2.ServiceState","name":"state","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"serviceId","type":"uint256"},{"internalType":"address[]","name":"agentInstances","type":"address[]"},{"internalType":"uint32[]","name":"agentIds","type":"uint32[]"}],"name":"registerAgents","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"bURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"agentInstances","type":"address[]"},{"internalType":"uint96[]","name":"amounts","type":"uint96[]"},{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"slash","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"slashedFunds","outputs":[{"internalType":"uint96","name":"","type":"uint96"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"serviceOwner","type":"address"},{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"terminate","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"uint256","name":"refund","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"unitId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"unitId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"unbond","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"uint256","name":"refund","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"serviceOwner","type":"address"},{"internalType":"bytes32","name":"configHash","type":"bytes32"},{"internalType":"uint32[]","name":"agentIds","type":"uint32[]"},{"components":[{"internalType":"uint32","name":"slots","type":"uint32"},{"internalType":"uint96","name":"bond","type":"uint96"}],"internalType":"struct AgentParams[]","name":"agentParams","type":"tuple[]"},{"internalType":"uint32","name":"threshold","type":"uint32"},{"internalType":"uint256","name":"serviceId","type":"uint256"}],"name":"update","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]