@venusprotocol/venus-protocol 7.0.0 → 7.1.0-dev.1
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.
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/AccessControlledV8.sol/AccessControlledV8.dbg.json +1 -1
- package/artifacts/@venusprotocol/governance-contracts/contracts/Governance/IAccessControlManagerV8.sol/IAccessControlManagerV8.dbg.json +1 -1
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/BoundValidatorInterface.dbg.json +1 -1
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/OracleInterface.dbg.json +1 -1
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/ResilientOracleInterface.dbg.json +1 -1
- package/artifacts/@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol/TwapInterface.dbg.json +1 -1
- package/artifacts/@venusprotocol/solidity-utilities/contracts/MaxLoopsLimitHelper.sol/MaxLoopsLimitHelper.dbg.json +1 -1
- package/artifacts/@venusprotocol/solidity-utilities/contracts/TimeManagerV8.sol/TimeManagerV8.dbg.json +1 -1
- package/artifacts/build-info/{ddb1ade0c64d5161e7d5a6dec1e33868.json → 5158b939f09b056403dc17322b3b5c7a.json} +1 -1
- package/artifacts/contracts/Admin/VBNBAdmin.sol/VBNBAdmin.dbg.json +1 -1
- package/artifacts/contracts/Admin/VBNBAdminStorage.sol/IProtocolShareReserve.dbg.json +1 -1
- package/artifacts/contracts/Admin/VBNBAdminStorage.sol/IWBNB.dbg.json +1 -1
- package/artifacts/contracts/Admin/VBNBAdminStorage.sol/VBNBAdminStorage.dbg.json +1 -1
- package/artifacts/contracts/Admin/VBNBAdminStorage.sol/VTokenInterface.dbg.json +1 -1
- package/artifacts/contracts/DelegateBorrowers/MoveDebtDelegate.sol/MoveDebtDelegate.dbg.json +1 -1
- package/artifacts/contracts/DelegateBorrowers/MoveDebtDelegate.sol/MoveDebtDelegate.json +2 -2
- package/artifacts/contracts/DelegateBorrowers/SwapDebtDelegate.sol/SwapDebtDelegate.dbg.json +1 -1
- package/artifacts/contracts/DelegateBorrowers/SwapDebtDelegate.sol/SwapDebtDelegate.json +2 -2
- package/artifacts/contracts/Governance/TokenRedeemer.sol/TokenRedeemer.dbg.json +4 -0
- package/artifacts/contracts/Governance/TokenRedeemer.sol/TokenRedeemer.json +165 -0
- package/artifacts/contracts/InterfacesV8.sol/IComptroller.dbg.json +1 -1
- package/artifacts/contracts/InterfacesV8.sol/ILiquidator.dbg.json +1 -1
- package/artifacts/contracts/InterfacesV8.sol/IVAIController.dbg.json +1 -1
- package/artifacts/contracts/InterfacesV8.sol/IVBNB.dbg.json +1 -1
- package/artifacts/contracts/InterfacesV8.sol/IVBNB.json +19 -0
- package/artifacts/contracts/InterfacesV8.sol/IVBep20.dbg.json +1 -1
- package/artifacts/contracts/InterfacesV8.sol/IVBep20.json +19 -0
- package/artifacts/contracts/InterfacesV8.sol/IVToken.dbg.json +1 -1
- package/artifacts/contracts/InterfacesV8.sol/IVToken.json +19 -0
- package/artifacts/contracts/Liquidator/BUSDLiquidator.sol/BUSDLiquidator.dbg.json +1 -1
- package/artifacts/contracts/Liquidator/BUSDLiquidator.sol/BUSDLiquidator.json +2 -2
- package/artifacts/contracts/Liquidator/Liquidator.sol/Liquidator.dbg.json +1 -1
- package/artifacts/contracts/Liquidator/Liquidator.sol/Liquidator.json +2 -2
- package/artifacts/contracts/PegStability/IVAI.sol/IVAI.dbg.json +1 -1
- package/artifacts/contracts/PegStability/PegStability.sol/PegStability.dbg.json +1 -1
- package/artifacts/contracts/Swap/IRouterHelper.sol/IRouterHelper.dbg.json +1 -1
- package/artifacts/contracts/Swap/RouterHelper.sol/RouterHelper.dbg.json +1 -1
- package/artifacts/contracts/Swap/SwapRouter.sol/SwapRouter.dbg.json +1 -1
- package/artifacts/contracts/Swap/interfaces/IPancakePair.sol/IPancakePair.dbg.json +1 -1
- package/artifacts/contracts/Swap/interfaces/IPancakeSwapV2Factory.sol/IPancakeSwapV2Factory.dbg.json +1 -1
- package/artifacts/contracts/Swap/interfaces/IPancakeSwapV2Router.sol/IPancakeSwapV2Router.dbg.json +1 -1
- package/artifacts/contracts/Swap/interfaces/IVBNB.sol/IVBNB.dbg.json +1 -1
- package/artifacts/contracts/Swap/interfaces/IVtoken.sol/IVToken.dbg.json +1 -1
- package/artifacts/contracts/Swap/interfaces/IWBNB.sol/IWBNB.dbg.json +1 -1
- package/artifacts/contracts/Swap/interfaces/InterfaceComptroller.sol/InterfaceComptroller.dbg.json +1 -1
- package/artifacts/contracts/Swap/lib/PancakeLibrary.sol/PancakeLibrary.dbg.json +1 -1
- package/artifacts/contracts/Swap/lib/TransferHelper.sol/TransferHelper.dbg.json +1 -1
- package/artifacts/contracts/Tokens/Prime/Interfaces/IPoolRegistry.sol/PoolRegistryInterface.dbg.json +1 -1
- package/artifacts/contracts/Tokens/Prime/Interfaces/IPrime.sol/IPrime.dbg.json +1 -1
- package/artifacts/contracts/Tokens/Prime/Interfaces/IPrimeLiquidityProvider.sol/IPrimeLiquidityProvider.dbg.json +1 -1
- package/artifacts/contracts/Tokens/Prime/Interfaces/IVToken.sol/IVToken.dbg.json +1 -1
- package/artifacts/contracts/Tokens/Prime/Interfaces/IXVSVault.sol/IXVSVault.dbg.json +1 -1
- package/artifacts/contracts/Tokens/Prime/Interfaces/InterfaceComptroller.sol/InterfaceComptroller.dbg.json +1 -1
- package/artifacts/contracts/Tokens/Prime/Prime.sol/Prime.dbg.json +1 -1
- package/artifacts/contracts/Tokens/Prime/PrimeLiquidityProvider.sol/PrimeLiquidityProvider.dbg.json +1 -1
- package/artifacts/contracts/Tokens/Prime/PrimeLiquidityProviderStorage.sol/PrimeLiquidityProviderStorageV1.dbg.json +1 -1
- package/artifacts/contracts/Tokens/Prime/PrimeStorage.sol/PrimeStorageV1.dbg.json +1 -1
- package/artifacts/contracts/Tokens/Prime/libs/FixedMath.sol/FixedMath.dbg.json +1 -1
- package/artifacts/contracts/Tokens/Prime/libs/FixedMath0x.sol/FixedMath0x.dbg.json +1 -1
- package/artifacts/contracts/Tokens/Prime/libs/Scores.sol/Scores.dbg.json +1 -1
- package/artifacts/contracts/test/AccessControlManagerMock.sol/AccessControlManagerMock.dbg.json +1 -1
- package/artifacts/contracts/test/LiquidatorHarness.sol/LiquidatorHarness.dbg.json +1 -1
- package/artifacts/contracts/test/LiquidatorHarness.sol/LiquidatorHarness.json +2 -2
- package/artifacts/contracts/test/MockProtocolShareReserve.sol/IComptroller.dbg.json +1 -1
- package/artifacts/contracts/test/MockProtocolShareReserve.sol/IIncomeDestination.dbg.json +1 -1
- package/artifacts/contracts/test/MockProtocolShareReserve.sol/IMockProtocolShareReserve.dbg.json +1 -1
- package/artifacts/contracts/test/MockProtocolShareReserve.sol/IPoolRegistry.dbg.json +1 -1
- package/artifacts/contracts/test/MockProtocolShareReserve.sol/IPrime.dbg.json +1 -1
- package/artifacts/contracts/test/MockProtocolShareReserve.sol/IVToken.dbg.json +1 -1
- package/artifacts/contracts/test/MockProtocolShareReserve.sol/MaxLoopsLimitHelper.dbg.json +1 -1
- package/artifacts/contracts/test/MockProtocolShareReserve.sol/MockProtocolShareReserve.dbg.json +1 -1
- package/artifacts/contracts/test/PrimeScenario.sol/PrimeScenario.dbg.json +1 -1
- package/contracts/Governance/TokenRedeemer.sol +38 -0
- package/contracts/InterfacesV8.sol +2 -0
- package/dist/typechain/contracts/Governance/TokenRedeemer.d.ts +158 -0
- package/dist/typechain/contracts/Governance/TokenRedeemer.js +3 -0
- package/dist/typechain/contracts/Governance/index.d.ts +1 -0
- package/dist/typechain/contracts/InterfacesV8.sol/IVBNB.d.ts +17 -1
- package/dist/typechain/contracts/InterfacesV8.sol/IVBep20.d.ts +17 -1
- package/dist/typechain/contracts/InterfacesV8.sol/IVToken.d.ts +17 -1
- package/dist/typechain/factories/contracts/DelegateBorrowers/MoveDebtDelegate__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/DelegateBorrowers/MoveDebtDelegate__factory.js +1 -1
- package/dist/typechain/factories/contracts/DelegateBorrowers/SwapDebtDelegate__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/DelegateBorrowers/SwapDebtDelegate__factory.js +1 -1
- package/dist/typechain/factories/contracts/Governance/TokenRedeemer__factory.d.ts +141 -0
- package/dist/typechain/factories/contracts/Governance/TokenRedeemer__factory.js +194 -0
- package/dist/typechain/factories/contracts/Governance/index.d.ts +1 -0
- package/dist/typechain/factories/contracts/Governance/index.js +3 -1
- package/dist/typechain/factories/contracts/InterfacesV8.sol/IVBNB__factory.d.ts +14 -0
- package/dist/typechain/factories/contracts/InterfacesV8.sol/IVBNB__factory.js +19 -0
- package/dist/typechain/factories/contracts/InterfacesV8.sol/IVBep20__factory.d.ts +14 -0
- package/dist/typechain/factories/contracts/InterfacesV8.sol/IVBep20__factory.js +19 -0
- package/dist/typechain/factories/contracts/InterfacesV8.sol/IVToken__factory.d.ts +14 -0
- package/dist/typechain/factories/contracts/InterfacesV8.sol/IVToken__factory.js +19 -0
- package/dist/typechain/factories/contracts/Liquidator/BUSDLiquidator__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/Liquidator/BUSDLiquidator__factory.js +1 -1
- package/dist/typechain/factories/contracts/Liquidator/Liquidator__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/Liquidator/Liquidator__factory.js +1 -1
- package/dist/typechain/factories/contracts/test/LiquidatorHarness__factory.d.ts +1 -1
- package/dist/typechain/factories/contracts/test/LiquidatorHarness__factory.js +1 -1
- package/dist/typechain/index.d.ts +2 -0
- package/dist/typechain/index.js +6 -4
- package/package.json +1 -1
|
@@ -696,8 +696,8 @@
|
|
|
696
696
|
"type": "function"
|
|
697
697
|
}
|
|
698
698
|
],
|
|
699
|
-
"bytecode": "0x6101006040523480156200001257600080fd5b5060405162002052380380620020528339810160408190526200003591620001fb565b8282826200004382620000f9565b6200004e83620000f9565b6200005981620000f9565b6001600160a01b03808316608052831660a081905260408051639254f5e560e01b81529051639254f5e5916004808201926020929091908290030181865afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d091906200024f565b6001600160a01b0390811660c052811660e052620000ed62000124565b50505050505062000276565b6001600160a01b03811662000121576040516342bcdf7f60e11b815260040160405180910390fd5b50565b600054610100900460ff1615620001915760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620001e3576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200012157600080fd5b6000806000606084860312156200021157600080fd5b83516200021e81620001e5565b60208501519093506200023181620001e5565b60408501519092506200024481620001e5565b809150509250925092565b6000602082840312156200026257600080fd5b81516200026f81620001e5565b9392505050565b60805160a05160c05160e051611d55620002fd60003960008181610253015281816111d401526112710152600081816103660152818161076201528181610e3101528181610ed701528181610f0c0152610f6201526000818161021f015281816112d201526113900152600081816101d30152818161064e01526106d50152611d556000f3fe60806040526004361061012a5760003560e01c80638765adcb116100ab578063b26461de1161006f578063b26461de14610388578063bbd98d70146103b8578063e30c3978146103ed578063f2531ea11461040b578063f2fde38b1461042b578063fe4b84df1461044b57600080fd5b80638765adcb146102d257806389a2bc25146102f25780638da5cb5b146103125780638e3525fc146103305780639254f5e51461035457600080fd5b806361d027b3116100f257806361d027b31461024157806364fd707814610275578063715018a61461028857806379ba50971461029d5780637debe3fe146102b257600080fd5b806311ec4b7a1461012f57806344b3716a1461015157806347a6a971146101a15780635ba3792d146101c15780635fe3b5671461020d575b600080fd5b34801561013b57600080fd5b5061014f61014a366004611a7a565b61046b565b005b34801561015d57600080fd5b5061018c61016c366004611a9e565b60ca60209081526000928352604080842090915290825290205460ff1681565b60405190151581526020015b60405180910390f35b3480156101ad57600080fd5b5061014f6101bc366004611a9e565b610509565b3480156101cd57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610198565b34801561021957600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561024d57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b61014f610283366004611ad7565b6105c4565b34801561029457600080fd5b5061014f6108b3565b3480156102a957600080fd5b5061014f6108c7565b3480156102be57600080fd5b5061014f6102cd366004611a9e565b610941565b3480156102de57600080fd5b5061014f6102ed366004611a7a565b610a00565b3480156102fe57600080fd5b5061014f61030d366004611b2a565b610a95565b34801561031e57600080fd5b506033546001600160a01b03166101f5565b34801561033c57600080fd5b5061034660c95481565b604051908152602001610198565b34801561036057600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561039457600080fd5b5061018c6103a3366004611a7a565b60cb6020526000908152604090205460ff1681565b3480156103c457600080fd5b506103d86103d3366004611b43565b610ae7565b60408051928352602083019190915201610198565b3480156103f957600080fd5b506065546001600160a01b03166101f5565b34801561041757600080fd5b506103d8610426366004611b2a565b610b3b565b34801561043757600080fd5b5061014f610446366004611a7a565b610b50565b34801561045757600080fd5b5061014f610466366004611b2a565b610bc1565b610473610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16156104bd5760405163404fe9fb60e11b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038116600081815260cb6020526040808220805460ff19166001179055517f614c47c82976e8f145409efb6366fe2cefa323f389ed9354649262e38dbb35899190a250565b610511610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff1661056a5760405163435aad4360e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19169055517f6b0d38eafddac0d37e0aff8f4bbd5f3a3cfe124b8eabea27558bffc931ac05b59190a35050565b6105cc610d2e565b6105d583610d87565b6105df8333610dae565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610626573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064a9190611b6f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603610738573483146106ae5760405163dd97100160e01b8152600481018490523460248201526044016104b4565b604051635572051560e11b81526001600160a01b03858116600483015283811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063aae40a2a9034906044016000604051808303818588803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b50505050506107b5565b34156107605760405163dd97100160e01b8152600060048201523460248201526044016104b4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316036107a9576107a4848484610e2d565b6107b5565b6107b585858585610fe3565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611b6f565b9050600061082e8383611b9e565b905060008061083d868461110f565b604080518a81526001600160a01b038d811660208301529181018490526060810183905292945090925080881691908a169033907fdd091524d794aecdb5235b2d816620c2598790835e0f3849808504c2dcb4f1a99060800160405180910390a450505050506108ad6001609755565b50505050565b6108bb610cd4565b6108c560006112ac565b565b60655433906001600160a01b031681146109355760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016104b4565b61093e816112ac565b50565b610949610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16156109a35760405163071df39160e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19166001179055517ffe40417b78788808c927141f806ef5082e7bba0f7790f2e85b811621a91094339190a35050565b610a08610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16610a4c57604051633bf9d98960e11b81526001600160a01b03821660048201526024016104b4565b6001600160a01b038116600081815260cb6020526040808220805460ff19169055517fe1f03de94d16c262d2f0e89a1c42ede8899d540ac992cf53495a5cf29c2896af9190a250565b610a9d610cd4565b610aa6816112c5565b60c95460408051918252602082018390527f0e9a1641744b21c49e4183ab9ce941d420e05a05a446c71875fb07814f362c1a910160405180910390a160c955565b600080610af4848461110f565b60408051838152602081018390529294509092507f965c73d6a816dcbe4cc33516168787cb029afb2156ec3372a16e8c6cfbbe6e22910160405180910390a15b9250929050565b600080610b4783611389565b91509150915091565b610b58610cd4565b606580546001600160a01b0383166001600160a01b03199091168117909155610b896033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600054610100900460ff1615808015610be15750600054600160ff909116105b80610bfb5750303b158015610bfb575060005460ff166001145b610c5e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104b4565b6000805460ff191660011790558015610c81576000805461ff0019166101001790555b610c8a8261143f565b8015610cd0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6033546001600160a01b031633146108c55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b4565b600260975403610d805760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104b4565b6002609755565b6001600160a01b03811661093e576040516342bcdf7f60e11b815260040160405180910390fd5b6001600160a01b038216600090815260cb602052604090205460ff168015610dfc57506001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16155b15610cd05760405163074c80eb60e51b81526001600160a01b038084166004830152821660248201526044016104b4565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cbeb2b286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb19190611bb5565b9050610ec86001600160a01b03821633308661147f565b610efd6001600160a01b0382167f000000000000000000000000000000000000000000000000000000000000000060006114ea565b610f316001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000856114ea565b6040516311b3d5e760e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906311b3d5e79060640160408051808303816000875af1158015610fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd09190611bd2565b509050610fdc81611604565b5050505050565b6000846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110479190611bb5565b9050600061105782333087611628565b905061106e6001600160a01b0383168760006114ea565b6110826001600160a01b03831687836114ea565b604051637af1e23160e11b81526001600160a01b038681166004830152602482018390528481166044830152611107919088169063f5e3c462906064016020604051808303816000875af11580156110de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111029190611b6f565b611604565b505050505050565b60008061111b83611389565b60405163a9059cbb60e01b81523360048201526024810182905291935091506001600160a01b0385169063a9059cbb906044016020604051808303816000875af115801561116d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111919190611bf6565b6111bd5760405163241165bb60e21b8152306004820152336024820152604481018290526064016104b4565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905285169063a9059cbb906044016020604051808303816000875af115801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190611bf6565b610b345760405163241165bb60e21b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166024820152604481018390526064016104b4565b6001609755565b606580546001600160a01b031916905561093e81611731565b6000670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113529190611b6f565b61135c9190611b9e565b905080821115610cd057604051635659cb3b60e01b815260048101829052602481018390526044016104b4565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190611b6f565b90508060c954856114219190611c18565b61142b9190611c37565b92506114378385611b9e565b915050915091565b600054610100900460ff166114665760405162461bcd60e51b81526004016104b490611c59565b61146e611783565b6114766117b2565b61093e816117e1565b6040516001600160a01b03808516602483015283166044820152606481018290526108ad9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611816565b8015806115645750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561153e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115629190611b6f565b155b6115cf5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016104b4565b6040516001600160a01b0383166024820152604481018290526115ff90849063095ea7b360e01b906064016114b3565b505050565b8061160c5750565b60405163125a96ab60e01b8152600481018290526024016104b4565b6040516370a0823160e01b81526001600160a01b03838116600483015260009182918716906370a0823190602401602060405180830381865afa158015611673573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116979190611b6f565b90506116ae6001600160a01b03871686868661147f565b6040516370a0823160e01b81526001600160a01b0385811660048301528291908816906370a0823190602401602060405180830381865afa1580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b9190611b6f565b6117259190611b9e565b9150505b949350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166117aa5760405162461bcd60e51b81526004016104b490611c59565b6108c56118eb565b600054610100900460ff166117d95760405162461bcd60e51b81526004016104b490611c59565b6108c561191b565b600054610100900460ff166118085760405162461bcd60e51b81526004016104b490611c59565b611811816112c5565b60c955565b600061186b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119429092919063ffffffff16565b905080516000148061188c57508080602001905181019061188c9190611bf6565b6115ff5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104b4565b600054610100900460ff166119125760405162461bcd60e51b81526004016104b490611c59565b6108c5336112ac565b600054610100900460ff166112a55760405162461bcd60e51b81526004016104b490611c59565b6060611729848460008585600080866001600160a01b031685876040516119699190611cd0565b60006040518083038185875af1925050503d80600081146119a6576040519150601f19603f3d011682016040523d82523d6000602084013e6119ab565b606091505b50915091506119bc878383876119c7565b979650505050505050565b60608315611a36578251600003611a2f576001600160a01b0385163b611a2f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104b4565b5081611729565b6117298383815115611a4b5781518083602001fd5b8060405162461bcd60e51b81526004016104b49190611cec565b6001600160a01b038116811461093e57600080fd5b600060208284031215611a8c57600080fd5b8135611a9781611a65565b9392505050565b60008060408385031215611ab157600080fd5b8235611abc81611a65565b91506020830135611acc81611a65565b809150509250929050565b60008060008060808587031215611aed57600080fd5b8435611af881611a65565b93506020850135611b0881611a65565b9250604085013591506060850135611b1f81611a65565b939692955090935050565b600060208284031215611b3c57600080fd5b5035919050565b60008060408385031215611b5657600080fd5b8235611b6181611a65565b946020939093013593505050565b600060208284031215611b8157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082821015611bb057611bb0611b88565b500390565b600060208284031215611bc757600080fd5b8151611a9781611a65565b60008060408385031215611be557600080fd5b505080516020909101519092909150565b600060208284031215611c0857600080fd5b81518015158114611a9757600080fd5b6000816000190483118215151615611c3257611c32611b88565b500290565b600082611c5457634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015611cbf578181015183820152602001611ca7565b838111156108ad5750506000910152565b60008251611ce2818460208701611ca4565b9190910192915050565b6020815260008251806020840152611d0b816040850160208701611ca4565b601f01601f1916919091016040019291505056fea2646970667358221220c2bf8fb23d37dda77ed8af95341d8eca024645e388818bbb0180f3c111874d1b64736f6c634300080d0033",
|
|
700
|
-
"deployedBytecode": "0x60806040526004361061012a5760003560e01c80638765adcb116100ab578063b26461de1161006f578063b26461de14610388578063bbd98d70146103b8578063e30c3978146103ed578063f2531ea11461040b578063f2fde38b1461042b578063fe4b84df1461044b57600080fd5b80638765adcb146102d257806389a2bc25146102f25780638da5cb5b146103125780638e3525fc146103305780639254f5e51461035457600080fd5b806361d027b3116100f257806361d027b31461024157806364fd707814610275578063715018a61461028857806379ba50971461029d5780637debe3fe146102b257600080fd5b806311ec4b7a1461012f57806344b3716a1461015157806347a6a971146101a15780635ba3792d146101c15780635fe3b5671461020d575b600080fd5b34801561013b57600080fd5b5061014f61014a366004611a7a565b61046b565b005b34801561015d57600080fd5b5061018c61016c366004611a9e565b60ca60209081526000928352604080842090915290825290205460ff1681565b60405190151581526020015b60405180910390f35b3480156101ad57600080fd5b5061014f6101bc366004611a9e565b610509565b3480156101cd57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610198565b34801561021957600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561024d57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b61014f610283366004611ad7565b6105c4565b34801561029457600080fd5b5061014f6108b3565b3480156102a957600080fd5b5061014f6108c7565b3480156102be57600080fd5b5061014f6102cd366004611a9e565b610941565b3480156102de57600080fd5b5061014f6102ed366004611a7a565b610a00565b3480156102fe57600080fd5b5061014f61030d366004611b2a565b610a95565b34801561031e57600080fd5b506033546001600160a01b03166101f5565b34801561033c57600080fd5b5061034660c95481565b604051908152602001610198565b34801561036057600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561039457600080fd5b5061018c6103a3366004611a7a565b60cb6020526000908152604090205460ff1681565b3480156103c457600080fd5b506103d86103d3366004611b43565b610ae7565b60408051928352602083019190915201610198565b3480156103f957600080fd5b506065546001600160a01b03166101f5565b34801561041757600080fd5b506103d8610426366004611b2a565b610b3b565b34801561043757600080fd5b5061014f610446366004611a7a565b610b50565b34801561045757600080fd5b5061014f610466366004611b2a565b610bc1565b610473610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16156104bd5760405163404fe9fb60e11b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038116600081815260cb6020526040808220805460ff19166001179055517f614c47c82976e8f145409efb6366fe2cefa323f389ed9354649262e38dbb35899190a250565b610511610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff1661056a5760405163435aad4360e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19169055517f6b0d38eafddac0d37e0aff8f4bbd5f3a3cfe124b8eabea27558bffc931ac05b59190a35050565b6105cc610d2e565b6105d583610d87565b6105df8333610dae565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610626573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064a9190611b6f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603610738573483146106ae5760405163dd97100160e01b8152600481018490523460248201526044016104b4565b604051635572051560e11b81526001600160a01b03858116600483015283811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063aae40a2a9034906044016000604051808303818588803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b50505050506107b5565b34156107605760405163dd97100160e01b8152600060048201523460248201526044016104b4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316036107a9576107a4848484610e2d565b6107b5565b6107b585858585610fe3565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611b6f565b9050600061082e8383611b9e565b905060008061083d868461110f565b604080518a81526001600160a01b038d811660208301529181018490526060810183905292945090925080881691908a169033907fdd091524d794aecdb5235b2d816620c2598790835e0f3849808504c2dcb4f1a99060800160405180910390a450505050506108ad6001609755565b50505050565b6108bb610cd4565b6108c560006112ac565b565b60655433906001600160a01b031681146109355760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016104b4565b61093e816112ac565b50565b610949610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16156109a35760405163071df39160e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19166001179055517ffe40417b78788808c927141f806ef5082e7bba0f7790f2e85b811621a91094339190a35050565b610a08610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16610a4c57604051633bf9d98960e11b81526001600160a01b03821660048201526024016104b4565b6001600160a01b038116600081815260cb6020526040808220805460ff19169055517fe1f03de94d16c262d2f0e89a1c42ede8899d540ac992cf53495a5cf29c2896af9190a250565b610a9d610cd4565b610aa6816112c5565b60c95460408051918252602082018390527f0e9a1641744b21c49e4183ab9ce941d420e05a05a446c71875fb07814f362c1a910160405180910390a160c955565b600080610af4848461110f565b60408051838152602081018390529294509092507f965c73d6a816dcbe4cc33516168787cb029afb2156ec3372a16e8c6cfbbe6e22910160405180910390a15b9250929050565b600080610b4783611389565b91509150915091565b610b58610cd4565b606580546001600160a01b0383166001600160a01b03199091168117909155610b896033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600054610100900460ff1615808015610be15750600054600160ff909116105b80610bfb5750303b158015610bfb575060005460ff166001145b610c5e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104b4565b6000805460ff191660011790558015610c81576000805461ff0019166101001790555b610c8a8261143f565b8015610cd0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6033546001600160a01b031633146108c55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b4565b600260975403610d805760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104b4565b6002609755565b6001600160a01b03811661093e576040516342bcdf7f60e11b815260040160405180910390fd5b6001600160a01b038216600090815260cb602052604090205460ff168015610dfc57506001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16155b15610cd05760405163074c80eb60e51b81526001600160a01b038084166004830152821660248201526044016104b4565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cbeb2b286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb19190611bb5565b9050610ec86001600160a01b03821633308661147f565b610efd6001600160a01b0382167f000000000000000000000000000000000000000000000000000000000000000060006114ea565b610f316001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000856114ea565b6040516311b3d5e760e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906311b3d5e79060640160408051808303816000875af1158015610fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd09190611bd2565b509050610fdc81611604565b5050505050565b6000846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110479190611bb5565b9050600061105782333087611628565b905061106e6001600160a01b0383168760006114ea565b6110826001600160a01b03831687836114ea565b604051637af1e23160e11b81526001600160a01b038681166004830152602482018390528481166044830152611107919088169063f5e3c462906064016020604051808303816000875af11580156110de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111029190611b6f565b611604565b505050505050565b60008061111b83611389565b60405163a9059cbb60e01b81523360048201526024810182905291935091506001600160a01b0385169063a9059cbb906044016020604051808303816000875af115801561116d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111919190611bf6565b6111bd5760405163241165bb60e21b8152306004820152336024820152604481018290526064016104b4565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905285169063a9059cbb906044016020604051808303816000875af115801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190611bf6565b610b345760405163241165bb60e21b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166024820152604481018390526064016104b4565b6001609755565b606580546001600160a01b031916905561093e81611731565b6000670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113529190611b6f565b61135c9190611b9e565b905080821115610cd057604051635659cb3b60e01b815260048101829052602481018390526044016104b4565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190611b6f565b90508060c954856114219190611c18565b61142b9190611c37565b92506114378385611b9e565b915050915091565b600054610100900460ff166114665760405162461bcd60e51b81526004016104b490611c59565b61146e611783565b6114766117b2565b61093e816117e1565b6040516001600160a01b03808516602483015283166044820152606481018290526108ad9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611816565b8015806115645750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561153e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115629190611b6f565b155b6115cf5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016104b4565b6040516001600160a01b0383166024820152604481018290526115ff90849063095ea7b360e01b906064016114b3565b505050565b8061160c5750565b60405163125a96ab60e01b8152600481018290526024016104b4565b6040516370a0823160e01b81526001600160a01b03838116600483015260009182918716906370a0823190602401602060405180830381865afa158015611673573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116979190611b6f565b90506116ae6001600160a01b03871686868661147f565b6040516370a0823160e01b81526001600160a01b0385811660048301528291908816906370a0823190602401602060405180830381865afa1580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b9190611b6f565b6117259190611b9e565b9150505b949350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166117aa5760405162461bcd60e51b81526004016104b490611c59565b6108c56118eb565b600054610100900460ff166117d95760405162461bcd60e51b81526004016104b490611c59565b6108c561191b565b600054610100900460ff166118085760405162461bcd60e51b81526004016104b490611c59565b611811816112c5565b60c955565b600061186b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119429092919063ffffffff16565b905080516000148061188c57508080602001905181019061188c9190611bf6565b6115ff5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104b4565b600054610100900460ff166119125760405162461bcd60e51b81526004016104b490611c59565b6108c5336112ac565b600054610100900460ff166112a55760405162461bcd60e51b81526004016104b490611c59565b6060611729848460008585600080866001600160a01b031685876040516119699190611cd0565b60006040518083038185875af1925050503d80600081146119a6576040519150601f19603f3d011682016040523d82523d6000602084013e6119ab565b606091505b50915091506119bc878383876119c7565b979650505050505050565b60608315611a36578251600003611a2f576001600160a01b0385163b611a2f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104b4565b5081611729565b6117298383815115611a4b5781518083602001fd5b8060405162461bcd60e51b81526004016104b49190611cec565b6001600160a01b038116811461093e57600080fd5b600060208284031215611a8c57600080fd5b8135611a9781611a65565b9392505050565b60008060408385031215611ab157600080fd5b8235611abc81611a65565b91506020830135611acc81611a65565b809150509250929050565b60008060008060808587031215611aed57600080fd5b8435611af881611a65565b93506020850135611b0881611a65565b9250604085013591506060850135611b1f81611a65565b939692955090935050565b600060208284031215611b3c57600080fd5b5035919050565b60008060408385031215611b5657600080fd5b8235611b6181611a65565b946020939093013593505050565b600060208284031215611b8157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082821015611bb057611bb0611b88565b500390565b600060208284031215611bc757600080fd5b8151611a9781611a65565b60008060408385031215611be557600080fd5b505080516020909101519092909150565b600060208284031215611c0857600080fd5b81518015158114611a9757600080fd5b6000816000190483118215151615611c3257611c32611b88565b500290565b600082611c5457634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015611cbf578181015183820152602001611ca7565b838111156108ad5750506000910152565b60008251611ce2818460208701611ca4565b9190910192915050565b6020815260008251806020840152611d0b816040850160208701611ca4565b601f01601f1916919091016040019291505056fea2646970667358221220c2bf8fb23d37dda77ed8af95341d8eca024645e388818bbb0180f3c111874d1b64736f6c634300080d0033",
|
|
699
|
+
"bytecode": "0x6101006040523480156200001257600080fd5b5060405162002052380380620020528339810160408190526200003591620001fb565b8282826200004382620000f9565b6200004e83620000f9565b6200005981620000f9565b6001600160a01b03808316608052831660a081905260408051639254f5e560e01b81529051639254f5e5916004808201926020929091908290030181865afa158015620000aa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d091906200024f565b6001600160a01b0390811660c052811660e052620000ed62000124565b50505050505062000276565b6001600160a01b03811662000121576040516342bcdf7f60e11b815260040160405180910390fd5b50565b600054610100900460ff1615620001915760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620001e3576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200012157600080fd5b6000806000606084860312156200021157600080fd5b83516200021e81620001e5565b60208501519093506200023181620001e5565b60408501519092506200024481620001e5565b809150509250925092565b6000602082840312156200026257600080fd5b81516200026f81620001e5565b9392505050565b60805160a05160c05160e051611d55620002fd60003960008181610253015281816111d401526112710152600081816103660152818161076201528181610e3101528181610ed701528181610f0c0152610f6201526000818161021f015281816112d201526113900152600081816101d30152818161064e01526106d50152611d556000f3fe60806040526004361061012a5760003560e01c80638765adcb116100ab578063b26461de1161006f578063b26461de14610388578063bbd98d70146103b8578063e30c3978146103ed578063f2531ea11461040b578063f2fde38b1461042b578063fe4b84df1461044b57600080fd5b80638765adcb146102d257806389a2bc25146102f25780638da5cb5b146103125780638e3525fc146103305780639254f5e51461035457600080fd5b806361d027b3116100f257806361d027b31461024157806364fd707814610275578063715018a61461028857806379ba50971461029d5780637debe3fe146102b257600080fd5b806311ec4b7a1461012f57806344b3716a1461015157806347a6a971146101a15780635ba3792d146101c15780635fe3b5671461020d575b600080fd5b34801561013b57600080fd5b5061014f61014a366004611a7a565b61046b565b005b34801561015d57600080fd5b5061018c61016c366004611a9e565b60ca60209081526000928352604080842090915290825290205460ff1681565b60405190151581526020015b60405180910390f35b3480156101ad57600080fd5b5061014f6101bc366004611a9e565b610509565b3480156101cd57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610198565b34801561021957600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561024d57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b61014f610283366004611ad7565b6105c4565b34801561029457600080fd5b5061014f6108b3565b3480156102a957600080fd5b5061014f6108c7565b3480156102be57600080fd5b5061014f6102cd366004611a9e565b610941565b3480156102de57600080fd5b5061014f6102ed366004611a7a565b610a00565b3480156102fe57600080fd5b5061014f61030d366004611b2a565b610a95565b34801561031e57600080fd5b506033546001600160a01b03166101f5565b34801561033c57600080fd5b5061034660c95481565b604051908152602001610198565b34801561036057600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561039457600080fd5b5061018c6103a3366004611a7a565b60cb6020526000908152604090205460ff1681565b3480156103c457600080fd5b506103d86103d3366004611b43565b610ae7565b60408051928352602083019190915201610198565b3480156103f957600080fd5b506065546001600160a01b03166101f5565b34801561041757600080fd5b506103d8610426366004611b2a565b610b3b565b34801561043757600080fd5b5061014f610446366004611a7a565b610b50565b34801561045757600080fd5b5061014f610466366004611b2a565b610bc1565b610473610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16156104bd5760405163404fe9fb60e11b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038116600081815260cb6020526040808220805460ff19166001179055517f614c47c82976e8f145409efb6366fe2cefa323f389ed9354649262e38dbb35899190a250565b610511610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff1661056a5760405163435aad4360e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19169055517f6b0d38eafddac0d37e0aff8f4bbd5f3a3cfe124b8eabea27558bffc931ac05b59190a35050565b6105cc610d2e565b6105d583610d87565b6105df8333610dae565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610626573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064a9190611b6f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603610738573483146106ae5760405163dd97100160e01b8152600481018490523460248201526044016104b4565b604051635572051560e11b81526001600160a01b03858116600483015283811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063aae40a2a9034906044016000604051808303818588803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b50505050506107b5565b34156107605760405163dd97100160e01b8152600060048201523460248201526044016104b4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316036107a9576107a4848484610e2d565b6107b5565b6107b585858585610fe3565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611b6f565b9050600061082e8383611b9e565b905060008061083d868461110f565b604080518a81526001600160a01b038d811660208301529181018490526060810183905292945090925080881691908a169033907fdd091524d794aecdb5235b2d816620c2598790835e0f3849808504c2dcb4f1a99060800160405180910390a450505050506108ad6001609755565b50505050565b6108bb610cd4565b6108c560006112ac565b565b60655433906001600160a01b031681146109355760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016104b4565b61093e816112ac565b50565b610949610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16156109a35760405163071df39160e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19166001179055517ffe40417b78788808c927141f806ef5082e7bba0f7790f2e85b811621a91094339190a35050565b610a08610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16610a4c57604051633bf9d98960e11b81526001600160a01b03821660048201526024016104b4565b6001600160a01b038116600081815260cb6020526040808220805460ff19169055517fe1f03de94d16c262d2f0e89a1c42ede8899d540ac992cf53495a5cf29c2896af9190a250565b610a9d610cd4565b610aa6816112c5565b60c95460408051918252602082018390527f0e9a1641744b21c49e4183ab9ce941d420e05a05a446c71875fb07814f362c1a910160405180910390a160c955565b600080610af4848461110f565b60408051838152602081018390529294509092507f965c73d6a816dcbe4cc33516168787cb029afb2156ec3372a16e8c6cfbbe6e22910160405180910390a15b9250929050565b600080610b4783611389565b91509150915091565b610b58610cd4565b606580546001600160a01b0383166001600160a01b03199091168117909155610b896033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600054610100900460ff1615808015610be15750600054600160ff909116105b80610bfb5750303b158015610bfb575060005460ff166001145b610c5e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104b4565b6000805460ff191660011790558015610c81576000805461ff0019166101001790555b610c8a8261143f565b8015610cd0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6033546001600160a01b031633146108c55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b4565b600260975403610d805760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104b4565b6002609755565b6001600160a01b03811661093e576040516342bcdf7f60e11b815260040160405180910390fd5b6001600160a01b038216600090815260cb602052604090205460ff168015610dfc57506001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16155b15610cd05760405163074c80eb60e51b81526001600160a01b038084166004830152821660248201526044016104b4565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cbeb2b286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb19190611bb5565b9050610ec86001600160a01b03821633308661147f565b610efd6001600160a01b0382167f000000000000000000000000000000000000000000000000000000000000000060006114ea565b610f316001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000856114ea565b6040516311b3d5e760e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906311b3d5e79060640160408051808303816000875af1158015610fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd09190611bd2565b509050610fdc81611604565b5050505050565b6000846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110479190611bb5565b9050600061105782333087611628565b905061106e6001600160a01b0383168760006114ea565b6110826001600160a01b03831687836114ea565b604051637af1e23160e11b81526001600160a01b038681166004830152602482018390528481166044830152611107919088169063f5e3c462906064016020604051808303816000875af11580156110de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111029190611b6f565b611604565b505050505050565b60008061111b83611389565b60405163a9059cbb60e01b81523360048201526024810182905291935091506001600160a01b0385169063a9059cbb906044016020604051808303816000875af115801561116d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111919190611bf6565b6111bd5760405163241165bb60e21b8152306004820152336024820152604481018290526064016104b4565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905285169063a9059cbb906044016020604051808303816000875af115801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190611bf6565b610b345760405163241165bb60e21b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166024820152604481018390526064016104b4565b6001609755565b606580546001600160a01b031916905561093e81611731565b6000670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113529190611b6f565b61135c9190611b9e565b905080821115610cd057604051635659cb3b60e01b815260048101829052602481018390526044016104b4565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190611b6f565b90508060c954856114219190611c18565b61142b9190611c37565b92506114378385611b9e565b915050915091565b600054610100900460ff166114665760405162461bcd60e51b81526004016104b490611c59565b61146e611783565b6114766117b2565b61093e816117e1565b6040516001600160a01b03808516602483015283166044820152606481018290526108ad9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611816565b8015806115645750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561153e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115629190611b6f565b155b6115cf5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016104b4565b6040516001600160a01b0383166024820152604481018290526115ff90849063095ea7b360e01b906064016114b3565b505050565b8061160c5750565b60405163125a96ab60e01b8152600481018290526024016104b4565b6040516370a0823160e01b81526001600160a01b03838116600483015260009182918716906370a0823190602401602060405180830381865afa158015611673573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116979190611b6f565b90506116ae6001600160a01b03871686868661147f565b6040516370a0823160e01b81526001600160a01b0385811660048301528291908816906370a0823190602401602060405180830381865afa1580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b9190611b6f565b6117259190611b9e565b9150505b949350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166117aa5760405162461bcd60e51b81526004016104b490611c59565b6108c56118eb565b600054610100900460ff166117d95760405162461bcd60e51b81526004016104b490611c59565b6108c561191b565b600054610100900460ff166118085760405162461bcd60e51b81526004016104b490611c59565b611811816112c5565b60c955565b600061186b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119429092919063ffffffff16565b905080516000148061188c57508080602001905181019061188c9190611bf6565b6115ff5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104b4565b600054610100900460ff166119125760405162461bcd60e51b81526004016104b490611c59565b6108c5336112ac565b600054610100900460ff166112a55760405162461bcd60e51b81526004016104b490611c59565b6060611729848460008585600080866001600160a01b031685876040516119699190611cd0565b60006040518083038185875af1925050503d80600081146119a6576040519150601f19603f3d011682016040523d82523d6000602084013e6119ab565b606091505b50915091506119bc878383876119c7565b979650505050505050565b60608315611a36578251600003611a2f576001600160a01b0385163b611a2f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104b4565b5081611729565b6117298383815115611a4b5781518083602001fd5b8060405162461bcd60e51b81526004016104b49190611cec565b6001600160a01b038116811461093e57600080fd5b600060208284031215611a8c57600080fd5b8135611a9781611a65565b9392505050565b60008060408385031215611ab157600080fd5b8235611abc81611a65565b91506020830135611acc81611a65565b809150509250929050565b60008060008060808587031215611aed57600080fd5b8435611af881611a65565b93506020850135611b0881611a65565b9250604085013591506060850135611b1f81611a65565b939692955090935050565b600060208284031215611b3c57600080fd5b5035919050565b60008060408385031215611b5657600080fd5b8235611b6181611a65565b946020939093013593505050565b600060208284031215611b8157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082821015611bb057611bb0611b88565b500390565b600060208284031215611bc757600080fd5b8151611a9781611a65565b60008060408385031215611be557600080fd5b505080516020909101519092909150565b600060208284031215611c0857600080fd5b81518015158114611a9757600080fd5b6000816000190483118215151615611c3257611c32611b88565b500290565b600082611c5457634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015611cbf578181015183820152602001611ca7565b838111156108ad5750506000910152565b60008251611ce2818460208701611ca4565b9190910192915050565b6020815260008251806020840152611d0b816040850160208701611ca4565b601f01601f1916919091016040019291505056fea2646970667358221220c7f08ec557d9be6ef17ed10f285ae1ea8d95dc16d7d97cba6007e481bac3133b64736f6c634300080d0033",
|
|
700
|
+
"deployedBytecode": "0x60806040526004361061012a5760003560e01c80638765adcb116100ab578063b26461de1161006f578063b26461de14610388578063bbd98d70146103b8578063e30c3978146103ed578063f2531ea11461040b578063f2fde38b1461042b578063fe4b84df1461044b57600080fd5b80638765adcb146102d257806389a2bc25146102f25780638da5cb5b146103125780638e3525fc146103305780639254f5e51461035457600080fd5b806361d027b3116100f257806361d027b31461024157806364fd707814610275578063715018a61461028857806379ba50971461029d5780637debe3fe146102b257600080fd5b806311ec4b7a1461012f57806344b3716a1461015157806347a6a971146101a15780635ba3792d146101c15780635fe3b5671461020d575b600080fd5b34801561013b57600080fd5b5061014f61014a366004611a7a565b61046b565b005b34801561015d57600080fd5b5061018c61016c366004611a9e565b60ca60209081526000928352604080842090915290825290205460ff1681565b60405190151581526020015b60405180910390f35b3480156101ad57600080fd5b5061014f6101bc366004611a9e565b610509565b3480156101cd57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610198565b34801561021957600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561024d57600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b61014f610283366004611ad7565b6105c4565b34801561029457600080fd5b5061014f6108b3565b3480156102a957600080fd5b5061014f6108c7565b3480156102be57600080fd5b5061014f6102cd366004611a9e565b610941565b3480156102de57600080fd5b5061014f6102ed366004611a7a565b610a00565b3480156102fe57600080fd5b5061014f61030d366004611b2a565b610a95565b34801561031e57600080fd5b506033546001600160a01b03166101f5565b34801561033c57600080fd5b5061034660c95481565b604051908152602001610198565b34801561036057600080fd5b506101f57f000000000000000000000000000000000000000000000000000000000000000081565b34801561039457600080fd5b5061018c6103a3366004611a7a565b60cb6020526000908152604090205460ff1681565b3480156103c457600080fd5b506103d86103d3366004611b43565b610ae7565b60408051928352602083019190915201610198565b3480156103f957600080fd5b506065546001600160a01b03166101f5565b34801561041757600080fd5b506103d8610426366004611b2a565b610b3b565b34801561043757600080fd5b5061014f610446366004611a7a565b610b50565b34801561045757600080fd5b5061014f610466366004611b2a565b610bc1565b610473610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16156104bd5760405163404fe9fb60e11b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b038116600081815260cb6020526040808220805460ff19166001179055517f614c47c82976e8f145409efb6366fe2cefa323f389ed9354649262e38dbb35899190a250565b610511610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff1661056a5760405163435aad4360e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19169055517f6b0d38eafddac0d37e0aff8f4bbd5f3a3cfe124b8eabea27558bffc931ac05b59190a35050565b6105cc610d2e565b6105d583610d87565b6105df8333610dae565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610626573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061064a9190611b6f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603610738573483146106ae5760405163dd97100160e01b8152600481018490523460248201526044016104b4565b604051635572051560e11b81526001600160a01b03858116600483015283811660248301527f0000000000000000000000000000000000000000000000000000000000000000169063aae40a2a9034906044016000604051808303818588803b15801561071a57600080fd5b505af115801561072e573d6000803e3d6000fd5b50505050506107b5565b34156107605760405163dd97100160e01b8152600060048201523460248201526044016104b4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316036107a9576107a4848484610e2d565b6107b5565b6107b585858585610fe3565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156107fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108209190611b6f565b9050600061082e8383611b9e565b905060008061083d868461110f565b604080518a81526001600160a01b038d811660208301529181018490526060810183905292945090925080881691908a169033907fdd091524d794aecdb5235b2d816620c2598790835e0f3849808504c2dcb4f1a99060800160405180910390a450505050506108ad6001609755565b50505050565b6108bb610cd4565b6108c560006112ac565b565b60655433906001600160a01b031681146109355760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084016104b4565b61093e816112ac565b50565b610949610cd4565b6001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16156109a35760405163071df39160e01b81526001600160a01b038084166004830152821660248201526044016104b4565b6001600160a01b03808316600081815260ca6020908152604080832094861680845294909152808220805460ff19166001179055517ffe40417b78788808c927141f806ef5082e7bba0f7790f2e85b811621a91094339190a35050565b610a08610cd4565b6001600160a01b038116600090815260cb602052604090205460ff16610a4c57604051633bf9d98960e11b81526001600160a01b03821660048201526024016104b4565b6001600160a01b038116600081815260cb6020526040808220805460ff19169055517fe1f03de94d16c262d2f0e89a1c42ede8899d540ac992cf53495a5cf29c2896af9190a250565b610a9d610cd4565b610aa6816112c5565b60c95460408051918252602082018390527f0e9a1641744b21c49e4183ab9ce941d420e05a05a446c71875fb07814f362c1a910160405180910390a160c955565b600080610af4848461110f565b60408051838152602081018390529294509092507f965c73d6a816dcbe4cc33516168787cb029afb2156ec3372a16e8c6cfbbe6e22910160405180910390a15b9250929050565b600080610b4783611389565b91509150915091565b610b58610cd4565b606580546001600160a01b0383166001600160a01b03199091168117909155610b896033546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b600054610100900460ff1615808015610be15750600054600160ff909116105b80610bfb5750303b158015610bfb575060005460ff166001145b610c5e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016104b4565b6000805460ff191660011790558015610c81576000805461ff0019166101001790555b610c8a8261143f565b8015610cd0576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050565b6033546001600160a01b031633146108c55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104b4565b600260975403610d805760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016104b4565b6002609755565b6001600160a01b03811661093e576040516342bcdf7f60e11b815260040160405180910390fd5b6001600160a01b038216600090815260cb602052604090205460ff168015610dfc57506001600160a01b03808316600090815260ca602090815260408083209385168352929052205460ff16155b15610cd05760405163074c80eb60e51b81526001600160a01b038084166004830152821660248201526044016104b4565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663cbeb2b286040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb19190611bb5565b9050610ec86001600160a01b03821633308661147f565b610efd6001600160a01b0382167f000000000000000000000000000000000000000000000000000000000000000060006114ea565b610f316001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000856114ea565b6040516311b3d5e760e01b81526001600160a01b0385811660048301526024820185905283811660448301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906311b3d5e79060640160408051808303816000875af1158015610fac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd09190611bd2565b509050610fdc81611604565b5050505050565b6000846001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381865afa158015611023573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110479190611bb5565b9050600061105782333087611628565b905061106e6001600160a01b0383168760006114ea565b6110826001600160a01b03831687836114ea565b604051637af1e23160e11b81526001600160a01b038681166004830152602482018390528481166044830152611107919088169063f5e3c462906064016020604051808303816000875af11580156110de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111029190611b6f565b611604565b505050505050565b60008061111b83611389565b60405163a9059cbb60e01b81523360048201526024810182905291935091506001600160a01b0385169063a9059cbb906044016020604051808303816000875af115801561116d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111919190611bf6565b6111bd5760405163241165bb60e21b8152306004820152336024820152604481018290526064016104b4565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905285169063a9059cbb906044016020604051808303816000875af115801561122c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112509190611bf6565b610b345760405163241165bb60e21b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166024820152604481018390526064016104b4565b6001609755565b606580546001600160a01b031916905561093e81611731565b6000670de0b6b3a76400007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561132e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113529190611b6f565b61135c9190611b9e565b905080821115610cd057604051635659cb3b60e01b815260048101829052602481018390526044016104b4565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ada90af6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114109190611b6f565b90508060c954856114219190611c18565b61142b9190611c37565b92506114378385611b9e565b915050915091565b600054610100900460ff166114665760405162461bcd60e51b81526004016104b490611c59565b61146e611783565b6114766117b2565b61093e816117e1565b6040516001600160a01b03808516602483015283166044820152606481018290526108ad9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611816565b8015806115645750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa15801561153e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115629190611b6f565b155b6115cf5760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016104b4565b6040516001600160a01b0383166024820152604481018290526115ff90849063095ea7b360e01b906064016114b3565b505050565b8061160c5750565b60405163125a96ab60e01b8152600481018290526024016104b4565b6040516370a0823160e01b81526001600160a01b03838116600483015260009182918716906370a0823190602401602060405180830381865afa158015611673573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116979190611b6f565b90506116ae6001600160a01b03871686868661147f565b6040516370a0823160e01b81526001600160a01b0385811660048301528291908816906370a0823190602401602060405180830381865afa1580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171b9190611b6f565b6117259190611b9e565b9150505b949350505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166117aa5760405162461bcd60e51b81526004016104b490611c59565b6108c56118eb565b600054610100900460ff166117d95760405162461bcd60e51b81526004016104b490611c59565b6108c561191b565b600054610100900460ff166118085760405162461bcd60e51b81526004016104b490611c59565b611811816112c5565b60c955565b600061186b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119429092919063ffffffff16565b905080516000148061188c57508080602001905181019061188c9190611bf6565b6115ff5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104b4565b600054610100900460ff166119125760405162461bcd60e51b81526004016104b490611c59565b6108c5336112ac565b600054610100900460ff166112a55760405162461bcd60e51b81526004016104b490611c59565b6060611729848460008585600080866001600160a01b031685876040516119699190611cd0565b60006040518083038185875af1925050503d80600081146119a6576040519150601f19603f3d011682016040523d82523d6000602084013e6119ab565b606091505b50915091506119bc878383876119c7565b979650505050505050565b60608315611a36578251600003611a2f576001600160a01b0385163b611a2f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104b4565b5081611729565b6117298383815115611a4b5781518083602001fd5b8060405162461bcd60e51b81526004016104b49190611cec565b6001600160a01b038116811461093e57600080fd5b600060208284031215611a8c57600080fd5b8135611a9781611a65565b9392505050565b60008060408385031215611ab157600080fd5b8235611abc81611a65565b91506020830135611acc81611a65565b809150509250929050565b60008060008060808587031215611aed57600080fd5b8435611af881611a65565b93506020850135611b0881611a65565b9250604085013591506060850135611b1f81611a65565b939692955090935050565b600060208284031215611b3c57600080fd5b5035919050565b60008060408385031215611b5657600080fd5b8235611b6181611a65565b946020939093013593505050565b600060208284031215611b8157600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082821015611bb057611bb0611b88565b500390565b600060208284031215611bc757600080fd5b8151611a9781611a65565b60008060408385031215611be557600080fd5b505080516020909101519092909150565b600060208284031215611c0857600080fd5b81518015158114611a9757600080fd5b6000816000190483118215151615611c3257611c32611b88565b500290565b600082611c5457634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60005b83811015611cbf578181015183820152602001611ca7565b838111156108ad5750506000910152565b60008251611ce2818460208701611ca4565b9190910192915050565b6020815260008251806020840152611d0b816040850160208701611ca4565b601f01601f1916919091016040019291505056fea2646970667358221220c7f08ec557d9be6ef17ed10f285ae1ea8d95dc16d7d97cba6007e481bac3133b64736f6c634300080d0033",
|
|
701
701
|
"linkReferences": {},
|
|
702
702
|
"deployedLinkReferences": {}
|
|
703
703
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// SPDX-License-Identifier: BSD-3-Clause
|
|
2
|
+
pragma solidity 0.8.13;
|
|
3
|
+
|
|
4
|
+
import { ReentrancyGuard } from "@openzeppelin/contracts/security/ReentrancyGuard.sol";
|
|
5
|
+
import { Ownable2Step } from "@openzeppelin/contracts/access/Ownable2Step.sol";
|
|
6
|
+
import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
|
|
7
|
+
import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
|
8
|
+
import { ensureNonzeroAddress } from "@venusprotocol/solidity-utilities/contracts/validators.sol";
|
|
9
|
+
|
|
10
|
+
import { IVBep20 } from "../InterfacesV8.sol";
|
|
11
|
+
|
|
12
|
+
contract TokenRedeemer is ReentrancyGuard, Ownable2Step {
|
|
13
|
+
using SafeERC20 for IERC20;
|
|
14
|
+
|
|
15
|
+
error RedeemFailed(uint256 errCode);
|
|
16
|
+
|
|
17
|
+
constructor(address owner_) {
|
|
18
|
+
ensureNonzeroAddress(owner_);
|
|
19
|
+
_transferOwnership(owner_);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function redeemAndTransfer(IVBep20 vToken, address destination) external nonReentrant onlyOwner {
|
|
23
|
+
IERC20 underlying = IERC20(vToken.underlying());
|
|
24
|
+
uint256 err = vToken.redeem(vToken.balanceOf(address(this)));
|
|
25
|
+
if (err != 0) {
|
|
26
|
+
revert RedeemFailed(err);
|
|
27
|
+
}
|
|
28
|
+
_transferAll(underlying, destination);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function sweepTokens(IERC20 token, address destination) external onlyOwner {
|
|
32
|
+
_transferAll(token, destination);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function _transferAll(IERC20 token, address destination) internal {
|
|
36
|
+
token.safeTransfer(destination, token.balanceOf(address(this)));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -5,6 +5,8 @@ import { IERC20Upgradeable } from "@openzeppelin/contracts-upgradeable/token/ERC
|
|
|
5
5
|
import { ResilientOracleInterface } from "@venusprotocol/oracle/contracts/interfaces/OracleInterface.sol";
|
|
6
6
|
|
|
7
7
|
interface IVToken is IERC20Upgradeable {
|
|
8
|
+
function redeem(uint256 redeemTokens) external returns (uint256);
|
|
9
|
+
|
|
8
10
|
function borrowBalanceCurrent(address borrower) external returns (uint256);
|
|
9
11
|
|
|
10
12
|
function comptroller() external view returns (IComptroller);
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../../common";
|
|
2
|
+
import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
|
|
3
|
+
import type { Listener, Provider } from "@ethersproject/providers";
|
|
4
|
+
import type { BaseContract, BigNumber, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
|
|
5
|
+
export interface TokenRedeemerInterface extends utils.Interface {
|
|
6
|
+
functions: {
|
|
7
|
+
"acceptOwnership()": FunctionFragment;
|
|
8
|
+
"owner()": FunctionFragment;
|
|
9
|
+
"pendingOwner()": FunctionFragment;
|
|
10
|
+
"redeemAndTransfer(address,address)": FunctionFragment;
|
|
11
|
+
"renounceOwnership()": FunctionFragment;
|
|
12
|
+
"sweepTokens(address,address)": FunctionFragment;
|
|
13
|
+
"transferOwnership(address)": FunctionFragment;
|
|
14
|
+
};
|
|
15
|
+
getFunction(nameOrSignatureOrTopic: "acceptOwnership" | "owner" | "pendingOwner" | "redeemAndTransfer" | "renounceOwnership" | "sweepTokens" | "transferOwnership"): FunctionFragment;
|
|
16
|
+
encodeFunctionData(functionFragment: "acceptOwnership", values?: undefined): string;
|
|
17
|
+
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
|
|
18
|
+
encodeFunctionData(functionFragment: "pendingOwner", values?: undefined): string;
|
|
19
|
+
encodeFunctionData(functionFragment: "redeemAndTransfer", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
|
|
20
|
+
encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
|
|
21
|
+
encodeFunctionData(functionFragment: "sweepTokens", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
|
|
22
|
+
encodeFunctionData(functionFragment: "transferOwnership", values: [PromiseOrValue<string>]): string;
|
|
23
|
+
decodeFunctionResult(functionFragment: "acceptOwnership", data: BytesLike): Result;
|
|
24
|
+
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
|
|
25
|
+
decodeFunctionResult(functionFragment: "pendingOwner", data: BytesLike): Result;
|
|
26
|
+
decodeFunctionResult(functionFragment: "redeemAndTransfer", data: BytesLike): Result;
|
|
27
|
+
decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
|
|
28
|
+
decodeFunctionResult(functionFragment: "sweepTokens", data: BytesLike): Result;
|
|
29
|
+
decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
|
|
30
|
+
events: {
|
|
31
|
+
"OwnershipTransferStarted(address,address)": EventFragment;
|
|
32
|
+
"OwnershipTransferred(address,address)": EventFragment;
|
|
33
|
+
};
|
|
34
|
+
getEvent(nameOrSignatureOrTopic: "OwnershipTransferStarted"): EventFragment;
|
|
35
|
+
getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
|
|
36
|
+
}
|
|
37
|
+
export interface OwnershipTransferStartedEventObject {
|
|
38
|
+
previousOwner: string;
|
|
39
|
+
newOwner: string;
|
|
40
|
+
}
|
|
41
|
+
export type OwnershipTransferStartedEvent = TypedEvent<[
|
|
42
|
+
string,
|
|
43
|
+
string
|
|
44
|
+
], OwnershipTransferStartedEventObject>;
|
|
45
|
+
export type OwnershipTransferStartedEventFilter = TypedEventFilter<OwnershipTransferStartedEvent>;
|
|
46
|
+
export interface OwnershipTransferredEventObject {
|
|
47
|
+
previousOwner: string;
|
|
48
|
+
newOwner: string;
|
|
49
|
+
}
|
|
50
|
+
export type OwnershipTransferredEvent = TypedEvent<[
|
|
51
|
+
string,
|
|
52
|
+
string
|
|
53
|
+
], OwnershipTransferredEventObject>;
|
|
54
|
+
export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
|
|
55
|
+
export interface TokenRedeemer extends BaseContract {
|
|
56
|
+
connect(signerOrProvider: Signer | Provider | string): this;
|
|
57
|
+
attach(addressOrName: string): this;
|
|
58
|
+
deployed(): Promise<this>;
|
|
59
|
+
interface: TokenRedeemerInterface;
|
|
60
|
+
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
|
|
61
|
+
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
|
|
62
|
+
listeners(eventName?: string): Array<Listener>;
|
|
63
|
+
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
|
|
64
|
+
removeAllListeners(eventName?: string): this;
|
|
65
|
+
off: OnEvent<this>;
|
|
66
|
+
on: OnEvent<this>;
|
|
67
|
+
once: OnEvent<this>;
|
|
68
|
+
removeListener: OnEvent<this>;
|
|
69
|
+
functions: {
|
|
70
|
+
acceptOwnership(overrides?: Overrides & {
|
|
71
|
+
from?: PromiseOrValue<string>;
|
|
72
|
+
}): Promise<ContractTransaction>;
|
|
73
|
+
owner(overrides?: CallOverrides): Promise<[string]>;
|
|
74
|
+
pendingOwner(overrides?: CallOverrides): Promise<[string]>;
|
|
75
|
+
redeemAndTransfer(vToken: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: Overrides & {
|
|
76
|
+
from?: PromiseOrValue<string>;
|
|
77
|
+
}): Promise<ContractTransaction>;
|
|
78
|
+
renounceOwnership(overrides?: Overrides & {
|
|
79
|
+
from?: PromiseOrValue<string>;
|
|
80
|
+
}): Promise<ContractTransaction>;
|
|
81
|
+
sweepTokens(token: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: Overrides & {
|
|
82
|
+
from?: PromiseOrValue<string>;
|
|
83
|
+
}): Promise<ContractTransaction>;
|
|
84
|
+
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
|
|
85
|
+
from?: PromiseOrValue<string>;
|
|
86
|
+
}): Promise<ContractTransaction>;
|
|
87
|
+
};
|
|
88
|
+
acceptOwnership(overrides?: Overrides & {
|
|
89
|
+
from?: PromiseOrValue<string>;
|
|
90
|
+
}): Promise<ContractTransaction>;
|
|
91
|
+
owner(overrides?: CallOverrides): Promise<string>;
|
|
92
|
+
pendingOwner(overrides?: CallOverrides): Promise<string>;
|
|
93
|
+
redeemAndTransfer(vToken: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: Overrides & {
|
|
94
|
+
from?: PromiseOrValue<string>;
|
|
95
|
+
}): Promise<ContractTransaction>;
|
|
96
|
+
renounceOwnership(overrides?: Overrides & {
|
|
97
|
+
from?: PromiseOrValue<string>;
|
|
98
|
+
}): Promise<ContractTransaction>;
|
|
99
|
+
sweepTokens(token: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: Overrides & {
|
|
100
|
+
from?: PromiseOrValue<string>;
|
|
101
|
+
}): Promise<ContractTransaction>;
|
|
102
|
+
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
|
|
103
|
+
from?: PromiseOrValue<string>;
|
|
104
|
+
}): Promise<ContractTransaction>;
|
|
105
|
+
callStatic: {
|
|
106
|
+
acceptOwnership(overrides?: CallOverrides): Promise<void>;
|
|
107
|
+
owner(overrides?: CallOverrides): Promise<string>;
|
|
108
|
+
pendingOwner(overrides?: CallOverrides): Promise<string>;
|
|
109
|
+
redeemAndTransfer(vToken: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
|
|
110
|
+
renounceOwnership(overrides?: CallOverrides): Promise<void>;
|
|
111
|
+
sweepTokens(token: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
|
|
112
|
+
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
|
|
113
|
+
};
|
|
114
|
+
filters: {
|
|
115
|
+
"OwnershipTransferStarted(address,address)"(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferStartedEventFilter;
|
|
116
|
+
OwnershipTransferStarted(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferStartedEventFilter;
|
|
117
|
+
"OwnershipTransferred(address,address)"(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
|
|
118
|
+
OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
|
|
119
|
+
};
|
|
120
|
+
estimateGas: {
|
|
121
|
+
acceptOwnership(overrides?: Overrides & {
|
|
122
|
+
from?: PromiseOrValue<string>;
|
|
123
|
+
}): Promise<BigNumber>;
|
|
124
|
+
owner(overrides?: CallOverrides): Promise<BigNumber>;
|
|
125
|
+
pendingOwner(overrides?: CallOverrides): Promise<BigNumber>;
|
|
126
|
+
redeemAndTransfer(vToken: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: Overrides & {
|
|
127
|
+
from?: PromiseOrValue<string>;
|
|
128
|
+
}): Promise<BigNumber>;
|
|
129
|
+
renounceOwnership(overrides?: Overrides & {
|
|
130
|
+
from?: PromiseOrValue<string>;
|
|
131
|
+
}): Promise<BigNumber>;
|
|
132
|
+
sweepTokens(token: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: Overrides & {
|
|
133
|
+
from?: PromiseOrValue<string>;
|
|
134
|
+
}): Promise<BigNumber>;
|
|
135
|
+
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
|
|
136
|
+
from?: PromiseOrValue<string>;
|
|
137
|
+
}): Promise<BigNumber>;
|
|
138
|
+
};
|
|
139
|
+
populateTransaction: {
|
|
140
|
+
acceptOwnership(overrides?: Overrides & {
|
|
141
|
+
from?: PromiseOrValue<string>;
|
|
142
|
+
}): Promise<PopulatedTransaction>;
|
|
143
|
+
owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
144
|
+
pendingOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
145
|
+
redeemAndTransfer(vToken: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: Overrides & {
|
|
146
|
+
from?: PromiseOrValue<string>;
|
|
147
|
+
}): Promise<PopulatedTransaction>;
|
|
148
|
+
renounceOwnership(overrides?: Overrides & {
|
|
149
|
+
from?: PromiseOrValue<string>;
|
|
150
|
+
}): Promise<PopulatedTransaction>;
|
|
151
|
+
sweepTokens(token: PromiseOrValue<string>, destination: PromiseOrValue<string>, overrides?: Overrides & {
|
|
152
|
+
from?: PromiseOrValue<string>;
|
|
153
|
+
}): Promise<PopulatedTransaction>;
|
|
154
|
+
transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
|
|
155
|
+
from?: PromiseOrValue<string>;
|
|
156
|
+
}): Promise<PopulatedTransaction>;
|
|
157
|
+
};
|
|
158
|
+
}
|
|
@@ -10,17 +10,19 @@ export interface IVBNBInterface extends utils.Interface {
|
|
|
10
10
|
"borrowBalanceCurrent(address)": FunctionFragment;
|
|
11
11
|
"comptroller()": FunctionFragment;
|
|
12
12
|
"liquidateBorrow(address,address)": FunctionFragment;
|
|
13
|
+
"redeem(uint256)": FunctionFragment;
|
|
13
14
|
"totalSupply()": FunctionFragment;
|
|
14
15
|
"transfer(address,uint256)": FunctionFragment;
|
|
15
16
|
"transferFrom(address,address,uint256)": FunctionFragment;
|
|
16
17
|
};
|
|
17
|
-
getFunction(nameOrSignatureOrTopic: "allowance" | "approve" | "balanceOf" | "borrowBalanceCurrent" | "comptroller" | "liquidateBorrow" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment;
|
|
18
|
+
getFunction(nameOrSignatureOrTopic: "allowance" | "approve" | "balanceOf" | "borrowBalanceCurrent" | "comptroller" | "liquidateBorrow" | "redeem" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment;
|
|
18
19
|
encodeFunctionData(functionFragment: "allowance", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
|
|
19
20
|
encodeFunctionData(functionFragment: "approve", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
|
|
20
21
|
encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue<string>]): string;
|
|
21
22
|
encodeFunctionData(functionFragment: "borrowBalanceCurrent", values: [PromiseOrValue<string>]): string;
|
|
22
23
|
encodeFunctionData(functionFragment: "comptroller", values?: undefined): string;
|
|
23
24
|
encodeFunctionData(functionFragment: "liquidateBorrow", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
|
|
25
|
+
encodeFunctionData(functionFragment: "redeem", values: [PromiseOrValue<BigNumberish>]): string;
|
|
24
26
|
encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string;
|
|
25
27
|
encodeFunctionData(functionFragment: "transfer", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
|
|
26
28
|
encodeFunctionData(functionFragment: "transferFrom", values: [
|
|
@@ -34,6 +36,7 @@ export interface IVBNBInterface extends utils.Interface {
|
|
|
34
36
|
decodeFunctionResult(functionFragment: "borrowBalanceCurrent", data: BytesLike): Result;
|
|
35
37
|
decodeFunctionResult(functionFragment: "comptroller", data: BytesLike): Result;
|
|
36
38
|
decodeFunctionResult(functionFragment: "liquidateBorrow", data: BytesLike): Result;
|
|
39
|
+
decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
|
|
37
40
|
decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result;
|
|
38
41
|
decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
|
|
39
42
|
decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result;
|
|
@@ -93,6 +96,9 @@ export interface IVBNB extends BaseContract {
|
|
|
93
96
|
liquidateBorrow(borrower: PromiseOrValue<string>, vTokenCollateral: PromiseOrValue<string>, overrides?: PayableOverrides & {
|
|
94
97
|
from?: PromiseOrValue<string>;
|
|
95
98
|
}): Promise<ContractTransaction>;
|
|
99
|
+
redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
100
|
+
from?: PromiseOrValue<string>;
|
|
101
|
+
}): Promise<ContractTransaction>;
|
|
96
102
|
totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
|
|
97
103
|
transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
98
104
|
from?: PromiseOrValue<string>;
|
|
@@ -113,6 +119,9 @@ export interface IVBNB extends BaseContract {
|
|
|
113
119
|
liquidateBorrow(borrower: PromiseOrValue<string>, vTokenCollateral: PromiseOrValue<string>, overrides?: PayableOverrides & {
|
|
114
120
|
from?: PromiseOrValue<string>;
|
|
115
121
|
}): Promise<ContractTransaction>;
|
|
122
|
+
redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
123
|
+
from?: PromiseOrValue<string>;
|
|
124
|
+
}): Promise<ContractTransaction>;
|
|
116
125
|
totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
|
|
117
126
|
transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
118
127
|
from?: PromiseOrValue<string>;
|
|
@@ -127,6 +136,7 @@ export interface IVBNB extends BaseContract {
|
|
|
127
136
|
borrowBalanceCurrent(borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
128
137
|
comptroller(overrides?: CallOverrides): Promise<string>;
|
|
129
138
|
liquidateBorrow(borrower: PromiseOrValue<string>, vTokenCollateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
|
|
139
|
+
redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
130
140
|
totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
|
|
131
141
|
transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
|
|
132
142
|
transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
|
|
@@ -150,6 +160,9 @@ export interface IVBNB extends BaseContract {
|
|
|
150
160
|
liquidateBorrow(borrower: PromiseOrValue<string>, vTokenCollateral: PromiseOrValue<string>, overrides?: PayableOverrides & {
|
|
151
161
|
from?: PromiseOrValue<string>;
|
|
152
162
|
}): Promise<BigNumber>;
|
|
163
|
+
redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
164
|
+
from?: PromiseOrValue<string>;
|
|
165
|
+
}): Promise<BigNumber>;
|
|
153
166
|
totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
|
|
154
167
|
transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
155
168
|
from?: PromiseOrValue<string>;
|
|
@@ -171,6 +184,9 @@ export interface IVBNB extends BaseContract {
|
|
|
171
184
|
liquidateBorrow(borrower: PromiseOrValue<string>, vTokenCollateral: PromiseOrValue<string>, overrides?: PayableOverrides & {
|
|
172
185
|
from?: PromiseOrValue<string>;
|
|
173
186
|
}): Promise<PopulatedTransaction>;
|
|
187
|
+
redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
188
|
+
from?: PromiseOrValue<string>;
|
|
189
|
+
}): Promise<PopulatedTransaction>;
|
|
174
190
|
totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
|
|
175
191
|
transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
176
192
|
from?: PromiseOrValue<string>;
|
|
@@ -11,13 +11,14 @@ export interface IVBep20Interface extends utils.Interface {
|
|
|
11
11
|
"borrowBehalf(address,uint256)": FunctionFragment;
|
|
12
12
|
"comptroller()": FunctionFragment;
|
|
13
13
|
"liquidateBorrow(address,uint256,address)": FunctionFragment;
|
|
14
|
+
"redeem(uint256)": FunctionFragment;
|
|
14
15
|
"repayBorrowBehalf(address,uint256)": FunctionFragment;
|
|
15
16
|
"totalSupply()": FunctionFragment;
|
|
16
17
|
"transfer(address,uint256)": FunctionFragment;
|
|
17
18
|
"transferFrom(address,address,uint256)": FunctionFragment;
|
|
18
19
|
"underlying()": FunctionFragment;
|
|
19
20
|
};
|
|
20
|
-
getFunction(nameOrSignatureOrTopic: "allowance" | "approve" | "balanceOf" | "borrowBalanceCurrent" | "borrowBehalf" | "comptroller" | "liquidateBorrow" | "repayBorrowBehalf" | "totalSupply" | "transfer" | "transferFrom" | "underlying"): FunctionFragment;
|
|
21
|
+
getFunction(nameOrSignatureOrTopic: "allowance" | "approve" | "balanceOf" | "borrowBalanceCurrent" | "borrowBehalf" | "comptroller" | "liquidateBorrow" | "redeem" | "repayBorrowBehalf" | "totalSupply" | "transfer" | "transferFrom" | "underlying"): FunctionFragment;
|
|
21
22
|
encodeFunctionData(functionFragment: "allowance", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
|
|
22
23
|
encodeFunctionData(functionFragment: "approve", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
|
|
23
24
|
encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue<string>]): string;
|
|
@@ -29,6 +30,7 @@ export interface IVBep20Interface extends utils.Interface {
|
|
|
29
30
|
PromiseOrValue<BigNumberish>,
|
|
30
31
|
PromiseOrValue<string>
|
|
31
32
|
]): string;
|
|
33
|
+
encodeFunctionData(functionFragment: "redeem", values: [PromiseOrValue<BigNumberish>]): string;
|
|
32
34
|
encodeFunctionData(functionFragment: "repayBorrowBehalf", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
|
|
33
35
|
encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string;
|
|
34
36
|
encodeFunctionData(functionFragment: "transfer", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
|
|
@@ -45,6 +47,7 @@ export interface IVBep20Interface extends utils.Interface {
|
|
|
45
47
|
decodeFunctionResult(functionFragment: "borrowBehalf", data: BytesLike): Result;
|
|
46
48
|
decodeFunctionResult(functionFragment: "comptroller", data: BytesLike): Result;
|
|
47
49
|
decodeFunctionResult(functionFragment: "liquidateBorrow", data: BytesLike): Result;
|
|
50
|
+
decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result;
|
|
48
51
|
decodeFunctionResult(functionFragment: "repayBorrowBehalf", data: BytesLike): Result;
|
|
49
52
|
decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result;
|
|
50
53
|
decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
|
|
@@ -109,6 +112,9 @@ export interface IVBep20 extends BaseContract {
|
|
|
109
112
|
liquidateBorrow(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenCollateral: PromiseOrValue<string>, overrides?: Overrides & {
|
|
110
113
|
from?: PromiseOrValue<string>;
|
|
111
114
|
}): Promise<ContractTransaction>;
|
|
115
|
+
redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
116
|
+
from?: PromiseOrValue<string>;
|
|
117
|
+
}): Promise<ContractTransaction>;
|
|
112
118
|
repayBorrowBehalf(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
113
119
|
from?: PromiseOrValue<string>;
|
|
114
120
|
}): Promise<ContractTransaction>;
|
|
@@ -136,6 +142,9 @@ export interface IVBep20 extends BaseContract {
|
|
|
136
142
|
liquidateBorrow(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenCollateral: PromiseOrValue<string>, overrides?: Overrides & {
|
|
137
143
|
from?: PromiseOrValue<string>;
|
|
138
144
|
}): Promise<ContractTransaction>;
|
|
145
|
+
redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
146
|
+
from?: PromiseOrValue<string>;
|
|
147
|
+
}): Promise<ContractTransaction>;
|
|
139
148
|
repayBorrowBehalf(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
140
149
|
from?: PromiseOrValue<string>;
|
|
141
150
|
}): Promise<ContractTransaction>;
|
|
@@ -155,6 +164,7 @@ export interface IVBep20 extends BaseContract {
|
|
|
155
164
|
borrowBehalf(borrower: PromiseOrValue<string>, borrowAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
156
165
|
comptroller(overrides?: CallOverrides): Promise<string>;
|
|
157
166
|
liquidateBorrow(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenCollateral: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
167
|
+
redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
158
168
|
repayBorrowBehalf(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
|
|
159
169
|
totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
|
|
160
170
|
transfer(to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
|
|
@@ -183,6 +193,9 @@ export interface IVBep20 extends BaseContract {
|
|
|
183
193
|
liquidateBorrow(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenCollateral: PromiseOrValue<string>, overrides?: Overrides & {
|
|
184
194
|
from?: PromiseOrValue<string>;
|
|
185
195
|
}): Promise<BigNumber>;
|
|
196
|
+
redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
197
|
+
from?: PromiseOrValue<string>;
|
|
198
|
+
}): Promise<BigNumber>;
|
|
186
199
|
repayBorrowBehalf(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
187
200
|
from?: PromiseOrValue<string>;
|
|
188
201
|
}): Promise<BigNumber>;
|
|
@@ -211,6 +224,9 @@ export interface IVBep20 extends BaseContract {
|
|
|
211
224
|
liquidateBorrow(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, vTokenCollateral: PromiseOrValue<string>, overrides?: Overrides & {
|
|
212
225
|
from?: PromiseOrValue<string>;
|
|
213
226
|
}): Promise<PopulatedTransaction>;
|
|
227
|
+
redeem(redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
228
|
+
from?: PromiseOrValue<string>;
|
|
229
|
+
}): Promise<PopulatedTransaction>;
|
|
214
230
|
repayBorrowBehalf(borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
|
|
215
231
|
from?: PromiseOrValue<string>;
|
|
216
232
|
}): Promise<PopulatedTransaction>;
|