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,3584 @@
1
+ {
2
+ "contractName": "IFarmingPool",
3
+ "abi": [
4
+ {
5
+ "anonymous": false,
6
+ "inputs": [
7
+ {
8
+ "indexed": false,
9
+ "internalType": "uint256",
10
+ "name": "epochBegin",
11
+ "type": "uint256"
12
+ },
13
+ {
14
+ "indexed": false,
15
+ "internalType": "uint256",
16
+ "name": "epochAmount",
17
+ "type": "uint256"
18
+ }
19
+ ],
20
+ "name": "Advance",
21
+ "type": "event"
22
+ },
23
+ {
24
+ "anonymous": false,
25
+ "inputs": [
26
+ {
27
+ "indexed": true,
28
+ "internalType": "address",
29
+ "name": "account",
30
+ "type": "address"
31
+ },
32
+ {
33
+ "indexed": false,
34
+ "internalType": "uint256",
35
+ "name": "amount",
36
+ "type": "uint256"
37
+ }
38
+ ],
39
+ "name": "Claim",
40
+ "type": "event"
41
+ },
42
+ {
43
+ "anonymous": false,
44
+ "inputs": [
45
+ {
46
+ "indexed": true,
47
+ "internalType": "address",
48
+ "name": "account",
49
+ "type": "address"
50
+ },
51
+ {
52
+ "indexed": false,
53
+ "internalType": "uint256",
54
+ "name": "shares",
55
+ "type": "uint256"
56
+ },
57
+ {
58
+ "indexed": false,
59
+ "internalType": "uint256",
60
+ "name": "totalShares",
61
+ "type": "uint256"
62
+ }
63
+ ],
64
+ "name": "EditRecipient",
65
+ "type": "event"
66
+ },
67
+ {
68
+ "anonymous": false,
69
+ "inputs": [
70
+ {
71
+ "indexed": true,
72
+ "internalType": "address",
73
+ "name": "account",
74
+ "type": "address"
75
+ },
76
+ {
77
+ "indexed": false,
78
+ "internalType": "uint256",
79
+ "name": "lastShareIndex",
80
+ "type": "uint256"
81
+ },
82
+ {
83
+ "indexed": false,
84
+ "internalType": "uint256",
85
+ "name": "credit",
86
+ "type": "uint256"
87
+ }
88
+ ],
89
+ "name": "UpdateCredit",
90
+ "type": "event"
91
+ },
92
+ {
93
+ "anonymous": false,
94
+ "inputs": [
95
+ {
96
+ "indexed": false,
97
+ "internalType": "uint256",
98
+ "name": "shareIndex",
99
+ "type": "uint256"
100
+ }
101
+ ],
102
+ "name": "UpdateShareIndex",
103
+ "type": "event"
104
+ },
105
+ {
106
+ "inputs": [],
107
+ "name": "imx",
108
+ "outputs": [
109
+ {
110
+ "internalType": "address",
111
+ "name": "",
112
+ "type": "address"
113
+ }
114
+ ],
115
+ "stateMutability": "pure",
116
+ "type": "function"
117
+ },
118
+ {
119
+ "inputs": [],
120
+ "name": "claimable",
121
+ "outputs": [
122
+ {
123
+ "internalType": "address",
124
+ "name": "",
125
+ "type": "address"
126
+ }
127
+ ],
128
+ "stateMutability": "pure",
129
+ "type": "function"
130
+ },
131
+ {
132
+ "inputs": [],
133
+ "name": "borrowable",
134
+ "outputs": [
135
+ {
136
+ "internalType": "address",
137
+ "name": "",
138
+ "type": "address"
139
+ }
140
+ ],
141
+ "stateMutability": "pure",
142
+ "type": "function"
143
+ },
144
+ {
145
+ "inputs": [],
146
+ "name": "vestingBegin",
147
+ "outputs": [
148
+ {
149
+ "internalType": "uint256",
150
+ "name": "",
151
+ "type": "uint256"
152
+ }
153
+ ],
154
+ "stateMutability": "pure",
155
+ "type": "function"
156
+ },
157
+ {
158
+ "inputs": [],
159
+ "name": "segmentLength",
160
+ "outputs": [
161
+ {
162
+ "internalType": "uint256",
163
+ "name": "",
164
+ "type": "uint256"
165
+ }
166
+ ],
167
+ "stateMutability": "pure",
168
+ "type": "function"
169
+ },
170
+ {
171
+ "inputs": [
172
+ {
173
+ "internalType": "address",
174
+ "name": "",
175
+ "type": "address"
176
+ }
177
+ ],
178
+ "name": "recipients",
179
+ "outputs": [
180
+ {
181
+ "internalType": "uint256",
182
+ "name": "shares",
183
+ "type": "uint256"
184
+ },
185
+ {
186
+ "internalType": "uint256",
187
+ "name": "lastShareIndex",
188
+ "type": "uint256"
189
+ },
190
+ {
191
+ "internalType": "uint256",
192
+ "name": "credit",
193
+ "type": "uint256"
194
+ }
195
+ ],
196
+ "stateMutability": "view",
197
+ "type": "function"
198
+ },
199
+ {
200
+ "inputs": [],
201
+ "name": "totalShares",
202
+ "outputs": [
203
+ {
204
+ "internalType": "uint256",
205
+ "name": "",
206
+ "type": "uint256"
207
+ }
208
+ ],
209
+ "stateMutability": "view",
210
+ "type": "function"
211
+ },
212
+ {
213
+ "inputs": [],
214
+ "name": "shareIndex",
215
+ "outputs": [
216
+ {
217
+ "internalType": "uint256",
218
+ "name": "",
219
+ "type": "uint256"
220
+ }
221
+ ],
222
+ "stateMutability": "view",
223
+ "type": "function"
224
+ },
225
+ {
226
+ "inputs": [],
227
+ "name": "epochBegin",
228
+ "outputs": [
229
+ {
230
+ "internalType": "uint256",
231
+ "name": "",
232
+ "type": "uint256"
233
+ }
234
+ ],
235
+ "stateMutability": "view",
236
+ "type": "function"
237
+ },
238
+ {
239
+ "inputs": [],
240
+ "name": "epochAmount",
241
+ "outputs": [
242
+ {
243
+ "internalType": "uint256",
244
+ "name": "",
245
+ "type": "uint256"
246
+ }
247
+ ],
248
+ "stateMutability": "view",
249
+ "type": "function"
250
+ },
251
+ {
252
+ "inputs": [],
253
+ "name": "lastUpdate",
254
+ "outputs": [
255
+ {
256
+ "internalType": "uint256",
257
+ "name": "",
258
+ "type": "uint256"
259
+ }
260
+ ],
261
+ "stateMutability": "view",
262
+ "type": "function"
263
+ },
264
+ {
265
+ "inputs": [],
266
+ "name": "updateShareIndex",
267
+ "outputs": [
268
+ {
269
+ "internalType": "uint256",
270
+ "name": "_shareIndex",
271
+ "type": "uint256"
272
+ }
273
+ ],
274
+ "stateMutability": "nonpayable",
275
+ "type": "function"
276
+ },
277
+ {
278
+ "inputs": [
279
+ {
280
+ "internalType": "address",
281
+ "name": "account",
282
+ "type": "address"
283
+ }
284
+ ],
285
+ "name": "updateCredit",
286
+ "outputs": [
287
+ {
288
+ "internalType": "uint256",
289
+ "name": "credit",
290
+ "type": "uint256"
291
+ }
292
+ ],
293
+ "stateMutability": "nonpayable",
294
+ "type": "function"
295
+ },
296
+ {
297
+ "inputs": [],
298
+ "name": "advance",
299
+ "outputs": [],
300
+ "stateMutability": "nonpayable",
301
+ "type": "function"
302
+ },
303
+ {
304
+ "inputs": [],
305
+ "name": "claim",
306
+ "outputs": [
307
+ {
308
+ "internalType": "uint256",
309
+ "name": "amount",
310
+ "type": "uint256"
311
+ }
312
+ ],
313
+ "stateMutability": "nonpayable",
314
+ "type": "function"
315
+ },
316
+ {
317
+ "inputs": [
318
+ {
319
+ "internalType": "address",
320
+ "name": "account",
321
+ "type": "address"
322
+ }
323
+ ],
324
+ "name": "claimAccount",
325
+ "outputs": [
326
+ {
327
+ "internalType": "uint256",
328
+ "name": "amount",
329
+ "type": "uint256"
330
+ }
331
+ ],
332
+ "stateMutability": "nonpayable",
333
+ "type": "function"
334
+ },
335
+ {
336
+ "inputs": [
337
+ {
338
+ "internalType": "address",
339
+ "name": "borrower",
340
+ "type": "address"
341
+ },
342
+ {
343
+ "internalType": "uint256",
344
+ "name": "borrowBalance",
345
+ "type": "uint256"
346
+ },
347
+ {
348
+ "internalType": "uint256",
349
+ "name": "borrowIndex",
350
+ "type": "uint256"
351
+ }
352
+ ],
353
+ "name": "trackBorrow",
354
+ "outputs": [],
355
+ "stateMutability": "nonpayable",
356
+ "type": "function"
357
+ }
358
+ ],
359
+ "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochBegin\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochAmount\",\"type\":\"uint256\"}],\"name\":\"Advance\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalShares\",\"type\":\"uint256\"}],\"name\":\"EditRecipient\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastShareIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"credit\",\"type\":\"uint256\"}],\"name\":\"UpdateCredit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shareIndex\",\"type\":\"uint256\"}],\"name\":\"UpdateShareIndex\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"advance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"borrowable\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"claimAccount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimable\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochBegin\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"imx\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastUpdate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"recipients\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastShareIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"credit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"segmentLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"shareIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"borrowBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"borrowIndex\",\"type\":\"uint256\"}],\"name\":\"trackBorrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"updateCredit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"credit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"updateShareIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_shareIndex\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vestingBegin\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/C/Users/simor/Desktop/imx/contracts/interfaces/IFarmingPool.sol\":\"IFarmingPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[]},\"sources\":{\"/C/Users/simor/Desktop/imx/contracts/interfaces/IFarmingPool.sol\":{\"keccak256\":\"0xf4f6edbaacd81e353e8281a2a6b91d37e3cbc6227f0b9e4bdaeae4e4db1ed7dd\",\"urls\":[\"bzz-raw://229304b02ae867de9acf782cbf3863a16f2a77e1fabcc852fbbc4c13f47ecb83\",\"dweb:/ipfs/QmcmToAW4wnbBa596mPBDNrT4NnXw6EmjRzxUnMqWngpQH\"]}},\"version\":1}",
360
+ "bytecode": "0x",
361
+ "deployedBytecode": "0x",
362
+ "immutableReferences": {},
363
+ "sourceMap": "",
364
+ "deployedSourceMap": "",
365
+ "source": "pragma solidity >=0.5.0;\r\n\r\ninterface IFarmingPool {\r\n\tfunction imx() external pure returns (address);\r\n\tfunction claimable() external pure returns (address);\r\n\tfunction borrowable() external pure returns (address);\r\n\tfunction vestingBegin() external pure returns (uint);\r\n\tfunction segmentLength() external pure returns (uint);\r\n\tfunction recipients(address) external view returns (uint shares, uint lastShareIndex, uint credit);\r\n\tfunction totalShares() external view returns (uint);\r\n\tfunction shareIndex() external view returns (uint);\r\n\tfunction epochBegin() external view returns (uint);\r\n\tfunction epochAmount() external view returns (uint);\r\n\tfunction lastUpdate() external view returns (uint);\r\n\t\r\n\tfunction updateShareIndex() external returns (uint _shareIndex);\r\n\tfunction updateCredit(address account) external returns (uint credit);\r\n\tfunction advance() external;\r\n\tfunction claim() external returns (uint amount);\r\n\tfunction claimAccount(address account) external returns (uint amount);\r\n\tfunction trackBorrow(address borrower, uint borrowBalance, uint borrowIndex) external;\r\n\t\r\n\tevent UpdateShareIndex(uint shareIndex);\r\n\tevent UpdateCredit(address indexed account, uint lastShareIndex, uint credit);\r\n\tevent Claim(address indexed account, uint amount);\r\n\tevent EditRecipient(address indexed account, uint shares, uint totalShares);\r\n\tevent Advance(uint epochBegin, uint epochAmount);\r\n}",
366
+ "sourcePath": "C:\\Users\\simor\\Desktop\\imx\\contracts\\interfaces\\IFarmingPool.sol",
367
+ "ast": {
368
+ "absolutePath": "/C/Users/simor/Desktop/imx/contracts/interfaces/IFarmingPool.sol",
369
+ "exportedSymbols": {
370
+ "IFarmingPool": [
371
+ 2916
372
+ ]
373
+ },
374
+ "id": 2917,
375
+ "nodeType": "SourceUnit",
376
+ "nodes": [
377
+ {
378
+ "id": 2786,
379
+ "literals": [
380
+ "solidity",
381
+ ">=",
382
+ "0.5",
383
+ ".0"
384
+ ],
385
+ "nodeType": "PragmaDirective",
386
+ "src": "0:24:12"
387
+ },
388
+ {
389
+ "abstract": false,
390
+ "baseContracts": [],
391
+ "contractDependencies": [],
392
+ "contractKind": "interface",
393
+ "documentation": null,
394
+ "fullyImplemented": false,
395
+ "id": 2916,
396
+ "linearizedBaseContracts": [
397
+ 2916
398
+ ],
399
+ "name": "IFarmingPool",
400
+ "nodeType": "ContractDefinition",
401
+ "nodes": [
402
+ {
403
+ "body": null,
404
+ "documentation": null,
405
+ "functionSelector": "0f08025f",
406
+ "id": 2791,
407
+ "implemented": false,
408
+ "kind": "function",
409
+ "modifiers": [],
410
+ "name": "imx",
411
+ "nodeType": "FunctionDefinition",
412
+ "overrides": null,
413
+ "parameters": {
414
+ "id": 2787,
415
+ "nodeType": "ParameterList",
416
+ "parameters": [],
417
+ "src": "67:2:12"
418
+ },
419
+ "returnParameters": {
420
+ "id": 2790,
421
+ "nodeType": "ParameterList",
422
+ "parameters": [
423
+ {
424
+ "constant": false,
425
+ "id": 2789,
426
+ "mutability": "mutable",
427
+ "name": "",
428
+ "nodeType": "VariableDeclaration",
429
+ "overrides": null,
430
+ "scope": 2791,
431
+ "src": "93:7:12",
432
+ "stateVariable": false,
433
+ "storageLocation": "default",
434
+ "typeDescriptions": {
435
+ "typeIdentifier": "t_address",
436
+ "typeString": "address"
437
+ },
438
+ "typeName": {
439
+ "id": 2788,
440
+ "name": "address",
441
+ "nodeType": "ElementaryTypeName",
442
+ "src": "93:7:12",
443
+ "stateMutability": "nonpayable",
444
+ "typeDescriptions": {
445
+ "typeIdentifier": "t_address",
446
+ "typeString": "address"
447
+ }
448
+ },
449
+ "value": null,
450
+ "visibility": "internal"
451
+ }
452
+ ],
453
+ "src": "92:9:12"
454
+ },
455
+ "scope": 2916,
456
+ "src": "55:47:12",
457
+ "stateMutability": "pure",
458
+ "virtual": false,
459
+ "visibility": "external"
460
+ },
461
+ {
462
+ "body": null,
463
+ "documentation": null,
464
+ "functionSelector": "af38d757",
465
+ "id": 2796,
466
+ "implemented": false,
467
+ "kind": "function",
468
+ "modifiers": [],
469
+ "name": "claimable",
470
+ "nodeType": "FunctionDefinition",
471
+ "overrides": null,
472
+ "parameters": {
473
+ "id": 2792,
474
+ "nodeType": "ParameterList",
475
+ "parameters": [],
476
+ "src": "123:2:12"
477
+ },
478
+ "returnParameters": {
479
+ "id": 2795,
480
+ "nodeType": "ParameterList",
481
+ "parameters": [
482
+ {
483
+ "constant": false,
484
+ "id": 2794,
485
+ "mutability": "mutable",
486
+ "name": "",
487
+ "nodeType": "VariableDeclaration",
488
+ "overrides": null,
489
+ "scope": 2796,
490
+ "src": "149:7:12",
491
+ "stateVariable": false,
492
+ "storageLocation": "default",
493
+ "typeDescriptions": {
494
+ "typeIdentifier": "t_address",
495
+ "typeString": "address"
496
+ },
497
+ "typeName": {
498
+ "id": 2793,
499
+ "name": "address",
500
+ "nodeType": "ElementaryTypeName",
501
+ "src": "149:7:12",
502
+ "stateMutability": "nonpayable",
503
+ "typeDescriptions": {
504
+ "typeIdentifier": "t_address",
505
+ "typeString": "address"
506
+ }
507
+ },
508
+ "value": null,
509
+ "visibility": "internal"
510
+ }
511
+ ],
512
+ "src": "148:9:12"
513
+ },
514
+ "scope": 2916,
515
+ "src": "105:53:12",
516
+ "stateMutability": "pure",
517
+ "virtual": false,
518
+ "visibility": "external"
519
+ },
520
+ {
521
+ "body": null,
522
+ "documentation": null,
523
+ "functionSelector": "e99a6ac7",
524
+ "id": 2801,
525
+ "implemented": false,
526
+ "kind": "function",
527
+ "modifiers": [],
528
+ "name": "borrowable",
529
+ "nodeType": "FunctionDefinition",
530
+ "overrides": null,
531
+ "parameters": {
532
+ "id": 2797,
533
+ "nodeType": "ParameterList",
534
+ "parameters": [],
535
+ "src": "180:2:12"
536
+ },
537
+ "returnParameters": {
538
+ "id": 2800,
539
+ "nodeType": "ParameterList",
540
+ "parameters": [
541
+ {
542
+ "constant": false,
543
+ "id": 2799,
544
+ "mutability": "mutable",
545
+ "name": "",
546
+ "nodeType": "VariableDeclaration",
547
+ "overrides": null,
548
+ "scope": 2801,
549
+ "src": "206:7:12",
550
+ "stateVariable": false,
551
+ "storageLocation": "default",
552
+ "typeDescriptions": {
553
+ "typeIdentifier": "t_address",
554
+ "typeString": "address"
555
+ },
556
+ "typeName": {
557
+ "id": 2798,
558
+ "name": "address",
559
+ "nodeType": "ElementaryTypeName",
560
+ "src": "206:7:12",
561
+ "stateMutability": "nonpayable",
562
+ "typeDescriptions": {
563
+ "typeIdentifier": "t_address",
564
+ "typeString": "address"
565
+ }
566
+ },
567
+ "value": null,
568
+ "visibility": "internal"
569
+ }
570
+ ],
571
+ "src": "205:9:12"
572
+ },
573
+ "scope": 2916,
574
+ "src": "161:54:12",
575
+ "stateMutability": "pure",
576
+ "virtual": false,
577
+ "visibility": "external"
578
+ },
579
+ {
580
+ "body": null,
581
+ "documentation": null,
582
+ "functionSelector": "e29bc68b",
583
+ "id": 2806,
584
+ "implemented": false,
585
+ "kind": "function",
586
+ "modifiers": [],
587
+ "name": "vestingBegin",
588
+ "nodeType": "FunctionDefinition",
589
+ "overrides": null,
590
+ "parameters": {
591
+ "id": 2802,
592
+ "nodeType": "ParameterList",
593
+ "parameters": [],
594
+ "src": "239:2:12"
595
+ },
596
+ "returnParameters": {
597
+ "id": 2805,
598
+ "nodeType": "ParameterList",
599
+ "parameters": [
600
+ {
601
+ "constant": false,
602
+ "id": 2804,
603
+ "mutability": "mutable",
604
+ "name": "",
605
+ "nodeType": "VariableDeclaration",
606
+ "overrides": null,
607
+ "scope": 2806,
608
+ "src": "265:4:12",
609
+ "stateVariable": false,
610
+ "storageLocation": "default",
611
+ "typeDescriptions": {
612
+ "typeIdentifier": "t_uint256",
613
+ "typeString": "uint256"
614
+ },
615
+ "typeName": {
616
+ "id": 2803,
617
+ "name": "uint",
618
+ "nodeType": "ElementaryTypeName",
619
+ "src": "265:4:12",
620
+ "typeDescriptions": {
621
+ "typeIdentifier": "t_uint256",
622
+ "typeString": "uint256"
623
+ }
624
+ },
625
+ "value": null,
626
+ "visibility": "internal"
627
+ }
628
+ ],
629
+ "src": "264:6:12"
630
+ },
631
+ "scope": 2916,
632
+ "src": "218:53:12",
633
+ "stateMutability": "pure",
634
+ "virtual": false,
635
+ "visibility": "external"
636
+ },
637
+ {
638
+ "body": null,
639
+ "documentation": null,
640
+ "functionSelector": "d013666e",
641
+ "id": 2811,
642
+ "implemented": false,
643
+ "kind": "function",
644
+ "modifiers": [],
645
+ "name": "segmentLength",
646
+ "nodeType": "FunctionDefinition",
647
+ "overrides": null,
648
+ "parameters": {
649
+ "id": 2807,
650
+ "nodeType": "ParameterList",
651
+ "parameters": [],
652
+ "src": "296:2:12"
653
+ },
654
+ "returnParameters": {
655
+ "id": 2810,
656
+ "nodeType": "ParameterList",
657
+ "parameters": [
658
+ {
659
+ "constant": false,
660
+ "id": 2809,
661
+ "mutability": "mutable",
662
+ "name": "",
663
+ "nodeType": "VariableDeclaration",
664
+ "overrides": null,
665
+ "scope": 2811,
666
+ "src": "322:4:12",
667
+ "stateVariable": false,
668
+ "storageLocation": "default",
669
+ "typeDescriptions": {
670
+ "typeIdentifier": "t_uint256",
671
+ "typeString": "uint256"
672
+ },
673
+ "typeName": {
674
+ "id": 2808,
675
+ "name": "uint",
676
+ "nodeType": "ElementaryTypeName",
677
+ "src": "322:4:12",
678
+ "typeDescriptions": {
679
+ "typeIdentifier": "t_uint256",
680
+ "typeString": "uint256"
681
+ }
682
+ },
683
+ "value": null,
684
+ "visibility": "internal"
685
+ }
686
+ ],
687
+ "src": "321:6:12"
688
+ },
689
+ "scope": 2916,
690
+ "src": "274:54:12",
691
+ "stateMutability": "pure",
692
+ "virtual": false,
693
+ "visibility": "external"
694
+ },
695
+ {
696
+ "body": null,
697
+ "documentation": null,
698
+ "functionSelector": "eb820312",
699
+ "id": 2822,
700
+ "implemented": false,
701
+ "kind": "function",
702
+ "modifiers": [],
703
+ "name": "recipients",
704
+ "nodeType": "FunctionDefinition",
705
+ "overrides": null,
706
+ "parameters": {
707
+ "id": 2814,
708
+ "nodeType": "ParameterList",
709
+ "parameters": [
710
+ {
711
+ "constant": false,
712
+ "id": 2813,
713
+ "mutability": "mutable",
714
+ "name": "",
715
+ "nodeType": "VariableDeclaration",
716
+ "overrides": null,
717
+ "scope": 2822,
718
+ "src": "351:7:12",
719
+ "stateVariable": false,
720
+ "storageLocation": "default",
721
+ "typeDescriptions": {
722
+ "typeIdentifier": "t_address",
723
+ "typeString": "address"
724
+ },
725
+ "typeName": {
726
+ "id": 2812,
727
+ "name": "address",
728
+ "nodeType": "ElementaryTypeName",
729
+ "src": "351:7:12",
730
+ "stateMutability": "nonpayable",
731
+ "typeDescriptions": {
732
+ "typeIdentifier": "t_address",
733
+ "typeString": "address"
734
+ }
735
+ },
736
+ "value": null,
737
+ "visibility": "internal"
738
+ }
739
+ ],
740
+ "src": "350:9:12"
741
+ },
742
+ "returnParameters": {
743
+ "id": 2821,
744
+ "nodeType": "ParameterList",
745
+ "parameters": [
746
+ {
747
+ "constant": false,
748
+ "id": 2816,
749
+ "mutability": "mutable",
750
+ "name": "shares",
751
+ "nodeType": "VariableDeclaration",
752
+ "overrides": null,
753
+ "scope": 2822,
754
+ "src": "383:11:12",
755
+ "stateVariable": false,
756
+ "storageLocation": "default",
757
+ "typeDescriptions": {
758
+ "typeIdentifier": "t_uint256",
759
+ "typeString": "uint256"
760
+ },
761
+ "typeName": {
762
+ "id": 2815,
763
+ "name": "uint",
764
+ "nodeType": "ElementaryTypeName",
765
+ "src": "383:4:12",
766
+ "typeDescriptions": {
767
+ "typeIdentifier": "t_uint256",
768
+ "typeString": "uint256"
769
+ }
770
+ },
771
+ "value": null,
772
+ "visibility": "internal"
773
+ },
774
+ {
775
+ "constant": false,
776
+ "id": 2818,
777
+ "mutability": "mutable",
778
+ "name": "lastShareIndex",
779
+ "nodeType": "VariableDeclaration",
780
+ "overrides": null,
781
+ "scope": 2822,
782
+ "src": "396:19:12",
783
+ "stateVariable": false,
784
+ "storageLocation": "default",
785
+ "typeDescriptions": {
786
+ "typeIdentifier": "t_uint256",
787
+ "typeString": "uint256"
788
+ },
789
+ "typeName": {
790
+ "id": 2817,
791
+ "name": "uint",
792
+ "nodeType": "ElementaryTypeName",
793
+ "src": "396:4:12",
794
+ "typeDescriptions": {
795
+ "typeIdentifier": "t_uint256",
796
+ "typeString": "uint256"
797
+ }
798
+ },
799
+ "value": null,
800
+ "visibility": "internal"
801
+ },
802
+ {
803
+ "constant": false,
804
+ "id": 2820,
805
+ "mutability": "mutable",
806
+ "name": "credit",
807
+ "nodeType": "VariableDeclaration",
808
+ "overrides": null,
809
+ "scope": 2822,
810
+ "src": "417:11:12",
811
+ "stateVariable": false,
812
+ "storageLocation": "default",
813
+ "typeDescriptions": {
814
+ "typeIdentifier": "t_uint256",
815
+ "typeString": "uint256"
816
+ },
817
+ "typeName": {
818
+ "id": 2819,
819
+ "name": "uint",
820
+ "nodeType": "ElementaryTypeName",
821
+ "src": "417:4:12",
822
+ "typeDescriptions": {
823
+ "typeIdentifier": "t_uint256",
824
+ "typeString": "uint256"
825
+ }
826
+ },
827
+ "value": null,
828
+ "visibility": "internal"
829
+ }
830
+ ],
831
+ "src": "382:47:12"
832
+ },
833
+ "scope": 2916,
834
+ "src": "331:99:12",
835
+ "stateMutability": "view",
836
+ "virtual": false,
837
+ "visibility": "external"
838
+ },
839
+ {
840
+ "body": null,
841
+ "documentation": null,
842
+ "functionSelector": "3a98ef39",
843
+ "id": 2827,
844
+ "implemented": false,
845
+ "kind": "function",
846
+ "modifiers": [],
847
+ "name": "totalShares",
848
+ "nodeType": "FunctionDefinition",
849
+ "overrides": null,
850
+ "parameters": {
851
+ "id": 2823,
852
+ "nodeType": "ParameterList",
853
+ "parameters": [],
854
+ "src": "453:2:12"
855
+ },
856
+ "returnParameters": {
857
+ "id": 2826,
858
+ "nodeType": "ParameterList",
859
+ "parameters": [
860
+ {
861
+ "constant": false,
862
+ "id": 2825,
863
+ "mutability": "mutable",
864
+ "name": "",
865
+ "nodeType": "VariableDeclaration",
866
+ "overrides": null,
867
+ "scope": 2827,
868
+ "src": "479:4:12",
869
+ "stateVariable": false,
870
+ "storageLocation": "default",
871
+ "typeDescriptions": {
872
+ "typeIdentifier": "t_uint256",
873
+ "typeString": "uint256"
874
+ },
875
+ "typeName": {
876
+ "id": 2824,
877
+ "name": "uint",
878
+ "nodeType": "ElementaryTypeName",
879
+ "src": "479:4:12",
880
+ "typeDescriptions": {
881
+ "typeIdentifier": "t_uint256",
882
+ "typeString": "uint256"
883
+ }
884
+ },
885
+ "value": null,
886
+ "visibility": "internal"
887
+ }
888
+ ],
889
+ "src": "478:6:12"
890
+ },
891
+ "scope": 2916,
892
+ "src": "433:52:12",
893
+ "stateMutability": "view",
894
+ "virtual": false,
895
+ "visibility": "external"
896
+ },
897
+ {
898
+ "body": null,
899
+ "documentation": null,
900
+ "functionSelector": "c56ad1ad",
901
+ "id": 2832,
902
+ "implemented": false,
903
+ "kind": "function",
904
+ "modifiers": [],
905
+ "name": "shareIndex",
906
+ "nodeType": "FunctionDefinition",
907
+ "overrides": null,
908
+ "parameters": {
909
+ "id": 2828,
910
+ "nodeType": "ParameterList",
911
+ "parameters": [],
912
+ "src": "507:2:12"
913
+ },
914
+ "returnParameters": {
915
+ "id": 2831,
916
+ "nodeType": "ParameterList",
917
+ "parameters": [
918
+ {
919
+ "constant": false,
920
+ "id": 2830,
921
+ "mutability": "mutable",
922
+ "name": "",
923
+ "nodeType": "VariableDeclaration",
924
+ "overrides": null,
925
+ "scope": 2832,
926
+ "src": "533:4:12",
927
+ "stateVariable": false,
928
+ "storageLocation": "default",
929
+ "typeDescriptions": {
930
+ "typeIdentifier": "t_uint256",
931
+ "typeString": "uint256"
932
+ },
933
+ "typeName": {
934
+ "id": 2829,
935
+ "name": "uint",
936
+ "nodeType": "ElementaryTypeName",
937
+ "src": "533:4:12",
938
+ "typeDescriptions": {
939
+ "typeIdentifier": "t_uint256",
940
+ "typeString": "uint256"
941
+ }
942
+ },
943
+ "value": null,
944
+ "visibility": "internal"
945
+ }
946
+ ],
947
+ "src": "532:6:12"
948
+ },
949
+ "scope": 2916,
950
+ "src": "488:51:12",
951
+ "stateMutability": "view",
952
+ "virtual": false,
953
+ "visibility": "external"
954
+ },
955
+ {
956
+ "body": null,
957
+ "documentation": null,
958
+ "functionSelector": "2f5ee99b",
959
+ "id": 2837,
960
+ "implemented": false,
961
+ "kind": "function",
962
+ "modifiers": [],
963
+ "name": "epochBegin",
964
+ "nodeType": "FunctionDefinition",
965
+ "overrides": null,
966
+ "parameters": {
967
+ "id": 2833,
968
+ "nodeType": "ParameterList",
969
+ "parameters": [],
970
+ "src": "561:2:12"
971
+ },
972
+ "returnParameters": {
973
+ "id": 2836,
974
+ "nodeType": "ParameterList",
975
+ "parameters": [
976
+ {
977
+ "constant": false,
978
+ "id": 2835,
979
+ "mutability": "mutable",
980
+ "name": "",
981
+ "nodeType": "VariableDeclaration",
982
+ "overrides": null,
983
+ "scope": 2837,
984
+ "src": "587:4:12",
985
+ "stateVariable": false,
986
+ "storageLocation": "default",
987
+ "typeDescriptions": {
988
+ "typeIdentifier": "t_uint256",
989
+ "typeString": "uint256"
990
+ },
991
+ "typeName": {
992
+ "id": 2834,
993
+ "name": "uint",
994
+ "nodeType": "ElementaryTypeName",
995
+ "src": "587:4:12",
996
+ "typeDescriptions": {
997
+ "typeIdentifier": "t_uint256",
998
+ "typeString": "uint256"
999
+ }
1000
+ },
1001
+ "value": null,
1002
+ "visibility": "internal"
1003
+ }
1004
+ ],
1005
+ "src": "586:6:12"
1006
+ },
1007
+ "scope": 2916,
1008
+ "src": "542:51:12",
1009
+ "stateMutability": "view",
1010
+ "virtual": false,
1011
+ "visibility": "external"
1012
+ },
1013
+ {
1014
+ "body": null,
1015
+ "documentation": null,
1016
+ "functionSelector": "d01b6717",
1017
+ "id": 2842,
1018
+ "implemented": false,
1019
+ "kind": "function",
1020
+ "modifiers": [],
1021
+ "name": "epochAmount",
1022
+ "nodeType": "FunctionDefinition",
1023
+ "overrides": null,
1024
+ "parameters": {
1025
+ "id": 2838,
1026
+ "nodeType": "ParameterList",
1027
+ "parameters": [],
1028
+ "src": "616:2:12"
1029
+ },
1030
+ "returnParameters": {
1031
+ "id": 2841,
1032
+ "nodeType": "ParameterList",
1033
+ "parameters": [
1034
+ {
1035
+ "constant": false,
1036
+ "id": 2840,
1037
+ "mutability": "mutable",
1038
+ "name": "",
1039
+ "nodeType": "VariableDeclaration",
1040
+ "overrides": null,
1041
+ "scope": 2842,
1042
+ "src": "642:4:12",
1043
+ "stateVariable": false,
1044
+ "storageLocation": "default",
1045
+ "typeDescriptions": {
1046
+ "typeIdentifier": "t_uint256",
1047
+ "typeString": "uint256"
1048
+ },
1049
+ "typeName": {
1050
+ "id": 2839,
1051
+ "name": "uint",
1052
+ "nodeType": "ElementaryTypeName",
1053
+ "src": "642:4:12",
1054
+ "typeDescriptions": {
1055
+ "typeIdentifier": "t_uint256",
1056
+ "typeString": "uint256"
1057
+ }
1058
+ },
1059
+ "value": null,
1060
+ "visibility": "internal"
1061
+ }
1062
+ ],
1063
+ "src": "641:6:12"
1064
+ },
1065
+ "scope": 2916,
1066
+ "src": "596:52:12",
1067
+ "stateMutability": "view",
1068
+ "virtual": false,
1069
+ "visibility": "external"
1070
+ },
1071
+ {
1072
+ "body": null,
1073
+ "documentation": null,
1074
+ "functionSelector": "c0463711",
1075
+ "id": 2847,
1076
+ "implemented": false,
1077
+ "kind": "function",
1078
+ "modifiers": [],
1079
+ "name": "lastUpdate",
1080
+ "nodeType": "FunctionDefinition",
1081
+ "overrides": null,
1082
+ "parameters": {
1083
+ "id": 2843,
1084
+ "nodeType": "ParameterList",
1085
+ "parameters": [],
1086
+ "src": "670:2:12"
1087
+ },
1088
+ "returnParameters": {
1089
+ "id": 2846,
1090
+ "nodeType": "ParameterList",
1091
+ "parameters": [
1092
+ {
1093
+ "constant": false,
1094
+ "id": 2845,
1095
+ "mutability": "mutable",
1096
+ "name": "",
1097
+ "nodeType": "VariableDeclaration",
1098
+ "overrides": null,
1099
+ "scope": 2847,
1100
+ "src": "696:4:12",
1101
+ "stateVariable": false,
1102
+ "storageLocation": "default",
1103
+ "typeDescriptions": {
1104
+ "typeIdentifier": "t_uint256",
1105
+ "typeString": "uint256"
1106
+ },
1107
+ "typeName": {
1108
+ "id": 2844,
1109
+ "name": "uint",
1110
+ "nodeType": "ElementaryTypeName",
1111
+ "src": "696:4:12",
1112
+ "typeDescriptions": {
1113
+ "typeIdentifier": "t_uint256",
1114
+ "typeString": "uint256"
1115
+ }
1116
+ },
1117
+ "value": null,
1118
+ "visibility": "internal"
1119
+ }
1120
+ ],
1121
+ "src": "695:6:12"
1122
+ },
1123
+ "scope": 2916,
1124
+ "src": "651:51:12",
1125
+ "stateMutability": "view",
1126
+ "virtual": false,
1127
+ "visibility": "external"
1128
+ },
1129
+ {
1130
+ "body": null,
1131
+ "documentation": null,
1132
+ "functionSelector": "b260187d",
1133
+ "id": 2852,
1134
+ "implemented": false,
1135
+ "kind": "function",
1136
+ "modifiers": [],
1137
+ "name": "updateShareIndex",
1138
+ "nodeType": "FunctionDefinition",
1139
+ "overrides": null,
1140
+ "parameters": {
1141
+ "id": 2848,
1142
+ "nodeType": "ParameterList",
1143
+ "parameters": [],
1144
+ "src": "733:2:12"
1145
+ },
1146
+ "returnParameters": {
1147
+ "id": 2851,
1148
+ "nodeType": "ParameterList",
1149
+ "parameters": [
1150
+ {
1151
+ "constant": false,
1152
+ "id": 2850,
1153
+ "mutability": "mutable",
1154
+ "name": "_shareIndex",
1155
+ "nodeType": "VariableDeclaration",
1156
+ "overrides": null,
1157
+ "scope": 2852,
1158
+ "src": "754:16:12",
1159
+ "stateVariable": false,
1160
+ "storageLocation": "default",
1161
+ "typeDescriptions": {
1162
+ "typeIdentifier": "t_uint256",
1163
+ "typeString": "uint256"
1164
+ },
1165
+ "typeName": {
1166
+ "id": 2849,
1167
+ "name": "uint",
1168
+ "nodeType": "ElementaryTypeName",
1169
+ "src": "754:4:12",
1170
+ "typeDescriptions": {
1171
+ "typeIdentifier": "t_uint256",
1172
+ "typeString": "uint256"
1173
+ }
1174
+ },
1175
+ "value": null,
1176
+ "visibility": "internal"
1177
+ }
1178
+ ],
1179
+ "src": "753:18:12"
1180
+ },
1181
+ "scope": 2916,
1182
+ "src": "708:64:12",
1183
+ "stateMutability": "nonpayable",
1184
+ "virtual": false,
1185
+ "visibility": "external"
1186
+ },
1187
+ {
1188
+ "body": null,
1189
+ "documentation": null,
1190
+ "functionSelector": "45c08718",
1191
+ "id": 2859,
1192
+ "implemented": false,
1193
+ "kind": "function",
1194
+ "modifiers": [],
1195
+ "name": "updateCredit",
1196
+ "nodeType": "FunctionDefinition",
1197
+ "overrides": null,
1198
+ "parameters": {
1199
+ "id": 2855,
1200
+ "nodeType": "ParameterList",
1201
+ "parameters": [
1202
+ {
1203
+ "constant": false,
1204
+ "id": 2854,
1205
+ "mutability": "mutable",
1206
+ "name": "account",
1207
+ "nodeType": "VariableDeclaration",
1208
+ "overrides": null,
1209
+ "scope": 2859,
1210
+ "src": "797:15:12",
1211
+ "stateVariable": false,
1212
+ "storageLocation": "default",
1213
+ "typeDescriptions": {
1214
+ "typeIdentifier": "t_address",
1215
+ "typeString": "address"
1216
+ },
1217
+ "typeName": {
1218
+ "id": 2853,
1219
+ "name": "address",
1220
+ "nodeType": "ElementaryTypeName",
1221
+ "src": "797:7:12",
1222
+ "stateMutability": "nonpayable",
1223
+ "typeDescriptions": {
1224
+ "typeIdentifier": "t_address",
1225
+ "typeString": "address"
1226
+ }
1227
+ },
1228
+ "value": null,
1229
+ "visibility": "internal"
1230
+ }
1231
+ ],
1232
+ "src": "796:17:12"
1233
+ },
1234
+ "returnParameters": {
1235
+ "id": 2858,
1236
+ "nodeType": "ParameterList",
1237
+ "parameters": [
1238
+ {
1239
+ "constant": false,
1240
+ "id": 2857,
1241
+ "mutability": "mutable",
1242
+ "name": "credit",
1243
+ "nodeType": "VariableDeclaration",
1244
+ "overrides": null,
1245
+ "scope": 2859,
1246
+ "src": "832:11:12",
1247
+ "stateVariable": false,
1248
+ "storageLocation": "default",
1249
+ "typeDescriptions": {
1250
+ "typeIdentifier": "t_uint256",
1251
+ "typeString": "uint256"
1252
+ },
1253
+ "typeName": {
1254
+ "id": 2856,
1255
+ "name": "uint",
1256
+ "nodeType": "ElementaryTypeName",
1257
+ "src": "832:4:12",
1258
+ "typeDescriptions": {
1259
+ "typeIdentifier": "t_uint256",
1260
+ "typeString": "uint256"
1261
+ }
1262
+ },
1263
+ "value": null,
1264
+ "visibility": "internal"
1265
+ }
1266
+ ],
1267
+ "src": "831:13:12"
1268
+ },
1269
+ "scope": 2916,
1270
+ "src": "775:70:12",
1271
+ "stateMutability": "nonpayable",
1272
+ "virtual": false,
1273
+ "visibility": "external"
1274
+ },
1275
+ {
1276
+ "body": null,
1277
+ "documentation": null,
1278
+ "functionSelector": "ea105ac7",
1279
+ "id": 2862,
1280
+ "implemented": false,
1281
+ "kind": "function",
1282
+ "modifiers": [],
1283
+ "name": "advance",
1284
+ "nodeType": "FunctionDefinition",
1285
+ "overrides": null,
1286
+ "parameters": {
1287
+ "id": 2860,
1288
+ "nodeType": "ParameterList",
1289
+ "parameters": [],
1290
+ "src": "864:2:12"
1291
+ },
1292
+ "returnParameters": {
1293
+ "id": 2861,
1294
+ "nodeType": "ParameterList",
1295
+ "parameters": [],
1296
+ "src": "875:0:12"
1297
+ },
1298
+ "scope": 2916,
1299
+ "src": "848:28:12",
1300
+ "stateMutability": "nonpayable",
1301
+ "virtual": false,
1302
+ "visibility": "external"
1303
+ },
1304
+ {
1305
+ "body": null,
1306
+ "documentation": null,
1307
+ "functionSelector": "4e71d92d",
1308
+ "id": 2867,
1309
+ "implemented": false,
1310
+ "kind": "function",
1311
+ "modifiers": [],
1312
+ "name": "claim",
1313
+ "nodeType": "FunctionDefinition",
1314
+ "overrides": null,
1315
+ "parameters": {
1316
+ "id": 2863,
1317
+ "nodeType": "ParameterList",
1318
+ "parameters": [],
1319
+ "src": "893:2:12"
1320
+ },
1321
+ "returnParameters": {
1322
+ "id": 2866,
1323
+ "nodeType": "ParameterList",
1324
+ "parameters": [
1325
+ {
1326
+ "constant": false,
1327
+ "id": 2865,
1328
+ "mutability": "mutable",
1329
+ "name": "amount",
1330
+ "nodeType": "VariableDeclaration",
1331
+ "overrides": null,
1332
+ "scope": 2867,
1333
+ "src": "914:11:12",
1334
+ "stateVariable": false,
1335
+ "storageLocation": "default",
1336
+ "typeDescriptions": {
1337
+ "typeIdentifier": "t_uint256",
1338
+ "typeString": "uint256"
1339
+ },
1340
+ "typeName": {
1341
+ "id": 2864,
1342
+ "name": "uint",
1343
+ "nodeType": "ElementaryTypeName",
1344
+ "src": "914:4:12",
1345
+ "typeDescriptions": {
1346
+ "typeIdentifier": "t_uint256",
1347
+ "typeString": "uint256"
1348
+ }
1349
+ },
1350
+ "value": null,
1351
+ "visibility": "internal"
1352
+ }
1353
+ ],
1354
+ "src": "913:13:12"
1355
+ },
1356
+ "scope": 2916,
1357
+ "src": "879:48:12",
1358
+ "stateMutability": "nonpayable",
1359
+ "virtual": false,
1360
+ "visibility": "external"
1361
+ },
1362
+ {
1363
+ "body": null,
1364
+ "documentation": null,
1365
+ "functionSelector": "7429d95a",
1366
+ "id": 2874,
1367
+ "implemented": false,
1368
+ "kind": "function",
1369
+ "modifiers": [],
1370
+ "name": "claimAccount",
1371
+ "nodeType": "FunctionDefinition",
1372
+ "overrides": null,
1373
+ "parameters": {
1374
+ "id": 2870,
1375
+ "nodeType": "ParameterList",
1376
+ "parameters": [
1377
+ {
1378
+ "constant": false,
1379
+ "id": 2869,
1380
+ "mutability": "mutable",
1381
+ "name": "account",
1382
+ "nodeType": "VariableDeclaration",
1383
+ "overrides": null,
1384
+ "scope": 2874,
1385
+ "src": "952:15:12",
1386
+ "stateVariable": false,
1387
+ "storageLocation": "default",
1388
+ "typeDescriptions": {
1389
+ "typeIdentifier": "t_address",
1390
+ "typeString": "address"
1391
+ },
1392
+ "typeName": {
1393
+ "id": 2868,
1394
+ "name": "address",
1395
+ "nodeType": "ElementaryTypeName",
1396
+ "src": "952:7:12",
1397
+ "stateMutability": "nonpayable",
1398
+ "typeDescriptions": {
1399
+ "typeIdentifier": "t_address",
1400
+ "typeString": "address"
1401
+ }
1402
+ },
1403
+ "value": null,
1404
+ "visibility": "internal"
1405
+ }
1406
+ ],
1407
+ "src": "951:17:12"
1408
+ },
1409
+ "returnParameters": {
1410
+ "id": 2873,
1411
+ "nodeType": "ParameterList",
1412
+ "parameters": [
1413
+ {
1414
+ "constant": false,
1415
+ "id": 2872,
1416
+ "mutability": "mutable",
1417
+ "name": "amount",
1418
+ "nodeType": "VariableDeclaration",
1419
+ "overrides": null,
1420
+ "scope": 2874,
1421
+ "src": "987:11:12",
1422
+ "stateVariable": false,
1423
+ "storageLocation": "default",
1424
+ "typeDescriptions": {
1425
+ "typeIdentifier": "t_uint256",
1426
+ "typeString": "uint256"
1427
+ },
1428
+ "typeName": {
1429
+ "id": 2871,
1430
+ "name": "uint",
1431
+ "nodeType": "ElementaryTypeName",
1432
+ "src": "987:4:12",
1433
+ "typeDescriptions": {
1434
+ "typeIdentifier": "t_uint256",
1435
+ "typeString": "uint256"
1436
+ }
1437
+ },
1438
+ "value": null,
1439
+ "visibility": "internal"
1440
+ }
1441
+ ],
1442
+ "src": "986:13:12"
1443
+ },
1444
+ "scope": 2916,
1445
+ "src": "930:70:12",
1446
+ "stateMutability": "nonpayable",
1447
+ "virtual": false,
1448
+ "visibility": "external"
1449
+ },
1450
+ {
1451
+ "body": null,
1452
+ "documentation": null,
1453
+ "functionSelector": "05285d7f",
1454
+ "id": 2883,
1455
+ "implemented": false,
1456
+ "kind": "function",
1457
+ "modifiers": [],
1458
+ "name": "trackBorrow",
1459
+ "nodeType": "FunctionDefinition",
1460
+ "overrides": null,
1461
+ "parameters": {
1462
+ "id": 2881,
1463
+ "nodeType": "ParameterList",
1464
+ "parameters": [
1465
+ {
1466
+ "constant": false,
1467
+ "id": 2876,
1468
+ "mutability": "mutable",
1469
+ "name": "borrower",
1470
+ "nodeType": "VariableDeclaration",
1471
+ "overrides": null,
1472
+ "scope": 2883,
1473
+ "src": "1024:16:12",
1474
+ "stateVariable": false,
1475
+ "storageLocation": "default",
1476
+ "typeDescriptions": {
1477
+ "typeIdentifier": "t_address",
1478
+ "typeString": "address"
1479
+ },
1480
+ "typeName": {
1481
+ "id": 2875,
1482
+ "name": "address",
1483
+ "nodeType": "ElementaryTypeName",
1484
+ "src": "1024:7:12",
1485
+ "stateMutability": "nonpayable",
1486
+ "typeDescriptions": {
1487
+ "typeIdentifier": "t_address",
1488
+ "typeString": "address"
1489
+ }
1490
+ },
1491
+ "value": null,
1492
+ "visibility": "internal"
1493
+ },
1494
+ {
1495
+ "constant": false,
1496
+ "id": 2878,
1497
+ "mutability": "mutable",
1498
+ "name": "borrowBalance",
1499
+ "nodeType": "VariableDeclaration",
1500
+ "overrides": null,
1501
+ "scope": 2883,
1502
+ "src": "1042:18:12",
1503
+ "stateVariable": false,
1504
+ "storageLocation": "default",
1505
+ "typeDescriptions": {
1506
+ "typeIdentifier": "t_uint256",
1507
+ "typeString": "uint256"
1508
+ },
1509
+ "typeName": {
1510
+ "id": 2877,
1511
+ "name": "uint",
1512
+ "nodeType": "ElementaryTypeName",
1513
+ "src": "1042:4:12",
1514
+ "typeDescriptions": {
1515
+ "typeIdentifier": "t_uint256",
1516
+ "typeString": "uint256"
1517
+ }
1518
+ },
1519
+ "value": null,
1520
+ "visibility": "internal"
1521
+ },
1522
+ {
1523
+ "constant": false,
1524
+ "id": 2880,
1525
+ "mutability": "mutable",
1526
+ "name": "borrowIndex",
1527
+ "nodeType": "VariableDeclaration",
1528
+ "overrides": null,
1529
+ "scope": 2883,
1530
+ "src": "1062:16:12",
1531
+ "stateVariable": false,
1532
+ "storageLocation": "default",
1533
+ "typeDescriptions": {
1534
+ "typeIdentifier": "t_uint256",
1535
+ "typeString": "uint256"
1536
+ },
1537
+ "typeName": {
1538
+ "id": 2879,
1539
+ "name": "uint",
1540
+ "nodeType": "ElementaryTypeName",
1541
+ "src": "1062:4:12",
1542
+ "typeDescriptions": {
1543
+ "typeIdentifier": "t_uint256",
1544
+ "typeString": "uint256"
1545
+ }
1546
+ },
1547
+ "value": null,
1548
+ "visibility": "internal"
1549
+ }
1550
+ ],
1551
+ "src": "1023:56:12"
1552
+ },
1553
+ "returnParameters": {
1554
+ "id": 2882,
1555
+ "nodeType": "ParameterList",
1556
+ "parameters": [],
1557
+ "src": "1088:0:12"
1558
+ },
1559
+ "scope": 2916,
1560
+ "src": "1003:86:12",
1561
+ "stateMutability": "nonpayable",
1562
+ "virtual": false,
1563
+ "visibility": "external"
1564
+ },
1565
+ {
1566
+ "anonymous": false,
1567
+ "documentation": null,
1568
+ "id": 2887,
1569
+ "name": "UpdateShareIndex",
1570
+ "nodeType": "EventDefinition",
1571
+ "parameters": {
1572
+ "id": 2886,
1573
+ "nodeType": "ParameterList",
1574
+ "parameters": [
1575
+ {
1576
+ "constant": false,
1577
+ "id": 2885,
1578
+ "indexed": false,
1579
+ "mutability": "mutable",
1580
+ "name": "shareIndex",
1581
+ "nodeType": "VariableDeclaration",
1582
+ "overrides": null,
1583
+ "scope": 2887,
1584
+ "src": "1118:15:12",
1585
+ "stateVariable": false,
1586
+ "storageLocation": "default",
1587
+ "typeDescriptions": {
1588
+ "typeIdentifier": "t_uint256",
1589
+ "typeString": "uint256"
1590
+ },
1591
+ "typeName": {
1592
+ "id": 2884,
1593
+ "name": "uint",
1594
+ "nodeType": "ElementaryTypeName",
1595
+ "src": "1118:4:12",
1596
+ "typeDescriptions": {
1597
+ "typeIdentifier": "t_uint256",
1598
+ "typeString": "uint256"
1599
+ }
1600
+ },
1601
+ "value": null,
1602
+ "visibility": "internal"
1603
+ }
1604
+ ],
1605
+ "src": "1117:17:12"
1606
+ },
1607
+ "src": "1095:40:12"
1608
+ },
1609
+ {
1610
+ "anonymous": false,
1611
+ "documentation": null,
1612
+ "id": 2895,
1613
+ "name": "UpdateCredit",
1614
+ "nodeType": "EventDefinition",
1615
+ "parameters": {
1616
+ "id": 2894,
1617
+ "nodeType": "ParameterList",
1618
+ "parameters": [
1619
+ {
1620
+ "constant": false,
1621
+ "id": 2889,
1622
+ "indexed": true,
1623
+ "mutability": "mutable",
1624
+ "name": "account",
1625
+ "nodeType": "VariableDeclaration",
1626
+ "overrides": null,
1627
+ "scope": 2895,
1628
+ "src": "1157:23:12",
1629
+ "stateVariable": false,
1630
+ "storageLocation": "default",
1631
+ "typeDescriptions": {
1632
+ "typeIdentifier": "t_address",
1633
+ "typeString": "address"
1634
+ },
1635
+ "typeName": {
1636
+ "id": 2888,
1637
+ "name": "address",
1638
+ "nodeType": "ElementaryTypeName",
1639
+ "src": "1157:7:12",
1640
+ "stateMutability": "nonpayable",
1641
+ "typeDescriptions": {
1642
+ "typeIdentifier": "t_address",
1643
+ "typeString": "address"
1644
+ }
1645
+ },
1646
+ "value": null,
1647
+ "visibility": "internal"
1648
+ },
1649
+ {
1650
+ "constant": false,
1651
+ "id": 2891,
1652
+ "indexed": false,
1653
+ "mutability": "mutable",
1654
+ "name": "lastShareIndex",
1655
+ "nodeType": "VariableDeclaration",
1656
+ "overrides": null,
1657
+ "scope": 2895,
1658
+ "src": "1182:19:12",
1659
+ "stateVariable": false,
1660
+ "storageLocation": "default",
1661
+ "typeDescriptions": {
1662
+ "typeIdentifier": "t_uint256",
1663
+ "typeString": "uint256"
1664
+ },
1665
+ "typeName": {
1666
+ "id": 2890,
1667
+ "name": "uint",
1668
+ "nodeType": "ElementaryTypeName",
1669
+ "src": "1182:4:12",
1670
+ "typeDescriptions": {
1671
+ "typeIdentifier": "t_uint256",
1672
+ "typeString": "uint256"
1673
+ }
1674
+ },
1675
+ "value": null,
1676
+ "visibility": "internal"
1677
+ },
1678
+ {
1679
+ "constant": false,
1680
+ "id": 2893,
1681
+ "indexed": false,
1682
+ "mutability": "mutable",
1683
+ "name": "credit",
1684
+ "nodeType": "VariableDeclaration",
1685
+ "overrides": null,
1686
+ "scope": 2895,
1687
+ "src": "1203:11:12",
1688
+ "stateVariable": false,
1689
+ "storageLocation": "default",
1690
+ "typeDescriptions": {
1691
+ "typeIdentifier": "t_uint256",
1692
+ "typeString": "uint256"
1693
+ },
1694
+ "typeName": {
1695
+ "id": 2892,
1696
+ "name": "uint",
1697
+ "nodeType": "ElementaryTypeName",
1698
+ "src": "1203:4:12",
1699
+ "typeDescriptions": {
1700
+ "typeIdentifier": "t_uint256",
1701
+ "typeString": "uint256"
1702
+ }
1703
+ },
1704
+ "value": null,
1705
+ "visibility": "internal"
1706
+ }
1707
+ ],
1708
+ "src": "1156:59:12"
1709
+ },
1710
+ "src": "1138:78:12"
1711
+ },
1712
+ {
1713
+ "anonymous": false,
1714
+ "documentation": null,
1715
+ "id": 2901,
1716
+ "name": "Claim",
1717
+ "nodeType": "EventDefinition",
1718
+ "parameters": {
1719
+ "id": 2900,
1720
+ "nodeType": "ParameterList",
1721
+ "parameters": [
1722
+ {
1723
+ "constant": false,
1724
+ "id": 2897,
1725
+ "indexed": true,
1726
+ "mutability": "mutable",
1727
+ "name": "account",
1728
+ "nodeType": "VariableDeclaration",
1729
+ "overrides": null,
1730
+ "scope": 2901,
1731
+ "src": "1231:23:12",
1732
+ "stateVariable": false,
1733
+ "storageLocation": "default",
1734
+ "typeDescriptions": {
1735
+ "typeIdentifier": "t_address",
1736
+ "typeString": "address"
1737
+ },
1738
+ "typeName": {
1739
+ "id": 2896,
1740
+ "name": "address",
1741
+ "nodeType": "ElementaryTypeName",
1742
+ "src": "1231:7:12",
1743
+ "stateMutability": "nonpayable",
1744
+ "typeDescriptions": {
1745
+ "typeIdentifier": "t_address",
1746
+ "typeString": "address"
1747
+ }
1748
+ },
1749
+ "value": null,
1750
+ "visibility": "internal"
1751
+ },
1752
+ {
1753
+ "constant": false,
1754
+ "id": 2899,
1755
+ "indexed": false,
1756
+ "mutability": "mutable",
1757
+ "name": "amount",
1758
+ "nodeType": "VariableDeclaration",
1759
+ "overrides": null,
1760
+ "scope": 2901,
1761
+ "src": "1256:11:12",
1762
+ "stateVariable": false,
1763
+ "storageLocation": "default",
1764
+ "typeDescriptions": {
1765
+ "typeIdentifier": "t_uint256",
1766
+ "typeString": "uint256"
1767
+ },
1768
+ "typeName": {
1769
+ "id": 2898,
1770
+ "name": "uint",
1771
+ "nodeType": "ElementaryTypeName",
1772
+ "src": "1256:4:12",
1773
+ "typeDescriptions": {
1774
+ "typeIdentifier": "t_uint256",
1775
+ "typeString": "uint256"
1776
+ }
1777
+ },
1778
+ "value": null,
1779
+ "visibility": "internal"
1780
+ }
1781
+ ],
1782
+ "src": "1230:38:12"
1783
+ },
1784
+ "src": "1219:50:12"
1785
+ },
1786
+ {
1787
+ "anonymous": false,
1788
+ "documentation": null,
1789
+ "id": 2909,
1790
+ "name": "EditRecipient",
1791
+ "nodeType": "EventDefinition",
1792
+ "parameters": {
1793
+ "id": 2908,
1794
+ "nodeType": "ParameterList",
1795
+ "parameters": [
1796
+ {
1797
+ "constant": false,
1798
+ "id": 2903,
1799
+ "indexed": true,
1800
+ "mutability": "mutable",
1801
+ "name": "account",
1802
+ "nodeType": "VariableDeclaration",
1803
+ "overrides": null,
1804
+ "scope": 2909,
1805
+ "src": "1292:23:12",
1806
+ "stateVariable": false,
1807
+ "storageLocation": "default",
1808
+ "typeDescriptions": {
1809
+ "typeIdentifier": "t_address",
1810
+ "typeString": "address"
1811
+ },
1812
+ "typeName": {
1813
+ "id": 2902,
1814
+ "name": "address",
1815
+ "nodeType": "ElementaryTypeName",
1816
+ "src": "1292:7:12",
1817
+ "stateMutability": "nonpayable",
1818
+ "typeDescriptions": {
1819
+ "typeIdentifier": "t_address",
1820
+ "typeString": "address"
1821
+ }
1822
+ },
1823
+ "value": null,
1824
+ "visibility": "internal"
1825
+ },
1826
+ {
1827
+ "constant": false,
1828
+ "id": 2905,
1829
+ "indexed": false,
1830
+ "mutability": "mutable",
1831
+ "name": "shares",
1832
+ "nodeType": "VariableDeclaration",
1833
+ "overrides": null,
1834
+ "scope": 2909,
1835
+ "src": "1317:11:12",
1836
+ "stateVariable": false,
1837
+ "storageLocation": "default",
1838
+ "typeDescriptions": {
1839
+ "typeIdentifier": "t_uint256",
1840
+ "typeString": "uint256"
1841
+ },
1842
+ "typeName": {
1843
+ "id": 2904,
1844
+ "name": "uint",
1845
+ "nodeType": "ElementaryTypeName",
1846
+ "src": "1317:4:12",
1847
+ "typeDescriptions": {
1848
+ "typeIdentifier": "t_uint256",
1849
+ "typeString": "uint256"
1850
+ }
1851
+ },
1852
+ "value": null,
1853
+ "visibility": "internal"
1854
+ },
1855
+ {
1856
+ "constant": false,
1857
+ "id": 2907,
1858
+ "indexed": false,
1859
+ "mutability": "mutable",
1860
+ "name": "totalShares",
1861
+ "nodeType": "VariableDeclaration",
1862
+ "overrides": null,
1863
+ "scope": 2909,
1864
+ "src": "1330:16:12",
1865
+ "stateVariable": false,
1866
+ "storageLocation": "default",
1867
+ "typeDescriptions": {
1868
+ "typeIdentifier": "t_uint256",
1869
+ "typeString": "uint256"
1870
+ },
1871
+ "typeName": {
1872
+ "id": 2906,
1873
+ "name": "uint",
1874
+ "nodeType": "ElementaryTypeName",
1875
+ "src": "1330:4:12",
1876
+ "typeDescriptions": {
1877
+ "typeIdentifier": "t_uint256",
1878
+ "typeString": "uint256"
1879
+ }
1880
+ },
1881
+ "value": null,
1882
+ "visibility": "internal"
1883
+ }
1884
+ ],
1885
+ "src": "1291:56:12"
1886
+ },
1887
+ "src": "1272:76:12"
1888
+ },
1889
+ {
1890
+ "anonymous": false,
1891
+ "documentation": null,
1892
+ "id": 2915,
1893
+ "name": "Advance",
1894
+ "nodeType": "EventDefinition",
1895
+ "parameters": {
1896
+ "id": 2914,
1897
+ "nodeType": "ParameterList",
1898
+ "parameters": [
1899
+ {
1900
+ "constant": false,
1901
+ "id": 2911,
1902
+ "indexed": false,
1903
+ "mutability": "mutable",
1904
+ "name": "epochBegin",
1905
+ "nodeType": "VariableDeclaration",
1906
+ "overrides": null,
1907
+ "scope": 2915,
1908
+ "src": "1365:15:12",
1909
+ "stateVariable": false,
1910
+ "storageLocation": "default",
1911
+ "typeDescriptions": {
1912
+ "typeIdentifier": "t_uint256",
1913
+ "typeString": "uint256"
1914
+ },
1915
+ "typeName": {
1916
+ "id": 2910,
1917
+ "name": "uint",
1918
+ "nodeType": "ElementaryTypeName",
1919
+ "src": "1365:4:12",
1920
+ "typeDescriptions": {
1921
+ "typeIdentifier": "t_uint256",
1922
+ "typeString": "uint256"
1923
+ }
1924
+ },
1925
+ "value": null,
1926
+ "visibility": "internal"
1927
+ },
1928
+ {
1929
+ "constant": false,
1930
+ "id": 2913,
1931
+ "indexed": false,
1932
+ "mutability": "mutable",
1933
+ "name": "epochAmount",
1934
+ "nodeType": "VariableDeclaration",
1935
+ "overrides": null,
1936
+ "scope": 2915,
1937
+ "src": "1382:16:12",
1938
+ "stateVariable": false,
1939
+ "storageLocation": "default",
1940
+ "typeDescriptions": {
1941
+ "typeIdentifier": "t_uint256",
1942
+ "typeString": "uint256"
1943
+ },
1944
+ "typeName": {
1945
+ "id": 2912,
1946
+ "name": "uint",
1947
+ "nodeType": "ElementaryTypeName",
1948
+ "src": "1382:4:12",
1949
+ "typeDescriptions": {
1950
+ "typeIdentifier": "t_uint256",
1951
+ "typeString": "uint256"
1952
+ }
1953
+ },
1954
+ "value": null,
1955
+ "visibility": "internal"
1956
+ }
1957
+ ],
1958
+ "src": "1364:35:12"
1959
+ },
1960
+ "src": "1351:49:12"
1961
+ }
1962
+ ],
1963
+ "scope": 2917,
1964
+ "src": "28:1375:12"
1965
+ }
1966
+ ],
1967
+ "src": "0:1403:12"
1968
+ },
1969
+ "legacyAST": {
1970
+ "absolutePath": "/C/Users/simor/Desktop/imx/contracts/interfaces/IFarmingPool.sol",
1971
+ "exportedSymbols": {
1972
+ "IFarmingPool": [
1973
+ 2916
1974
+ ]
1975
+ },
1976
+ "id": 2917,
1977
+ "nodeType": "SourceUnit",
1978
+ "nodes": [
1979
+ {
1980
+ "id": 2786,
1981
+ "literals": [
1982
+ "solidity",
1983
+ ">=",
1984
+ "0.5",
1985
+ ".0"
1986
+ ],
1987
+ "nodeType": "PragmaDirective",
1988
+ "src": "0:24:12"
1989
+ },
1990
+ {
1991
+ "abstract": false,
1992
+ "baseContracts": [],
1993
+ "contractDependencies": [],
1994
+ "contractKind": "interface",
1995
+ "documentation": null,
1996
+ "fullyImplemented": false,
1997
+ "id": 2916,
1998
+ "linearizedBaseContracts": [
1999
+ 2916
2000
+ ],
2001
+ "name": "IFarmingPool",
2002
+ "nodeType": "ContractDefinition",
2003
+ "nodes": [
2004
+ {
2005
+ "body": null,
2006
+ "documentation": null,
2007
+ "functionSelector": "0f08025f",
2008
+ "id": 2791,
2009
+ "implemented": false,
2010
+ "kind": "function",
2011
+ "modifiers": [],
2012
+ "name": "imx",
2013
+ "nodeType": "FunctionDefinition",
2014
+ "overrides": null,
2015
+ "parameters": {
2016
+ "id": 2787,
2017
+ "nodeType": "ParameterList",
2018
+ "parameters": [],
2019
+ "src": "67:2:12"
2020
+ },
2021
+ "returnParameters": {
2022
+ "id": 2790,
2023
+ "nodeType": "ParameterList",
2024
+ "parameters": [
2025
+ {
2026
+ "constant": false,
2027
+ "id": 2789,
2028
+ "mutability": "mutable",
2029
+ "name": "",
2030
+ "nodeType": "VariableDeclaration",
2031
+ "overrides": null,
2032
+ "scope": 2791,
2033
+ "src": "93:7:12",
2034
+ "stateVariable": false,
2035
+ "storageLocation": "default",
2036
+ "typeDescriptions": {
2037
+ "typeIdentifier": "t_address",
2038
+ "typeString": "address"
2039
+ },
2040
+ "typeName": {
2041
+ "id": 2788,
2042
+ "name": "address",
2043
+ "nodeType": "ElementaryTypeName",
2044
+ "src": "93:7:12",
2045
+ "stateMutability": "nonpayable",
2046
+ "typeDescriptions": {
2047
+ "typeIdentifier": "t_address",
2048
+ "typeString": "address"
2049
+ }
2050
+ },
2051
+ "value": null,
2052
+ "visibility": "internal"
2053
+ }
2054
+ ],
2055
+ "src": "92:9:12"
2056
+ },
2057
+ "scope": 2916,
2058
+ "src": "55:47:12",
2059
+ "stateMutability": "pure",
2060
+ "virtual": false,
2061
+ "visibility": "external"
2062
+ },
2063
+ {
2064
+ "body": null,
2065
+ "documentation": null,
2066
+ "functionSelector": "af38d757",
2067
+ "id": 2796,
2068
+ "implemented": false,
2069
+ "kind": "function",
2070
+ "modifiers": [],
2071
+ "name": "claimable",
2072
+ "nodeType": "FunctionDefinition",
2073
+ "overrides": null,
2074
+ "parameters": {
2075
+ "id": 2792,
2076
+ "nodeType": "ParameterList",
2077
+ "parameters": [],
2078
+ "src": "123:2:12"
2079
+ },
2080
+ "returnParameters": {
2081
+ "id": 2795,
2082
+ "nodeType": "ParameterList",
2083
+ "parameters": [
2084
+ {
2085
+ "constant": false,
2086
+ "id": 2794,
2087
+ "mutability": "mutable",
2088
+ "name": "",
2089
+ "nodeType": "VariableDeclaration",
2090
+ "overrides": null,
2091
+ "scope": 2796,
2092
+ "src": "149:7:12",
2093
+ "stateVariable": false,
2094
+ "storageLocation": "default",
2095
+ "typeDescriptions": {
2096
+ "typeIdentifier": "t_address",
2097
+ "typeString": "address"
2098
+ },
2099
+ "typeName": {
2100
+ "id": 2793,
2101
+ "name": "address",
2102
+ "nodeType": "ElementaryTypeName",
2103
+ "src": "149:7:12",
2104
+ "stateMutability": "nonpayable",
2105
+ "typeDescriptions": {
2106
+ "typeIdentifier": "t_address",
2107
+ "typeString": "address"
2108
+ }
2109
+ },
2110
+ "value": null,
2111
+ "visibility": "internal"
2112
+ }
2113
+ ],
2114
+ "src": "148:9:12"
2115
+ },
2116
+ "scope": 2916,
2117
+ "src": "105:53:12",
2118
+ "stateMutability": "pure",
2119
+ "virtual": false,
2120
+ "visibility": "external"
2121
+ },
2122
+ {
2123
+ "body": null,
2124
+ "documentation": null,
2125
+ "functionSelector": "e99a6ac7",
2126
+ "id": 2801,
2127
+ "implemented": false,
2128
+ "kind": "function",
2129
+ "modifiers": [],
2130
+ "name": "borrowable",
2131
+ "nodeType": "FunctionDefinition",
2132
+ "overrides": null,
2133
+ "parameters": {
2134
+ "id": 2797,
2135
+ "nodeType": "ParameterList",
2136
+ "parameters": [],
2137
+ "src": "180:2:12"
2138
+ },
2139
+ "returnParameters": {
2140
+ "id": 2800,
2141
+ "nodeType": "ParameterList",
2142
+ "parameters": [
2143
+ {
2144
+ "constant": false,
2145
+ "id": 2799,
2146
+ "mutability": "mutable",
2147
+ "name": "",
2148
+ "nodeType": "VariableDeclaration",
2149
+ "overrides": null,
2150
+ "scope": 2801,
2151
+ "src": "206:7:12",
2152
+ "stateVariable": false,
2153
+ "storageLocation": "default",
2154
+ "typeDescriptions": {
2155
+ "typeIdentifier": "t_address",
2156
+ "typeString": "address"
2157
+ },
2158
+ "typeName": {
2159
+ "id": 2798,
2160
+ "name": "address",
2161
+ "nodeType": "ElementaryTypeName",
2162
+ "src": "206:7:12",
2163
+ "stateMutability": "nonpayable",
2164
+ "typeDescriptions": {
2165
+ "typeIdentifier": "t_address",
2166
+ "typeString": "address"
2167
+ }
2168
+ },
2169
+ "value": null,
2170
+ "visibility": "internal"
2171
+ }
2172
+ ],
2173
+ "src": "205:9:12"
2174
+ },
2175
+ "scope": 2916,
2176
+ "src": "161:54:12",
2177
+ "stateMutability": "pure",
2178
+ "virtual": false,
2179
+ "visibility": "external"
2180
+ },
2181
+ {
2182
+ "body": null,
2183
+ "documentation": null,
2184
+ "functionSelector": "e29bc68b",
2185
+ "id": 2806,
2186
+ "implemented": false,
2187
+ "kind": "function",
2188
+ "modifiers": [],
2189
+ "name": "vestingBegin",
2190
+ "nodeType": "FunctionDefinition",
2191
+ "overrides": null,
2192
+ "parameters": {
2193
+ "id": 2802,
2194
+ "nodeType": "ParameterList",
2195
+ "parameters": [],
2196
+ "src": "239:2:12"
2197
+ },
2198
+ "returnParameters": {
2199
+ "id": 2805,
2200
+ "nodeType": "ParameterList",
2201
+ "parameters": [
2202
+ {
2203
+ "constant": false,
2204
+ "id": 2804,
2205
+ "mutability": "mutable",
2206
+ "name": "",
2207
+ "nodeType": "VariableDeclaration",
2208
+ "overrides": null,
2209
+ "scope": 2806,
2210
+ "src": "265:4:12",
2211
+ "stateVariable": false,
2212
+ "storageLocation": "default",
2213
+ "typeDescriptions": {
2214
+ "typeIdentifier": "t_uint256",
2215
+ "typeString": "uint256"
2216
+ },
2217
+ "typeName": {
2218
+ "id": 2803,
2219
+ "name": "uint",
2220
+ "nodeType": "ElementaryTypeName",
2221
+ "src": "265:4:12",
2222
+ "typeDescriptions": {
2223
+ "typeIdentifier": "t_uint256",
2224
+ "typeString": "uint256"
2225
+ }
2226
+ },
2227
+ "value": null,
2228
+ "visibility": "internal"
2229
+ }
2230
+ ],
2231
+ "src": "264:6:12"
2232
+ },
2233
+ "scope": 2916,
2234
+ "src": "218:53:12",
2235
+ "stateMutability": "pure",
2236
+ "virtual": false,
2237
+ "visibility": "external"
2238
+ },
2239
+ {
2240
+ "body": null,
2241
+ "documentation": null,
2242
+ "functionSelector": "d013666e",
2243
+ "id": 2811,
2244
+ "implemented": false,
2245
+ "kind": "function",
2246
+ "modifiers": [],
2247
+ "name": "segmentLength",
2248
+ "nodeType": "FunctionDefinition",
2249
+ "overrides": null,
2250
+ "parameters": {
2251
+ "id": 2807,
2252
+ "nodeType": "ParameterList",
2253
+ "parameters": [],
2254
+ "src": "296:2:12"
2255
+ },
2256
+ "returnParameters": {
2257
+ "id": 2810,
2258
+ "nodeType": "ParameterList",
2259
+ "parameters": [
2260
+ {
2261
+ "constant": false,
2262
+ "id": 2809,
2263
+ "mutability": "mutable",
2264
+ "name": "",
2265
+ "nodeType": "VariableDeclaration",
2266
+ "overrides": null,
2267
+ "scope": 2811,
2268
+ "src": "322:4:12",
2269
+ "stateVariable": false,
2270
+ "storageLocation": "default",
2271
+ "typeDescriptions": {
2272
+ "typeIdentifier": "t_uint256",
2273
+ "typeString": "uint256"
2274
+ },
2275
+ "typeName": {
2276
+ "id": 2808,
2277
+ "name": "uint",
2278
+ "nodeType": "ElementaryTypeName",
2279
+ "src": "322:4:12",
2280
+ "typeDescriptions": {
2281
+ "typeIdentifier": "t_uint256",
2282
+ "typeString": "uint256"
2283
+ }
2284
+ },
2285
+ "value": null,
2286
+ "visibility": "internal"
2287
+ }
2288
+ ],
2289
+ "src": "321:6:12"
2290
+ },
2291
+ "scope": 2916,
2292
+ "src": "274:54:12",
2293
+ "stateMutability": "pure",
2294
+ "virtual": false,
2295
+ "visibility": "external"
2296
+ },
2297
+ {
2298
+ "body": null,
2299
+ "documentation": null,
2300
+ "functionSelector": "eb820312",
2301
+ "id": 2822,
2302
+ "implemented": false,
2303
+ "kind": "function",
2304
+ "modifiers": [],
2305
+ "name": "recipients",
2306
+ "nodeType": "FunctionDefinition",
2307
+ "overrides": null,
2308
+ "parameters": {
2309
+ "id": 2814,
2310
+ "nodeType": "ParameterList",
2311
+ "parameters": [
2312
+ {
2313
+ "constant": false,
2314
+ "id": 2813,
2315
+ "mutability": "mutable",
2316
+ "name": "",
2317
+ "nodeType": "VariableDeclaration",
2318
+ "overrides": null,
2319
+ "scope": 2822,
2320
+ "src": "351:7:12",
2321
+ "stateVariable": false,
2322
+ "storageLocation": "default",
2323
+ "typeDescriptions": {
2324
+ "typeIdentifier": "t_address",
2325
+ "typeString": "address"
2326
+ },
2327
+ "typeName": {
2328
+ "id": 2812,
2329
+ "name": "address",
2330
+ "nodeType": "ElementaryTypeName",
2331
+ "src": "351:7:12",
2332
+ "stateMutability": "nonpayable",
2333
+ "typeDescriptions": {
2334
+ "typeIdentifier": "t_address",
2335
+ "typeString": "address"
2336
+ }
2337
+ },
2338
+ "value": null,
2339
+ "visibility": "internal"
2340
+ }
2341
+ ],
2342
+ "src": "350:9:12"
2343
+ },
2344
+ "returnParameters": {
2345
+ "id": 2821,
2346
+ "nodeType": "ParameterList",
2347
+ "parameters": [
2348
+ {
2349
+ "constant": false,
2350
+ "id": 2816,
2351
+ "mutability": "mutable",
2352
+ "name": "shares",
2353
+ "nodeType": "VariableDeclaration",
2354
+ "overrides": null,
2355
+ "scope": 2822,
2356
+ "src": "383:11:12",
2357
+ "stateVariable": false,
2358
+ "storageLocation": "default",
2359
+ "typeDescriptions": {
2360
+ "typeIdentifier": "t_uint256",
2361
+ "typeString": "uint256"
2362
+ },
2363
+ "typeName": {
2364
+ "id": 2815,
2365
+ "name": "uint",
2366
+ "nodeType": "ElementaryTypeName",
2367
+ "src": "383:4:12",
2368
+ "typeDescriptions": {
2369
+ "typeIdentifier": "t_uint256",
2370
+ "typeString": "uint256"
2371
+ }
2372
+ },
2373
+ "value": null,
2374
+ "visibility": "internal"
2375
+ },
2376
+ {
2377
+ "constant": false,
2378
+ "id": 2818,
2379
+ "mutability": "mutable",
2380
+ "name": "lastShareIndex",
2381
+ "nodeType": "VariableDeclaration",
2382
+ "overrides": null,
2383
+ "scope": 2822,
2384
+ "src": "396:19:12",
2385
+ "stateVariable": false,
2386
+ "storageLocation": "default",
2387
+ "typeDescriptions": {
2388
+ "typeIdentifier": "t_uint256",
2389
+ "typeString": "uint256"
2390
+ },
2391
+ "typeName": {
2392
+ "id": 2817,
2393
+ "name": "uint",
2394
+ "nodeType": "ElementaryTypeName",
2395
+ "src": "396:4:12",
2396
+ "typeDescriptions": {
2397
+ "typeIdentifier": "t_uint256",
2398
+ "typeString": "uint256"
2399
+ }
2400
+ },
2401
+ "value": null,
2402
+ "visibility": "internal"
2403
+ },
2404
+ {
2405
+ "constant": false,
2406
+ "id": 2820,
2407
+ "mutability": "mutable",
2408
+ "name": "credit",
2409
+ "nodeType": "VariableDeclaration",
2410
+ "overrides": null,
2411
+ "scope": 2822,
2412
+ "src": "417:11:12",
2413
+ "stateVariable": false,
2414
+ "storageLocation": "default",
2415
+ "typeDescriptions": {
2416
+ "typeIdentifier": "t_uint256",
2417
+ "typeString": "uint256"
2418
+ },
2419
+ "typeName": {
2420
+ "id": 2819,
2421
+ "name": "uint",
2422
+ "nodeType": "ElementaryTypeName",
2423
+ "src": "417:4:12",
2424
+ "typeDescriptions": {
2425
+ "typeIdentifier": "t_uint256",
2426
+ "typeString": "uint256"
2427
+ }
2428
+ },
2429
+ "value": null,
2430
+ "visibility": "internal"
2431
+ }
2432
+ ],
2433
+ "src": "382:47:12"
2434
+ },
2435
+ "scope": 2916,
2436
+ "src": "331:99:12",
2437
+ "stateMutability": "view",
2438
+ "virtual": false,
2439
+ "visibility": "external"
2440
+ },
2441
+ {
2442
+ "body": null,
2443
+ "documentation": null,
2444
+ "functionSelector": "3a98ef39",
2445
+ "id": 2827,
2446
+ "implemented": false,
2447
+ "kind": "function",
2448
+ "modifiers": [],
2449
+ "name": "totalShares",
2450
+ "nodeType": "FunctionDefinition",
2451
+ "overrides": null,
2452
+ "parameters": {
2453
+ "id": 2823,
2454
+ "nodeType": "ParameterList",
2455
+ "parameters": [],
2456
+ "src": "453:2:12"
2457
+ },
2458
+ "returnParameters": {
2459
+ "id": 2826,
2460
+ "nodeType": "ParameterList",
2461
+ "parameters": [
2462
+ {
2463
+ "constant": false,
2464
+ "id": 2825,
2465
+ "mutability": "mutable",
2466
+ "name": "",
2467
+ "nodeType": "VariableDeclaration",
2468
+ "overrides": null,
2469
+ "scope": 2827,
2470
+ "src": "479:4:12",
2471
+ "stateVariable": false,
2472
+ "storageLocation": "default",
2473
+ "typeDescriptions": {
2474
+ "typeIdentifier": "t_uint256",
2475
+ "typeString": "uint256"
2476
+ },
2477
+ "typeName": {
2478
+ "id": 2824,
2479
+ "name": "uint",
2480
+ "nodeType": "ElementaryTypeName",
2481
+ "src": "479:4:12",
2482
+ "typeDescriptions": {
2483
+ "typeIdentifier": "t_uint256",
2484
+ "typeString": "uint256"
2485
+ }
2486
+ },
2487
+ "value": null,
2488
+ "visibility": "internal"
2489
+ }
2490
+ ],
2491
+ "src": "478:6:12"
2492
+ },
2493
+ "scope": 2916,
2494
+ "src": "433:52:12",
2495
+ "stateMutability": "view",
2496
+ "virtual": false,
2497
+ "visibility": "external"
2498
+ },
2499
+ {
2500
+ "body": null,
2501
+ "documentation": null,
2502
+ "functionSelector": "c56ad1ad",
2503
+ "id": 2832,
2504
+ "implemented": false,
2505
+ "kind": "function",
2506
+ "modifiers": [],
2507
+ "name": "shareIndex",
2508
+ "nodeType": "FunctionDefinition",
2509
+ "overrides": null,
2510
+ "parameters": {
2511
+ "id": 2828,
2512
+ "nodeType": "ParameterList",
2513
+ "parameters": [],
2514
+ "src": "507:2:12"
2515
+ },
2516
+ "returnParameters": {
2517
+ "id": 2831,
2518
+ "nodeType": "ParameterList",
2519
+ "parameters": [
2520
+ {
2521
+ "constant": false,
2522
+ "id": 2830,
2523
+ "mutability": "mutable",
2524
+ "name": "",
2525
+ "nodeType": "VariableDeclaration",
2526
+ "overrides": null,
2527
+ "scope": 2832,
2528
+ "src": "533:4:12",
2529
+ "stateVariable": false,
2530
+ "storageLocation": "default",
2531
+ "typeDescriptions": {
2532
+ "typeIdentifier": "t_uint256",
2533
+ "typeString": "uint256"
2534
+ },
2535
+ "typeName": {
2536
+ "id": 2829,
2537
+ "name": "uint",
2538
+ "nodeType": "ElementaryTypeName",
2539
+ "src": "533:4:12",
2540
+ "typeDescriptions": {
2541
+ "typeIdentifier": "t_uint256",
2542
+ "typeString": "uint256"
2543
+ }
2544
+ },
2545
+ "value": null,
2546
+ "visibility": "internal"
2547
+ }
2548
+ ],
2549
+ "src": "532:6:12"
2550
+ },
2551
+ "scope": 2916,
2552
+ "src": "488:51:12",
2553
+ "stateMutability": "view",
2554
+ "virtual": false,
2555
+ "visibility": "external"
2556
+ },
2557
+ {
2558
+ "body": null,
2559
+ "documentation": null,
2560
+ "functionSelector": "2f5ee99b",
2561
+ "id": 2837,
2562
+ "implemented": false,
2563
+ "kind": "function",
2564
+ "modifiers": [],
2565
+ "name": "epochBegin",
2566
+ "nodeType": "FunctionDefinition",
2567
+ "overrides": null,
2568
+ "parameters": {
2569
+ "id": 2833,
2570
+ "nodeType": "ParameterList",
2571
+ "parameters": [],
2572
+ "src": "561:2:12"
2573
+ },
2574
+ "returnParameters": {
2575
+ "id": 2836,
2576
+ "nodeType": "ParameterList",
2577
+ "parameters": [
2578
+ {
2579
+ "constant": false,
2580
+ "id": 2835,
2581
+ "mutability": "mutable",
2582
+ "name": "",
2583
+ "nodeType": "VariableDeclaration",
2584
+ "overrides": null,
2585
+ "scope": 2837,
2586
+ "src": "587:4:12",
2587
+ "stateVariable": false,
2588
+ "storageLocation": "default",
2589
+ "typeDescriptions": {
2590
+ "typeIdentifier": "t_uint256",
2591
+ "typeString": "uint256"
2592
+ },
2593
+ "typeName": {
2594
+ "id": 2834,
2595
+ "name": "uint",
2596
+ "nodeType": "ElementaryTypeName",
2597
+ "src": "587:4:12",
2598
+ "typeDescriptions": {
2599
+ "typeIdentifier": "t_uint256",
2600
+ "typeString": "uint256"
2601
+ }
2602
+ },
2603
+ "value": null,
2604
+ "visibility": "internal"
2605
+ }
2606
+ ],
2607
+ "src": "586:6:12"
2608
+ },
2609
+ "scope": 2916,
2610
+ "src": "542:51:12",
2611
+ "stateMutability": "view",
2612
+ "virtual": false,
2613
+ "visibility": "external"
2614
+ },
2615
+ {
2616
+ "body": null,
2617
+ "documentation": null,
2618
+ "functionSelector": "d01b6717",
2619
+ "id": 2842,
2620
+ "implemented": false,
2621
+ "kind": "function",
2622
+ "modifiers": [],
2623
+ "name": "epochAmount",
2624
+ "nodeType": "FunctionDefinition",
2625
+ "overrides": null,
2626
+ "parameters": {
2627
+ "id": 2838,
2628
+ "nodeType": "ParameterList",
2629
+ "parameters": [],
2630
+ "src": "616:2:12"
2631
+ },
2632
+ "returnParameters": {
2633
+ "id": 2841,
2634
+ "nodeType": "ParameterList",
2635
+ "parameters": [
2636
+ {
2637
+ "constant": false,
2638
+ "id": 2840,
2639
+ "mutability": "mutable",
2640
+ "name": "",
2641
+ "nodeType": "VariableDeclaration",
2642
+ "overrides": null,
2643
+ "scope": 2842,
2644
+ "src": "642:4:12",
2645
+ "stateVariable": false,
2646
+ "storageLocation": "default",
2647
+ "typeDescriptions": {
2648
+ "typeIdentifier": "t_uint256",
2649
+ "typeString": "uint256"
2650
+ },
2651
+ "typeName": {
2652
+ "id": 2839,
2653
+ "name": "uint",
2654
+ "nodeType": "ElementaryTypeName",
2655
+ "src": "642:4:12",
2656
+ "typeDescriptions": {
2657
+ "typeIdentifier": "t_uint256",
2658
+ "typeString": "uint256"
2659
+ }
2660
+ },
2661
+ "value": null,
2662
+ "visibility": "internal"
2663
+ }
2664
+ ],
2665
+ "src": "641:6:12"
2666
+ },
2667
+ "scope": 2916,
2668
+ "src": "596:52:12",
2669
+ "stateMutability": "view",
2670
+ "virtual": false,
2671
+ "visibility": "external"
2672
+ },
2673
+ {
2674
+ "body": null,
2675
+ "documentation": null,
2676
+ "functionSelector": "c0463711",
2677
+ "id": 2847,
2678
+ "implemented": false,
2679
+ "kind": "function",
2680
+ "modifiers": [],
2681
+ "name": "lastUpdate",
2682
+ "nodeType": "FunctionDefinition",
2683
+ "overrides": null,
2684
+ "parameters": {
2685
+ "id": 2843,
2686
+ "nodeType": "ParameterList",
2687
+ "parameters": [],
2688
+ "src": "670:2:12"
2689
+ },
2690
+ "returnParameters": {
2691
+ "id": 2846,
2692
+ "nodeType": "ParameterList",
2693
+ "parameters": [
2694
+ {
2695
+ "constant": false,
2696
+ "id": 2845,
2697
+ "mutability": "mutable",
2698
+ "name": "",
2699
+ "nodeType": "VariableDeclaration",
2700
+ "overrides": null,
2701
+ "scope": 2847,
2702
+ "src": "696:4:12",
2703
+ "stateVariable": false,
2704
+ "storageLocation": "default",
2705
+ "typeDescriptions": {
2706
+ "typeIdentifier": "t_uint256",
2707
+ "typeString": "uint256"
2708
+ },
2709
+ "typeName": {
2710
+ "id": 2844,
2711
+ "name": "uint",
2712
+ "nodeType": "ElementaryTypeName",
2713
+ "src": "696:4:12",
2714
+ "typeDescriptions": {
2715
+ "typeIdentifier": "t_uint256",
2716
+ "typeString": "uint256"
2717
+ }
2718
+ },
2719
+ "value": null,
2720
+ "visibility": "internal"
2721
+ }
2722
+ ],
2723
+ "src": "695:6:12"
2724
+ },
2725
+ "scope": 2916,
2726
+ "src": "651:51:12",
2727
+ "stateMutability": "view",
2728
+ "virtual": false,
2729
+ "visibility": "external"
2730
+ },
2731
+ {
2732
+ "body": null,
2733
+ "documentation": null,
2734
+ "functionSelector": "b260187d",
2735
+ "id": 2852,
2736
+ "implemented": false,
2737
+ "kind": "function",
2738
+ "modifiers": [],
2739
+ "name": "updateShareIndex",
2740
+ "nodeType": "FunctionDefinition",
2741
+ "overrides": null,
2742
+ "parameters": {
2743
+ "id": 2848,
2744
+ "nodeType": "ParameterList",
2745
+ "parameters": [],
2746
+ "src": "733:2:12"
2747
+ },
2748
+ "returnParameters": {
2749
+ "id": 2851,
2750
+ "nodeType": "ParameterList",
2751
+ "parameters": [
2752
+ {
2753
+ "constant": false,
2754
+ "id": 2850,
2755
+ "mutability": "mutable",
2756
+ "name": "_shareIndex",
2757
+ "nodeType": "VariableDeclaration",
2758
+ "overrides": null,
2759
+ "scope": 2852,
2760
+ "src": "754:16:12",
2761
+ "stateVariable": false,
2762
+ "storageLocation": "default",
2763
+ "typeDescriptions": {
2764
+ "typeIdentifier": "t_uint256",
2765
+ "typeString": "uint256"
2766
+ },
2767
+ "typeName": {
2768
+ "id": 2849,
2769
+ "name": "uint",
2770
+ "nodeType": "ElementaryTypeName",
2771
+ "src": "754:4:12",
2772
+ "typeDescriptions": {
2773
+ "typeIdentifier": "t_uint256",
2774
+ "typeString": "uint256"
2775
+ }
2776
+ },
2777
+ "value": null,
2778
+ "visibility": "internal"
2779
+ }
2780
+ ],
2781
+ "src": "753:18:12"
2782
+ },
2783
+ "scope": 2916,
2784
+ "src": "708:64:12",
2785
+ "stateMutability": "nonpayable",
2786
+ "virtual": false,
2787
+ "visibility": "external"
2788
+ },
2789
+ {
2790
+ "body": null,
2791
+ "documentation": null,
2792
+ "functionSelector": "45c08718",
2793
+ "id": 2859,
2794
+ "implemented": false,
2795
+ "kind": "function",
2796
+ "modifiers": [],
2797
+ "name": "updateCredit",
2798
+ "nodeType": "FunctionDefinition",
2799
+ "overrides": null,
2800
+ "parameters": {
2801
+ "id": 2855,
2802
+ "nodeType": "ParameterList",
2803
+ "parameters": [
2804
+ {
2805
+ "constant": false,
2806
+ "id": 2854,
2807
+ "mutability": "mutable",
2808
+ "name": "account",
2809
+ "nodeType": "VariableDeclaration",
2810
+ "overrides": null,
2811
+ "scope": 2859,
2812
+ "src": "797:15:12",
2813
+ "stateVariable": false,
2814
+ "storageLocation": "default",
2815
+ "typeDescriptions": {
2816
+ "typeIdentifier": "t_address",
2817
+ "typeString": "address"
2818
+ },
2819
+ "typeName": {
2820
+ "id": 2853,
2821
+ "name": "address",
2822
+ "nodeType": "ElementaryTypeName",
2823
+ "src": "797:7:12",
2824
+ "stateMutability": "nonpayable",
2825
+ "typeDescriptions": {
2826
+ "typeIdentifier": "t_address",
2827
+ "typeString": "address"
2828
+ }
2829
+ },
2830
+ "value": null,
2831
+ "visibility": "internal"
2832
+ }
2833
+ ],
2834
+ "src": "796:17:12"
2835
+ },
2836
+ "returnParameters": {
2837
+ "id": 2858,
2838
+ "nodeType": "ParameterList",
2839
+ "parameters": [
2840
+ {
2841
+ "constant": false,
2842
+ "id": 2857,
2843
+ "mutability": "mutable",
2844
+ "name": "credit",
2845
+ "nodeType": "VariableDeclaration",
2846
+ "overrides": null,
2847
+ "scope": 2859,
2848
+ "src": "832:11:12",
2849
+ "stateVariable": false,
2850
+ "storageLocation": "default",
2851
+ "typeDescriptions": {
2852
+ "typeIdentifier": "t_uint256",
2853
+ "typeString": "uint256"
2854
+ },
2855
+ "typeName": {
2856
+ "id": 2856,
2857
+ "name": "uint",
2858
+ "nodeType": "ElementaryTypeName",
2859
+ "src": "832:4:12",
2860
+ "typeDescriptions": {
2861
+ "typeIdentifier": "t_uint256",
2862
+ "typeString": "uint256"
2863
+ }
2864
+ },
2865
+ "value": null,
2866
+ "visibility": "internal"
2867
+ }
2868
+ ],
2869
+ "src": "831:13:12"
2870
+ },
2871
+ "scope": 2916,
2872
+ "src": "775:70:12",
2873
+ "stateMutability": "nonpayable",
2874
+ "virtual": false,
2875
+ "visibility": "external"
2876
+ },
2877
+ {
2878
+ "body": null,
2879
+ "documentation": null,
2880
+ "functionSelector": "ea105ac7",
2881
+ "id": 2862,
2882
+ "implemented": false,
2883
+ "kind": "function",
2884
+ "modifiers": [],
2885
+ "name": "advance",
2886
+ "nodeType": "FunctionDefinition",
2887
+ "overrides": null,
2888
+ "parameters": {
2889
+ "id": 2860,
2890
+ "nodeType": "ParameterList",
2891
+ "parameters": [],
2892
+ "src": "864:2:12"
2893
+ },
2894
+ "returnParameters": {
2895
+ "id": 2861,
2896
+ "nodeType": "ParameterList",
2897
+ "parameters": [],
2898
+ "src": "875:0:12"
2899
+ },
2900
+ "scope": 2916,
2901
+ "src": "848:28:12",
2902
+ "stateMutability": "nonpayable",
2903
+ "virtual": false,
2904
+ "visibility": "external"
2905
+ },
2906
+ {
2907
+ "body": null,
2908
+ "documentation": null,
2909
+ "functionSelector": "4e71d92d",
2910
+ "id": 2867,
2911
+ "implemented": false,
2912
+ "kind": "function",
2913
+ "modifiers": [],
2914
+ "name": "claim",
2915
+ "nodeType": "FunctionDefinition",
2916
+ "overrides": null,
2917
+ "parameters": {
2918
+ "id": 2863,
2919
+ "nodeType": "ParameterList",
2920
+ "parameters": [],
2921
+ "src": "893:2:12"
2922
+ },
2923
+ "returnParameters": {
2924
+ "id": 2866,
2925
+ "nodeType": "ParameterList",
2926
+ "parameters": [
2927
+ {
2928
+ "constant": false,
2929
+ "id": 2865,
2930
+ "mutability": "mutable",
2931
+ "name": "amount",
2932
+ "nodeType": "VariableDeclaration",
2933
+ "overrides": null,
2934
+ "scope": 2867,
2935
+ "src": "914:11:12",
2936
+ "stateVariable": false,
2937
+ "storageLocation": "default",
2938
+ "typeDescriptions": {
2939
+ "typeIdentifier": "t_uint256",
2940
+ "typeString": "uint256"
2941
+ },
2942
+ "typeName": {
2943
+ "id": 2864,
2944
+ "name": "uint",
2945
+ "nodeType": "ElementaryTypeName",
2946
+ "src": "914:4:12",
2947
+ "typeDescriptions": {
2948
+ "typeIdentifier": "t_uint256",
2949
+ "typeString": "uint256"
2950
+ }
2951
+ },
2952
+ "value": null,
2953
+ "visibility": "internal"
2954
+ }
2955
+ ],
2956
+ "src": "913:13:12"
2957
+ },
2958
+ "scope": 2916,
2959
+ "src": "879:48:12",
2960
+ "stateMutability": "nonpayable",
2961
+ "virtual": false,
2962
+ "visibility": "external"
2963
+ },
2964
+ {
2965
+ "body": null,
2966
+ "documentation": null,
2967
+ "functionSelector": "7429d95a",
2968
+ "id": 2874,
2969
+ "implemented": false,
2970
+ "kind": "function",
2971
+ "modifiers": [],
2972
+ "name": "claimAccount",
2973
+ "nodeType": "FunctionDefinition",
2974
+ "overrides": null,
2975
+ "parameters": {
2976
+ "id": 2870,
2977
+ "nodeType": "ParameterList",
2978
+ "parameters": [
2979
+ {
2980
+ "constant": false,
2981
+ "id": 2869,
2982
+ "mutability": "mutable",
2983
+ "name": "account",
2984
+ "nodeType": "VariableDeclaration",
2985
+ "overrides": null,
2986
+ "scope": 2874,
2987
+ "src": "952:15:12",
2988
+ "stateVariable": false,
2989
+ "storageLocation": "default",
2990
+ "typeDescriptions": {
2991
+ "typeIdentifier": "t_address",
2992
+ "typeString": "address"
2993
+ },
2994
+ "typeName": {
2995
+ "id": 2868,
2996
+ "name": "address",
2997
+ "nodeType": "ElementaryTypeName",
2998
+ "src": "952:7:12",
2999
+ "stateMutability": "nonpayable",
3000
+ "typeDescriptions": {
3001
+ "typeIdentifier": "t_address",
3002
+ "typeString": "address"
3003
+ }
3004
+ },
3005
+ "value": null,
3006
+ "visibility": "internal"
3007
+ }
3008
+ ],
3009
+ "src": "951:17:12"
3010
+ },
3011
+ "returnParameters": {
3012
+ "id": 2873,
3013
+ "nodeType": "ParameterList",
3014
+ "parameters": [
3015
+ {
3016
+ "constant": false,
3017
+ "id": 2872,
3018
+ "mutability": "mutable",
3019
+ "name": "amount",
3020
+ "nodeType": "VariableDeclaration",
3021
+ "overrides": null,
3022
+ "scope": 2874,
3023
+ "src": "987:11:12",
3024
+ "stateVariable": false,
3025
+ "storageLocation": "default",
3026
+ "typeDescriptions": {
3027
+ "typeIdentifier": "t_uint256",
3028
+ "typeString": "uint256"
3029
+ },
3030
+ "typeName": {
3031
+ "id": 2871,
3032
+ "name": "uint",
3033
+ "nodeType": "ElementaryTypeName",
3034
+ "src": "987:4:12",
3035
+ "typeDescriptions": {
3036
+ "typeIdentifier": "t_uint256",
3037
+ "typeString": "uint256"
3038
+ }
3039
+ },
3040
+ "value": null,
3041
+ "visibility": "internal"
3042
+ }
3043
+ ],
3044
+ "src": "986:13:12"
3045
+ },
3046
+ "scope": 2916,
3047
+ "src": "930:70:12",
3048
+ "stateMutability": "nonpayable",
3049
+ "virtual": false,
3050
+ "visibility": "external"
3051
+ },
3052
+ {
3053
+ "body": null,
3054
+ "documentation": null,
3055
+ "functionSelector": "05285d7f",
3056
+ "id": 2883,
3057
+ "implemented": false,
3058
+ "kind": "function",
3059
+ "modifiers": [],
3060
+ "name": "trackBorrow",
3061
+ "nodeType": "FunctionDefinition",
3062
+ "overrides": null,
3063
+ "parameters": {
3064
+ "id": 2881,
3065
+ "nodeType": "ParameterList",
3066
+ "parameters": [
3067
+ {
3068
+ "constant": false,
3069
+ "id": 2876,
3070
+ "mutability": "mutable",
3071
+ "name": "borrower",
3072
+ "nodeType": "VariableDeclaration",
3073
+ "overrides": null,
3074
+ "scope": 2883,
3075
+ "src": "1024:16:12",
3076
+ "stateVariable": false,
3077
+ "storageLocation": "default",
3078
+ "typeDescriptions": {
3079
+ "typeIdentifier": "t_address",
3080
+ "typeString": "address"
3081
+ },
3082
+ "typeName": {
3083
+ "id": 2875,
3084
+ "name": "address",
3085
+ "nodeType": "ElementaryTypeName",
3086
+ "src": "1024:7:12",
3087
+ "stateMutability": "nonpayable",
3088
+ "typeDescriptions": {
3089
+ "typeIdentifier": "t_address",
3090
+ "typeString": "address"
3091
+ }
3092
+ },
3093
+ "value": null,
3094
+ "visibility": "internal"
3095
+ },
3096
+ {
3097
+ "constant": false,
3098
+ "id": 2878,
3099
+ "mutability": "mutable",
3100
+ "name": "borrowBalance",
3101
+ "nodeType": "VariableDeclaration",
3102
+ "overrides": null,
3103
+ "scope": 2883,
3104
+ "src": "1042:18:12",
3105
+ "stateVariable": false,
3106
+ "storageLocation": "default",
3107
+ "typeDescriptions": {
3108
+ "typeIdentifier": "t_uint256",
3109
+ "typeString": "uint256"
3110
+ },
3111
+ "typeName": {
3112
+ "id": 2877,
3113
+ "name": "uint",
3114
+ "nodeType": "ElementaryTypeName",
3115
+ "src": "1042:4:12",
3116
+ "typeDescriptions": {
3117
+ "typeIdentifier": "t_uint256",
3118
+ "typeString": "uint256"
3119
+ }
3120
+ },
3121
+ "value": null,
3122
+ "visibility": "internal"
3123
+ },
3124
+ {
3125
+ "constant": false,
3126
+ "id": 2880,
3127
+ "mutability": "mutable",
3128
+ "name": "borrowIndex",
3129
+ "nodeType": "VariableDeclaration",
3130
+ "overrides": null,
3131
+ "scope": 2883,
3132
+ "src": "1062:16:12",
3133
+ "stateVariable": false,
3134
+ "storageLocation": "default",
3135
+ "typeDescriptions": {
3136
+ "typeIdentifier": "t_uint256",
3137
+ "typeString": "uint256"
3138
+ },
3139
+ "typeName": {
3140
+ "id": 2879,
3141
+ "name": "uint",
3142
+ "nodeType": "ElementaryTypeName",
3143
+ "src": "1062:4:12",
3144
+ "typeDescriptions": {
3145
+ "typeIdentifier": "t_uint256",
3146
+ "typeString": "uint256"
3147
+ }
3148
+ },
3149
+ "value": null,
3150
+ "visibility": "internal"
3151
+ }
3152
+ ],
3153
+ "src": "1023:56:12"
3154
+ },
3155
+ "returnParameters": {
3156
+ "id": 2882,
3157
+ "nodeType": "ParameterList",
3158
+ "parameters": [],
3159
+ "src": "1088:0:12"
3160
+ },
3161
+ "scope": 2916,
3162
+ "src": "1003:86:12",
3163
+ "stateMutability": "nonpayable",
3164
+ "virtual": false,
3165
+ "visibility": "external"
3166
+ },
3167
+ {
3168
+ "anonymous": false,
3169
+ "documentation": null,
3170
+ "id": 2887,
3171
+ "name": "UpdateShareIndex",
3172
+ "nodeType": "EventDefinition",
3173
+ "parameters": {
3174
+ "id": 2886,
3175
+ "nodeType": "ParameterList",
3176
+ "parameters": [
3177
+ {
3178
+ "constant": false,
3179
+ "id": 2885,
3180
+ "indexed": false,
3181
+ "mutability": "mutable",
3182
+ "name": "shareIndex",
3183
+ "nodeType": "VariableDeclaration",
3184
+ "overrides": null,
3185
+ "scope": 2887,
3186
+ "src": "1118:15:12",
3187
+ "stateVariable": false,
3188
+ "storageLocation": "default",
3189
+ "typeDescriptions": {
3190
+ "typeIdentifier": "t_uint256",
3191
+ "typeString": "uint256"
3192
+ },
3193
+ "typeName": {
3194
+ "id": 2884,
3195
+ "name": "uint",
3196
+ "nodeType": "ElementaryTypeName",
3197
+ "src": "1118:4:12",
3198
+ "typeDescriptions": {
3199
+ "typeIdentifier": "t_uint256",
3200
+ "typeString": "uint256"
3201
+ }
3202
+ },
3203
+ "value": null,
3204
+ "visibility": "internal"
3205
+ }
3206
+ ],
3207
+ "src": "1117:17:12"
3208
+ },
3209
+ "src": "1095:40:12"
3210
+ },
3211
+ {
3212
+ "anonymous": false,
3213
+ "documentation": null,
3214
+ "id": 2895,
3215
+ "name": "UpdateCredit",
3216
+ "nodeType": "EventDefinition",
3217
+ "parameters": {
3218
+ "id": 2894,
3219
+ "nodeType": "ParameterList",
3220
+ "parameters": [
3221
+ {
3222
+ "constant": false,
3223
+ "id": 2889,
3224
+ "indexed": true,
3225
+ "mutability": "mutable",
3226
+ "name": "account",
3227
+ "nodeType": "VariableDeclaration",
3228
+ "overrides": null,
3229
+ "scope": 2895,
3230
+ "src": "1157:23:12",
3231
+ "stateVariable": false,
3232
+ "storageLocation": "default",
3233
+ "typeDescriptions": {
3234
+ "typeIdentifier": "t_address",
3235
+ "typeString": "address"
3236
+ },
3237
+ "typeName": {
3238
+ "id": 2888,
3239
+ "name": "address",
3240
+ "nodeType": "ElementaryTypeName",
3241
+ "src": "1157:7:12",
3242
+ "stateMutability": "nonpayable",
3243
+ "typeDescriptions": {
3244
+ "typeIdentifier": "t_address",
3245
+ "typeString": "address"
3246
+ }
3247
+ },
3248
+ "value": null,
3249
+ "visibility": "internal"
3250
+ },
3251
+ {
3252
+ "constant": false,
3253
+ "id": 2891,
3254
+ "indexed": false,
3255
+ "mutability": "mutable",
3256
+ "name": "lastShareIndex",
3257
+ "nodeType": "VariableDeclaration",
3258
+ "overrides": null,
3259
+ "scope": 2895,
3260
+ "src": "1182:19:12",
3261
+ "stateVariable": false,
3262
+ "storageLocation": "default",
3263
+ "typeDescriptions": {
3264
+ "typeIdentifier": "t_uint256",
3265
+ "typeString": "uint256"
3266
+ },
3267
+ "typeName": {
3268
+ "id": 2890,
3269
+ "name": "uint",
3270
+ "nodeType": "ElementaryTypeName",
3271
+ "src": "1182:4:12",
3272
+ "typeDescriptions": {
3273
+ "typeIdentifier": "t_uint256",
3274
+ "typeString": "uint256"
3275
+ }
3276
+ },
3277
+ "value": null,
3278
+ "visibility": "internal"
3279
+ },
3280
+ {
3281
+ "constant": false,
3282
+ "id": 2893,
3283
+ "indexed": false,
3284
+ "mutability": "mutable",
3285
+ "name": "credit",
3286
+ "nodeType": "VariableDeclaration",
3287
+ "overrides": null,
3288
+ "scope": 2895,
3289
+ "src": "1203:11:12",
3290
+ "stateVariable": false,
3291
+ "storageLocation": "default",
3292
+ "typeDescriptions": {
3293
+ "typeIdentifier": "t_uint256",
3294
+ "typeString": "uint256"
3295
+ },
3296
+ "typeName": {
3297
+ "id": 2892,
3298
+ "name": "uint",
3299
+ "nodeType": "ElementaryTypeName",
3300
+ "src": "1203:4:12",
3301
+ "typeDescriptions": {
3302
+ "typeIdentifier": "t_uint256",
3303
+ "typeString": "uint256"
3304
+ }
3305
+ },
3306
+ "value": null,
3307
+ "visibility": "internal"
3308
+ }
3309
+ ],
3310
+ "src": "1156:59:12"
3311
+ },
3312
+ "src": "1138:78:12"
3313
+ },
3314
+ {
3315
+ "anonymous": false,
3316
+ "documentation": null,
3317
+ "id": 2901,
3318
+ "name": "Claim",
3319
+ "nodeType": "EventDefinition",
3320
+ "parameters": {
3321
+ "id": 2900,
3322
+ "nodeType": "ParameterList",
3323
+ "parameters": [
3324
+ {
3325
+ "constant": false,
3326
+ "id": 2897,
3327
+ "indexed": true,
3328
+ "mutability": "mutable",
3329
+ "name": "account",
3330
+ "nodeType": "VariableDeclaration",
3331
+ "overrides": null,
3332
+ "scope": 2901,
3333
+ "src": "1231:23:12",
3334
+ "stateVariable": false,
3335
+ "storageLocation": "default",
3336
+ "typeDescriptions": {
3337
+ "typeIdentifier": "t_address",
3338
+ "typeString": "address"
3339
+ },
3340
+ "typeName": {
3341
+ "id": 2896,
3342
+ "name": "address",
3343
+ "nodeType": "ElementaryTypeName",
3344
+ "src": "1231:7:12",
3345
+ "stateMutability": "nonpayable",
3346
+ "typeDescriptions": {
3347
+ "typeIdentifier": "t_address",
3348
+ "typeString": "address"
3349
+ }
3350
+ },
3351
+ "value": null,
3352
+ "visibility": "internal"
3353
+ },
3354
+ {
3355
+ "constant": false,
3356
+ "id": 2899,
3357
+ "indexed": false,
3358
+ "mutability": "mutable",
3359
+ "name": "amount",
3360
+ "nodeType": "VariableDeclaration",
3361
+ "overrides": null,
3362
+ "scope": 2901,
3363
+ "src": "1256:11:12",
3364
+ "stateVariable": false,
3365
+ "storageLocation": "default",
3366
+ "typeDescriptions": {
3367
+ "typeIdentifier": "t_uint256",
3368
+ "typeString": "uint256"
3369
+ },
3370
+ "typeName": {
3371
+ "id": 2898,
3372
+ "name": "uint",
3373
+ "nodeType": "ElementaryTypeName",
3374
+ "src": "1256:4:12",
3375
+ "typeDescriptions": {
3376
+ "typeIdentifier": "t_uint256",
3377
+ "typeString": "uint256"
3378
+ }
3379
+ },
3380
+ "value": null,
3381
+ "visibility": "internal"
3382
+ }
3383
+ ],
3384
+ "src": "1230:38:12"
3385
+ },
3386
+ "src": "1219:50:12"
3387
+ },
3388
+ {
3389
+ "anonymous": false,
3390
+ "documentation": null,
3391
+ "id": 2909,
3392
+ "name": "EditRecipient",
3393
+ "nodeType": "EventDefinition",
3394
+ "parameters": {
3395
+ "id": 2908,
3396
+ "nodeType": "ParameterList",
3397
+ "parameters": [
3398
+ {
3399
+ "constant": false,
3400
+ "id": 2903,
3401
+ "indexed": true,
3402
+ "mutability": "mutable",
3403
+ "name": "account",
3404
+ "nodeType": "VariableDeclaration",
3405
+ "overrides": null,
3406
+ "scope": 2909,
3407
+ "src": "1292:23:12",
3408
+ "stateVariable": false,
3409
+ "storageLocation": "default",
3410
+ "typeDescriptions": {
3411
+ "typeIdentifier": "t_address",
3412
+ "typeString": "address"
3413
+ },
3414
+ "typeName": {
3415
+ "id": 2902,
3416
+ "name": "address",
3417
+ "nodeType": "ElementaryTypeName",
3418
+ "src": "1292:7:12",
3419
+ "stateMutability": "nonpayable",
3420
+ "typeDescriptions": {
3421
+ "typeIdentifier": "t_address",
3422
+ "typeString": "address"
3423
+ }
3424
+ },
3425
+ "value": null,
3426
+ "visibility": "internal"
3427
+ },
3428
+ {
3429
+ "constant": false,
3430
+ "id": 2905,
3431
+ "indexed": false,
3432
+ "mutability": "mutable",
3433
+ "name": "shares",
3434
+ "nodeType": "VariableDeclaration",
3435
+ "overrides": null,
3436
+ "scope": 2909,
3437
+ "src": "1317:11:12",
3438
+ "stateVariable": false,
3439
+ "storageLocation": "default",
3440
+ "typeDescriptions": {
3441
+ "typeIdentifier": "t_uint256",
3442
+ "typeString": "uint256"
3443
+ },
3444
+ "typeName": {
3445
+ "id": 2904,
3446
+ "name": "uint",
3447
+ "nodeType": "ElementaryTypeName",
3448
+ "src": "1317:4:12",
3449
+ "typeDescriptions": {
3450
+ "typeIdentifier": "t_uint256",
3451
+ "typeString": "uint256"
3452
+ }
3453
+ },
3454
+ "value": null,
3455
+ "visibility": "internal"
3456
+ },
3457
+ {
3458
+ "constant": false,
3459
+ "id": 2907,
3460
+ "indexed": false,
3461
+ "mutability": "mutable",
3462
+ "name": "totalShares",
3463
+ "nodeType": "VariableDeclaration",
3464
+ "overrides": null,
3465
+ "scope": 2909,
3466
+ "src": "1330:16:12",
3467
+ "stateVariable": false,
3468
+ "storageLocation": "default",
3469
+ "typeDescriptions": {
3470
+ "typeIdentifier": "t_uint256",
3471
+ "typeString": "uint256"
3472
+ },
3473
+ "typeName": {
3474
+ "id": 2906,
3475
+ "name": "uint",
3476
+ "nodeType": "ElementaryTypeName",
3477
+ "src": "1330:4:12",
3478
+ "typeDescriptions": {
3479
+ "typeIdentifier": "t_uint256",
3480
+ "typeString": "uint256"
3481
+ }
3482
+ },
3483
+ "value": null,
3484
+ "visibility": "internal"
3485
+ }
3486
+ ],
3487
+ "src": "1291:56:12"
3488
+ },
3489
+ "src": "1272:76:12"
3490
+ },
3491
+ {
3492
+ "anonymous": false,
3493
+ "documentation": null,
3494
+ "id": 2915,
3495
+ "name": "Advance",
3496
+ "nodeType": "EventDefinition",
3497
+ "parameters": {
3498
+ "id": 2914,
3499
+ "nodeType": "ParameterList",
3500
+ "parameters": [
3501
+ {
3502
+ "constant": false,
3503
+ "id": 2911,
3504
+ "indexed": false,
3505
+ "mutability": "mutable",
3506
+ "name": "epochBegin",
3507
+ "nodeType": "VariableDeclaration",
3508
+ "overrides": null,
3509
+ "scope": 2915,
3510
+ "src": "1365:15:12",
3511
+ "stateVariable": false,
3512
+ "storageLocation": "default",
3513
+ "typeDescriptions": {
3514
+ "typeIdentifier": "t_uint256",
3515
+ "typeString": "uint256"
3516
+ },
3517
+ "typeName": {
3518
+ "id": 2910,
3519
+ "name": "uint",
3520
+ "nodeType": "ElementaryTypeName",
3521
+ "src": "1365:4:12",
3522
+ "typeDescriptions": {
3523
+ "typeIdentifier": "t_uint256",
3524
+ "typeString": "uint256"
3525
+ }
3526
+ },
3527
+ "value": null,
3528
+ "visibility": "internal"
3529
+ },
3530
+ {
3531
+ "constant": false,
3532
+ "id": 2913,
3533
+ "indexed": false,
3534
+ "mutability": "mutable",
3535
+ "name": "epochAmount",
3536
+ "nodeType": "VariableDeclaration",
3537
+ "overrides": null,
3538
+ "scope": 2915,
3539
+ "src": "1382:16:12",
3540
+ "stateVariable": false,
3541
+ "storageLocation": "default",
3542
+ "typeDescriptions": {
3543
+ "typeIdentifier": "t_uint256",
3544
+ "typeString": "uint256"
3545
+ },
3546
+ "typeName": {
3547
+ "id": 2912,
3548
+ "name": "uint",
3549
+ "nodeType": "ElementaryTypeName",
3550
+ "src": "1382:4:12",
3551
+ "typeDescriptions": {
3552
+ "typeIdentifier": "t_uint256",
3553
+ "typeString": "uint256"
3554
+ }
3555
+ },
3556
+ "value": null,
3557
+ "visibility": "internal"
3558
+ }
3559
+ ],
3560
+ "src": "1364:35:12"
3561
+ },
3562
+ "src": "1351:49:12"
3563
+ }
3564
+ ],
3565
+ "scope": 2917,
3566
+ "src": "28:1375:12"
3567
+ }
3568
+ ],
3569
+ "src": "0:1403:12"
3570
+ },
3571
+ "compiler": {
3572
+ "name": "solc",
3573
+ "version": "0.6.6+commit.6c089d02.Emscripten.clang"
3574
+ },
3575
+ "networks": {},
3576
+ "schemaVersion": "3.3.2",
3577
+ "updatedAt": "2021-03-19T20:32:40.513Z",
3578
+ "devdoc": {
3579
+ "methods": {}
3580
+ },
3581
+ "userdoc": {
3582
+ "methods": {}
3583
+ }
3584
+ }