@raac/rpc 1.1.0-beta.2 → 1.1.0-beta.4

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 (134) hide show
  1. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +2 -2
  2. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +2 -2
  3. package/dist/artifacts/core/oracles/BaseVRFv2Consumer.sol/BaseVRFv2Consumer.json +2 -2
  4. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +350 -0
  5. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +2 -66
  6. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +2 -2
  7. package/dist/artifacts/core/primitives/RAACHousePrices.sol/RAACHousePrices.json +2 -2
  8. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +2 -2
  9. package/dist/artifacts/core/tokens/IndexToken.sol/IndexToken.json +2 -2
  10. package/dist/artifacts/core/tokens/RAACNFT.sol/RAACNFT.json +2 -2
  11. package/dist/artifacts/core/tokens/RAACToken.sol/RAACToken.json +2 -2
  12. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +2 -2
  13. package/dist/artifacts/core/tokens/veRAACToken.sol/veRAACToken.json +2 -2
  14. package/dist/artifacts/mocks/core/oracles/MockVRFCoordinatorV2.sol/MockVRFCoordinatorV2.json +2 -2
  15. package/dist/artifacts/mocks/core/tokens/crvUSDToken.sol/crvUSDToken.json +2 -2
  16. package/dist/artifacts/zeno/Auction.sol/Auction.json +2 -2
  17. package/dist/artifacts/zeno/AuctionFactory.sol/AuctionFactory.json +2 -2
  18. package/dist/artifacts/zeno/Zeno.sol/Zeno.json +2 -2
  19. package/dist/artifacts/zeno/ZenoFactory.sol/ZenoFactory.json +2 -2
  20. package/dist/assets/getSupply.js +3 -0
  21. package/dist/methods/approveToken.js +1 -9
  22. package/dist/minter/tick.js +3 -7
  23. package/dist/pools/lendingPool/borrowFromLendingPool.js +1 -1
  24. package/dist/pools/lendingPool/depositNFTToLendingPool.js +2 -2
  25. package/dist/pools/lendingPool/depositToLendingPool.js +2 -6
  26. package/dist/pools/lendingPool/getPositionView.js +1 -0
  27. package/dist/pools/lendingPool/withdrawFromLendingPool.js +1 -5
  28. package/dist/pools/stabilityPool/depositToStabilityPool.js +0 -6
  29. package/dist/pools/stabilityPool/withdrawFromStabilityPool.js +0 -6
  30. package/dist/scripts/index.js +12 -10
  31. package/dist/types/pools/lendingPool/getAllUserData.d.ts +1 -0
  32. package/dist/types/pools/lendingPool/getPositionView.d.ts +2 -0
  33. package/dist/types/typechain-types/contracts/core/pools/LendingPool/LendingPool.d.ts +2 -49
  34. package/dist/types/typechain-types/contracts/interfaces/core/pools/LendingPool/ILendingPool.d.ts +1 -40
  35. package/dist/types/typechain-types/contracts/mocks/core/pools/MockLendingPoolDebtToken.d.ts +1 -40
  36. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/functions/v1_0_0/libraries/FunctionsRequest__factory.d.ts +1 -1
  37. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwnerWithProposal__factory.d.ts +1 -1
  38. package/dist/types/typechain-types/factories/@chainlink/contracts/src/v0.8/shared/access/ConfirmedOwner__factory.d.ts +1 -1
  39. package/dist/types/typechain-types/factories/@openzeppelin/contracts/token/ERC20/utils/SafeERC20__factory.d.ts +1 -1
  40. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Address__factory.d.ts +1 -1
  41. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/ShortStrings__factory.d.ts +1 -1
  42. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/Strings__factory.d.ts +1 -1
  43. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/cryptography/ECDSA__factory.d.ts +1 -1
  44. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/Math__factory.d.ts +1 -1
  45. package/dist/types/typechain-types/factories/@openzeppelin/contracts/utils/math/SafeCast__factory.d.ts +1 -1
  46. package/dist/types/typechain-types/factories/contracts/core/collectors/FeeCollector__factory.d.ts +1 -1
  47. package/dist/types/typechain-types/factories/contracts/core/collectors/Treasury__factory.d.ts +1 -1
  48. package/dist/types/typechain-types/factories/contracts/core/governance/boost/BoostController__factory.d.ts +1 -1
  49. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/GaugeController__factory.d.ts +1 -1
  50. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RAACGauge__factory.d.ts +1 -1
  51. package/dist/types/typechain-types/factories/contracts/core/governance/gauges/RWAGauge__factory.d.ts +1 -1
  52. package/dist/types/typechain-types/factories/contracts/core/governance/proposals/Governance__factory.d.ts +1 -1
  53. package/dist/types/typechain-types/factories/contracts/core/governance/proposals/TimelockController__factory.d.ts +1 -1
  54. package/dist/types/typechain-types/factories/contracts/core/minters/RAACMinter/RAACMinter__factory.d.ts +1 -1
  55. package/dist/types/typechain-types/factories/contracts/core/minters/RAACReleaseOrchestrator/RAACReleaseOrchestrator__factory.d.ts +1 -1
  56. package/dist/types/typechain-types/factories/contracts/core/oracles/BaseVRFv2Consumer__factory.d.ts +1 -1
  57. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACHousePriceOracle__factory.d.ts +1 -1
  58. package/dist/types/typechain-types/factories/contracts/core/oracles/RAACPrimeRateOracle__factory.d.ts +1 -1
  59. package/dist/types/typechain-types/factories/contracts/core/pools/LendingPool/LendingPool__factory.d.ts +1 -51
  60. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/NFTLiquidator__factory.d.ts +1 -1
  61. package/dist/types/typechain-types/factories/contracts/core/pools/StabilityPool/StabilityPool__factory.d.ts +1 -1
  62. package/dist/types/typechain-types/factories/contracts/core/primitives/RAACHousePrices__factory.d.ts +1 -1
  63. package/dist/types/typechain-types/factories/contracts/core/tokens/DEToken__factory.d.ts +1 -1
  64. package/dist/types/typechain-types/factories/contracts/core/tokens/DebtToken__factory.d.ts +1 -1
  65. package/dist/types/typechain-types/factories/contracts/core/tokens/IndexToken__factory.d.ts +1 -1
  66. package/dist/types/typechain-types/factories/contracts/core/tokens/LPToken__factory.d.ts +1 -1
  67. package/dist/types/typechain-types/factories/contracts/core/tokens/RAACNFT__factory.d.ts +1 -1
  68. package/dist/types/typechain-types/factories/contracts/core/tokens/RAACToken__factory.d.ts +1 -1
  69. package/dist/types/typechain-types/factories/contracts/core/tokens/RToken__factory.d.ts +1 -1
  70. package/dist/types/typechain-types/factories/contracts/core/tokens/VeRAACToken__factory.d.ts +1 -1
  71. package/dist/types/typechain-types/factories/contracts/interfaces/core/pools/LendingPool/ILendingPool__factory.d.ts +0 -30
  72. package/dist/types/typechain-types/factories/contracts/libraries/governance/BoostCalculator__factory.d.ts +1 -1
  73. package/dist/types/typechain-types/factories/contracts/libraries/governance/Checkpoints__factory.d.ts +1 -1
  74. package/dist/types/typechain-types/factories/contracts/libraries/governance/LockManager__factory.d.ts +1 -1
  75. package/dist/types/typechain-types/factories/contracts/libraries/governance/PowerCheckpoint__factory.d.ts +1 -1
  76. package/dist/types/typechain-types/factories/contracts/libraries/governance/RAACVoting__factory.d.ts +1 -1
  77. package/dist/types/typechain-types/factories/contracts/libraries/governance/VotingPowerLib__factory.d.ts +1 -1
  78. package/dist/types/typechain-types/factories/contracts/libraries/math/TimeWeightedAverage__factory.d.ts +1 -1
  79. package/dist/types/typechain-types/factories/contracts/libraries/pools/ReserveLibrary__factory.d.ts +1 -1
  80. package/dist/types/typechain-types/factories/contracts/libraries/utils/StringUtils__factory.d.ts +1 -1
  81. package/dist/types/typechain-types/factories/contracts/mocks/core/collectors/MockTreasury__factory.d.ts +1 -1
  82. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockBaseGauge__factory.d.ts +1 -1
  83. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/gauges/MockGaugeController__factory.d.ts +1 -1
  84. package/dist/types/typechain-types/factories/contracts/mocks/core/governance/proposals/TimelockTestTarget__factory.d.ts +1 -1
  85. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockFunctionsRouter.sol/MockFunctionsRouter__factory.d.ts +1 -1
  86. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockOracle__factory.d.ts +1 -1
  87. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/MockVRFCoordinatorV2__factory.d.ts +1 -1
  88. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACHousePriceOracle__factory.d.ts +1 -1
  89. package/dist/types/typechain-types/factories/contracts/mocks/core/oracles/TestRAACPrimeRateOracle__factory.d.ts +1 -1
  90. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolCollector__factory.d.ts +1 -1
  91. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPoolDebtToken__factory.d.ts +1 -31
  92. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLendingPool__factory.d.ts +1 -1
  93. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockLiquidityPool__factory.d.ts +1 -1
  94. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockPool__factory.d.ts +1 -1
  95. package/dist/types/typechain-types/factories/contracts/mocks/core/pools/MockStabilityPool__factory.d.ts +1 -1
  96. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContractWithConfig__factory.d.ts +1 -1
  97. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockContract__factory.d.ts +1 -1
  98. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/MockDistributableContract__factory.d.ts +1 -1
  99. package/dist/types/typechain-types/factories/contracts/mocks/core/primitives/RAACHousePricesMock__factory.d.ts +1 -1
  100. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/CrvUSDToken__factory.d.ts +1 -1
  101. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC20Mock__factory.d.ts +1 -1
  102. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/ERC721Mock__factory.d.ts +1 -1
  103. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockCollectableUnderlying__factory.d.ts +1 -1
  104. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockFeeCollectorToken__factory.d.ts +1 -1
  105. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockToken__factory.d.ts +1 -1
  106. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockUSDC__factory.d.ts +1 -1
  107. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/MockVeToken__factory.d.ts +1 -1
  108. package/dist/types/typechain-types/factories/contracts/mocks/core/tokens/RAACMockERC20__factory.d.ts +1 -1
  109. package/dist/types/typechain-types/factories/contracts/mocks/core/vaults/MockVault__factory.d.ts +1 -1
  110. package/dist/types/typechain-types/factories/contracts/mocks/libraries/MockStringUtils__factory.d.ts +1 -1
  111. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/BoostCalculatorMock__factory.d.ts +1 -1
  112. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/CheckpointsMock__factory.d.ts +1 -1
  113. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/LockManagerMock__factory.d.ts +1 -1
  114. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/PowerCheckpointMock__factory.d.ts +1 -1
  115. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/RAACVotingMock__factory.d.ts +1 -1
  116. package/dist/types/typechain-types/factories/contracts/mocks/libraries/governance/VotingPowerMock__factory.d.ts +1 -1
  117. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/TimeWeightedAverageMock__factory.d.ts +1 -1
  118. package/dist/types/typechain-types/factories/contracts/mocks/libraries/math/WadRayMathMock__factory.d.ts +1 -1
  119. package/dist/types/typechain-types/factories/contracts/mocks/libraries/pools/ReserveLibraryMock__factory.d.ts +1 -1
  120. package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousDeposit__factory.d.ts +1 -1
  121. package/dist/types/typechain-types/factories/contracts/mocks/tests/MaliciousWithdraw__factory.d.ts +1 -1
  122. package/dist/types/typechain-types/factories/contracts/mocks/tests/VeRAACFuzzHelper__factory.d.ts +1 -1
  123. package/dist/types/typechain-types/factories/contracts/mocks/tests/VotingPowerFuzzHelper.sol/VotingPowerFuzzHelper__factory.d.ts +1 -1
  124. package/dist/types/typechain-types/factories/contracts/zeno/AuctionFactory__factory.d.ts +1 -1
  125. package/dist/types/typechain-types/factories/contracts/zeno/Auction__factory.d.ts +1 -1
  126. package/dist/types/typechain-types/factories/contracts/zeno/ZENOFactory__factory.d.ts +1 -1
  127. package/dist/types/typechain-types/factories/contracts/zeno/ZENO__factory.d.ts +1 -1
  128. package/dist/types/utils/artifacts.d.ts +1201 -2
  129. package/dist/utils/artifacts.js +2 -2
  130. package/dist/wallet/assets/approveAsset.js +2 -6
  131. package/dist/wallet/assets/burnAsset.js +0 -6
  132. package/dist/wallet/assets/mintAsset.js +1 -6
  133. package/dist/wallet/assets/transferAsset.js +0 -7
  134. package/package.json +2 -2
@@ -300,8 +300,8 @@
300
300
  "type": "function"
301
301
  }
302
302
  ],
303
- "bytecode": "0x608060405234801561001057600080fd5b5060405161161238038061161283398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b611515806100fd6000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c8063571a26a014610088578063715018a6146100b157806378bd7935146100bb5780638da5cb5b146100ce578063af9f7bb8146100df578063c44e6640146100f2578063d7c0691914610103578063f20e5e3514610118578063f2fde38b14610138575b600080fd5b61009b610096366004610529565b61014b565b6040516100a89190610542565b60405180910390f35b6100b9610175565b005b61009b6100c9366004610529565b610189565b6000546001600160a01b031661009b565b6100b96100ed366004610578565b6101b9565b6001546040519081526020016100a8565b61010b6102ce565b6040516100a891906105ef565b61012b610126366004610529565b610330565b6040516100a8919061063c565b6100b96101463660046106f2565b610458565b6001818154811061015b57600080fd5b6000918252602090912001546001600160a01b0316905081565b61017d61049f565b61018760006104cc565b565b60006001828154811061019e5761019e610716565b6000918252602090912001546001600160a01b031692915050565b6101c161049f565b60008888888888888888306040516101d89061051c565b6001600160a01b03998a168152978916602089015295881660408801526060870194909452608086019290925260a085015260c084015260e083015290911661010082015261012001604051809103906000f08015801561023d573d6000803e3d6000fd5b506001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0383161790556040519091507f8a8cc462d00726e0f8c031dd2d6b9dcdf0794fb27a88579830dadee27d43ea7c906102bb908390610542565b60405180910390a1505050505050505050565b6060600180548060200260200160405190810160405280929190818152602001828054801561032657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610308575b5050505050905090565b6103bf604051806101a0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081525090565b600182815481106103d2576103d2610716565b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b031663fbbf93a06040518163ffffffff1660e01b81526004016101a060405180830381865afa15801561042e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104529190610774565b92915050565b61046061049f565b6001600160a01b038116610493576000604051631e4fbdf760e01b815260040161048a9190610542565b60405180910390fd5b61049c816104cc565b50565b6000546001600160a01b03163314610187573360405163118cdaa760e01b815260040161048a9190610542565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610ca88061083883390190565b60006020828403121561053b57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b03169052565b6001600160a01b038116811461049c57600080fd5b600080600080600080600080610100898b03121561059557600080fd5b88356105a081610563565b975060208901356105b081610563565b965060408901356105c081610563565b979a96995096976060810135975060808101359660a0820135965060c0820135955060e0909101359350915050565b6020808252825182820181905260009190848201906040850190845b818110156106305783516001600160a01b03168352928401929184019160010161060b565b50909695505050505050565b60006101a082019050610650828451610556565b60208301516106626020840182610556565b5060408301516106756040840182610556565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516106d382850182610556565b5050610160838101519083015261018092830151929091019190915290565b60006020828403121561070457600080fd5b813561070f81610563565b9392505050565b634e487b7160e01b600052603260045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561075e57634e487b7160e01b600052604160045260246000fd5b60405290565b805161076f81610563565b919050565b60006101a0828403121561078757600080fd5b61078f61072c565b61079883610764565b81526107a660208401610764565b60208201526107b760408401610764565b6040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e0820152610100808401518183015250610120808401518183015250610140610814818501610764565b90820152610160838101519082015261018092830151928101929092525091905056fe60e060405234801561001057600080fd5b50604051610ca8380380610ca883398101604081905261002f9161016c565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61006781610100565b50506001600160a01b03978816608090815296881660a09081529590971660c090815260408051610100810182528581526020810187905290810184905260608101839052968701889052948601879052600094860185905260e09095018490526001919091556002919091556003556004919091556005829055600691909155600755600880546001600160a01b03191690556101f1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461016757600080fd5b919050565b60008060008060008060008060006101208a8c03121561018b57600080fd5b6101948a610150565b98506101a260208b01610150565b97506101b060408b01610150565b965060608a0151955060808a0151945060a08a0151935060c08a0151925060e08a015191506101e26101008b01610150565b90509295985092959850929598565b60805160a05160c051610a676102416000396000818160ae01528181610458015261076101526000818160eb015261048a0152600081816101de015281816105ac01526107350152610a676000f3fe608060405234801561001057600080fd5b50600436106100a45760003560e01c80631583deb2146100a95780633e413bee146100e657806362b652551461010d578063715018a61461013b5780638da5cb5b1461014557806398d5fdca14610156578063a5ef58f51461015e578063c19d93fb14610166578063c25a950f146101d9578063d96a094a14610200578063f2fde38b14610213578063fbbf93a014610226575b600080fd5b6100d07f000000000000000000000000000000000000000000000000000000000000000081565b6040516100dd9190610881565b60405180910390f35b6100d07f000000000000000000000000000000000000000000000000000000000000000081565b61012d61011b366004610895565b60096020526000908152604090205481565b6040519081526020016100dd565b61014361023b565b005b6000546001600160a01b03166100d0565b61012d61024f565b6101436102c6565b60015460025460035460045460055460065460075460085461019597969594939291906001600160a01b031688565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c08301526001600160a01b031660e0820152610100016100dd565b6100d07f000000000000000000000000000000000000000000000000000000000000000081565b61014361020e3660046108c5565b61034d565b610143610221366004610895565b610650565b61022e61068e565b6040516100dd91906108de565b6102436107f7565b61024d6000610824565b565b600254600090421015610263575060035490565b6001544210610273575060045490565b60025460015461028391906109aa565b60025461029090426109aa565b6004546003546102a091906109aa565b6102aa91906109c3565b6102b491906109da565b6003546102c191906109aa565b905090565b6001544210156103115760405162461bcd60e51b8152602060048201526011602482015270105d58dd1a5bdb881b9bdd08195b991959607a1b60448201526064015b60405180910390fd5b7f45806e512b1f4f10e33e8b3cb64d1d11d998d8c554a95e0841fc1c701278bd5d61033a61024f565b60405190815260200160405180910390a1565b60025442116103945760405162461bcd60e51b8152602060048201526013602482015272105d58dd1a5bdb881b9bdd081cdd185c9d1959606a1b6044820152606401610308565b60015442106103d55760405162461bcd60e51b815260206004820152600d60248201526c105d58dd1a5bdb88195b991959609a1b6044820152606401610308565b6006548111156104235760405162461bcd60e51b81526020600482015260196024820152784e6f7420656e6f756768205a454e4f2072656d61696e696e6760381b6044820152606401610308565b600061042d61024f565b9050600061043b83836109c3565b6040516323b872dd60e01b81523360048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152604482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af11580156104d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f991906109fc565b6105375760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606401610308565b3360009081526009602052604081208054859290610556908490610a1e565b9091555050600680548491906000906105709084906109aa565b909155505042600755600880546001600160a01b031916339081179091556040516340c10f1960e01b81526004810191909152602481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906340c10f1990604401600060405180830381600087803b1580156105f857600080fd5b505af115801561060c573d6000803e3d6000fd5b505060408051868152602081018690523393507fb0ed585714011c808c779d1925dc4d8c5303459d8d5c6be94dfee755f95b83d692500160405180910390a2505050565b6106586107f7565b6001600160a01b038116610682576000604051631e4fbdf760e01b81526004016103089190610881565b61068b81610824565b50565b61071d604051806101a0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081525090565b604080516101a0810182523081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166020808401919091527f00000000000000000000000000000000000000000000000000000000000000008216838501526001546060840152600354608084015260045460a084015260025460c084015260055460e0840152600654610100840152600754610120840152600854909116610140830181905260009081526009909152919091205461016082015261018081016107f061024f565b9052919050565b6000546001600160a01b0316331461024d573360405163118cdaa760e01b81526004016103089190610881565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6000602082840312156108a757600080fd5b81356001600160a01b03811681146108be57600080fd5b9392505050565b6000602082840312156108d757600080fd5b5035919050565b60006101a0820190506108f2828451610874565b60208301516109046020840182610874565b5060408301516109176040840182610874565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161097582850182610874565b5050610160838101519083015261018092830151929091019190915290565b634e487b7160e01b600052601160045260246000fd5b818103818111156109bd576109bd610994565b92915050565b80820281158282048414176109bd576109bd610994565b6000826109f757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610a0e57600080fd5b815180151581146108be57600080fd5b808201808211156109bd576109bd61099456fea2646970667358221220e5117fc35d4ebe9d4fc861403e519f1cbe3c115ac8ca08543c32c8658a80923d64736f6c63430008140033a2646970667358221220c9ac301aea1f4c7031e86c2116eef737bde942915f0c18739708bbf82b55693c64736f6c63430008140033",
304
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100835760003560e01c8063571a26a014610088578063715018a6146100b157806378bd7935146100bb5780638da5cb5b146100ce578063af9f7bb8146100df578063c44e6640146100f2578063d7c0691914610103578063f20e5e3514610118578063f2fde38b14610138575b600080fd5b61009b610096366004610529565b61014b565b6040516100a89190610542565b60405180910390f35b6100b9610175565b005b61009b6100c9366004610529565b610189565b6000546001600160a01b031661009b565b6100b96100ed366004610578565b6101b9565b6001546040519081526020016100a8565b61010b6102ce565b6040516100a891906105ef565b61012b610126366004610529565b610330565b6040516100a8919061063c565b6100b96101463660046106f2565b610458565b6001818154811061015b57600080fd5b6000918252602090912001546001600160a01b0316905081565b61017d61049f565b61018760006104cc565b565b60006001828154811061019e5761019e610716565b6000918252602090912001546001600160a01b031692915050565b6101c161049f565b60008888888888888888306040516101d89061051c565b6001600160a01b03998a168152978916602089015295881660408801526060870194909452608086019290925260a085015260c084015260e083015290911661010082015261012001604051809103906000f08015801561023d573d6000803e3d6000fd5b506001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0383161790556040519091507f8a8cc462d00726e0f8c031dd2d6b9dcdf0794fb27a88579830dadee27d43ea7c906102bb908390610542565b60405180910390a1505050505050505050565b6060600180548060200260200160405190810160405280929190818152602001828054801561032657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610308575b5050505050905090565b6103bf604051806101a0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081525090565b600182815481106103d2576103d2610716565b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b031663fbbf93a06040518163ffffffff1660e01b81526004016101a060405180830381865afa15801561042e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104529190610774565b92915050565b61046061049f565b6001600160a01b038116610493576000604051631e4fbdf760e01b815260040161048a9190610542565b60405180910390fd5b61049c816104cc565b50565b6000546001600160a01b03163314610187573360405163118cdaa760e01b815260040161048a9190610542565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610ca88061083883390190565b60006020828403121561053b57600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b03169052565b6001600160a01b038116811461049c57600080fd5b600080600080600080600080610100898b03121561059557600080fd5b88356105a081610563565b975060208901356105b081610563565b965060408901356105c081610563565b979a96995096976060810135975060808101359660a0820135965060c0820135955060e0909101359350915050565b6020808252825182820181905260009190848201906040850190845b818110156106305783516001600160a01b03168352928401929184019160010161060b565b50909695505050505050565b60006101a082019050610650828451610556565b60208301516106626020840182610556565b5060408301516106756040840182610556565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516106d382850182610556565b5050610160838101519083015261018092830151929091019190915290565b60006020828403121561070457600080fd5b813561070f81610563565b9392505050565b634e487b7160e01b600052603260045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561075e57634e487b7160e01b600052604160045260246000fd5b60405290565b805161076f81610563565b919050565b60006101a0828403121561078757600080fd5b61078f61072c565b61079883610764565b81526107a660208401610764565b60208201526107b760408401610764565b6040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e0820152610100808401518183015250610120808401518183015250610140610814818501610764565b90820152610160838101519082015261018092830151928101929092525091905056fe60e060405234801561001057600080fd5b50604051610ca8380380610ca883398101604081905261002f9161016c565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61006781610100565b50506001600160a01b03978816608090815296881660a09081529590971660c090815260408051610100810182528581526020810187905290810184905260608101839052968701889052948601879052600094860185905260e09095018490526001919091556002919091556003556004919091556005829055600691909155600755600880546001600160a01b03191690556101f1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461016757600080fd5b919050565b60008060008060008060008060006101208a8c03121561018b57600080fd5b6101948a610150565b98506101a260208b01610150565b97506101b060408b01610150565b965060608a0151955060808a0151945060a08a0151935060c08a0151925060e08a015191506101e26101008b01610150565b90509295985092959850929598565b60805160a05160c051610a676102416000396000818160ae01528181610458015261076101526000818160eb015261048a0152600081816101de015281816105ac01526107350152610a676000f3fe608060405234801561001057600080fd5b50600436106100a45760003560e01c80631583deb2146100a95780633e413bee146100e657806362b652551461010d578063715018a61461013b5780638da5cb5b1461014557806398d5fdca14610156578063a5ef58f51461015e578063c19d93fb14610166578063c25a950f146101d9578063d96a094a14610200578063f2fde38b14610213578063fbbf93a014610226575b600080fd5b6100d07f000000000000000000000000000000000000000000000000000000000000000081565b6040516100dd9190610881565b60405180910390f35b6100d07f000000000000000000000000000000000000000000000000000000000000000081565b61012d61011b366004610895565b60096020526000908152604090205481565b6040519081526020016100dd565b61014361023b565b005b6000546001600160a01b03166100d0565b61012d61024f565b6101436102c6565b60015460025460035460045460055460065460075460085461019597969594939291906001600160a01b031688565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c08301526001600160a01b031660e0820152610100016100dd565b6100d07f000000000000000000000000000000000000000000000000000000000000000081565b61014361020e3660046108c5565b61034d565b610143610221366004610895565b610650565b61022e61068e565b6040516100dd91906108de565b6102436107f7565b61024d6000610824565b565b600254600090421015610263575060035490565b6001544210610273575060045490565b60025460015461028391906109aa565b60025461029090426109aa565b6004546003546102a091906109aa565b6102aa91906109c3565b6102b491906109da565b6003546102c191906109aa565b905090565b6001544210156103115760405162461bcd60e51b8152602060048201526011602482015270105d58dd1a5bdb881b9bdd08195b991959607a1b60448201526064015b60405180910390fd5b7f45806e512b1f4f10e33e8b3cb64d1d11d998d8c554a95e0841fc1c701278bd5d61033a61024f565b60405190815260200160405180910390a1565b60025442116103945760405162461bcd60e51b8152602060048201526013602482015272105d58dd1a5bdb881b9bdd081cdd185c9d1959606a1b6044820152606401610308565b60015442106103d55760405162461bcd60e51b815260206004820152600d60248201526c105d58dd1a5bdb88195b991959609a1b6044820152606401610308565b6006548111156104235760405162461bcd60e51b81526020600482015260196024820152784e6f7420656e6f756768205a454e4f2072656d61696e696e6760381b6044820152606401610308565b600061042d61024f565b9050600061043b83836109c3565b6040516323b872dd60e01b81523360048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152604482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af11580156104d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f991906109fc565b6105375760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606401610308565b3360009081526009602052604081208054859290610556908490610a1e565b9091555050600680548491906000906105709084906109aa565b909155505042600755600880546001600160a01b031916339081179091556040516340c10f1960e01b81526004810191909152602481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906340c10f1990604401600060405180830381600087803b1580156105f857600080fd5b505af115801561060c573d6000803e3d6000fd5b505060408051868152602081018690523393507fb0ed585714011c808c779d1925dc4d8c5303459d8d5c6be94dfee755f95b83d692500160405180910390a2505050565b6106586107f7565b6001600160a01b038116610682576000604051631e4fbdf760e01b81526004016103089190610881565b61068b81610824565b50565b61071d604051806101a0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081525090565b604080516101a0810182523081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166020808401919091527f00000000000000000000000000000000000000000000000000000000000000008216838501526001546060840152600354608084015260045460a084015260025460c084015260055460e0840152600654610100840152600754610120840152600854909116610140830181905260009081526009909152919091205461016082015261018081016107f061024f565b9052919050565b6000546001600160a01b0316331461024d573360405163118cdaa760e01b81526004016103089190610881565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03169052565b6001600160a01b0391909116815260200190565b6000602082840312156108a757600080fd5b81356001600160a01b03811681146108be57600080fd5b9392505050565b6000602082840312156108d757600080fd5b5035919050565b60006101a0820190506108f2828451610874565b60208301516109046020840182610874565b5060408301516109176040840182610874565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e08301526101008084015181840152506101208084015181840152506101408084015161097582850182610874565b5050610160838101519083015261018092830151929091019190915290565b634e487b7160e01b600052601160045260246000fd5b818103818111156109bd576109bd610994565b92915050565b80820281158282048414176109bd576109bd610994565b6000826109f757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610a0e57600080fd5b815180151581146108be57600080fd5b808201808211156109bd576109bd61099456fea2646970667358221220e5117fc35d4ebe9d4fc861403e519f1cbe3c115ac8ca08543c32c8658a80923d64736f6c63430008140033a2646970667358221220c9ac301aea1f4c7031e86c2116eef737bde942915f0c18739708bbf82b55693c64736f6c63430008140033",
303
+ "bytecode": "0x608060405234801561001057600080fd5b5060405161162938038061162983398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b61152c806100fd6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063af9f7bb811610066578063af9f7bb8146100f6578063c44e664014610109578063d7c069191461011a578063f20e5e351461012f578063f2fde38b1461014f57600080fd5b8063571a26a014610098578063715018a6146100c857806378bd7935146100d25780638da5cb5b146100e5575b600080fd5b6100ab6100a636600461053a565b610162565b6040516001600160a01b0390911681526020015b60405180910390f35b6100d061018c565b005b6100ab6100e036600461053a565b6101a0565b6000546001600160a01b03166100ab565b6100d0610104366004610568565b6101d0565b6001546040519081526020016100bf565b6101226102e3565b6040516100bf91906105df565b61014261013d36600461053a565b610345565b6040516100bf919061062c565b6100d061015d3660046106f8565b61046d565b6001818154811061017257600080fd5b6000918252602090912001546001600160a01b0316905081565b6101946104b0565b61019e60006104dd565b565b6000600182815481106101b5576101b561071c565b6000918252602090912001546001600160a01b031692915050565b6101d86104b0565b60008888888888888888306040516101ef9061052d565b6001600160a01b03998a168152978916602089015295881660408801526060870194909452608086019290925260a085015260c084015260e083015290911661010082015261012001604051809103906000f080158015610254573d6000803e3d6000fd5b506001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0383169081179091556040519081529091507f8a8cc462d00726e0f8c031dd2d6b9dcdf0794fb27a88579830dadee27d43ea7c9060200160405180910390a1505050505050505050565b6060600180548060200260200160405190810160405280929190818152602001828054801561033b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161031d575b5050505050905090565b6103d4604051806101a0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081525090565b600182815481106103e7576103e761071c565b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b031663fbbf93a06040518163ffffffff1660e01b81526004016101a060405180830381865afa158015610443573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610467919061077a565b92915050565b6104756104b0565b6001600160a01b0381166104a457604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6104ad816104dd565b50565b6000546001600160a01b0316331461019e5760405163118cdaa760e01b815233600482015260240161049b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610cb98061083e83390190565b60006020828403121561054c57600080fd5b5035919050565b6001600160a01b03811681146104ad57600080fd5b600080600080600080600080610100898b03121561058557600080fd5b883561059081610553565b975060208901356105a081610553565b965060408901356105b081610553565b979a96995096976060810135975060808101359660a0820135965060c0820135955060e0909101359350915050565b6020808252825182820181905260009190848201906040850190845b818110156106205783516001600160a01b0316835292840192918401916001016105fb565b50909695505050505050565b81516001600160a01b031681526101a08101602083015161065860208401826001600160a01b03169052565b50604083015161067360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516106d9828501826001600160a01b03169052565b5050610160838101519083015261018092830151929091019190915290565b60006020828403121561070a57600080fd5b813561071581610553565b9392505050565b634e487b7160e01b600052603260045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561076457634e487b7160e01b600052604160045260246000fd5b60405290565b805161077581610553565b919050565b60006101a0828403121561078d57600080fd5b610795610732565b61079e8361076a565b81526107ac6020840161076a565b60208201526107bd6040840161076a565b6040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e082015261010080840151818301525061012080840151818301525061014061081a81850161076a565b90820152610160838101519082015261018092830151928101929092525091905056fe60e060405234801561001057600080fd5b50604051610cb9380380610cb983398101604081905261002f9161016c565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61006781610100565b50506001600160a01b03978816608090815296881660a09081529590971660c090815260408051610100810182528581526020810187905290810184905260608101839052968701889052948601879052600094860185905260e09095018490526001919091556002919091556003556004919091556005829055600691909155600755600880546001600160a01b03191690556101f1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461016757600080fd5b919050565b60008060008060008060008060006101208a8c03121561018b57600080fd5b6101948a610150565b98506101a260208b01610150565b97506101b060408b01610150565b965060608a0151955060808a0151945060a08a0151935060c08a0151925060e08a015191506101e26101008b01610150565b90509295985092959850929598565b60805160a05160c051610a776102426000396000818160be01528181610473015261077c01526000818161010201526104a50152600081816101f5015281816105c701526107500152610a776000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063a5ef58f511610071578063a5ef58f514610175578063c19d93fb1461017d578063c25a950f146101f0578063d96a094a14610217578063f2fde38b1461022a578063fbbf93a01461023d57600080fd5b80631583deb2146100b95780633e413bee146100fd57806362b6525514610124578063715018a6146101525780638da5cb5b1461015c57806398d5fdca1461016d575b600080fd5b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b61014461013236600461088f565b60096020526000908152604090205481565b6040519081526020016100f4565b61015a610252565b005b6000546001600160a01b03166100e0565b610144610266565b61015a6102dd565b6001546002546003546004546005546006546007546008546101ac97969594939291906001600160a01b031688565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c08301526001600160a01b031660e0820152610100016100f4565b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b61015a6102253660046108bf565b610364565b61015a61023836600461088f565b61066b565b6102456106a9565b6040516100f491906108d8565b61025a610812565b610264600061083f565b565b60025460009042101561027a575060035490565b600154421061028a575060045490565b60025460015461029a91906109ba565b6002546102a790426109ba565b6004546003546102b791906109ba565b6102c191906109d3565b6102cb91906109ea565b6003546102d891906109ba565b905090565b6001544210156103285760405162461bcd60e51b8152602060048201526011602482015270105d58dd1a5bdb881b9bdd08195b991959607a1b60448201526064015b60405180910390fd5b7f45806e512b1f4f10e33e8b3cb64d1d11d998d8c554a95e0841fc1c701278bd5d610351610266565b60405190815260200160405180910390a1565b60025442116103ab5760405162461bcd60e51b8152602060048201526013602482015272105d58dd1a5bdb881b9bdd081cdd185c9d1959606a1b604482015260640161031f565b60015442106103ec5760405162461bcd60e51b815260206004820152600d60248201526c105d58dd1a5bdb88195b991959609a1b604482015260640161031f565b60065481111561043e5760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f756768205a454e4f2072656d61696e696e6700000000000000604482015260640161031f565b6000610448610266565b9050600061045683836109d3565b6040516323b872dd60e01b81523360048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152604482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af11580156104f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105149190610a0c565b6105525760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161031f565b3360009081526009602052604081208054859290610571908490610a2e565b90915550506006805484919060009061058b9084906109ba565b909155505042600755600880546001600160a01b031916339081179091556040516340c10f1960e01b81526004810191909152602481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906340c10f1990604401600060405180830381600087803b15801561061357600080fd5b505af1158015610627573d6000803e3d6000fd5b505060408051868152602081018690523393507fb0ed585714011c808c779d1925dc4d8c5303459d8d5c6be94dfee755f95b83d692500160405180910390a2505050565b610673610812565b6001600160a01b03811661069d57604051631e4fbdf760e01b81526000600482015260240161031f565b6106a68161083f565b50565b610738604051806101a0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081525090565b604080516101a0810182523081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166020808401919091527f00000000000000000000000000000000000000000000000000000000000000008216838501526001546060840152600354608084015260045460a084015260025460c084015260055460e08401526006546101008401526007546101208401526008549091166101408301819052600090815260099091529190912054610160820152610180810161080b610266565b9052919050565b6000546001600160a01b031633146102645760405163118cdaa760e01b815233600482015260240161031f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156108a157600080fd5b81356001600160a01b03811681146108b857600080fd5b9392505050565b6000602082840312156108d157600080fd5b5035919050565b81516001600160a01b031681526101a08101602083015161090460208401826001600160a01b03169052565b50604083015161091f60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151610985828501826001600160a01b03169052565b5050610160838101519083015261018092830151929091019190915290565b634e487b7160e01b600052601160045260246000fd5b818103818111156109cd576109cd6109a4565b92915050565b80820281158282048414176109cd576109cd6109a4565b600082610a0757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610a1e57600080fd5b815180151581146108b857600080fd5b808201808211156109cd576109cd6109a456fea264697066735822122065582b3fb4f5451f49c2d9e51d39f70b61b1c831efeeb0d5848edf56a9fe1bac64736f6c63430008140033a264697066735822122094aad5462bd73bfcdb0307ec35807d7775cf1e597855d7a15c29645b5f9892dd64736f6c63430008140033",
304
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063af9f7bb811610066578063af9f7bb8146100f6578063c44e664014610109578063d7c069191461011a578063f20e5e351461012f578063f2fde38b1461014f57600080fd5b8063571a26a014610098578063715018a6146100c857806378bd7935146100d25780638da5cb5b146100e5575b600080fd5b6100ab6100a636600461053a565b610162565b6040516001600160a01b0390911681526020015b60405180910390f35b6100d061018c565b005b6100ab6100e036600461053a565b6101a0565b6000546001600160a01b03166100ab565b6100d0610104366004610568565b6101d0565b6001546040519081526020016100bf565b6101226102e3565b6040516100bf91906105df565b61014261013d36600461053a565b610345565b6040516100bf919061062c565b6100d061015d3660046106f8565b61046d565b6001818154811061017257600080fd5b6000918252602090912001546001600160a01b0316905081565b6101946104b0565b61019e60006104dd565b565b6000600182815481106101b5576101b561071c565b6000918252602090912001546001600160a01b031692915050565b6101d86104b0565b60008888888888888888306040516101ef9061052d565b6001600160a01b03998a168152978916602089015295881660408801526060870194909452608086019290925260a085015260c084015260e083015290911661010082015261012001604051809103906000f080158015610254573d6000803e3d6000fd5b506001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0383169081179091556040519081529091507f8a8cc462d00726e0f8c031dd2d6b9dcdf0794fb27a88579830dadee27d43ea7c9060200160405180910390a1505050505050505050565b6060600180548060200260200160405190810160405280929190818152602001828054801561033b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161031d575b5050505050905090565b6103d4604051806101a0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081525090565b600182815481106103e7576103e761071c565b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b031663fbbf93a06040518163ffffffff1660e01b81526004016101a060405180830381865afa158015610443573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610467919061077a565b92915050565b6104756104b0565b6001600160a01b0381166104a457604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6104ad816104dd565b50565b6000546001600160a01b0316331461019e5760405163118cdaa760e01b815233600482015260240161049b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610cb98061083e83390190565b60006020828403121561054c57600080fd5b5035919050565b6001600160a01b03811681146104ad57600080fd5b600080600080600080600080610100898b03121561058557600080fd5b883561059081610553565b975060208901356105a081610553565b965060408901356105b081610553565b979a96995096976060810135975060808101359660a0820135965060c0820135955060e0909101359350915050565b6020808252825182820181905260009190848201906040850190845b818110156106205783516001600160a01b0316835292840192918401916001016105fb565b50909695505050505050565b81516001600160a01b031681526101a08101602083015161065860208401826001600160a01b03169052565b50604083015161067360408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e0830152610100808401518184015250610120808401518184015250610140808401516106d9828501826001600160a01b03169052565b5050610160838101519083015261018092830151929091019190915290565b60006020828403121561070a57600080fd5b813561071581610553565b9392505050565b634e487b7160e01b600052603260045260246000fd5b6040516101a0810167ffffffffffffffff8111828210171561076457634e487b7160e01b600052604160045260246000fd5b60405290565b805161077581610553565b919050565b60006101a0828403121561078d57600080fd5b610795610732565b61079e8361076a565b81526107ac6020840161076a565b60208201526107bd6040840161076a565b6040820152606083015160608201526080830151608082015260a083015160a082015260c083015160c082015260e083015160e082015261010080840151818301525061012080840151818301525061014061081a81850161076a565b90820152610160838101519082015261018092830151928101929092525091905056fe60e060405234801561001057600080fd5b50604051610cb9380380610cb983398101604081905261002f9161016c565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b61006781610100565b50506001600160a01b03978816608090815296881660a09081529590971660c090815260408051610100810182528581526020810187905290810184905260608101839052968701889052948601879052600094860185905260e09095018490526001919091556002919091556003556004919091556005829055600691909155600755600880546001600160a01b03191690556101f1565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461016757600080fd5b919050565b60008060008060008060008060006101208a8c03121561018b57600080fd5b6101948a610150565b98506101a260208b01610150565b97506101b060408b01610150565b965060608a0151955060808a0151945060a08a0151935060c08a0151925060e08a015191506101e26101008b01610150565b90509295985092959850929598565b60805160a05160c051610a776102426000396000818160be01528181610473015261077c01526000818161010201526104a50152600081816101f5015281816105c701526107500152610a776000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063a5ef58f511610071578063a5ef58f514610175578063c19d93fb1461017d578063c25a950f146101f0578063d96a094a14610217578063f2fde38b1461022a578063fbbf93a01461023d57600080fd5b80631583deb2146100b95780633e413bee146100fd57806362b6525514610124578063715018a6146101525780638da5cb5b1461015c57806398d5fdca1461016d575b600080fd5b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b61014461013236600461088f565b60096020526000908152604090205481565b6040519081526020016100f4565b61015a610252565b005b6000546001600160a01b03166100e0565b610144610266565b61015a6102dd565b6001546002546003546004546005546006546007546008546101ac97969594939291906001600160a01b031688565b604080519889526020890197909752958701949094526060860192909252608085015260a084015260c08301526001600160a01b031660e0820152610100016100f4565b6100e07f000000000000000000000000000000000000000000000000000000000000000081565b61015a6102253660046108bf565b610364565b61015a61023836600461088f565b61066b565b6102456106a9565b6040516100f491906108d8565b61025a610812565b610264600061083f565b565b60025460009042101561027a575060035490565b600154421061028a575060045490565b60025460015461029a91906109ba565b6002546102a790426109ba565b6004546003546102b791906109ba565b6102c191906109d3565b6102cb91906109ea565b6003546102d891906109ba565b905090565b6001544210156103285760405162461bcd60e51b8152602060048201526011602482015270105d58dd1a5bdb881b9bdd08195b991959607a1b60448201526064015b60405180910390fd5b7f45806e512b1f4f10e33e8b3cb64d1d11d998d8c554a95e0841fc1c701278bd5d610351610266565b60405190815260200160405180910390a1565b60025442116103ab5760405162461bcd60e51b8152602060048201526013602482015272105d58dd1a5bdb881b9bdd081cdd185c9d1959606a1b604482015260640161031f565b60015442106103ec5760405162461bcd60e51b815260206004820152600d60248201526c105d58dd1a5bdb88195b991959609a1b604482015260640161031f565b60065481111561043e5760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f756768205a454e4f2072656d61696e696e6700000000000000604482015260640161031f565b6000610448610266565b9050600061045683836109d3565b6040516323b872dd60e01b81523360048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166024830152604482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af11580156104f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105149190610a0c565b6105525760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b604482015260640161031f565b3360009081526009602052604081208054859290610571908490610a2e565b90915550506006805484919060009061058b9084906109ba565b909155505042600755600880546001600160a01b031916339081179091556040516340c10f1960e01b81526004810191909152602481018490527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906340c10f1990604401600060405180830381600087803b15801561061357600080fd5b505af1158015610627573d6000803e3d6000fd5b505060408051868152602081018690523393507fb0ed585714011c808c779d1925dc4d8c5303459d8d5c6be94dfee755f95b83d692500160405180910390a2505050565b610673610812565b6001600160a01b03811661069d57604051631e4fbdf760e01b81526000600482015260240161031f565b6106a68161083f565b50565b610738604051806101a0016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b0316815260200160008152602001600081525090565b604080516101a0810182523081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166020808401919091527f00000000000000000000000000000000000000000000000000000000000000008216838501526001546060840152600354608084015260045460a084015260025460c084015260055460e08401526006546101008401526007546101208401526008549091166101408301819052600090815260099091529190912054610160820152610180810161080b610266565b9052919050565b6000546001600160a01b031633146102645760405163118cdaa760e01b815233600482015260240161031f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156108a157600080fd5b81356001600160a01b03811681146108b857600080fd5b9392505050565b6000602082840312156108d157600080fd5b5035919050565b81516001600160a01b031681526101a08101602083015161090460208401826001600160a01b03169052565b50604083015161091f60408401826001600160a01b03169052565b50606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151818401525061012080840151818401525061014080840151610985828501826001600160a01b03169052565b5050610160838101519083015261018092830151929091019190915290565b634e487b7160e01b600052601160045260246000fd5b818103818111156109cd576109cd6109a4565b92915050565b80820281158282048414176109cd576109cd6109a4565b600082610a0757634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610a1e57600080fd5b815180151581146108b857600080fd5b808201808211156109cd576109cd6109a456fea264697066735822122065582b3fb4f5451f49c2d9e51d39f70b61b1c831efeeb0d5848edf56a9fe1bac64736f6c63430008140033a264697066735822122094aad5462bd73bfcdb0307ec35807d7775cf1e597855d7a15c29645b5f9892dd64736f6c63430008140033",
305
305
  "linkReferences": {},
306
306
  "deployedLinkReferences": {}
307
307
  }
@@ -613,8 +613,8 @@
613
613
  "type": "function"
614
614
  }
615
615
  ],
616
- "bytecode": "0x60c06040523480156200001157600080fd5b50604051620012f8380380620012f88339810160408190526200003491620001e5565b80838360036200004583826200030e565b5060046200005482826200030e565b5050506001600160a01b0381166200008657604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200009181620000b1565b5050600160065550506001600160a01b0390911660805260a052620003da565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200011b57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200014857600080fd5b81516001600160401b038082111562000165576200016562000120565b604051601f8301601f19908116603f0116810190828211818310171562000190576200019062000120565b81604052838152602092508683858801011115620001ad57600080fd5b600091505b83821015620001d15785820183015181830184015290820190620001b2565b600093810190920192909252949350505050565b600080600080600060a08688031215620001fe57600080fd5b620002098662000103565b6020870151604088015191965094506001600160401b03808211156200022e57600080fd5b6200023c89838a0162000136565b945060608801519150808211156200025357600080fd5b50620002628882890162000136565b925050620002736080870162000103565b90509295509295909350565b600181811c908216806200029457607f821691505b602082108103620002b557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030957600081815260208120601f850160051c81016020861015620002e45750805b601f850160051c820191505b818110156200030557828155600101620002f0565b5050505b505050565b81516001600160401b038111156200032a576200032a62000120565b62000342816200033b84546200027f565b84620002bb565b602080601f8311600181146200037a5760008415620003615750858301515b600019600386901b1c1916600185901b17855562000305565b600085815260208120601f198616915b82811015620003ab578886015182559484019460019091019084016200038a565b5085821015620003ca5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a051610edc6200041c6000396000818161026e015281816104c101526106780152600081816101e0015281816103f301526105910152610edc6000f3fe608060405234801561001057600080fd5b50600436106101175760003560e01c8063715018a6116100a8578063715018a6146101d357806389a30271146101db5780638da5cb5b1461020f57806395d89b4114610220578063a9059cbb14610228578063af9205821461023b578063db006a7514610243578063dd62ed3e14610256578063e593bd7414610269578063f2fde38b14610290578063fbbf93a0146102a357600080fd5b806302458c741461011c57806306fdde0314610138578063095ea7b31461014d57806318160ddd1461017057806323b872dd146101785780632f4350c21461018b578063313ce5671461019557806340c10f19146101a457806368266e1b146101b757806370a08231146101c0575b600080fd5b61012560085481565b6040519081526020015b60405180910390f35b6101406102b8565b60405161012f9190610c7e565b61016061015b366004610cad565b61034a565b604051901515815260200161012f565b600254610125565b610160610186366004610cd7565b610364565b61019361038a565b005b6040516012815260200161012f565b6101936101b2366004610cad565b610427565b61012560075481565b6101256101ce366004610d13565b610475565b610193610490565b6102027f000000000000000000000000000000000000000000000000000000000000000081565b60405161012f9190610d2e565b6005546001600160a01b0316610202565b6101406104a2565b610160610236366004610cad565b6104b1565b6101606104bf565b610193610251366004610d42565b6104e6565b610125610264366004610d5b565b6105c6565b6101257f000000000000000000000000000000000000000000000000000000000000000081565b61019361029e366004610d13565b6105f1565b6102ab610635565b60405161012f9190610d8e565b6060600380546102c790610dec565b80601f01602080910402602001604051908101604052809291908181526020018280546102f390610dec565b80156103405780601f1061031557610100808354040283529160200191610340565b820191906000526020600020905b81548152906001019060200180831161032357829003601f168201915b5050505050905090565b6000336103588185856106bb565b60019150505b92915050565b6000336103728582856106cd565b61037d858585610720565b60019150505b9392505050565b61039261077f565b61039a6104bf565b6103b757604051631440798b60e01b815260040160405180910390fd5b60006103c233610475565b905080600860008282546103d69190610e26565b909155506103e6905033826107a9565b61041a6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633836107e3565b506104256001600655565b565b61042f610835565b8060000361045057604051631f2a200560e01b815260040160405180910390fd5b61045a8282610862565b806007600082825461046c9190610e26565b90915550505050565b6001600160a01b031660009081526020819052604090205490565b610498610835565b6104256000610898565b6060600480546102c790610dec565b600033610358818585610720565b7f000000000000000000000000000000000000000000000000000000000000000042101590565b6104ee61077f565b6104f66104bf565b61051357604051631440798b60e01b815260040160405180910390fd5b8060000361053457604051631f2a200560e01b815260040160405180910390fd5b600061053f33610475565b90508082111561056257604051631e9acf1760e31b815260040160405180910390fd5b81600860008282546105749190610e26565b90915550610584905033836107a9565b6105b86001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633846107e3565b506105c36001600655565b50565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6105f9610835565b6001600160a01b03811661062c576000604051631e4fbdf760e01b81526004016106239190610d2e565b60405180910390fd5b6105c381610898565b610669604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b604080516080810182523081527f000000000000000000000000000000000000000000000000000000000000000060208201529081016106a76102b8565b81526020016106b46104a2565b9052919050565b6106c883838360016108ea565b505050565b60006106d984846105c6565b9050600019811461071a578181101561070b57828183604051637dc7a0d960e11b815260040161062393929190610e47565b61071a848484840360006108ea565b50505050565b6001600160a01b03831661074a576000604051634b637e8f60e11b81526004016106239190610d2e565b6001600160a01b03821661077457600060405163ec442f0560e01b81526004016106239190610d2e565b6106c88383836109bf565b6002600654036107a257604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b6001600160a01b0382166107d3576000604051634b637e8f60e11b81526004016106239190610d2e565b6107df826000836109bf565b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106c8908490610ad6565b6005546001600160a01b03163314610425573360405163118cdaa760e01b81526004016106239190610d2e565b6001600160a01b03821661088c57600060405163ec442f0560e01b81526004016106239190610d2e565b6107df600083836109bf565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03841661091457600060405163e602df0560e01b81526004016106239190610d2e565b6001600160a01b03831661093e576000604051634a1406b160e11b81526004016106239190610d2e565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561071a57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109b191815260200190565b60405180910390a350505050565b6001600160a01b0383166109ea5780600260008282546109df9190610e26565b90915550610a499050565b6001600160a01b03831660009081526020819052604090205481811015610a2a5783818360405163391434e360e21b815260040161062393929190610e47565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610a6557600280548290039055610a84565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ac991815260200190565b60405180910390a3505050565b6000610aeb6001600160a01b03841683610b30565b90508051600014158015610b10575080806020019051810190610b0e9190610e68565b155b156106c85782604051635274afe760e01b81526004016106239190610d2e565b60606103838383600084600080856001600160a01b03168486604051610b569190610e8a565b60006040518083038185875af1925050503d8060008114610b93576040519150601f19603f3d011682016040523d82523d6000602084013e610b98565b606091505b5091509150610ba8868383610bb2565b9695505050505050565b606082610bc757610bc282610c05565b610383565b8151158015610bde57506001600160a01b0384163b155b15610bfe5783604051639996b31560e01b81526004016106239190610d2e565b5080610383565b805115610c155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015610c49578181015183820152602001610c31565b50506000910152565b60008151808452610c6a816020860160208601610c2e565b601f01601f19169290920160200192915050565b6020815260006103836020830184610c52565b80356001600160a01b0381168114610ca857600080fd5b919050565b60008060408385031215610cc057600080fd5b610cc983610c91565b946020939093013593505050565b600080600060608486031215610cec57600080fd5b610cf584610c91565b9250610d0360208501610c91565b9150604084013590509250925092565b600060208284031215610d2557600080fd5b61038382610c91565b6001600160a01b0391909116815260200190565b600060208284031215610d5457600080fd5b5035919050565b60008060408385031215610d6e57600080fd5b610d7783610c91565b9150610d8560208401610c91565b90509250929050565b6020815260018060a01b038251166020820152602082015160408201526000604083015160806060840152610dc660a0840182610c52565b90506060840151601f19848303016080850152610de38282610c52565b95945050505050565b600181811c90821680610e0057607f821691505b602082108103610e2057634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561035e57634e487b7160e01b600052601160045260246000fd5b6001600160a01b039390931683526020830191909152604082015260600190565b600060208284031215610e7a57600080fd5b8151801515811461038357600080fd5b60008251610e9c818460208701610c2e565b919091019291505056fea2646970667358221220cd6e581cba9fd19f7928e14d3c712c26817978455e2bdc57a38e257c2bb343b564736f6c63430008140033",
617
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101175760003560e01c8063715018a6116100a8578063715018a6146101d357806389a30271146101db5780638da5cb5b1461020f57806395d89b4114610220578063a9059cbb14610228578063af9205821461023b578063db006a7514610243578063dd62ed3e14610256578063e593bd7414610269578063f2fde38b14610290578063fbbf93a0146102a357600080fd5b806302458c741461011c57806306fdde0314610138578063095ea7b31461014d57806318160ddd1461017057806323b872dd146101785780632f4350c21461018b578063313ce5671461019557806340c10f19146101a457806368266e1b146101b757806370a08231146101c0575b600080fd5b61012560085481565b6040519081526020015b60405180910390f35b6101406102b8565b60405161012f9190610c7e565b61016061015b366004610cad565b61034a565b604051901515815260200161012f565b600254610125565b610160610186366004610cd7565b610364565b61019361038a565b005b6040516012815260200161012f565b6101936101b2366004610cad565b610427565b61012560075481565b6101256101ce366004610d13565b610475565b610193610490565b6102027f000000000000000000000000000000000000000000000000000000000000000081565b60405161012f9190610d2e565b6005546001600160a01b0316610202565b6101406104a2565b610160610236366004610cad565b6104b1565b6101606104bf565b610193610251366004610d42565b6104e6565b610125610264366004610d5b565b6105c6565b6101257f000000000000000000000000000000000000000000000000000000000000000081565b61019361029e366004610d13565b6105f1565b6102ab610635565b60405161012f9190610d8e565b6060600380546102c790610dec565b80601f01602080910402602001604051908101604052809291908181526020018280546102f390610dec565b80156103405780601f1061031557610100808354040283529160200191610340565b820191906000526020600020905b81548152906001019060200180831161032357829003601f168201915b5050505050905090565b6000336103588185856106bb565b60019150505b92915050565b6000336103728582856106cd565b61037d858585610720565b60019150505b9392505050565b61039261077f565b61039a6104bf565b6103b757604051631440798b60e01b815260040160405180910390fd5b60006103c233610475565b905080600860008282546103d69190610e26565b909155506103e6905033826107a9565b61041a6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633836107e3565b506104256001600655565b565b61042f610835565b8060000361045057604051631f2a200560e01b815260040160405180910390fd5b61045a8282610862565b806007600082825461046c9190610e26565b90915550505050565b6001600160a01b031660009081526020819052604090205490565b610498610835565b6104256000610898565b6060600480546102c790610dec565b600033610358818585610720565b7f000000000000000000000000000000000000000000000000000000000000000042101590565b6104ee61077f565b6104f66104bf565b61051357604051631440798b60e01b815260040160405180910390fd5b8060000361053457604051631f2a200560e01b815260040160405180910390fd5b600061053f33610475565b90508082111561056257604051631e9acf1760e31b815260040160405180910390fd5b81600860008282546105749190610e26565b90915550610584905033836107a9565b6105b86001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633846107e3565b506105c36001600655565b50565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6105f9610835565b6001600160a01b03811661062c576000604051631e4fbdf760e01b81526004016106239190610d2e565b60405180910390fd5b6105c381610898565b610669604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b604080516080810182523081527f000000000000000000000000000000000000000000000000000000000000000060208201529081016106a76102b8565b81526020016106b46104a2565b9052919050565b6106c883838360016108ea565b505050565b60006106d984846105c6565b9050600019811461071a578181101561070b57828183604051637dc7a0d960e11b815260040161062393929190610e47565b61071a848484840360006108ea565b50505050565b6001600160a01b03831661074a576000604051634b637e8f60e11b81526004016106239190610d2e565b6001600160a01b03821661077457600060405163ec442f0560e01b81526004016106239190610d2e565b6106c88383836109bf565b6002600654036107a257604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b6001600160a01b0382166107d3576000604051634b637e8f60e11b81526004016106239190610d2e565b6107df826000836109bf565b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106c8908490610ad6565b6005546001600160a01b03163314610425573360405163118cdaa760e01b81526004016106239190610d2e565b6001600160a01b03821661088c57600060405163ec442f0560e01b81526004016106239190610d2e565b6107df600083836109bf565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03841661091457600060405163e602df0560e01b81526004016106239190610d2e565b6001600160a01b03831661093e576000604051634a1406b160e11b81526004016106239190610d2e565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561071a57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109b191815260200190565b60405180910390a350505050565b6001600160a01b0383166109ea5780600260008282546109df9190610e26565b90915550610a499050565b6001600160a01b03831660009081526020819052604090205481811015610a2a5783818360405163391434e360e21b815260040161062393929190610e47565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610a6557600280548290039055610a84565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ac991815260200190565b60405180910390a3505050565b6000610aeb6001600160a01b03841683610b30565b90508051600014158015610b10575080806020019051810190610b0e9190610e68565b155b156106c85782604051635274afe760e01b81526004016106239190610d2e565b60606103838383600084600080856001600160a01b03168486604051610b569190610e8a565b60006040518083038185875af1925050503d8060008114610b93576040519150601f19603f3d011682016040523d82523d6000602084013e610b98565b606091505b5091509150610ba8868383610bb2565b9695505050505050565b606082610bc757610bc282610c05565b610383565b8151158015610bde57506001600160a01b0384163b155b15610bfe5783604051639996b31560e01b81526004016106239190610d2e565b5080610383565b805115610c155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015610c49578181015183820152602001610c31565b50506000910152565b60008151808452610c6a816020860160208601610c2e565b601f01601f19169290920160200192915050565b6020815260006103836020830184610c52565b80356001600160a01b0381168114610ca857600080fd5b919050565b60008060408385031215610cc057600080fd5b610cc983610c91565b946020939093013593505050565b600080600060608486031215610cec57600080fd5b610cf584610c91565b9250610d0360208501610c91565b9150604084013590509250925092565b600060208284031215610d2557600080fd5b61038382610c91565b6001600160a01b0391909116815260200190565b600060208284031215610d5457600080fd5b5035919050565b60008060408385031215610d6e57600080fd5b610d7783610c91565b9150610d8560208401610c91565b90509250929050565b6020815260018060a01b038251166020820152602082015160408201526000604083015160806060840152610dc660a0840182610c52565b90506060840151601f19848303016080850152610de38282610c52565b95945050505050565b600181811c90821680610e0057607f821691505b602082108103610e2057634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561035e57634e487b7160e01b600052601160045260246000fd5b6001600160a01b039390931683526020830191909152604082015260600190565b600060208284031215610e7a57600080fd5b8151801515811461038357600080fd5b60008251610e9c818460208701610c2e565b919091019291505056fea2646970667358221220cd6e581cba9fd19f7928e14d3c712c26817978455e2bdc57a38e257c2bb343b564736f6c63430008140033",
616
+ "bytecode": "0x60c06040523480156200001157600080fd5b5060405162001378380380620013788339810160408190526200003491620001e5565b80838360036200004583826200030e565b5060046200005482826200030e565b5050506001600160a01b0381166200008657604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200009181620000b1565b5050600160065550506001600160a01b0390911660805260a052620003da565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200011b57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200014857600080fd5b81516001600160401b038082111562000165576200016562000120565b604051601f8301601f19908116603f0116810190828211818310171562000190576200019062000120565b81604052838152602092508683858801011115620001ad57600080fd5b600091505b83821015620001d15785820183015181830184015290820190620001b2565b600093810190920192909252949350505050565b600080600080600060a08688031215620001fe57600080fd5b620002098662000103565b6020870151604088015191965094506001600160401b03808211156200022e57600080fd5b6200023c89838a0162000136565b945060608801519150808211156200025357600080fd5b50620002628882890162000136565b925050620002736080870162000103565b90509295509295909350565b600181811c908216806200029457607f821691505b602082108103620002b557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030957600081815260208120601f850160051c81016020861015620002e45750805b601f850160051c820191505b818110156200030557828155600101620002f0565b5050505b505050565b81516001600160401b038111156200032a576200032a62000120565b62000342816200033b84546200027f565b84620002bb565b602080601f8311600181146200037a5760008415620003615750858301515b600019600386901b1c1916600185901b17855562000305565b600085815260208120601f198616915b82811015620003ab578886015182559484019460019091019084016200038a565b5085821015620003ca5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a051610f4e6200042a6000396000818161027e015281816102f60152818161041c0152818161055701526106cf0152600081816102160152818161049c01526106170152610f4e6000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063af9205821161007c578063af9205821461027c578063db006a75146102a5578063dd62ed3e146102b8578063e593bd74146102f1578063f2fde38b14610318578063fbbf93a01461032b57600080fd5b8063715018a61461020957806389a30271146102115780638da5cb5b1461025057806395d89b4114610261578063a9059cbb1461026957600080fd5b80632f4350c2116100ff5780632f4350c2146101ab578063313ce567146101b557806340c10f19146101c457806368266e1b146101d757806370a08231146101e057600080fd5b806302458c741461013c57806306fdde0314610158578063095ea7b31461016d57806318160ddd1461019057806323b872dd14610198575b600080fd5b61014560085481565b6040519081526020015b60405180910390f35b610160610340565b60405161014f9190610d25565b61018061017b366004610d54565b6103d2565b604051901515815260200161014f565b600254610145565b6101806101a6366004610d7e565b6103ec565b6101b3610412565b005b6040516012815260200161014f565b6101b36101d2366004610d54565b6104d0565b61014560075481565b6101456101ee366004610dba565b6001600160a01b031660009081526020819052604090205490565b6101b361051e565b6102387f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161014f565b6005546001600160a01b0316610238565b610160610530565b610180610277366004610d54565b61053f565b7f0000000000000000000000000000000000000000000000000000000000000000421015610180565b6101b36102b3366004610dd5565b61054d565b6101456102c6366004610dee565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101457f000000000000000000000000000000000000000000000000000000000000000081565b6101b3610326366004610dba565b61064c565b61033361068c565b60405161014f9190610e21565b60606003805461034f90610e7f565b80601f016020809104026020016040519081016040528092919081815260200182805461037b90610e7f565b80156103c85780601f1061039d576101008083540402835291602001916103c8565b820191906000526020600020905b8154815290600101906020018083116103ab57829003601f168201915b5050505050905090565b6000336103e0818585610712565b60019150505b92915050565b6000336103fa858285610724565b6104058585856107a2565b60019150505b9392505050565b61041a610801565b7f000000000000000000000000000000000000000000000000000000000000000042101561045b57604051631440798b60e01b815260040160405180910390fd5b336000908152602081905260408120549050806008600082825461047f9190610eb9565b9091555061048f9050338261082b565b6104c36001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610865565b506104ce6001600655565b565b6104d86108b7565b806000036104f957604051631f2a200560e01b815260040160405180910390fd5b61050382826108e4565b80600760008282546105159190610eb9565b90915550505050565b6105266108b7565b6104ce600061091a565b60606004805461034f90610e7f565b6000336103e08185856107a2565b610555610801565b7f000000000000000000000000000000000000000000000000000000000000000042101561059657604051631440798b60e01b815260040160405180910390fd5b806000036105b757604051631f2a200560e01b815260040160405180910390fd5b33600090815260208190526040902054808211156105e857604051631e9acf1760e31b815260040160405180910390fd5b81600860008282546105fa9190610eb9565b9091555061060a9050338361082b565b61063e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163384610865565b506106496001600655565b50565b6106546108b7565b6001600160a01b03811661068357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6106498161091a565b6106c0604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b604080516080810182523081527f000000000000000000000000000000000000000000000000000000000000000060208201529081016106fe610340565b815260200161070b610530565b9052919050565b61071f838383600161096c565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461079c578181101561078d57604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161067a565b61079c8484848403600061096c565b50505050565b6001600160a01b0383166107cc57604051634b637e8f60e11b81526000600482015260240161067a565b6001600160a01b0382166107f65760405163ec442f0560e01b81526000600482015260240161067a565b61071f838383610a41565b60026006540361082457604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b6001600160a01b03821661085557604051634b637e8f60e11b81526000600482015260240161067a565b61086182600083610a41565b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261071f908490610b6b565b6005546001600160a01b031633146104ce5760405163118cdaa760e01b815233600482015260240161067a565b6001600160a01b03821661090e5760405163ec442f0560e01b81526000600482015260240161067a565b61086160008383610a41565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0384166109965760405163e602df0560e01b81526000600482015260240161067a565b6001600160a01b0383166109c057604051634a1406b160e11b81526000600482015260240161067a565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561079c57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a3391815260200190565b60405180910390a350505050565b6001600160a01b038316610a6c578060026000828254610a619190610eb9565b90915550610ade9050565b6001600160a01b03831660009081526020819052604090205481811015610abf5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161067a565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610afa57600280548290039055610b19565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b5e91815260200190565b60405180910390a3505050565b6000610b806001600160a01b03841683610bce565b90508051600014158015610ba5575080806020019051810190610ba39190610eda565b155b1561071f57604051635274afe760e01b81526001600160a01b038416600482015260240161067a565b606061040b8383600084600080856001600160a01b03168486604051610bf49190610efc565b60006040518083038185875af1925050503d8060008114610c31576040519150601f19603f3d011682016040523d82523d6000602084013e610c36565b606091505b5091509150610c46868383610c50565b9695505050505050565b606082610c6557610c6082610cac565b61040b565b8151158015610c7c57506001600160a01b0384163b155b15610ca557604051639996b31560e01b81526001600160a01b038516600482015260240161067a565b508061040b565b805115610cbc5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015610cf0578181015183820152602001610cd8565b50506000910152565b60008151808452610d11816020860160208601610cd5565b601f01601f19169290920160200192915050565b60208152600061040b6020830184610cf9565b80356001600160a01b0381168114610d4f57600080fd5b919050565b60008060408385031215610d6757600080fd5b610d7083610d38565b946020939093013593505050565b600080600060608486031215610d9357600080fd5b610d9c84610d38565b9250610daa60208501610d38565b9150604084013590509250925092565b600060208284031215610dcc57600080fd5b61040b82610d38565b600060208284031215610de757600080fd5b5035919050565b60008060408385031215610e0157600080fd5b610e0a83610d38565b9150610e1860208401610d38565b90509250929050565b6020815260018060a01b038251166020820152602082015160408201526000604083015160806060840152610e5960a0840182610cf9565b90506060840151601f19848303016080850152610e768282610cf9565b95945050505050565b600181811c90821680610e9357607f821691505b602082108103610eb357634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156103e657634e487b7160e01b600052601160045260246000fd5b600060208284031215610eec57600080fd5b8151801515811461040b57600080fd5b60008251610f0e818460208701610cd5565b919091019291505056fea26469706673582212202dbac30721081679a3aed6f9316d8db65e7c3b9937cf82742d20433bcfb108fa64736f6c63430008140033",
617
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063af9205821161007c578063af9205821461027c578063db006a75146102a5578063dd62ed3e146102b8578063e593bd74146102f1578063f2fde38b14610318578063fbbf93a01461032b57600080fd5b8063715018a61461020957806389a30271146102115780638da5cb5b1461025057806395d89b4114610261578063a9059cbb1461026957600080fd5b80632f4350c2116100ff5780632f4350c2146101ab578063313ce567146101b557806340c10f19146101c457806368266e1b146101d757806370a08231146101e057600080fd5b806302458c741461013c57806306fdde0314610158578063095ea7b31461016d57806318160ddd1461019057806323b872dd14610198575b600080fd5b61014560085481565b6040519081526020015b60405180910390f35b610160610340565b60405161014f9190610d25565b61018061017b366004610d54565b6103d2565b604051901515815260200161014f565b600254610145565b6101806101a6366004610d7e565b6103ec565b6101b3610412565b005b6040516012815260200161014f565b6101b36101d2366004610d54565b6104d0565b61014560075481565b6101456101ee366004610dba565b6001600160a01b031660009081526020819052604090205490565b6101b361051e565b6102387f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161014f565b6005546001600160a01b0316610238565b610160610530565b610180610277366004610d54565b61053f565b7f0000000000000000000000000000000000000000000000000000000000000000421015610180565b6101b36102b3366004610dd5565b61054d565b6101456102c6366004610dee565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101457f000000000000000000000000000000000000000000000000000000000000000081565b6101b3610326366004610dba565b61064c565b61033361068c565b60405161014f9190610e21565b60606003805461034f90610e7f565b80601f016020809104026020016040519081016040528092919081815260200182805461037b90610e7f565b80156103c85780601f1061039d576101008083540402835291602001916103c8565b820191906000526020600020905b8154815290600101906020018083116103ab57829003601f168201915b5050505050905090565b6000336103e0818585610712565b60019150505b92915050565b6000336103fa858285610724565b6104058585856107a2565b60019150505b9392505050565b61041a610801565b7f000000000000000000000000000000000000000000000000000000000000000042101561045b57604051631440798b60e01b815260040160405180910390fd5b336000908152602081905260408120549050806008600082825461047f9190610eb9565b9091555061048f9050338261082b565b6104c36001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610865565b506104ce6001600655565b565b6104d86108b7565b806000036104f957604051631f2a200560e01b815260040160405180910390fd5b61050382826108e4565b80600760008282546105159190610eb9565b90915550505050565b6105266108b7565b6104ce600061091a565b60606004805461034f90610e7f565b6000336103e08185856107a2565b610555610801565b7f000000000000000000000000000000000000000000000000000000000000000042101561059657604051631440798b60e01b815260040160405180910390fd5b806000036105b757604051631f2a200560e01b815260040160405180910390fd5b33600090815260208190526040902054808211156105e857604051631e9acf1760e31b815260040160405180910390fd5b81600860008282546105fa9190610eb9565b9091555061060a9050338361082b565b61063e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163384610865565b506106496001600655565b50565b6106546108b7565b6001600160a01b03811661068357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6106498161091a565b6106c0604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b604080516080810182523081527f000000000000000000000000000000000000000000000000000000000000000060208201529081016106fe610340565b815260200161070b610530565b9052919050565b61071f838383600161096c565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461079c578181101561078d57604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161067a565b61079c8484848403600061096c565b50505050565b6001600160a01b0383166107cc57604051634b637e8f60e11b81526000600482015260240161067a565b6001600160a01b0382166107f65760405163ec442f0560e01b81526000600482015260240161067a565b61071f838383610a41565b60026006540361082457604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b6001600160a01b03821661085557604051634b637e8f60e11b81526000600482015260240161067a565b61086182600083610a41565b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261071f908490610b6b565b6005546001600160a01b031633146104ce5760405163118cdaa760e01b815233600482015260240161067a565b6001600160a01b03821661090e5760405163ec442f0560e01b81526000600482015260240161067a565b61086160008383610a41565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0384166109965760405163e602df0560e01b81526000600482015260240161067a565b6001600160a01b0383166109c057604051634a1406b160e11b81526000600482015260240161067a565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561079c57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a3391815260200190565b60405180910390a350505050565b6001600160a01b038316610a6c578060026000828254610a619190610eb9565b90915550610ade9050565b6001600160a01b03831660009081526020819052604090205481811015610abf5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161067a565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610afa57600280548290039055610b19565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b5e91815260200190565b60405180910390a3505050565b6000610b806001600160a01b03841683610bce565b90508051600014158015610ba5575080806020019051810190610ba39190610eda565b155b1561071f57604051635274afe760e01b81526001600160a01b038416600482015260240161067a565b606061040b8383600084600080856001600160a01b03168486604051610bf49190610efc565b60006040518083038185875af1925050503d8060008114610c31576040519150601f19603f3d011682016040523d82523d6000602084013e610c36565b606091505b5091509150610c46868383610c50565b9695505050505050565b606082610c6557610c6082610cac565b61040b565b8151158015610c7c57506001600160a01b0384163b155b15610ca557604051639996b31560e01b81526001600160a01b038516600482015260240161067a565b508061040b565b805115610cbc5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015610cf0578181015183820152602001610cd8565b50506000910152565b60008151808452610d11816020860160208601610cd5565b601f01601f19169290920160200192915050565b60208152600061040b6020830184610cf9565b80356001600160a01b0381168114610d4f57600080fd5b919050565b60008060408385031215610d6757600080fd5b610d7083610d38565b946020939093013593505050565b600080600060608486031215610d9357600080fd5b610d9c84610d38565b9250610daa60208501610d38565b9150604084013590509250925092565b600060208284031215610dcc57600080fd5b61040b82610d38565b600060208284031215610de757600080fd5b5035919050565b60008060408385031215610e0157600080fd5b610e0a83610d38565b9150610e1860208401610d38565b90509250929050565b6020815260018060a01b038251166020820152602082015160408201526000604083015160806060840152610e5960a0840182610cf9565b90506060840151601f19848303016080850152610e768282610cf9565b95945050505050565b600181811c90821680610e9357607f821691505b602082108103610eb357634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156103e657634e487b7160e01b600052601160045260246000fd5b600060208284031215610eec57600080fd5b8151801515811461040b57600080fd5b60008251610f0e818460208701610cd5565b919091019291505056fea26469706673582212202dbac30721081679a3aed6f9316d8db65e7c3b9937cf82742d20433bcfb108fa64736f6c63430008140033",
618
618
  "linkReferences": {},
619
619
  "deployedLinkReferences": {}
620
620
  }
@@ -268,8 +268,8 @@
268
268
  "type": "function"
269
269
  }
270
270
  ],
271
- "bytecode": "0x608060405234801561001057600080fd5b5060405161203e38038061203e83398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b611f41806100fd6000396000f3fe60806040523480156200001157600080fd5b5060043610620000a65760003560e01c806303dc4d3114620000ab57806313afa5f414620000da57806338f343a014620000f157806358a52c4d146200010a5780636e2eca671462000130578063715018a614620001495780638da5cb5b14620001535780638f723f5014620001655780639d8dad70146200017c578063c4eb0a9e146200018e578063f2fde38b14620001c5575b600080fd5b620000c2620000bc366004620007ce565b620001dc565b604051620000d19190620007e8565b60405180910390f35b620000c2620000eb366004620007ce565b6200020f565b620000fb6200023a565b604051620000d19190620007fc565b620001216200011b366004620007ce565b6200029e565b604051620000d191906200089f565b620001476200014136600462000917565b6200036c565b005b6200014762000405565b6000546001600160a01b0316620000c2565b62000147620001763660046200094a565b6200041d565b600154604051908152602001620000d1565b620001b46200019f36600462000979565b60026020526000908152604090205460ff1681565b6040519015158152602001620000d1565b62000147620001d636600462000979565b6200057b565b600060018281548110620001f457620001f462000999565b6000918252602090912001546001600160a01b031692915050565b600181815481106200022057600080fd5b6000918252602090912001546001600160a01b0316905081565b606060018054806020026020016040519081016040528092919081815260200182805480156200029457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000275575b5050505050905090565b620002d3604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b600060018381548110620002eb57620002eb62000999565b6000918252602082200154604080516307ddfc9d60e51b815290516001600160a01b039092169350839263fbbf93a0926004808401938290030181865afa1580156200033b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000365919081019062000a81565b9392505050565b62000376620005c9565b6000600183815481106200038e576200038e62000999565b60009182526020909120015460405163f2fde38b60e01b81526001600160a01b039091169150819063f2fde38b90620003cc908590600401620007e8565b600060405180830381600087803b158015620003e757600080fd5b505af1158015620003fc573d6000803e3d6000fd5b50505050505050565b6200040f620005c9565b6200041b6000620005f9565b565b62000427620005c9565b6001805460009162000444916200043e9162000b3b565b62000649565b90506000816040516020016200045b919062000b5d565b604051602081830303815290604052905060008260405160200162000481919062000b91565b604051602081830303815290604052905060008585848430604051620004a790620007c0565b620004b795949392919062000bbf565b604051809103906000f080158015620004d4573d6000803e3d6000fd5b506001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b038416908117909155600081815260026020908152604091829020805460ff191690941790935580519182529181018890529192507f17f5b23f56b82f5b57d5d479ac000c3cce25009efb7195be1720e72c1be7d79b910160405180910390a1505050505050565b62000585620005c9565b6001600160a01b038116620005bb576000604051631e4fbdf760e01b8152600401620005b29190620007e8565b60405180910390fd5b620005c681620005f9565b50565b6000546001600160a01b031633146200041b573360405163118cdaa760e01b8152600401620005b29190620007e8565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006200065883620006e2565b60010190506000816001600160401b038111156200067a576200067a620009af565b6040519080825280601f01601f191660200182016040528015620006a5576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084620006af57509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310620007225772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b83106200074d576904ee2d6d415b85acef8160201b830492506020015b662386f26fc1000083106200076c57662386f26fc10000830492506010015b6305f5e100831062000785576305f5e100830492506008015b61271083106200079a57612710830492506004015b60648310620007ad576064830492506002015b600a8310620007ba576001015b92915050565b6112f88062000c1483390190565b600060208284031215620007e157600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b818110156200083f5783516001600160a01b03168352928401929184019160010162000818565b50909695505050505050565b60005b83811015620008685781810151838201526020016200084e565b50506000910152565b600081518084526200088b8160208601602086016200084b565b601f01601f19169290920160200192915050565b6020815260018060a01b038251166020820152602082015160408201526000604083015160806060840152620008d960a084018262000871565b90506060840151601f19848303016080850152620008f8828262000871565b95945050505050565b6001600160a01b0381168114620005c657600080fd5b600080604083850312156200092b57600080fd5b8235915060208301356200093f8162000901565b809150509250929050565b600080604083850312156200095e57600080fd5b82356200096b8162000901565b946020939093013593505050565b6000602082840312156200098c57600080fd5b8135620003658162000901565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715620009ea57620009ea620009af565b60405290565b600082601f83011262000a0257600080fd5b81516001600160401b038082111562000a1f5762000a1f620009af565b604051601f8301601f19908116603f0116810190828211818310171562000a4a5762000a4a620009af565b8160405283815286602085880101111562000a6457600080fd5b62000a778460208301602089016200084b565b9695505050505050565b60006020828403121562000a9457600080fd5b81516001600160401b038082111562000aac57600080fd5b908301906080828603121562000ac157600080fd5b62000acb620009c5565b825162000ad88162000901565b81526020838101519082015260408301518281111562000af757600080fd5b62000b0587828601620009f0565b60408301525060608301518281111562000b1e57600080fd5b62000b2c87828601620009f0565b60608301525095945050505050565b80820180821115620007ba57634e487b7160e01b600052601160045260246000fd5b6902d22a727902137b732160b51b81526000825162000b8481600a8501602087016200084b565b91909101600a0192915050565b635a454e4f60e01b81526000825162000bb28160048501602087016200084b565b9190910160040192915050565b600060018060a01b03808816835286602084015260a0604084015262000be960a084018762000871565b838103606085015262000bfd818762000871565b925050808416608084015250969550505050505056fe60c06040523480156200001157600080fd5b50604051620012f8380380620012f88339810160408190526200003491620001e5565b80838360036200004583826200030e565b5060046200005482826200030e565b5050506001600160a01b0381166200008657604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200009181620000b1565b5050600160065550506001600160a01b0390911660805260a052620003da565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200011b57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200014857600080fd5b81516001600160401b038082111562000165576200016562000120565b604051601f8301601f19908116603f0116810190828211818310171562000190576200019062000120565b81604052838152602092508683858801011115620001ad57600080fd5b600091505b83821015620001d15785820183015181830184015290820190620001b2565b600093810190920192909252949350505050565b600080600080600060a08688031215620001fe57600080fd5b620002098662000103565b6020870151604088015191965094506001600160401b03808211156200022e57600080fd5b6200023c89838a0162000136565b945060608801519150808211156200025357600080fd5b50620002628882890162000136565b925050620002736080870162000103565b90509295509295909350565b600181811c908216806200029457607f821691505b602082108103620002b557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030957600081815260208120601f850160051c81016020861015620002e45750805b601f850160051c820191505b818110156200030557828155600101620002f0565b5050505b505050565b81516001600160401b038111156200032a576200032a62000120565b62000342816200033b84546200027f565b84620002bb565b602080601f8311600181146200037a5760008415620003615750858301515b600019600386901b1c1916600185901b17855562000305565b600085815260208120601f198616915b82811015620003ab578886015182559484019460019091019084016200038a565b5085821015620003ca5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a051610edc6200041c6000396000818161026e015281816104c101526106780152600081816101e0015281816103f301526105910152610edc6000f3fe608060405234801561001057600080fd5b50600436106101175760003560e01c8063715018a6116100a8578063715018a6146101d357806389a30271146101db5780638da5cb5b1461020f57806395d89b4114610220578063a9059cbb14610228578063af9205821461023b578063db006a7514610243578063dd62ed3e14610256578063e593bd7414610269578063f2fde38b14610290578063fbbf93a0146102a357600080fd5b806302458c741461011c57806306fdde0314610138578063095ea7b31461014d57806318160ddd1461017057806323b872dd146101785780632f4350c21461018b578063313ce5671461019557806340c10f19146101a457806368266e1b146101b757806370a08231146101c0575b600080fd5b61012560085481565b6040519081526020015b60405180910390f35b6101406102b8565b60405161012f9190610c7e565b61016061015b366004610cad565b61034a565b604051901515815260200161012f565b600254610125565b610160610186366004610cd7565b610364565b61019361038a565b005b6040516012815260200161012f565b6101936101b2366004610cad565b610427565b61012560075481565b6101256101ce366004610d13565b610475565b610193610490565b6102027f000000000000000000000000000000000000000000000000000000000000000081565b60405161012f9190610d2e565b6005546001600160a01b0316610202565b6101406104a2565b610160610236366004610cad565b6104b1565b6101606104bf565b610193610251366004610d42565b6104e6565b610125610264366004610d5b565b6105c6565b6101257f000000000000000000000000000000000000000000000000000000000000000081565b61019361029e366004610d13565b6105f1565b6102ab610635565b60405161012f9190610d8e565b6060600380546102c790610dec565b80601f01602080910402602001604051908101604052809291908181526020018280546102f390610dec565b80156103405780601f1061031557610100808354040283529160200191610340565b820191906000526020600020905b81548152906001019060200180831161032357829003601f168201915b5050505050905090565b6000336103588185856106bb565b60019150505b92915050565b6000336103728582856106cd565b61037d858585610720565b60019150505b9392505050565b61039261077f565b61039a6104bf565b6103b757604051631440798b60e01b815260040160405180910390fd5b60006103c233610475565b905080600860008282546103d69190610e26565b909155506103e6905033826107a9565b61041a6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633836107e3565b506104256001600655565b565b61042f610835565b8060000361045057604051631f2a200560e01b815260040160405180910390fd5b61045a8282610862565b806007600082825461046c9190610e26565b90915550505050565b6001600160a01b031660009081526020819052604090205490565b610498610835565b6104256000610898565b6060600480546102c790610dec565b600033610358818585610720565b7f000000000000000000000000000000000000000000000000000000000000000042101590565b6104ee61077f565b6104f66104bf565b61051357604051631440798b60e01b815260040160405180910390fd5b8060000361053457604051631f2a200560e01b815260040160405180910390fd5b600061053f33610475565b90508082111561056257604051631e9acf1760e31b815260040160405180910390fd5b81600860008282546105749190610e26565b90915550610584905033836107a9565b6105b86001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633846107e3565b506105c36001600655565b50565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6105f9610835565b6001600160a01b03811661062c576000604051631e4fbdf760e01b81526004016106239190610d2e565b60405180910390fd5b6105c381610898565b610669604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b604080516080810182523081527f000000000000000000000000000000000000000000000000000000000000000060208201529081016106a76102b8565b81526020016106b46104a2565b9052919050565b6106c883838360016108ea565b505050565b60006106d984846105c6565b9050600019811461071a578181101561070b57828183604051637dc7a0d960e11b815260040161062393929190610e47565b61071a848484840360006108ea565b50505050565b6001600160a01b03831661074a576000604051634b637e8f60e11b81526004016106239190610d2e565b6001600160a01b03821661077457600060405163ec442f0560e01b81526004016106239190610d2e565b6106c88383836109bf565b6002600654036107a257604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b6001600160a01b0382166107d3576000604051634b637e8f60e11b81526004016106239190610d2e565b6107df826000836109bf565b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106c8908490610ad6565b6005546001600160a01b03163314610425573360405163118cdaa760e01b81526004016106239190610d2e565b6001600160a01b03821661088c57600060405163ec442f0560e01b81526004016106239190610d2e565b6107df600083836109bf565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03841661091457600060405163e602df0560e01b81526004016106239190610d2e565b6001600160a01b03831661093e576000604051634a1406b160e11b81526004016106239190610d2e565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561071a57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109b191815260200190565b60405180910390a350505050565b6001600160a01b0383166109ea5780600260008282546109df9190610e26565b90915550610a499050565b6001600160a01b03831660009081526020819052604090205481811015610a2a5783818360405163391434e360e21b815260040161062393929190610e47565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610a6557600280548290039055610a84565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ac991815260200190565b60405180910390a3505050565b6000610aeb6001600160a01b03841683610b30565b90508051600014158015610b10575080806020019051810190610b0e9190610e68565b155b156106c85782604051635274afe760e01b81526004016106239190610d2e565b60606103838383600084600080856001600160a01b03168486604051610b569190610e8a565b60006040518083038185875af1925050503d8060008114610b93576040519150601f19603f3d011682016040523d82523d6000602084013e610b98565b606091505b5091509150610ba8868383610bb2565b9695505050505050565b606082610bc757610bc282610c05565b610383565b8151158015610bde57506001600160a01b0384163b155b15610bfe5783604051639996b31560e01b81526004016106239190610d2e565b5080610383565b805115610c155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015610c49578181015183820152602001610c31565b50506000910152565b60008151808452610c6a816020860160208601610c2e565b601f01601f19169290920160200192915050565b6020815260006103836020830184610c52565b80356001600160a01b0381168114610ca857600080fd5b919050565b60008060408385031215610cc057600080fd5b610cc983610c91565b946020939093013593505050565b600080600060608486031215610cec57600080fd5b610cf584610c91565b9250610d0360208501610c91565b9150604084013590509250925092565b600060208284031215610d2557600080fd5b61038382610c91565b6001600160a01b0391909116815260200190565b600060208284031215610d5457600080fd5b5035919050565b60008060408385031215610d6e57600080fd5b610d7783610c91565b9150610d8560208401610c91565b90509250929050565b6020815260018060a01b038251166020820152602082015160408201526000604083015160806060840152610dc660a0840182610c52565b90506060840151601f19848303016080850152610de38282610c52565b95945050505050565b600181811c90821680610e0057607f821691505b602082108103610e2057634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561035e57634e487b7160e01b600052601160045260246000fd5b6001600160a01b039390931683526020830191909152604082015260600190565b600060208284031215610e7a57600080fd5b8151801515811461038357600080fd5b60008251610e9c818460208701610c2e565b919091019291505056fea2646970667358221220cd6e581cba9fd19f7928e14d3c712c26817978455e2bdc57a38e257c2bb343b564736f6c63430008140033a2646970667358221220d4c148dbd100babed4be24f22f6cd69ecdd633e9bf350524403aa18e580eab3f64736f6c63430008140033",
272
- "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620000a65760003560e01c806303dc4d3114620000ab57806313afa5f414620000da57806338f343a014620000f157806358a52c4d146200010a5780636e2eca671462000130578063715018a614620001495780638da5cb5b14620001535780638f723f5014620001655780639d8dad70146200017c578063c4eb0a9e146200018e578063f2fde38b14620001c5575b600080fd5b620000c2620000bc366004620007ce565b620001dc565b604051620000d19190620007e8565b60405180910390f35b620000c2620000eb366004620007ce565b6200020f565b620000fb6200023a565b604051620000d19190620007fc565b620001216200011b366004620007ce565b6200029e565b604051620000d191906200089f565b620001476200014136600462000917565b6200036c565b005b6200014762000405565b6000546001600160a01b0316620000c2565b62000147620001763660046200094a565b6200041d565b600154604051908152602001620000d1565b620001b46200019f36600462000979565b60026020526000908152604090205460ff1681565b6040519015158152602001620000d1565b62000147620001d636600462000979565b6200057b565b600060018281548110620001f457620001f462000999565b6000918252602090912001546001600160a01b031692915050565b600181815481106200022057600080fd5b6000918252602090912001546001600160a01b0316905081565b606060018054806020026020016040519081016040528092919081815260200182805480156200029457602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831162000275575b5050505050905090565b620002d3604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b600060018381548110620002eb57620002eb62000999565b6000918252602082200154604080516307ddfc9d60e51b815290516001600160a01b039092169350839263fbbf93a0926004808401938290030181865afa1580156200033b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262000365919081019062000a81565b9392505050565b62000376620005c9565b6000600183815481106200038e576200038e62000999565b60009182526020909120015460405163f2fde38b60e01b81526001600160a01b039091169150819063f2fde38b90620003cc908590600401620007e8565b600060405180830381600087803b158015620003e757600080fd5b505af1158015620003fc573d6000803e3d6000fd5b50505050505050565b6200040f620005c9565b6200041b6000620005f9565b565b62000427620005c9565b6001805460009162000444916200043e9162000b3b565b62000649565b90506000816040516020016200045b919062000b5d565b604051602081830303815290604052905060008260405160200162000481919062000b91565b604051602081830303815290604052905060008585848430604051620004a790620007c0565b620004b795949392919062000bbf565b604051809103906000f080158015620004d4573d6000803e3d6000fd5b506001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b038416908117909155600081815260026020908152604091829020805460ff191690941790935580519182529181018890529192507f17f5b23f56b82f5b57d5d479ac000c3cce25009efb7195be1720e72c1be7d79b910160405180910390a1505050505050565b62000585620005c9565b6001600160a01b038116620005bb576000604051631e4fbdf760e01b8152600401620005b29190620007e8565b60405180910390fd5b620005c681620005f9565b50565b6000546001600160a01b031633146200041b573360405163118cdaa760e01b8152600401620005b29190620007e8565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006200065883620006e2565b60010190506000816001600160401b038111156200067a576200067a620009af565b6040519080825280601f01601f191660200182016040528015620006a5576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084620006af57509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310620007225772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b83106200074d576904ee2d6d415b85acef8160201b830492506020015b662386f26fc1000083106200076c57662386f26fc10000830492506010015b6305f5e100831062000785576305f5e100830492506008015b61271083106200079a57612710830492506004015b60648310620007ad576064830492506002015b600a8310620007ba576001015b92915050565b6112f88062000c1483390190565b600060208284031215620007e157600080fd5b5035919050565b6001600160a01b0391909116815260200190565b6020808252825182820181905260009190848201906040850190845b818110156200083f5783516001600160a01b03168352928401929184019160010162000818565b50909695505050505050565b60005b83811015620008685781810151838201526020016200084e565b50506000910152565b600081518084526200088b8160208601602086016200084b565b601f01601f19169290920160200192915050565b6020815260018060a01b038251166020820152602082015160408201526000604083015160806060840152620008d960a084018262000871565b90506060840151601f19848303016080850152620008f8828262000871565b95945050505050565b6001600160a01b0381168114620005c657600080fd5b600080604083850312156200092b57600080fd5b8235915060208301356200093f8162000901565b809150509250929050565b600080604083850312156200095e57600080fd5b82356200096b8162000901565b946020939093013593505050565b6000602082840312156200098c57600080fd5b8135620003658162000901565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715620009ea57620009ea620009af565b60405290565b600082601f83011262000a0257600080fd5b81516001600160401b038082111562000a1f5762000a1f620009af565b604051601f8301601f19908116603f0116810190828211818310171562000a4a5762000a4a620009af565b8160405283815286602085880101111562000a6457600080fd5b62000a778460208301602089016200084b565b9695505050505050565b60006020828403121562000a9457600080fd5b81516001600160401b038082111562000aac57600080fd5b908301906080828603121562000ac157600080fd5b62000acb620009c5565b825162000ad88162000901565b81526020838101519082015260408301518281111562000af757600080fd5b62000b0587828601620009f0565b60408301525060608301518281111562000b1e57600080fd5b62000b2c87828601620009f0565b60608301525095945050505050565b80820180821115620007ba57634e487b7160e01b600052601160045260246000fd5b6902d22a727902137b732160b51b81526000825162000b8481600a8501602087016200084b565b91909101600a0192915050565b635a454e4f60e01b81526000825162000bb28160048501602087016200084b565b9190910160040192915050565b600060018060a01b03808816835286602084015260a0604084015262000be960a084018762000871565b838103606085015262000bfd818762000871565b925050808416608084015250969550505050505056fe60c06040523480156200001157600080fd5b50604051620012f8380380620012f88339810160408190526200003491620001e5565b80838360036200004583826200030e565b5060046200005482826200030e565b5050506001600160a01b0381166200008657604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200009181620000b1565b5050600160065550506001600160a01b0390911660805260a052620003da565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200011b57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200014857600080fd5b81516001600160401b038082111562000165576200016562000120565b604051601f8301601f19908116603f0116810190828211818310171562000190576200019062000120565b81604052838152602092508683858801011115620001ad57600080fd5b600091505b83821015620001d15785820183015181830184015290820190620001b2565b600093810190920192909252949350505050565b600080600080600060a08688031215620001fe57600080fd5b620002098662000103565b6020870151604088015191965094506001600160401b03808211156200022e57600080fd5b6200023c89838a0162000136565b945060608801519150808211156200025357600080fd5b50620002628882890162000136565b925050620002736080870162000103565b90509295509295909350565b600181811c908216806200029457607f821691505b602082108103620002b557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030957600081815260208120601f850160051c81016020861015620002e45750805b601f850160051c820191505b818110156200030557828155600101620002f0565b5050505b505050565b81516001600160401b038111156200032a576200032a62000120565b62000342816200033b84546200027f565b84620002bb565b602080601f8311600181146200037a5760008415620003615750858301515b600019600386901b1c1916600185901b17855562000305565b600085815260208120601f198616915b82811015620003ab578886015182559484019460019091019084016200038a565b5085821015620003ca5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a051610edc6200041c6000396000818161026e015281816104c101526106780152600081816101e0015281816103f301526105910152610edc6000f3fe608060405234801561001057600080fd5b50600436106101175760003560e01c8063715018a6116100a8578063715018a6146101d357806389a30271146101db5780638da5cb5b1461020f57806395d89b4114610220578063a9059cbb14610228578063af9205821461023b578063db006a7514610243578063dd62ed3e14610256578063e593bd7414610269578063f2fde38b14610290578063fbbf93a0146102a357600080fd5b806302458c741461011c57806306fdde0314610138578063095ea7b31461014d57806318160ddd1461017057806323b872dd146101785780632f4350c21461018b578063313ce5671461019557806340c10f19146101a457806368266e1b146101b757806370a08231146101c0575b600080fd5b61012560085481565b6040519081526020015b60405180910390f35b6101406102b8565b60405161012f9190610c7e565b61016061015b366004610cad565b61034a565b604051901515815260200161012f565b600254610125565b610160610186366004610cd7565b610364565b61019361038a565b005b6040516012815260200161012f565b6101936101b2366004610cad565b610427565b61012560075481565b6101256101ce366004610d13565b610475565b610193610490565b6102027f000000000000000000000000000000000000000000000000000000000000000081565b60405161012f9190610d2e565b6005546001600160a01b0316610202565b6101406104a2565b610160610236366004610cad565b6104b1565b6101606104bf565b610193610251366004610d42565b6104e6565b610125610264366004610d5b565b6105c6565b6101257f000000000000000000000000000000000000000000000000000000000000000081565b61019361029e366004610d13565b6105f1565b6102ab610635565b60405161012f9190610d8e565b6060600380546102c790610dec565b80601f01602080910402602001604051908101604052809291908181526020018280546102f390610dec565b80156103405780601f1061031557610100808354040283529160200191610340565b820191906000526020600020905b81548152906001019060200180831161032357829003601f168201915b5050505050905090565b6000336103588185856106bb565b60019150505b92915050565b6000336103728582856106cd565b61037d858585610720565b60019150505b9392505050565b61039261077f565b61039a6104bf565b6103b757604051631440798b60e01b815260040160405180910390fd5b60006103c233610475565b905080600860008282546103d69190610e26565b909155506103e6905033826107a9565b61041a6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633836107e3565b506104256001600655565b565b61042f610835565b8060000361045057604051631f2a200560e01b815260040160405180910390fd5b61045a8282610862565b806007600082825461046c9190610e26565b90915550505050565b6001600160a01b031660009081526020819052604090205490565b610498610835565b6104256000610898565b6060600480546102c790610dec565b600033610358818585610720565b7f000000000000000000000000000000000000000000000000000000000000000042101590565b6104ee61077f565b6104f66104bf565b61051357604051631440798b60e01b815260040160405180910390fd5b8060000361053457604051631f2a200560e01b815260040160405180910390fd5b600061053f33610475565b90508082111561056257604051631e9acf1760e31b815260040160405180910390fd5b81600860008282546105749190610e26565b90915550610584905033836107a9565b6105b86001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633846107e3565b506105c36001600655565b50565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6105f9610835565b6001600160a01b03811661062c576000604051631e4fbdf760e01b81526004016106239190610d2e565b60405180910390fd5b6105c381610898565b610669604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b604080516080810182523081527f000000000000000000000000000000000000000000000000000000000000000060208201529081016106a76102b8565b81526020016106b46104a2565b9052919050565b6106c883838360016108ea565b505050565b60006106d984846105c6565b9050600019811461071a578181101561070b57828183604051637dc7a0d960e11b815260040161062393929190610e47565b61071a848484840360006108ea565b50505050565b6001600160a01b03831661074a576000604051634b637e8f60e11b81526004016106239190610d2e565b6001600160a01b03821661077457600060405163ec442f0560e01b81526004016106239190610d2e565b6106c88383836109bf565b6002600654036107a257604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b6001600160a01b0382166107d3576000604051634b637e8f60e11b81526004016106239190610d2e565b6107df826000836109bf565b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106c8908490610ad6565b6005546001600160a01b03163314610425573360405163118cdaa760e01b81526004016106239190610d2e565b6001600160a01b03821661088c57600060405163ec442f0560e01b81526004016106239190610d2e565b6107df600083836109bf565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b03841661091457600060405163e602df0560e01b81526004016106239190610d2e565b6001600160a01b03831661093e576000604051634a1406b160e11b81526004016106239190610d2e565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561071a57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516109b191815260200190565b60405180910390a350505050565b6001600160a01b0383166109ea5780600260008282546109df9190610e26565b90915550610a499050565b6001600160a01b03831660009081526020819052604090205481811015610a2a5783818360405163391434e360e21b815260040161062393929190610e47565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610a6557600280548290039055610a84565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ac991815260200190565b60405180910390a3505050565b6000610aeb6001600160a01b03841683610b30565b90508051600014158015610b10575080806020019051810190610b0e9190610e68565b155b156106c85782604051635274afe760e01b81526004016106239190610d2e565b60606103838383600084600080856001600160a01b03168486604051610b569190610e8a565b60006040518083038185875af1925050503d8060008114610b93576040519150601f19603f3d011682016040523d82523d6000602084013e610b98565b606091505b5091509150610ba8868383610bb2565b9695505050505050565b606082610bc757610bc282610c05565b610383565b8151158015610bde57506001600160a01b0384163b155b15610bfe5783604051639996b31560e01b81526004016106239190610d2e565b5080610383565b805115610c155780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015610c49578181015183820152602001610c31565b50506000910152565b60008151808452610c6a816020860160208601610c2e565b601f01601f19169290920160200192915050565b6020815260006103836020830184610c52565b80356001600160a01b0381168114610ca857600080fd5b919050565b60008060408385031215610cc057600080fd5b610cc983610c91565b946020939093013593505050565b600080600060608486031215610cec57600080fd5b610cf584610c91565b9250610d0360208501610c91565b9150604084013590509250925092565b600060208284031215610d2557600080fd5b61038382610c91565b6001600160a01b0391909116815260200190565b600060208284031215610d5457600080fd5b5035919050565b60008060408385031215610d6e57600080fd5b610d7783610c91565b9150610d8560208401610c91565b90509250929050565b6020815260018060a01b038251166020820152602082015160408201526000604083015160806060840152610dc660a0840182610c52565b90506060840151601f19848303016080850152610de38282610c52565b95945050505050565b600181811c90821680610e0057607f821691505b602082108103610e2057634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561035e57634e487b7160e01b600052601160045260246000fd5b6001600160a01b039390931683526020830191909152604082015260600190565b600060208284031215610e7a57600080fd5b8151801515811461038357600080fd5b60008251610e9c818460208701610c2e565b919091019291505056fea2646970667358221220cd6e581cba9fd19f7928e14d3c712c26817978455e2bdc57a38e257c2bb343b564736f6c63430008140033a2646970667358221220d4c148dbd100babed4be24f22f6cd69ecdd633e9bf350524403aa18e580eab3f64736f6c63430008140033",
271
+ "bytecode": "0x608060405234801561001057600080fd5b506040516120ba3803806120ba83398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b611fbd806100fd6000396000f3fe60806040523480156200001157600080fd5b5060043610620000b75760003560e01c8063715018a6116200007a578063715018a6146200015f5780638da5cb5b14620001695780638f723f50146200017b5780639d8dad701462000192578063c4eb0a9e14620001a4578063f2fde38b14620001db57600080fd5b806303dc4d3114620000bc57806313afa5f414620000f057806338f343a0146200010757806358a52c4d14620001205780636e2eca671462000146575b600080fd5b620000d3620000cd366004620007db565b620001f2565b6040516001600160a01b0390911681526020015b60405180910390f35b620000d362000101366004620007db565b62000225565b6200011162000250565b604051620000e79190620007f5565b6200013762000131366004620007db565b620002b4565b604051620000e7919062000898565b6200015d6200015736600462000910565b62000382565b005b6200015d62000416565b6000546001600160a01b0316620000d3565b6200015d6200018c36600462000943565b6200042e565b600154604051908152602001620000e7565b620001ca620001b536600462000972565b60026020526000908152604090205460ff1681565b6040519015158152602001620000e7565b6200015d620001ec36600462000972565b6200058c565b6000600182815481106200020a576200020a62000992565b6000918252602090912001546001600160a01b031692915050565b600181815481106200023657600080fd5b6000918252602090912001546001600160a01b0316905081565b60606001805480602002602001604051908101604052809291908181526020018280548015620002aa57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200028b575b5050505050905090565b620002e9604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b60006001838154811062000301576200030162000992565b6000918252602082200154604080516307ddfc9d60e51b815290516001600160a01b039092169350839263fbbf93a0926004808401938290030181865afa15801562000351573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200037b919081019062000a7c565b9392505050565b6200038c620005d4565b600060018381548110620003a457620003a462000992565b60009182526020909120015460405163f2fde38b60e01b81526001600160a01b0384811660048301529091169150819063f2fde38b90602401600060405180830381600087803b158015620003f857600080fd5b505af11580156200040d573d6000803e3d6000fd5b50505050505050565b62000420620005d4565b6200042c600062000603565b565b62000438620005d4565b6001805460009162000455916200044f9162000b37565b62000653565b90506000816040516020016200046c919062000b59565b604051602081830303815290604052905060008260405160200162000492919062000b8d565b604051602081830303815290604052905060008585848430604051620004b890620007cd565b620004c895949392919062000bbb565b604051809103906000f080158015620004e5573d6000803e3d6000fd5b506001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b038416908117909155600081815260026020908152604091829020805460ff191690941790935580519182529181018890529192507f17f5b23f56b82f5b57d5d479ac000c3cce25009efb7195be1720e72c1be7d79b910160405180910390a1505050505050565b62000596620005d4565b6001600160a01b038116620005c657604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620005d18162000603565b50565b6000546001600160a01b031633146200042c5760405163118cdaa760e01b8152336004820152602401620005bd565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006200066283620006ed565b600101905060008167ffffffffffffffff811115620006855762000685620009a8565b6040519080825280601f01601f191660200182016040528015620006b0576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084620006ba57509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106200072d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106200075a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106200077957662386f26fc10000830492506010015b6305f5e100831062000792576305f5e100830492506008015b6127108310620007a757612710830492506004015b60648310620007ba576064830492506002015b600a8310620007c7576001015b92915050565b6113788062000c1083390190565b600060208284031215620007ee57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b81811015620008385783516001600160a01b03168352928401929184019160010162000811565b50909695505050505050565b60005b838110156200086157818101518382015260200162000847565b50506000910152565b600081518084526200088481602086016020860162000844565b601f01601f19169290920160200192915050565b6020815260018060a01b038251166020820152602082015160408201526000604083015160806060840152620008d260a08401826200086a565b90506060840151601f19848303016080850152620008f182826200086a565b95945050505050565b6001600160a01b0381168114620005d157600080fd5b600080604083850312156200092457600080fd5b8235915060208301356200093881620008fa565b809150509250929050565b600080604083850312156200095757600080fd5b82356200096481620008fa565b946020939093013593505050565b6000602082840312156200098557600080fd5b81356200037b81620008fa565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff81118282101715620009e457620009e4620009a8565b60405290565b600082601f830112620009fc57600080fd5b815167ffffffffffffffff8082111562000a1a5762000a1a620009a8565b604051601f8301601f19908116603f0116810190828211818310171562000a455762000a45620009a8565b8160405283815286602085880101111562000a5f57600080fd5b62000a7284602083016020890162000844565b9695505050505050565b60006020828403121562000a8f57600080fd5b815167ffffffffffffffff8082111562000aa857600080fd5b908301906080828603121562000abd57600080fd5b62000ac7620009be565b825162000ad481620008fa565b81526020838101519082015260408301518281111562000af357600080fd5b62000b0187828601620009ea565b60408301525060608301518281111562000b1a57600080fd5b62000b2887828601620009ea565b60608301525095945050505050565b80820180821115620007c757634e487b7160e01b600052601160045260246000fd5b6902d22a727902137b732160b51b81526000825162000b8081600a85016020870162000844565b91909101600a0192915050565b635a454e4f60e01b81526000825162000bae81600485016020870162000844565b9190910160040192915050565b600060018060a01b03808816835286602084015260a0604084015262000be560a08401876200086a565b838103606085015262000bf981876200086a565b925050808416608084015250969550505050505056fe60c06040523480156200001157600080fd5b5060405162001378380380620013788339810160408190526200003491620001e5565b80838360036200004583826200030e565b5060046200005482826200030e565b5050506001600160a01b0381166200008657604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200009181620000b1565b5050600160065550506001600160a01b0390911660805260a052620003da565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200011b57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200014857600080fd5b81516001600160401b038082111562000165576200016562000120565b604051601f8301601f19908116603f0116810190828211818310171562000190576200019062000120565b81604052838152602092508683858801011115620001ad57600080fd5b600091505b83821015620001d15785820183015181830184015290820190620001b2565b600093810190920192909252949350505050565b600080600080600060a08688031215620001fe57600080fd5b620002098662000103565b6020870151604088015191965094506001600160401b03808211156200022e57600080fd5b6200023c89838a0162000136565b945060608801519150808211156200025357600080fd5b50620002628882890162000136565b925050620002736080870162000103565b90509295509295909350565b600181811c908216806200029457607f821691505b602082108103620002b557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030957600081815260208120601f850160051c81016020861015620002e45750805b601f850160051c820191505b818110156200030557828155600101620002f0565b5050505b505050565b81516001600160401b038111156200032a576200032a62000120565b62000342816200033b84546200027f565b84620002bb565b602080601f8311600181146200037a5760008415620003615750858301515b600019600386901b1c1916600185901b17855562000305565b600085815260208120601f198616915b82811015620003ab578886015182559484019460019091019084016200038a565b5085821015620003ca5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a051610f4e6200042a6000396000818161027e015281816102f60152818161041c0152818161055701526106cf0152600081816102160152818161049c01526106170152610f4e6000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063af9205821161007c578063af9205821461027c578063db006a75146102a5578063dd62ed3e146102b8578063e593bd74146102f1578063f2fde38b14610318578063fbbf93a01461032b57600080fd5b8063715018a61461020957806389a30271146102115780638da5cb5b1461025057806395d89b4114610261578063a9059cbb1461026957600080fd5b80632f4350c2116100ff5780632f4350c2146101ab578063313ce567146101b557806340c10f19146101c457806368266e1b146101d757806370a08231146101e057600080fd5b806302458c741461013c57806306fdde0314610158578063095ea7b31461016d57806318160ddd1461019057806323b872dd14610198575b600080fd5b61014560085481565b6040519081526020015b60405180910390f35b610160610340565b60405161014f9190610d25565b61018061017b366004610d54565b6103d2565b604051901515815260200161014f565b600254610145565b6101806101a6366004610d7e565b6103ec565b6101b3610412565b005b6040516012815260200161014f565b6101b36101d2366004610d54565b6104d0565b61014560075481565b6101456101ee366004610dba565b6001600160a01b031660009081526020819052604090205490565b6101b361051e565b6102387f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161014f565b6005546001600160a01b0316610238565b610160610530565b610180610277366004610d54565b61053f565b7f0000000000000000000000000000000000000000000000000000000000000000421015610180565b6101b36102b3366004610dd5565b61054d565b6101456102c6366004610dee565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101457f000000000000000000000000000000000000000000000000000000000000000081565b6101b3610326366004610dba565b61064c565b61033361068c565b60405161014f9190610e21565b60606003805461034f90610e7f565b80601f016020809104026020016040519081016040528092919081815260200182805461037b90610e7f565b80156103c85780601f1061039d576101008083540402835291602001916103c8565b820191906000526020600020905b8154815290600101906020018083116103ab57829003601f168201915b5050505050905090565b6000336103e0818585610712565b60019150505b92915050565b6000336103fa858285610724565b6104058585856107a2565b60019150505b9392505050565b61041a610801565b7f000000000000000000000000000000000000000000000000000000000000000042101561045b57604051631440798b60e01b815260040160405180910390fd5b336000908152602081905260408120549050806008600082825461047f9190610eb9565b9091555061048f9050338261082b565b6104c36001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610865565b506104ce6001600655565b565b6104d86108b7565b806000036104f957604051631f2a200560e01b815260040160405180910390fd5b61050382826108e4565b80600760008282546105159190610eb9565b90915550505050565b6105266108b7565b6104ce600061091a565b60606004805461034f90610e7f565b6000336103e08185856107a2565b610555610801565b7f000000000000000000000000000000000000000000000000000000000000000042101561059657604051631440798b60e01b815260040160405180910390fd5b806000036105b757604051631f2a200560e01b815260040160405180910390fd5b33600090815260208190526040902054808211156105e857604051631e9acf1760e31b815260040160405180910390fd5b81600860008282546105fa9190610eb9565b9091555061060a9050338361082b565b61063e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163384610865565b506106496001600655565b50565b6106546108b7565b6001600160a01b03811661068357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6106498161091a565b6106c0604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b604080516080810182523081527f000000000000000000000000000000000000000000000000000000000000000060208201529081016106fe610340565b815260200161070b610530565b9052919050565b61071f838383600161096c565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461079c578181101561078d57604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161067a565b61079c8484848403600061096c565b50505050565b6001600160a01b0383166107cc57604051634b637e8f60e11b81526000600482015260240161067a565b6001600160a01b0382166107f65760405163ec442f0560e01b81526000600482015260240161067a565b61071f838383610a41565b60026006540361082457604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b6001600160a01b03821661085557604051634b637e8f60e11b81526000600482015260240161067a565b61086182600083610a41565b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261071f908490610b6b565b6005546001600160a01b031633146104ce5760405163118cdaa760e01b815233600482015260240161067a565b6001600160a01b03821661090e5760405163ec442f0560e01b81526000600482015260240161067a565b61086160008383610a41565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0384166109965760405163e602df0560e01b81526000600482015260240161067a565b6001600160a01b0383166109c057604051634a1406b160e11b81526000600482015260240161067a565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561079c57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a3391815260200190565b60405180910390a350505050565b6001600160a01b038316610a6c578060026000828254610a619190610eb9565b90915550610ade9050565b6001600160a01b03831660009081526020819052604090205481811015610abf5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161067a565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610afa57600280548290039055610b19565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b5e91815260200190565b60405180910390a3505050565b6000610b806001600160a01b03841683610bce565b90508051600014158015610ba5575080806020019051810190610ba39190610eda565b155b1561071f57604051635274afe760e01b81526001600160a01b038416600482015260240161067a565b606061040b8383600084600080856001600160a01b03168486604051610bf49190610efc565b60006040518083038185875af1925050503d8060008114610c31576040519150601f19603f3d011682016040523d82523d6000602084013e610c36565b606091505b5091509150610c46868383610c50565b9695505050505050565b606082610c6557610c6082610cac565b61040b565b8151158015610c7c57506001600160a01b0384163b155b15610ca557604051639996b31560e01b81526001600160a01b038516600482015260240161067a565b508061040b565b805115610cbc5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015610cf0578181015183820152602001610cd8565b50506000910152565b60008151808452610d11816020860160208601610cd5565b601f01601f19169290920160200192915050565b60208152600061040b6020830184610cf9565b80356001600160a01b0381168114610d4f57600080fd5b919050565b60008060408385031215610d6757600080fd5b610d7083610d38565b946020939093013593505050565b600080600060608486031215610d9357600080fd5b610d9c84610d38565b9250610daa60208501610d38565b9150604084013590509250925092565b600060208284031215610dcc57600080fd5b61040b82610d38565b600060208284031215610de757600080fd5b5035919050565b60008060408385031215610e0157600080fd5b610e0a83610d38565b9150610e1860208401610d38565b90509250929050565b6020815260018060a01b038251166020820152602082015160408201526000604083015160806060840152610e5960a0840182610cf9565b90506060840151601f19848303016080850152610e768282610cf9565b95945050505050565b600181811c90821680610e9357607f821691505b602082108103610eb357634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156103e657634e487b7160e01b600052601160045260246000fd5b600060208284031215610eec57600080fd5b8151801515811461040b57600080fd5b60008251610f0e818460208701610cd5565b919091019291505056fea26469706673582212202dbac30721081679a3aed6f9316d8db65e7c3b9937cf82742d20433bcfb108fa64736f6c63430008140033a2646970667358221220c69a5c6fa3f1dea7be4735ca4a9be3bd395fb5cea016b004a39032772008d75a64736f6c63430008140033",
272
+ "deployedBytecode": "0x60806040523480156200001157600080fd5b5060043610620000b75760003560e01c8063715018a6116200007a578063715018a6146200015f5780638da5cb5b14620001695780638f723f50146200017b5780639d8dad701462000192578063c4eb0a9e14620001a4578063f2fde38b14620001db57600080fd5b806303dc4d3114620000bc57806313afa5f414620000f057806338f343a0146200010757806358a52c4d14620001205780636e2eca671462000146575b600080fd5b620000d3620000cd366004620007db565b620001f2565b6040516001600160a01b0390911681526020015b60405180910390f35b620000d362000101366004620007db565b62000225565b6200011162000250565b604051620000e79190620007f5565b6200013762000131366004620007db565b620002b4565b604051620000e7919062000898565b6200015d6200015736600462000910565b62000382565b005b6200015d62000416565b6000546001600160a01b0316620000d3565b6200015d6200018c36600462000943565b6200042e565b600154604051908152602001620000e7565b620001ca620001b536600462000972565b60026020526000908152604090205460ff1681565b6040519015158152602001620000e7565b6200015d620001ec36600462000972565b6200058c565b6000600182815481106200020a576200020a62000992565b6000918252602090912001546001600160a01b031692915050565b600181815481106200023657600080fd5b6000918252602090912001546001600160a01b0316905081565b60606001805480602002602001604051908101604052809291908181526020018280548015620002aa57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116200028b575b5050505050905090565b620002e9604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b60006001838154811062000301576200030162000992565b6000918252602082200154604080516307ddfc9d60e51b815290516001600160a01b039092169350839263fbbf93a0926004808401938290030181865afa15801562000351573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200037b919081019062000a7c565b9392505050565b6200038c620005d4565b600060018381548110620003a457620003a462000992565b60009182526020909120015460405163f2fde38b60e01b81526001600160a01b0384811660048301529091169150819063f2fde38b90602401600060405180830381600087803b158015620003f857600080fd5b505af11580156200040d573d6000803e3d6000fd5b50505050505050565b62000420620005d4565b6200042c600062000603565b565b62000438620005d4565b6001805460009162000455916200044f9162000b37565b62000653565b90506000816040516020016200046c919062000b59565b604051602081830303815290604052905060008260405160200162000492919062000b8d565b604051602081830303815290604052905060008585848430604051620004b890620007cd565b620004c895949392919062000bbb565b604051809103906000f080158015620004e5573d6000803e3d6000fd5b506001805480820182557fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b038416908117909155600081815260026020908152604091829020805460ff191690941790935580519182529181018890529192507f17f5b23f56b82f5b57d5d479ac000c3cce25009efb7195be1720e72c1be7d79b910160405180910390a1505050505050565b62000596620005d4565b6001600160a01b038116620005c657604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620005d18162000603565b50565b6000546001600160a01b031633146200042c5760405163118cdaa760e01b8152336004820152602401620005bd565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006200066283620006ed565b600101905060008167ffffffffffffffff811115620006855762000685620009a8565b6040519080825280601f01601f191660200182016040528015620006b0576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084620006ba57509392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106200072d5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106200075a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106200077957662386f26fc10000830492506010015b6305f5e100831062000792576305f5e100830492506008015b6127108310620007a757612710830492506004015b60648310620007ba576064830492506002015b600a8310620007c7576001015b92915050565b6113788062000c1083390190565b600060208284031215620007ee57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b81811015620008385783516001600160a01b03168352928401929184019160010162000811565b50909695505050505050565b60005b838110156200086157818101518382015260200162000847565b50506000910152565b600081518084526200088481602086016020860162000844565b601f01601f19169290920160200192915050565b6020815260018060a01b038251166020820152602082015160408201526000604083015160806060840152620008d260a08401826200086a565b90506060840151601f19848303016080850152620008f182826200086a565b95945050505050565b6001600160a01b0381168114620005d157600080fd5b600080604083850312156200092457600080fd5b8235915060208301356200093881620008fa565b809150509250929050565b600080604083850312156200095757600080fd5b82356200096481620008fa565b946020939093013593505050565b6000602082840312156200098557600080fd5b81356200037b81620008fa565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff81118282101715620009e457620009e4620009a8565b60405290565b600082601f830112620009fc57600080fd5b815167ffffffffffffffff8082111562000a1a5762000a1a620009a8565b604051601f8301601f19908116603f0116810190828211818310171562000a455762000a45620009a8565b8160405283815286602085880101111562000a5f57600080fd5b62000a7284602083016020890162000844565b9695505050505050565b60006020828403121562000a8f57600080fd5b815167ffffffffffffffff8082111562000aa857600080fd5b908301906080828603121562000abd57600080fd5b62000ac7620009be565b825162000ad481620008fa565b81526020838101519082015260408301518281111562000af357600080fd5b62000b0187828601620009ea565b60408301525060608301518281111562000b1a57600080fd5b62000b2887828601620009ea565b60608301525095945050505050565b80820180821115620007c757634e487b7160e01b600052601160045260246000fd5b6902d22a727902137b732160b51b81526000825162000b8081600a85016020870162000844565b91909101600a0192915050565b635a454e4f60e01b81526000825162000bae81600485016020870162000844565b9190910160040192915050565b600060018060a01b03808816835286602084015260a0604084015262000be560a08401876200086a565b838103606085015262000bf981876200086a565b925050808416608084015250969550505050505056fe60c06040523480156200001157600080fd5b5060405162001378380380620013788339810160408190526200003491620001e5565b80838360036200004583826200030e565b5060046200005482826200030e565b5050506001600160a01b0381166200008657604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200009181620000b1565b5050600160065550506001600160a01b0390911660805260a052620003da565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200011b57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200014857600080fd5b81516001600160401b038082111562000165576200016562000120565b604051601f8301601f19908116603f0116810190828211818310171562000190576200019062000120565b81604052838152602092508683858801011115620001ad57600080fd5b600091505b83821015620001d15785820183015181830184015290820190620001b2565b600093810190920192909252949350505050565b600080600080600060a08688031215620001fe57600080fd5b620002098662000103565b6020870151604088015191965094506001600160401b03808211156200022e57600080fd5b6200023c89838a0162000136565b945060608801519150808211156200025357600080fd5b50620002628882890162000136565b925050620002736080870162000103565b90509295509295909350565b600181811c908216806200029457607f821691505b602082108103620002b557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030957600081815260208120601f850160051c81016020861015620002e45750805b601f850160051c820191505b818110156200030557828155600101620002f0565b5050505b505050565b81516001600160401b038111156200032a576200032a62000120565b62000342816200033b84546200027f565b84620002bb565b602080601f8311600181146200037a5760008415620003615750858301515b600019600386901b1c1916600185901b17855562000305565b600085815260208120601f198616915b82811015620003ab578886015182559484019460019091019084016200038a565b5085821015620003ca5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a051610f4e6200042a6000396000818161027e015281816102f60152818161041c0152818161055701526106cf0152600081816102160152818161049c01526106170152610f4e6000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063af9205821161007c578063af9205821461027c578063db006a75146102a5578063dd62ed3e146102b8578063e593bd74146102f1578063f2fde38b14610318578063fbbf93a01461032b57600080fd5b8063715018a61461020957806389a30271146102115780638da5cb5b1461025057806395d89b4114610261578063a9059cbb1461026957600080fd5b80632f4350c2116100ff5780632f4350c2146101ab578063313ce567146101b557806340c10f19146101c457806368266e1b146101d757806370a08231146101e057600080fd5b806302458c741461013c57806306fdde0314610158578063095ea7b31461016d57806318160ddd1461019057806323b872dd14610198575b600080fd5b61014560085481565b6040519081526020015b60405180910390f35b610160610340565b60405161014f9190610d25565b61018061017b366004610d54565b6103d2565b604051901515815260200161014f565b600254610145565b6101806101a6366004610d7e565b6103ec565b6101b3610412565b005b6040516012815260200161014f565b6101b36101d2366004610d54565b6104d0565b61014560075481565b6101456101ee366004610dba565b6001600160a01b031660009081526020819052604090205490565b6101b361051e565b6102387f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161014f565b6005546001600160a01b0316610238565b610160610530565b610180610277366004610d54565b61053f565b7f0000000000000000000000000000000000000000000000000000000000000000421015610180565b6101b36102b3366004610dd5565b61054d565b6101456102c6366004610dee565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101457f000000000000000000000000000000000000000000000000000000000000000081565b6101b3610326366004610dba565b61064c565b61033361068c565b60405161014f9190610e21565b60606003805461034f90610e7f565b80601f016020809104026020016040519081016040528092919081815260200182805461037b90610e7f565b80156103c85780601f1061039d576101008083540402835291602001916103c8565b820191906000526020600020905b8154815290600101906020018083116103ab57829003601f168201915b5050505050905090565b6000336103e0818585610712565b60019150505b92915050565b6000336103fa858285610724565b6104058585856107a2565b60019150505b9392505050565b61041a610801565b7f000000000000000000000000000000000000000000000000000000000000000042101561045b57604051631440798b60e01b815260040160405180910390fd5b336000908152602081905260408120549050806008600082825461047f9190610eb9565b9091555061048f9050338261082b565b6104c36001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610865565b506104ce6001600655565b565b6104d86108b7565b806000036104f957604051631f2a200560e01b815260040160405180910390fd5b61050382826108e4565b80600760008282546105159190610eb9565b90915550505050565b6105266108b7565b6104ce600061091a565b60606004805461034f90610e7f565b6000336103e08185856107a2565b610555610801565b7f000000000000000000000000000000000000000000000000000000000000000042101561059657604051631440798b60e01b815260040160405180910390fd5b806000036105b757604051631f2a200560e01b815260040160405180910390fd5b33600090815260208190526040902054808211156105e857604051631e9acf1760e31b815260040160405180910390fd5b81600860008282546105fa9190610eb9565b9091555061060a9050338361082b565b61063e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163384610865565b506106496001600655565b50565b6106546108b7565b6001600160a01b03811661068357604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6106498161091a565b6106c0604051806080016040528060006001600160a01b031681526020016000815260200160608152602001606081525090565b604080516080810182523081527f000000000000000000000000000000000000000000000000000000000000000060208201529081016106fe610340565b815260200161070b610530565b9052919050565b61071f838383600161096c565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461079c578181101561078d57604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161067a565b61079c8484848403600061096c565b50505050565b6001600160a01b0383166107cc57604051634b637e8f60e11b81526000600482015260240161067a565b6001600160a01b0382166107f65760405163ec442f0560e01b81526000600482015260240161067a565b61071f838383610a41565b60026006540361082457604051633ee5aeb560e01b815260040160405180910390fd5b6002600655565b6001600160a01b03821661085557604051634b637e8f60e11b81526000600482015260240161067a565b61086182600083610a41565b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261071f908490610b6b565b6005546001600160a01b031633146104ce5760405163118cdaa760e01b815233600482015260240161067a565b6001600160a01b03821661090e5760405163ec442f0560e01b81526000600482015260240161067a565b61086160008383610a41565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0384166109965760405163e602df0560e01b81526000600482015260240161067a565b6001600160a01b0383166109c057604051634a1406b160e11b81526000600482015260240161067a565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561079c57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a3391815260200190565b60405180910390a350505050565b6001600160a01b038316610a6c578060026000828254610a619190610eb9565b90915550610ade9050565b6001600160a01b03831660009081526020819052604090205481811015610abf5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161067a565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610afa57600280548290039055610b19565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b5e91815260200190565b60405180910390a3505050565b6000610b806001600160a01b03841683610bce565b90508051600014158015610ba5575080806020019051810190610ba39190610eda565b155b1561071f57604051635274afe760e01b81526001600160a01b038416600482015260240161067a565b606061040b8383600084600080856001600160a01b03168486604051610bf49190610efc565b60006040518083038185875af1925050503d8060008114610c31576040519150601f19603f3d011682016040523d82523d6000602084013e610c36565b606091505b5091509150610c46868383610c50565b9695505050505050565b606082610c6557610c6082610cac565b61040b565b8151158015610c7c57506001600160a01b0384163b155b15610ca557604051639996b31560e01b81526001600160a01b038516600482015260240161067a565b508061040b565b805115610cbc5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60005b83811015610cf0578181015183820152602001610cd8565b50506000910152565b60008151808452610d11816020860160208601610cd5565b601f01601f19169290920160200192915050565b60208152600061040b6020830184610cf9565b80356001600160a01b0381168114610d4f57600080fd5b919050565b60008060408385031215610d6757600080fd5b610d7083610d38565b946020939093013593505050565b600080600060608486031215610d9357600080fd5b610d9c84610d38565b9250610daa60208501610d38565b9150604084013590509250925092565b600060208284031215610dcc57600080fd5b61040b82610d38565b600060208284031215610de757600080fd5b5035919050565b60008060408385031215610e0157600080fd5b610e0a83610d38565b9150610e1860208401610d38565b90509250929050565b6020815260018060a01b038251166020820152602082015160408201526000604083015160806060840152610e5960a0840182610cf9565b90506060840151601f19848303016080850152610e768282610cf9565b95945050505050565b600181811c90821680610e9357607f821691505b602082108103610eb357634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156103e657634e487b7160e01b600052601160045260246000fd5b600060208284031215610eec57600080fd5b8151801515811461040b57600080fd5b60008251610f0e818460208701610cd5565b919091019291505056fea26469706673582212202dbac30721081679a3aed6f9316d8db65e7c3b9937cf82742d20433bcfb108fa64736f6c63430008140033a2646970667358221220c69a5c6fa3f1dea7be4735ca4a9be3bd395fb5cea016b004a39032772008d75a64736f6c63430008140033",
273
273
  "linkReferences": {},
274
274
  "deployedLinkReferences": {}
275
275
  }
@@ -7,6 +7,9 @@ async function getSupply(chainId, assetId, provider) {
7
7
  const SUPPLY_ABI = ["function totalSupply() view returns (uint256)"];
8
8
  const contractAddress = (0, contracts_1.getContractAddress)(chainId, assetId);
9
9
  const contract = new ethers_1.ethers.Contract(contractAddress, SUPPLY_ABI, provider);
10
+ if (contract?.totalSupply === undefined) {
11
+ return 0;
12
+ }
10
13
  const supply = await contract.totalSupply();
11
14
  return ethers_1.ethers.formatEther(supply);
12
15
  }
@@ -1,11 +1,7 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  const ethers_1 = require("ethers");
7
4
  const getContractAddress_1 = require("../contracts/getContractAddress");
8
- const estimateGasPrice_1 = __importDefault(require("./commons/estimateGasPrice"));
9
5
  const approveToken = async (chainId, tokenSymbol, spender, amount, signer) => {
10
6
  if (!signer) {
11
7
  throw new Error("Wallet not connected");
@@ -17,11 +13,7 @@ const approveToken = async (chainId, tokenSymbol, spender, amount, signer) => {
17
13
  const tokenContract = new ethers_1.ethers.Contract(tokenAddress, tokenABI, signer);
18
14
  try {
19
15
  const amountInWei = ethers_1.ethers.parseEther(amount);
20
- const { maxFeePerGas } = await (0, estimateGasPrice_1.default)(signer);
21
- const tx = await tokenContract.approve(spender, amountInWei, {
22
- maxFeePerGas,
23
- // maxPriorityFeePerGas
24
- });
16
+ const tx = await tokenContract.approve(spender, amountInWei);
25
17
  console.log(`Approval transaction sent:`, tx.hash);
26
18
  const receipt = await tx.wait();
27
19
  console.log(`Approved ${amount} ${tokenSymbol} for ${spender} successfully:`, receipt.transactionHash);
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  const ethers_1 = require("ethers");
7
4
  const contracts_1 = require("../utils/contracts");
8
5
  const artifacts_1 = require("../utils/artifacts");
9
- const estimateGasPrice_1 = __importDefault(require("../methods/commons/estimateGasPrice"));
10
6
  async function tick(chainId, signer) {
11
7
  if (!signer) {
12
8
  throw new Error("Wallet not connected");
@@ -15,10 +11,10 @@ async function tick(chainId, signer) {
15
11
  const raacMinterAddress = (0, contracts_1.getContractAddress)(chainId, "raacminter");
16
12
  const raacMinterABI = (0, artifacts_1.getABI)("raacminter");
17
13
  const raacMinterContract = new ethers_1.ethers.Contract(raacMinterAddress, raacMinterABI, signer);
18
- const { maxFeePerGas } = await (0, estimateGasPrice_1.default)(signer);
19
- console.log({ maxFeePerGas });
14
+ // const { maxFeePerGas } = await estimateGasPrice(signer);
15
+ // console.log({ maxFeePerGas });
20
16
  const tick = await raacMinterContract.tick({
21
- maxFeePerGas,
17
+ // maxFeePerGas,
22
18
  nonce: await signer.getNonce(),
23
19
  });
24
20
  if (tick.wait) {
@@ -12,7 +12,7 @@ async function borrowFromLendingPool(chainId, tokenId, amount, signer) {
12
12
  console.log("Borrowing amount in wei:", amountInWei.toString());
13
13
  const tx = await lendingPoolContract.borrow(tokenId, amountInWei.toString());
14
14
  const receipt = await tx.wait();
15
- console.log(`Borrowed ${ethers_1.ethers.formatEther(amount)} from lending pool`);
15
+ console.log(`Borrowed ${amount} from lending pool`);
16
16
  console.log(`Transaction hash: ${receipt?.hash}`);
17
17
  return receipt;
18
18
  }
@@ -27,14 +27,14 @@ async function depositNFTToLendingPool(chainId, tokenId, signer) {
27
27
  }
28
28
  // Approve the lending pool to transfer the NFT
29
29
  const approveTx = await nftContract.approve(lendingPoolAddress, tokenId, {
30
- maxFeePerGas,
30
+ // maxFeePerGas,
31
31
  nonce: await signer.getNonce(),
32
32
  });
33
33
  await approveTx.wait();
34
34
  console.log(`Approved lending pool to transfer NFT #${tokenId}`);
35
35
  // Deposit (stake) the NFT
36
36
  const depositTx = await lendingPoolContract.depositNFT(tokenId, {
37
- maxFeePerGas,
37
+ // maxFeePerGas,
38
38
  nonce: await signer.getNonce(),
39
39
  });
40
40
  console.log(`Deposit transaction sent for NFT #${tokenId}:`, depositTx.hash);
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  const ethers_1 = require("ethers");
7
4
  const contracts_1 = require("../../utils/contracts");
8
5
  const artifacts_1 = require("../../utils/artifacts");
9
- const estimateGasPrice_1 = __importDefault(require("../../methods/commons/estimateGasPrice"));
10
6
  // checked
11
7
  async function depositToLendingPool(chainId, amount, signer) {
12
8
  if (!signer) {
@@ -17,9 +13,9 @@ async function depositToLendingPool(chainId, amount, signer) {
17
13
  const lendingPoolABI = (0, artifacts_1.getABI)("lendingpool");
18
14
  const lendingPoolContract = new ethers_1.ethers.Contract(lendingPoolAddress, lendingPoolABI, signer);
19
15
  const amountInWei = ethers_1.ethers.parseEther(amount);
20
- const { maxFeePerGas } = await (0, estimateGasPrice_1.default)(signer);
16
+ // const { maxFeePerGas } = await estimateGasPrice(signer);
21
17
  const depositTx = await lendingPoolContract.deposit(amountInWei.toString(), {
22
- maxFeePerGas,
18
+ // maxFeePerGas,
23
19
  nonce: await signer.getNonce(),
24
20
  });
25
21
  console.log(`Deposit transaction sent for rToken:`, depositTx.hash);
@@ -12,6 +12,7 @@ function transformPositionView(positionView) {
12
12
  isUnderLiquidation: positionView?.[3] || false,
13
13
  liquidationStartTime: (positionView?.[4] || 0n).toString(),
14
14
  positionIndex: (positionView?.[5] || 0n).toString(),
15
+ isInsured: positionView?.[6] || false,
15
16
  };
16
17
  }
17
18
  /**
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  const ethers_1 = require("ethers");
7
4
  const getContractAddress_1 = require("../../contracts/getContractAddress");
8
5
  const artifacts_1 = require("../../utils/artifacts");
9
- const estimateGasPrice_1 = __importDefault(require("../../methods/commons/estimateGasPrice"));
10
6
  async function withdrawFromLendingPool(chainId, amount, signer) {
11
7
  try {
12
8
  const lendingPoolAddress = (0, getContractAddress_1.getContractAddress)(chainId, "lendingpool");
@@ -16,7 +12,7 @@ async function withdrawFromLendingPool(chainId, amount, signer) {
16
12
  const lendingPoolContract = new ethers_1.ethers.Contract(lendingPoolAddress, lendingPoolABI, signer);
17
13
  const rTokenContract = new ethers_1.ethers.Contract(rtokenAddress, assetABI, signer);
18
14
  const amountInWei = ethers_1.ethers.parseEther(amount.toString());
19
- const { maxFeePerGas } = await (0, estimateGasPrice_1.default)(signer);
15
+ // const { maxFeePerGas } = await estimateGasPrice(signer);
20
16
  const userBalance = await rTokenContract.balanceOf(await signer.getAddress());
21
17
  if (userBalance < parseFloat(amount)) {
22
18
  throw new Error(`Insufficient rToken balance. Available: ${ethers_1.ethers.formatEther(userBalance)}, Requested: ${ethers_1.ethers.formatEther(amount)}`);
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  const ethers_1 = require("ethers");
7
4
  const contracts_1 = require("../../utils/contracts");
8
5
  const artifacts_1 = require("../../utils/artifacts");
9
- const estimateGasPrice_1 = __importDefault(require("../../methods/commons/estimateGasPrice"));
10
6
  async function depositToStabilityPool(chainId, amount, signer) {
11
7
  if (!signer) {
12
8
  throw new Error("Wallet not connected");
@@ -16,9 +12,7 @@ async function depositToStabilityPool(chainId, amount, signer) {
16
12
  const abi = (0, artifacts_1.getABI)("stabilitypool");
17
13
  const stabilityPoolContract = new ethers_1.ethers.Contract(stabilityPoolAddress, abi, signer);
18
14
  const amountInWei = ethers_1.ethers.parseEther(amount);
19
- const { maxFeePerGas } = await (0, estimateGasPrice_1.default)(signer);
20
15
  const tx = await stabilityPoolContract.deposit(amountInWei.toString(), {
21
- maxFeePerGas,
22
16
  nonce: await signer.getNonce(),
23
17
  });
24
18
  console.log(`Deposit transaction sent to Stability Pool:`, tx.hash);
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  const ethers_1 = require("ethers");
7
4
  const contracts_1 = require("../../utils/contracts");
8
5
  const artifacts_1 = require("../../utils/artifacts");
9
- const estimateGasPrice_1 = __importDefault(require("../../methods/commons/estimateGasPrice"));
10
6
  async function withdrawFromStabilityPool(chainId, amount, signer) {
11
7
  if (!signer) {
12
8
  throw new Error("Wallet not connected");
@@ -16,9 +12,7 @@ async function withdrawFromStabilityPool(chainId, amount, signer) {
16
12
  const abi = (0, artifacts_1.getABI)("stabilitypool");
17
13
  const stabilityPoolContract = new ethers_1.ethers.Contract(stabilityPoolAddress, abi, signer);
18
14
  const amountInWei = ethers_1.ethers.parseEther(amount);
19
- const { maxFeePerGas } = await (0, estimateGasPrice_1.default)(signer);
20
15
  const tx = await stabilityPoolContract.withdraw(amountInWei.toString(), {
21
- maxFeePerGas,
22
16
  nonce: await signer.getNonce(),
23
17
  });
24
18
  console.log(`Withdrawal transaction sent to Stability Pool:`, tx.hash);
@@ -9,7 +9,7 @@ const chains_1 = __importDefault(require("../configs/chains"));
9
9
  const RPCLibrary_1 = __importDefault(require("../RPCLibrary"));
10
10
  const contracts_1 = require("../utils/contracts");
11
11
  const artifacts_1 = require("../utils/artifacts");
12
- const chainId = 11155111;
12
+ const chainId = 8453;
13
13
  const config = chains_1.default[chainId];
14
14
  const TEST_MNEMONIC = process.env.TEST_MNEMONIC;
15
15
  const TEST_PRIVATE_KEY = process.env.TEST_PRIVATE_KEY;
@@ -17,14 +17,16 @@ async function getProvider() {
17
17
  return new ethers_1.ethers.JsonRpcProvider(config.rpcs[0]);
18
18
  }
19
19
  async function createWallet(mnemonic, provider) {
20
- // const wallet = ethers.Wallet.fromPhrase(mnemonic, provider);
21
- // console.info(`[${chainId}]: Loaded wallet from mnemonic: ${wallet.address}`);
22
- // // the signer is the wallet
23
- // return wallet;
24
- // load from private key
25
- const wallet = new ethers_1.ethers.Wallet(TEST_PRIVATE_KEY, provider);
26
- console.info(`[${chainId}]: Loaded wallet from private key: ${wallet.address}`);
20
+ const wallet = ethers_1.ethers.Wallet.fromPhrase(mnemonic, provider);
21
+ console.info(`[${chainId}]: Loaded wallet from mnemonic: ${wallet.address}`);
22
+ // the signer is the wallet
27
23
  return wallet;
24
+ // load from private key
25
+ // const wallet = new ethers.Wallet(TEST_PRIVATE_KEY, provider);
26
+ // console.info(
27
+ // `[${chainId}]: Loaded wallet from private key: ${wallet.address}`
28
+ // );
29
+ // return wallet;
28
30
  }
29
31
  async function setup() {
30
32
  const provider = await getProvider();
@@ -144,7 +146,7 @@ const fulfillRequest = async () => {
144
146
  const redemptionToken = await rpc.contracts.indexToken.getNextRandomNFT(chainId, provider);
145
147
  console.log("Redemption token", redemptionToken);
146
148
  };
147
- execute();
149
+ // execute();
148
150
  // setup();
149
151
  // fulfillRequest();
150
- // updateNFTPrice("7", "1650000");
152
+ updateNFTPrice("1", "200000");