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