impermax-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/.idea/impermax-sdk.iml +12 -0
  2. package/.idea/misc.xml +6 -0
  3. package/.idea/modules.xml +8 -0
  4. package/.idea/workspace.xml +642 -0
  5. package/abis/ImpermaxABI.ts +3 -0
  6. package/abis/contracts/BAllowance.json +4735 -0
  7. package/abis/contracts/BDeployer.json +1195 -0
  8. package/abis/contracts/BInterestRateModel.json +10796 -0
  9. package/abis/contracts/BSetter.json +6219 -0
  10. package/abis/contracts/BStorage.json +2613 -0
  11. package/abis/contracts/Borrowable.json +19937 -0
  12. package/abis/contracts/CDeployer.json +1104 -0
  13. package/abis/contracts/CSetter.json +5094 -0
  14. package/abis/contracts/CStorage.json +516 -0
  15. package/abis/contracts/ClaimAggregator.json +2015 -0
  16. package/abis/contracts/Collateral.json +21615 -0
  17. package/abis/contracts/ERC20.json +819 -0
  18. package/abis/contracts/Factory.json +21986 -0
  19. package/abis/contracts/FarmingPool.json +8601 -0
  20. package/abis/contracts/IBDeployer.json +351 -0
  21. package/abis/contracts/IBorrowTracker.json +346 -0
  22. package/abis/contracts/IBorrowable.json +13207 -0
  23. package/abis/contracts/ICDeployer.json +294 -0
  24. package/abis/contracts/IClaimable.json +406 -0
  25. package/abis/contracts/ICollateral.json +8952 -0
  26. package/abis/contracts/IERC20.json +2376 -0
  27. package/abis/contracts/IFactory.json +3660 -0
  28. package/abis/contracts/IFarmingPool.json +3584 -0
  29. package/abis/contracts/IImpermaxCallee.json +679 -0
  30. package/abis/contracts/IMerkleDistributor.json +1134 -0
  31. package/abis/contracts/IPoolToken.json +5343 -0
  32. package/abis/contracts/IRouter01.json +6891 -0
  33. package/abis/contracts/IRouter02.json +7283 -0
  34. package/abis/contracts/ISimpleUniswapOracle.json +1469 -0
  35. package/abis/contracts/IStakedLPToken.json +7309 -0
  36. package/abis/contracts/IStakingRewards.json +1036 -0
  37. package/abis/contracts/IUniswapV2Callee.json +403 -0
  38. package/abis/contracts/IUniswapV2ERC20.json +3155 -0
  39. package/abis/contracts/IUniswapV2Factory.json +1690 -0
  40. package/abis/contracts/IUniswapV2Pair.json +6761 -0
  41. package/abis/contracts/IWETH.json +561 -0
  42. package/abis/contracts/ImpermaxChef.json +20945 -0
  43. package/abis/contracts/ImpermaxERC20.json +12095 -0
  44. package/abis/contracts/Math.json +1966 -0
  45. package/abis/contracts/MockERC20.json +8884 -0
  46. package/abis/contracts/PoolToken.json +10784 -0
  47. package/abis/contracts/Router01.json +43963 -0
  48. package/abis/contracts/SafeMath.json +6828 -0
  49. package/abis/contracts/SimpleUniswapOracle.json +9640 -0
  50. package/abis/contracts/TransferHelper.json +4875 -0
  51. package/abis/contracts/UQ112x112.json +1201 -0
  52. package/abis/contracts/UniswapV2ERC20.json +10969 -0
  53. package/abis/contracts/UniswapV2Factory.json +5521 -0
  54. package/abis/contracts/UniswapV2Library.json +13789 -0
  55. package/abis/contracts/UniswapV2Pair.json +30782 -0
  56. package/abis/contracts/WETH9.json +6613 -0
  57. package/config/amms.ts +199 -0
  58. package/config/contracts/claim-aggregators.ts +16 -0
  59. package/config/contracts/impermax-chef.ts +16 -0
  60. package/config/contracts/imxes.ts +16 -0
  61. package/config/contracts/merkle-distributors.ts +13 -0
  62. package/config/contracts/routers.ts +36 -0
  63. package/config/contracts/simple-uniswap-oracles.ts +33 -0
  64. package/config/contracts/weths.ts +18 -0
  65. package/config/debank-ids.ts +15 -0
  66. package/config/endpoints/merkle-distributors.ts +13 -0
  67. package/config/eth.ts +32 -0
  68. package/config/factories.ts +26 -0
  69. package/config/farms.ts +119 -0
  70. package/config/general.ts +8 -0
  71. package/config/subgraphs.ts +69 -0
  72. package/config/types.ts +81 -0
  73. package/impermax-router/Account.ts +123 -0
  74. package/impermax-router/AccountBorrowable.ts +110 -0
  75. package/impermax-router/AccountCollateral.ts +40 -0
  76. package/impermax-router/AccountLendingPool.ts +231 -0
  77. package/impermax-router/AccountPoolToken.ts +76 -0
  78. package/impermax-router/Borrowable.ts +86 -0
  79. package/impermax-router/Collateral.ts +26 -0
  80. package/impermax-router/ContractsHelper.ts +64 -0
  81. package/impermax-router/ImpermaxFactory.ts +47 -0
  82. package/impermax-router/Interactions.ts +94 -0
  83. package/impermax-router/InteractionsLendingPool.ts +129 -0
  84. package/impermax-router/InteractionsPoolToken.ts +187 -0
  85. package/impermax-router/LendingPool.ts +256 -0
  86. package/impermax-router/PoolToken.ts +112 -0
  87. package/impermax-router/index.ts +49 -0
  88. package/impermax-router/interfaces.ts +233 -0
  89. package/index.ts +5 -0
  90. package/package.json +23 -0
  91. package/subgraph/Account.ts +93 -0
  92. package/subgraph/AccountLendingPool.ts +60 -0
  93. package/subgraph/AccountPoolToken.ts +60 -0
  94. package/subgraph/LendingPool.ts +179 -0
  95. package/subgraph/PoolToken.ts +381 -0
  96. package/subgraph/PriceHelper.ts +150 -0
  97. package/subgraph/SolidexHelper.ts +54 -0
  98. package/subgraph/index.ts +166 -0
  99. package/subgraph/initializer.ts +509 -0
  100. package/subgraph/query.ts +224 -0
  101. package/tsconfig.json +16 -0
  102. package/utils/ether-utils.ts +22 -0
  103. package/utils/index.ts +12 -0
@@ -0,0 +1,2015 @@
1
+ {
2
+ "contractName": "ClaimAggregator",
3
+ "abi": [
4
+ {
5
+ "inputs": [],
6
+ "stateMutability": "nonpayable",
7
+ "type": "constructor"
8
+ },
9
+ {
10
+ "inputs": [
11
+ {
12
+ "internalType": "address",
13
+ "name": "account",
14
+ "type": "address"
15
+ },
16
+ {
17
+ "internalType": "address[]",
18
+ "name": "borrowables",
19
+ "type": "address[]"
20
+ }
21
+ ],
22
+ "name": "trackBorrows",
23
+ "outputs": [],
24
+ "stateMutability": "nonpayable",
25
+ "type": "function"
26
+ },
27
+ {
28
+ "inputs": [
29
+ {
30
+ "internalType": "address",
31
+ "name": "account",
32
+ "type": "address"
33
+ },
34
+ {
35
+ "internalType": "address[]",
36
+ "name": "farmingPools",
37
+ "type": "address[]"
38
+ }
39
+ ],
40
+ "name": "claims",
41
+ "outputs": [
42
+ {
43
+ "internalType": "uint256",
44
+ "name": "amount",
45
+ "type": "uint256"
46
+ }
47
+ ],
48
+ "stateMutability": "nonpayable",
49
+ "type": "function"
50
+ }
51
+ ],
52
+ "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"farmingPools\",\"type\":\"address[]\"}],\"name\":\"claims\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"borrowables\",\"type\":\"address[]\"}],\"name\":\"trackBorrows\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/C/Users/simor/Desktop/imx/contracts/ClaimAggregator.sol\":\"ClaimAggregator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[]},\"sources\":{\"/C/Users/simor/Desktop/imx/contracts/ClaimAggregator.sol\":{\"keccak256\":\"0xa499d139997ca608b2707679aad627fcc9c37cbabcacfc26b7f4c7d499620e95\",\"urls\":[\"bzz-raw://132332ed55dff6d63c5784d6a9a8edb94d4624aae8238a47c1c5dfa516c499c7\",\"dweb:/ipfs/QmPnthgmpcVenCiaXKv1EsvPtRvBDwjxP1sv8Wf5kWcmNK\"]},\"/C/Users/simor/Desktop/imx/contracts/interfaces/IBorrowable.sol\":{\"keccak256\":\"0x16a157ab22e3d76a6cf0dd89f55d6426abd8b15ac641ce318e3fa22e7dd1284b\",\"urls\":[\"bzz-raw://368476ee8b1e9d5287cbac49ceaae1e230e4ab95426a00141fbd43b6477d2928\",\"dweb:/ipfs/QmPN3cm2TJUJG3tXa6zCeCWrcitjPP6SofwHpygaiQJ9CV\"]},\"/C/Users/simor/Desktop/imx/contracts/interfaces/IFarmingPool.sol\":{\"keccak256\":\"0x506b7b788206491f43cea8fdff90fa1c03902ef669eb6b2d533246132040827e\",\"urls\":[\"bzz-raw://b71a3391e4b11b6e83d29413072b9788afc79ea3181485f94b83deebad465278\",\"dweb:/ipfs/QmPoitr9fEoBAaZsndWPsMRdZPPRppKfRSrhQyFQevBu1U\"]}},\"version\":1}",
53
+ "bytecode": "0x608060405234801561001057600080fd5b5061036f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806368188a4e1461003b5780639a3715ff14610050575b600080fd5b61004e6100493660046101fc565b610079565b005b61006361005e3660046101fc565b610114565b60405161007091906102e9565b60405180910390f35b60005b815181101561010f5781818151811061009157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663b7f1118a846040518263ffffffff1660e01b81526004016100d191906102c8565b600060405180830381600087803b1580156100eb57600080fd5b505af11580156100ff573d6000803e3d6000fd5b50506001909201915061007c9050565b505050565b6000805b82518110156101cb5782818151811061012d57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16637429d95a856040518263ffffffff1660e01b815260040161016d91906102c8565b602060405180830381600087803b15801561018757600080fd5b505af115801561019b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101bf91906102b0565b90910190600101610118565b5092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101f657600080fd5b92915050565b6000806040838503121561020e578182fd5b61021884846101d2565b915060208084013567ffffffffffffffff811115610234578283fd5b80850186601f820112610245578384fd5b8035915061025a61025583610319565b6102f2565b82815283810190828501858502840186018a1015610276578687fd5b8693505b848410156102a05761028c8a826101d2565b83526001939093019291850191850161027a565b5080955050505050509250929050565b6000602082840312156102c1578081fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561031157600080fd5b604052919050565b600067ffffffffffffffff82111561032f578081fd5b506020908102019056fea26469706673582212208a0ad998f55c08b3981b11f30eb24c40855c616d1b3d42442ae8e7fad0fd13e464736f6c63430006060033",
54
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806368188a4e1461003b5780639a3715ff14610050575b600080fd5b61004e6100493660046101fc565b610079565b005b61006361005e3660046101fc565b610114565b60405161007091906102e9565b60405180910390f35b60005b815181101561010f5781818151811061009157fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1663b7f1118a846040518263ffffffff1660e01b81526004016100d191906102c8565b600060405180830381600087803b1580156100eb57600080fd5b505af11580156100ff573d6000803e3d6000fd5b50506001909201915061007c9050565b505050565b6000805b82518110156101cb5782818151811061012d57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16637429d95a856040518263ffffffff1660e01b815260040161016d91906102c8565b602060405180830381600087803b15801561018757600080fd5b505af115801561019b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101bf91906102b0565b90910190600101610118565b5092915050565b803573ffffffffffffffffffffffffffffffffffffffff811681146101f657600080fd5b92915050565b6000806040838503121561020e578182fd5b61021884846101d2565b915060208084013567ffffffffffffffff811115610234578283fd5b80850186601f820112610245578384fd5b8035915061025a61025583610319565b6102f2565b82815283810190828501858502840186018a1015610276578687fd5b8693505b848410156102a05761028c8a826101d2565b83526001939093019291850191850161027a565b5080955050505050509250929050565b6000602082840312156102c1578081fd5b5051919050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561031157600080fd5b604052919050565b600067ffffffffffffffff82111561032f578081fd5b506020908102019056fea26469706673582212208a0ad998f55c08b3981b11f30eb24c40855c616d1b3d42442ae8e7fad0fd13e464736f6c63430006060033",
55
+ "immutableReferences": {},
56
+ "sourceMap": "145:485:0:-:0;;;176:24;5:9:-1;2:2;;;27:1;24;17:12;2:2;176:24:0;145:485;;;;;;",
57
+ "deployedSourceMap": "145:485:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;145:485:0;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;206:191:0;;;;;;;;;:::i;:::-;;403:222;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;206:191;292:6;287:106;308:11;:18;304:1;:22;287:106;;;351:11;363:1;351:14;;;;;;;;;;;;;;339:39;;;379:7;339:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;339:48:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;328:3:0;;;;;-1:-1:-1;287:106:0;;-1:-1:-1;287:106:0;;;206:191;;:::o;403:222::-;483:11;;501:120;522:12;:19;518:1;:23;501:120;;;577:12;590:1;577:15;;;;;;;;;;;;;;564:42;;;607:7;564:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;564:51:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;564:51:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;564:51:0;;;;;;;;;554:61;;;;543:3;;501:120;;;;403:222;;;;:::o;5:130:-1:-;72:20;;3220:42;3209:54;;3413:35;;3403:2;;3462:1;;3452:12;3403:2;57:78;;;;;1016:502;;;1162:2;1150:9;1141:7;1137:23;1133:32;1130:2;;;-1:-1;;1168:12;1130:2;1230:53;1275:7;1251:22;1230:53;;;1220:63;;1348:2;;1337:9;1333:18;1320:32;1372:18;1364:6;1361:30;1358:2;;;-1:-1;;1394:12;1358:2;1485:6;1474:9;1470:22;277:3;270:4;262:6;258:17;254:27;244:2;;-1:-1;;285:12;244:2;332:6;319:20;305:34;;354:80;369:64;426:6;369:64;;;354:80;;;462:21;;;519:14;;;;494:17;;;608;;;599:27;;;;596:36;-1:-1;593:2;;;-1:-1;;635:12;593:2;-1:-1;661:10;;655:206;680:6;677:1;674:13;655:206;;;760:37;793:3;781:10;760:37;;;748:50;;702:1;695:9;;;;;812:14;;;;840;;655:206;;;659:14;1414:88;;;;;;;;1124:394;;;;;;1525:263;;1640:2;1628:9;1619:7;1615:23;1611:32;1608:2;;;-1:-1;;1646:12;1608:2;-1:-1;953:13;;1602:186;-1:-1;1602:186;2035:213;3220:42;3209:54;;;;1866:37;;2153:2;2138:18;;2124:124;2255:213;1986:37;;;2373:2;2358:18;;2344:124;2475:256;2537:2;2531:9;2563:17;;;2638:18;2623:34;;2659:22;;;2620:62;2617:2;;;2695:1;;2685:12;2617:2;2537;2704:22;2515:216;;-1:-1;2515:216;2738:304;;2897:18;2889:6;2886:30;2883:2;;;-1:-1;;2919:12;2883:2;-1:-1;2964:4;2952:17;;;3017:15;;2820:222",
58
+ "source": "pragma solidity =0.6.6;\r\npragma experimental ABIEncoderV2;\r\n\r\nimport \"./interfaces/IBorrowable.sol\";\r\nimport \"./interfaces/IFarmingPool.sol\";\r\n\r\ncontract ClaimAggregator {\r\n\r\n\tconstructor () public {}\r\n\t\r\n\tfunction trackBorrows(address account, address[] memory borrowables) public {\r\n\t\tfor (uint i = 0; i < borrowables.length; i++) {\r\n\t\t\tIBorrowable(borrowables[i]).trackBorrow(account);\r\n\t\t}\r\n\t}\r\n\t\r\n\tfunction claims(address account, address[] memory farmingPools) public returns (uint amount) {\r\n\t\tfor (uint i = 0; i < farmingPools.length; i++) {\r\n\t\t\tamount += IFarmingPool(farmingPools[i]).claimAccount(account);\r\n\t\t}\r\n\t}\r\n\r\n}",
59
+ "sourcePath": "C:/Users/simor/Desktop/imx/contracts/ClaimAggregator.sol",
60
+ "ast": {
61
+ "absolutePath": "/C/Users/simor/Desktop/imx/contracts/ClaimAggregator.sol",
62
+ "exportedSymbols": {
63
+ "ClaimAggregator": [
64
+ 75
65
+ ]
66
+ },
67
+ "id": 76,
68
+ "nodeType": "SourceUnit",
69
+ "nodes": [
70
+ {
71
+ "id": 1,
72
+ "literals": [
73
+ "solidity",
74
+ "=",
75
+ "0.6",
76
+ ".6"
77
+ ],
78
+ "nodeType": "PragmaDirective",
79
+ "src": "0:23:0"
80
+ },
81
+ {
82
+ "id": 2,
83
+ "literals": [
84
+ "experimental",
85
+ "ABIEncoderV2"
86
+ ],
87
+ "nodeType": "PragmaDirective",
88
+ "src": "25:33:0"
89
+ },
90
+ {
91
+ "absolutePath": "/C/Users/simor/Desktop/imx/contracts/interfaces/IBorrowable.sol",
92
+ "file": "./interfaces/IBorrowable.sol",
93
+ "id": 3,
94
+ "nodeType": "ImportDirective",
95
+ "scope": 76,
96
+ "sourceUnit": 3048,
97
+ "src": "62:38:0",
98
+ "symbolAliases": [],
99
+ "unitAlias": ""
100
+ },
101
+ {
102
+ "absolutePath": "/C/Users/simor/Desktop/imx/contracts/interfaces/IFarmingPool.sol",
103
+ "file": "./interfaces/IFarmingPool.sol",
104
+ "id": 4,
105
+ "nodeType": "ImportDirective",
106
+ "scope": 76,
107
+ "sourceUnit": 3124,
108
+ "src": "102:39:0",
109
+ "symbolAliases": [],
110
+ "unitAlias": ""
111
+ },
112
+ {
113
+ "abstract": false,
114
+ "baseContracts": [],
115
+ "contractDependencies": [],
116
+ "contractKind": "contract",
117
+ "documentation": null,
118
+ "fullyImplemented": true,
119
+ "id": 75,
120
+ "linearizedBaseContracts": [
121
+ 75
122
+ ],
123
+ "name": "ClaimAggregator",
124
+ "nodeType": "ContractDefinition",
125
+ "nodes": [
126
+ {
127
+ "body": {
128
+ "id": 7,
129
+ "nodeType": "Block",
130
+ "src": "198:2:0",
131
+ "statements": []
132
+ },
133
+ "documentation": null,
134
+ "id": 8,
135
+ "implemented": true,
136
+ "kind": "constructor",
137
+ "modifiers": [],
138
+ "name": "",
139
+ "nodeType": "FunctionDefinition",
140
+ "overrides": null,
141
+ "parameters": {
142
+ "id": 5,
143
+ "nodeType": "ParameterList",
144
+ "parameters": [],
145
+ "src": "188:2:0"
146
+ },
147
+ "returnParameters": {
148
+ "id": 6,
149
+ "nodeType": "ParameterList",
150
+ "parameters": [],
151
+ "src": "198:0:0"
152
+ },
153
+ "scope": 75,
154
+ "src": "176:24:0",
155
+ "stateMutability": "nonpayable",
156
+ "virtual": false,
157
+ "visibility": "public"
158
+ },
159
+ {
160
+ "body": {
161
+ "id": 38,
162
+ "nodeType": "Block",
163
+ "src": "282:115:0",
164
+ "statements": [
165
+ {
166
+ "body": {
167
+ "id": 36,
168
+ "nodeType": "Block",
169
+ "src": "333:60:0",
170
+ "statements": [
171
+ {
172
+ "expression": {
173
+ "argumentTypes": null,
174
+ "arguments": [
175
+ {
176
+ "argumentTypes": null,
177
+ "id": 33,
178
+ "name": "account",
179
+ "nodeType": "Identifier",
180
+ "overloadedDeclarations": [],
181
+ "referencedDeclaration": 10,
182
+ "src": "379:7:0",
183
+ "typeDescriptions": {
184
+ "typeIdentifier": "t_address",
185
+ "typeString": "address"
186
+ }
187
+ }
188
+ ],
189
+ "expression": {
190
+ "argumentTypes": [
191
+ {
192
+ "typeIdentifier": "t_address",
193
+ "typeString": "address"
194
+ }
195
+ ],
196
+ "expression": {
197
+ "argumentTypes": null,
198
+ "arguments": [
199
+ {
200
+ "argumentTypes": null,
201
+ "baseExpression": {
202
+ "argumentTypes": null,
203
+ "id": 28,
204
+ "name": "borrowables",
205
+ "nodeType": "Identifier",
206
+ "overloadedDeclarations": [],
207
+ "referencedDeclaration": 13,
208
+ "src": "351:11:0",
209
+ "typeDescriptions": {
210
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
211
+ "typeString": "address[] memory"
212
+ }
213
+ },
214
+ "id": 30,
215
+ "indexExpression": {
216
+ "argumentTypes": null,
217
+ "id": 29,
218
+ "name": "i",
219
+ "nodeType": "Identifier",
220
+ "overloadedDeclarations": [],
221
+ "referencedDeclaration": 17,
222
+ "src": "363:1:0",
223
+ "typeDescriptions": {
224
+ "typeIdentifier": "t_uint256",
225
+ "typeString": "uint256"
226
+ }
227
+ },
228
+ "isConstant": false,
229
+ "isLValue": true,
230
+ "isPure": false,
231
+ "lValueRequested": false,
232
+ "nodeType": "IndexAccess",
233
+ "src": "351:14:0",
234
+ "typeDescriptions": {
235
+ "typeIdentifier": "t_address",
236
+ "typeString": "address"
237
+ }
238
+ }
239
+ ],
240
+ "expression": {
241
+ "argumentTypes": [
242
+ {
243
+ "typeIdentifier": "t_address",
244
+ "typeString": "address"
245
+ }
246
+ ],
247
+ "id": 27,
248
+ "name": "IBorrowable",
249
+ "nodeType": "Identifier",
250
+ "overloadedDeclarations": [],
251
+ "referencedDeclaration": 3047,
252
+ "src": "339:11:0",
253
+ "typeDescriptions": {
254
+ "typeIdentifier": "t_type$_t_contract$_IBorrowable_$3047_$",
255
+ "typeString": "type(contract IBorrowable)"
256
+ }
257
+ },
258
+ "id": 31,
259
+ "isConstant": false,
260
+ "isLValue": false,
261
+ "isPure": false,
262
+ "kind": "typeConversion",
263
+ "lValueRequested": false,
264
+ "names": [],
265
+ "nodeType": "FunctionCall",
266
+ "src": "339:27:0",
267
+ "tryCall": false,
268
+ "typeDescriptions": {
269
+ "typeIdentifier": "t_contract$_IBorrowable_$3047",
270
+ "typeString": "contract IBorrowable"
271
+ }
272
+ },
273
+ "id": 32,
274
+ "isConstant": false,
275
+ "isLValue": false,
276
+ "isPure": false,
277
+ "lValueRequested": false,
278
+ "memberName": "trackBorrow",
279
+ "nodeType": "MemberAccess",
280
+ "referencedDeclaration": 2908,
281
+ "src": "339:39:0",
282
+ "typeDescriptions": {
283
+ "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
284
+ "typeString": "function (address) external"
285
+ }
286
+ },
287
+ "id": 34,
288
+ "isConstant": false,
289
+ "isLValue": false,
290
+ "isPure": false,
291
+ "kind": "functionCall",
292
+ "lValueRequested": false,
293
+ "names": [],
294
+ "nodeType": "FunctionCall",
295
+ "src": "339:48:0",
296
+ "tryCall": false,
297
+ "typeDescriptions": {
298
+ "typeIdentifier": "t_tuple$__$",
299
+ "typeString": "tuple()"
300
+ }
301
+ },
302
+ "id": 35,
303
+ "nodeType": "ExpressionStatement",
304
+ "src": "339:48:0"
305
+ }
306
+ ]
307
+ },
308
+ "condition": {
309
+ "argumentTypes": null,
310
+ "commonType": {
311
+ "typeIdentifier": "t_uint256",
312
+ "typeString": "uint256"
313
+ },
314
+ "id": 23,
315
+ "isConstant": false,
316
+ "isLValue": false,
317
+ "isPure": false,
318
+ "lValueRequested": false,
319
+ "leftExpression": {
320
+ "argumentTypes": null,
321
+ "id": 20,
322
+ "name": "i",
323
+ "nodeType": "Identifier",
324
+ "overloadedDeclarations": [],
325
+ "referencedDeclaration": 17,
326
+ "src": "304:1:0",
327
+ "typeDescriptions": {
328
+ "typeIdentifier": "t_uint256",
329
+ "typeString": "uint256"
330
+ }
331
+ },
332
+ "nodeType": "BinaryOperation",
333
+ "operator": "<",
334
+ "rightExpression": {
335
+ "argumentTypes": null,
336
+ "expression": {
337
+ "argumentTypes": null,
338
+ "id": 21,
339
+ "name": "borrowables",
340
+ "nodeType": "Identifier",
341
+ "overloadedDeclarations": [],
342
+ "referencedDeclaration": 13,
343
+ "src": "308:11:0",
344
+ "typeDescriptions": {
345
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
346
+ "typeString": "address[] memory"
347
+ }
348
+ },
349
+ "id": 22,
350
+ "isConstant": false,
351
+ "isLValue": false,
352
+ "isPure": false,
353
+ "lValueRequested": false,
354
+ "memberName": "length",
355
+ "nodeType": "MemberAccess",
356
+ "referencedDeclaration": null,
357
+ "src": "308:18:0",
358
+ "typeDescriptions": {
359
+ "typeIdentifier": "t_uint256",
360
+ "typeString": "uint256"
361
+ }
362
+ },
363
+ "src": "304:22:0",
364
+ "typeDescriptions": {
365
+ "typeIdentifier": "t_bool",
366
+ "typeString": "bool"
367
+ }
368
+ },
369
+ "id": 37,
370
+ "initializationExpression": {
371
+ "assignments": [
372
+ 17
373
+ ],
374
+ "declarations": [
375
+ {
376
+ "constant": false,
377
+ "id": 17,
378
+ "mutability": "mutable",
379
+ "name": "i",
380
+ "nodeType": "VariableDeclaration",
381
+ "overrides": null,
382
+ "scope": 37,
383
+ "src": "292:6:0",
384
+ "stateVariable": false,
385
+ "storageLocation": "default",
386
+ "typeDescriptions": {
387
+ "typeIdentifier": "t_uint256",
388
+ "typeString": "uint256"
389
+ },
390
+ "typeName": {
391
+ "id": 16,
392
+ "name": "uint",
393
+ "nodeType": "ElementaryTypeName",
394
+ "src": "292:4:0",
395
+ "typeDescriptions": {
396
+ "typeIdentifier": "t_uint256",
397
+ "typeString": "uint256"
398
+ }
399
+ },
400
+ "value": null,
401
+ "visibility": "internal"
402
+ }
403
+ ],
404
+ "id": 19,
405
+ "initialValue": {
406
+ "argumentTypes": null,
407
+ "hexValue": "30",
408
+ "id": 18,
409
+ "isConstant": false,
410
+ "isLValue": false,
411
+ "isPure": true,
412
+ "kind": "number",
413
+ "lValueRequested": false,
414
+ "nodeType": "Literal",
415
+ "src": "301:1:0",
416
+ "subdenomination": null,
417
+ "typeDescriptions": {
418
+ "typeIdentifier": "t_rational_0_by_1",
419
+ "typeString": "int_const 0"
420
+ },
421
+ "value": "0"
422
+ },
423
+ "nodeType": "VariableDeclarationStatement",
424
+ "src": "292:10:0"
425
+ },
426
+ "loopExpression": {
427
+ "expression": {
428
+ "argumentTypes": null,
429
+ "id": 25,
430
+ "isConstant": false,
431
+ "isLValue": false,
432
+ "isPure": false,
433
+ "lValueRequested": false,
434
+ "nodeType": "UnaryOperation",
435
+ "operator": "++",
436
+ "prefix": false,
437
+ "src": "328:3:0",
438
+ "subExpression": {
439
+ "argumentTypes": null,
440
+ "id": 24,
441
+ "name": "i",
442
+ "nodeType": "Identifier",
443
+ "overloadedDeclarations": [],
444
+ "referencedDeclaration": 17,
445
+ "src": "328:1:0",
446
+ "typeDescriptions": {
447
+ "typeIdentifier": "t_uint256",
448
+ "typeString": "uint256"
449
+ }
450
+ },
451
+ "typeDescriptions": {
452
+ "typeIdentifier": "t_uint256",
453
+ "typeString": "uint256"
454
+ }
455
+ },
456
+ "id": 26,
457
+ "nodeType": "ExpressionStatement",
458
+ "src": "328:3:0"
459
+ },
460
+ "nodeType": "ForStatement",
461
+ "src": "287:106:0"
462
+ }
463
+ ]
464
+ },
465
+ "documentation": null,
466
+ "functionSelector": "68188a4e",
467
+ "id": 39,
468
+ "implemented": true,
469
+ "kind": "function",
470
+ "modifiers": [],
471
+ "name": "trackBorrows",
472
+ "nodeType": "FunctionDefinition",
473
+ "overrides": null,
474
+ "parameters": {
475
+ "id": 14,
476
+ "nodeType": "ParameterList",
477
+ "parameters": [
478
+ {
479
+ "constant": false,
480
+ "id": 10,
481
+ "mutability": "mutable",
482
+ "name": "account",
483
+ "nodeType": "VariableDeclaration",
484
+ "overrides": null,
485
+ "scope": 39,
486
+ "src": "228:15:0",
487
+ "stateVariable": false,
488
+ "storageLocation": "default",
489
+ "typeDescriptions": {
490
+ "typeIdentifier": "t_address",
491
+ "typeString": "address"
492
+ },
493
+ "typeName": {
494
+ "id": 9,
495
+ "name": "address",
496
+ "nodeType": "ElementaryTypeName",
497
+ "src": "228:7:0",
498
+ "stateMutability": "nonpayable",
499
+ "typeDescriptions": {
500
+ "typeIdentifier": "t_address",
501
+ "typeString": "address"
502
+ }
503
+ },
504
+ "value": null,
505
+ "visibility": "internal"
506
+ },
507
+ {
508
+ "constant": false,
509
+ "id": 13,
510
+ "mutability": "mutable",
511
+ "name": "borrowables",
512
+ "nodeType": "VariableDeclaration",
513
+ "overrides": null,
514
+ "scope": 39,
515
+ "src": "245:28:0",
516
+ "stateVariable": false,
517
+ "storageLocation": "memory",
518
+ "typeDescriptions": {
519
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
520
+ "typeString": "address[]"
521
+ },
522
+ "typeName": {
523
+ "baseType": {
524
+ "id": 11,
525
+ "name": "address",
526
+ "nodeType": "ElementaryTypeName",
527
+ "src": "245:7:0",
528
+ "stateMutability": "nonpayable",
529
+ "typeDescriptions": {
530
+ "typeIdentifier": "t_address",
531
+ "typeString": "address"
532
+ }
533
+ },
534
+ "id": 12,
535
+ "length": null,
536
+ "nodeType": "ArrayTypeName",
537
+ "src": "245:9:0",
538
+ "typeDescriptions": {
539
+ "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
540
+ "typeString": "address[]"
541
+ }
542
+ },
543
+ "value": null,
544
+ "visibility": "internal"
545
+ }
546
+ ],
547
+ "src": "227:47:0"
548
+ },
549
+ "returnParameters": {
550
+ "id": 15,
551
+ "nodeType": "ParameterList",
552
+ "parameters": [],
553
+ "src": "282:0:0"
554
+ },
555
+ "scope": 75,
556
+ "src": "206:191:0",
557
+ "stateMutability": "nonpayable",
558
+ "virtual": false,
559
+ "visibility": "public"
560
+ },
561
+ {
562
+ "body": {
563
+ "id": 73,
564
+ "nodeType": "Block",
565
+ "src": "496:129:0",
566
+ "statements": [
567
+ {
568
+ "body": {
569
+ "id": 71,
570
+ "nodeType": "Block",
571
+ "src": "548:73:0",
572
+ "statements": [
573
+ {
574
+ "expression": {
575
+ "argumentTypes": null,
576
+ "id": 69,
577
+ "isConstant": false,
578
+ "isLValue": false,
579
+ "isPure": false,
580
+ "lValueRequested": false,
581
+ "leftHandSide": {
582
+ "argumentTypes": null,
583
+ "id": 60,
584
+ "name": "amount",
585
+ "nodeType": "Identifier",
586
+ "overloadedDeclarations": [],
587
+ "referencedDeclaration": 47,
588
+ "src": "554:6:0",
589
+ "typeDescriptions": {
590
+ "typeIdentifier": "t_uint256",
591
+ "typeString": "uint256"
592
+ }
593
+ },
594
+ "nodeType": "Assignment",
595
+ "operator": "+=",
596
+ "rightHandSide": {
597
+ "argumentTypes": null,
598
+ "arguments": [
599
+ {
600
+ "argumentTypes": null,
601
+ "id": 67,
602
+ "name": "account",
603
+ "nodeType": "Identifier",
604
+ "overloadedDeclarations": [],
605
+ "referencedDeclaration": 41,
606
+ "src": "607:7:0",
607
+ "typeDescriptions": {
608
+ "typeIdentifier": "t_address",
609
+ "typeString": "address"
610
+ }
611
+ }
612
+ ],
613
+ "expression": {
614
+ "argumentTypes": [
615
+ {
616
+ "typeIdentifier": "t_address",
617
+ "typeString": "address"
618
+ }
619
+ ],
620
+ "expression": {
621
+ "argumentTypes": null,
622
+ "arguments": [
623
+ {
624
+ "argumentTypes": null,
625
+ "baseExpression": {
626
+ "argumentTypes": null,
627
+ "id": 62,
628
+ "name": "farmingPools",
629
+ "nodeType": "Identifier",
630
+ "overloadedDeclarations": [],
631
+ "referencedDeclaration": 44,
632
+ "src": "577:12:0",
633
+ "typeDescriptions": {
634
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
635
+ "typeString": "address[] memory"
636
+ }
637
+ },
638
+ "id": 64,
639
+ "indexExpression": {
640
+ "argumentTypes": null,
641
+ "id": 63,
642
+ "name": "i",
643
+ "nodeType": "Identifier",
644
+ "overloadedDeclarations": [],
645
+ "referencedDeclaration": 50,
646
+ "src": "590:1:0",
647
+ "typeDescriptions": {
648
+ "typeIdentifier": "t_uint256",
649
+ "typeString": "uint256"
650
+ }
651
+ },
652
+ "isConstant": false,
653
+ "isLValue": true,
654
+ "isPure": false,
655
+ "lValueRequested": false,
656
+ "nodeType": "IndexAccess",
657
+ "src": "577:15:0",
658
+ "typeDescriptions": {
659
+ "typeIdentifier": "t_address",
660
+ "typeString": "address"
661
+ }
662
+ }
663
+ ],
664
+ "expression": {
665
+ "argumentTypes": [
666
+ {
667
+ "typeIdentifier": "t_address",
668
+ "typeString": "address"
669
+ }
670
+ ],
671
+ "id": 61,
672
+ "name": "IFarmingPool",
673
+ "nodeType": "Identifier",
674
+ "overloadedDeclarations": [],
675
+ "referencedDeclaration": 3123,
676
+ "src": "564:12:0",
677
+ "typeDescriptions": {
678
+ "typeIdentifier": "t_type$_t_contract$_IFarmingPool_$3123_$",
679
+ "typeString": "type(contract IFarmingPool)"
680
+ }
681
+ },
682
+ "id": 65,
683
+ "isConstant": false,
684
+ "isLValue": false,
685
+ "isPure": false,
686
+ "kind": "typeConversion",
687
+ "lValueRequested": false,
688
+ "names": [],
689
+ "nodeType": "FunctionCall",
690
+ "src": "564:29:0",
691
+ "tryCall": false,
692
+ "typeDescriptions": {
693
+ "typeIdentifier": "t_contract$_IFarmingPool_$3123",
694
+ "typeString": "contract IFarmingPool"
695
+ }
696
+ },
697
+ "id": 66,
698
+ "isConstant": false,
699
+ "isLValue": false,
700
+ "isPure": false,
701
+ "lValueRequested": false,
702
+ "memberName": "claimAccount",
703
+ "nodeType": "MemberAccess",
704
+ "referencedDeclaration": 3113,
705
+ "src": "564:42:0",
706
+ "typeDescriptions": {
707
+ "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$",
708
+ "typeString": "function (address) external returns (uint256)"
709
+ }
710
+ },
711
+ "id": 68,
712
+ "isConstant": false,
713
+ "isLValue": false,
714
+ "isPure": false,
715
+ "kind": "functionCall",
716
+ "lValueRequested": false,
717
+ "names": [],
718
+ "nodeType": "FunctionCall",
719
+ "src": "564:51:0",
720
+ "tryCall": false,
721
+ "typeDescriptions": {
722
+ "typeIdentifier": "t_uint256",
723
+ "typeString": "uint256"
724
+ }
725
+ },
726
+ "src": "554:61:0",
727
+ "typeDescriptions": {
728
+ "typeIdentifier": "t_uint256",
729
+ "typeString": "uint256"
730
+ }
731
+ },
732
+ "id": 70,
733
+ "nodeType": "ExpressionStatement",
734
+ "src": "554:61:0"
735
+ }
736
+ ]
737
+ },
738
+ "condition": {
739
+ "argumentTypes": null,
740
+ "commonType": {
741
+ "typeIdentifier": "t_uint256",
742
+ "typeString": "uint256"
743
+ },
744
+ "id": 56,
745
+ "isConstant": false,
746
+ "isLValue": false,
747
+ "isPure": false,
748
+ "lValueRequested": false,
749
+ "leftExpression": {
750
+ "argumentTypes": null,
751
+ "id": 53,
752
+ "name": "i",
753
+ "nodeType": "Identifier",
754
+ "overloadedDeclarations": [],
755
+ "referencedDeclaration": 50,
756
+ "src": "518:1:0",
757
+ "typeDescriptions": {
758
+ "typeIdentifier": "t_uint256",
759
+ "typeString": "uint256"
760
+ }
761
+ },
762
+ "nodeType": "BinaryOperation",
763
+ "operator": "<",
764
+ "rightExpression": {
765
+ "argumentTypes": null,
766
+ "expression": {
767
+ "argumentTypes": null,
768
+ "id": 54,
769
+ "name": "farmingPools",
770
+ "nodeType": "Identifier",
771
+ "overloadedDeclarations": [],
772
+ "referencedDeclaration": 44,
773
+ "src": "522:12:0",
774
+ "typeDescriptions": {
775
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
776
+ "typeString": "address[] memory"
777
+ }
778
+ },
779
+ "id": 55,
780
+ "isConstant": false,
781
+ "isLValue": false,
782
+ "isPure": false,
783
+ "lValueRequested": false,
784
+ "memberName": "length",
785
+ "nodeType": "MemberAccess",
786
+ "referencedDeclaration": null,
787
+ "src": "522:19:0",
788
+ "typeDescriptions": {
789
+ "typeIdentifier": "t_uint256",
790
+ "typeString": "uint256"
791
+ }
792
+ },
793
+ "src": "518:23:0",
794
+ "typeDescriptions": {
795
+ "typeIdentifier": "t_bool",
796
+ "typeString": "bool"
797
+ }
798
+ },
799
+ "id": 72,
800
+ "initializationExpression": {
801
+ "assignments": [
802
+ 50
803
+ ],
804
+ "declarations": [
805
+ {
806
+ "constant": false,
807
+ "id": 50,
808
+ "mutability": "mutable",
809
+ "name": "i",
810
+ "nodeType": "VariableDeclaration",
811
+ "overrides": null,
812
+ "scope": 72,
813
+ "src": "506:6:0",
814
+ "stateVariable": false,
815
+ "storageLocation": "default",
816
+ "typeDescriptions": {
817
+ "typeIdentifier": "t_uint256",
818
+ "typeString": "uint256"
819
+ },
820
+ "typeName": {
821
+ "id": 49,
822
+ "name": "uint",
823
+ "nodeType": "ElementaryTypeName",
824
+ "src": "506:4:0",
825
+ "typeDescriptions": {
826
+ "typeIdentifier": "t_uint256",
827
+ "typeString": "uint256"
828
+ }
829
+ },
830
+ "value": null,
831
+ "visibility": "internal"
832
+ }
833
+ ],
834
+ "id": 52,
835
+ "initialValue": {
836
+ "argumentTypes": null,
837
+ "hexValue": "30",
838
+ "id": 51,
839
+ "isConstant": false,
840
+ "isLValue": false,
841
+ "isPure": true,
842
+ "kind": "number",
843
+ "lValueRequested": false,
844
+ "nodeType": "Literal",
845
+ "src": "515:1:0",
846
+ "subdenomination": null,
847
+ "typeDescriptions": {
848
+ "typeIdentifier": "t_rational_0_by_1",
849
+ "typeString": "int_const 0"
850
+ },
851
+ "value": "0"
852
+ },
853
+ "nodeType": "VariableDeclarationStatement",
854
+ "src": "506:10:0"
855
+ },
856
+ "loopExpression": {
857
+ "expression": {
858
+ "argumentTypes": null,
859
+ "id": 58,
860
+ "isConstant": false,
861
+ "isLValue": false,
862
+ "isPure": false,
863
+ "lValueRequested": false,
864
+ "nodeType": "UnaryOperation",
865
+ "operator": "++",
866
+ "prefix": false,
867
+ "src": "543:3:0",
868
+ "subExpression": {
869
+ "argumentTypes": null,
870
+ "id": 57,
871
+ "name": "i",
872
+ "nodeType": "Identifier",
873
+ "overloadedDeclarations": [],
874
+ "referencedDeclaration": 50,
875
+ "src": "543:1:0",
876
+ "typeDescriptions": {
877
+ "typeIdentifier": "t_uint256",
878
+ "typeString": "uint256"
879
+ }
880
+ },
881
+ "typeDescriptions": {
882
+ "typeIdentifier": "t_uint256",
883
+ "typeString": "uint256"
884
+ }
885
+ },
886
+ "id": 59,
887
+ "nodeType": "ExpressionStatement",
888
+ "src": "543:3:0"
889
+ },
890
+ "nodeType": "ForStatement",
891
+ "src": "501:120:0"
892
+ }
893
+ ]
894
+ },
895
+ "documentation": null,
896
+ "functionSelector": "9a3715ff",
897
+ "id": 74,
898
+ "implemented": true,
899
+ "kind": "function",
900
+ "modifiers": [],
901
+ "name": "claims",
902
+ "nodeType": "FunctionDefinition",
903
+ "overrides": null,
904
+ "parameters": {
905
+ "id": 45,
906
+ "nodeType": "ParameterList",
907
+ "parameters": [
908
+ {
909
+ "constant": false,
910
+ "id": 41,
911
+ "mutability": "mutable",
912
+ "name": "account",
913
+ "nodeType": "VariableDeclaration",
914
+ "overrides": null,
915
+ "scope": 74,
916
+ "src": "419:15:0",
917
+ "stateVariable": false,
918
+ "storageLocation": "default",
919
+ "typeDescriptions": {
920
+ "typeIdentifier": "t_address",
921
+ "typeString": "address"
922
+ },
923
+ "typeName": {
924
+ "id": 40,
925
+ "name": "address",
926
+ "nodeType": "ElementaryTypeName",
927
+ "src": "419:7:0",
928
+ "stateMutability": "nonpayable",
929
+ "typeDescriptions": {
930
+ "typeIdentifier": "t_address",
931
+ "typeString": "address"
932
+ }
933
+ },
934
+ "value": null,
935
+ "visibility": "internal"
936
+ },
937
+ {
938
+ "constant": false,
939
+ "id": 44,
940
+ "mutability": "mutable",
941
+ "name": "farmingPools",
942
+ "nodeType": "VariableDeclaration",
943
+ "overrides": null,
944
+ "scope": 74,
945
+ "src": "436:29:0",
946
+ "stateVariable": false,
947
+ "storageLocation": "memory",
948
+ "typeDescriptions": {
949
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
950
+ "typeString": "address[]"
951
+ },
952
+ "typeName": {
953
+ "baseType": {
954
+ "id": 42,
955
+ "name": "address",
956
+ "nodeType": "ElementaryTypeName",
957
+ "src": "436:7:0",
958
+ "stateMutability": "nonpayable",
959
+ "typeDescriptions": {
960
+ "typeIdentifier": "t_address",
961
+ "typeString": "address"
962
+ }
963
+ },
964
+ "id": 43,
965
+ "length": null,
966
+ "nodeType": "ArrayTypeName",
967
+ "src": "436:9:0",
968
+ "typeDescriptions": {
969
+ "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
970
+ "typeString": "address[]"
971
+ }
972
+ },
973
+ "value": null,
974
+ "visibility": "internal"
975
+ }
976
+ ],
977
+ "src": "418:48:0"
978
+ },
979
+ "returnParameters": {
980
+ "id": 48,
981
+ "nodeType": "ParameterList",
982
+ "parameters": [
983
+ {
984
+ "constant": false,
985
+ "id": 47,
986
+ "mutability": "mutable",
987
+ "name": "amount",
988
+ "nodeType": "VariableDeclaration",
989
+ "overrides": null,
990
+ "scope": 74,
991
+ "src": "483:11:0",
992
+ "stateVariable": false,
993
+ "storageLocation": "default",
994
+ "typeDescriptions": {
995
+ "typeIdentifier": "t_uint256",
996
+ "typeString": "uint256"
997
+ },
998
+ "typeName": {
999
+ "id": 46,
1000
+ "name": "uint",
1001
+ "nodeType": "ElementaryTypeName",
1002
+ "src": "483:4:0",
1003
+ "typeDescriptions": {
1004
+ "typeIdentifier": "t_uint256",
1005
+ "typeString": "uint256"
1006
+ }
1007
+ },
1008
+ "value": null,
1009
+ "visibility": "internal"
1010
+ }
1011
+ ],
1012
+ "src": "482:13:0"
1013
+ },
1014
+ "scope": 75,
1015
+ "src": "403:222:0",
1016
+ "stateMutability": "nonpayable",
1017
+ "virtual": false,
1018
+ "visibility": "public"
1019
+ }
1020
+ ],
1021
+ "scope": 76,
1022
+ "src": "145:485:0"
1023
+ }
1024
+ ],
1025
+ "src": "0:630:0"
1026
+ },
1027
+ "legacyAST": {
1028
+ "absolutePath": "/C/Users/simor/Desktop/imx/contracts/ClaimAggregator.sol",
1029
+ "exportedSymbols": {
1030
+ "ClaimAggregator": [
1031
+ 75
1032
+ ]
1033
+ },
1034
+ "id": 76,
1035
+ "nodeType": "SourceUnit",
1036
+ "nodes": [
1037
+ {
1038
+ "id": 1,
1039
+ "literals": [
1040
+ "solidity",
1041
+ "=",
1042
+ "0.6",
1043
+ ".6"
1044
+ ],
1045
+ "nodeType": "PragmaDirective",
1046
+ "src": "0:23:0"
1047
+ },
1048
+ {
1049
+ "id": 2,
1050
+ "literals": [
1051
+ "experimental",
1052
+ "ABIEncoderV2"
1053
+ ],
1054
+ "nodeType": "PragmaDirective",
1055
+ "src": "25:33:0"
1056
+ },
1057
+ {
1058
+ "absolutePath": "/C/Users/simor/Desktop/imx/contracts/interfaces/IBorrowable.sol",
1059
+ "file": "./interfaces/IBorrowable.sol",
1060
+ "id": 3,
1061
+ "nodeType": "ImportDirective",
1062
+ "scope": 76,
1063
+ "sourceUnit": 3048,
1064
+ "src": "62:38:0",
1065
+ "symbolAliases": [],
1066
+ "unitAlias": ""
1067
+ },
1068
+ {
1069
+ "absolutePath": "/C/Users/simor/Desktop/imx/contracts/interfaces/IFarmingPool.sol",
1070
+ "file": "./interfaces/IFarmingPool.sol",
1071
+ "id": 4,
1072
+ "nodeType": "ImportDirective",
1073
+ "scope": 76,
1074
+ "sourceUnit": 3124,
1075
+ "src": "102:39:0",
1076
+ "symbolAliases": [],
1077
+ "unitAlias": ""
1078
+ },
1079
+ {
1080
+ "abstract": false,
1081
+ "baseContracts": [],
1082
+ "contractDependencies": [],
1083
+ "contractKind": "contract",
1084
+ "documentation": null,
1085
+ "fullyImplemented": true,
1086
+ "id": 75,
1087
+ "linearizedBaseContracts": [
1088
+ 75
1089
+ ],
1090
+ "name": "ClaimAggregator",
1091
+ "nodeType": "ContractDefinition",
1092
+ "nodes": [
1093
+ {
1094
+ "body": {
1095
+ "id": 7,
1096
+ "nodeType": "Block",
1097
+ "src": "198:2:0",
1098
+ "statements": []
1099
+ },
1100
+ "documentation": null,
1101
+ "id": 8,
1102
+ "implemented": true,
1103
+ "kind": "constructor",
1104
+ "modifiers": [],
1105
+ "name": "",
1106
+ "nodeType": "FunctionDefinition",
1107
+ "overrides": null,
1108
+ "parameters": {
1109
+ "id": 5,
1110
+ "nodeType": "ParameterList",
1111
+ "parameters": [],
1112
+ "src": "188:2:0"
1113
+ },
1114
+ "returnParameters": {
1115
+ "id": 6,
1116
+ "nodeType": "ParameterList",
1117
+ "parameters": [],
1118
+ "src": "198:0:0"
1119
+ },
1120
+ "scope": 75,
1121
+ "src": "176:24:0",
1122
+ "stateMutability": "nonpayable",
1123
+ "virtual": false,
1124
+ "visibility": "public"
1125
+ },
1126
+ {
1127
+ "body": {
1128
+ "id": 38,
1129
+ "nodeType": "Block",
1130
+ "src": "282:115:0",
1131
+ "statements": [
1132
+ {
1133
+ "body": {
1134
+ "id": 36,
1135
+ "nodeType": "Block",
1136
+ "src": "333:60:0",
1137
+ "statements": [
1138
+ {
1139
+ "expression": {
1140
+ "argumentTypes": null,
1141
+ "arguments": [
1142
+ {
1143
+ "argumentTypes": null,
1144
+ "id": 33,
1145
+ "name": "account",
1146
+ "nodeType": "Identifier",
1147
+ "overloadedDeclarations": [],
1148
+ "referencedDeclaration": 10,
1149
+ "src": "379:7:0",
1150
+ "typeDescriptions": {
1151
+ "typeIdentifier": "t_address",
1152
+ "typeString": "address"
1153
+ }
1154
+ }
1155
+ ],
1156
+ "expression": {
1157
+ "argumentTypes": [
1158
+ {
1159
+ "typeIdentifier": "t_address",
1160
+ "typeString": "address"
1161
+ }
1162
+ ],
1163
+ "expression": {
1164
+ "argumentTypes": null,
1165
+ "arguments": [
1166
+ {
1167
+ "argumentTypes": null,
1168
+ "baseExpression": {
1169
+ "argumentTypes": null,
1170
+ "id": 28,
1171
+ "name": "borrowables",
1172
+ "nodeType": "Identifier",
1173
+ "overloadedDeclarations": [],
1174
+ "referencedDeclaration": 13,
1175
+ "src": "351:11:0",
1176
+ "typeDescriptions": {
1177
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
1178
+ "typeString": "address[] memory"
1179
+ }
1180
+ },
1181
+ "id": 30,
1182
+ "indexExpression": {
1183
+ "argumentTypes": null,
1184
+ "id": 29,
1185
+ "name": "i",
1186
+ "nodeType": "Identifier",
1187
+ "overloadedDeclarations": [],
1188
+ "referencedDeclaration": 17,
1189
+ "src": "363:1:0",
1190
+ "typeDescriptions": {
1191
+ "typeIdentifier": "t_uint256",
1192
+ "typeString": "uint256"
1193
+ }
1194
+ },
1195
+ "isConstant": false,
1196
+ "isLValue": true,
1197
+ "isPure": false,
1198
+ "lValueRequested": false,
1199
+ "nodeType": "IndexAccess",
1200
+ "src": "351:14:0",
1201
+ "typeDescriptions": {
1202
+ "typeIdentifier": "t_address",
1203
+ "typeString": "address"
1204
+ }
1205
+ }
1206
+ ],
1207
+ "expression": {
1208
+ "argumentTypes": [
1209
+ {
1210
+ "typeIdentifier": "t_address",
1211
+ "typeString": "address"
1212
+ }
1213
+ ],
1214
+ "id": 27,
1215
+ "name": "IBorrowable",
1216
+ "nodeType": "Identifier",
1217
+ "overloadedDeclarations": [],
1218
+ "referencedDeclaration": 3047,
1219
+ "src": "339:11:0",
1220
+ "typeDescriptions": {
1221
+ "typeIdentifier": "t_type$_t_contract$_IBorrowable_$3047_$",
1222
+ "typeString": "type(contract IBorrowable)"
1223
+ }
1224
+ },
1225
+ "id": 31,
1226
+ "isConstant": false,
1227
+ "isLValue": false,
1228
+ "isPure": false,
1229
+ "kind": "typeConversion",
1230
+ "lValueRequested": false,
1231
+ "names": [],
1232
+ "nodeType": "FunctionCall",
1233
+ "src": "339:27:0",
1234
+ "tryCall": false,
1235
+ "typeDescriptions": {
1236
+ "typeIdentifier": "t_contract$_IBorrowable_$3047",
1237
+ "typeString": "contract IBorrowable"
1238
+ }
1239
+ },
1240
+ "id": 32,
1241
+ "isConstant": false,
1242
+ "isLValue": false,
1243
+ "isPure": false,
1244
+ "lValueRequested": false,
1245
+ "memberName": "trackBorrow",
1246
+ "nodeType": "MemberAccess",
1247
+ "referencedDeclaration": 2908,
1248
+ "src": "339:39:0",
1249
+ "typeDescriptions": {
1250
+ "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$__$",
1251
+ "typeString": "function (address) external"
1252
+ }
1253
+ },
1254
+ "id": 34,
1255
+ "isConstant": false,
1256
+ "isLValue": false,
1257
+ "isPure": false,
1258
+ "kind": "functionCall",
1259
+ "lValueRequested": false,
1260
+ "names": [],
1261
+ "nodeType": "FunctionCall",
1262
+ "src": "339:48:0",
1263
+ "tryCall": false,
1264
+ "typeDescriptions": {
1265
+ "typeIdentifier": "t_tuple$__$",
1266
+ "typeString": "tuple()"
1267
+ }
1268
+ },
1269
+ "id": 35,
1270
+ "nodeType": "ExpressionStatement",
1271
+ "src": "339:48:0"
1272
+ }
1273
+ ]
1274
+ },
1275
+ "condition": {
1276
+ "argumentTypes": null,
1277
+ "commonType": {
1278
+ "typeIdentifier": "t_uint256",
1279
+ "typeString": "uint256"
1280
+ },
1281
+ "id": 23,
1282
+ "isConstant": false,
1283
+ "isLValue": false,
1284
+ "isPure": false,
1285
+ "lValueRequested": false,
1286
+ "leftExpression": {
1287
+ "argumentTypes": null,
1288
+ "id": 20,
1289
+ "name": "i",
1290
+ "nodeType": "Identifier",
1291
+ "overloadedDeclarations": [],
1292
+ "referencedDeclaration": 17,
1293
+ "src": "304:1:0",
1294
+ "typeDescriptions": {
1295
+ "typeIdentifier": "t_uint256",
1296
+ "typeString": "uint256"
1297
+ }
1298
+ },
1299
+ "nodeType": "BinaryOperation",
1300
+ "operator": "<",
1301
+ "rightExpression": {
1302
+ "argumentTypes": null,
1303
+ "expression": {
1304
+ "argumentTypes": null,
1305
+ "id": 21,
1306
+ "name": "borrowables",
1307
+ "nodeType": "Identifier",
1308
+ "overloadedDeclarations": [],
1309
+ "referencedDeclaration": 13,
1310
+ "src": "308:11:0",
1311
+ "typeDescriptions": {
1312
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
1313
+ "typeString": "address[] memory"
1314
+ }
1315
+ },
1316
+ "id": 22,
1317
+ "isConstant": false,
1318
+ "isLValue": false,
1319
+ "isPure": false,
1320
+ "lValueRequested": false,
1321
+ "memberName": "length",
1322
+ "nodeType": "MemberAccess",
1323
+ "referencedDeclaration": null,
1324
+ "src": "308:18:0",
1325
+ "typeDescriptions": {
1326
+ "typeIdentifier": "t_uint256",
1327
+ "typeString": "uint256"
1328
+ }
1329
+ },
1330
+ "src": "304:22:0",
1331
+ "typeDescriptions": {
1332
+ "typeIdentifier": "t_bool",
1333
+ "typeString": "bool"
1334
+ }
1335
+ },
1336
+ "id": 37,
1337
+ "initializationExpression": {
1338
+ "assignments": [
1339
+ 17
1340
+ ],
1341
+ "declarations": [
1342
+ {
1343
+ "constant": false,
1344
+ "id": 17,
1345
+ "mutability": "mutable",
1346
+ "name": "i",
1347
+ "nodeType": "VariableDeclaration",
1348
+ "overrides": null,
1349
+ "scope": 37,
1350
+ "src": "292:6:0",
1351
+ "stateVariable": false,
1352
+ "storageLocation": "default",
1353
+ "typeDescriptions": {
1354
+ "typeIdentifier": "t_uint256",
1355
+ "typeString": "uint256"
1356
+ },
1357
+ "typeName": {
1358
+ "id": 16,
1359
+ "name": "uint",
1360
+ "nodeType": "ElementaryTypeName",
1361
+ "src": "292:4:0",
1362
+ "typeDescriptions": {
1363
+ "typeIdentifier": "t_uint256",
1364
+ "typeString": "uint256"
1365
+ }
1366
+ },
1367
+ "value": null,
1368
+ "visibility": "internal"
1369
+ }
1370
+ ],
1371
+ "id": 19,
1372
+ "initialValue": {
1373
+ "argumentTypes": null,
1374
+ "hexValue": "30",
1375
+ "id": 18,
1376
+ "isConstant": false,
1377
+ "isLValue": false,
1378
+ "isPure": true,
1379
+ "kind": "number",
1380
+ "lValueRequested": false,
1381
+ "nodeType": "Literal",
1382
+ "src": "301:1:0",
1383
+ "subdenomination": null,
1384
+ "typeDescriptions": {
1385
+ "typeIdentifier": "t_rational_0_by_1",
1386
+ "typeString": "int_const 0"
1387
+ },
1388
+ "value": "0"
1389
+ },
1390
+ "nodeType": "VariableDeclarationStatement",
1391
+ "src": "292:10:0"
1392
+ },
1393
+ "loopExpression": {
1394
+ "expression": {
1395
+ "argumentTypes": null,
1396
+ "id": 25,
1397
+ "isConstant": false,
1398
+ "isLValue": false,
1399
+ "isPure": false,
1400
+ "lValueRequested": false,
1401
+ "nodeType": "UnaryOperation",
1402
+ "operator": "++",
1403
+ "prefix": false,
1404
+ "src": "328:3:0",
1405
+ "subExpression": {
1406
+ "argumentTypes": null,
1407
+ "id": 24,
1408
+ "name": "i",
1409
+ "nodeType": "Identifier",
1410
+ "overloadedDeclarations": [],
1411
+ "referencedDeclaration": 17,
1412
+ "src": "328:1:0",
1413
+ "typeDescriptions": {
1414
+ "typeIdentifier": "t_uint256",
1415
+ "typeString": "uint256"
1416
+ }
1417
+ },
1418
+ "typeDescriptions": {
1419
+ "typeIdentifier": "t_uint256",
1420
+ "typeString": "uint256"
1421
+ }
1422
+ },
1423
+ "id": 26,
1424
+ "nodeType": "ExpressionStatement",
1425
+ "src": "328:3:0"
1426
+ },
1427
+ "nodeType": "ForStatement",
1428
+ "src": "287:106:0"
1429
+ }
1430
+ ]
1431
+ },
1432
+ "documentation": null,
1433
+ "functionSelector": "68188a4e",
1434
+ "id": 39,
1435
+ "implemented": true,
1436
+ "kind": "function",
1437
+ "modifiers": [],
1438
+ "name": "trackBorrows",
1439
+ "nodeType": "FunctionDefinition",
1440
+ "overrides": null,
1441
+ "parameters": {
1442
+ "id": 14,
1443
+ "nodeType": "ParameterList",
1444
+ "parameters": [
1445
+ {
1446
+ "constant": false,
1447
+ "id": 10,
1448
+ "mutability": "mutable",
1449
+ "name": "account",
1450
+ "nodeType": "VariableDeclaration",
1451
+ "overrides": null,
1452
+ "scope": 39,
1453
+ "src": "228:15:0",
1454
+ "stateVariable": false,
1455
+ "storageLocation": "default",
1456
+ "typeDescriptions": {
1457
+ "typeIdentifier": "t_address",
1458
+ "typeString": "address"
1459
+ },
1460
+ "typeName": {
1461
+ "id": 9,
1462
+ "name": "address",
1463
+ "nodeType": "ElementaryTypeName",
1464
+ "src": "228:7:0",
1465
+ "stateMutability": "nonpayable",
1466
+ "typeDescriptions": {
1467
+ "typeIdentifier": "t_address",
1468
+ "typeString": "address"
1469
+ }
1470
+ },
1471
+ "value": null,
1472
+ "visibility": "internal"
1473
+ },
1474
+ {
1475
+ "constant": false,
1476
+ "id": 13,
1477
+ "mutability": "mutable",
1478
+ "name": "borrowables",
1479
+ "nodeType": "VariableDeclaration",
1480
+ "overrides": null,
1481
+ "scope": 39,
1482
+ "src": "245:28:0",
1483
+ "stateVariable": false,
1484
+ "storageLocation": "memory",
1485
+ "typeDescriptions": {
1486
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
1487
+ "typeString": "address[]"
1488
+ },
1489
+ "typeName": {
1490
+ "baseType": {
1491
+ "id": 11,
1492
+ "name": "address",
1493
+ "nodeType": "ElementaryTypeName",
1494
+ "src": "245:7:0",
1495
+ "stateMutability": "nonpayable",
1496
+ "typeDescriptions": {
1497
+ "typeIdentifier": "t_address",
1498
+ "typeString": "address"
1499
+ }
1500
+ },
1501
+ "id": 12,
1502
+ "length": null,
1503
+ "nodeType": "ArrayTypeName",
1504
+ "src": "245:9:0",
1505
+ "typeDescriptions": {
1506
+ "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
1507
+ "typeString": "address[]"
1508
+ }
1509
+ },
1510
+ "value": null,
1511
+ "visibility": "internal"
1512
+ }
1513
+ ],
1514
+ "src": "227:47:0"
1515
+ },
1516
+ "returnParameters": {
1517
+ "id": 15,
1518
+ "nodeType": "ParameterList",
1519
+ "parameters": [],
1520
+ "src": "282:0:0"
1521
+ },
1522
+ "scope": 75,
1523
+ "src": "206:191:0",
1524
+ "stateMutability": "nonpayable",
1525
+ "virtual": false,
1526
+ "visibility": "public"
1527
+ },
1528
+ {
1529
+ "body": {
1530
+ "id": 73,
1531
+ "nodeType": "Block",
1532
+ "src": "496:129:0",
1533
+ "statements": [
1534
+ {
1535
+ "body": {
1536
+ "id": 71,
1537
+ "nodeType": "Block",
1538
+ "src": "548:73:0",
1539
+ "statements": [
1540
+ {
1541
+ "expression": {
1542
+ "argumentTypes": null,
1543
+ "id": 69,
1544
+ "isConstant": false,
1545
+ "isLValue": false,
1546
+ "isPure": false,
1547
+ "lValueRequested": false,
1548
+ "leftHandSide": {
1549
+ "argumentTypes": null,
1550
+ "id": 60,
1551
+ "name": "amount",
1552
+ "nodeType": "Identifier",
1553
+ "overloadedDeclarations": [],
1554
+ "referencedDeclaration": 47,
1555
+ "src": "554:6:0",
1556
+ "typeDescriptions": {
1557
+ "typeIdentifier": "t_uint256",
1558
+ "typeString": "uint256"
1559
+ }
1560
+ },
1561
+ "nodeType": "Assignment",
1562
+ "operator": "+=",
1563
+ "rightHandSide": {
1564
+ "argumentTypes": null,
1565
+ "arguments": [
1566
+ {
1567
+ "argumentTypes": null,
1568
+ "id": 67,
1569
+ "name": "account",
1570
+ "nodeType": "Identifier",
1571
+ "overloadedDeclarations": [],
1572
+ "referencedDeclaration": 41,
1573
+ "src": "607:7:0",
1574
+ "typeDescriptions": {
1575
+ "typeIdentifier": "t_address",
1576
+ "typeString": "address"
1577
+ }
1578
+ }
1579
+ ],
1580
+ "expression": {
1581
+ "argumentTypes": [
1582
+ {
1583
+ "typeIdentifier": "t_address",
1584
+ "typeString": "address"
1585
+ }
1586
+ ],
1587
+ "expression": {
1588
+ "argumentTypes": null,
1589
+ "arguments": [
1590
+ {
1591
+ "argumentTypes": null,
1592
+ "baseExpression": {
1593
+ "argumentTypes": null,
1594
+ "id": 62,
1595
+ "name": "farmingPools",
1596
+ "nodeType": "Identifier",
1597
+ "overloadedDeclarations": [],
1598
+ "referencedDeclaration": 44,
1599
+ "src": "577:12:0",
1600
+ "typeDescriptions": {
1601
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
1602
+ "typeString": "address[] memory"
1603
+ }
1604
+ },
1605
+ "id": 64,
1606
+ "indexExpression": {
1607
+ "argumentTypes": null,
1608
+ "id": 63,
1609
+ "name": "i",
1610
+ "nodeType": "Identifier",
1611
+ "overloadedDeclarations": [],
1612
+ "referencedDeclaration": 50,
1613
+ "src": "590:1:0",
1614
+ "typeDescriptions": {
1615
+ "typeIdentifier": "t_uint256",
1616
+ "typeString": "uint256"
1617
+ }
1618
+ },
1619
+ "isConstant": false,
1620
+ "isLValue": true,
1621
+ "isPure": false,
1622
+ "lValueRequested": false,
1623
+ "nodeType": "IndexAccess",
1624
+ "src": "577:15:0",
1625
+ "typeDescriptions": {
1626
+ "typeIdentifier": "t_address",
1627
+ "typeString": "address"
1628
+ }
1629
+ }
1630
+ ],
1631
+ "expression": {
1632
+ "argumentTypes": [
1633
+ {
1634
+ "typeIdentifier": "t_address",
1635
+ "typeString": "address"
1636
+ }
1637
+ ],
1638
+ "id": 61,
1639
+ "name": "IFarmingPool",
1640
+ "nodeType": "Identifier",
1641
+ "overloadedDeclarations": [],
1642
+ "referencedDeclaration": 3123,
1643
+ "src": "564:12:0",
1644
+ "typeDescriptions": {
1645
+ "typeIdentifier": "t_type$_t_contract$_IFarmingPool_$3123_$",
1646
+ "typeString": "type(contract IFarmingPool)"
1647
+ }
1648
+ },
1649
+ "id": 65,
1650
+ "isConstant": false,
1651
+ "isLValue": false,
1652
+ "isPure": false,
1653
+ "kind": "typeConversion",
1654
+ "lValueRequested": false,
1655
+ "names": [],
1656
+ "nodeType": "FunctionCall",
1657
+ "src": "564:29:0",
1658
+ "tryCall": false,
1659
+ "typeDescriptions": {
1660
+ "typeIdentifier": "t_contract$_IFarmingPool_$3123",
1661
+ "typeString": "contract IFarmingPool"
1662
+ }
1663
+ },
1664
+ "id": 66,
1665
+ "isConstant": false,
1666
+ "isLValue": false,
1667
+ "isPure": false,
1668
+ "lValueRequested": false,
1669
+ "memberName": "claimAccount",
1670
+ "nodeType": "MemberAccess",
1671
+ "referencedDeclaration": 3113,
1672
+ "src": "564:42:0",
1673
+ "typeDescriptions": {
1674
+ "typeIdentifier": "t_function_external_nonpayable$_t_address_$returns$_t_uint256_$",
1675
+ "typeString": "function (address) external returns (uint256)"
1676
+ }
1677
+ },
1678
+ "id": 68,
1679
+ "isConstant": false,
1680
+ "isLValue": false,
1681
+ "isPure": false,
1682
+ "kind": "functionCall",
1683
+ "lValueRequested": false,
1684
+ "names": [],
1685
+ "nodeType": "FunctionCall",
1686
+ "src": "564:51:0",
1687
+ "tryCall": false,
1688
+ "typeDescriptions": {
1689
+ "typeIdentifier": "t_uint256",
1690
+ "typeString": "uint256"
1691
+ }
1692
+ },
1693
+ "src": "554:61:0",
1694
+ "typeDescriptions": {
1695
+ "typeIdentifier": "t_uint256",
1696
+ "typeString": "uint256"
1697
+ }
1698
+ },
1699
+ "id": 70,
1700
+ "nodeType": "ExpressionStatement",
1701
+ "src": "554:61:0"
1702
+ }
1703
+ ]
1704
+ },
1705
+ "condition": {
1706
+ "argumentTypes": null,
1707
+ "commonType": {
1708
+ "typeIdentifier": "t_uint256",
1709
+ "typeString": "uint256"
1710
+ },
1711
+ "id": 56,
1712
+ "isConstant": false,
1713
+ "isLValue": false,
1714
+ "isPure": false,
1715
+ "lValueRequested": false,
1716
+ "leftExpression": {
1717
+ "argumentTypes": null,
1718
+ "id": 53,
1719
+ "name": "i",
1720
+ "nodeType": "Identifier",
1721
+ "overloadedDeclarations": [],
1722
+ "referencedDeclaration": 50,
1723
+ "src": "518:1:0",
1724
+ "typeDescriptions": {
1725
+ "typeIdentifier": "t_uint256",
1726
+ "typeString": "uint256"
1727
+ }
1728
+ },
1729
+ "nodeType": "BinaryOperation",
1730
+ "operator": "<",
1731
+ "rightExpression": {
1732
+ "argumentTypes": null,
1733
+ "expression": {
1734
+ "argumentTypes": null,
1735
+ "id": 54,
1736
+ "name": "farmingPools",
1737
+ "nodeType": "Identifier",
1738
+ "overloadedDeclarations": [],
1739
+ "referencedDeclaration": 44,
1740
+ "src": "522:12:0",
1741
+ "typeDescriptions": {
1742
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
1743
+ "typeString": "address[] memory"
1744
+ }
1745
+ },
1746
+ "id": 55,
1747
+ "isConstant": false,
1748
+ "isLValue": false,
1749
+ "isPure": false,
1750
+ "lValueRequested": false,
1751
+ "memberName": "length",
1752
+ "nodeType": "MemberAccess",
1753
+ "referencedDeclaration": null,
1754
+ "src": "522:19:0",
1755
+ "typeDescriptions": {
1756
+ "typeIdentifier": "t_uint256",
1757
+ "typeString": "uint256"
1758
+ }
1759
+ },
1760
+ "src": "518:23:0",
1761
+ "typeDescriptions": {
1762
+ "typeIdentifier": "t_bool",
1763
+ "typeString": "bool"
1764
+ }
1765
+ },
1766
+ "id": 72,
1767
+ "initializationExpression": {
1768
+ "assignments": [
1769
+ 50
1770
+ ],
1771
+ "declarations": [
1772
+ {
1773
+ "constant": false,
1774
+ "id": 50,
1775
+ "mutability": "mutable",
1776
+ "name": "i",
1777
+ "nodeType": "VariableDeclaration",
1778
+ "overrides": null,
1779
+ "scope": 72,
1780
+ "src": "506:6:0",
1781
+ "stateVariable": false,
1782
+ "storageLocation": "default",
1783
+ "typeDescriptions": {
1784
+ "typeIdentifier": "t_uint256",
1785
+ "typeString": "uint256"
1786
+ },
1787
+ "typeName": {
1788
+ "id": 49,
1789
+ "name": "uint",
1790
+ "nodeType": "ElementaryTypeName",
1791
+ "src": "506:4:0",
1792
+ "typeDescriptions": {
1793
+ "typeIdentifier": "t_uint256",
1794
+ "typeString": "uint256"
1795
+ }
1796
+ },
1797
+ "value": null,
1798
+ "visibility": "internal"
1799
+ }
1800
+ ],
1801
+ "id": 52,
1802
+ "initialValue": {
1803
+ "argumentTypes": null,
1804
+ "hexValue": "30",
1805
+ "id": 51,
1806
+ "isConstant": false,
1807
+ "isLValue": false,
1808
+ "isPure": true,
1809
+ "kind": "number",
1810
+ "lValueRequested": false,
1811
+ "nodeType": "Literal",
1812
+ "src": "515:1:0",
1813
+ "subdenomination": null,
1814
+ "typeDescriptions": {
1815
+ "typeIdentifier": "t_rational_0_by_1",
1816
+ "typeString": "int_const 0"
1817
+ },
1818
+ "value": "0"
1819
+ },
1820
+ "nodeType": "VariableDeclarationStatement",
1821
+ "src": "506:10:0"
1822
+ },
1823
+ "loopExpression": {
1824
+ "expression": {
1825
+ "argumentTypes": null,
1826
+ "id": 58,
1827
+ "isConstant": false,
1828
+ "isLValue": false,
1829
+ "isPure": false,
1830
+ "lValueRequested": false,
1831
+ "nodeType": "UnaryOperation",
1832
+ "operator": "++",
1833
+ "prefix": false,
1834
+ "src": "543:3:0",
1835
+ "subExpression": {
1836
+ "argumentTypes": null,
1837
+ "id": 57,
1838
+ "name": "i",
1839
+ "nodeType": "Identifier",
1840
+ "overloadedDeclarations": [],
1841
+ "referencedDeclaration": 50,
1842
+ "src": "543:1:0",
1843
+ "typeDescriptions": {
1844
+ "typeIdentifier": "t_uint256",
1845
+ "typeString": "uint256"
1846
+ }
1847
+ },
1848
+ "typeDescriptions": {
1849
+ "typeIdentifier": "t_uint256",
1850
+ "typeString": "uint256"
1851
+ }
1852
+ },
1853
+ "id": 59,
1854
+ "nodeType": "ExpressionStatement",
1855
+ "src": "543:3:0"
1856
+ },
1857
+ "nodeType": "ForStatement",
1858
+ "src": "501:120:0"
1859
+ }
1860
+ ]
1861
+ },
1862
+ "documentation": null,
1863
+ "functionSelector": "9a3715ff",
1864
+ "id": 74,
1865
+ "implemented": true,
1866
+ "kind": "function",
1867
+ "modifiers": [],
1868
+ "name": "claims",
1869
+ "nodeType": "FunctionDefinition",
1870
+ "overrides": null,
1871
+ "parameters": {
1872
+ "id": 45,
1873
+ "nodeType": "ParameterList",
1874
+ "parameters": [
1875
+ {
1876
+ "constant": false,
1877
+ "id": 41,
1878
+ "mutability": "mutable",
1879
+ "name": "account",
1880
+ "nodeType": "VariableDeclaration",
1881
+ "overrides": null,
1882
+ "scope": 74,
1883
+ "src": "419:15:0",
1884
+ "stateVariable": false,
1885
+ "storageLocation": "default",
1886
+ "typeDescriptions": {
1887
+ "typeIdentifier": "t_address",
1888
+ "typeString": "address"
1889
+ },
1890
+ "typeName": {
1891
+ "id": 40,
1892
+ "name": "address",
1893
+ "nodeType": "ElementaryTypeName",
1894
+ "src": "419:7:0",
1895
+ "stateMutability": "nonpayable",
1896
+ "typeDescriptions": {
1897
+ "typeIdentifier": "t_address",
1898
+ "typeString": "address"
1899
+ }
1900
+ },
1901
+ "value": null,
1902
+ "visibility": "internal"
1903
+ },
1904
+ {
1905
+ "constant": false,
1906
+ "id": 44,
1907
+ "mutability": "mutable",
1908
+ "name": "farmingPools",
1909
+ "nodeType": "VariableDeclaration",
1910
+ "overrides": null,
1911
+ "scope": 74,
1912
+ "src": "436:29:0",
1913
+ "stateVariable": false,
1914
+ "storageLocation": "memory",
1915
+ "typeDescriptions": {
1916
+ "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
1917
+ "typeString": "address[]"
1918
+ },
1919
+ "typeName": {
1920
+ "baseType": {
1921
+ "id": 42,
1922
+ "name": "address",
1923
+ "nodeType": "ElementaryTypeName",
1924
+ "src": "436:7:0",
1925
+ "stateMutability": "nonpayable",
1926
+ "typeDescriptions": {
1927
+ "typeIdentifier": "t_address",
1928
+ "typeString": "address"
1929
+ }
1930
+ },
1931
+ "id": 43,
1932
+ "length": null,
1933
+ "nodeType": "ArrayTypeName",
1934
+ "src": "436:9:0",
1935
+ "typeDescriptions": {
1936
+ "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
1937
+ "typeString": "address[]"
1938
+ }
1939
+ },
1940
+ "value": null,
1941
+ "visibility": "internal"
1942
+ }
1943
+ ],
1944
+ "src": "418:48:0"
1945
+ },
1946
+ "returnParameters": {
1947
+ "id": 48,
1948
+ "nodeType": "ParameterList",
1949
+ "parameters": [
1950
+ {
1951
+ "constant": false,
1952
+ "id": 47,
1953
+ "mutability": "mutable",
1954
+ "name": "amount",
1955
+ "nodeType": "VariableDeclaration",
1956
+ "overrides": null,
1957
+ "scope": 74,
1958
+ "src": "483:11:0",
1959
+ "stateVariable": false,
1960
+ "storageLocation": "default",
1961
+ "typeDescriptions": {
1962
+ "typeIdentifier": "t_uint256",
1963
+ "typeString": "uint256"
1964
+ },
1965
+ "typeName": {
1966
+ "id": 46,
1967
+ "name": "uint",
1968
+ "nodeType": "ElementaryTypeName",
1969
+ "src": "483:4:0",
1970
+ "typeDescriptions": {
1971
+ "typeIdentifier": "t_uint256",
1972
+ "typeString": "uint256"
1973
+ }
1974
+ },
1975
+ "value": null,
1976
+ "visibility": "internal"
1977
+ }
1978
+ ],
1979
+ "src": "482:13:0"
1980
+ },
1981
+ "scope": 75,
1982
+ "src": "403:222:0",
1983
+ "stateMutability": "nonpayable",
1984
+ "virtual": false,
1985
+ "visibility": "public"
1986
+ }
1987
+ ],
1988
+ "scope": 76,
1989
+ "src": "145:485:0"
1990
+ }
1991
+ ],
1992
+ "src": "0:630:0"
1993
+ },
1994
+ "compiler": {
1995
+ "name": "solc",
1996
+ "version": "0.6.6+commit.6c089d02.Emscripten.clang"
1997
+ },
1998
+ "networks": {
1999
+ "3": {
2000
+ "events": {},
2001
+ "links": {},
2002
+ "address": "0x8DFF9cEA94a03Ad4b84b7CA3aEECEF295b05Eeb5",
2003
+ "transactionHash": "0xaa960be95087231849ab274a37f3d488ad5a21655bb5139b3e640169834fd94c"
2004
+ }
2005
+ },
2006
+ "schemaVersion": "3.3.2",
2007
+ "updatedAt": "2021-03-18T17:37:40.004Z",
2008
+ "networkType": "ethereum",
2009
+ "devdoc": {
2010
+ "methods": {}
2011
+ },
2012
+ "userdoc": {
2013
+ "methods": {}
2014
+ }
2015
+ }