@raac/rpc 1.1.0-beta.40 → 1.1.0-beta.42

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 (28) hide show
  1. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +188 -287
  2. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +2 -93
  3. package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +169 -13
  4. package/dist/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.json +7 -2
  5. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +7 -2
  6. package/dist/artifacts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.json +47 -2
  7. package/dist/artifacts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.json +20 -2
  8. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +122 -170
  9. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +342 -84
  10. package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +201 -12
  11. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +128 -8
  12. package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +187 -28
  13. package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +2 -2
  14. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +49 -21
  15. package/dist/artifacts/core/tokens/RWAIndexToken.sol/RWAIndexToken.json +2 -2
  16. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +29 -2
  17. package/dist/artifacts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter.json +44 -9
  18. package/dist/artifacts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.json +35 -8
  19. package/dist/artifacts/core/vaults/RWAVault.sol/RWAVault.json +92 -25
  20. package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +2 -2
  21. package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +2 -2
  22. package/dist/artifacts/zeno/Auction.sol/Auction.json +84 -2
  23. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +44 -2
  24. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +29 -2
  25. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +2 -2
  26. package/dist/configs/chains/11155111.json +18 -18
  27. package/dist/scripts/index.js +15 -4
  28. package/package.json +1 -1
@@ -14,6 +14,36 @@
14
14
  "stateMutability": "nonpayable",
15
15
  "type": "constructor"
16
16
  },
17
+ {
18
+ "inputs": [],
19
+ "name": "ArrayLengthMismatch",
20
+ "type": "error"
21
+ },
22
+ {
23
+ "inputs": [],
24
+ "name": "CircuitBreakerTriggered",
25
+ "type": "error"
26
+ },
27
+ {
28
+ "inputs": [],
29
+ "name": "InvalidOraclePrice",
30
+ "type": "error"
31
+ },
32
+ {
33
+ "inputs": [],
34
+ "name": "InvalidThresholds",
35
+ "type": "error"
36
+ },
37
+ {
38
+ "inputs": [],
39
+ "name": "MinThresholdMustBePositive",
40
+ "type": "error"
41
+ },
42
+ {
43
+ "inputs": [],
44
+ "name": "NotOracle",
45
+ "type": "error"
46
+ },
17
47
  {
18
48
  "inputs": [
19
49
  {
@@ -36,6 +66,57 @@
36
66
  "name": "OwnableUnauthorizedAccount",
37
67
  "type": "error"
38
68
  },
69
+ {
70
+ "anonymous": false,
71
+ "inputs": [
72
+ {
73
+ "indexed": false,
74
+ "internalType": "bool",
75
+ "name": "enabled",
76
+ "type": "bool"
77
+ },
78
+ {
79
+ "indexed": false,
80
+ "internalType": "uint256",
81
+ "name": "minThreshold",
82
+ "type": "uint256"
83
+ },
84
+ {
85
+ "indexed": false,
86
+ "internalType": "uint256",
87
+ "name": "maxThreshold",
88
+ "type": "uint256"
89
+ }
90
+ ],
91
+ "name": "CircuitBreakerConfigUpdated",
92
+ "type": "event"
93
+ },
94
+ {
95
+ "anonymous": false,
96
+ "inputs": [
97
+ {
98
+ "indexed": false,
99
+ "internalType": "address",
100
+ "name": "newDataFeed",
101
+ "type": "address"
102
+ }
103
+ ],
104
+ "name": "DataFeedUpdated",
105
+ "type": "event"
106
+ },
107
+ {
108
+ "anonymous": false,
109
+ "inputs": [
110
+ {
111
+ "indexed": false,
112
+ "internalType": "address",
113
+ "name": "newOracle",
114
+ "type": "address"
115
+ }
116
+ ],
117
+ "name": "OracleUpdated",
118
+ "type": "event"
119
+ },
39
120
  {
40
121
  "anonymous": false,
41
122
  "inputs": [
@@ -95,11 +176,16 @@
95
176
  },
96
177
  {
97
178
  "inputs": [],
98
- "name": "count",
179
+ "name": "checkCircuitBreakerStatus",
99
180
  "outputs": [
181
+ {
182
+ "internalType": "enum CircuitBreakerStatus",
183
+ "name": "status",
184
+ "type": "uint8"
185
+ },
100
186
  {
101
187
  "internalType": "uint256",
102
- "name": "",
188
+ "name": "currentPrice",
103
189
  "type": "uint256"
104
190
  }
105
191
  ],
@@ -107,33 +193,66 @@
107
193
  "type": "function"
108
194
  },
109
195
  {
110
- "inputs": [
196
+ "inputs": [],
197
+ "name": "circuitBreakerEnabled",
198
+ "outputs": [
199
+ {
200
+ "internalType": "bool",
201
+ "name": "",
202
+ "type": "bool"
203
+ }
204
+ ],
205
+ "stateMutability": "view",
206
+ "type": "function"
207
+ },
208
+ {
209
+ "inputs": [],
210
+ "name": "count",
211
+ "outputs": [
111
212
  {
112
213
  "internalType": "uint256",
113
214
  "name": "",
114
215
  "type": "uint256"
115
216
  }
116
217
  ],
117
- "name": "existingTokens",
218
+ "stateMutability": "view",
219
+ "type": "function"
220
+ },
221
+ {
222
+ "inputs": [],
223
+ "name": "dataFeed",
118
224
  "outputs": [
119
225
  {
120
- "internalType": "bool",
226
+ "internalType": "contract AggregatorV3Interface",
121
227
  "name": "",
122
- "type": "bool"
228
+ "type": "address"
123
229
  }
124
230
  ],
125
231
  "stateMutability": "view",
126
232
  "type": "function"
127
233
  },
234
+ {
235
+ "inputs": [],
236
+ "name": "decimals",
237
+ "outputs": [
238
+ {
239
+ "internalType": "uint8",
240
+ "name": "",
241
+ "type": "uint8"
242
+ }
243
+ ],
244
+ "stateMutability": "pure",
245
+ "type": "function"
246
+ },
128
247
  {
129
248
  "inputs": [
130
249
  {
131
250
  "internalType": "uint256",
132
- "name": "_tokenId",
251
+ "name": "",
133
252
  "type": "uint256"
134
253
  }
135
254
  ],
136
- "name": "exists",
255
+ "name": "existingTokens",
137
256
  "outputs": [
138
257
  {
139
258
  "internalType": "bool",
@@ -156,12 +275,12 @@
156
275
  "outputs": [
157
276
  {
158
277
  "internalType": "uint256",
159
- "name": "",
278
+ "name": "_crvUSDPrice",
160
279
  "type": "uint256"
161
280
  },
162
281
  {
163
282
  "internalType": "uint256",
164
- "name": "",
283
+ "name": "_lastUpdateTimestamp",
165
284
  "type": "uint256"
166
285
  }
167
286
  ],
@@ -181,6 +300,32 @@
181
300
  "stateMutability": "view",
182
301
  "type": "function"
183
302
  },
303
+ {
304
+ "inputs": [],
305
+ "name": "maxPriceThreshold",
306
+ "outputs": [
307
+ {
308
+ "internalType": "uint256",
309
+ "name": "",
310
+ "type": "uint256"
311
+ }
312
+ ],
313
+ "stateMutability": "view",
314
+ "type": "function"
315
+ },
316
+ {
317
+ "inputs": [],
318
+ "name": "minPriceThreshold",
319
+ "outputs": [
320
+ {
321
+ "internalType": "uint256",
322
+ "name": "",
323
+ "type": "uint256"
324
+ }
325
+ ],
326
+ "stateMutability": "view",
327
+ "type": "function"
328
+ },
184
329
  {
185
330
  "inputs": [],
186
331
  "name": "oracle",
@@ -214,6 +359,50 @@
214
359
  "stateMutability": "nonpayable",
215
360
  "type": "function"
216
361
  },
362
+ {
363
+ "inputs": [
364
+ {
365
+ "internalType": "bool",
366
+ "name": "_enabled",
367
+ "type": "bool"
368
+ }
369
+ ],
370
+ "name": "setCircuitBreakerEnabled",
371
+ "outputs": [],
372
+ "stateMutability": "nonpayable",
373
+ "type": "function"
374
+ },
375
+ {
376
+ "inputs": [
377
+ {
378
+ "internalType": "uint256",
379
+ "name": "_minThreshold",
380
+ "type": "uint256"
381
+ },
382
+ {
383
+ "internalType": "uint256",
384
+ "name": "_maxThreshold",
385
+ "type": "uint256"
386
+ }
387
+ ],
388
+ "name": "setCircuitBreakerThresholds",
389
+ "outputs": [],
390
+ "stateMutability": "nonpayable",
391
+ "type": "function"
392
+ },
393
+ {
394
+ "inputs": [
395
+ {
396
+ "internalType": "address",
397
+ "name": "_dataFeed",
398
+ "type": "address"
399
+ }
400
+ ],
401
+ "name": "setDataFeed",
402
+ "outputs": [],
403
+ "stateMutability": "nonpayable",
404
+ "type": "function"
405
+ },
217
406
  {
218
407
  "inputs": [
219
408
  {
@@ -315,8 +504,8 @@
315
504
  "type": "function"
316
505
  }
317
506
  ],
318
- "bytecode": "0x6080346100bb57601f6107a738819003918201601f19168301916001600160401b038311848410176100c0578084926020946040528339810103126100bb57516001600160a01b0390818116908190036100bb5780156100a257600080546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36106d090816100d78239f35b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816306661abd14610514575080630d8bb7071461047857806314bcec9f146104f557806314fb95d8146104cd5780633c25734c146104a55780634f558e7914610478578063715018a61461042d5780637adbf973146103e85780637dc0d1d0146103bf5780638da5cb5b146103975780639c7b84fe146102e4578063b94fe917146102af578063f15074a61461013c5763f2fde38b146100be57600080fd5b34610138576020366003190112610138576001600160a01b03823581811693919290849003610134576100ef610565565b831561011e57505082546001600160a01b03198116831784551660008051602061065b8339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8480fd5b8280fd5b508290346102ab57806003193601126102ab576001600160401b039083358281116102a75761016e9036908601610530565b9092602435908111610134576101879036908701610530565b95909161019f60018060a01b03600554163314610591565b86810361026457855b8181106101b757864260065580f35b8087866101c861023e94868b610614565b356101d4848d8a610614565b3581845260016020908082528285872055600282524285872055600380835260ff868820541615600014610243578686918660008051602061067b83398151915299528452209060ff1982541617905561022e89546105ef565b89558351928352820152a16105ef565b6101a8565b505060008051602061063b83398151915294508351928352820152a16105ef565b835162461bcd60e51b8152602081840181905260248201527f52414143486f7573655072696365733a206c656e677468206d69736d617463686044820152606490fd5b8380fd5b5080fd5b509190346102ab5760203660031901126102ab5735815260016020528180822054916002602052205482519182526020820152f35b5034610138578060031936011261013857813560243561030f60018060a01b03600554163314610591565b8185526020600181528184872055600281524284872055426006556003815260ff84872054161560001461037a5760008051602061067b8339815191529483875260038252848720600160ff1982541617905561036c81546105ef565b90558351928352820152a180f35b60008051602061063b83398151915294508351928352820152a180f35b8382346102ab57816003193601126102ab57905490516001600160a01b039091168152602090f35b8382346102ab57816003193601126102ab5760055490516001600160a01b039091168152602090f35b5050346102ab5760203660031901126102ab57356001600160a01b038116908190036102ab57610416610565565b600580546001600160a01b03191691909117905580f35b8334610475578060031936011261047557610446610565565b80546001600160a01b03198116825581906001600160a01b031660008051602061065b8339815191528280a380f35b80fd5b509034610138576020366003190112610138578160209360ff923581526003855220541690519015158152f35b5090346101385760203660031901126101385760209282913581526002845220549051908152f35b5090346101385760203660031901126101385760209282913581526001845220549051908152f35b8382346102ab57816003193601126102ab576020906006549051908152f35b8490843461013857826003193601126101385760209250548152f35b9181601f84011215610560578235916001600160401b038311610560576020808501948460051b01011161056057565b600080fd5b6000546001600160a01b0316330361057957565b60405163118cdaa760e01b8152336004820152602490fd5b1561059857565b60405162461bcd60e51b815260206004820152602960248201527f52414143486f7573655072696365733a2063616c6c6572206973206e6f7420746044820152686865206f7261636c6560b81b6064820152608490fd5b60001981146105fe5760010190565b634e487b7160e01b600052601160045260246000fd5b91908110156106245760051b0190565b634e487b7160e01b600052603260045260246000fdfe945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd6968388be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e07393d057d37814434148feec34ad65270756908d7a4e3e2554331ebaad5b04b3a264697066735822122089b17b8b0aae6dd6f98365337c0c912d05d148e34fad163ff2f5b452351fe5a564736f6c63430008140033",
319
- "deployedBytecode": "0x608060408181526004908136101561001657600080fd5b600092833560e01c90816306661abd14610514575080630d8bb7071461047857806314bcec9f146104f557806314fb95d8146104cd5780633c25734c146104a55780634f558e7914610478578063715018a61461042d5780637adbf973146103e85780637dc0d1d0146103bf5780638da5cb5b146103975780639c7b84fe146102e4578063b94fe917146102af578063f15074a61461013c5763f2fde38b146100be57600080fd5b34610138576020366003190112610138576001600160a01b03823581811693919290849003610134576100ef610565565b831561011e57505082546001600160a01b03198116831784551660008051602061065b8339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8480fd5b8280fd5b508290346102ab57806003193601126102ab576001600160401b039083358281116102a75761016e9036908601610530565b9092602435908111610134576101879036908701610530565b95909161019f60018060a01b03600554163314610591565b86810361026457855b8181106101b757864260065580f35b8087866101c861023e94868b610614565b356101d4848d8a610614565b3581845260016020908082528285872055600282524285872055600380835260ff868820541615600014610243578686918660008051602061067b83398151915299528452209060ff1982541617905561022e89546105ef565b89558351928352820152a16105ef565b6101a8565b505060008051602061063b83398151915294508351928352820152a16105ef565b835162461bcd60e51b8152602081840181905260248201527f52414143486f7573655072696365733a206c656e677468206d69736d617463686044820152606490fd5b8380fd5b5080fd5b509190346102ab5760203660031901126102ab5735815260016020528180822054916002602052205482519182526020820152f35b5034610138578060031936011261013857813560243561030f60018060a01b03600554163314610591565b8185526020600181528184872055600281524284872055426006556003815260ff84872054161560001461037a5760008051602061067b8339815191529483875260038252848720600160ff1982541617905561036c81546105ef565b90558351928352820152a180f35b60008051602061063b83398151915294508351928352820152a180f35b8382346102ab57816003193601126102ab57905490516001600160a01b039091168152602090f35b8382346102ab57816003193601126102ab5760055490516001600160a01b039091168152602090f35b5050346102ab5760203660031901126102ab57356001600160a01b038116908190036102ab57610416610565565b600580546001600160a01b03191691909117905580f35b8334610475578060031936011261047557610446610565565b80546001600160a01b03198116825581906001600160a01b031660008051602061065b8339815191528280a380f35b80fd5b509034610138576020366003190112610138578160209360ff923581526003855220541690519015158152f35b5090346101385760203660031901126101385760209282913581526002845220549051908152f35b5090346101385760203660031901126101385760209282913581526001845220549051908152f35b8382346102ab57816003193601126102ab576020906006549051908152f35b8490843461013857826003193601126101385760209250548152f35b9181601f84011215610560578235916001600160401b038311610560576020808501948460051b01011161056057565b600080fd5b6000546001600160a01b0316330361057957565b60405163118cdaa760e01b8152336004820152602490fd5b1561059857565b60405162461bcd60e51b815260206004820152602960248201527f52414143486f7573655072696365733a2063616c6c6572206973206e6f7420746044820152686865206f7261636c6560b81b6064820152608490fd5b60001981146105fe5760010190565b634e487b7160e01b600052601160045260246000fd5b91908110156106245760051b0190565b634e487b7160e01b600052603260045260246000fdfe945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd6968388be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e07393d057d37814434148feec34ad65270756908d7a4e3e2554331ebaad5b04b3a264697066735822122089b17b8b0aae6dd6f98365337c0c912d05d148e34fad163ff2f5b452351fe5a564736f6c63430008140033",
507
+ "bytecode": "0x6080346100de57601f610e2638819003918201601f19168301916001600160401b038311848410176100e3578084926020946040528339810103126100de57516001600160a01b0390818116908190036100de5780156100c557600080546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36005805460ff60a01b1916600160a01b17905563055d4a8060065563068e7780600755610d2c90816100fa8239f35b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816306661abd146107aa575080630d8bb7071461077d57806314bcec9f1461075e57806314fb95d814610736578063313ce5671461071a5780633c25734c146106f25780633cbb3a12146106d357806367e15f1b14610665578063715018a61461061d5780637adbf973146105af5780637dc0d1d0146105865780638da5cb5b1461055e5780639c7b84fe146104a65780639dd906b11461043f5780639e42ff9014610416578063a8fd872a146103d1578063ab9068fa146103aa578063ae39e3d11461032d578063b94fe91714610300578063d42443e5146102e1578063f15074a6146101945763f2fde38b1461011657600080fd5b34610190576020366003190112610190576001600160a01b0382358181169391929084900361018c57610147610811565b831561017657505082546001600160a01b031981168317845516600080516020610c978339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8480fd5b8280fd5b508290346102dd57806003193601126102dd576001600160401b039083358281116102d9576101c690369086016107e1565b909260243590811161018c576101df90369087016107e1565b60055490969192906001600160a01b031633036102ca578681036102bb57855b81811061020e57864260095580f35b80878661021f61029594868b610c38565b3561022b848d8a610c38565b3581845260016020908082528285872055600282524285872055600380835260ff86882054161560001461029a5786869186600080516020610cb783398151915299528452209060ff198254161790556102858954610c29565b89558351928352820152a1610c29565b6101ff565b5050600080516020610c7783398151915294508351928352820152a1610c29565b50825163512509d360e11b8152fd5b508251631bc2178f60e01b8152fd5b8380fd5b5080fd5b8382346102dd57816003193601126102dd576020906006549051908152f35b50913461032a57602036600319011261032a575061031e9035610932565b82519182526020820152f35b80fd5b509190346102dd5761033e366107c6565b939091610349610811565b8483101561039c57821561038e5750610388600080516020610cd78339815191529394836006558060075560ff60055460a01c16925193849384610c5e565b0390a180f35b9051632dee6d8360e11b8152fd5b9051632e83089360e11b8152fd5b8382346102dd57816003193601126102dd5760209060ff60055460a01c1690519015158152f35b50913461032a578060031936011261032a576103eb610b10565b91845193600683101561040357505082526020820152f35b634e487b7160e01b825260219052602490fd5b8382346102dd57816003193601126102dd5760085490516001600160a01b039091168152602090f35b509034610190576020366003190112610190573590811515918281036102d957600080516020610cd783398151915292610477610811565b6005549060ff60a01b9060a01b169060ff60a01b19161760055561038860065492600754905193849384610c5e565b5034610190576104b5366107c6565b6005546001600160a01b0316330361054f578185526020600181528184872055600281524284872055426009556003815260ff84872054161560001461053257600080516020610cb78339815191529483875260038252848720600160ff198254161790556105248154610c29565b90558351928352820152a180f35b600080516020610c7783398151915294508351928352820152a180f35b505051631bc2178f60e01b8152fd5b8382346102dd57816003193601126102dd57905490516001600160a01b039091168152602090f35b8382346102dd57816003193601126102dd5760055490516001600160a01b039091168152602090f35b50903461019057602036600319011261019057356001600160a01b0381169190829003610190577f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b818094039491602091610603610811565b600580546001600160a01b0319168317905551908152a180f35b833461032a578060031936011261032a57610636610811565b80546001600160a01b03198116825581906001600160a01b0316600080516020610c978339815191528280a380f35b50903461019057602036600319011261019057356001600160a01b0381169190829003610190577f51968e3ae57d6668edc4e8ad0d437288053124ac4a02c2483d134ea7dccd632c916020916106b9610811565b600880546001600160a01b0319168317905551908152a180f35b8382346102dd57816003193601126102dd576020906007549051908152f35b5090346101905760203660031901126101905760209282913581526002845220549051908152f35b8382346102dd57816003193601126102dd576020905160128152f35b5090346101905760203660031901126101905760209282913581526001845220549051908152f35b8382346102dd57816003193601126102dd576020906009549051908152f35b509034610190576020366003190112610190578160209360ff923581526003855220541690519015158152f35b8490843461019057826003193601126101905760209250548152f35b60409060031901126107dc576004359060243590565b600080fd5b9181601f840112156107dc578235916001600160401b0383116107dc576020808501948460051b0101116107dc57565b6000546001600160a01b0316330361082557565b60405163118cdaa760e01b8152336004820152602490fd5b601f909101601f19168101906001600160401b0382119082101761086057604052565b634e487b7160e01b600052604160045260246000fd5b908160209103126107dc575160ff811681036107dc5790565b51906001600160501b03821682036107dc57565b908160a09103126107dc576108b78161088f565b916020820151916040810151916108d560806060840151930161088f565b90565b60ff16604d81116108e957600a0a90565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156108e957565b811561091c570490565b634e487b7160e01b600052601260045260246000fd5b600081815260016020526040808220546008549394939192916001600160a01b0316806109685750935b81526002602052205490565b835163313ce56760e01b815290602082600481845afa918215610a83579060049392918592610a8d575b5060a090865194858092633fabe5a360e21b82525afa928315610a83578493610a4e575b5083831315610a195760ff60055460a01c166109ef575b6109e992916109de6109e4926108d8565b906108ff565b610912565b9361095c565b6109fb81600654610ac0565b610a0782600754610ac0565b908410908115610a44575b50156109cd575b505050505090610a4090600052600160205260406000205490600260205260406000205490565b9091565b9050831138610a12565b610a7091935060a03d8111610a7c575b610a68818361083d565b8101906108a3565b505050905091386109b6565b503d610a5e565b85513d86823e3d90fd5b60a0919250610ab29060203d8111610ab9575b610aaa818361083d565b810190610876565b9190610992565b503d610aa0565b9060ff1660088103610ad0575090565b6008811115610af257600719019060ff82116108e9576109de6108d5926108d8565b6008039060ff82116108e957610b0a6108d5926108d8565b90610912565b6008546001600160a01b0316908115610c2057604051633fabe5a360e21b81529160a083600481845afa928315610bdf57600093610bfb575b508260ff60055460a01c1615610bf25760001215610beb5760206004916040519283809263313ce56760e01b82525afa908115610bdf57600091610bc1575b50610ba1610b9882600654610ac0565b91600754610ac0565b908310610bba578211610bb45760009190565b60059190565b5060049190565b610bd9915060203d8111610ab957610aaa818361083d565b38610b88565b6040513d6000823e3d90fd5b5060039190565b92505060029190565b610c1491935060a03d8111610a7c57610a68818361083d565b50505090509138610b49565b60019150600090565b60001981146108e95760010190565b9190811015610c485760051b0190565b634e487b7160e01b600052603260045260246000fd5b6040919493926060820195151582526020820152015256fe945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd6968388be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e07393d057d37814434148feec34ad65270756908d7a4e3e2554331ebaad5b04b34219c0488eab8e33b581d3e29fb4fb066aa86f75e6c6e443ba90dff9aebf10ffa2646970667358221220cd8c72c856901a0e5a4ee1e9acd319ad194090c38ffae109cee495513f5e3d0b64736f6c63430008140033",
508
+ "deployedBytecode": "0x608060408181526004908136101561001657600080fd5b600092833560e01c90816306661abd146107aa575080630d8bb7071461077d57806314bcec9f1461075e57806314fb95d814610736578063313ce5671461071a5780633c25734c146106f25780633cbb3a12146106d357806367e15f1b14610665578063715018a61461061d5780637adbf973146105af5780637dc0d1d0146105865780638da5cb5b1461055e5780639c7b84fe146104a65780639dd906b11461043f5780639e42ff9014610416578063a8fd872a146103d1578063ab9068fa146103aa578063ae39e3d11461032d578063b94fe91714610300578063d42443e5146102e1578063f15074a6146101945763f2fde38b1461011657600080fd5b34610190576020366003190112610190576001600160a01b0382358181169391929084900361018c57610147610811565b831561017657505082546001600160a01b031981168317845516600080516020610c978339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8480fd5b8280fd5b508290346102dd57806003193601126102dd576001600160401b039083358281116102d9576101c690369086016107e1565b909260243590811161018c576101df90369087016107e1565b60055490969192906001600160a01b031633036102ca578681036102bb57855b81811061020e57864260095580f35b80878661021f61029594868b610c38565b3561022b848d8a610c38565b3581845260016020908082528285872055600282524285872055600380835260ff86882054161560001461029a5786869186600080516020610cb783398151915299528452209060ff198254161790556102858954610c29565b89558351928352820152a1610c29565b6101ff565b5050600080516020610c7783398151915294508351928352820152a1610c29565b50825163512509d360e11b8152fd5b508251631bc2178f60e01b8152fd5b8380fd5b5080fd5b8382346102dd57816003193601126102dd576020906006549051908152f35b50913461032a57602036600319011261032a575061031e9035610932565b82519182526020820152f35b80fd5b509190346102dd5761033e366107c6565b939091610349610811565b8483101561039c57821561038e5750610388600080516020610cd78339815191529394836006558060075560ff60055460a01c16925193849384610c5e565b0390a180f35b9051632dee6d8360e11b8152fd5b9051632e83089360e11b8152fd5b8382346102dd57816003193601126102dd5760209060ff60055460a01c1690519015158152f35b50913461032a578060031936011261032a576103eb610b10565b91845193600683101561040357505082526020820152f35b634e487b7160e01b825260219052602490fd5b8382346102dd57816003193601126102dd5760085490516001600160a01b039091168152602090f35b509034610190576020366003190112610190573590811515918281036102d957600080516020610cd783398151915292610477610811565b6005549060ff60a01b9060a01b169060ff60a01b19161760055561038860065492600754905193849384610c5e565b5034610190576104b5366107c6565b6005546001600160a01b0316330361054f578185526020600181528184872055600281524284872055426009556003815260ff84872054161560001461053257600080516020610cb78339815191529483875260038252848720600160ff198254161790556105248154610c29565b90558351928352820152a180f35b600080516020610c7783398151915294508351928352820152a180f35b505051631bc2178f60e01b8152fd5b8382346102dd57816003193601126102dd57905490516001600160a01b039091168152602090f35b8382346102dd57816003193601126102dd5760055490516001600160a01b039091168152602090f35b50903461019057602036600319011261019057356001600160a01b0381169190829003610190577f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b818094039491602091610603610811565b600580546001600160a01b0319168317905551908152a180f35b833461032a578060031936011261032a57610636610811565b80546001600160a01b03198116825581906001600160a01b0316600080516020610c978339815191528280a380f35b50903461019057602036600319011261019057356001600160a01b0381169190829003610190577f51968e3ae57d6668edc4e8ad0d437288053124ac4a02c2483d134ea7dccd632c916020916106b9610811565b600880546001600160a01b0319168317905551908152a180f35b8382346102dd57816003193601126102dd576020906007549051908152f35b5090346101905760203660031901126101905760209282913581526002845220549051908152f35b8382346102dd57816003193601126102dd576020905160128152f35b5090346101905760203660031901126101905760209282913581526001845220549051908152f35b8382346102dd57816003193601126102dd576020906009549051908152f35b509034610190576020366003190112610190578160209360ff923581526003855220541690519015158152f35b8490843461019057826003193601126101905760209250548152f35b60409060031901126107dc576004359060243590565b600080fd5b9181601f840112156107dc578235916001600160401b0383116107dc576020808501948460051b0101116107dc57565b6000546001600160a01b0316330361082557565b60405163118cdaa760e01b8152336004820152602490fd5b601f909101601f19168101906001600160401b0382119082101761086057604052565b634e487b7160e01b600052604160045260246000fd5b908160209103126107dc575160ff811681036107dc5790565b51906001600160501b03821682036107dc57565b908160a09103126107dc576108b78161088f565b916020820151916040810151916108d560806060840151930161088f565b90565b60ff16604d81116108e957600a0a90565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156108e957565b811561091c570490565b634e487b7160e01b600052601260045260246000fd5b600081815260016020526040808220546008549394939192916001600160a01b0316806109685750935b81526002602052205490565b835163313ce56760e01b815290602082600481845afa918215610a83579060049392918592610a8d575b5060a090865194858092633fabe5a360e21b82525afa928315610a83578493610a4e575b5083831315610a195760ff60055460a01c166109ef575b6109e992916109de6109e4926108d8565b906108ff565b610912565b9361095c565b6109fb81600654610ac0565b610a0782600754610ac0565b908410908115610a44575b50156109cd575b505050505090610a4090600052600160205260406000205490600260205260406000205490565b9091565b9050831138610a12565b610a7091935060a03d8111610a7c575b610a68818361083d565b8101906108a3565b505050905091386109b6565b503d610a5e565b85513d86823e3d90fd5b60a0919250610ab29060203d8111610ab9575b610aaa818361083d565b810190610876565b9190610992565b503d610aa0565b9060ff1660088103610ad0575090565b6008811115610af257600719019060ff82116108e9576109de6108d5926108d8565b6008039060ff82116108e957610b0a6108d5926108d8565b90610912565b6008546001600160a01b0316908115610c2057604051633fabe5a360e21b81529160a083600481845afa928315610bdf57600093610bfb575b508260ff60055460a01c1615610bf25760001215610beb5760206004916040519283809263313ce56760e01b82525afa908115610bdf57600091610bc1575b50610ba1610b9882600654610ac0565b91600754610ac0565b908310610bba578211610bb45760009190565b60059190565b5060049190565b610bd9915060203d8111610ab957610aaa818361083d565b38610b88565b6040513d6000823e3d90fd5b5060039190565b92505060029190565b610c1491935060a03d8111610a7c57610a68818361083d565b50505090509138610b49565b60019150600090565b60001981146108e95760010190565b9190811015610c485760051b0190565b634e487b7160e01b600052603260045260246000fd5b6040919493926060820195151582526020820152015256fe945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd6968388be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e07393d057d37814434148feec34ad65270756908d7a4e3e2554331ebaad5b04b34219c0488eab8e33b581d3e29fb4fb066aa86f75e6c6e443ba90dff9aebf10ffa2646970667358221220cd8c72c856901a0e5a4ee1e9acd319ad194090c38ffae109cee495513f5e3d0b64736f6c63430008140033",
320
509
  "linkReferences": {},
321
510
  "deployedLinkReferences": {}
322
511
  }
@@ -29,6 +29,28 @@
29
29
  "stateMutability": "nonpayable",
30
30
  "type": "constructor"
31
31
  },
32
+ {
33
+ "inputs": [
34
+ {
35
+ "internalType": "address",
36
+ "name": "target",
37
+ "type": "address"
38
+ }
39
+ ],
40
+ "name": "AddressEmptyCode",
41
+ "type": "error"
42
+ },
43
+ {
44
+ "inputs": [
45
+ {
46
+ "internalType": "address",
47
+ "name": "account",
48
+ "type": "address"
49
+ }
50
+ ],
51
+ "name": "AddressInsufficientBalance",
52
+ "type": "error"
53
+ },
32
54
  {
33
55
  "inputs": [],
34
56
  "name": "ECDSAInvalidSignature",
@@ -169,6 +191,11 @@
169
191
  "name": "ERC2612InvalidSigner",
170
192
  "type": "error"
171
193
  },
194
+ {
195
+ "inputs": [],
196
+ "name": "FailedInnerCall",
197
+ "type": "error"
198
+ },
172
199
  {
173
200
  "inputs": [
174
201
  {
@@ -537,27 +564,52 @@
537
564
  },
538
565
  {
539
566
  "inputs": [],
540
- "name": "getRTokenAddress",
567
+ "name": "getScaledTotalSupply",
541
568
  "outputs": [
542
569
  {
543
- "internalType": "address",
570
+ "internalType": "uint256",
544
571
  "name": "",
545
- "type": "address"
572
+ "type": "uint256"
546
573
  }
547
574
  ],
548
575
  "stateMutability": "view",
549
576
  "type": "function"
550
577
  },
551
578
  {
552
- "inputs": [],
553
- "name": "getStabilityPool",
554
- "outputs": [
579
+ "inputs": [
555
580
  {
556
581
  "internalType": "address",
582
+ "name": "user",
583
+ "type": "address"
584
+ }
585
+ ],
586
+ "name": "getUserDeposit",
587
+ "outputs": [
588
+ {
589
+ "internalType": "uint256",
557
590
  "name": "",
591
+ "type": "uint256"
592
+ }
593
+ ],
594
+ "stateMutability": "view",
595
+ "type": "function"
596
+ },
597
+ {
598
+ "inputs": [
599
+ {
600
+ "internalType": "address",
601
+ "name": "user",
558
602
  "type": "address"
559
603
  }
560
604
  ],
605
+ "name": "getUserIndex",
606
+ "outputs": [
607
+ {
608
+ "internalType": "uint256",
609
+ "name": "",
610
+ "type": "uint256"
611
+ }
612
+ ],
561
613
  "stateMutability": "view",
562
614
  "type": "function"
563
615
  },
@@ -680,6 +732,38 @@
680
732
  "stateMutability": "view",
681
733
  "type": "function"
682
734
  },
735
+ {
736
+ "inputs": [
737
+ {
738
+ "internalType": "address",
739
+ "name": "account",
740
+ "type": "address"
741
+ }
742
+ ],
743
+ "name": "rawBalanceOf",
744
+ "outputs": [
745
+ {
746
+ "internalType": "uint256",
747
+ "name": "",
748
+ "type": "uint256"
749
+ }
750
+ ],
751
+ "stateMutability": "view",
752
+ "type": "function"
753
+ },
754
+ {
755
+ "inputs": [],
756
+ "name": "rawTotalSupply",
757
+ "outputs": [
758
+ {
759
+ "internalType": "uint256",
760
+ "name": "",
761
+ "type": "uint256"
762
+ }
763
+ ],
764
+ "stateMutability": "view",
765
+ "type": "function"
766
+ },
683
767
  {
684
768
  "inputs": [],
685
769
  "name": "renounceOwnership",
@@ -700,6 +784,42 @@
700
784
  "stateMutability": "nonpayable",
701
785
  "type": "function"
702
786
  },
787
+ {
788
+ "inputs": [
789
+ {
790
+ "internalType": "address",
791
+ "name": "user",
792
+ "type": "address"
793
+ },
794
+ {
795
+ "internalType": "uint256",
796
+ "name": "amount",
797
+ "type": "uint256"
798
+ }
799
+ ],
800
+ "name": "setUserDeposit",
801
+ "outputs": [],
802
+ "stateMutability": "nonpayable",
803
+ "type": "function"
804
+ },
805
+ {
806
+ "inputs": [
807
+ {
808
+ "internalType": "address",
809
+ "name": "user",
810
+ "type": "address"
811
+ },
812
+ {
813
+ "internalType": "uint256",
814
+ "name": "index",
815
+ "type": "uint256"
816
+ }
817
+ ],
818
+ "name": "setUserIndex",
819
+ "outputs": [],
820
+ "stateMutability": "nonpayable",
821
+ "type": "function"
822
+ },
703
823
  {
704
824
  "inputs": [],
705
825
  "name": "stabilityPool",
@@ -824,8 +944,8 @@
824
944
  "type": "function"
825
945
  }
826
946
  ],
827
- "bytecode": "0x610160604081815234620004d55762001c108038038091620000228286620004da565b84398201608083820312620004d55782516001600160401b039290838111620004d557826200005391860162000523565b916020908186015190858211620004d5576200007191870162000523565b906200008d6060620000858589016200057e565b97016200057e565b9183519684880188811088821117620003d457855260019687895283890197603160f81b89528751828111620003d45760038054918383811c93168015620004ca575b88841014620004b457601f9283811162000469575b508088848211600114620003f657600091620003ea575b5060001982841b1c191690841b1781555b855191848311620003d45760049687548581811c91168015620003c9575b8a821014620003b45782811162000369575b5088918411600114620002fe57938394918492600095620002f2575b50501b92600019911b1c19161783555b620001748762000593565b97610120988952620001868a62000738565b97610140988952858151910120998a60e0525190209861010099808b524660a0528751958601917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528887015260608601524660808601523060a086015260a0855260c085019185831090831117620002dd57818752845190206080523060c0526001600160a01b03918216938415620002c6575050600880546001600160a01b0319808216861790925586519591949083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a316928315620002ba575050600a541617600a555191611380938462000890853960805184610f90015260a0518461105a015260c05184610f5a015260e05184610fdf01525183611005015251826106620152518161068c0152f35b63e6c4247b60e01b8152fd5b631e4fbdf760e01b8252600060c490910152602490fd5b604184634e487b7160e01b6000525260246000fd5b01519350388062000159565b9190601f1984169288600052848a6000209460005b8c8983831062000351575050501062000336575b50505050811b01835562000169565b01519060f884600019921b161c191690553880808062000327565b86860151895590970196948501948893500162000313565b88600052896000208380870160051c8201928c8810620003aa575b0160051c019086905b8281106200039d5750506200013d565b600081550186906200038d565b9250819262000384565b602289634e487b7160e01b6000525260246000fd5b90607f16906200012b565b634e487b7160e01b600052604160045260246000fd5b90508b015138620000fc565b8592508c90601f198316856000528b600020928c6000915b838310620004475750505083116200042e575b5050811b0181556200010d565b8d015160001983861b60f8161c19169055388062000421565b948482949597989293960151815501940192019087949392918f8d906200040e565b82600052886000208480840160051c8201928b8510620004aa575b0160051c019085905b8281106200049d575050620000e5565b600081550185906200048d565b9250819262000484565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000d0565b600080fd5b601f909101601f19168101906001600160401b03821190821017620003d457604052565b60005b838110620005125750506000910152565b818101518382015260200162000501565b81601f82011215620004d55780516001600160401b038111620003d457604051926200055a601f8301601f191660200185620004da565b81845260208284010111620004d5576200057b9160208085019101620004fe565b90565b51906001600160a01b0382168203620004d557565b8051602091908281101562000613575090601f825111620005d15780825192015190808310620005c257501790565b82600019910360031b1b161790565b604490620006059260405193849263305a27a960e01b845280600485015282519283918260248701528686019101620004fe565b601f01601f19168101030190fd5b6001600160401b038111620003d4576005928354926001938481811c911680156200072d575b83821014620004b457601f8111620006f6575b5081601f84116001146200068c575092829391839260009462000680575b50501b916000199060031b1c191617905560ff90565b0151925038806200066a565b919083601f1981168760005284600020946000905b88838310620006db5750505010620006c1575b505050811b01905560ff90565b015160001960f88460031b161c19169055388080620006b4565b858701518855909601959485019487935090810190620006a1565b8560005284601f846000209201871c820191601f8601881c015b828110620007205750506200064c565b6000815501859062000710565b90607f169062000639565b805160209081811015620007655750601f825111620005d15780825192015190808310620005c257501790565b906001600160401b038211620003d457600654926001938481811c9116801562000884575b83821014620004b457601f81116200084a575b5081601f8411600114620007de5750928293918392600094620007d2575b50501b916000199060031b1c19161760065560ff90565b015192503880620007bb565b919083601f198116600660005284600020946000905b888383106200082f575050501062000815575b505050811b0160065560ff90565b015160001960f88460031b161c1916905538808062000807565b858701518855909601959485019487935090810190620007f4565b600660005284601f84600020920160051c820191601f860160051c015b828110620008775750506200079d565b6000815501859062000867565b90607f16906200078a56fe608060408181526004918236101561001657600080fd5b600092833560e01c918263048c661d14610c695750816306fdde0314610b9a578163095ea7b314610b7057816318160ddd14610b5157816323b872dd14610a51578163313ce56714610a3557816335381358146109005781633644e51514610a1157816340c10f19146109295781634be50d64146109005781635c921eb91461082057816370a08231146107e9578163715018a61461079e5781637ecebe001461076657816384b0196e1461064a5781638da5cb5b1461062157816395d89b411461055857816398d721e0146104d75781639dc29fac146103dc578163a9059cbb14610383578163d505accf1461021d578163dd62ed3e146101d4578163f2fde38b14610158575063f4224f3f1461012d57600080fd5b3461015457816003193601126101545760095490516001600160a01b039091168152602090f35b5080fd5b9050346101d05760203660031901126101d057610173610cce565b9061017c610cff565b6001600160a01b039182169283156101ba575050600880546001600160a01b0319811684179091551660008051602061130b8339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b505034610154578060031936011261015457806020926101f2610cce565b6101fa610ce9565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b839150346101545760e036600319011261015457610239610cce565b610241610ce9565b906044359260643560843560ff8116810361037f578142116103685760018060a01b0390818516928389526007602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811060018060401b03821117610355578b525190206103239161031a916102f4610f57565b908c519161190160f01b83526002830152602282015260c43591604260a4359220610e4c565b90929192610ed2565b1681810361033a5786610337878787610db9565b80f35b87516325c0072360e11b815292830152602482015260449150fd5b634e487b7160e01b8b526041875260248bfd5b875163313c898160e11b8152808401839052602490fd5b8680fd5b8284346103d957816003193601126103d9575061039e610cce565b6009549092906001600160a01b031633036103cb57506103c46020926024359033611253565b5160018152f35b9051633cc93d6760e21b8152fd5b80fd5b9050346101d057816003193601126101d0576103f6610cce565b916024359160018060a01b03806009541633036104c85784169384156104b95783156104aa5784865285602052828620549184831061048b57505091602091817fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59486885287855203818720558160025403600255858560008051602061132b833981519152858451868152a351908152a280f35b6104a68584865194859463391434e360e21b86528501611235565b0390fd5b50905163162908e360e11b8152fd5b50905163e6c4247b60e01b8152fd5b509051633cc93d6760e21b8152fd5b9050346101d05760203660031901126101d0576104f2610cce565b906104fb610cff565b6001600160a01b0391821692831561054b575050600980546001600160a01b031981168417909155167f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d8380a380f35b5163e6c4247b60e01b8152fd5b8383346101545781600319360112610154578051918093805461057a81610d2b565b808652916001918083169081156105f657506001146105bb575b6105b786866105a5828b0383610d96565b51918291602083526020830190610c8e565b0390f35b835260208084209096505b8284106105e357505050826105b7946105a5928201019486610594565b80548685018801529286019281016105c6565b90506105b797506105a59450602092508693915060ff191682840152151560051b8201019486610594565b50503461015457816003193601126101545760085490516001600160a01b039091168152602090f35b919050346101d057826003193601126101d0576106867f0000000000000000000000000000000000000000000000000000000000000000611080565b926106b07f000000000000000000000000000000000000000000000000000000000000000061117b565b908251926020928385019585871060018060401b03881117610753575092806107098388966106fc998b9996528686528151998a99600f60f81b8b5260e0868c015260e08b0190610c8e565b91898303908a0152610c8e565b924660608801523060808801528460a088015286840360c088015251928381520193925b82811061073c57505050500390f35b83518552869550938101939281019260010161072d565b634e487b7160e01b845260419052602483fd5b5050346101545760203660031901126101545760209181906001600160a01b0361078e610cce565b1681526007845220549051908152f35b83346103d957806003193601126103d9576107b7610cff565b600880546001600160a01b0319811690915581906001600160a01b031660008051602061130b8339815191528280a380f35b5050346101545760203660031901126101545760209181906001600160a01b03610811610cce565b16815280845220549051908152f35b919050346101d057806003193601126101d05761083b610cce565b6009546001600160a01b03929190831633036108f05782600a541692825190602082019263a9059cbb60e01b84521660248201526024356044820152604481526080810181811060018060401b038211176108dd5783525160209186919082865af1156108d45783513d6108cb5750813b155b6108b6578380f35b51635274afe760e01b81529182015260249150fd5b600114156108ae565b513d84823e3d90fd5b634e487b7160e01b875260418652602487fd5b8151633cc93d6760e21b81528490fd5b505034610154578160031936011261015457600a5490516001600160a01b039091168152602090f35b919050346101d057806003193601126101d057610944610cce565b60095460243592916001600160a01b039182163303610a0157169283156109f35782156109e557600254908382018092116109d25750916020917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688593600255848652858352808620828154019055848660008051602061132b833981519152858451868152a351908152a280f35b634e487b7160e01b865260119052602485fd5b905163162908e360e11b8152fd5b905163e6c4247b60e01b8152fd5b8251633cc93d6760e21b81528590fd5b505034610154578160031936011261015457602090610a2e610f57565b9051908152f35b5050346101545781600319360112610154576020905160128152f35b905082346103d95760603660031901126103d957610a6d610cce565b610a75610ce9565b916044359360018060a01b0380600954163303610b42578316808352600160205286832033845260205286832054916000198310610abc575b6020886103c4898989611253565b868310610b24578115610b0d573315610af6575082526001602090815286832033845281529186902090859003905582906103c487610aae565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b90506104a6868851938493637dc7a0d960e11b855233908501611235565b508551633cc93d6760e21b8152fd5b5050346101545781600319360112610154576020906002549051908152f35b5050346101545780600319360112610154576020906103c4610b90610cce565b6024359033610db9565b50503461015457816003193601126101545780519082600354610bbc81610d2b565b80855290600190818116908115610c415750600114610be8575b5050506105a5826105b7940383610d96565b60038352602095507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b828410610c2e57505050826105b7946105a59282010194610bd6565b8054868501880152928601928101610c12565b6105b797506105a59450602092508693915060ff191682840152151560051b82010194610bd6565b8490346101545781600319360112610154576009546001600160a01b03168152602090f35b919082519283825260005b848110610cba575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610c99565b600435906001600160a01b0382168203610ce457565b600080fd5b602435906001600160a01b0382168203610ce457565b6008546001600160a01b03163303610d1357565b60405163118cdaa760e01b8152336004820152602490fd5b90600182811c92168015610d5b575b6020831014610d4557565b634e487b7160e01b600052602260045260246000fd5b91607f1691610d3a565b604081019081106001600160401b03821117610d8057604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017610d8057604052565b6001600160a01b03908116918215610e335716918215610e1a5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b91906fa2a8918ca85bafe22016d0b997e4df60600160ff1b038411610ec657926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa15610eba5780516001600160a01b03811615610eb157918190565b50809160019190565b604051903d90823e3d90fd5b50505060009160039190565b6004811015610f415780610ee4575050565b60018103610efe5760405163f645eedf60e01b8152600490fd5b60028103610f1f5760405163fce698f760e01b815260048101839052602490fd5b600314610f295750565b602490604051906335e2f38360e21b82526004820152fd5b634e487b7160e01b600052602160045260246000fd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611057575b15610fb2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811060018060401b03821117610d805760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610f89565b60ff81146110be5760ff811690601f82116110ac57604051916110a283610d65565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b506040516005548160006110d183610d2b565b80835260019380851690811561115a57506001146110fa575b506110f792500382610d96565b90565b600560009081527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db094602093509091905b8183106111425750506110f79350820101386110ea565b8554878401850152948501948694509183019161112b565b90506110f794506020925060ff191682840152151560051b820101386110ea565b60ff811461119d5760ff811690601f82116110ac57604051916110a283610d65565b506040516006548160006111b083610d2b565b80835260019380851690811561115a57506001146111d557506110f792500382610d96565b600660009081527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f94602093509091905b81831061121d5750506110f79350820101386110ea565b85548784018501529485019486945091830191611206565b604091949392606082019560018060a01b0316825260208201520152565b916001600160a01b038084169283156112f157169283156112d857600090838252816020526040822054908382106112bb5750916040828260008051602061132b833981519152958760209652828652038282205586815220818154019055604051908152a3565b6104a68460405193849363391434e360e21b855260048501611235565b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209a36bd8548fae699a9c70ac86d61eb2f018bf3c552ae693f34ac395d4672696e64736f6c63430008140033",
828
- "deployedBytecode": "0x608060408181526004918236101561001657600080fd5b600092833560e01c918263048c661d14610c695750816306fdde0314610b9a578163095ea7b314610b7057816318160ddd14610b5157816323b872dd14610a51578163313ce56714610a3557816335381358146109005781633644e51514610a1157816340c10f19146109295781634be50d64146109005781635c921eb91461082057816370a08231146107e9578163715018a61461079e5781637ecebe001461076657816384b0196e1461064a5781638da5cb5b1461062157816395d89b411461055857816398d721e0146104d75781639dc29fac146103dc578163a9059cbb14610383578163d505accf1461021d578163dd62ed3e146101d4578163f2fde38b14610158575063f4224f3f1461012d57600080fd5b3461015457816003193601126101545760095490516001600160a01b039091168152602090f35b5080fd5b9050346101d05760203660031901126101d057610173610cce565b9061017c610cff565b6001600160a01b039182169283156101ba575050600880546001600160a01b0319811684179091551660008051602061130b8339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b505034610154578060031936011261015457806020926101f2610cce565b6101fa610ce9565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b839150346101545760e036600319011261015457610239610cce565b610241610ce9565b906044359260643560843560ff8116810361037f578142116103685760018060a01b0390818516928389526007602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811060018060401b03821117610355578b525190206103239161031a916102f4610f57565b908c519161190160f01b83526002830152602282015260c43591604260a4359220610e4c565b90929192610ed2565b1681810361033a5786610337878787610db9565b80f35b87516325c0072360e11b815292830152602482015260449150fd5b634e487b7160e01b8b526041875260248bfd5b875163313c898160e11b8152808401839052602490fd5b8680fd5b8284346103d957816003193601126103d9575061039e610cce565b6009549092906001600160a01b031633036103cb57506103c46020926024359033611253565b5160018152f35b9051633cc93d6760e21b8152fd5b80fd5b9050346101d057816003193601126101d0576103f6610cce565b916024359160018060a01b03806009541633036104c85784169384156104b95783156104aa5784865285602052828620549184831061048b57505091602091817fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59486885287855203818720558160025403600255858560008051602061132b833981519152858451868152a351908152a280f35b6104a68584865194859463391434e360e21b86528501611235565b0390fd5b50905163162908e360e11b8152fd5b50905163e6c4247b60e01b8152fd5b509051633cc93d6760e21b8152fd5b9050346101d05760203660031901126101d0576104f2610cce565b906104fb610cff565b6001600160a01b0391821692831561054b575050600980546001600160a01b031981168417909155167f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d8380a380f35b5163e6c4247b60e01b8152fd5b8383346101545781600319360112610154578051918093805461057a81610d2b565b808652916001918083169081156105f657506001146105bb575b6105b786866105a5828b0383610d96565b51918291602083526020830190610c8e565b0390f35b835260208084209096505b8284106105e357505050826105b7946105a5928201019486610594565b80548685018801529286019281016105c6565b90506105b797506105a59450602092508693915060ff191682840152151560051b8201019486610594565b50503461015457816003193601126101545760085490516001600160a01b039091168152602090f35b919050346101d057826003193601126101d0576106867f0000000000000000000000000000000000000000000000000000000000000000611080565b926106b07f000000000000000000000000000000000000000000000000000000000000000061117b565b908251926020928385019585871060018060401b03881117610753575092806107098388966106fc998b9996528686528151998a99600f60f81b8b5260e0868c015260e08b0190610c8e565b91898303908a0152610c8e565b924660608801523060808801528460a088015286840360c088015251928381520193925b82811061073c57505050500390f35b83518552869550938101939281019260010161072d565b634e487b7160e01b845260419052602483fd5b5050346101545760203660031901126101545760209181906001600160a01b0361078e610cce565b1681526007845220549051908152f35b83346103d957806003193601126103d9576107b7610cff565b600880546001600160a01b0319811690915581906001600160a01b031660008051602061130b8339815191528280a380f35b5050346101545760203660031901126101545760209181906001600160a01b03610811610cce565b16815280845220549051908152f35b919050346101d057806003193601126101d05761083b610cce565b6009546001600160a01b03929190831633036108f05782600a541692825190602082019263a9059cbb60e01b84521660248201526024356044820152604481526080810181811060018060401b038211176108dd5783525160209186919082865af1156108d45783513d6108cb5750813b155b6108b6578380f35b51635274afe760e01b81529182015260249150fd5b600114156108ae565b513d84823e3d90fd5b634e487b7160e01b875260418652602487fd5b8151633cc93d6760e21b81528490fd5b505034610154578160031936011261015457600a5490516001600160a01b039091168152602090f35b919050346101d057806003193601126101d057610944610cce565b60095460243592916001600160a01b039182163303610a0157169283156109f35782156109e557600254908382018092116109d25750916020917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688593600255848652858352808620828154019055848660008051602061132b833981519152858451868152a351908152a280f35b634e487b7160e01b865260119052602485fd5b905163162908e360e11b8152fd5b905163e6c4247b60e01b8152fd5b8251633cc93d6760e21b81528590fd5b505034610154578160031936011261015457602090610a2e610f57565b9051908152f35b5050346101545781600319360112610154576020905160128152f35b905082346103d95760603660031901126103d957610a6d610cce565b610a75610ce9565b916044359360018060a01b0380600954163303610b42578316808352600160205286832033845260205286832054916000198310610abc575b6020886103c4898989611253565b868310610b24578115610b0d573315610af6575082526001602090815286832033845281529186902090859003905582906103c487610aae565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b90506104a6868851938493637dc7a0d960e11b855233908501611235565b508551633cc93d6760e21b8152fd5b5050346101545781600319360112610154576020906002549051908152f35b5050346101545780600319360112610154576020906103c4610b90610cce565b6024359033610db9565b50503461015457816003193601126101545780519082600354610bbc81610d2b565b80855290600190818116908115610c415750600114610be8575b5050506105a5826105b7940383610d96565b60038352602095507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b828410610c2e57505050826105b7946105a59282010194610bd6565b8054868501880152928601928101610c12565b6105b797506105a59450602092508693915060ff191682840152151560051b82010194610bd6565b8490346101545781600319360112610154576009546001600160a01b03168152602090f35b919082519283825260005b848110610cba575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610c99565b600435906001600160a01b0382168203610ce457565b600080fd5b602435906001600160a01b0382168203610ce457565b6008546001600160a01b03163303610d1357565b60405163118cdaa760e01b8152336004820152602490fd5b90600182811c92168015610d5b575b6020831014610d4557565b634e487b7160e01b600052602260045260246000fd5b91607f1691610d3a565b604081019081106001600160401b03821117610d8057604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017610d8057604052565b6001600160a01b03908116918215610e335716918215610e1a5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b91906fa2a8918ca85bafe22016d0b997e4df60600160ff1b038411610ec657926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa15610eba5780516001600160a01b03811615610eb157918190565b50809160019190565b604051903d90823e3d90fd5b50505060009160039190565b6004811015610f415780610ee4575050565b60018103610efe5760405163f645eedf60e01b8152600490fd5b60028103610f1f5760405163fce698f760e01b815260048101839052602490fd5b600314610f295750565b602490604051906335e2f38360e21b82526004820152fd5b634e487b7160e01b600052602160045260246000fd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611057575b15610fb2577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811060018060401b03821117610d805760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614610f89565b60ff81146110be5760ff811690601f82116110ac57604051916110a283610d65565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b506040516005548160006110d183610d2b565b80835260019380851690811561115a57506001146110fa575b506110f792500382610d96565b90565b600560009081527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db094602093509091905b8183106111425750506110f79350820101386110ea565b8554878401850152948501948694509183019161112b565b90506110f794506020925060ff191682840152151560051b820101386110ea565b60ff811461119d5760ff811690601f82116110ac57604051916110a283610d65565b506040516006548160006111b083610d2b565b80835260019380851690811561115a57506001146111d557506110f792500382610d96565b600660009081527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f94602093509091905b81831061121d5750506110f79350820101386110ea565b85548784018501529485019486945091830191611206565b604091949392606082019560018060a01b0316825260208201520152565b916001600160a01b038084169283156112f157169283156112d857600090838252816020526040822054908382106112bb5750916040828260008051602061132b833981519152958760209652828652038282205586815220818154019055604051908152a3565b6104a68460405193849363391434e360e21b855260048501611235565b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fdfe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209a36bd8548fae699a9c70ac86d61eb2f018bf3c552ae693f34ac395d4672696e64736f6c63430008140033",
947
+ "bytecode": "0x610160604081815234620004d5576200230b8038038091620000228286620004da565b84398201608083820312620004d55782516001600160401b039290838111620004d557826200005391860162000523565b916020908186015190858211620004d5576200007191870162000523565b906200008d6060620000858589016200057e565b97016200057e565b9183519684880188811088821117620003d457855260019687895283890197603160f81b89528751828111620003d45760038054918383811c93168015620004ca575b88841014620004b457601f9283811162000469575b508088848211600114620003f657600091620003ea575b5060001982841b1c191690841b1781555b855191848311620003d45760049687548581811c91168015620003c9575b8a821014620003b45782811162000369575b5088918411600114620002fe57938394918492600095620002f2575b50501b92600019911b1c19161783555b620001748762000593565b97610120988952620001868a62000738565b97610140988952858151910120998a60e0525190209861010099808b524660a0528751958601917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528887015260608601524660808601523060a086015260a0855260c085019185831090831117620002dd57818752845190206080523060c0526001600160a01b03918216938415620002c6575050600880546001600160a01b0319808216861790925586519591949083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a316928315620002ba575050600a541617600a555191611a7b93846200089085396080518461121a015260a051846112d5015260c051846111e4015260e051846112690152518361128f01525182610907015251816109300152f35b63e6c4247b60e01b8152fd5b631e4fbdf760e01b8252600060c490910152602490fd5b604184634e487b7160e01b6000525260246000fd5b01519350388062000159565b9190601f1984169288600052848a6000209460005b8c8983831062000351575050501062000336575b50505050811b01835562000169565b01519060f884600019921b161c191690553880808062000327565b86860151895590970196948501948893500162000313565b88600052896000208380870160051c8201928c8810620003aa575b0160051c019086905b8281106200039d5750506200013d565b600081550186906200038d565b9250819262000384565b602289634e487b7160e01b6000525260246000fd5b90607f16906200012b565b634e487b7160e01b600052604160045260246000fd5b90508b015138620000fc565b8592508c90601f198316856000528b600020928c6000915b838310620004475750505083116200042e575b5050811b0181556200010d565b8d015160001983861b60f8161c19169055388062000421565b948482949597989293960151815501940192019087949392918f8d906200040e565b82600052886000208480840160051c8201928b8510620004aa575b0160051c019085905b8281106200049d575050620000e5565b600081550185906200048d565b9250819262000484565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000d0565b600080fd5b601f909101601f19168101906001600160401b03821190821017620003d457604052565b60005b838110620005125750506000910152565b818101518382015260200162000501565b81601f82011215620004d55780516001600160401b038111620003d457604051926200055a601f8301601f191660200185620004da565b81845260208284010111620004d5576200057b9160208085019101620004fe565b90565b51906001600160a01b0382168203620004d557565b8051602091908281101562000613575090601f825111620005d15780825192015190808310620005c257501790565b82600019910360031b1b161790565b604490620006059260405193849263305a27a960e01b845280600485015282519283918260248701528686019101620004fe565b601f01601f19168101030190fd5b6001600160401b038111620003d4576005928354926001938481811c911680156200072d575b83821014620004b457601f8111620006f6575b5081601f84116001146200068c575092829391839260009462000680575b50501b916000199060031b1c191617905560ff90565b0151925038806200066a565b919083601f1981168760005284600020946000905b88838310620006db5750505010620006c1575b505050811b01905560ff90565b015160001960f88460031b161c19169055388080620006b4565b858701518855909601959485019487935090810190620006a1565b8560005284601f846000209201871c820191601f8601881c015b828110620007205750506200064c565b6000815501859062000710565b90607f169062000639565b805160209081811015620007655750601f825111620005d15780825192015190808310620005c257501790565b906001600160401b038211620003d457600654926001938481811c9116801562000884575b83821014620004b457601f81116200084a575b5081601f8411600114620007de5750928293918392600094620007d2575b50501b916000199060031b1c19161760065560ff90565b015192503880620007bb565b919083601f198116600660005284600020946000905b888383106200082f575050501062000815575b505050811b0160065560ff90565b015160001960f88460031b161c1916905538808062000807565b858701518855909601959485019487935090810190620007f4565b600660005284601f84600020920160051c820191601f860160051c015b828110620008775750506200079d565b6000815501859062000867565b90607f16906200078a56fe6080604052600436101561001257600080fd5b60003560e01c8063048c661d146101e757806306fdde03146101e2578063095ea7b3146101dd57806312064c34146101d857806318160ddd146101d357806323b872dd146101ce578063244e77f9146101c9578063313ce567146101c457806335381358146101bf5780633644e515146101ba57806340c10f19146101b55780635c921eb9146101b05780636d454d88146101ab57806370a08231146101a6578063715018a6146101a15780637ecebe001461019c57806384b0196e146101975780638da5cb5b1461019257806395d89b411461018d57806398d721e0146101885780639dc29fac14610183578063a592d9ec1461017e578063a9059cbb14610179578063c084b10b14610174578063d505accf1461016f578063dd62ed3e1461016a578063ee9907a414610165578063f2fde38b146101605763f9a95b331461015b57600080fd5b610e6a565b610df4565b610dba565b610d6e565b610c2f565b610bea565b610bc4565b610ba6565b610b20565b610ab1565b610a0d565b6109e4565b6108ec565b6108b2565b610866565b610843565b610791565b61068e565b6105e1565b6105c6565b61059d565b610501565b6104e3565b610403565b6103e0565b6103a6565b610375565b610269565b34610210576000366003190112610210576009546040516001600160a01b039091168152602090f35b600080fd5b919082519283825260005b848110610241575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610220565b906020610266928181520190610215565b90565b3461021057600080600319360112610346576040518160035461028b81610edb565b8084529060019081811690811561031e57506001146102c5575b6102c1846102b581880382610f9c565b60405191829182610255565b0390f35b60038352602094507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061030b57505050816102c1936102b592820101936102a5565b80548585018701529285019281016102ef565b6102c196506102b59450602092508593915060ff191682840152151560051b820101936102a5565b80fd5b600435906001600160a01b038216820361021057565b602435906001600160a01b038216820361021057565b346102105760403660031901126102105761039b610391610349565b602435903361103e565b602060405160018152f35b34610210576020366003190112610210576001600160a01b036103c7610349565b1660005260006020526020604060002054604051908152f35b346102105760003660031901126102105760206103fb61163c565b604051908152f35b346102105760603660031901126102105761041c610349565b61042461035f565b6044359060018060a01b03831692836000526001602052610449336040600020611027565b54936001850161045f575b5061039b93506115d4565b8385106104c257156104a9573315610490578261039b94036104893361048484610ff3565b611027565b5538610454565b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b604051637dc7a0d960e11b8152806104df8688336004850161160f565b0390fd5b34610210576000366003190112610210576020600d54604051908152f35b346102105760008060031936011261034657600a5460405163313ce56760e01b815290602090829060049082906001600160a01b03165afa908115610598578291610555575b60405160ff83168152602090f35b90506020813d8211610590575b8161056f60209383610f9c565b8101031261058c576102c191505161058681610c24565b38610547565b5080fd5b3d9150610562565b6110ae565b3461021057600036600319011261021057600a546040516001600160a01b039091168152602090f35b346102105760003660031901126102105760206103fb6111e1565b34610210576040366003190112610210576105fa610349565b600954602435906001600160a01b03908116330361067c57821691821561066a578115610658578161064f7f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688593602093611523565b604051908152a2005b60405163162908e360e11b8152600490fd5b60405163e6c4247b60e01b8152600490fd5b604051633cc93d6760e21b8152600490fd5b34610210576040366003190112610210576106a7610349565b6009546001600160a01b03908116330361067c5761072d81600a54169160405190602082019463a9059cbb60e01b86521660248201526024356044820152604481526106f281610f2b565b600080948192519082865af13d15610789573d9061070f826114d3565b9161071d6040519384610f9c565b82523d85602084013e5b83611571565b8051908115159182610767575b5050610744575080f35b604051635274afe760e01b81526001600160a01b03919091166004820152602490fd5b61078292509060208061077e938301019101611559565b1590565b388061073a565b606090610727565b34610210576040366003190112610210576107aa610349565b6009546001600160a01b039190602435908316330361067c5760009282168352600b60205282604081209282845494811560001461083a57505080826107f26107f893610fbf565b55610fd9565b555b818111156108225761081261081f9261081a92611504565b600d54611516565b600d55565b80f35b61083261081a9161081f93611504565b600d54611504565b55506107fa9050565b346102105760203660031901126102105760206103fb610861610349565b6116b6565b346102105760008060031936011261034657610880610eaf565b600880546001600160a01b0319811690915581906001600160a01b0316600080516020611a068339815191528280a380f35b34610210576020366003190112610210576001600160a01b036108d3610349565b1660005260076020526020604060002054604051908152f35b3461021057600080600319360112610346576109969061092b7f0000000000000000000000000000000000000000000000000000000000000000611321565b6109547f0000000000000000000000000000000000000000000000000000000000000000611419565b916040519161096283610f4b565b818352604051948594600f60f81b865261098860209360e08589015260e0880190610215565b908682036040880152610215565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b8281106109cd57505050500390f35b8351855286955093810193928101926001016109be565b34610210576000366003190112610210576008546040516001600160a01b039091168152602090f35b34610210576000806003193601126103465760405181600454610a2f81610edb565b8084529060019081811690811561031e5750600114610a58576102c1846102b581880382610f9c565b60048352602094507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a9e57505050816102c1936102b592820101936102a5565b8054858501870152928501928101610a82565b3461021057602036600319011261021057610aca610349565b610ad2610eaf565b6001600160a01b0390811690811561066a57600980546001600160a01b031981168417909155167f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d600080a3005b3461021057604036600319011261021057610b39610349565b600954602435906001600160a01b03908116330361067c57821691821561066a5781156106585781610b917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5936000610ba194611726565b6040519081529081906020820190565b0390a2005b34610210576000366003190112610210576020600254604051908152f35b346102105760403660031901126102105761039b610be0610349565b60243590336115d4565b34610210576020366003190112610210576001600160a01b03610c0b610349565b16600052600b6020526020604060002054604051908152f35b60ff81160361021057565b346102105760e036600319011261021057610c48610349565b610c5061035f565b60443590606435608435610c6381610c24565b814211610d55576001600160a01b0385811660008181526007602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c99281019283529283019390935292861660608201526080810187905260a081019190915260c080820194909452928352610d0c929091610cf460e083610f9c565b610d0760c4359360a435935190206112fb565b611096565b6001600160a01b0384811690821603610d2b5750610d299261103e565b005b6040516325c0072360e11b81526001600160a01b0391821660048201529084166024820152604490fd5b60405163313c898160e11b815260048101839052602490fd5b34610210576040366003190112610210576020610db1610d8c610349565b610d9461035f565b6001600160a01b0390911660009081526001845260409020611027565b54604051908152f35b34610210576020366003190112610210576001600160a01b03610ddb610349565b16600052600c6020526020604060002054604051908152f35b3461021057602036600319011261021057610e0d610349565b610e15610eaf565b6001600160a01b03908116908115610e5157600880546001600160a01b03198116841790915516600080516020611a06833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b3461021057604036600319011261021057610e83610349565b6009546001600160a01b0391908216330361067c5716600052600c602052602435604060002055600080f35b6008546001600160a01b03163303610ec357565b60405163118cdaa760e01b8152336004820152602490fd5b90600182811c92168015610f0b575b6020831014610ef557565b634e487b7160e01b600052602260045260246000fd5b91607f1691610eea565b634e487b7160e01b600052604160045260246000fd5b608081019081106001600160401b03821117610f4657604052565b610f15565b602081019081106001600160401b03821117610f4657604052565b60c081019081106001600160401b03821117610f4657604052565b604081019081106001600160401b03821117610f4657604052565b601f909101601f19168101906001600160401b03821190821017610f4657604052565b6001600160a01b03166000908152600b6020526040902090565b6001600160a01b03166000908152600c6020526040902090565b6001600160a01b0316600090815260016020526040902090565b6001600160a01b0316600090815260208190526040902090565b9060018060a01b0316600052602052604060002090565b6001600160a01b0380821692919083156104a9578216938415610490578061108c7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92594610484602095610ff3565b55604051908152a3565b9161026693916110a5936110ba565b90929192611154565b6040513d6000823e3d90fd5b91906fa2a8918ca85bafe22016d0b997e4df60600160ff1b03841161112857926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa156105985780516001600160a01b0381161561111f57918190565b50809160019190565b50505060009160039190565b6004111561113e57565b634e487b7160e01b600052602160045260246000fd5b61115d81611134565b80611166575050565b61116f81611134565b600181036111895760405163f645eedf60e01b8152600490fd5b61119281611134565b600281036111b35760405163fce698f760e01b815260048101839052602490fd5b806111bf600392611134565b146111c75750565b6040516335e2f38360e21b81526004810191909152602490fd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614806112d2575b1561123c577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526112cc81610f66565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611213565b6042906113066111e1565b906040519161190160f01b8352600283015260228201522090565b60ff811461135f5760ff811690601f821161134d576040519161134383610f81565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b5060405160055481600061137283610edb565b8083526001938085169081156113f85750600114611398575b5061026692500382610f9c565b600560009081527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db094602093509091905b8183106113e057505061026693508201013861138b565b855487840185015294850194869450918301916113c9565b905061026694506020925060ff191682840152151560051b8201013861138b565b60ff811461143b5760ff811690601f821161134d576040519161134383610f81565b5060405160065481600061144e83610edb565b8083526001938085169081156113f85750600114611473575061026692500382610f9c565b600660009081527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f94602093509091905b8183106114bb57505061026693508201013861138b565b855487840185015294850194869450918301916114a4565b6001600160401b038111610f4657601f01601f191660200190565b634e487b7160e01b600052601160045260246000fd5b9190820391821161151157565b6114ee565b9190820180921161151157565b906001600160a01b038216156115405761153e916000611726565b565b60405163ec442f0560e01b815260006004820152602490fd5b90816020910312610210575180151581036102105790565b90611598575080511561158657805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806115cb575b6115a9575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156115a1565b91906001600160a01b03808416156115f6578116156115405761153e92611726565b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610210575190565b6009546001600160a01b031680156116af576020600491604051928380926322c14db960e01b82525afa80156105985761026691600091611681575b50600d546119cb565b6116a2915060203d81116116a8575b61169a8183610f9c565b81019061162d565b38611678565b503d611690565b5060025490565b6001600160a01b0390811690811561171457602090600954169160246040518094819363a4ad3e9f60e01b835260048301525afa908115610598576000916116fc575090565b610266915060203d81116116a85761169a8183610f9c565b50600052600060205260406000205490565b91906001600160a01b0380841690811515806118fe575b6118e3575b82169081151591826118d8575b505061175f575b61153e9261190a565b61176881610fbf565b611773838254611516565b905561177e81610fd9565b5461180457600954600493906020906117ad906117a1906001600160a01b031681565b6001600160a01b031690565b6040516322c14db960e01b815295869182905afa80156105985761153e946000916117e6575b506117dd83610fd9565b555b9250611756565b6117fe915060203d81116116a85761169a8183610f9c565b386117d3565b600954600490602090611821906117a1906001600160a01b031681565b6040516322c14db960e01b815292839182905afa908115610598576000916118ba575b5061187d61185b61185484610fd9565b5483611504565b61187861187261186a86610fbf565b5492836119cb565b82611516565b611504565b908161188f575b505061153e926117df565b906118b39161189d84610fd9565b556118ad61081a82600d54611516565b82611523565b3880611884565b6118d2915060203d81116116a85761169a8183610f9c565b38611844565b14159050388061174f565b6118ec85610fbf565b6118f7858254611504565b9055611742565b5080831682141561173d565b90916001600160a01b03808316928361197557508161195c91611946611941600080516020611a2683398151915295600254611516565b600255565b851694856119615750610b918160025403600255565b0390a3565b61196a9061100d565b818154019055610b91565b61197e8161100d565b548381106119ad579183916119a7600080516020611a268339815191529561195c95039161100d565b55611946565b906104df8460405193849363391434e360e21b85526004850161160f565b8115676765c793fa10079d601a1b19839004821115171561021057676765c793fa10079d601b1b9102676765c793fa10079d601a1b01049056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122003f3848b30cb88e716c7f30cc17bb3a06533f2fd06ed84001e100138ecaac48664736f6c63430008140033",
948
+ "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c8063048c661d146101e757806306fdde03146101e2578063095ea7b3146101dd57806312064c34146101d857806318160ddd146101d357806323b872dd146101ce578063244e77f9146101c9578063313ce567146101c457806335381358146101bf5780633644e515146101ba57806340c10f19146101b55780635c921eb9146101b05780636d454d88146101ab57806370a08231146101a6578063715018a6146101a15780637ecebe001461019c57806384b0196e146101975780638da5cb5b1461019257806395d89b411461018d57806398d721e0146101885780639dc29fac14610183578063a592d9ec1461017e578063a9059cbb14610179578063c084b10b14610174578063d505accf1461016f578063dd62ed3e1461016a578063ee9907a414610165578063f2fde38b146101605763f9a95b331461015b57600080fd5b610e6a565b610df4565b610dba565b610d6e565b610c2f565b610bea565b610bc4565b610ba6565b610b20565b610ab1565b610a0d565b6109e4565b6108ec565b6108b2565b610866565b610843565b610791565b61068e565b6105e1565b6105c6565b61059d565b610501565b6104e3565b610403565b6103e0565b6103a6565b610375565b610269565b34610210576000366003190112610210576009546040516001600160a01b039091168152602090f35b600080fd5b919082519283825260005b848110610241575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610220565b906020610266928181520190610215565b90565b3461021057600080600319360112610346576040518160035461028b81610edb565b8084529060019081811690811561031e57506001146102c5575b6102c1846102b581880382610f9c565b60405191829182610255565b0390f35b60038352602094507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061030b57505050816102c1936102b592820101936102a5565b80548585018701529285019281016102ef565b6102c196506102b59450602092508593915060ff191682840152151560051b820101936102a5565b80fd5b600435906001600160a01b038216820361021057565b602435906001600160a01b038216820361021057565b346102105760403660031901126102105761039b610391610349565b602435903361103e565b602060405160018152f35b34610210576020366003190112610210576001600160a01b036103c7610349565b1660005260006020526020604060002054604051908152f35b346102105760003660031901126102105760206103fb61163c565b604051908152f35b346102105760603660031901126102105761041c610349565b61042461035f565b6044359060018060a01b03831692836000526001602052610449336040600020611027565b54936001850161045f575b5061039b93506115d4565b8385106104c257156104a9573315610490578261039b94036104893361048484610ff3565b611027565b5538610454565b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b604051637dc7a0d960e11b8152806104df8688336004850161160f565b0390fd5b34610210576000366003190112610210576020600d54604051908152f35b346102105760008060031936011261034657600a5460405163313ce56760e01b815290602090829060049082906001600160a01b03165afa908115610598578291610555575b60405160ff83168152602090f35b90506020813d8211610590575b8161056f60209383610f9c565b8101031261058c576102c191505161058681610c24565b38610547565b5080fd5b3d9150610562565b6110ae565b3461021057600036600319011261021057600a546040516001600160a01b039091168152602090f35b346102105760003660031901126102105760206103fb6111e1565b34610210576040366003190112610210576105fa610349565b600954602435906001600160a01b03908116330361067c57821691821561066a578115610658578161064f7f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688593602093611523565b604051908152a2005b60405163162908e360e11b8152600490fd5b60405163e6c4247b60e01b8152600490fd5b604051633cc93d6760e21b8152600490fd5b34610210576040366003190112610210576106a7610349565b6009546001600160a01b03908116330361067c5761072d81600a54169160405190602082019463a9059cbb60e01b86521660248201526024356044820152604481526106f281610f2b565b600080948192519082865af13d15610789573d9061070f826114d3565b9161071d6040519384610f9c565b82523d85602084013e5b83611571565b8051908115159182610767575b5050610744575080f35b604051635274afe760e01b81526001600160a01b03919091166004820152602490fd5b61078292509060208061077e938301019101611559565b1590565b388061073a565b606090610727565b34610210576040366003190112610210576107aa610349565b6009546001600160a01b039190602435908316330361067c5760009282168352600b60205282604081209282845494811560001461083a57505080826107f26107f893610fbf565b55610fd9565b555b818111156108225761081261081f9261081a92611504565b600d54611516565b600d55565b80f35b61083261081a9161081f93611504565b600d54611504565b55506107fa9050565b346102105760203660031901126102105760206103fb610861610349565b6116b6565b346102105760008060031936011261034657610880610eaf565b600880546001600160a01b0319811690915581906001600160a01b0316600080516020611a068339815191528280a380f35b34610210576020366003190112610210576001600160a01b036108d3610349565b1660005260076020526020604060002054604051908152f35b3461021057600080600319360112610346576109969061092b7f0000000000000000000000000000000000000000000000000000000000000000611321565b6109547f0000000000000000000000000000000000000000000000000000000000000000611419565b916040519161096283610f4b565b818352604051948594600f60f81b865261098860209360e08589015260e0880190610215565b908682036040880152610215565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b8281106109cd57505050500390f35b8351855286955093810193928101926001016109be565b34610210576000366003190112610210576008546040516001600160a01b039091168152602090f35b34610210576000806003193601126103465760405181600454610a2f81610edb565b8084529060019081811690811561031e5750600114610a58576102c1846102b581880382610f9c565b60048352602094507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a9e57505050816102c1936102b592820101936102a5565b8054858501870152928501928101610a82565b3461021057602036600319011261021057610aca610349565b610ad2610eaf565b6001600160a01b0390811690811561066a57600980546001600160a01b031981168417909155167f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d600080a3005b3461021057604036600319011261021057610b39610349565b600954602435906001600160a01b03908116330361067c57821691821561066a5781156106585781610b917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5936000610ba194611726565b6040519081529081906020820190565b0390a2005b34610210576000366003190112610210576020600254604051908152f35b346102105760403660031901126102105761039b610be0610349565b60243590336115d4565b34610210576020366003190112610210576001600160a01b03610c0b610349565b16600052600b6020526020604060002054604051908152f35b60ff81160361021057565b346102105760e036600319011261021057610c48610349565b610c5061035f565b60443590606435608435610c6381610c24565b814211610d55576001600160a01b0385811660008181526007602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c99281019283529283019390935292861660608201526080810187905260a081019190915260c080820194909452928352610d0c929091610cf460e083610f9c565b610d0760c4359360a435935190206112fb565b611096565b6001600160a01b0384811690821603610d2b5750610d299261103e565b005b6040516325c0072360e11b81526001600160a01b0391821660048201529084166024820152604490fd5b60405163313c898160e11b815260048101839052602490fd5b34610210576040366003190112610210576020610db1610d8c610349565b610d9461035f565b6001600160a01b0390911660009081526001845260409020611027565b54604051908152f35b34610210576020366003190112610210576001600160a01b03610ddb610349565b16600052600c6020526020604060002054604051908152f35b3461021057602036600319011261021057610e0d610349565b610e15610eaf565b6001600160a01b03908116908115610e5157600880546001600160a01b03198116841790915516600080516020611a06833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b3461021057604036600319011261021057610e83610349565b6009546001600160a01b0391908216330361067c5716600052600c602052602435604060002055600080f35b6008546001600160a01b03163303610ec357565b60405163118cdaa760e01b8152336004820152602490fd5b90600182811c92168015610f0b575b6020831014610ef557565b634e487b7160e01b600052602260045260246000fd5b91607f1691610eea565b634e487b7160e01b600052604160045260246000fd5b608081019081106001600160401b03821117610f4657604052565b610f15565b602081019081106001600160401b03821117610f4657604052565b60c081019081106001600160401b03821117610f4657604052565b604081019081106001600160401b03821117610f4657604052565b601f909101601f19168101906001600160401b03821190821017610f4657604052565b6001600160a01b03166000908152600b6020526040902090565b6001600160a01b03166000908152600c6020526040902090565b6001600160a01b0316600090815260016020526040902090565b6001600160a01b0316600090815260208190526040902090565b9060018060a01b0316600052602052604060002090565b6001600160a01b0380821692919083156104a9578216938415610490578061108c7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92594610484602095610ff3565b55604051908152a3565b9161026693916110a5936110ba565b90929192611154565b6040513d6000823e3d90fd5b91906fa2a8918ca85bafe22016d0b997e4df60600160ff1b03841161112857926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa156105985780516001600160a01b0381161561111f57918190565b50809160019190565b50505060009160039190565b6004111561113e57565b634e487b7160e01b600052602160045260246000fd5b61115d81611134565b80611166575050565b61116f81611134565b600181036111895760405163f645eedf60e01b8152600490fd5b61119281611134565b600281036111b35760405163fce698f760e01b815260048101839052602490fd5b806111bf600392611134565b146111c75750565b6040516335e2f38360e21b81526004810191909152602490fd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614806112d2575b1561123c577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526112cc81610f66565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611213565b6042906113066111e1565b906040519161190160f01b8352600283015260228201522090565b60ff811461135f5760ff811690601f821161134d576040519161134383610f81565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b5060405160055481600061137283610edb565b8083526001938085169081156113f85750600114611398575b5061026692500382610f9c565b600560009081527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db094602093509091905b8183106113e057505061026693508201013861138b565b855487840185015294850194869450918301916113c9565b905061026694506020925060ff191682840152151560051b8201013861138b565b60ff811461143b5760ff811690601f821161134d576040519161134383610f81565b5060405160065481600061144e83610edb565b8083526001938085169081156113f85750600114611473575061026692500382610f9c565b600660009081527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f94602093509091905b8183106114bb57505061026693508201013861138b565b855487840185015294850194869450918301916114a4565b6001600160401b038111610f4657601f01601f191660200190565b634e487b7160e01b600052601160045260246000fd5b9190820391821161151157565b6114ee565b9190820180921161151157565b906001600160a01b038216156115405761153e916000611726565b565b60405163ec442f0560e01b815260006004820152602490fd5b90816020910312610210575180151581036102105790565b90611598575080511561158657805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806115cb575b6115a9575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156115a1565b91906001600160a01b03808416156115f6578116156115405761153e92611726565b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610210575190565b6009546001600160a01b031680156116af576020600491604051928380926322c14db960e01b82525afa80156105985761026691600091611681575b50600d546119cb565b6116a2915060203d81116116a8575b61169a8183610f9c565b81019061162d565b38611678565b503d611690565b5060025490565b6001600160a01b0390811690811561171457602090600954169160246040518094819363a4ad3e9f60e01b835260048301525afa908115610598576000916116fc575090565b610266915060203d81116116a85761169a8183610f9c565b50600052600060205260406000205490565b91906001600160a01b0380841690811515806118fe575b6118e3575b82169081151591826118d8575b505061175f575b61153e9261190a565b61176881610fbf565b611773838254611516565b905561177e81610fd9565b5461180457600954600493906020906117ad906117a1906001600160a01b031681565b6001600160a01b031690565b6040516322c14db960e01b815295869182905afa80156105985761153e946000916117e6575b506117dd83610fd9565b555b9250611756565b6117fe915060203d81116116a85761169a8183610f9c565b386117d3565b600954600490602090611821906117a1906001600160a01b031681565b6040516322c14db960e01b815292839182905afa908115610598576000916118ba575b5061187d61185b61185484610fd9565b5483611504565b61187861187261186a86610fbf565b5492836119cb565b82611516565b611504565b908161188f575b505061153e926117df565b906118b39161189d84610fd9565b556118ad61081a82600d54611516565b82611523565b3880611884565b6118d2915060203d81116116a85761169a8183610f9c565b38611844565b14159050388061174f565b6118ec85610fbf565b6118f7858254611504565b9055611742565b5080831682141561173d565b90916001600160a01b03808316928361197557508161195c91611946611941600080516020611a2683398151915295600254611516565b600255565b851694856119615750610b918160025403600255565b0390a3565b61196a9061100d565b818154019055610b91565b61197e8161100d565b548381106119ad579183916119a7600080516020611a268339815191529561195c95039161100d565b55611946565b906104df8460405193849363391434e360e21b85526004850161160f565b8115676765c793fa10079d601a1b19839004821115171561021057676765c793fa10079d601b1b9102676765c793fa10079d601a1b01049056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122003f3848b30cb88e716c7f30cc17bb3a06533f2fd06ed84001e100138ecaac48664736f6c63430008140033",
829
949
  "linkReferences": {},
830
950
  "deployedLinkReferences": {}
831
951
  }