impermax-sdk 2.1.74 → 2.1.76

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.
Files changed (33) hide show
  1. package/lib/abis/contracts/ActionsGetter.json +9757 -0
  2. package/lib/abis/contracts/IV3BaseRouter01.json +1068 -0
  3. package/lib/config/contracts/routers.d.ts +1 -0
  4. package/lib/config/contracts/routers.js +25 -2
  5. package/lib/config/general.d.ts +1 -0
  6. package/lib/config/general.js +2 -1
  7. package/lib/config/subgraphs.js +3 -3
  8. package/lib/onchain/account/lendingPool/nftlp/onchainAccountNftlp.d.ts +1 -0
  9. package/lib/onchain/account/lendingPool/nftlp/onchainAccountNftlp.js +1 -0
  10. package/lib/onchain/account/lendingPool/nftlp/onchainAccountNftlpUniswapV3.d.ts +31 -1
  11. package/lib/onchain/account/lendingPool/nftlp/onchainAccountNftlpUniswapV3.js +74 -0
  12. package/lib/onchain/account/lendingPool/onchainAccountBorrowableV3.js +28 -0
  13. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowable.d.ts +1 -0
  14. package/lib/onchain/impermaxFactory/lendingPool/onchainBorrowable.js +7 -0
  15. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPoolV2.d.ts +1 -0
  16. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPoolV2.js +1 -0
  17. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPoolV3.d.ts +1 -0
  18. package/lib/onchain/impermaxFactory/lendingPool/onchainLendingPoolV3.js +1 -0
  19. package/lib/onchain/impermaxFactory/onchainImpermaxFactoryV3.d.ts +2 -0
  20. package/lib/onchain/impermaxFactory/onchainImpermaxFactoryV3.js +11 -0
  21. package/lib/onchain/interactions/lendingPool/nftlp/onchainInteractionsNftlp.d.ts +18 -0
  22. package/lib/onchain/interactions/lendingPool/nftlp/onchainInteractionsNftlp.js +11 -0
  23. package/lib/onchain/interactions/lendingPool/nftlp/onchainInteractionsNftlpUniswapV3.d.ts +30 -0
  24. package/lib/onchain/interactions/lendingPool/nftlp/onchainInteractionsNftlpUniswapV3.js +214 -0
  25. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPool.d.ts +1 -1
  26. package/lib/onchain/interactions/lendingPool/onchainInteractionsLendingPool.js +2 -1
  27. package/lib/onchain/onchainContractsHelper.d.ts +1 -0
  28. package/lib/onchain/onchainContractsHelper.js +5 -4
  29. package/lib/utils/nftlpMath/uniswapV3Position.d.ts +27 -0
  30. package/lib/utils/nftlpMath/uniswapV3Position.js +73 -0
  31. package/package.json +1 -1
  32. package/lib/abis/contracts/ImpermaxV3UniV2Router01.json +0 -32488
  33. package/lib/abis/contracts/ImpermaxV3UniV3Router01.json +0 -37742
@@ -0,0 +1,1068 @@
1
+ {
2
+ "contractName": "IV3BaseRouter01",
3
+ "abi": [
4
+ {
5
+ "constant": true,
6
+ "inputs": [
7
+ {
8
+ "internalType": "address",
9
+ "name": "nftlp",
10
+ "type": "address"
11
+ }
12
+ ],
13
+ "name": "getLendingPool",
14
+ "outputs": [
15
+ {
16
+ "components": [
17
+ {
18
+ "internalType": "address",
19
+ "name": "nftlp",
20
+ "type": "address"
21
+ },
22
+ {
23
+ "internalType": "address",
24
+ "name": "collateral",
25
+ "type": "address"
26
+ },
27
+ {
28
+ "internalType": "address[2]",
29
+ "name": "borrowables",
30
+ "type": "address[2]"
31
+ },
32
+ {
33
+ "internalType": "address[2]",
34
+ "name": "tokens",
35
+ "type": "address[2]"
36
+ }
37
+ ],
38
+ "internalType": "struct IV3BaseRouter01.LendingPool",
39
+ "name": "pool",
40
+ "type": "tuple"
41
+ }
42
+ ],
43
+ "payable": false,
44
+ "stateMutability": "view",
45
+ "type": "function"
46
+ },
47
+ {
48
+ "constant": false,
49
+ "inputs": [
50
+ {
51
+ "internalType": "address",
52
+ "name": "nftlp",
53
+ "type": "address"
54
+ },
55
+ {
56
+ "internalType": "uint256",
57
+ "name": "_tokenId",
58
+ "type": "uint256"
59
+ },
60
+ {
61
+ "internalType": "bytes",
62
+ "name": "actionsData",
63
+ "type": "bytes"
64
+ },
65
+ {
66
+ "internalType": "bytes",
67
+ "name": "permitsData",
68
+ "type": "bytes"
69
+ },
70
+ {
71
+ "internalType": "bool",
72
+ "name": "withCollateralTransfer",
73
+ "type": "bool"
74
+ }
75
+ ],
76
+ "name": "execute",
77
+ "outputs": [],
78
+ "payable": true,
79
+ "stateMutability": "payable",
80
+ "type": "function"
81
+ }
82
+ ],
83
+ "metadata": "{\"compiler\":{\"version\":\"0.5.16+commit.9c3226ce\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftlp\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"actionsData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"permitsData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"withCollateralTransfer\",\"type\":\"bool\"}],\"name\":\"execute\",\"outputs\":[],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"nftlp\",\"type\":\"address\"}],\"name\":\"getLendingPool\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"nftlp\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"collateral\",\"type\":\"address\"},{\"internalType\":\"address[2]\",\"name\":\"borrowables\",\"type\":\"address[2]\"},{\"internalType\":\"address[2]\",\"name\":\"tokens\",\"type\":\"address[2]\"}],\"internalType\":\"struct IV3BaseRouter01.LendingPool\",\"name\":\"pool\",\"type\":\"tuple\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/IV3BaseRouter01.sol\":\"IV3BaseRouter01\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/IV3BaseRouter01.sol\":{\"keccak256\":\"0xea5715259fbedb45e6d1a3b770aeafa72a2e14a7cfa660a586ccbe1fe7c9db9d\",\"urls\":[\"bzz-raw://6135e985fb4811025c3b3a2f791619a9e28a36b224a110efff7d5e6067e9e23a\",\"dweb:/ipfs/QmbZuCYYUk9bmWduxeLXyGk5ThAbQuLevTfcEHqpKZSwxW\"]}},\"version\":1}",
84
+ "bytecode": "0x",
85
+ "deployedBytecode": "0x",
86
+ "sourceMap": "",
87
+ "deployedSourceMap": "",
88
+ "source": "pragma solidity >=0.5.0;\npragma experimental ABIEncoderV2;\n\ninterface IV3BaseRouter01 {\n\tstruct LendingPool {\n\t\taddress nftlp;\n\t\taddress collateral;\n\t\taddress[2] borrowables;\n\t\taddress[2] tokens;\n\t}\n\tfunction getLendingPool(address nftlp) external view returns (LendingPool memory pool);\n\t\n\tfunction execute(\n\t\taddress nftlp,\n\t\tuint _tokenId,\n\t\tbytes calldata actionsData,\n\t\tbytes calldata permitsData,\n\t\tbool withCollateralTransfer\n\t) external payable;\n}\n",
89
+ "sourcePath": "C:\\Users\\Simone\\Desktop\\impermax-v3-periphery\\contracts\\interfaces\\IV3BaseRouter01.sol",
90
+ "ast": {
91
+ "absolutePath": "project:/contracts/interfaces/IV3BaseRouter01.sol",
92
+ "exportedSymbols": {
93
+ "IV3BaseRouter01": [
94
+ 15727
95
+ ]
96
+ },
97
+ "id": 15728,
98
+ "nodeType": "SourceUnit",
99
+ "nodes": [
100
+ {
101
+ "id": 15692,
102
+ "literals": [
103
+ "solidity",
104
+ ">=",
105
+ "0.5",
106
+ ".0"
107
+ ],
108
+ "nodeType": "PragmaDirective",
109
+ "src": "0:24:61"
110
+ },
111
+ {
112
+ "id": 15693,
113
+ "literals": [
114
+ "experimental",
115
+ "ABIEncoderV2"
116
+ ],
117
+ "nodeType": "PragmaDirective",
118
+ "src": "25:33:61"
119
+ },
120
+ {
121
+ "baseContracts": [],
122
+ "contractDependencies": [],
123
+ "contractKind": "interface",
124
+ "documentation": null,
125
+ "fullyImplemented": false,
126
+ "id": 15727,
127
+ "linearizedBaseContracts": [
128
+ 15727
129
+ ],
130
+ "name": "IV3BaseRouter01",
131
+ "nodeType": "ContractDefinition",
132
+ "nodes": [
133
+ {
134
+ "canonicalName": "IV3BaseRouter01.LendingPool",
135
+ "id": 15706,
136
+ "members": [
137
+ {
138
+ "constant": false,
139
+ "id": 15695,
140
+ "name": "nftlp",
141
+ "nodeType": "VariableDeclaration",
142
+ "scope": 15706,
143
+ "src": "112:13:61",
144
+ "stateVariable": false,
145
+ "storageLocation": "default",
146
+ "typeDescriptions": {
147
+ "typeIdentifier": "t_address",
148
+ "typeString": "address"
149
+ },
150
+ "typeName": {
151
+ "id": 15694,
152
+ "name": "address",
153
+ "nodeType": "ElementaryTypeName",
154
+ "src": "112:7:61",
155
+ "stateMutability": "nonpayable",
156
+ "typeDescriptions": {
157
+ "typeIdentifier": "t_address",
158
+ "typeString": "address"
159
+ }
160
+ },
161
+ "value": null,
162
+ "visibility": "internal"
163
+ },
164
+ {
165
+ "constant": false,
166
+ "id": 15697,
167
+ "name": "collateral",
168
+ "nodeType": "VariableDeclaration",
169
+ "scope": 15706,
170
+ "src": "129:18:61",
171
+ "stateVariable": false,
172
+ "storageLocation": "default",
173
+ "typeDescriptions": {
174
+ "typeIdentifier": "t_address",
175
+ "typeString": "address"
176
+ },
177
+ "typeName": {
178
+ "id": 15696,
179
+ "name": "address",
180
+ "nodeType": "ElementaryTypeName",
181
+ "src": "129:7:61",
182
+ "stateMutability": "nonpayable",
183
+ "typeDescriptions": {
184
+ "typeIdentifier": "t_address",
185
+ "typeString": "address"
186
+ }
187
+ },
188
+ "value": null,
189
+ "visibility": "internal"
190
+ },
191
+ {
192
+ "constant": false,
193
+ "id": 15701,
194
+ "name": "borrowables",
195
+ "nodeType": "VariableDeclaration",
196
+ "scope": 15706,
197
+ "src": "151:22:61",
198
+ "stateVariable": false,
199
+ "storageLocation": "default",
200
+ "typeDescriptions": {
201
+ "typeIdentifier": "t_array$_t_address_$2_storage_ptr",
202
+ "typeString": "address[2]"
203
+ },
204
+ "typeName": {
205
+ "baseType": {
206
+ "id": 15698,
207
+ "name": "address",
208
+ "nodeType": "ElementaryTypeName",
209
+ "src": "151:7:61",
210
+ "stateMutability": "nonpayable",
211
+ "typeDescriptions": {
212
+ "typeIdentifier": "t_address",
213
+ "typeString": "address"
214
+ }
215
+ },
216
+ "id": 15700,
217
+ "length": {
218
+ "argumentTypes": null,
219
+ "hexValue": "32",
220
+ "id": 15699,
221
+ "isConstant": false,
222
+ "isLValue": false,
223
+ "isPure": true,
224
+ "kind": "number",
225
+ "lValueRequested": false,
226
+ "nodeType": "Literal",
227
+ "src": "159:1:61",
228
+ "subdenomination": null,
229
+ "typeDescriptions": {
230
+ "typeIdentifier": "t_rational_2_by_1",
231
+ "typeString": "int_const 2"
232
+ },
233
+ "value": "2"
234
+ },
235
+ "nodeType": "ArrayTypeName",
236
+ "src": "151:10:61",
237
+ "typeDescriptions": {
238
+ "typeIdentifier": "t_array$_t_address_$2_storage_ptr",
239
+ "typeString": "address[2]"
240
+ }
241
+ },
242
+ "value": null,
243
+ "visibility": "internal"
244
+ },
245
+ {
246
+ "constant": false,
247
+ "id": 15705,
248
+ "name": "tokens",
249
+ "nodeType": "VariableDeclaration",
250
+ "scope": 15706,
251
+ "src": "177:17:61",
252
+ "stateVariable": false,
253
+ "storageLocation": "default",
254
+ "typeDescriptions": {
255
+ "typeIdentifier": "t_array$_t_address_$2_storage_ptr",
256
+ "typeString": "address[2]"
257
+ },
258
+ "typeName": {
259
+ "baseType": {
260
+ "id": 15702,
261
+ "name": "address",
262
+ "nodeType": "ElementaryTypeName",
263
+ "src": "177:7:61",
264
+ "stateMutability": "nonpayable",
265
+ "typeDescriptions": {
266
+ "typeIdentifier": "t_address",
267
+ "typeString": "address"
268
+ }
269
+ },
270
+ "id": 15704,
271
+ "length": {
272
+ "argumentTypes": null,
273
+ "hexValue": "32",
274
+ "id": 15703,
275
+ "isConstant": false,
276
+ "isLValue": false,
277
+ "isPure": true,
278
+ "kind": "number",
279
+ "lValueRequested": false,
280
+ "nodeType": "Literal",
281
+ "src": "185:1:61",
282
+ "subdenomination": null,
283
+ "typeDescriptions": {
284
+ "typeIdentifier": "t_rational_2_by_1",
285
+ "typeString": "int_const 2"
286
+ },
287
+ "value": "2"
288
+ },
289
+ "nodeType": "ArrayTypeName",
290
+ "src": "177:10:61",
291
+ "typeDescriptions": {
292
+ "typeIdentifier": "t_array$_t_address_$2_storage_ptr",
293
+ "typeString": "address[2]"
294
+ }
295
+ },
296
+ "value": null,
297
+ "visibility": "internal"
298
+ }
299
+ ],
300
+ "name": "LendingPool",
301
+ "nodeType": "StructDefinition",
302
+ "scope": 15727,
303
+ "src": "89:109:61",
304
+ "visibility": "public"
305
+ },
306
+ {
307
+ "body": null,
308
+ "documentation": null,
309
+ "id": 15713,
310
+ "implemented": false,
311
+ "kind": "function",
312
+ "modifiers": [],
313
+ "name": "getLendingPool",
314
+ "nodeType": "FunctionDefinition",
315
+ "parameters": {
316
+ "id": 15709,
317
+ "nodeType": "ParameterList",
318
+ "parameters": [
319
+ {
320
+ "constant": false,
321
+ "id": 15708,
322
+ "name": "nftlp",
323
+ "nodeType": "VariableDeclaration",
324
+ "scope": 15713,
325
+ "src": "224:13:61",
326
+ "stateVariable": false,
327
+ "storageLocation": "default",
328
+ "typeDescriptions": {
329
+ "typeIdentifier": "t_address",
330
+ "typeString": "address"
331
+ },
332
+ "typeName": {
333
+ "id": 15707,
334
+ "name": "address",
335
+ "nodeType": "ElementaryTypeName",
336
+ "src": "224:7:61",
337
+ "stateMutability": "nonpayable",
338
+ "typeDescriptions": {
339
+ "typeIdentifier": "t_address",
340
+ "typeString": "address"
341
+ }
342
+ },
343
+ "value": null,
344
+ "visibility": "internal"
345
+ }
346
+ ],
347
+ "src": "223:15:61"
348
+ },
349
+ "returnParameters": {
350
+ "id": 15712,
351
+ "nodeType": "ParameterList",
352
+ "parameters": [
353
+ {
354
+ "constant": false,
355
+ "id": 15711,
356
+ "name": "pool",
357
+ "nodeType": "VariableDeclaration",
358
+ "scope": 15713,
359
+ "src": "262:23:61",
360
+ "stateVariable": false,
361
+ "storageLocation": "memory",
362
+ "typeDescriptions": {
363
+ "typeIdentifier": "t_struct$_LendingPool_$15706_memory_ptr",
364
+ "typeString": "struct IV3BaseRouter01.LendingPool"
365
+ },
366
+ "typeName": {
367
+ "contractScope": null,
368
+ "id": 15710,
369
+ "name": "LendingPool",
370
+ "nodeType": "UserDefinedTypeName",
371
+ "referencedDeclaration": 15706,
372
+ "src": "262:11:61",
373
+ "typeDescriptions": {
374
+ "typeIdentifier": "t_struct$_LendingPool_$15706_storage_ptr",
375
+ "typeString": "struct IV3BaseRouter01.LendingPool"
376
+ }
377
+ },
378
+ "value": null,
379
+ "visibility": "internal"
380
+ }
381
+ ],
382
+ "src": "261:25:61"
383
+ },
384
+ "scope": 15727,
385
+ "src": "200:87:61",
386
+ "stateMutability": "view",
387
+ "superFunction": null,
388
+ "visibility": "external"
389
+ },
390
+ {
391
+ "body": null,
392
+ "documentation": null,
393
+ "id": 15726,
394
+ "implemented": false,
395
+ "kind": "function",
396
+ "modifiers": [],
397
+ "name": "execute",
398
+ "nodeType": "FunctionDefinition",
399
+ "parameters": {
400
+ "id": 15724,
401
+ "nodeType": "ParameterList",
402
+ "parameters": [
403
+ {
404
+ "constant": false,
405
+ "id": 15715,
406
+ "name": "nftlp",
407
+ "nodeType": "VariableDeclaration",
408
+ "scope": 15726,
409
+ "src": "311:13:61",
410
+ "stateVariable": false,
411
+ "storageLocation": "default",
412
+ "typeDescriptions": {
413
+ "typeIdentifier": "t_address",
414
+ "typeString": "address"
415
+ },
416
+ "typeName": {
417
+ "id": 15714,
418
+ "name": "address",
419
+ "nodeType": "ElementaryTypeName",
420
+ "src": "311:7:61",
421
+ "stateMutability": "nonpayable",
422
+ "typeDescriptions": {
423
+ "typeIdentifier": "t_address",
424
+ "typeString": "address"
425
+ }
426
+ },
427
+ "value": null,
428
+ "visibility": "internal"
429
+ },
430
+ {
431
+ "constant": false,
432
+ "id": 15717,
433
+ "name": "_tokenId",
434
+ "nodeType": "VariableDeclaration",
435
+ "scope": 15726,
436
+ "src": "328:13:61",
437
+ "stateVariable": false,
438
+ "storageLocation": "default",
439
+ "typeDescriptions": {
440
+ "typeIdentifier": "t_uint256",
441
+ "typeString": "uint256"
442
+ },
443
+ "typeName": {
444
+ "id": 15716,
445
+ "name": "uint",
446
+ "nodeType": "ElementaryTypeName",
447
+ "src": "328:4:61",
448
+ "typeDescriptions": {
449
+ "typeIdentifier": "t_uint256",
450
+ "typeString": "uint256"
451
+ }
452
+ },
453
+ "value": null,
454
+ "visibility": "internal"
455
+ },
456
+ {
457
+ "constant": false,
458
+ "id": 15719,
459
+ "name": "actionsData",
460
+ "nodeType": "VariableDeclaration",
461
+ "scope": 15726,
462
+ "src": "345:26:61",
463
+ "stateVariable": false,
464
+ "storageLocation": "calldata",
465
+ "typeDescriptions": {
466
+ "typeIdentifier": "t_bytes_calldata_ptr",
467
+ "typeString": "bytes"
468
+ },
469
+ "typeName": {
470
+ "id": 15718,
471
+ "name": "bytes",
472
+ "nodeType": "ElementaryTypeName",
473
+ "src": "345:5:61",
474
+ "typeDescriptions": {
475
+ "typeIdentifier": "t_bytes_storage_ptr",
476
+ "typeString": "bytes"
477
+ }
478
+ },
479
+ "value": null,
480
+ "visibility": "internal"
481
+ },
482
+ {
483
+ "constant": false,
484
+ "id": 15721,
485
+ "name": "permitsData",
486
+ "nodeType": "VariableDeclaration",
487
+ "scope": 15726,
488
+ "src": "375:26:61",
489
+ "stateVariable": false,
490
+ "storageLocation": "calldata",
491
+ "typeDescriptions": {
492
+ "typeIdentifier": "t_bytes_calldata_ptr",
493
+ "typeString": "bytes"
494
+ },
495
+ "typeName": {
496
+ "id": 15720,
497
+ "name": "bytes",
498
+ "nodeType": "ElementaryTypeName",
499
+ "src": "375:5:61",
500
+ "typeDescriptions": {
501
+ "typeIdentifier": "t_bytes_storage_ptr",
502
+ "typeString": "bytes"
503
+ }
504
+ },
505
+ "value": null,
506
+ "visibility": "internal"
507
+ },
508
+ {
509
+ "constant": false,
510
+ "id": 15723,
511
+ "name": "withCollateralTransfer",
512
+ "nodeType": "VariableDeclaration",
513
+ "scope": 15726,
514
+ "src": "405:27:61",
515
+ "stateVariable": false,
516
+ "storageLocation": "default",
517
+ "typeDescriptions": {
518
+ "typeIdentifier": "t_bool",
519
+ "typeString": "bool"
520
+ },
521
+ "typeName": {
522
+ "id": 15722,
523
+ "name": "bool",
524
+ "nodeType": "ElementaryTypeName",
525
+ "src": "405:4:61",
526
+ "typeDescriptions": {
527
+ "typeIdentifier": "t_bool",
528
+ "typeString": "bool"
529
+ }
530
+ },
531
+ "value": null,
532
+ "visibility": "internal"
533
+ }
534
+ ],
535
+ "src": "307:128:61"
536
+ },
537
+ "returnParameters": {
538
+ "id": 15725,
539
+ "nodeType": "ParameterList",
540
+ "parameters": [],
541
+ "src": "452:0:61"
542
+ },
543
+ "scope": 15727,
544
+ "src": "291:162:61",
545
+ "stateMutability": "payable",
546
+ "superFunction": null,
547
+ "visibility": "external"
548
+ }
549
+ ],
550
+ "scope": 15728,
551
+ "src": "60:395:61"
552
+ }
553
+ ],
554
+ "src": "0:456:61"
555
+ },
556
+ "legacyAST": {
557
+ "attributes": {
558
+ "absolutePath": "project:/contracts/interfaces/IV3BaseRouter01.sol",
559
+ "exportedSymbols": {
560
+ "IV3BaseRouter01": [
561
+ 15727
562
+ ]
563
+ }
564
+ },
565
+ "children": [
566
+ {
567
+ "attributes": {
568
+ "literals": [
569
+ "solidity",
570
+ ">=",
571
+ "0.5",
572
+ ".0"
573
+ ]
574
+ },
575
+ "id": 15692,
576
+ "name": "PragmaDirective",
577
+ "src": "0:24:61"
578
+ },
579
+ {
580
+ "attributes": {
581
+ "literals": [
582
+ "experimental",
583
+ "ABIEncoderV2"
584
+ ]
585
+ },
586
+ "id": 15693,
587
+ "name": "PragmaDirective",
588
+ "src": "25:33:61"
589
+ },
590
+ {
591
+ "attributes": {
592
+ "baseContracts": [
593
+ null
594
+ ],
595
+ "contractDependencies": [
596
+ null
597
+ ],
598
+ "contractKind": "interface",
599
+ "documentation": null,
600
+ "fullyImplemented": false,
601
+ "linearizedBaseContracts": [
602
+ 15727
603
+ ],
604
+ "name": "IV3BaseRouter01",
605
+ "scope": 15728
606
+ },
607
+ "children": [
608
+ {
609
+ "attributes": {
610
+ "canonicalName": "IV3BaseRouter01.LendingPool",
611
+ "name": "LendingPool",
612
+ "scope": 15727,
613
+ "visibility": "public"
614
+ },
615
+ "children": [
616
+ {
617
+ "attributes": {
618
+ "constant": false,
619
+ "name": "nftlp",
620
+ "scope": 15706,
621
+ "stateVariable": false,
622
+ "storageLocation": "default",
623
+ "type": "address",
624
+ "value": null,
625
+ "visibility": "internal"
626
+ },
627
+ "children": [
628
+ {
629
+ "attributes": {
630
+ "name": "address",
631
+ "stateMutability": "nonpayable",
632
+ "type": "address"
633
+ },
634
+ "id": 15694,
635
+ "name": "ElementaryTypeName",
636
+ "src": "112:7:61"
637
+ }
638
+ ],
639
+ "id": 15695,
640
+ "name": "VariableDeclaration",
641
+ "src": "112:13:61"
642
+ },
643
+ {
644
+ "attributes": {
645
+ "constant": false,
646
+ "name": "collateral",
647
+ "scope": 15706,
648
+ "stateVariable": false,
649
+ "storageLocation": "default",
650
+ "type": "address",
651
+ "value": null,
652
+ "visibility": "internal"
653
+ },
654
+ "children": [
655
+ {
656
+ "attributes": {
657
+ "name": "address",
658
+ "stateMutability": "nonpayable",
659
+ "type": "address"
660
+ },
661
+ "id": 15696,
662
+ "name": "ElementaryTypeName",
663
+ "src": "129:7:61"
664
+ }
665
+ ],
666
+ "id": 15697,
667
+ "name": "VariableDeclaration",
668
+ "src": "129:18:61"
669
+ },
670
+ {
671
+ "attributes": {
672
+ "constant": false,
673
+ "name": "borrowables",
674
+ "scope": 15706,
675
+ "stateVariable": false,
676
+ "storageLocation": "default",
677
+ "type": "address[2]",
678
+ "value": null,
679
+ "visibility": "internal"
680
+ },
681
+ "children": [
682
+ {
683
+ "attributes": {
684
+ "type": "address[2]"
685
+ },
686
+ "children": [
687
+ {
688
+ "attributes": {
689
+ "name": "address",
690
+ "stateMutability": "nonpayable",
691
+ "type": "address"
692
+ },
693
+ "id": 15698,
694
+ "name": "ElementaryTypeName",
695
+ "src": "151:7:61"
696
+ },
697
+ {
698
+ "attributes": {
699
+ "argumentTypes": null,
700
+ "hexvalue": "32",
701
+ "isConstant": false,
702
+ "isLValue": false,
703
+ "isPure": true,
704
+ "lValueRequested": false,
705
+ "subdenomination": null,
706
+ "token": "number",
707
+ "type": "int_const 2",
708
+ "value": "2"
709
+ },
710
+ "id": 15699,
711
+ "name": "Literal",
712
+ "src": "159:1:61"
713
+ }
714
+ ],
715
+ "id": 15700,
716
+ "name": "ArrayTypeName",
717
+ "src": "151:10:61"
718
+ }
719
+ ],
720
+ "id": 15701,
721
+ "name": "VariableDeclaration",
722
+ "src": "151:22:61"
723
+ },
724
+ {
725
+ "attributes": {
726
+ "constant": false,
727
+ "name": "tokens",
728
+ "scope": 15706,
729
+ "stateVariable": false,
730
+ "storageLocation": "default",
731
+ "type": "address[2]",
732
+ "value": null,
733
+ "visibility": "internal"
734
+ },
735
+ "children": [
736
+ {
737
+ "attributes": {
738
+ "type": "address[2]"
739
+ },
740
+ "children": [
741
+ {
742
+ "attributes": {
743
+ "name": "address",
744
+ "stateMutability": "nonpayable",
745
+ "type": "address"
746
+ },
747
+ "id": 15702,
748
+ "name": "ElementaryTypeName",
749
+ "src": "177:7:61"
750
+ },
751
+ {
752
+ "attributes": {
753
+ "argumentTypes": null,
754
+ "hexvalue": "32",
755
+ "isConstant": false,
756
+ "isLValue": false,
757
+ "isPure": true,
758
+ "lValueRequested": false,
759
+ "subdenomination": null,
760
+ "token": "number",
761
+ "type": "int_const 2",
762
+ "value": "2"
763
+ },
764
+ "id": 15703,
765
+ "name": "Literal",
766
+ "src": "185:1:61"
767
+ }
768
+ ],
769
+ "id": 15704,
770
+ "name": "ArrayTypeName",
771
+ "src": "177:10:61"
772
+ }
773
+ ],
774
+ "id": 15705,
775
+ "name": "VariableDeclaration",
776
+ "src": "177:17:61"
777
+ }
778
+ ],
779
+ "id": 15706,
780
+ "name": "StructDefinition",
781
+ "src": "89:109:61"
782
+ },
783
+ {
784
+ "attributes": {
785
+ "body": null,
786
+ "documentation": null,
787
+ "implemented": false,
788
+ "isConstructor": false,
789
+ "kind": "function",
790
+ "modifiers": [
791
+ null
792
+ ],
793
+ "name": "getLendingPool",
794
+ "scope": 15727,
795
+ "stateMutability": "view",
796
+ "superFunction": null,
797
+ "visibility": "external"
798
+ },
799
+ "children": [
800
+ {
801
+ "children": [
802
+ {
803
+ "attributes": {
804
+ "constant": false,
805
+ "name": "nftlp",
806
+ "scope": 15713,
807
+ "stateVariable": false,
808
+ "storageLocation": "default",
809
+ "type": "address",
810
+ "value": null,
811
+ "visibility": "internal"
812
+ },
813
+ "children": [
814
+ {
815
+ "attributes": {
816
+ "name": "address",
817
+ "stateMutability": "nonpayable",
818
+ "type": "address"
819
+ },
820
+ "id": 15707,
821
+ "name": "ElementaryTypeName",
822
+ "src": "224:7:61"
823
+ }
824
+ ],
825
+ "id": 15708,
826
+ "name": "VariableDeclaration",
827
+ "src": "224:13:61"
828
+ }
829
+ ],
830
+ "id": 15709,
831
+ "name": "ParameterList",
832
+ "src": "223:15:61"
833
+ },
834
+ {
835
+ "children": [
836
+ {
837
+ "attributes": {
838
+ "constant": false,
839
+ "name": "pool",
840
+ "scope": 15713,
841
+ "stateVariable": false,
842
+ "storageLocation": "memory",
843
+ "type": "struct IV3BaseRouter01.LendingPool",
844
+ "value": null,
845
+ "visibility": "internal"
846
+ },
847
+ "children": [
848
+ {
849
+ "attributes": {
850
+ "contractScope": null,
851
+ "name": "LendingPool",
852
+ "referencedDeclaration": 15706,
853
+ "type": "struct IV3BaseRouter01.LendingPool"
854
+ },
855
+ "id": 15710,
856
+ "name": "UserDefinedTypeName",
857
+ "src": "262:11:61"
858
+ }
859
+ ],
860
+ "id": 15711,
861
+ "name": "VariableDeclaration",
862
+ "src": "262:23:61"
863
+ }
864
+ ],
865
+ "id": 15712,
866
+ "name": "ParameterList",
867
+ "src": "261:25:61"
868
+ }
869
+ ],
870
+ "id": 15713,
871
+ "name": "FunctionDefinition",
872
+ "src": "200:87:61"
873
+ },
874
+ {
875
+ "attributes": {
876
+ "body": null,
877
+ "documentation": null,
878
+ "implemented": false,
879
+ "isConstructor": false,
880
+ "kind": "function",
881
+ "modifiers": [
882
+ null
883
+ ],
884
+ "name": "execute",
885
+ "scope": 15727,
886
+ "stateMutability": "payable",
887
+ "superFunction": null,
888
+ "visibility": "external"
889
+ },
890
+ "children": [
891
+ {
892
+ "children": [
893
+ {
894
+ "attributes": {
895
+ "constant": false,
896
+ "name": "nftlp",
897
+ "scope": 15726,
898
+ "stateVariable": false,
899
+ "storageLocation": "default",
900
+ "type": "address",
901
+ "value": null,
902
+ "visibility": "internal"
903
+ },
904
+ "children": [
905
+ {
906
+ "attributes": {
907
+ "name": "address",
908
+ "stateMutability": "nonpayable",
909
+ "type": "address"
910
+ },
911
+ "id": 15714,
912
+ "name": "ElementaryTypeName",
913
+ "src": "311:7:61"
914
+ }
915
+ ],
916
+ "id": 15715,
917
+ "name": "VariableDeclaration",
918
+ "src": "311:13:61"
919
+ },
920
+ {
921
+ "attributes": {
922
+ "constant": false,
923
+ "name": "_tokenId",
924
+ "scope": 15726,
925
+ "stateVariable": false,
926
+ "storageLocation": "default",
927
+ "type": "uint256",
928
+ "value": null,
929
+ "visibility": "internal"
930
+ },
931
+ "children": [
932
+ {
933
+ "attributes": {
934
+ "name": "uint",
935
+ "type": "uint256"
936
+ },
937
+ "id": 15716,
938
+ "name": "ElementaryTypeName",
939
+ "src": "328:4:61"
940
+ }
941
+ ],
942
+ "id": 15717,
943
+ "name": "VariableDeclaration",
944
+ "src": "328:13:61"
945
+ },
946
+ {
947
+ "attributes": {
948
+ "constant": false,
949
+ "name": "actionsData",
950
+ "scope": 15726,
951
+ "stateVariable": false,
952
+ "storageLocation": "calldata",
953
+ "type": "bytes",
954
+ "value": null,
955
+ "visibility": "internal"
956
+ },
957
+ "children": [
958
+ {
959
+ "attributes": {
960
+ "name": "bytes",
961
+ "type": "bytes"
962
+ },
963
+ "id": 15718,
964
+ "name": "ElementaryTypeName",
965
+ "src": "345:5:61"
966
+ }
967
+ ],
968
+ "id": 15719,
969
+ "name": "VariableDeclaration",
970
+ "src": "345:26:61"
971
+ },
972
+ {
973
+ "attributes": {
974
+ "constant": false,
975
+ "name": "permitsData",
976
+ "scope": 15726,
977
+ "stateVariable": false,
978
+ "storageLocation": "calldata",
979
+ "type": "bytes",
980
+ "value": null,
981
+ "visibility": "internal"
982
+ },
983
+ "children": [
984
+ {
985
+ "attributes": {
986
+ "name": "bytes",
987
+ "type": "bytes"
988
+ },
989
+ "id": 15720,
990
+ "name": "ElementaryTypeName",
991
+ "src": "375:5:61"
992
+ }
993
+ ],
994
+ "id": 15721,
995
+ "name": "VariableDeclaration",
996
+ "src": "375:26:61"
997
+ },
998
+ {
999
+ "attributes": {
1000
+ "constant": false,
1001
+ "name": "withCollateralTransfer",
1002
+ "scope": 15726,
1003
+ "stateVariable": false,
1004
+ "storageLocation": "default",
1005
+ "type": "bool",
1006
+ "value": null,
1007
+ "visibility": "internal"
1008
+ },
1009
+ "children": [
1010
+ {
1011
+ "attributes": {
1012
+ "name": "bool",
1013
+ "type": "bool"
1014
+ },
1015
+ "id": 15722,
1016
+ "name": "ElementaryTypeName",
1017
+ "src": "405:4:61"
1018
+ }
1019
+ ],
1020
+ "id": 15723,
1021
+ "name": "VariableDeclaration",
1022
+ "src": "405:27:61"
1023
+ }
1024
+ ],
1025
+ "id": 15724,
1026
+ "name": "ParameterList",
1027
+ "src": "307:128:61"
1028
+ },
1029
+ {
1030
+ "attributes": {
1031
+ "parameters": [
1032
+ null
1033
+ ]
1034
+ },
1035
+ "children": [],
1036
+ "id": 15725,
1037
+ "name": "ParameterList",
1038
+ "src": "452:0:61"
1039
+ }
1040
+ ],
1041
+ "id": 15726,
1042
+ "name": "FunctionDefinition",
1043
+ "src": "291:162:61"
1044
+ }
1045
+ ],
1046
+ "id": 15727,
1047
+ "name": "ContractDefinition",
1048
+ "src": "60:395:61"
1049
+ }
1050
+ ],
1051
+ "id": 15728,
1052
+ "name": "SourceUnit",
1053
+ "src": "0:456:61"
1054
+ },
1055
+ "compiler": {
1056
+ "name": "solc",
1057
+ "version": "0.5.16+commit.9c3226ce.Emscripten.clang"
1058
+ },
1059
+ "networks": {},
1060
+ "schemaVersion": "3.4.16",
1061
+ "updatedAt": "2025-01-18T15:43:32.286Z",
1062
+ "devdoc": {
1063
+ "methods": {}
1064
+ },
1065
+ "userdoc": {
1066
+ "methods": {}
1067
+ }
1068
+ }