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