@raac/rpc 1.1.0-beta.61 → 1.1.0-beta.63

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 (34) hide show
  1. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +124 -28
  2. package/dist/artifacts/core/collectors/RAACTokenCollector.sol/RAACTokenCollector.json +2 -2
  3. package/dist/artifacts/core/collectors/RWAIndexTokenCollector.sol/RWAIndexTokenCollector.json +2 -2
  4. package/dist/artifacts/core/collectors/Treasury.sol/Treasury.json +9 -3
  5. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +2 -2
  6. package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +2 -2
  7. package/dist/artifacts/core/oracles/RAACHousePriceOracle.sol/RAACHousePriceOracle.json +252 -29
  8. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +185 -29
  9. package/dist/artifacts/core/pools/LendingPool/ERC20AssetAdapter.sol/ERC20AssetAdapter.json +2 -2
  10. package/dist/artifacts/core/pools/LendingPool/ERC721AssetAdapter.sol/ERC721AssetAdapter.json +37 -3
  11. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +120 -54
  12. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +101 -83
  13. package/dist/artifacts/core/primitives/ComplianceRegistry.sol/ComplianceRegistry.json +2 -2
  14. package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +115 -88
  15. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +31 -21
  16. package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +114 -2
  17. package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +2 -2
  18. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +30 -2
  19. package/dist/artifacts/core/tokens/RWAIndexToken.sol/RWAIndexToken.json +25 -2
  20. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +2 -2
  21. package/dist/artifacts/core/vaults/ERC20VaultAdapter.sol/ERC20VaultAdapter.json +2 -2
  22. package/dist/artifacts/core/vaults/ERC721VaultAdapter.sol/ERC721VaultAdapter.json +56 -3
  23. package/dist/artifacts/core/vaults/RWAVault.sol/RWAVault.json +315 -85
  24. package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +2 -2
  25. package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +2 -2
  26. package/dist/artifacts/zeno/Auction.sol/Auction.json +2 -2
  27. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +2 -2
  28. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +2 -2
  29. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +2 -2
  30. package/dist/pools/lendingPool/getParameters.js +1 -3
  31. package/dist/pools/lendingPool/openVaultPosition.js +1 -0
  32. package/dist/scripts/index.js +14 -10
  33. package/dist/types/pools/lendingPool/getParameters.d.ts +0 -2
  34. package/package.json +1 -1
@@ -5,6 +5,11 @@
5
5
  "abi": [
6
6
  {
7
7
  "inputs": [
8
+ {
9
+ "internalType": "address",
10
+ "name": "_crvUSDToUSDOracle",
11
+ "type": "address"
12
+ },
8
13
  {
9
14
  "internalType": "address",
10
15
  "name": "initialOwner",
@@ -19,11 +24,6 @@
19
24
  "name": "ArrayLengthMismatch",
20
25
  "type": "error"
21
26
  },
22
- {
23
- "inputs": [],
24
- "name": "CircuitBreakerTriggered",
25
- "type": "error"
26
- },
27
27
  {
28
28
  "inputs": [],
29
29
  "name": "InvalidOraclePrice",
@@ -31,12 +31,7 @@
31
31
  },
32
32
  {
33
33
  "inputs": [],
34
- "name": "InvalidThresholds",
35
- "type": "error"
36
- },
37
- {
38
- "inputs": [],
39
- "name": "MinThresholdMustBePositive",
34
+ "name": "MaximumSyncers",
40
35
  "type": "error"
41
36
  },
42
37
  {
@@ -67,29 +62,9 @@
67
62
  "type": "error"
68
63
  },
69
64
  {
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"
65
+ "inputs": [],
66
+ "name": "SyncerDoesNotSupportInterface",
67
+ "type": "error"
93
68
  },
94
69
  {
95
70
  "anonymous": false,
@@ -97,11 +72,11 @@
97
72
  {
98
73
  "indexed": false,
99
74
  "internalType": "address",
100
- "name": "newDataFeed",
75
+ "name": "newCrvUSDToUSDOracle",
101
76
  "type": "address"
102
77
  }
103
78
  ],
104
- "name": "DataFeedUpdated",
79
+ "name": "CrvUSDToUSDOracleUpdated",
105
80
  "type": "event"
106
81
  },
107
82
  {
@@ -174,18 +149,39 @@
174
149
  "name": "PriceUpdated",
175
150
  "type": "event"
176
151
  },
152
+ {
153
+ "anonymous": false,
154
+ "inputs": [
155
+ {
156
+ "indexed": true,
157
+ "internalType": "address",
158
+ "name": "syncer",
159
+ "type": "address"
160
+ }
161
+ ],
162
+ "name": "SyncerAdded",
163
+ "type": "event"
164
+ },
165
+ {
166
+ "anonymous": false,
167
+ "inputs": [
168
+ {
169
+ "indexed": true,
170
+ "internalType": "address",
171
+ "name": "syncer",
172
+ "type": "address"
173
+ }
174
+ ],
175
+ "name": "SyncerRemoved",
176
+ "type": "event"
177
+ },
177
178
  {
178
179
  "inputs": [],
179
- "name": "checkCircuitBreakerStatus",
180
+ "name": "MAX_SYNCERS",
180
181
  "outputs": [
181
- {
182
- "internalType": "enum CircuitBreakerStatus",
183
- "name": "status",
184
- "type": "uint8"
185
- },
186
182
  {
187
183
  "internalType": "uint256",
188
- "name": "currentPrice",
184
+ "name": "",
189
185
  "type": "uint256"
190
186
  }
191
187
  ],
@@ -193,16 +189,16 @@
193
189
  "type": "function"
194
190
  },
195
191
  {
196
- "inputs": [],
197
- "name": "circuitBreakerEnabled",
198
- "outputs": [
192
+ "inputs": [
199
193
  {
200
- "internalType": "bool",
201
- "name": "",
202
- "type": "bool"
194
+ "internalType": "address",
195
+ "name": "_syncer",
196
+ "type": "address"
203
197
  }
204
198
  ],
205
- "stateMutability": "view",
199
+ "name": "addSyncer",
200
+ "outputs": [],
201
+ "stateMutability": "nonpayable",
206
202
  "type": "function"
207
203
  },
208
204
  {
@@ -220,10 +216,10 @@
220
216
  },
221
217
  {
222
218
  "inputs": [],
223
- "name": "dataFeed",
219
+ "name": "crvUSDToUSDOracle",
224
220
  "outputs": [
225
221
  {
226
- "internalType": "contract AggregatorV3Interface",
222
+ "internalType": "contract ICrvUSDToUSDOracle",
227
223
  "name": "",
228
224
  "type": "address"
229
225
  }
@@ -231,6 +227,19 @@
231
227
  "stateMutability": "view",
232
228
  "type": "function"
233
229
  },
230
+ {
231
+ "inputs": [],
232
+ "name": "crvUSDToUSDPrice",
233
+ "outputs": [
234
+ {
235
+ "internalType": "uint256",
236
+ "name": "",
237
+ "type": "uint256"
238
+ }
239
+ ],
240
+ "stateMutability": "view",
241
+ "type": "function"
242
+ },
234
243
  {
235
244
  "inputs": [],
236
245
  "name": "decimals",
@@ -241,7 +250,7 @@
241
250
  "type": "uint8"
242
251
  }
243
252
  ],
244
- "stateMutability": "pure",
253
+ "stateMutability": "view",
245
254
  "type": "function"
246
255
  },
247
256
  {
@@ -288,9 +297,20 @@
288
297
  "type": "function"
289
298
  },
290
299
  {
291
- "inputs": [],
292
- "name": "lastUpdateTimestamp",
300
+ "inputs": [
301
+ {
302
+ "internalType": "uint256",
303
+ "name": "_tokenId",
304
+ "type": "uint256"
305
+ }
306
+ ],
307
+ "name": "getRawPrice",
293
308
  "outputs": [
309
+ {
310
+ "internalType": "uint256",
311
+ "name": "",
312
+ "type": "uint256"
313
+ },
294
314
  {
295
315
  "internalType": "uint256",
296
316
  "name": "",
@@ -301,21 +321,27 @@
301
321
  "type": "function"
302
322
  },
303
323
  {
304
- "inputs": [],
305
- "name": "maxPriceThreshold",
306
- "outputs": [
324
+ "inputs": [
307
325
  {
308
326
  "internalType": "uint256",
309
- "name": "",
327
+ "name": "_tokenId",
310
328
  "type": "uint256"
311
329
  }
312
330
  ],
331
+ "name": "isPendingRequest",
332
+ "outputs": [
333
+ {
334
+ "internalType": "bool",
335
+ "name": "",
336
+ "type": "bool"
337
+ }
338
+ ],
313
339
  "stateMutability": "view",
314
340
  "type": "function"
315
341
  },
316
342
  {
317
343
  "inputs": [],
318
- "name": "minPriceThreshold",
344
+ "name": "lastUpdateTimestamp",
319
345
  "outputs": [
320
346
  {
321
347
  "internalType": "uint256",
@@ -352,40 +378,22 @@
352
378
  "stateMutability": "view",
353
379
  "type": "function"
354
380
  },
355
- {
356
- "inputs": [],
357
- "name": "renounceOwnership",
358
- "outputs": [],
359
- "stateMutability": "nonpayable",
360
- "type": "function"
361
- },
362
381
  {
363
382
  "inputs": [
364
383
  {
365
- "internalType": "bool",
366
- "name": "_enabled",
367
- "type": "bool"
384
+ "internalType": "address",
385
+ "name": "_syncer",
386
+ "type": "address"
368
387
  }
369
388
  ],
370
- "name": "setCircuitBreakerEnabled",
389
+ "name": "removeSyncer",
371
390
  "outputs": [],
372
391
  "stateMutability": "nonpayable",
373
392
  "type": "function"
374
393
  },
375
394
  {
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",
395
+ "inputs": [],
396
+ "name": "renounceOwnership",
389
397
  "outputs": [],
390
398
  "stateMutability": "nonpayable",
391
399
  "type": "function"
@@ -394,11 +402,11 @@
394
402
  "inputs": [
395
403
  {
396
404
  "internalType": "address",
397
- "name": "_dataFeed",
405
+ "name": "_crvUSDToUSDOracle",
398
406
  "type": "address"
399
407
  }
400
408
  ],
401
- "name": "setDataFeed",
409
+ "name": "setCrvUSDToUSDOracle",
402
410
  "outputs": [],
403
411
  "stateMutability": "nonpayable",
404
412
  "type": "function"
@@ -452,6 +460,25 @@
452
460
  "stateMutability": "nonpayable",
453
461
  "type": "function"
454
462
  },
463
+ {
464
+ "inputs": [
465
+ {
466
+ "internalType": "uint256",
467
+ "name": "",
468
+ "type": "uint256"
469
+ }
470
+ ],
471
+ "name": "syncers",
472
+ "outputs": [
473
+ {
474
+ "internalType": "address",
475
+ "name": "",
476
+ "type": "address"
477
+ }
478
+ ],
479
+ "stateMutability": "view",
480
+ "type": "function"
481
+ },
455
482
  {
456
483
  "inputs": [
457
484
  {
@@ -504,8 +531,8 @@
504
531
  "type": "function"
505
532
  }
506
533
  ],
507
- "bytecode": "0x6080346100de57601f610e2638819003918201601f19168301916001600160401b038311848410176100e3578084926020946040528339810103126100de57516001600160a01b0390818116908190036100de5780156100c557600080546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36005805460ff60a01b1916600160a01b17905563055d4a8060065563068e7780600755610d2c90816100fa8239f35b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816306661abd146107aa575080630d8bb7071461077d57806314bcec9f1461075e57806314fb95d814610736578063313ce5671461071a5780633c25734c146106f25780633cbb3a12146106d357806367e15f1b14610665578063715018a61461061d5780637adbf973146105af5780637dc0d1d0146105865780638da5cb5b1461055e5780639c7b84fe146104a65780639dd906b11461043f5780639e42ff9014610416578063a8fd872a146103d1578063ab9068fa146103aa578063ae39e3d11461032d578063b94fe91714610300578063d42443e5146102e1578063f15074a6146101945763f2fde38b1461011657600080fd5b34610190576020366003190112610190576001600160a01b0382358181169391929084900361018c57610147610811565b831561017657505082546001600160a01b031981168317845516600080516020610c978339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8480fd5b8280fd5b508290346102dd57806003193601126102dd576001600160401b039083358281116102d9576101c690369086016107e1565b909260243590811161018c576101df90369087016107e1565b60055490969192906001600160a01b031633036102ca578681036102bb57855b81811061020e57864260095580f35b80878661021f61029594868b610c38565b3561022b848d8a610c38565b3581845260016020908082528285872055600282524285872055600380835260ff86882054161560001461029a5786869186600080516020610cb783398151915299528452209060ff198254161790556102858954610c29565b89558351928352820152a1610c29565b6101ff565b5050600080516020610c7783398151915294508351928352820152a1610c29565b50825163512509d360e11b8152fd5b508251631bc2178f60e01b8152fd5b8380fd5b5080fd5b8382346102dd57816003193601126102dd576020906006549051908152f35b50913461032a57602036600319011261032a575061031e9035610932565b82519182526020820152f35b80fd5b509190346102dd5761033e366107c6565b939091610349610811565b8483101561039c57821561038e5750610388600080516020610cd78339815191529394836006558060075560ff60055460a01c16925193849384610c5e565b0390a180f35b9051632dee6d8360e11b8152fd5b9051632e83089360e11b8152fd5b8382346102dd57816003193601126102dd5760209060ff60055460a01c1690519015158152f35b50913461032a578060031936011261032a576103eb610b10565b91845193600683101561040357505082526020820152f35b634e487b7160e01b825260219052602490fd5b8382346102dd57816003193601126102dd5760085490516001600160a01b039091168152602090f35b509034610190576020366003190112610190573590811515918281036102d957600080516020610cd783398151915292610477610811565b6005549060ff60a01b9060a01b169060ff60a01b19161760055561038860065492600754905193849384610c5e565b5034610190576104b5366107c6565b6005546001600160a01b0316330361054f578185526020600181528184872055600281524284872055426009556003815260ff84872054161560001461053257600080516020610cb78339815191529483875260038252848720600160ff198254161790556105248154610c29565b90558351928352820152a180f35b600080516020610c7783398151915294508351928352820152a180f35b505051631bc2178f60e01b8152fd5b8382346102dd57816003193601126102dd57905490516001600160a01b039091168152602090f35b8382346102dd57816003193601126102dd5760055490516001600160a01b039091168152602090f35b50903461019057602036600319011261019057356001600160a01b0381169190829003610190577f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b818094039491602091610603610811565b600580546001600160a01b0319168317905551908152a180f35b833461032a578060031936011261032a57610636610811565b80546001600160a01b03198116825581906001600160a01b0316600080516020610c978339815191528280a380f35b50903461019057602036600319011261019057356001600160a01b0381169190829003610190577f51968e3ae57d6668edc4e8ad0d437288053124ac4a02c2483d134ea7dccd632c916020916106b9610811565b600880546001600160a01b0319168317905551908152a180f35b8382346102dd57816003193601126102dd576020906007549051908152f35b5090346101905760203660031901126101905760209282913581526002845220549051908152f35b8382346102dd57816003193601126102dd576020905160128152f35b5090346101905760203660031901126101905760209282913581526001845220549051908152f35b8382346102dd57816003193601126102dd576020906009549051908152f35b509034610190576020366003190112610190578160209360ff923581526003855220541690519015158152f35b8490843461019057826003193601126101905760209250548152f35b60409060031901126107dc576004359060243590565b600080fd5b9181601f840112156107dc578235916001600160401b0383116107dc576020808501948460051b0101116107dc57565b6000546001600160a01b0316330361082557565b60405163118cdaa760e01b8152336004820152602490fd5b601f909101601f19168101906001600160401b0382119082101761086057604052565b634e487b7160e01b600052604160045260246000fd5b908160209103126107dc575160ff811681036107dc5790565b51906001600160501b03821682036107dc57565b908160a09103126107dc576108b78161088f565b916020820151916040810151916108d560806060840151930161088f565b90565b60ff16604d81116108e957600a0a90565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156108e957565b811561091c570490565b634e487b7160e01b600052601260045260246000fd5b600081815260016020526040808220546008549394939192916001600160a01b0316806109685750935b81526002602052205490565b835163313ce56760e01b815290602082600481845afa918215610a83579060049392918592610a8d575b5060a090865194858092633fabe5a360e21b82525afa928315610a83578493610a4e575b5083831315610a195760ff60055460a01c166109ef575b6109e992916109de6109e4926108d8565b906108ff565b610912565b9361095c565b6109fb81600654610ac0565b610a0782600754610ac0565b908410908115610a44575b50156109cd575b505050505090610a4090600052600160205260406000205490600260205260406000205490565b9091565b9050831138610a12565b610a7091935060a03d8111610a7c575b610a68818361083d565b8101906108a3565b505050905091386109b6565b503d610a5e565b85513d86823e3d90fd5b60a0919250610ab29060203d8111610ab9575b610aaa818361083d565b810190610876565b9190610992565b503d610aa0565b9060ff1660088103610ad0575090565b6008811115610af257600719019060ff82116108e9576109de6108d5926108d8565b6008039060ff82116108e957610b0a6108d5926108d8565b90610912565b6008546001600160a01b0316908115610c2057604051633fabe5a360e21b81529160a083600481845afa928315610bdf57600093610bfb575b508260ff60055460a01c1615610bf25760001215610beb5760206004916040519283809263313ce56760e01b82525afa908115610bdf57600091610bc1575b50610ba1610b9882600654610ac0565b91600754610ac0565b908310610bba578211610bb45760009190565b60059190565b5060049190565b610bd9915060203d8111610ab957610aaa818361083d565b38610b88565b6040513d6000823e3d90fd5b5060039190565b92505060029190565b610c1491935060a03d8111610a7c57610a68818361083d565b50505090509138610b49565b60019150600090565b60001981146108e95760010190565b9190811015610c485760051b0190565b634e487b7160e01b600052603260045260246000fd5b6040919493926060820195151582526020820152015256fe945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd6968388be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e07393d057d37814434148feec34ad65270756908d7a4e3e2554331ebaad5b04b34219c0488eab8e33b581d3e29fb4fb066aa86f75e6c6e443ba90dff9aebf10ffa2646970667358221220cd8c72c856901a0e5a4ee1e9acd319ad194090c38ffae109cee495513f5e3d0b64736f6c63430008140033",
508
- "deployedBytecode": "0x608060408181526004908136101561001657600080fd5b600092833560e01c90816306661abd146107aa575080630d8bb7071461077d57806314bcec9f1461075e57806314fb95d814610736578063313ce5671461071a5780633c25734c146106f25780633cbb3a12146106d357806367e15f1b14610665578063715018a61461061d5780637adbf973146105af5780637dc0d1d0146105865780638da5cb5b1461055e5780639c7b84fe146104a65780639dd906b11461043f5780639e42ff9014610416578063a8fd872a146103d1578063ab9068fa146103aa578063ae39e3d11461032d578063b94fe91714610300578063d42443e5146102e1578063f15074a6146101945763f2fde38b1461011657600080fd5b34610190576020366003190112610190576001600160a01b0382358181169391929084900361018c57610147610811565b831561017657505082546001600160a01b031981168317845516600080516020610c978339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8480fd5b8280fd5b508290346102dd57806003193601126102dd576001600160401b039083358281116102d9576101c690369086016107e1565b909260243590811161018c576101df90369087016107e1565b60055490969192906001600160a01b031633036102ca578681036102bb57855b81811061020e57864260095580f35b80878661021f61029594868b610c38565b3561022b848d8a610c38565b3581845260016020908082528285872055600282524285872055600380835260ff86882054161560001461029a5786869186600080516020610cb783398151915299528452209060ff198254161790556102858954610c29565b89558351928352820152a1610c29565b6101ff565b5050600080516020610c7783398151915294508351928352820152a1610c29565b50825163512509d360e11b8152fd5b508251631bc2178f60e01b8152fd5b8380fd5b5080fd5b8382346102dd57816003193601126102dd576020906006549051908152f35b50913461032a57602036600319011261032a575061031e9035610932565b82519182526020820152f35b80fd5b509190346102dd5761033e366107c6565b939091610349610811565b8483101561039c57821561038e5750610388600080516020610cd78339815191529394836006558060075560ff60055460a01c16925193849384610c5e565b0390a180f35b9051632dee6d8360e11b8152fd5b9051632e83089360e11b8152fd5b8382346102dd57816003193601126102dd5760209060ff60055460a01c1690519015158152f35b50913461032a578060031936011261032a576103eb610b10565b91845193600683101561040357505082526020820152f35b634e487b7160e01b825260219052602490fd5b8382346102dd57816003193601126102dd5760085490516001600160a01b039091168152602090f35b509034610190576020366003190112610190573590811515918281036102d957600080516020610cd783398151915292610477610811565b6005549060ff60a01b9060a01b169060ff60a01b19161760055561038860065492600754905193849384610c5e565b5034610190576104b5366107c6565b6005546001600160a01b0316330361054f578185526020600181528184872055600281524284872055426009556003815260ff84872054161560001461053257600080516020610cb78339815191529483875260038252848720600160ff198254161790556105248154610c29565b90558351928352820152a180f35b600080516020610c7783398151915294508351928352820152a180f35b505051631bc2178f60e01b8152fd5b8382346102dd57816003193601126102dd57905490516001600160a01b039091168152602090f35b8382346102dd57816003193601126102dd5760055490516001600160a01b039091168152602090f35b50903461019057602036600319011261019057356001600160a01b0381169190829003610190577f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b818094039491602091610603610811565b600580546001600160a01b0319168317905551908152a180f35b833461032a578060031936011261032a57610636610811565b80546001600160a01b03198116825581906001600160a01b0316600080516020610c978339815191528280a380f35b50903461019057602036600319011261019057356001600160a01b0381169190829003610190577f51968e3ae57d6668edc4e8ad0d437288053124ac4a02c2483d134ea7dccd632c916020916106b9610811565b600880546001600160a01b0319168317905551908152a180f35b8382346102dd57816003193601126102dd576020906007549051908152f35b5090346101905760203660031901126101905760209282913581526002845220549051908152f35b8382346102dd57816003193601126102dd576020905160128152f35b5090346101905760203660031901126101905760209282913581526001845220549051908152f35b8382346102dd57816003193601126102dd576020906009549051908152f35b509034610190576020366003190112610190578160209360ff923581526003855220541690519015158152f35b8490843461019057826003193601126101905760209250548152f35b60409060031901126107dc576004359060243590565b600080fd5b9181601f840112156107dc578235916001600160401b0383116107dc576020808501948460051b0101116107dc57565b6000546001600160a01b0316330361082557565b60405163118cdaa760e01b8152336004820152602490fd5b601f909101601f19168101906001600160401b0382119082101761086057604052565b634e487b7160e01b600052604160045260246000fd5b908160209103126107dc575160ff811681036107dc5790565b51906001600160501b03821682036107dc57565b908160a09103126107dc576108b78161088f565b916020820151916040810151916108d560806060840151930161088f565b90565b60ff16604d81116108e957600a0a90565b634e487b7160e01b600052601160045260246000fd5b818102929181159184041417156108e957565b811561091c570490565b634e487b7160e01b600052601260045260246000fd5b600081815260016020526040808220546008549394939192916001600160a01b0316806109685750935b81526002602052205490565b835163313ce56760e01b815290602082600481845afa918215610a83579060049392918592610a8d575b5060a090865194858092633fabe5a360e21b82525afa928315610a83578493610a4e575b5083831315610a195760ff60055460a01c166109ef575b6109e992916109de6109e4926108d8565b906108ff565b610912565b9361095c565b6109fb81600654610ac0565b610a0782600754610ac0565b908410908115610a44575b50156109cd575b505050505090610a4090600052600160205260406000205490600260205260406000205490565b9091565b9050831138610a12565b610a7091935060a03d8111610a7c575b610a68818361083d565b8101906108a3565b505050905091386109b6565b503d610a5e565b85513d86823e3d90fd5b60a0919250610ab29060203d8111610ab9575b610aaa818361083d565b810190610876565b9190610992565b503d610aa0565b9060ff1660088103610ad0575090565b6008811115610af257600719019060ff82116108e9576109de6108d5926108d8565b6008039060ff82116108e957610b0a6108d5926108d8565b90610912565b6008546001600160a01b0316908115610c2057604051633fabe5a360e21b81529160a083600481845afa928315610bdf57600093610bfb575b508260ff60055460a01c1615610bf25760001215610beb5760206004916040519283809263313ce56760e01b82525afa908115610bdf57600091610bc1575b50610ba1610b9882600654610ac0565b91600754610ac0565b908310610bba578211610bb45760009190565b60059190565b5060049190565b610bd9915060203d8111610ab957610aaa818361083d565b38610b88565b6040513d6000823e3d90fd5b5060039190565b92505060029190565b610c1491935060a03d8111610a7c57610a68818361083d565b50505090509138610b49565b60019150600090565b60001981146108e95760010190565b9190811015610c485760051b0190565b634e487b7160e01b600052603260045260246000fd5b6040919493926060820195151582526020820152015256fe945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd6968388be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e07393d057d37814434148feec34ad65270756908d7a4e3e2554331ebaad5b04b34219c0488eab8e33b581d3e29fb4fb066aa86f75e6c6e443ba90dff9aebf10ffa2646970667358221220cd8c72c856901a0e5a4ee1e9acd319ad194090c38ffae109cee495513f5e3d0b64736f6c63430008140033",
534
+ "bytecode": "0x6080346100d557601f6110fa38819003918201601f19168301916001600160401b038311848410176100da5780849260409485528339810103126100d5576020610048826100f0565b916001600160a01b0391829161005e91016100f0565b169081156100bc576000549260018060a01b03199280848616176000558260405195167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a316906008541617600855610ff590816101058239f35b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100d55756fe608060408181526004908136101561001657600080fd5b600092833560e01c908163051f612614610ce05750806306661abd14610cc25780630d8bb70714610c955780630e39f6f814610c6057806314bcec9f14610c4157806314fb95d814610c19578063313ce56714610b9e5780633c25734c14610b765780634061cf5a14610a53578063674c47be14610a2a578063715018a6146109e257806376bb0a2e146109c65780637adbf973146109585780637dc0d1d01461092f5780638da5cb5b1461090757806394b01731146108065780639c7b84fe146106af578063b4a45f2d1461066e578063b94fe9171461053f578063cddb4d9b146104d1578063ddc2391714610396578063f15074a61461019f5763f2fde38b1461012157600080fd5b3461019b57602036600319011261019b576001600160a01b0382358181169391929084900361019757610152610d6b565b831561018157505082546001600160a01b031981168317845516600080516020610f808339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8480fd5b8280fd5b503461019b578060031936011261019b576001600160401b03918035838111610197576101cf9036908301610d36565b929093602435908111610392576101e99036908401610d36565b600554909591946001600160a01b03929091831633036103825786820361037257875b82811061021b57884260065580f35b610226818484610e5b565b35610232828a8a610e5b565b35818b528a6001926020848152848a842093858554955560028352428c8220558c8c60039485815260ff82852054161560001461035157600080516020610fa0833981519152928785528682528285208660ff198254161790556102968154610e36565b905588825191888352820152a15b80915b6102c1575b505050505050506102bc90610e36565b61020c565b60075482101561034c578a6102d583610d05565b905490851b1c1690813b15610349578587928f8f88916103098692519788968795869463592ccf6560e01b86528501610e45565b03925af1801561033c579161032591889361032d575b50610e36565b908f906102a7565b61033690610d97565b3861031f565b508f8c51903d90823e3d90fd5b80fd5b6102ac565b600080516020610f60833981519152925088825191888352820152a16102a4565b5050505163512509d360e11b8152fd5b50505051631bc2178f60e01b8152fd5b8580fd5b5050346104cd5760203660031901126104cd5780356001600160a01b03818116918290036104c9576103c6610d6b565b835b6007805490818310156104c0578391856103e185610d05565b949054600395861b1c1614610401575050506103fc90610e36565b6103c8565b919495909392600019928381019081116104ad57906104338561042661045294610d05565b9054908a1b1c1691610d05565b90919082549060031b9160018060a01b03809116831b921b1916179055565b835490811561049a5750019261046784610d05565b81939154921b1b19169055557f49afc9b2efe43d9bde87589ef7a6e40e18db21be754f8370c59122989f429efc8280a280f35b634e487b7160e01b885260319052602487fd5b634e487b7160e01b895260118352602489fd5b50505050505080f35b8380fd5b5080fd5b50903461019b57602036600319011261019b57356001600160a01b038116919082900361019b577fcf51e7896b09d63d4ae82a9f1cabe0e3658e1e03d72cb19f5912f224da0b9b2d91602091610525610d6b565b600880546001600160a01b0319168317905551908152a180f35b509190346104cd5760208060031936011261019b5781358084526001825284842054600854865163313ce56760e01b81526001600160a01b0390911695929190848187818a5afa9081156106645786926105a587936105ab938891610637575b50610dfc565b90610e23565b96885196878092634c6afee560e11b82525afa94851561062d5783956105fe575b5084156105eb5750908591815260028352205491845193048352820152f35b634e487b7160e01b835260129052602482fd5b9094508381813d8311610626575b6106168183610dc0565b8101031261019b575193386105cc565b503d61060c565b87513d85823e3d90fd5b6106579150853d871161065d575b61064f8183610dc0565b810190610de3565b3861059f565b503d610645565b88513d86823e3d90fd5b50903461019b57602036600319011261019b5735916007548310156103495750610699602092610d05565b905491519160018060a01b039160031b1c168152f35b50903461019b578160031936011261019b576005548135926024359290916001600160a01b039190821633036107f857908591858352600195602092878452858520938785549555600281524287872055426006556003908181528760ff8189205416156000146107d857600080516020610fa0833981519152918589528381528189208c60ff198254161790556107478754610e36565b87558a825191878352820152a15b85895b610760578680f35b6007548110156107d4578261077482610d05565b905490841b1c16803b156107d05787878b9287838a6107a68f519788968795869463592ccf6560e01b86528501610e45565b03925af180156107c657906107c0929161032d5750610e36565b89610758565b89513d8a823e3d90fd5b8780fd5b8680f35b600080516020610f60833981519152918a825191878352820152a1610755565b8251631bc2178f60e01b8152fd5b5082346103495780600319360112610349576008548251634c6afee560e11b8152602094909290916001600160a01b031685848481845afa9384156108cc5790869183956108d6575b50855163313ce56760e01b815291908290859082905afa9081156108cc579060ff9183916108af575b50166012039160ff831161089c575050906105a561089592610dfc565b9051908152f35b634e487b7160e01b825260119052602490fd5b6108c69150873d891161065d5761064f8183610dc0565b87610878565b85513d84823e3d90fd5b8281939296503d8311610900575b6108ee8183610dc0565b810103126104cd57519285908361084f565b503d6108e4565b8382346104cd57816003193601126104cd57905490516001600160a01b039091168152602090f35b8382346104cd57816003193601126104cd5760055490516001600160a01b039091168152602090f35b50903461019b57602036600319011261019b57356001600160a01b038116919082900361019b577f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394916020916109ac610d6b565b600580546001600160a01b0319168317905551908152a180f35b8382346104cd57816003193601126104cd576020905160058152f35b83346103495780600319360112610349576109fb610d6b565b80546001600160a01b03198116825581906001600160a01b0316600080516020610f808339815191528280a380f35b5082346103495760203660031901126103495750610a4a60209235610e83565b90519015158152f35b508290346104cd5760203660031901126104cd5782356001600160a01b038116918282036104c957610a83610d6b565b600754906005821015610b675780516301ffc9a760e01b815263592ccf6560e01b87820152602081602481885afa908115610b5d578691610b2f575b5015610b205750600160401b811015610b0d5790610433826001610ae69401600755610d05565b7f0e1333058688a01545a33657f51ace53a4e62eb940b37ee5b7b3c2e2445c4bcd8280a280f35b634e487b7160e01b845260418552602484fd5b51632c30672160e11b81528590fd5b610b50915060203d8111610b56575b610b488183610dc0565b810190610e6b565b87610abf565b503d610b3e565b82513d88823e3d90fd5b51630256539560e21b81528590fd5b50903461019b57602036600319011261019b5760209282913581526002845220549051908152f35b503461019b578260031936011261019b57600854815163313ce56760e01b81529260209184919082906001600160a01b03165afa918215610c0f5760209392610bed575b5060ff905191168152f35b60ff919250610c0890843d811161065d5761064f8183610dc0565b9190610be2565b81513d85823e3d90fd5b50903461019b57602036600319011261019b5760209282913581526001845220549051908152f35b8382346104cd57816003193601126104cd576020906006549051908152f35b509190346104cd5760203660031901126104cd5735815260016020528180822054916002602052205482519182526020820152f35b50903461019b57602036600319011261019b578160209360ff923581526003855220541690519015158152f35b50903461019b578260031936011261019b5760209250549051908152f35b8490346104cd57816003193601126104cd576008546001600160a01b03168152602090f35b600754811015610d2057600760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9181601f84011215610d66578235916001600160401b038311610d66576020808501948460051b010111610d6657565b600080fd5b6000546001600160a01b03163303610d7f57565b60405163118cdaa760e01b8152336004820152602490fd5b6001600160401b038111610daa57604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017610daa57604052565b90816020910312610d66575160ff81168103610d665790565b60ff16604d8111610e0d57600a0a90565b634e487b7160e01b600052601160045260246000fd5b81810292918115918404141715610e0d57565b6000198114610e0d5760010190565b6040919493926060820195825260208201520152565b9190811015610d205760051b0190565b90816020910312610d6657518015158103610d665790565b6005546001600160a01b0316908115610f58576040516333a623df60e11b602082019081526024808301939093529181526001600160401b0391906060810183811182821017610daa576040526000938492839251915afa3d15610f4f573d918211610f3b5760405191610f01601f8201601f191660200184610dc0565b82523d83602084013e5b158015610f32575b610f2e57610f2b915060208082518301019101610e6b565b90565b5090565b50805115610f13565b634e487b7160e01b83526041600452602483fd5b60609150610f0b565b505060009056fe945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd6968388be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e07393d057d37814434148feec34ad65270756908d7a4e3e2554331ebaad5b04b3a2646970667358221220d90ba05b6f5b0dd703c49595eb3f1b1c88447a4a384b3678e3c7f08c9545da2f64736f6c63430008140033",
535
+ "deployedBytecode": "0x608060408181526004908136101561001657600080fd5b600092833560e01c908163051f612614610ce05750806306661abd14610cc25780630d8bb70714610c955780630e39f6f814610c6057806314bcec9f14610c4157806314fb95d814610c19578063313ce56714610b9e5780633c25734c14610b765780634061cf5a14610a53578063674c47be14610a2a578063715018a6146109e257806376bb0a2e146109c65780637adbf973146109585780637dc0d1d01461092f5780638da5cb5b1461090757806394b01731146108065780639c7b84fe146106af578063b4a45f2d1461066e578063b94fe9171461053f578063cddb4d9b146104d1578063ddc2391714610396578063f15074a61461019f5763f2fde38b1461012157600080fd5b3461019b57602036600319011261019b576001600160a01b0382358181169391929084900361019757610152610d6b565b831561018157505082546001600160a01b031981168317845516600080516020610f808339815191528380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8480fd5b8280fd5b503461019b578060031936011261019b576001600160401b03918035838111610197576101cf9036908301610d36565b929093602435908111610392576101e99036908401610d36565b600554909591946001600160a01b03929091831633036103825786820361037257875b82811061021b57884260065580f35b610226818484610e5b565b35610232828a8a610e5b565b35818b528a6001926020848152848a842093858554955560028352428c8220558c8c60039485815260ff82852054161560001461035157600080516020610fa0833981519152928785528682528285208660ff198254161790556102968154610e36565b905588825191888352820152a15b80915b6102c1575b505050505050506102bc90610e36565b61020c565b60075482101561034c578a6102d583610d05565b905490851b1c1690813b15610349578587928f8f88916103098692519788968795869463592ccf6560e01b86528501610e45565b03925af1801561033c579161032591889361032d575b50610e36565b908f906102a7565b61033690610d97565b3861031f565b508f8c51903d90823e3d90fd5b80fd5b6102ac565b600080516020610f60833981519152925088825191888352820152a16102a4565b5050505163512509d360e11b8152fd5b50505051631bc2178f60e01b8152fd5b8580fd5b5050346104cd5760203660031901126104cd5780356001600160a01b03818116918290036104c9576103c6610d6b565b835b6007805490818310156104c0578391856103e185610d05565b949054600395861b1c1614610401575050506103fc90610e36565b6103c8565b919495909392600019928381019081116104ad57906104338561042661045294610d05565b9054908a1b1c1691610d05565b90919082549060031b9160018060a01b03809116831b921b1916179055565b835490811561049a5750019261046784610d05565b81939154921b1b19169055557f49afc9b2efe43d9bde87589ef7a6e40e18db21be754f8370c59122989f429efc8280a280f35b634e487b7160e01b885260319052602487fd5b634e487b7160e01b895260118352602489fd5b50505050505080f35b8380fd5b5080fd5b50903461019b57602036600319011261019b57356001600160a01b038116919082900361019b577fcf51e7896b09d63d4ae82a9f1cabe0e3658e1e03d72cb19f5912f224da0b9b2d91602091610525610d6b565b600880546001600160a01b0319168317905551908152a180f35b509190346104cd5760208060031936011261019b5781358084526001825284842054600854865163313ce56760e01b81526001600160a01b0390911695929190848187818a5afa9081156106645786926105a587936105ab938891610637575b50610dfc565b90610e23565b96885196878092634c6afee560e11b82525afa94851561062d5783956105fe575b5084156105eb5750908591815260028352205491845193048352820152f35b634e487b7160e01b835260129052602482fd5b9094508381813d8311610626575b6106168183610dc0565b8101031261019b575193386105cc565b503d61060c565b87513d85823e3d90fd5b6106579150853d871161065d575b61064f8183610dc0565b810190610de3565b3861059f565b503d610645565b88513d86823e3d90fd5b50903461019b57602036600319011261019b5735916007548310156103495750610699602092610d05565b905491519160018060a01b039160031b1c168152f35b50903461019b578160031936011261019b576005548135926024359290916001600160a01b039190821633036107f857908591858352600195602092878452858520938785549555600281524287872055426006556003908181528760ff8189205416156000146107d857600080516020610fa0833981519152918589528381528189208c60ff198254161790556107478754610e36565b87558a825191878352820152a15b85895b610760578680f35b6007548110156107d4578261077482610d05565b905490841b1c16803b156107d05787878b9287838a6107a68f519788968795869463592ccf6560e01b86528501610e45565b03925af180156107c657906107c0929161032d5750610e36565b89610758565b89513d8a823e3d90fd5b8780fd5b8680f35b600080516020610f60833981519152918a825191878352820152a1610755565b8251631bc2178f60e01b8152fd5b5082346103495780600319360112610349576008548251634c6afee560e11b8152602094909290916001600160a01b031685848481845afa9384156108cc5790869183956108d6575b50855163313ce56760e01b815291908290859082905afa9081156108cc579060ff9183916108af575b50166012039160ff831161089c575050906105a561089592610dfc565b9051908152f35b634e487b7160e01b825260119052602490fd5b6108c69150873d891161065d5761064f8183610dc0565b87610878565b85513d84823e3d90fd5b8281939296503d8311610900575b6108ee8183610dc0565b810103126104cd57519285908361084f565b503d6108e4565b8382346104cd57816003193601126104cd57905490516001600160a01b039091168152602090f35b8382346104cd57816003193601126104cd5760055490516001600160a01b039091168152602090f35b50903461019b57602036600319011261019b57356001600160a01b038116919082900361019b577f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394916020916109ac610d6b565b600580546001600160a01b0319168317905551908152a180f35b8382346104cd57816003193601126104cd576020905160058152f35b83346103495780600319360112610349576109fb610d6b565b80546001600160a01b03198116825581906001600160a01b0316600080516020610f808339815191528280a380f35b5082346103495760203660031901126103495750610a4a60209235610e83565b90519015158152f35b508290346104cd5760203660031901126104cd5782356001600160a01b038116918282036104c957610a83610d6b565b600754906005821015610b675780516301ffc9a760e01b815263592ccf6560e01b87820152602081602481885afa908115610b5d578691610b2f575b5015610b205750600160401b811015610b0d5790610433826001610ae69401600755610d05565b7f0e1333058688a01545a33657f51ace53a4e62eb940b37ee5b7b3c2e2445c4bcd8280a280f35b634e487b7160e01b845260418552602484fd5b51632c30672160e11b81528590fd5b610b50915060203d8111610b56575b610b488183610dc0565b810190610e6b565b87610abf565b503d610b3e565b82513d88823e3d90fd5b51630256539560e21b81528590fd5b50903461019b57602036600319011261019b5760209282913581526002845220549051908152f35b503461019b578260031936011261019b57600854815163313ce56760e01b81529260209184919082906001600160a01b03165afa918215610c0f5760209392610bed575b5060ff905191168152f35b60ff919250610c0890843d811161065d5761064f8183610dc0565b9190610be2565b81513d85823e3d90fd5b50903461019b57602036600319011261019b5760209282913581526001845220549051908152f35b8382346104cd57816003193601126104cd576020906006549051908152f35b509190346104cd5760203660031901126104cd5735815260016020528180822054916002602052205482519182526020820152f35b50903461019b57602036600319011261019b578160209360ff923581526003855220541690519015158152f35b50903461019b578260031936011261019b5760209250549051908152f35b8490346104cd57816003193601126104cd576008546001600160a01b03168152602090f35b600754811015610d2057600760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9181601f84011215610d66578235916001600160401b038311610d66576020808501948460051b010111610d6657565b600080fd5b6000546001600160a01b03163303610d7f57565b60405163118cdaa760e01b8152336004820152602490fd5b6001600160401b038111610daa57604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b03821190821017610daa57604052565b90816020910312610d66575160ff81168103610d665790565b60ff16604d8111610e0d57600a0a90565b634e487b7160e01b600052601160045260246000fd5b81810292918115918404141715610e0d57565b6000198114610e0d5760010190565b6040919493926060820195825260208201520152565b9190811015610d205760051b0190565b90816020910312610d6657518015158103610d665790565b6005546001600160a01b0316908115610f58576040516333a623df60e11b602082019081526024808301939093529181526001600160401b0391906060810183811182821017610daa576040526000938492839251915afa3d15610f4f573d918211610f3b5760405191610f01601f8201601f191660200184610dc0565b82523d83602084013e5b158015610f32575b610f2e57610f2b915060208082518301019101610e6b565b90565b5090565b50805115610f13565b634e487b7160e01b83526041600452602483fd5b60609150610f0b565b505060009056fe945c1c4e99aa89f648fbfe3df471b916f719e16d960fcec0737d4d56bd6968388be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e07393d057d37814434148feec34ad65270756908d7a4e3e2554331ebaad5b04b3a2646970667358221220d90ba05b6f5b0dd703c49595eb3f1b1c88447a4a384b3678e3c7f08c9545da2f64736f6c63430008140033",
509
536
  "linkReferences": {},
510
537
  "deployedLinkReferences": {}
511
538
  }
@@ -24,6 +24,11 @@
24
24
  "internalType": "address",
25
25
  "name": "_rTokenAddress",
26
26
  "type": "address"
27
+ },
28
+ {
29
+ "internalType": "address",
30
+ "name": "_complianceRegistry",
31
+ "type": "address"
27
32
  }
28
33
  ],
29
34
  "stateMutability": "nonpayable",
@@ -51,6 +56,16 @@
51
56
  "name": "AddressInsufficientBalance",
52
57
  "type": "error"
53
58
  },
59
+ {
60
+ "inputs": [],
61
+ "name": "BlacklistedAddress",
62
+ "type": "error"
63
+ },
64
+ {
65
+ "inputs": [],
66
+ "name": "CannotDepositAndTransferInSameBlock",
67
+ "type": "error"
68
+ },
54
69
  {
55
70
  "inputs": [],
56
71
  "name": "ECDSAInvalidSignature",
@@ -506,6 +521,19 @@
506
521
  "stateMutability": "nonpayable",
507
522
  "type": "function"
508
523
  },
524
+ {
525
+ "inputs": [],
526
+ "name": "complianceRegistry",
527
+ "outputs": [
528
+ {
529
+ "internalType": "contract IComplianceRegistry",
530
+ "name": "",
531
+ "type": "address"
532
+ }
533
+ ],
534
+ "stateMutability": "view",
535
+ "type": "function"
536
+ },
509
537
  {
510
538
  "inputs": [],
511
539
  "name": "decimals",
@@ -564,7 +592,7 @@
564
592
  },
565
593
  {
566
594
  "inputs": [],
567
- "name": "getScaledTotalSupply",
595
+ "name": "getRawTotalDeposits",
568
596
  "outputs": [
569
597
  {
570
598
  "internalType": "uint256",
@@ -784,24 +812,6 @@
784
812
  "stateMutability": "nonpayable",
785
813
  "type": "function"
786
814
  },
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
815
  {
806
816
  "inputs": [
807
817
  {
@@ -944,8 +954,8 @@
944
954
  "type": "function"
945
955
  }
946
956
  ],
947
- "bytecode": "0x610160604081815234620004d5576200230b8038038091620000228286620004da565b84398201608083820312620004d55782516001600160401b039290838111620004d557826200005391860162000523565b916020908186015190858211620004d5576200007191870162000523565b906200008d6060620000858589016200057e565b97016200057e565b9183519684880188811088821117620003d457855260019687895283890197603160f81b89528751828111620003d45760038054918383811c93168015620004ca575b88841014620004b457601f9283811162000469575b508088848211600114620003f657600091620003ea575b5060001982841b1c191690841b1781555b855191848311620003d45760049687548581811c91168015620003c9575b8a821014620003b45782811162000369575b5088918411600114620002fe57938394918492600095620002f2575b50501b92600019911b1c19161783555b620001748762000593565b97610120988952620001868a62000738565b97610140988952858151910120998a60e0525190209861010099808b524660a0528751958601917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528887015260608601524660808601523060a086015260a0855260c085019185831090831117620002dd57818752845190206080523060c0526001600160a01b03918216938415620002c6575050600880546001600160a01b0319808216861790925586519591949083167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a316928315620002ba575050600a541617600a555191611a7b93846200089085396080518461121a015260a051846112d5015260c051846111e4015260e051846112690152518361128f01525182610907015251816109300152f35b63e6c4247b60e01b8152fd5b631e4fbdf760e01b8252600060c490910152602490fd5b604184634e487b7160e01b6000525260246000fd5b01519350388062000159565b9190601f1984169288600052848a6000209460005b8c8983831062000351575050501062000336575b50505050811b01835562000169565b01519060f884600019921b161c191690553880808062000327565b86860151895590970196948501948893500162000313565b88600052896000208380870160051c8201928c8810620003aa575b0160051c019086905b8281106200039d5750506200013d565b600081550186906200038d565b9250819262000384565b602289634e487b7160e01b6000525260246000fd5b90607f16906200012b565b634e487b7160e01b600052604160045260246000fd5b90508b015138620000fc565b8592508c90601f198316856000528b600020928c6000915b838310620004475750505083116200042e575b5050811b0181556200010d565b8d015160001983861b60f8161c19169055388062000421565b948482949597989293960151815501940192019087949392918f8d906200040e565b82600052886000208480840160051c8201928b8510620004aa575b0160051c019085905b8281106200049d575050620000e5565b600081550185906200048d565b9250819262000484565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000d0565b600080fd5b601f909101601f19168101906001600160401b03821190821017620003d457604052565b60005b838110620005125750506000910152565b818101518382015260200162000501565b81601f82011215620004d55780516001600160401b038111620003d457604051926200055a601f8301601f191660200185620004da565b81845260208284010111620004d5576200057b9160208085019101620004fe565b90565b51906001600160a01b0382168203620004d557565b8051602091908281101562000613575090601f825111620005d15780825192015190808310620005c257501790565b82600019910360031b1b161790565b604490620006059260405193849263305a27a960e01b845280600485015282519283918260248701528686019101620004fe565b601f01601f19168101030190fd5b6001600160401b038111620003d4576005928354926001938481811c911680156200072d575b83821014620004b457601f8111620006f6575b5081601f84116001146200068c575092829391839260009462000680575b50501b916000199060031b1c191617905560ff90565b0151925038806200066a565b919083601f1981168760005284600020946000905b88838310620006db5750505010620006c1575b505050811b01905560ff90565b015160001960f88460031b161c19169055388080620006b4565b858701518855909601959485019487935090810190620006a1565b8560005284601f846000209201871c820191601f8601881c015b828110620007205750506200064c565b6000815501859062000710565b90607f169062000639565b805160209081811015620007655750601f825111620005d15780825192015190808310620005c257501790565b906001600160401b038211620003d457600654926001938481811c9116801562000884575b83821014620004b457601f81116200084a575b5081601f8411600114620007de5750928293918392600094620007d2575b50501b916000199060031b1c19161760065560ff90565b015192503880620007bb565b919083601f198116600660005284600020946000905b888383106200082f575050501062000815575b505050811b0160065560ff90565b015160001960f88460031b161c1916905538808062000807565b858701518855909601959485019487935090810190620007f4565b600660005284601f84600020920160051c820191601f860160051c015b828110620008775750506200079d565b6000815501859062000867565b90607f16906200078a56fe6080604052600436101561001257600080fd5b60003560e01c8063048c661d146101e757806306fdde03146101e2578063095ea7b3146101dd57806312064c34146101d857806318160ddd146101d357806323b872dd146101ce578063244e77f9146101c9578063313ce567146101c457806335381358146101bf5780633644e515146101ba57806340c10f19146101b55780635c921eb9146101b05780636d454d88146101ab57806370a08231146101a6578063715018a6146101a15780637ecebe001461019c57806384b0196e146101975780638da5cb5b1461019257806395d89b411461018d57806398d721e0146101885780639dc29fac14610183578063a592d9ec1461017e578063a9059cbb14610179578063c084b10b14610174578063d505accf1461016f578063dd62ed3e1461016a578063ee9907a414610165578063f2fde38b146101605763f9a95b331461015b57600080fd5b610e6a565b610df4565b610dba565b610d6e565b610c2f565b610bea565b610bc4565b610ba6565b610b20565b610ab1565b610a0d565b6109e4565b6108ec565b6108b2565b610866565b610843565b610791565b61068e565b6105e1565b6105c6565b61059d565b610501565b6104e3565b610403565b6103e0565b6103a6565b610375565b610269565b34610210576000366003190112610210576009546040516001600160a01b039091168152602090f35b600080fd5b919082519283825260005b848110610241575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610220565b906020610266928181520190610215565b90565b3461021057600080600319360112610346576040518160035461028b81610edb565b8084529060019081811690811561031e57506001146102c5575b6102c1846102b581880382610f9c565b60405191829182610255565b0390f35b60038352602094507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061030b57505050816102c1936102b592820101936102a5565b80548585018701529285019281016102ef565b6102c196506102b59450602092508593915060ff191682840152151560051b820101936102a5565b80fd5b600435906001600160a01b038216820361021057565b602435906001600160a01b038216820361021057565b346102105760403660031901126102105761039b610391610349565b602435903361103e565b602060405160018152f35b34610210576020366003190112610210576001600160a01b036103c7610349565b1660005260006020526020604060002054604051908152f35b346102105760003660031901126102105760206103fb61163c565b604051908152f35b346102105760603660031901126102105761041c610349565b61042461035f565b6044359060018060a01b03831692836000526001602052610449336040600020611027565b54936001850161045f575b5061039b93506115d4565b8385106104c257156104a9573315610490578261039b94036104893361048484610ff3565b611027565b5538610454565b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b604051637dc7a0d960e11b8152806104df8688336004850161160f565b0390fd5b34610210576000366003190112610210576020600d54604051908152f35b346102105760008060031936011261034657600a5460405163313ce56760e01b815290602090829060049082906001600160a01b03165afa908115610598578291610555575b60405160ff83168152602090f35b90506020813d8211610590575b8161056f60209383610f9c565b8101031261058c576102c191505161058681610c24565b38610547565b5080fd5b3d9150610562565b6110ae565b3461021057600036600319011261021057600a546040516001600160a01b039091168152602090f35b346102105760003660031901126102105760206103fb6111e1565b34610210576040366003190112610210576105fa610349565b600954602435906001600160a01b03908116330361067c57821691821561066a578115610658578161064f7f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688593602093611523565b604051908152a2005b60405163162908e360e11b8152600490fd5b60405163e6c4247b60e01b8152600490fd5b604051633cc93d6760e21b8152600490fd5b34610210576040366003190112610210576106a7610349565b6009546001600160a01b03908116330361067c5761072d81600a54169160405190602082019463a9059cbb60e01b86521660248201526024356044820152604481526106f281610f2b565b600080948192519082865af13d15610789573d9061070f826114d3565b9161071d6040519384610f9c565b82523d85602084013e5b83611571565b8051908115159182610767575b5050610744575080f35b604051635274afe760e01b81526001600160a01b03919091166004820152602490fd5b61078292509060208061077e938301019101611559565b1590565b388061073a565b606090610727565b34610210576040366003190112610210576107aa610349565b6009546001600160a01b039190602435908316330361067c5760009282168352600b60205282604081209282845494811560001461083a57505080826107f26107f893610fbf565b55610fd9565b555b818111156108225761081261081f9261081a92611504565b600d54611516565b600d55565b80f35b61083261081a9161081f93611504565b600d54611504565b55506107fa9050565b346102105760203660031901126102105760206103fb610861610349565b6116b6565b346102105760008060031936011261034657610880610eaf565b600880546001600160a01b0319811690915581906001600160a01b0316600080516020611a068339815191528280a380f35b34610210576020366003190112610210576001600160a01b036108d3610349565b1660005260076020526020604060002054604051908152f35b3461021057600080600319360112610346576109969061092b7f0000000000000000000000000000000000000000000000000000000000000000611321565b6109547f0000000000000000000000000000000000000000000000000000000000000000611419565b916040519161096283610f4b565b818352604051948594600f60f81b865261098860209360e08589015260e0880190610215565b908682036040880152610215565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b8281106109cd57505050500390f35b8351855286955093810193928101926001016109be565b34610210576000366003190112610210576008546040516001600160a01b039091168152602090f35b34610210576000806003193601126103465760405181600454610a2f81610edb565b8084529060019081811690811561031e5750600114610a58576102c1846102b581880382610f9c565b60048352602094507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a9e57505050816102c1936102b592820101936102a5565b8054858501870152928501928101610a82565b3461021057602036600319011261021057610aca610349565b610ad2610eaf565b6001600160a01b0390811690811561066a57600980546001600160a01b031981168417909155167f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d600080a3005b3461021057604036600319011261021057610b39610349565b600954602435906001600160a01b03908116330361067c57821691821561066a5781156106585781610b917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5936000610ba194611726565b6040519081529081906020820190565b0390a2005b34610210576000366003190112610210576020600254604051908152f35b346102105760403660031901126102105761039b610be0610349565b60243590336115d4565b34610210576020366003190112610210576001600160a01b03610c0b610349565b16600052600b6020526020604060002054604051908152f35b60ff81160361021057565b346102105760e036600319011261021057610c48610349565b610c5061035f565b60443590606435608435610c6381610c24565b814211610d55576001600160a01b0385811660008181526007602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c99281019283529283019390935292861660608201526080810187905260a081019190915260c080820194909452928352610d0c929091610cf460e083610f9c565b610d0760c4359360a435935190206112fb565b611096565b6001600160a01b0384811690821603610d2b5750610d299261103e565b005b6040516325c0072360e11b81526001600160a01b0391821660048201529084166024820152604490fd5b60405163313c898160e11b815260048101839052602490fd5b34610210576040366003190112610210576020610db1610d8c610349565b610d9461035f565b6001600160a01b0390911660009081526001845260409020611027565b54604051908152f35b34610210576020366003190112610210576001600160a01b03610ddb610349565b16600052600c6020526020604060002054604051908152f35b3461021057602036600319011261021057610e0d610349565b610e15610eaf565b6001600160a01b03908116908115610e5157600880546001600160a01b03198116841790915516600080516020611a06833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b3461021057604036600319011261021057610e83610349565b6009546001600160a01b0391908216330361067c5716600052600c602052602435604060002055600080f35b6008546001600160a01b03163303610ec357565b60405163118cdaa760e01b8152336004820152602490fd5b90600182811c92168015610f0b575b6020831014610ef557565b634e487b7160e01b600052602260045260246000fd5b91607f1691610eea565b634e487b7160e01b600052604160045260246000fd5b608081019081106001600160401b03821117610f4657604052565b610f15565b602081019081106001600160401b03821117610f4657604052565b60c081019081106001600160401b03821117610f4657604052565b604081019081106001600160401b03821117610f4657604052565b601f909101601f19168101906001600160401b03821190821017610f4657604052565b6001600160a01b03166000908152600b6020526040902090565b6001600160a01b03166000908152600c6020526040902090565b6001600160a01b0316600090815260016020526040902090565b6001600160a01b0316600090815260208190526040902090565b9060018060a01b0316600052602052604060002090565b6001600160a01b0380821692919083156104a9578216938415610490578061108c7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92594610484602095610ff3565b55604051908152a3565b9161026693916110a5936110ba565b90929192611154565b6040513d6000823e3d90fd5b91906fa2a8918ca85bafe22016d0b997e4df60600160ff1b03841161112857926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa156105985780516001600160a01b0381161561111f57918190565b50809160019190565b50505060009160039190565b6004111561113e57565b634e487b7160e01b600052602160045260246000fd5b61115d81611134565b80611166575050565b61116f81611134565b600181036111895760405163f645eedf60e01b8152600490fd5b61119281611134565b600281036111b35760405163fce698f760e01b815260048101839052602490fd5b806111bf600392611134565b146111c75750565b6040516335e2f38360e21b81526004810191909152602490fd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614806112d2575b1561123c577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526112cc81610f66565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611213565b6042906113066111e1565b906040519161190160f01b8352600283015260228201522090565b60ff811461135f5760ff811690601f821161134d576040519161134383610f81565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b5060405160055481600061137283610edb565b8083526001938085169081156113f85750600114611398575b5061026692500382610f9c565b600560009081527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db094602093509091905b8183106113e057505061026693508201013861138b565b855487840185015294850194869450918301916113c9565b905061026694506020925060ff191682840152151560051b8201013861138b565b60ff811461143b5760ff811690601f821161134d576040519161134383610f81565b5060405160065481600061144e83610edb565b8083526001938085169081156113f85750600114611473575061026692500382610f9c565b600660009081527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f94602093509091905b8183106114bb57505061026693508201013861138b565b855487840185015294850194869450918301916114a4565b6001600160401b038111610f4657601f01601f191660200190565b634e487b7160e01b600052601160045260246000fd5b9190820391821161151157565b6114ee565b9190820180921161151157565b906001600160a01b038216156115405761153e916000611726565b565b60405163ec442f0560e01b815260006004820152602490fd5b90816020910312610210575180151581036102105790565b90611598575080511561158657805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806115cb575b6115a9575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156115a1565b91906001600160a01b03808416156115f6578116156115405761153e92611726565b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610210575190565b6009546001600160a01b031680156116af576020600491604051928380926322c14db960e01b82525afa80156105985761026691600091611681575b50600d546119cb565b6116a2915060203d81116116a8575b61169a8183610f9c565b81019061162d565b38611678565b503d611690565b5060025490565b6001600160a01b0390811690811561171457602090600954169160246040518094819363a4ad3e9f60e01b835260048301525afa908115610598576000916116fc575090565b610266915060203d81116116a85761169a8183610f9c565b50600052600060205260406000205490565b91906001600160a01b0380841690811515806118fe575b6118e3575b82169081151591826118d8575b505061175f575b61153e9261190a565b61176881610fbf565b611773838254611516565b905561177e81610fd9565b5461180457600954600493906020906117ad906117a1906001600160a01b031681565b6001600160a01b031690565b6040516322c14db960e01b815295869182905afa80156105985761153e946000916117e6575b506117dd83610fd9565b555b9250611756565b6117fe915060203d81116116a85761169a8183610f9c565b386117d3565b600954600490602090611821906117a1906001600160a01b031681565b6040516322c14db960e01b815292839182905afa908115610598576000916118ba575b5061187d61185b61185484610fd9565b5483611504565b61187861187261186a86610fbf565b5492836119cb565b82611516565b611504565b908161188f575b505061153e926117df565b906118b39161189d84610fd9565b556118ad61081a82600d54611516565b82611523565b3880611884565b6118d2915060203d81116116a85761169a8183610f9c565b38611844565b14159050388061174f565b6118ec85610fbf565b6118f7858254611504565b9055611742565b5080831682141561173d565b90916001600160a01b03808316928361197557508161195c91611946611941600080516020611a2683398151915295600254611516565b600255565b851694856119615750610b918160025403600255565b0390a3565b61196a9061100d565b818154019055610b91565b61197e8161100d565b548381106119ad579183916119a7600080516020611a268339815191529561195c95039161100d565b55611946565b906104df8460405193849363391434e360e21b85526004850161160f565b8115676765c793fa10079d601a1b19839004821115171561021057676765c793fa10079d601b1b9102676765c793fa10079d601a1b01049056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220cf6eba69bf1f1e33ebe5b6d386d33d7df66541477394186a1bea079f4881701464736f6c63430008140033",
948
- "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c8063048c661d146101e757806306fdde03146101e2578063095ea7b3146101dd57806312064c34146101d857806318160ddd146101d357806323b872dd146101ce578063244e77f9146101c9578063313ce567146101c457806335381358146101bf5780633644e515146101ba57806340c10f19146101b55780635c921eb9146101b05780636d454d88146101ab57806370a08231146101a6578063715018a6146101a15780637ecebe001461019c57806384b0196e146101975780638da5cb5b1461019257806395d89b411461018d57806398d721e0146101885780639dc29fac14610183578063a592d9ec1461017e578063a9059cbb14610179578063c084b10b14610174578063d505accf1461016f578063dd62ed3e1461016a578063ee9907a414610165578063f2fde38b146101605763f9a95b331461015b57600080fd5b610e6a565b610df4565b610dba565b610d6e565b610c2f565b610bea565b610bc4565b610ba6565b610b20565b610ab1565b610a0d565b6109e4565b6108ec565b6108b2565b610866565b610843565b610791565b61068e565b6105e1565b6105c6565b61059d565b610501565b6104e3565b610403565b6103e0565b6103a6565b610375565b610269565b34610210576000366003190112610210576009546040516001600160a01b039091168152602090f35b600080fd5b919082519283825260005b848110610241575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610220565b906020610266928181520190610215565b90565b3461021057600080600319360112610346576040518160035461028b81610edb565b8084529060019081811690811561031e57506001146102c5575b6102c1846102b581880382610f9c565b60405191829182610255565b0390f35b60038352602094507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061030b57505050816102c1936102b592820101936102a5565b80548585018701529285019281016102ef565b6102c196506102b59450602092508593915060ff191682840152151560051b820101936102a5565b80fd5b600435906001600160a01b038216820361021057565b602435906001600160a01b038216820361021057565b346102105760403660031901126102105761039b610391610349565b602435903361103e565b602060405160018152f35b34610210576020366003190112610210576001600160a01b036103c7610349565b1660005260006020526020604060002054604051908152f35b346102105760003660031901126102105760206103fb61163c565b604051908152f35b346102105760603660031901126102105761041c610349565b61042461035f565b6044359060018060a01b03831692836000526001602052610449336040600020611027565b54936001850161045f575b5061039b93506115d4565b8385106104c257156104a9573315610490578261039b94036104893361048484610ff3565b611027565b5538610454565b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b604051637dc7a0d960e11b8152806104df8688336004850161160f565b0390fd5b34610210576000366003190112610210576020600d54604051908152f35b346102105760008060031936011261034657600a5460405163313ce56760e01b815290602090829060049082906001600160a01b03165afa908115610598578291610555575b60405160ff83168152602090f35b90506020813d8211610590575b8161056f60209383610f9c565b8101031261058c576102c191505161058681610c24565b38610547565b5080fd5b3d9150610562565b6110ae565b3461021057600036600319011261021057600a546040516001600160a01b039091168152602090f35b346102105760003660031901126102105760206103fb6111e1565b34610210576040366003190112610210576105fa610349565b600954602435906001600160a01b03908116330361067c57821691821561066a578115610658578161064f7f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688593602093611523565b604051908152a2005b60405163162908e360e11b8152600490fd5b60405163e6c4247b60e01b8152600490fd5b604051633cc93d6760e21b8152600490fd5b34610210576040366003190112610210576106a7610349565b6009546001600160a01b03908116330361067c5761072d81600a54169160405190602082019463a9059cbb60e01b86521660248201526024356044820152604481526106f281610f2b565b600080948192519082865af13d15610789573d9061070f826114d3565b9161071d6040519384610f9c565b82523d85602084013e5b83611571565b8051908115159182610767575b5050610744575080f35b604051635274afe760e01b81526001600160a01b03919091166004820152602490fd5b61078292509060208061077e938301019101611559565b1590565b388061073a565b606090610727565b34610210576040366003190112610210576107aa610349565b6009546001600160a01b039190602435908316330361067c5760009282168352600b60205282604081209282845494811560001461083a57505080826107f26107f893610fbf565b55610fd9565b555b818111156108225761081261081f9261081a92611504565b600d54611516565b600d55565b80f35b61083261081a9161081f93611504565b600d54611504565b55506107fa9050565b346102105760203660031901126102105760206103fb610861610349565b6116b6565b346102105760008060031936011261034657610880610eaf565b600880546001600160a01b0319811690915581906001600160a01b0316600080516020611a068339815191528280a380f35b34610210576020366003190112610210576001600160a01b036108d3610349565b1660005260076020526020604060002054604051908152f35b3461021057600080600319360112610346576109969061092b7f0000000000000000000000000000000000000000000000000000000000000000611321565b6109547f0000000000000000000000000000000000000000000000000000000000000000611419565b916040519161096283610f4b565b818352604051948594600f60f81b865261098860209360e08589015260e0880190610215565b908682036040880152610215565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b8281106109cd57505050500390f35b8351855286955093810193928101926001016109be565b34610210576000366003190112610210576008546040516001600160a01b039091168152602090f35b34610210576000806003193601126103465760405181600454610a2f81610edb565b8084529060019081811690811561031e5750600114610a58576102c1846102b581880382610f9c565b60048352602094507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a9e57505050816102c1936102b592820101936102a5565b8054858501870152928501928101610a82565b3461021057602036600319011261021057610aca610349565b610ad2610eaf565b6001600160a01b0390811690811561066a57600980546001600160a01b031981168417909155167f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d600080a3005b3461021057604036600319011261021057610b39610349565b600954602435906001600160a01b03908116330361067c57821691821561066a5781156106585781610b917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5936000610ba194611726565b6040519081529081906020820190565b0390a2005b34610210576000366003190112610210576020600254604051908152f35b346102105760403660031901126102105761039b610be0610349565b60243590336115d4565b34610210576020366003190112610210576001600160a01b03610c0b610349565b16600052600b6020526020604060002054604051908152f35b60ff81160361021057565b346102105760e036600319011261021057610c48610349565b610c5061035f565b60443590606435608435610c6381610c24565b814211610d55576001600160a01b0385811660008181526007602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c99281019283529283019390935292861660608201526080810187905260a081019190915260c080820194909452928352610d0c929091610cf460e083610f9c565b610d0760c4359360a435935190206112fb565b611096565b6001600160a01b0384811690821603610d2b5750610d299261103e565b005b6040516325c0072360e11b81526001600160a01b0391821660048201529084166024820152604490fd5b60405163313c898160e11b815260048101839052602490fd5b34610210576040366003190112610210576020610db1610d8c610349565b610d9461035f565b6001600160a01b0390911660009081526001845260409020611027565b54604051908152f35b34610210576020366003190112610210576001600160a01b03610ddb610349565b16600052600c6020526020604060002054604051908152f35b3461021057602036600319011261021057610e0d610349565b610e15610eaf565b6001600160a01b03908116908115610e5157600880546001600160a01b03198116841790915516600080516020611a06833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b3461021057604036600319011261021057610e83610349565b6009546001600160a01b0391908216330361067c5716600052600c602052602435604060002055600080f35b6008546001600160a01b03163303610ec357565b60405163118cdaa760e01b8152336004820152602490fd5b90600182811c92168015610f0b575b6020831014610ef557565b634e487b7160e01b600052602260045260246000fd5b91607f1691610eea565b634e487b7160e01b600052604160045260246000fd5b608081019081106001600160401b03821117610f4657604052565b610f15565b602081019081106001600160401b03821117610f4657604052565b60c081019081106001600160401b03821117610f4657604052565b604081019081106001600160401b03821117610f4657604052565b601f909101601f19168101906001600160401b03821190821017610f4657604052565b6001600160a01b03166000908152600b6020526040902090565b6001600160a01b03166000908152600c6020526040902090565b6001600160a01b0316600090815260016020526040902090565b6001600160a01b0316600090815260208190526040902090565b9060018060a01b0316600052602052604060002090565b6001600160a01b0380821692919083156104a9578216938415610490578061108c7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92594610484602095610ff3565b55604051908152a3565b9161026693916110a5936110ba565b90929192611154565b6040513d6000823e3d90fd5b91906fa2a8918ca85bafe22016d0b997e4df60600160ff1b03841161112857926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa156105985780516001600160a01b0381161561111f57918190565b50809160019190565b50505060009160039190565b6004111561113e57565b634e487b7160e01b600052602160045260246000fd5b61115d81611134565b80611166575050565b61116f81611134565b600181036111895760405163f645eedf60e01b8152600490fd5b61119281611134565b600281036111b35760405163fce698f760e01b815260048101839052602490fd5b806111bf600392611134565b146111c75750565b6040516335e2f38360e21b81526004810191909152602490fd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614806112d2575b1561123c577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526112cc81610f66565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611213565b6042906113066111e1565b906040519161190160f01b8352600283015260228201522090565b60ff811461135f5760ff811690601f821161134d576040519161134383610f81565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b5060405160055481600061137283610edb565b8083526001938085169081156113f85750600114611398575b5061026692500382610f9c565b600560009081527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db094602093509091905b8183106113e057505061026693508201013861138b565b855487840185015294850194869450918301916113c9565b905061026694506020925060ff191682840152151560051b8201013861138b565b60ff811461143b5760ff811690601f821161134d576040519161134383610f81565b5060405160065481600061144e83610edb565b8083526001938085169081156113f85750600114611473575061026692500382610f9c565b600660009081527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f94602093509091905b8183106114bb57505061026693508201013861138b565b855487840185015294850194869450918301916114a4565b6001600160401b038111610f4657601f01601f191660200190565b634e487b7160e01b600052601160045260246000fd5b9190820391821161151157565b6114ee565b9190820180921161151157565b906001600160a01b038216156115405761153e916000611726565b565b60405163ec442f0560e01b815260006004820152602490fd5b90816020910312610210575180151581036102105790565b90611598575080511561158657805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806115cb575b6115a9575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156115a1565b91906001600160a01b03808416156115f6578116156115405761153e92611726565b604051634b637e8f60e11b815260006004820152602490fd5b604091949392606082019560018060a01b0316825260208201520152565b90816020910312610210575190565b6009546001600160a01b031680156116af576020600491604051928380926322c14db960e01b82525afa80156105985761026691600091611681575b50600d546119cb565b6116a2915060203d81116116a8575b61169a8183610f9c565b81019061162d565b38611678565b503d611690565b5060025490565b6001600160a01b0390811690811561171457602090600954169160246040518094819363a4ad3e9f60e01b835260048301525afa908115610598576000916116fc575090565b610266915060203d81116116a85761169a8183610f9c565b50600052600060205260406000205490565b91906001600160a01b0380841690811515806118fe575b6118e3575b82169081151591826118d8575b505061175f575b61153e9261190a565b61176881610fbf565b611773838254611516565b905561177e81610fd9565b5461180457600954600493906020906117ad906117a1906001600160a01b031681565b6001600160a01b031690565b6040516322c14db960e01b815295869182905afa80156105985761153e946000916117e6575b506117dd83610fd9565b555b9250611756565b6117fe915060203d81116116a85761169a8183610f9c565b386117d3565b600954600490602090611821906117a1906001600160a01b031681565b6040516322c14db960e01b815292839182905afa908115610598576000916118ba575b5061187d61185b61185484610fd9565b5483611504565b61187861187261186a86610fbf565b5492836119cb565b82611516565b611504565b908161188f575b505061153e926117df565b906118b39161189d84610fd9565b556118ad61081a82600d54611516565b82611523565b3880611884565b6118d2915060203d81116116a85761169a8183610f9c565b38611844565b14159050388061174f565b6118ec85610fbf565b6118f7858254611504565b9055611742565b5080831682141561173d565b90916001600160a01b03808316928361197557508161195c91611946611941600080516020611a2683398151915295600254611516565b600255565b851694856119615750610b918160025403600255565b0390a3565b61196a9061100d565b818154019055610b91565b61197e8161100d565b548381106119ad579183916119a7600080516020611a268339815191529561195c95039161100d565b55611946565b906104df8460405193849363391434e360e21b85526004850161160f565b8115676765c793fa10079d601a1b19839004821115171561021057676765c793fa10079d601b1b9102676765c793fa10079d601a1b01049056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220cf6eba69bf1f1e33ebe5b6d386d33d7df66541477394186a1bea079f4881701464736f6c63430008140033",
957
+ "bytecode": "0x61018060408181523462000545576200259680380380916200002282866200054a565b8439820160a083820312620005455782516001600160401b0392908381116200054557826200005391860162000593565b90602092838601519085821162000545576200007191870162000593565b6200007e828701620005ee565b946200009b60806200009360608a01620005ee565b9801620005ee565b958351978489018981108482111762000440578552600197888a52878a0198603160f81b8a528751858111620004405760038054918383811c931680156200053a575b8c84101462000524578b601f93848111620004d7575b5050808c848211600114620004625760009162000456575b5060001982841b1c191690841b1781555b875191878311620004405760049889548d8682811c921690811562000435575b821014620004205780838f9211620003d3575b50508c918411600114620003615793839491849260009562000355575b50501b92600019911b1c19161785555b620001888762000603565b98610120998a526200019a8b620007a8565b976101409889528981519101209a8b60e052519020936101009a858c524660a0528751958a8701917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528988015260608701524660808701523060a087015260a0865260c0860191868310908311176200034057818852855190206080523060c0526001600160a01b0393841694851562000329575050826008549160018060a01b031995808785161760085582895194167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a316978815620002f957505061016096875216918215620002eb5750600a541617600a555192611c969485620009008639608051856112c8015260a05185611383015260c05185611292015260e051856113170152518461133d015251836108dc01525182610905015251818181610ca3015261197a0152f35b835163e6c4247b60e01b8152fd5b62461bcd60e51b825281860152600d60248201526c5a65726f20726567697374727960981b604482015260649150fd5b631e4fbdf760e01b8252600060c490910152602490fd5b604187634e487b7160e01b6000525260246000fd5b0151935038806200016d565b908c929184601f1981168c60005285600020956000905b89838310620003b557505050106200039a575b50505050811b0185556200017d565b01519060f884600019921b161c19169055388080806200038b565b90929350859783929686015181550196019301908f91879262000378565b8b60005283826000209181880160051c830193881062000416575b0160051c019086905b8281106200040957508e915062000150565b60008155018690620003f7565b92508192620003ee565b60228b634e487b7160e01b6000525260246000fd5b91607f16916200013d565b634e487b7160e01b600052604160045260246000fd5b90508b0151386200010c565b8592508d908d601f198416908660005283600020936000915b838310620004b45750505083116200049b575b5050811b0181556200011d565b8d015160001983861b60f8161c1916905538806200048e565b94848294959798929396015181550194019201908f918f9289969594936200047b565b8360005284826000209181850160051c83019385106200051a575b0160051c019085905b8281106200050d57508d9150620000f4565b60008155018590620004fb565b92508192620004f2565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000de565b600080fd5b601f909101601f19168101906001600160401b038211908210176200044057604052565b60005b838110620005825750506000910152565b818101518382015260200162000571565b81601f82011215620005455780516001600160401b038111620004405760405192620005ca601f8301601f1916602001856200054a565b818452602082840101116200054557620005eb91602080850191016200056e565b90565b51906001600160a01b03821682036200054557565b8051602091908281101562000683575090601f8251116200064157808251920151908083106200063257501790565b82600019910360031b1b161790565b604490620006759260405193849263305a27a960e01b8452806004850152825192839182602487015286860191016200056e565b601f01601f19168101030190fd5b6001600160401b03811162000440576005928354926001938481811c911680156200079d575b838210146200052457601f811162000766575b5081601f8411600114620006fc5750928293918392600094620006f0575b50501b916000199060031b1c191617905560ff90565b015192503880620006da565b919083601f1981168760005284600020946000905b888383106200074b575050501062000731575b505050811b01905560ff90565b015160001960f88460031b161c1916905538808062000724565b85870151885590960195948501948793509081019062000711565b8560005284601f846000209201871c820191601f8601881c015b82811062000790575050620006bc565b6000815501859062000780565b90607f1690620006a9565b805160209081811015620007d55750601f8251116200064157808251920151908083106200063257501790565b906001600160401b0382116200044057600654926001938481811c91168015620008f4575b838210146200052457601f8111620008ba575b5081601f84116001146200084e575092829391839260009462000842575b50501b916000199060031b1c19161760065560ff90565b0151925038806200082b565b919083601f198116600660005284600020946000905b888383106200089f575050501062000885575b505050811b0160065560ff90565b015160001960f88460031b161c1916905538808062000877565b85870151885590960195948501948793509081019062000864565b600660005284601f84600020920160051c820191601f860160051c015b828110620008e75750506200080d565b60008155018590620008d7565b90607f1690620007fa56fe6080604052600436101561001257600080fd5b60003560e01c8063048c661d146101e757806306fdde03146101e2578063095ea7b3146101dd57806312064c34146101d857806318160ddd146101d357806323b872dd146101ce578063313ce567146101c957806335381358146101c45780633644e515146101bf57806340c10f19146101ba5780635c921eb9146101b557806370a08231146101b0578063715018a6146101ab5780637ecebe00146101a657806384b0196e146101a15780638da5cb5b1461019c57806395d89b411461019757806398d721e0146101925780639dc29fac1461018d578063a14e19d514610188578063a592d9ec14610183578063a9059cbb1461017e578063c084b10b14610179578063cac89c5c14610174578063d505accf1461016f578063dd62ed3e1461016a578063ee9907a414610165578063f2fde38b146101605763f9a95b331461015b57600080fd5b610f18565b610ea2565b610e68565b610e1c565b610cdd565b610c8d565b610c53565b610c2d565b610c0f565b610bf1565b610b07565b610a86565b6109e2565b6109b9565b6108c1565b610887565b61083b565b610818565b610709565b6105db565b6105c0565b610597565b6104fb565b61041b565b6103f8565b6103be565b61038d565b610281565b6101ff565b6001600160a01b03909116815260200190565b34610228576000366003190112610228576009546040516001600160a01b039091168152602090f35b600080fd5b919082519283825260005b848110610259575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610238565b90602061027e92818152019061022d565b90565b346102285760008060031936011261035e57604051816003546102a381610f89565b8084529060019081811690811561033657506001146102dd575b6102d9846102cd8188038261104a565b6040519182918261026d565b0390f35b60038352602094507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061032357505050816102d9936102cd92820101936102bd565b8054858501870152928501928101610307565b6102d996506102cd9450602092508593915060ff191682840152151560051b820101936102bd565b80fd5b600435906001600160a01b038216820361022857565b602435906001600160a01b038216820361022857565b34610228576040366003190112610228576103b36103a9610361565b60243590336110ec565b602060405160018152f35b34610228576020366003190112610228576001600160a01b036103df610361565b1660005260006020526020604060002054604051908152f35b34610228576000366003190112610228576020610413611705565b604051908152f35b3461022857606036600319011261022857610434610361565b61043c610377565b6044359060018060a01b038316928360005260016020526104613360406000206110d5565b549360018501610477575b506103b393506116c5565b8385106104da57156104c15733156104a857826103b394036104a13361049c8461106d565b6110d5565b553861046c565b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b604051637dc7a0d960e11b8152806104f7868833600485016116e7565b0390fd5b346102285760008060031936011261035e57600a5460405163313ce56760e01b815290602090829060049082906001600160a01b03165afa90811561059257829161054f575b60405160ff83168152602090f35b90506020813d821161058a575b816105696020938361104a565b81010312610586576102d991505161058081610cd2565b38610541565b5080fd5b3d915061055c565b61115c565b3461022857600036600319011261022857600a546040516001600160a01b039091168152602090f35b3461022857600036600319011261022857602061041361128f565b3461022857604080600319360112610228576105f5610361565b6009546001600160a01b03908116919060243590338490036106f85782169283156106e75781156106d657936020600494958251958680926322c14db960e01b82525afa93841561059257826106a39461069061068b6106837f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688599610695966000916106a8575b5085611bfb565b600c546115c1565b600c55565b6115d3565b519081529081906020820190565b0390a2005b6106c9915060203d81116106cf575b6106c1818361104a565b81019061159c565b3861067c565b503d6106b7565b845163162908e360e11b8152600490fd5b845163e6c4247b60e01b8152600490fd5b8451633cc93d6760e21b8152600490fd5b3461022857604036600319011261022857610722610361565b6009546001600160a01b039081163303610806576107a881600a54169160405190602082019463a9059cbb60e01b865216602482015260243560448201526044815261076d81610fd9565b600080948192519082865af13d156107fe573d9061078a82611581565b91610798604051938461104a565b82523d85602084013e5b83611662565b80519081151591826107dc575b50506107bf575080f35b604051635274afe760e01b81529081906104f790600483016101ec565b6107f79250906020806107f393830101910161164a565b1590565b38806107b5565b6060906107a2565b604051633cc93d6760e21b8152600490fd5b34610228576020366003190112610228576020610413610836610361565b61176f565b346102285760008060031936011261035e57610855610f5d565b600880546001600160a01b0319811690915581906001600160a01b0316600080516020611c218339815191528280a380f35b34610228576020366003190112610228576001600160a01b036108a8610361565b1660005260076020526020604060002054604051908152f35b346102285760008060031936011261035e5761096b906109007f00000000000000000000000000000000000000000000000000000000000000006113cf565b6109297f00000000000000000000000000000000000000000000000000000000000000006114c7565b916040519161093783610ff9565b818352604051948594600f60f81b865261095d60209360e08589015260e088019061022d565b90868203604088015261022d565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b8281106109a257505050500390f35b835185528695509381019392810192600101610993565b34610228576000366003190112610228576008546040516001600160a01b039091168152602090f35b346102285760008060031936011261035e5760405181600454610a0481610f89565b808452906001908181169081156103365750600114610a2d576102d9846102cd8188038261104a565b60048352602094507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a7357505050816102d9936102cd92820101936102bd565b8054858501870152928501928101610a57565b3461022857602036600319011261022857610a9f610361565b610aa7610f5d565b6001600160a01b03908116908115610af557600980546001600160a01b031981168417909155167f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d600080a3005b60405163e6c4247b60e01b8152600490fd5b346102285760408060031936011261022857610b21610361565b6009546001600160a01b03908116919060243590338490036106f85782169283156106e75781156106d657936020600494958251958680926322c14db960e01b82525afa801561059257826106a394610695927fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca597600091610bd3575b50600c549081841115610bbc575050610bb76000600c55565b611616565b610bb791610bcd61068b9286611bfb565b90611609565b610beb915060203d81116106cf576106c1818361104a565b38610b9e565b34610228576000366003190112610228576020600c54604051908152f35b34610228576000366003190112610228576020600254604051908152f35b34610228576040366003190112610228576103b3610c49610361565b60243590336116c5565b34610228576020366003190112610228576001600160a01b03610c74610361565b16600052600b6020526020604060002054604051908152f35b34610228576000366003190112610228576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60ff81160361022857565b346102285760e036600319011261022857610cf6610361565b610cfe610377565b60443590606435608435610d1181610cd2565b814211610e03576001600160a01b0385811660008181526007602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c99281019283529283019390935292861660608201526080810187905260a081019190915260c080820194909452928352610dba929091610da260e08361104a565b610db560c4359360a435935190206113a9565b611144565b6001600160a01b0384811690821603610dd95750610dd7926110ec565b005b6040516325c0072360e11b81526001600160a01b0391821660048201529084166024820152604490fd5b60405163313c898160e11b815260048101839052602490fd5b34610228576040366003190112610228576020610e5f610e3a610361565b610e42610377565b6001600160a01b03909116600090815260018452604090206110d5565b54604051908152f35b34610228576020366003190112610228576001600160a01b03610e89610361565b16600052600d6020526020604060002054604051908152f35b3461022857602036600319011261022857610ebb610361565b610ec3610f5d565b6001600160a01b03908116908115610eff57600880546001600160a01b03198116841790915516600080516020611c21833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b3461022857604036600319011261022857610f31610361565b6009546001600160a01b039190821633036108065716600052600d602052602435604060002055600080f35b6008546001600160a01b03163303610f7157565b60405163118cdaa760e01b8152336004820152602490fd5b90600182811c92168015610fb9575b6020831014610fa357565b634e487b7160e01b600052602260045260246000fd5b91607f1691610f98565b634e487b7160e01b600052604160045260246000fd5b608081019081106001600160401b03821117610ff457604052565b610fc3565b602081019081106001600160401b03821117610ff457604052565b60c081019081106001600160401b03821117610ff457604052565b604081019081106001600160401b03821117610ff457604052565b601f909101601f19168101906001600160401b03821190821017610ff457604052565b6001600160a01b0316600090815260016020526040902090565b6001600160a01b03166000908152600b6020526040902090565b6001600160a01b0316600090815260208190526040902090565b6001600160a01b03166000908152600d6020526040902090565b9060018060a01b0316600052602052604060002090565b6001600160a01b0380821692919083156104c15782169384156104a8578061113a7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259461049c60209561106d565b55604051908152a3565b9161027e939161115393611168565b90929192611202565b6040513d6000823e3d90fd5b91906fa2a8918ca85bafe22016d0b997e4df60600160ff1b0384116111d657926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa156105925780516001600160a01b038116156111cd57918190565b50809160019190565b50505060009160039190565b600411156111ec57565b634e487b7160e01b600052602160045260246000fd5b61120b816111e2565b80611214575050565b61121d816111e2565b600181036112375760405163f645eedf60e01b8152600490fd5b611240816111e2565b600281036112615760405163fce698f760e01b815260048101839052602490fd5b8061126d6003926111e2565b146112755750565b6040516335e2f38360e21b81526004810191909152602490fd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611380575b156112ea577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261137a81611014565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146112c1565b6042906113b461128f565b906040519161190160f01b8352600283015260228201522090565b60ff811461140d5760ff811690601f82116113fb57604051916113f18361102f565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b5060405160055481600061142083610f89565b8083526001938085169081156114a65750600114611446575b5061027e9250038261104a565b600560009081527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db094602093509091905b81831061148e57505061027e935082010138611439565b85548784018501529485019486945091830191611477565b905061027e94506020925060ff191682840152151560051b82010138611439565b60ff81146114e95760ff811690601f82116113fb57604051916113f18361102f565b506040516006548160006114fc83610f89565b8083526001938085169081156114a65750600114611521575061027e9250038261104a565b600660009081527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f94602093509091905b81831061156957505061027e935082010138611439565b85548784018501529485019486945091830191611552565b6001600160401b038111610ff457601f01601f191660200190565b90816020910312610228575190565b634e487b7160e01b600052601160045260246000fd5b919082018092116115ce57565b6115ab565b906001600160a01b038216156115f0576115ee9160006117df565b565b60405163ec442f0560e01b815260006004820152602490fd5b919082039182116115ce57565b906001600160a01b038216156116315760006115ee926117df565b604051634b637e8f60e11b815260006004820152602490fd5b90816020910312610228575180151581036102285790565b90611689575080511561167757805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806116bc575b61169a575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611692565b91906001600160a01b0380841615611631578116156115f0576115ee926117df565b604091949392606082019560018060a01b0316825260208201520152565b6009546001600160a01b03168015611768576020600491604051928380926322c14db960e01b82525afa80156105925761027e9160009161174a575b50600c54611bc1565b611762915060203d81116106cf576106c1818361104a565b38611741565b5060025490565b6001600160a01b039081169081156117cd57602090600954169160246040518094819363a4ad3e9f60e01b835260048301525afa908115610592576000916117b5575090565b61027e915060203d81116106cf576106c1818361104a565b50600052600060205260406000205490565b91906001600160a01b038084161515908180611a57575b611966575b60095461181e90611812906001600160a01b031681565b6001600160a01b031690565b604051639612071f60e01b815260209391908481806118408b600483016101ec565b0381855afa90811561059257600091611939575b506119275783600491604051928380926322c14db960e01b82525afa93841561059257600094611908575b50506118c1575b8216611897575b506115ee92611a62565b6118a19082611b33565b6115ee926118ae82611087565b6118b98482546115c1565b90559261188d565b6118cb8286611b33565b6118d485611087565b548411156118ed5760006118e786611087565b55611886565b6118f685611087565b611901858254611609565b9055611886565b61191f929450803d106106cf576106c1818361104a565b91388061187f565b60405163098a315f60e01b8152600490fd5b6119599150853d871161195f575b611951818361104a565b81019061164a565b38611854565b503d611947565b60405163fe575a8760e01b808252602091907f00000000000000000000000000000000000000000000000000000000000000008416908383806119ac8c600483016101ec565b0381855afa92831561059257600093611a38575b5082156119e3575b50509050156117fb57604051632652747360e21b8152600490fd5b83919250604051928391825281806119fe8a600483016101ec565b03915afa91821561059257600092611a1b575b50508038806119c8565b611a319250803d1061195f57611951818361104a565b3880611a11565b611a50919350843d861161195f57611951818361104a565b91386119c0565b5080831615156117f6565b90916001600160a01b038083169283611add575081611ac491611a9e611a99600080516020611c41833981519152956002546115c1565b600255565b85169485611ac95750611ab48160025403600255565b6040519081529081906020820190565b0390a3565b611ad2906110a1565b818154019055611ab4565b611ae6816110a1565b54838110611b1557918391611b0f600080516020611c4183398151915295611ac49503916110a1565b55611a9e565b906104f78460405193849363391434e360e21b8552600485016116e7565b9060018060a01b038216600052600d602052604060002054600b602052604060002054908115611bb25782811015611bac57611b72611b789184611bfb565b82611bc1565b91611b82846110bb565b55808211611b8f57505050565b808203918083116115ce5703611ba3575050565b6115ee916115d3565b50505050565b505090611bbe906110bb565b55565b8115676765c793fa10079d601a1b19839004821115171561022857676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b8160011c90676765c793fa10079d601b1b90818319048111841517610228570201049056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e7f9210fef1b04c4c9c0b8788f62d26dd10c05628de41d609a2f7a0053f10a8564736f6c63430008140033",
958
+ "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c8063048c661d146101e757806306fdde03146101e2578063095ea7b3146101dd57806312064c34146101d857806318160ddd146101d357806323b872dd146101ce578063313ce567146101c957806335381358146101c45780633644e515146101bf57806340c10f19146101ba5780635c921eb9146101b557806370a08231146101b0578063715018a6146101ab5780637ecebe00146101a657806384b0196e146101a15780638da5cb5b1461019c57806395d89b411461019757806398d721e0146101925780639dc29fac1461018d578063a14e19d514610188578063a592d9ec14610183578063a9059cbb1461017e578063c084b10b14610179578063cac89c5c14610174578063d505accf1461016f578063dd62ed3e1461016a578063ee9907a414610165578063f2fde38b146101605763f9a95b331461015b57600080fd5b610f18565b610ea2565b610e68565b610e1c565b610cdd565b610c8d565b610c53565b610c2d565b610c0f565b610bf1565b610b07565b610a86565b6109e2565b6109b9565b6108c1565b610887565b61083b565b610818565b610709565b6105db565b6105c0565b610597565b6104fb565b61041b565b6103f8565b6103be565b61038d565b610281565b6101ff565b6001600160a01b03909116815260200190565b34610228576000366003190112610228576009546040516001600160a01b039091168152602090f35b600080fd5b919082519283825260005b848110610259575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610238565b90602061027e92818152019061022d565b90565b346102285760008060031936011261035e57604051816003546102a381610f89565b8084529060019081811690811561033657506001146102dd575b6102d9846102cd8188038261104a565b6040519182918261026d565b0390f35b60038352602094507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b82841061032357505050816102d9936102cd92820101936102bd565b8054858501870152928501928101610307565b6102d996506102cd9450602092508593915060ff191682840152151560051b820101936102bd565b80fd5b600435906001600160a01b038216820361022857565b602435906001600160a01b038216820361022857565b34610228576040366003190112610228576103b36103a9610361565b60243590336110ec565b602060405160018152f35b34610228576020366003190112610228576001600160a01b036103df610361565b1660005260006020526020604060002054604051908152f35b34610228576000366003190112610228576020610413611705565b604051908152f35b3461022857606036600319011261022857610434610361565b61043c610377565b6044359060018060a01b038316928360005260016020526104613360406000206110d5565b549360018501610477575b506103b393506116c5565b8385106104da57156104c15733156104a857826103b394036104a13361049c8461106d565b6110d5565b553861046c565b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fd5b604051637dc7a0d960e11b8152806104f7868833600485016116e7565b0390fd5b346102285760008060031936011261035e57600a5460405163313ce56760e01b815290602090829060049082906001600160a01b03165afa90811561059257829161054f575b60405160ff83168152602090f35b90506020813d821161058a575b816105696020938361104a565b81010312610586576102d991505161058081610cd2565b38610541565b5080fd5b3d915061055c565b61115c565b3461022857600036600319011261022857600a546040516001600160a01b039091168152602090f35b3461022857600036600319011261022857602061041361128f565b3461022857604080600319360112610228576105f5610361565b6009546001600160a01b03908116919060243590338490036106f85782169283156106e75781156106d657936020600494958251958680926322c14db960e01b82525afa93841561059257826106a39461069061068b6106837f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688599610695966000916106a8575b5085611bfb565b600c546115c1565b600c55565b6115d3565b519081529081906020820190565b0390a2005b6106c9915060203d81116106cf575b6106c1818361104a565b81019061159c565b3861067c565b503d6106b7565b845163162908e360e11b8152600490fd5b845163e6c4247b60e01b8152600490fd5b8451633cc93d6760e21b8152600490fd5b3461022857604036600319011261022857610722610361565b6009546001600160a01b039081163303610806576107a881600a54169160405190602082019463a9059cbb60e01b865216602482015260243560448201526044815261076d81610fd9565b600080948192519082865af13d156107fe573d9061078a82611581565b91610798604051938461104a565b82523d85602084013e5b83611662565b80519081151591826107dc575b50506107bf575080f35b604051635274afe760e01b81529081906104f790600483016101ec565b6107f79250906020806107f393830101910161164a565b1590565b38806107b5565b6060906107a2565b604051633cc93d6760e21b8152600490fd5b34610228576020366003190112610228576020610413610836610361565b61176f565b346102285760008060031936011261035e57610855610f5d565b600880546001600160a01b0319811690915581906001600160a01b0316600080516020611c218339815191528280a380f35b34610228576020366003190112610228576001600160a01b036108a8610361565b1660005260076020526020604060002054604051908152f35b346102285760008060031936011261035e5761096b906109007f00000000000000000000000000000000000000000000000000000000000000006113cf565b6109297f00000000000000000000000000000000000000000000000000000000000000006114c7565b916040519161093783610ff9565b818352604051948594600f60f81b865261095d60209360e08589015260e088019061022d565b90868203604088015261022d565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b8281106109a257505050500390f35b835185528695509381019392810192600101610993565b34610228576000366003190112610228576008546040516001600160a01b039091168152602090f35b346102285760008060031936011261035e5760405181600454610a0481610f89565b808452906001908181169081156103365750600114610a2d576102d9846102cd8188038261104a565b60048352602094507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a7357505050816102d9936102cd92820101936102bd565b8054858501870152928501928101610a57565b3461022857602036600319011261022857610a9f610361565b610aa7610f5d565b6001600160a01b03908116908115610af557600980546001600160a01b031981168417909155167f593eaf5e0e1afc1c041a664a437fdae719a628836785d06572b008e6ca5c189d600080a3005b60405163e6c4247b60e01b8152600490fd5b346102285760408060031936011261022857610b21610361565b6009546001600160a01b03908116919060243590338490036106f85782169283156106e75781156106d657936020600494958251958680926322c14db960e01b82525afa801561059257826106a394610695927fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca597600091610bd3575b50600c549081841115610bbc575050610bb76000600c55565b611616565b610bb791610bcd61068b9286611bfb565b90611609565b610beb915060203d81116106cf576106c1818361104a565b38610b9e565b34610228576000366003190112610228576020600c54604051908152f35b34610228576000366003190112610228576020600254604051908152f35b34610228576040366003190112610228576103b3610c49610361565b60243590336116c5565b34610228576020366003190112610228576001600160a01b03610c74610361565b16600052600b6020526020604060002054604051908152f35b34610228576000366003190112610228576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60ff81160361022857565b346102285760e036600319011261022857610cf6610361565b610cfe610377565b60443590606435608435610d1181610cd2565b814211610e03576001600160a01b0385811660008181526007602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c99281019283529283019390935292861660608201526080810187905260a081019190915260c080820194909452928352610dba929091610da260e08361104a565b610db560c4359360a435935190206113a9565b611144565b6001600160a01b0384811690821603610dd95750610dd7926110ec565b005b6040516325c0072360e11b81526001600160a01b0391821660048201529084166024820152604490fd5b60405163313c898160e11b815260048101839052602490fd5b34610228576040366003190112610228576020610e5f610e3a610361565b610e42610377565b6001600160a01b03909116600090815260018452604090206110d5565b54604051908152f35b34610228576020366003190112610228576001600160a01b03610e89610361565b16600052600d6020526020604060002054604051908152f35b3461022857602036600319011261022857610ebb610361565b610ec3610f5d565b6001600160a01b03908116908115610eff57600880546001600160a01b03198116841790915516600080516020611c21833981519152600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b3461022857604036600319011261022857610f31610361565b6009546001600160a01b039190821633036108065716600052600d602052602435604060002055600080f35b6008546001600160a01b03163303610f7157565b60405163118cdaa760e01b8152336004820152602490fd5b90600182811c92168015610fb9575b6020831014610fa357565b634e487b7160e01b600052602260045260246000fd5b91607f1691610f98565b634e487b7160e01b600052604160045260246000fd5b608081019081106001600160401b03821117610ff457604052565b610fc3565b602081019081106001600160401b03821117610ff457604052565b60c081019081106001600160401b03821117610ff457604052565b604081019081106001600160401b03821117610ff457604052565b601f909101601f19168101906001600160401b03821190821017610ff457604052565b6001600160a01b0316600090815260016020526040902090565b6001600160a01b03166000908152600b6020526040902090565b6001600160a01b0316600090815260208190526040902090565b6001600160a01b03166000908152600d6020526040902090565b9060018060a01b0316600052602052604060002090565b6001600160a01b0380821692919083156104c15782169384156104a8578061113a7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259461049c60209561106d565b55604051908152a3565b9161027e939161115393611168565b90929192611202565b6040513d6000823e3d90fd5b91906fa2a8918ca85bafe22016d0b997e4df60600160ff1b0384116111d657926020929160ff608095604051948552168484015260408301526060820152600092839182805260015afa156105925780516001600160a01b038116156111cd57918190565b50809160019190565b50505060009160039190565b600411156111ec57565b634e487b7160e01b600052602160045260246000fd5b61120b816111e2565b80611214575050565b61121d816111e2565b600181036112375760405163f645eedf60e01b8152600490fd5b611240816111e2565b600281036112615760405163fce698f760e01b815260048101839052602490fd5b8061126d6003926111e2565b146112755750565b6040516335e2f38360e21b81526004810191909152602490fd5b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611380575b156112ea577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261137a81611014565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146112c1565b6042906113b461128f565b906040519161190160f01b8352600283015260228201522090565b60ff811461140d5760ff811690601f82116113fb57604051916113f18361102f565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b5060405160055481600061142083610f89565b8083526001938085169081156114a65750600114611446575b5061027e9250038261104a565b600560009081527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db094602093509091905b81831061148e57505061027e935082010138611439565b85548784018501529485019486945091830191611477565b905061027e94506020925060ff191682840152151560051b82010138611439565b60ff81146114e95760ff811690601f82116113fb57604051916113f18361102f565b506040516006548160006114fc83610f89565b8083526001938085169081156114a65750600114611521575061027e9250038261104a565b600660009081527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f94602093509091905b81831061156957505061027e935082010138611439565b85548784018501529485019486945091830191611552565b6001600160401b038111610ff457601f01601f191660200190565b90816020910312610228575190565b634e487b7160e01b600052601160045260246000fd5b919082018092116115ce57565b6115ab565b906001600160a01b038216156115f0576115ee9160006117df565b565b60405163ec442f0560e01b815260006004820152602490fd5b919082039182116115ce57565b906001600160a01b038216156116315760006115ee926117df565b604051634b637e8f60e11b815260006004820152602490fd5b90816020910312610228575180151581036102285790565b90611689575080511561167757805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806116bc575b61169a575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611692565b91906001600160a01b0380841615611631578116156115f0576115ee926117df565b604091949392606082019560018060a01b0316825260208201520152565b6009546001600160a01b03168015611768576020600491604051928380926322c14db960e01b82525afa80156105925761027e9160009161174a575b50600c54611bc1565b611762915060203d81116106cf576106c1818361104a565b38611741565b5060025490565b6001600160a01b039081169081156117cd57602090600954169160246040518094819363a4ad3e9f60e01b835260048301525afa908115610592576000916117b5575090565b61027e915060203d81116106cf576106c1818361104a565b50600052600060205260406000205490565b91906001600160a01b038084161515908180611a57575b611966575b60095461181e90611812906001600160a01b031681565b6001600160a01b031690565b604051639612071f60e01b815260209391908481806118408b600483016101ec565b0381855afa90811561059257600091611939575b506119275783600491604051928380926322c14db960e01b82525afa93841561059257600094611908575b50506118c1575b8216611897575b506115ee92611a62565b6118a19082611b33565b6115ee926118ae82611087565b6118b98482546115c1565b90559261188d565b6118cb8286611b33565b6118d485611087565b548411156118ed5760006118e786611087565b55611886565b6118f685611087565b611901858254611609565b9055611886565b61191f929450803d106106cf576106c1818361104a565b91388061187f565b60405163098a315f60e01b8152600490fd5b6119599150853d871161195f575b611951818361104a565b81019061164a565b38611854565b503d611947565b60405163fe575a8760e01b808252602091907f00000000000000000000000000000000000000000000000000000000000000008416908383806119ac8c600483016101ec565b0381855afa92831561059257600093611a38575b5082156119e3575b50509050156117fb57604051632652747360e21b8152600490fd5b83919250604051928391825281806119fe8a600483016101ec565b03915afa91821561059257600092611a1b575b50508038806119c8565b611a319250803d1061195f57611951818361104a565b3880611a11565b611a50919350843d861161195f57611951818361104a565b91386119c0565b5080831615156117f6565b90916001600160a01b038083169283611add575081611ac491611a9e611a99600080516020611c41833981519152956002546115c1565b600255565b85169485611ac95750611ab48160025403600255565b6040519081529081906020820190565b0390a3565b611ad2906110a1565b818154019055611ab4565b611ae6816110a1565b54838110611b1557918391611b0f600080516020611c4183398151915295611ac49503916110a1565b55611a9e565b906104f78460405193849363391434e360e21b8552600485016116e7565b9060018060a01b038216600052600d602052604060002054600b602052604060002054908115611bb25782811015611bac57611b72611b789184611bfb565b82611bc1565b91611b82846110bb565b55808211611b8f57505050565b808203918083116115ce5703611ba3575050565b6115ee916115d3565b50505050565b505090611bbe906110bb565b55565b8115676765c793fa10079d601a1b19839004821115171561022857676765c793fa10079d601b1b9102676765c793fa10079d601a1b010490565b8160011c90676765c793fa10079d601b1b90818319048111841517610228570201049056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220e7f9210fef1b04c4c9c0b8788f62d26dd10c05628de41d609a2f7a0053f10a8564736f6c63430008140033",
949
959
  "linkReferences": {},
950
960
  "deployedLinkReferences": {}
951
961
  }