@keep-network/tbtc-v2 1.2.0-goerli.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/.chainId +1 -1
- package/artifacts/Bank.json +23 -23
- package/artifacts/Bridge.json +27 -63
- package/artifacts/BridgeGovernance.json +25 -25
- package/artifacts/BridgeGovernanceParameters.json +10 -10
- package/artifacts/Deposit.json +14 -14
- package/artifacts/DepositSweep.json +13 -13
- package/artifacts/DonationVault.json +14 -14
- package/artifacts/Fraud.json +13 -13
- package/artifacts/LightRelay.json +65 -55
- package/artifacts/MaintainerProxy.json +47 -47
- package/artifacts/MovingFunds.json +13 -13
- package/artifacts/Redemption.json +13 -13
- package/artifacts/TBTC.json +36 -37
- package/artifacts/TBTCVault.json +47 -47
- package/artifacts/VendingMachine.json +34 -35
- package/artifacts/VendingMachineV2.json +360 -0
- package/artifacts/VendingMachineV3.json +405 -0
- package/artifacts/Wallets.json +13 -13
- package/artifacts/solcInputs/7cc3eda3cb3ff2522d18b5e7b31ea228.json +102 -0
- package/artifacts/solcInputs/802132f7da69a8a4226cb9424480847b.json +218 -0
- package/artifacts/solcInputs/{f862bd134ddc06352fa5be0644481600.json → 887fad6b16575ba42183543c324eeb0e.json} +6 -6
- package/artifacts/solcInputs/b0025f1f7efe4824592ac0c9793776c3.json +392 -0
- package/artifacts/solcInputs/{deff85fc9ae9b5be07226c67809262df.json → fccb130292c8c7cc958ab4fa31a3e180.json} +3 -3
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
- package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
- package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +2 -2
- package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
- package/build/contracts/bridge/Bridge.sol/Bridge.json +2 -2
- package/build/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.dbg.json +1 -1
- package/build/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.json +2 -2
- package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +1 -1
- package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
- package/build/contracts/bridge/BridgeState.sol/BridgeState.json +2 -2
- package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
- package/build/contracts/bridge/Deposit.sol/Deposit.json +2 -2
- package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
- package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +2 -2
- package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
- package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
- package/build/contracts/bridge/Fraud.sol/Fraud.json +2 -2
- package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
- package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +2 -2
- package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
- package/build/contracts/bridge/Redemption.sol/OutboundTx.json +2 -2
- package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
- package/build/contracts/bridge/Redemption.sol/Redemption.json +2 -2
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
- package/build/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.dbg.json +1 -1
- package/build/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.dbg.json +1 -1
- package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
- package/build/contracts/bridge/Wallets.sol/Wallets.json +2 -2
- package/build/contracts/l2/L2TBTC.sol/L2TBTC.dbg.json +1 -1
- package/build/contracts/l2/L2WormholeGateway.sol/IWormholeTokenBridge.dbg.json +1 -1
- package/build/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.dbg.json +1 -1
- package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +1 -1
- package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +2 -2
- package/build/contracts/relay/LightRelay.sol/ILightRelay.dbg.json +1 -1
- package/build/contracts/relay/LightRelay.sol/LightRelay.dbg.json +1 -1
- package/build/contracts/relay/LightRelay.sol/RelayUtils.dbg.json +1 -1
- package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
- package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
- package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
- package/build/contracts/vault/TBTCOptimisticMinting.sol/TBTCOptimisticMinting.dbg.json +1 -1
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +2 -2
- package/export/artifacts/@keep-network/ecdsa/contracts/EcdsaDkgValidator.sol/EcdsaDkgValidator.json +29 -29
- package/export/artifacts/@keep-network/ecdsa/contracts/WalletRegistry.sol/WalletRegistry.json +245 -245
- package/export/artifacts/@keep-network/ecdsa/contracts/libraries/EcdsaDkg.sol/EcdsaDkg.json +7 -7
- package/export/artifacts/@keep-network/ecdsa/contracts/libraries/EcdsaInactivity.sol/EcdsaInactivity.json +28 -28
- package/export/artifacts/@keep-network/random-beacon/contracts/ReimbursementPool.sol/ReimbursementPool.json +53 -53
- package/export/artifacts/@keep-network/sortition-pools/contracts/Chaosnet.sol/Chaosnet.json +21 -21
- package/export/artifacts/@keep-network/sortition-pools/contracts/Rewards.sol/Rewards.json +16 -16
- package/export/artifacts/@keep-network/sortition-pools/contracts/SortitionPool.sol/SortitionPool.json +1054 -1054
- package/export/artifacts/@keep-network/sortition-pools/contracts/SortitionTree.sol/SortitionTree.json +26 -26
- package/export/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +46 -46
- package/export/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +36 -36
- package/export/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +78 -78
- package/export/artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json +68 -68
- package/export/artifacts/@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol/ERC20Upgradeable.json +43 -43
- package/export/artifacts/@thesis/solidity-contracts/contracts/token/ERC20WithPermit.sol/ERC20WithPermit.json +79 -79
- package/export/artifacts/@thesis/solidity-contracts/contracts/token/MisfundRecovery.sol/MisfundRecovery.json +42 -42
- package/export/artifacts/contracts/bank/Bank.sol/Bank.json +77 -77
- package/export/artifacts/contracts/bridge/Bridge.sol/Bridge.json +325 -325
- package/export/artifacts/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.json +223 -223
- package/export/artifacts/contracts/bridge/VendingMachine.sol/VendingMachine.json +108 -108
- package/export/artifacts/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.json +63 -63
- package/export/artifacts/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.json +65 -65
- package/export/artifacts/contracts/l2/L2TBTC.sol/L2TBTC.json +194 -194
- package/export/artifacts/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.json +100 -100
- package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +154 -154
- package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +76 -76
- package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +104 -104
- package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +19 -19
- package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +189 -189
- package/export/deploy/00_resolve_relay.js +83 -0
- package/export/deploy/01_deploy_tbtc_v2_token.js +70 -0
- package/export/deploy/02_deploy_vending_machine.js +84 -0
- package/export/deploy/03_transfer_vending_machine_roles.js +69 -0
- package/export/deploy/04_deploy_bank.js +73 -0
- package/export/deploy/05_deploy_bridge.js +178 -0
- package/export/deploy/06_deploy_tbtc_vault.js +80 -0
- package/export/deploy/07_deploy_bridge_governance.js +87 -0
- package/export/deploy/08_deploy_maintainer_proxy.js +80 -0
- package/export/deploy/09_bank_update_bridge.js +63 -0
- package/export/deploy/10_authorize_spv_maintainer_in_bridge.js +61 -0
- package/export/deploy/11_transfer_bank_ownership.js +60 -0
- package/export/deploy/12_transfer_bridge_governance.js +63 -0
- package/export/deploy/13_transfer_bridge_governance_ownership.js +60 -0
- package/export/deploy/14_transfer_tbtc_vault_ownership.js +60 -0
- package/export/deploy/15_transfer_maintainer_proxy_ownership.js +60 -0
- package/export/deploy/16_initialize_wallet_owner.js +63 -0
- package/export/deploy/16_transfer_proxy_admin_ownership.js +73 -0
- package/export/deploy/17_authorize_maintainer_proxy_in_bridge.js +63 -0
- package/export/deploy/17_transfer_proxy_admin_ownership.js +73 -0
- package/export/deploy/18_authorize_maintainer_proxy_in_bridge.js +63 -0
- package/export/deploy/18_authorize_maintainer_proxy_in_reimbursement_pool.js +63 -0
- package/export/deploy/19_authorize_bridge_in_reimbursement_pool.js +63 -0
- package/export/deploy/19_authorize_maintainer_proxy_in_reimbursement_pool.js +63 -0
- package/export/deploy/20_authorize_bridge_in_reimbursement_pool.js +63 -0
- package/export/deploy/20_deploy_proxy_admin_with_deputy.js +80 -0
- package/export/deploy/21_transfer_reimbursement_pool_ownership.js +60 -0
- package/export/deploy/22_deploy_proxy_admin_with_deputy.js +80 -0
- package/export/deploy/24_transfer_maintainer_proxy_ownership.js +60 -0
- package/export/deploy/25_transfer_proxy_admin_ownership.js +73 -0
- package/export/deploy/26_authorize_maintainer_proxy_in_reimbursement_pool.js +70 -0
- package/export/deploy/27_authorize_bridge_in_reimbursement_pool.js +70 -0
- package/export/deploy/28_deploy_proxy_admin_with_deputy.js +80 -0
- package/export/typechain/RelayStub.js +2 -0
- package/export/typechain/TestRelay.js +2 -0
- package/export/typechain/factories/BridgeGovernance__factory.js +1 -1
- package/export/typechain/factories/BridgeState__factory.js +1 -1
- package/export/typechain/factories/BridgeStub__factory.js +1 -1
- package/export/typechain/factories/Bridge__factory.js +1 -1
- package/export/typechain/factories/DepositSweep__factory.js +1 -1
- package/export/typechain/factories/Deposit__factory.js +1 -1
- package/export/typechain/factories/EcdsaAuthorization__factory.js +1 -1
- package/export/typechain/factories/EcdsaDkgValidator__factory.js +1 -1
- package/export/typechain/factories/EcdsaDkg__factory.js +1 -1
- package/export/typechain/factories/EcdsaInactivity__factory.js +1 -1
- package/export/typechain/factories/Fraud__factory.js +1 -1
- package/export/typechain/factories/MaintainerProxy__factory.js +1 -1
- package/export/typechain/factories/MovingFunds__factory.js +1 -1
- package/export/typechain/factories/Redemption__factory.js +1 -1
- package/export/typechain/factories/RelayStub__factory.js +546 -0
- package/export/typechain/factories/SortitionPool__factory.js +1 -1
- package/export/typechain/factories/SystemTestRelay__factory.js +1 -1
- package/export/typechain/factories/TBTCVault__factory.js +1 -1
- package/export/typechain/factories/TestRelay__factory.js +168 -0
- package/export/typechain/factories/WalletRegistry__factory.js +1 -1
- package/export/typechain/factories/Wallets__factory.js +1 -1
- package/export.json +7879 -37568
- package/package.json +7 -5
|
@@ -731,7 +731,7 @@ var _abi = [
|
|
|
731
731
|
type: "function",
|
|
732
732
|
},
|
|
733
733
|
];
|
|
734
|
-
var _bytecode = "0x60e06040523480156200001157600080fd5b5060405162002f0038038062002f00833981016040819052620000349162000140565b6000808055600481905560078054600101815590524260805262000058336200008d565b6200006333620000df565b600b805460ff60a01b1916600160a01b1790556001600160a01b0390911660a05260c0526200017c565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600d80546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527ff7d2871c195d5dcbeca7c9bfb4f7ae4149d0915a5d3d03c8c2286c9a24e932be910160405180910390a15050565b600080604083850312156200015457600080fd5b82516001600160a01b03811681146200016c57600080fd5b6020939093015192949293505050565b60805160a05160c051612d2a620001d6600039600081816102e6015261151801526000818161055d01528181610b2d01528181610bf101528181610d8a01526110eb01526000818161148c0152611cb40152612d2a6000f3fe608060405234801561001057600080fd5b506004361061025b5760003560e01c806396c82e5711610145578063dc7520c5116100bd578063f2fde38b1161008c578063f7c618c111610071578063f7c618c114610558578063f7f9a8fa1461057f578063f83d08ba1461059f57600080fd5b8063f2fde38b14610545578063f7186ce01461038557600080fd5b8063dc7520c51461050f578063e20981ca14610522578063e7bfd89914610535578063f23baf4a1461053d57600080fd5b8063a964941411610114578063b2f3db4d116100f9578063b2f3db4d146104d6578063c0a3f9eb146104e9578063c545b3a9146104fc57600080fd5b8063a9649414146104af578063b0f3828e146104c257600080fd5b806396c82e5714610478578063a4e2d63414610480578063a69df4b514610494578063a7a7d3911461049c57600080fd5b80636b1906f8116101d8578063873e31fa116101a75780638da5cb5b1161018c5780638da5cb5b146104415780638f4ffcb114610452578063942f68921461046557600080fd5b8063873e31fa146104035780638871ca5d1461042e57600080fd5b80636b1906f8146103855780636c2530b9146103b0578063715018a6146103d05780637c2cf6cd146103d857600080fd5b806343a3db301161022f5780635757ed5b116102145780635757ed5b1461031b5780635a48b46b1461032e578063660186e61461037257600080fd5b806343a3db30146102e15780634de824f01461030857600080fd5b8062983b7314610260578063241a418814610286578063398ece9c1461029b5780633e723fc9146102ce575b600080fd5b61027361026e3660046126d7565b6105a7565b6040519081526020015b60405180910390f35b6102996102943660046126f2565b6105d6565b005b6102be6102a93660046126d7565b600c6020526000908152604090205460ff1681565b604051901515815260200161027d565b6102996102dc366004612761565b6106f3565b6102737f000000000000000000000000000000000000000000000000000000000000000081565b6102be6103163660046126f2565b610856565b6102736103293660046126d7565b610874565b61035d61033c3660046126d7565b6001600160a01b031660009081526006602052604090205463ffffffff1690565b60405163ffffffff909116815260200161027d565b6102be6103803660046126d7565b6108c2565b6102be6103933660046126d7565b6001600160a01b0316600090815260036020526040902054151590565b6103c36103be3660046127a3565b610900565b60405161027d91906127c5565b610299610aa2565b600d546103eb906001600160a01b031681565b6040516001600160a01b03909116815260200161027d565b6104166104113660046126d7565b610ab6565b6040516001600160601b03909116815260200161027d565b6103eb61043c366004612823565b610ade565b600b546001600160a01b03166103eb565b61029961046036600461283e565b610b2b565b6102996104733660046128d9565b610c7a565b610273610d00565b600d546102be90600160a01b900460ff1681565b610299610d12565b600954610416906001600160601b031681565b6102996104bd3660046126d7565b610d29565b600b546102be90600160a01b900460ff1681565b6102996104e43660046126d7565b610dfe565b6102be6104f73660046126d7565b610e66565b61029961050a3660046126d7565b610e8e565b61029961051d3660046126f2565b610f70565b610416610530366004612925565b611032565b610273611163565b61029961117e565b6102996105533660046126d7565b611269565b6103eb7f000000000000000000000000000000000000000000000000000000000000000081565b61059261058d366004612761565b6112f6565b60405161027d9190612958565b6102996113f9565b6001600160a01b03811660009081526006602052604081205463ffffffff166105cf81611416565b9392505050565b6105de6114b7565b60006105e982611511565b9050600081116106405760405162461bcd60e51b815260206004820152601560248201527f4f70657261746f72206e6f7420656c696769626c65000000000000000000000060448201526064015b60405180910390fd5b600b54600160a01b900460ff16156106ba576001600160a01b0383166000908152600c602052604090205460ff166106ba5760405162461bcd60e51b815260206004820152601e60248201527f4e6f742062657461206f70657261746f7220666f72206368616f736e657400006044820152606401610637565b6106c4838261153d565b6001600160a01b03831660009081526006602052604090205463ffffffff166106ed818361166e565b50505050565b600b54600160a01b900460ff1661074c5760405162461bcd60e51b815260206004820152601660248201527f4368616f736e6574206973206e6f7420616374697665000000000000000000006044820152606401610637565b600d546001600160a01b031633146107a65760405162461bcd60e51b815260206004820152601660248201527f4e6f7420746865206368616f736e6574206f776e6572000000000000000000006044820152606401610637565b60005b81811015610818576001600c60008585858181106107c9576107c9612999565b90506020020160208101906107de91906126d7565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610810816129c5565b9150506107a9565b507f79b60dc9f29a0514f5ce9bf1e89b7add7a22440cde3b203c03a842e3b534071b828260405161084a9291906129de565b60405180910390a15050565b600061086183610874565b61086a83611511565b1490505b92915050565b6001600160a01b0381166000908152600360205260408120548060000361089e5750600092915050565b6001600160ff1b03811660006108b38261181d565b95945050505050565b50919050565b6001600160a01b03811660009081526006602090815260408083205463ffffffff908116808552600a90935290832054600160c01b900416156105cf565b600d54606090600160a01b900460ff1661095c5760405162461bcd60e51b815260206004820152601760248201527f536f72746974696f6e20706f6f6c20756e6c6f636b65640000000000000000006044820152606401610637565b6000805490839061096c8361187a565b9050600081116109be5760405162461bcd60e51b815260206004820152601c60248201527f4e6f7420656e6f756768206f70657261746f727320696e20706f6f6c000000006044820152606401610637565b6000806109ca836118a1565b905060008867ffffffffffffffff8111156109e7576109e7612a2a565b604051908082528060200260200182016040528015610a10578160200160208202803683370190505b50905060005b89811015610a9557610a298587856118d3565b965093506000610a398589611950565b600081815260026020526040902054909150610a5481611a24565b848481518110610a6657610a66612999565b602002602001019063ffffffff16908163ffffffff168152505050508080610a8d906129c5565b915050610a16565b5098975050505050505050565b610aaa6114b7565b610ab46000611a5d565b565b6001600160a01b03811660009081526006602052604081205463ffffffff166105cf81611abc565b60075460009063ffffffff831610610af757600061086e565b60078263ffffffff1681548110610b1057610b10612999565b6000918252602090912001546001600160a01b031692915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614610bac5760405162461bcd60e51b815260206004820152601160248201527f556e737570706f7274656420746f6b656e0000000000000000000000000000006044820152606401610637565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152306024830152604482018690527f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303816000875af1158015610c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5e9190612a40565b50610c7384610c6e60005461187a565b611b6a565b5050505050565b610c826114b7565b610cc0838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611c7a915050565b7f01f5838e3dde8cf4817b958fe95be92bdfeccb34317e1d9f58d1cfe5230de231838383604051610cf393929190612a62565b60405180910390a1505050565b6000610d0d60005461187a565b905090565b610d1a6114b7565b600d805460ff60a01b19169055565b610d316114b7565b6000610d59600980546bffffffffffffffffffffffff1981169091556001600160601b031690565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526001600160601b03831660248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015610dd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df99190612a40565b505050565b6001600160a01b03811660009081526006602052604090205463ffffffff16610e2681611e94565b60405163ffffffff8216906001600160a01b038416907fe61e9f0f049b3bfae1ae903a5e3018c02a008aa0d238ffddf23a4fb4c027853690600090a35050565b6001600160a01b03811660009081526006602052604081205463ffffffff166105cf81612059565b600d546001600160a01b03163314610ee85760405162461bcd60e51b815260206004820152601660248201527f4e6f7420746865206368616f736e6574206f776e6572000000000000000000006044820152606401610637565b6001600160a01b038116610f645760405162461bcd60e51b815260206004820152602b60248201527f4e6577206368616f736e6574206f776e6572206d757374206e6f74206265207a60448201527f65726f20616464726573730000000000000000000000000000000000000000006064820152608401610637565b610f6d8161206d565b50565b610f786114b7565b600d54600160a01b900460ff1615610fd25760405162461bcd60e51b815260206004820152601560248201527f536f72746974696f6e20706f6f6c206c6f636b656400000000000000000000006044820152606401610637565b6000610fdd82611511565b90506000611006846001600160a01b031660009081526006602052604090205463ffffffff1690565b9050611012818361166e565b8160000361102857611023846120d4565b6106ed565b6106ed8483612187565b600061103c6114b7565b6001600160a01b03831660009081526006602052604090205463ffffffff1661106d8161106886610874565b61166e565b63ffffffff81166000908152600a6020526040812080547fffffffffffffffff000000000000000000000000ffffffffffffffffffffffff8116909155600160601b90046001600160601b031660405163a9059cbb60e01b81526001600160a01b0386811660048301526001600160601b03831660248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015611136573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061115a9190612a40565b50949350505050565b600454600554600091906111778183612ab3565b9250505090565b600b54600160a01b900460ff166111d75760405162461bcd60e51b815260206004820152601660248201527f4368616f736e6574206973206e6f7420616374697665000000000000000000006044820152606401610637565b600d546001600160a01b031633146112315760405162461bcd60e51b815260206004820152601660248201527f4e6f7420746865206368616f736e6574206f776e6572000000000000000000006044820152606401610637565b600b805460ff60a01b191690556040517fbea11dc6cfde2788be7e8a6ceef5c8d181bb1c628ba6d71675fca0e754367c7490600090a1565b6112716114b7565b6001600160a01b0381166112ed5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610637565b610f6d81611a5d565b60075460609060008367ffffffffffffffff81111561131757611317612a2a565b604051908082528060200260200182016040528015611340578160200160208202803683370190505b50905060005b8481101561115a57600086868381811061136257611362612999565b90506020020160208101906113779190612823565b90508063ffffffff16841161138d5760006113bc565b60078163ffffffff16815481106113a6576113a6612999565b6000918252602090912001546001600160a01b03165b8383815181106113ce576113ce612999565b6001600160a01b039092166020928302919091019091015250806113f1816129c5565b915050611346565b6114016114b7565b600d805460ff60a01b1916600160a01b179055565b63ffffffff8082166000908152600a60205260408120549091600160c01b909104168082036114875760405162461bcd60e51b815260206004820152601960248201527f4f70657261746f7220616c726561647920656c696769626c65000000000000006044820152606401610637565b6105cf7f000000000000000000000000000000000000000000000000000000000000000063ffffffff8316612ac6565b600b546001600160a01b03163314610ab45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610637565b600061086e7f000000000000000000000000000000000000000000000000000000000000000083612aef565b6001600160a01b038216600090815260036020526040902054156115c95760405162461bcd60e51b815260206004820152602a60248201527f4f70657261746f7220697320616c72656164792072656769737465726564206960448201527f6e2074686520706f6f6c000000000000000000000000000000000000000000006064820152608401610637565b6001600160a01b03821660009081526006602052604081205463ffffffff16908190036115fc576115f983612237565b90505b600061160661230e565b90506000611615854385612402565b90506116258282866000546124e0565b6000557f800000000000000000000000000000000000000000000000000000000000000082176001600160a01b0390951660009081526003602052604090209490945550505050565b60085463ffffffff8084166000908152600a60209081526040808320815160808101835290546001600160601b03818116808452600160601b8304821695840195909552600160c01b8204871693830193909352600160e01b900490941660608501819052941693906116e19085612b03565b6116eb9190612b2a565b9050816040015163ffffffff166000036117225780826020018181516117119190612b55565b6001600160601b0316905250611765565b600980548291906000906117409084906001600160601b0316612b55565b92506101000a8154816001600160601b0302191690836001600160601b031602179055505b506001600160601b03918216815263ffffffff928316606082019081529383166000908152600a60209081526040918290208351815492850151939094015196518616600160e01b026001600160e01b0397909616600160c01b029690961677ffffffffffffffffffffffffffffffffffffffffffffffff928516600160601b027fffffffffffffffff0000000000000000000000000000000000000000000000009092169390941692909217919091171617179055565b600080611829836124fc565b905060006118378460031c90565b60008181527fdc686ec4a0ff239c70e7c7c36e8f853eced3bc8618f48d2b816da2a74311237e60205260409020549091506108b381846020021c63ffffffff1690565b63ffffffff8116602082901c5b80156108bc5763ffffffff8116919091019060201c611887565b6000816001036118b357506000919050565b601f5b82816001901b106118ca57600019016118b6565b60010192915050565b6000808080855b82611943576000196001871b0181169150803060405160200161191992919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012090508782101561193e57600192505b6118da565b9097909650945050505050565b60008282828061195f8361187a565b87106119ad5760405162461bcd60e51b815260206004820152601460248201527f496e6465782065786365656473207765696768740000000000000000000000006044820152606401610637565b6119b7838561250c565b9450905060025b60078111611a0e576119d08383612543565b6000828152600160209081526040808320848452909152902054945092506119f8848661250c565b9550915080611a06816129c5565b9150506119be565b50611a198282612543565b979650505050505050565b60006001611a3460036002612c59565b611a4090610100612aef565b611a4b906002612c59565b611a559190612ab3565b909116919050565b600b80546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60085463ffffffff8083166000908152600a60209081526040808320815160808101835290546001600160601b038181168352600160601b8204811694830194909452600160c01b81048616928201839052600160e01b9004909416606085015291931691908303611b5f576060810151815160009163ffffffff1690611b439085612b03565b611b4d9190612b2a565b90508082602001516108b39190612b55565b602001519392505050565b60008163ffffffff1611611bc05760405162461bcd60e51b815260206004820152601560248201527f4e6f20726563697069656e747320696e20706f6f6c00000000000000000000006044820152606401610637565b600854600090611be090600160601b90046001600160601b031684612b55565b90506000611bf463ffffffff841683612c65565b90506000611c0863ffffffff851684612c8b565b600880549192508391600090611c289084906001600160601b0316612b55565b92506101000a8154816001600160601b0302191690836001600160601b03160217905550806008600c6101000a8154816001600160601b0302191690836001600160601b031602179055505050505050565b604080516080810182526000808252602082018190529181018290526060810182905260085490916001600160601b039091169080611cd97f000000000000000000000000000000000000000000000000000000000000000086612ab3565b905060005b8651811015611e8b576000878281518110611cfb57611cfb612999565b60209081029190910181015163ffffffff8082166000908152600a845260409081902080546001600160601b03600160601b82048116968d01969096529485168b52600160c01b85048316918b01829052600160e01b90940490911660608a015290925015611d8e578363ffffffff16876040015163ffffffff161015611d895763ffffffff841660408801525b611dda565b63ffffffff808516604089015260608801518851911690611daf9088612b03565b611db99190612b2a565b94508487602001818151611dcd9190612b55565b6001600160601b03169052505b6001600160601b038681168089526020890151835460408b015160608c01517fffffffff00000000000000000000000000000000000000000000000000000000909216600160601b93909516929092027fffffffff00000000ffffffffffffffffffffffff0000000000000000000000001693909317909117600160c01b63ffffffff92831602176001600160e01b0316600160e01b91909216021790555080611e83816129c5565b915050611cde565b50505050505050565b611e9d81612059565b611ee95760405162461bcd60e51b815260206004820152601960248201527f4f70657261746f72207374696c6c20696e656c696769626c65000000000000006044820152606401610637565b60085463ffffffff8083166000908152600a60209081526040808320815160808101835290546001600160601b03818116808452600160601b8304821695840195909552600160c01b8204871693830193909352600160e01b90049094166060850181905294169390611f5c9085612b03565b611f669190612b2a565b600980549192508291600090611f869084906001600160601b0316612b55565b82546001600160601b039182166101009390930a928302928202191691909117909155938416835250506000604080830182815263ffffffff9586168352600a602090815291909220835181549285015193516060909501518716600160e01b026001600160e01b0395909716600160c01b029490941677ffffffffffffffffffffffffffffffffffffffffffffffff938616600160601b027fffffffffffffffff0000000000000000000000000000000000000000000000009093169490951693909317171691909117919091179055565b60004261206583611416565b111592915050565b600d80546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff1983168117909355604080519190921680825260208201939093527ff7d2871c195d5dcbeca7c9bfb4f7ae4149d0915a5d3d03c8c2286c9a24e932be910161084a565b6001600160a01b0381166000908152600360205260408120549081900361214c5760405162461bcd60e51b815260206004820152602660248201527f4f70657261746f72206973206e6f74207265676973746572656420696e20746860448201526519481c1bdbdb60d21b6064820152608401610637565b60006001600160ff1b03821690506121668160005461256d565b600055610df9836001600160a01b0316600090815260036020526040812055565b6001600160a01b0382166000908152600360205260409020546121fb5760405162461bcd60e51b815260206004820152602660248201527f4f70657261746f72206973206e6f74207265676973746572656420696e20746860448201526519481c1bdbdb60d21b6064820152608401610637565b6001600160a01b03821660009081526003602052604081205490546001600160ff1b0382169061222e90829085906125e2565b60005550505050565b60075460009063ffffffff8111156122915760405162461bcd60e51b815260206004820152601660248201527f506f6f6c206361706163697479206578636565646564000000000000000000006044820152606401610637565b6001600160a01b03929092166000818152600660205260408120805463ffffffff191663ffffffff86161790556007805460018101825591527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68801805473ffffffffffffffffffffffffffffffffffffffff191690911790555090565b60045460009081600761232360036002612c59565b61232d9190612c59565b612338836001612ac6565b10905080156123555761234c826001612ac6565b60045550919050565b600554806123a55760405162461bcd60e51b815260206004820152600c60248201527f506f6f6c2069732066756c6c00000000000000000000000000000000000000006044820152606401610637565b600060056123b4600184612ab3565b815481106123c4576123c4612999565b9060005260206000200154905060058054806123e2576123e2612cb1565b600190038181906000526020600020016000905590558094505050505090565b600067ffffffffffffffff83111561241c5761241c612cc7565b63ffffffff82111561243057612430612cc7565b6bffffffffffffffffffffffff19606085901b166000600161245460036002612c59565b61246090610100612aef565b61246b906002612c59565b6124759190612ab3565b84169050600061248760036002612c59565b61249390610100612aef565b60016124a160036002612c59565b6124ad90610100612aef565b6124b8906060612ab3565b6124c3906002612c59565b6124cd9190612ab3565b8716901b92909217179150509392505050565b60008481526002602052604081208490556108b385848461260c565b60006001611a4b60036002612c59565b6000818363ffffffff81165b80831061253957600193909301929091039060201c63ffffffff8116612518565b50505b9250929050565b6000600161255360036002612c59565b61255d9190612ab3565b8216600384901b17905092915050565b600080600160045461257f9190612ab3565b90508381146000612592868280886124e0565b905081156125a45760048390556108b3565b600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00186905595945050505050565b6000826125ee8561181d565b14612605576125fe84848461260c565b90506105cf565b50806105cf565b6000808080858760075b6002811061268d57612627826124fc565b95506126338260031c90565b60008281526001602090815260408083208484528252909120805463ffffffff928a0283811b198216938816901b9290921790819055909650945091506126798461187a565b92508061268581612cdd565b915050612616565b50612697816124fc565b945063ffffffff6020860281811b198916918416901b179998505050505050505050565b80356001600160a01b03811681146126d257600080fd5b919050565b6000602082840312156126e957600080fd5b6105cf826126bb565b6000806040838503121561270557600080fd5b61270e836126bb565b946020939093013593505050565b60008083601f84011261272e57600080fd5b50813567ffffffffffffffff81111561274657600080fd5b6020830191508360208260051b850101111561253c57600080fd5b6000806020838503121561277457600080fd5b823567ffffffffffffffff81111561278b57600080fd5b6127978582860161271c565b90969095509350505050565b600080604083850312156127b657600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b8181101561280357835163ffffffff16835292840192918401916001016127e1565b50909695505050505050565b803563ffffffff811681146126d257600080fd5b60006020828403121561283557600080fd5b6105cf8261280f565b60008060008060006080868803121561285657600080fd5b61285f866126bb565b945060208601359350612874604087016126bb565b9250606086013567ffffffffffffffff8082111561289157600080fd5b818801915088601f8301126128a557600080fd5b8135818111156128b457600080fd5b8960208285010111156128c657600080fd5b9699959850939650602001949392505050565b6000806000604084860312156128ee57600080fd5b833567ffffffffffffffff81111561290557600080fd5b6129118682870161271c565b909790965060209590950135949350505050565b6000806040838503121561293857600080fd5b612941836126bb565b915061294f602084016126bb565b90509250929050565b6020808252825182820181905260009190848201906040850190845b818110156128035783516001600160a01b031683529284019291840191600101612974565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016129d7576129d76129af565b5060010190565b60208082528181018390526000908460408401835b86811015612a1f576001600160a01b03612a0c846126bb565b16825291830191908301906001016129f3565b509695505050505050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215612a5257600080fd5b815180151581146105cf57600080fd5b6040808252810183905260008460608301825b86811015612aa05763ffffffff612a8b8461280f565b16825260209283019290910190600101612a75565b5060209390930193909352509392505050565b8181038181111561086e5761086e6129af565b8082018082111561086e5761086e6129af565b634e487b7160e01b600052601260045260246000fd5b600082612afe57612afe612ad9565b500490565b6001600160601b03828116828216039080821115612b2357612b236129af565b5092915050565b6001600160601b03818116838216028082169190828114612b4d57612b4d6129af565b505092915050565b6001600160601b03818116838216019080821115612b2357612b236129af565b600181815b80851115612bb0578160001904821115612b9657612b966129af565b80851615612ba357918102915b93841c9390800290612b7a565b509250929050565b600082612bc75750600161086e565b81612bd45750600061086e565b8160018114612bea5760028114612bf457612c10565b600191505061086e565b60ff841115612c0557612c056129af565b50506001821b61086e565b5060208310610133831016604e8410600b8410161715612c33575081810a61086e565b612c3d8383612b75565b8060001904821115612c5157612c516129af565b029392505050565b60006105cf8383612bb8565b60006001600160601b0380841680612c7f57612c7f612ad9565b92169190910492915050565b60006001600160601b0380841680612ca557612ca5612ad9565b92169190910692915050565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600081612cec57612cec6129af565b50600019019056fea2646970667358221220a8da968237e09aadab505d88ebbb833084f7e8ebd34c8b540b8618d909679e4164736f6c63430008110033";
|
|
734
|
+
var _bytecode = "0x60e06040523480156200001157600080fd5b5060405162002f5a38038062002f5a833981016040819052620000349162000140565b6000808055600481905560078054600101815590524260805262000058336200008d565b6200006333620000df565b600b805460ff60a01b1916600160a01b1790556001600160a01b0390911660a05260c0526200017c565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600d80546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527ff7d2871c195d5dcbeca7c9bfb4f7ae4149d0915a5d3d03c8c2286c9a24e932be910160405180910390a15050565b600080604083850312156200015457600080fd5b82516001600160a01b03811681146200016c57600080fd5b6020939093015192949293505050565b60805160a05160c051612d84620001d6600039600081816102e6015261157201526000818161055d01528181610b8701528181610c4b01528181610de401526111450152600081816114e60152611d0e0152612d846000f3fe608060405234801561001057600080fd5b506004361061025b5760003560e01c806396c82e5711610145578063dc7520c5116100bd578063f2fde38b1161008c578063f7c618c111610071578063f7c618c114610558578063f7f9a8fa1461057f578063f83d08ba1461059f57600080fd5b8063f2fde38b14610545578063f7186ce01461038557600080fd5b8063dc7520c51461050f578063e20981ca14610522578063e7bfd89914610535578063f23baf4a1461053d57600080fd5b8063a964941411610114578063b2f3db4d116100f9578063b2f3db4d146104d6578063c0a3f9eb146104e9578063c545b3a9146104fc57600080fd5b8063a9649414146104af578063b0f3828e146104c257600080fd5b806396c82e5714610478578063a4e2d63414610480578063a69df4b514610494578063a7a7d3911461049c57600080fd5b80636b1906f8116101d8578063873e31fa116101a75780638da5cb5b1161018c5780638da5cb5b146104415780638f4ffcb114610452578063942f68921461046557600080fd5b8063873e31fa146104035780638871ca5d1461042e57600080fd5b80636b1906f8146103855780636c2530b9146103b0578063715018a6146103d05780637c2cf6cd146103d857600080fd5b806343a3db301161022f5780635757ed5b116102145780635757ed5b1461031b5780635a48b46b1461032e578063660186e61461037257600080fd5b806343a3db30146102e15780634de824f01461030857600080fd5b8062983b7314610260578063241a418814610286578063398ece9c1461029b5780633e723fc9146102ce575b600080fd5b61027361026e366004612731565b6105a7565b6040519081526020015b60405180910390f35b61029961029436600461274c565b6105d6565b005b6102be6102a9366004612731565b600c6020526000908152604090205460ff1681565b604051901515815260200161027d565b6102996102dc3660046127bb565b61074d565b6102737f000000000000000000000000000000000000000000000000000000000000000081565b6102be61031636600461274c565b6108b0565b610273610329366004612731565b6108ce565b61035d61033c366004612731565b6001600160a01b031660009081526006602052604090205463ffffffff1690565b60405163ffffffff909116815260200161027d565b6102be610380366004612731565b61091c565b6102be610393366004612731565b6001600160a01b0316600090815260036020526040902054151590565b6103c36103be3660046127fd565b61095a565b60405161027d919061281f565b610299610afc565b600d546103eb906001600160a01b031681565b6040516001600160a01b03909116815260200161027d565b610416610411366004612731565b610b10565b6040516001600160601b03909116815260200161027d565b6103eb61043c36600461287d565b610b38565b600b546001600160a01b03166103eb565b610299610460366004612898565b610b85565b610299610473366004612933565b610cd4565b610273610d5a565b600d546102be90600160a01b900460ff1681565b610299610d6c565b600954610416906001600160601b031681565b6102996104bd366004612731565b610d83565b600b546102be90600160a01b900460ff1681565b6102996104e4366004612731565b610e58565b6102be6104f7366004612731565b610ec0565b61029961050a366004612731565b610ee8565b61029961051d36600461274c565b610fca565b61041661053036600461297f565b61108c565b6102736111bd565b6102996111d8565b610299610553366004612731565b6112c3565b6103eb7f000000000000000000000000000000000000000000000000000000000000000081565b61059261058d3660046127bb565b611350565b60405161027d91906129b2565b610299611453565b6001600160a01b03811660009081526006602052604081205463ffffffff166105cf81611470565b9392505050565b6105de611511565b600d54600160a01b900460ff161561063d5760405162461bcd60e51b815260206004820152601560248201527f536f72746974696f6e20706f6f6c206c6f636b6564000000000000000000000060448201526064015b60405180910390fd5b60006106488261156b565b90506000811161069a5760405162461bcd60e51b815260206004820152601560248201527f4f70657261746f72206e6f7420656c696769626c6500000000000000000000006044820152606401610634565b600b54600160a01b900460ff1615610714576001600160a01b0383166000908152600c602052604090205460ff166107145760405162461bcd60e51b815260206004820152601e60248201527f4e6f742062657461206f70657261746f7220666f72206368616f736e657400006044820152606401610634565b61071e8382611597565b6001600160a01b03831660009081526006602052604090205463ffffffff1661074781836116c8565b50505050565b600b54600160a01b900460ff166107a65760405162461bcd60e51b815260206004820152601660248201527f4368616f736e6574206973206e6f7420616374697665000000000000000000006044820152606401610634565b600d546001600160a01b031633146108005760405162461bcd60e51b815260206004820152601660248201527f4e6f7420746865206368616f736e6574206f776e6572000000000000000000006044820152606401610634565b60005b81811015610872576001600c6000858585818110610823576108236129f3565b90506020020160208101906108389190612731565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061086a81612a1f565b915050610803565b507f79b60dc9f29a0514f5ce9bf1e89b7add7a22440cde3b203c03a842e3b534071b82826040516108a4929190612a38565b60405180910390a15050565b60006108bb836108ce565b6108c48361156b565b1490505b92915050565b6001600160a01b038116600090815260036020526040812054806000036108f85750600092915050565b6001600160ff1b038116600061090d82611877565b95945050505050565b50919050565b6001600160a01b03811660009081526006602090815260408083205463ffffffff908116808552600a90935290832054600160c01b900416156105cf565b600d54606090600160a01b900460ff166109b65760405162461bcd60e51b815260206004820152601760248201527f536f72746974696f6e20706f6f6c20756e6c6f636b65640000000000000000006044820152606401610634565b600080549083906109c6836118d4565b905060008111610a185760405162461bcd60e51b815260206004820152601c60248201527f4e6f7420656e6f756768206f70657261746f727320696e20706f6f6c000000006044820152606401610634565b600080610a24836118fb565b905060008867ffffffffffffffff811115610a4157610a41612a84565b604051908082528060200260200182016040528015610a6a578160200160208202803683370190505b50905060005b89811015610aef57610a8385878561192d565b965093506000610a9385896119aa565b600081815260026020526040902054909150610aae81611a7e565b848481518110610ac057610ac06129f3565b602002602001019063ffffffff16908163ffffffff168152505050508080610ae790612a1f565b915050610a70565b5098975050505050505050565b610b04611511565b610b0e6000611ab7565b565b6001600160a01b03811660009081526006602052604081205463ffffffff166105cf81611b16565b60075460009063ffffffff831610610b515760006108c8565b60078263ffffffff1681548110610b6a57610b6a6129f3565b6000918252602090912001546001600160a01b031692915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614610c065760405162461bcd60e51b815260206004820152601160248201527f556e737570706f7274656420746f6b656e0000000000000000000000000000006044820152606401610634565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152306024830152604482018690527f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906064016020604051808303816000875af1158015610c94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb89190612a9a565b50610ccd84610cc86000546118d4565b611bc4565b5050505050565b610cdc611511565b610d1a838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611cd4915050565b7f01f5838e3dde8cf4817b958fe95be92bdfeccb34317e1d9f58d1cfe5230de231838383604051610d4d93929190612abc565b60405180910390a1505050565b6000610d676000546118d4565b905090565b610d74611511565b600d805460ff60a01b19169055565b610d8b611511565b6000610db3600980546bffffffffffffffffffffffff1981169091556001600160601b031690565b60405163a9059cbb60e01b81526001600160a01b0384811660048301526001600160601b03831660248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015610e2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e539190612a9a565b505050565b6001600160a01b03811660009081526006602052604090205463ffffffff16610e8081611eee565b60405163ffffffff8216906001600160a01b038416907fe61e9f0f049b3bfae1ae903a5e3018c02a008aa0d238ffddf23a4fb4c027853690600090a35050565b6001600160a01b03811660009081526006602052604081205463ffffffff166105cf816120b3565b600d546001600160a01b03163314610f425760405162461bcd60e51b815260206004820152601660248201527f4e6f7420746865206368616f736e6574206f776e6572000000000000000000006044820152606401610634565b6001600160a01b038116610fbe5760405162461bcd60e51b815260206004820152602b60248201527f4e6577206368616f736e6574206f776e6572206d757374206e6f74206265207a60448201527f65726f20616464726573730000000000000000000000000000000000000000006064820152608401610634565b610fc7816120c7565b50565b610fd2611511565b600d54600160a01b900460ff161561102c5760405162461bcd60e51b815260206004820152601560248201527f536f72746974696f6e20706f6f6c206c6f636b656400000000000000000000006044820152606401610634565b60006110378261156b565b90506000611060846001600160a01b031660009081526006602052604090205463ffffffff1690565b905061106c81836116c8565b816000036110825761107d8461212e565b610747565b61074784836121e1565b6000611096611511565b6001600160a01b03831660009081526006602052604090205463ffffffff166110c7816110c2866108ce565b6116c8565b63ffffffff81166000908152600a6020526040812080547fffffffffffffffff000000000000000000000000ffffffffffffffffffffffff8116909155600160601b90046001600160601b031660405163a9059cbb60e01b81526001600160a01b0386811660048301526001600160601b03831660248301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a9059cbb906044016020604051808303816000875af1158015611190573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b49190612a9a565b50949350505050565b600454600554600091906111d18183612b0d565b9250505090565b600b54600160a01b900460ff166112315760405162461bcd60e51b815260206004820152601660248201527f4368616f736e6574206973206e6f7420616374697665000000000000000000006044820152606401610634565b600d546001600160a01b0316331461128b5760405162461bcd60e51b815260206004820152601660248201527f4e6f7420746865206368616f736e6574206f776e6572000000000000000000006044820152606401610634565b600b805460ff60a01b191690556040517fbea11dc6cfde2788be7e8a6ceef5c8d181bb1c628ba6d71675fca0e754367c7490600090a1565b6112cb611511565b6001600160a01b0381166113475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610634565b610fc781611ab7565b60075460609060008367ffffffffffffffff81111561137157611371612a84565b60405190808252806020026020018201604052801561139a578160200160208202803683370190505b50905060005b848110156111b45760008686838181106113bc576113bc6129f3565b90506020020160208101906113d1919061287d565b90508063ffffffff1684116113e7576000611416565b60078163ffffffff1681548110611400576114006129f3565b6000918252602090912001546001600160a01b03165b838381518110611428576114286129f3565b6001600160a01b0390921660209283029190910190910152508061144b81612a1f565b9150506113a0565b61145b611511565b600d805460ff60a01b1916600160a01b179055565b63ffffffff8082166000908152600a60205260408120549091600160c01b909104168082036114e15760405162461bcd60e51b815260206004820152601960248201527f4f70657261746f7220616c726561647920656c696769626c65000000000000006044820152606401610634565b6105cf7f000000000000000000000000000000000000000000000000000000000000000063ffffffff8316612b20565b600b546001600160a01b03163314610b0e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610634565b60006108c87f000000000000000000000000000000000000000000000000000000000000000083612b49565b6001600160a01b038216600090815260036020526040902054156116235760405162461bcd60e51b815260206004820152602a60248201527f4f70657261746f7220697320616c72656164792072656769737465726564206960448201527f6e2074686520706f6f6c000000000000000000000000000000000000000000006064820152608401610634565b6001600160a01b03821660009081526006602052604081205463ffffffff16908190036116565761165383612291565b90505b6000611660612368565b9050600061166f85438561245c565b905061167f82828660005461253a565b6000557f800000000000000000000000000000000000000000000000000000000000000082176001600160a01b0390951660009081526003602052604090209490945550505050565b60085463ffffffff8084166000908152600a60209081526040808320815160808101835290546001600160601b03818116808452600160601b8304821695840195909552600160c01b8204871693830193909352600160e01b9004909416606085018190529416939061173b9085612b5d565b6117459190612b84565b9050816040015163ffffffff1660000361177c57808260200181815161176b9190612baf565b6001600160601b03169052506117bf565b6009805482919060009061179a9084906001600160601b0316612baf565b92506101000a8154816001600160601b0302191690836001600160601b031602179055505b506001600160601b03918216815263ffffffff928316606082019081529383166000908152600a60209081526040918290208351815492850151939094015196518616600160e01b026001600160e01b0397909616600160c01b029690961677ffffffffffffffffffffffffffffffffffffffffffffffff928516600160601b027fffffffffffffffff0000000000000000000000000000000000000000000000009092169390941692909217919091171617179055565b60008061188383612556565b905060006118918460031c90565b60008181527fdc686ec4a0ff239c70e7c7c36e8f853eced3bc8618f48d2b816da2a74311237e602052604090205490915061090d81846020021c63ffffffff1690565b63ffffffff8116602082901c5b80156109165763ffffffff8116919091019060201c6118e1565b60008160010361190d57506000919050565b601f5b82816001901b106119245760001901611910565b60010192915050565b6000808080855b8261199d576000196001871b0181169150803060405160200161197392919091825260601b6bffffffffffffffffffffffff1916602082015260340190565b6040516020818303038152906040528051906020012090508782101561199857600192505b611934565b9097909650945050505050565b6000828282806119b9836118d4565b8710611a075760405162461bcd60e51b815260206004820152601460248201527f496e6465782065786365656473207765696768740000000000000000000000006044820152606401610634565b611a118385612566565b9450905060025b60078111611a6857611a2a838361259d565b600082815260016020908152604080832084845290915290205494509250611a528486612566565b9550915080611a6081612a1f565b915050611a18565b50611a73828261259d565b979650505050505050565b60006001611a8e60036002612cb3565b611a9a90610100612b49565b611aa5906002612cb3565b611aaf9190612b0d565b909116919050565b600b80546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60085463ffffffff8083166000908152600a60209081526040808320815160808101835290546001600160601b038181168352600160601b8204811694830194909452600160c01b81048616928201839052600160e01b9004909416606085015291931691908303611bb9576060810151815160009163ffffffff1690611b9d9085612b5d565b611ba79190612b84565b905080826020015161090d9190612baf565b602001519392505050565b60008163ffffffff1611611c1a5760405162461bcd60e51b815260206004820152601560248201527f4e6f20726563697069656e747320696e20706f6f6c00000000000000000000006044820152606401610634565b600854600090611c3a90600160601b90046001600160601b031684612baf565b90506000611c4e63ffffffff841683612cbf565b90506000611c6263ffffffff851684612ce5565b600880549192508391600090611c829084906001600160601b0316612baf565b92506101000a8154816001600160601b0302191690836001600160601b03160217905550806008600c6101000a8154816001600160601b0302191690836001600160601b031602179055505050505050565b604080516080810182526000808252602082018190529181018290526060810182905260085490916001600160601b039091169080611d337f000000000000000000000000000000000000000000000000000000000000000086612b0d565b905060005b8651811015611ee5576000878281518110611d5557611d556129f3565b60209081029190910181015163ffffffff8082166000908152600a845260409081902080546001600160601b03600160601b82048116968d01969096529485168b52600160c01b85048316918b01829052600160e01b90940490911660608a015290925015611de8578363ffffffff16876040015163ffffffff161015611de35763ffffffff841660408801525b611e34565b63ffffffff808516604089015260608801518851911690611e099088612b5d565b611e139190612b84565b94508487602001818151611e279190612baf565b6001600160601b03169052505b6001600160601b038681168089526020890151835460408b015160608c01517fffffffff00000000000000000000000000000000000000000000000000000000909216600160601b93909516929092027fffffffff00000000ffffffffffffffffffffffff0000000000000000000000001693909317909117600160c01b63ffffffff92831602176001600160e01b0316600160e01b91909216021790555080611edd81612a1f565b915050611d38565b50505050505050565b611ef7816120b3565b611f435760405162461bcd60e51b815260206004820152601960248201527f4f70657261746f72207374696c6c20696e656c696769626c65000000000000006044820152606401610634565b60085463ffffffff8083166000908152600a60209081526040808320815160808101835290546001600160601b03818116808452600160601b8304821695840195909552600160c01b8204871693830193909352600160e01b90049094166060850181905294169390611fb69085612b5d565b611fc09190612b84565b600980549192508291600090611fe09084906001600160601b0316612baf565b82546001600160601b039182166101009390930a928302928202191691909117909155938416835250506000604080830182815263ffffffff9586168352600a602090815291909220835181549285015193516060909501518716600160e01b026001600160e01b0395909716600160c01b029490941677ffffffffffffffffffffffffffffffffffffffffffffffff938616600160601b027fffffffffffffffff0000000000000000000000000000000000000000000000009093169490951693909317171691909117919091179055565b6000426120bf83611470565b111592915050565b600d80546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff1983168117909355604080519190921680825260208201939093527ff7d2871c195d5dcbeca7c9bfb4f7ae4149d0915a5d3d03c8c2286c9a24e932be91016108a4565b6001600160a01b038116600090815260036020526040812054908190036121a65760405162461bcd60e51b815260206004820152602660248201527f4f70657261746f72206973206e6f74207265676973746572656420696e20746860448201526519481c1bdbdb60d21b6064820152608401610634565b60006001600160ff1b03821690506121c0816000546125c7565b600055610e53836001600160a01b0316600090815260036020526040812055565b6001600160a01b0382166000908152600360205260409020546122555760405162461bcd60e51b815260206004820152602660248201527f4f70657261746f72206973206e6f74207265676973746572656420696e20746860448201526519481c1bdbdb60d21b6064820152608401610634565b6001600160a01b03821660009081526003602052604081205490546001600160ff1b03821690612288908290859061263c565b60005550505050565b60075460009063ffffffff8111156122eb5760405162461bcd60e51b815260206004820152601660248201527f506f6f6c206361706163697479206578636565646564000000000000000000006044820152606401610634565b6001600160a01b03929092166000818152600660205260408120805463ffffffff191663ffffffff86161790556007805460018101825591527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c68801805473ffffffffffffffffffffffffffffffffffffffff191690911790555090565b60045460009081600761237d60036002612cb3565b6123879190612cb3565b612392836001612b20565b10905080156123af576123a6826001612b20565b60045550919050565b600554806123ff5760405162461bcd60e51b815260206004820152600c60248201527f506f6f6c2069732066756c6c00000000000000000000000000000000000000006044820152606401610634565b6000600561240e600184612b0d565b8154811061241e5761241e6129f3565b90600052602060002001549050600580548061243c5761243c612d0b565b600190038181906000526020600020016000905590558094505050505090565b600067ffffffffffffffff83111561247657612476612d21565b63ffffffff82111561248a5761248a612d21565b6bffffffffffffffffffffffff19606085901b16600060016124ae60036002612cb3565b6124ba90610100612b49565b6124c5906002612cb3565b6124cf9190612b0d565b8416905060006124e160036002612cb3565b6124ed90610100612b49565b60016124fb60036002612cb3565b61250790610100612b49565b612512906060612b0d565b61251d906002612cb3565b6125279190612b0d565b8716901b92909217179150509392505050565b600084815260026020526040812084905561090d858484612666565b60006001611aa560036002612cb3565b6000818363ffffffff81165b80831061259357600193909301929091039060201c63ffffffff8116612572565b50505b9250929050565b600060016125ad60036002612cb3565b6125b79190612b0d565b8216600384901b17905092915050565b60008060016004546125d99190612b0d565b905083811460006125ec8682808861253a565b905081156125fe57600483905561090d565b600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00186905595945050505050565b60008261264885611877565b1461265f57612658848484612666565b90506105cf565b50806105cf565b6000808080858760075b600281106126e75761268182612556565b955061268d8260031c90565b60008281526001602090815260408083208484528252909120805463ffffffff928a0283811b198216938816901b9290921790819055909650945091506126d3846118d4565b9250806126df81612d37565b915050612670565b506126f181612556565b945063ffffffff6020860281811b198916918416901b179998505050505050505050565b80356001600160a01b038116811461272c57600080fd5b919050565b60006020828403121561274357600080fd5b6105cf82612715565b6000806040838503121561275f57600080fd5b61276883612715565b946020939093013593505050565b60008083601f84011261278857600080fd5b50813567ffffffffffffffff8111156127a057600080fd5b6020830191508360208260051b850101111561259657600080fd5b600080602083850312156127ce57600080fd5b823567ffffffffffffffff8111156127e557600080fd5b6127f185828601612776565b90969095509350505050565b6000806040838503121561281057600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b8181101561285d57835163ffffffff168352928401929184019160010161283b565b50909695505050505050565b803563ffffffff8116811461272c57600080fd5b60006020828403121561288f57600080fd5b6105cf82612869565b6000806000806000608086880312156128b057600080fd5b6128b986612715565b9450602086013593506128ce60408701612715565b9250606086013567ffffffffffffffff808211156128eb57600080fd5b818801915088601f8301126128ff57600080fd5b81358181111561290e57600080fd5b89602082850101111561292057600080fd5b9699959850939650602001949392505050565b60008060006040848603121561294857600080fd5b833567ffffffffffffffff81111561295f57600080fd5b61296b86828701612776565b909790965060209590950135949350505050565b6000806040838503121561299257600080fd5b61299b83612715565b91506129a960208401612715565b90509250929050565b6020808252825182820181905260009190848201906040850190845b8181101561285d5783516001600160a01b0316835292840192918401916001016129ce565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201612a3157612a31612a09565b5060010190565b60208082528181018390526000908460408401835b86811015612a79576001600160a01b03612a6684612715565b1682529183019190830190600101612a4d565b509695505050505050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215612aac57600080fd5b815180151581146105cf57600080fd5b6040808252810183905260008460608301825b86811015612afa5763ffffffff612ae584612869565b16825260209283019290910190600101612acf565b5060209390930193909352509392505050565b818103818111156108c8576108c8612a09565b808201808211156108c8576108c8612a09565b634e487b7160e01b600052601260045260246000fd5b600082612b5857612b58612b33565b500490565b6001600160601b03828116828216039080821115612b7d57612b7d612a09565b5092915050565b6001600160601b03818116838216028082169190828114612ba757612ba7612a09565b505092915050565b6001600160601b03818116838216019080821115612b7d57612b7d612a09565b600181815b80851115612c0a578160001904821115612bf057612bf0612a09565b80851615612bfd57918102915b93841c9390800290612bd4565b509250929050565b600082612c21575060016108c8565b81612c2e575060006108c8565b8160018114612c445760028114612c4e57612c6a565b60019150506108c8565b60ff841115612c5f57612c5f612a09565b50506001821b6108c8565b5060208310610133831016604e8410600b8410161715612c8d575081810a6108c8565b612c978383612bcf565b8060001904821115612cab57612cab612a09565b029392505050565b60006105cf8383612c12565b60006001600160601b0380841680612cd957612cd9612b33565b92169190910492915050565b60006001600160601b0380841680612cff57612cff612b33565b92169190910692915050565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052600160045260246000fd5b600081612d4657612d46612a09565b50600019019056fea26469706673582212204aaf547fd358e0168d047738b7943542309ef23817659c37d901ca5bf229fd5964736f6c63430008110033";
|
|
735
735
|
var isSuperArgs = function (xs) { return xs.length > 1; };
|
|
736
736
|
var SortitionPool__factory = /** @class */ (function (_super) {
|
|
737
737
|
__extends(SortitionPool__factory, _super);
|
|
@@ -125,7 +125,7 @@ var _abi = [
|
|
|
125
125
|
type: "function",
|
|
126
126
|
},
|
|
127
127
|
];
|
|
128
|
-
var _bytecode = "
|
|
128
|
+
var _bytecode = "0x608060405234801561001057600080fd5b506104af806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80634308f6dc116100505780634308f6dc146100aa5780637d4046fb146100bd578063c3def248146100d057600080fd5b8063113764be146100775780632b97be241461008d5780633c5e875214610095575b600080fd5b6000545b60405190815260200160405180910390f35b60015461007b565b6100a86100a3366004610218565b600155565b005b6100a86100b8366004610247565b6100e3565b6100a86100cb366004610218565b600055565b6100a86100de366004610247565b6100fd565b60006100f66100f183610112565b610125565b6000555050565b600061010b6100f183610112565b6001555050565b600061011f82600061014d565b92915050565b600061011f7bffff0000000000000000000000000000000000000000000000000000836101f6565b60008061016561015e84604861030e565b8590610209565b60e81c905060008461017885604b61030e565b8151811061018857610188610321565b016020015160f81c905060006101bc83600060108262ffffff16901c8261ff001660108462ffffff16901b17179050919050565b62ffffff16905060006101d0600384610337565b60ff1690506101e181610100610434565b6101eb9083610440565b979650505050505050565b60006102028284610457565b9392505050565b60006102028383016020015190565b60006020828403121561022a57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561025957600080fd5b813567ffffffffffffffff8082111561027157600080fd5b818401915084601f83011261028557600080fd5b81358181111561029757610297610231565b604051601f8201601f19908116603f011681019083821181831017156102bf576102bf610231565b816040528281528760208487010111156102d857600080fd5b826020860160208301376000928101602001929092525095945050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561011f5761011f6102f8565b634e487b7160e01b600052603260045260246000fd5b60ff828116828216039081111561011f5761011f6102f8565b600181815b8085111561038b578160001904821115610371576103716102f8565b8085161561037e57918102915b93841c9390800290610355565b509250929050565b6000826103a25750600161011f565b816103af5750600061011f565b81600181146103c557600281146103cf576103eb565b600191505061011f565b60ff8411156103e0576103e06102f8565b50506001821b61011f565b5060208310610133831016604e8410600b841016171561040e575081810a61011f565b6104188383610350565b806000190482111561042c5761042c6102f8565b029392505050565b60006102028383610393565b808202811582820484141761011f5761011f6102f8565b60008261047457634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220ca9ed4280d238ea4037ad23920ef0f70e9ba8e5b77bab6c20fe172e196c3031764736f6c63430008110033";
|
|
129
129
|
var isSuperArgs = function (xs) { return xs.length > 1; };
|
|
130
130
|
var SystemTestRelay__factory = /** @class */ (function (_super) {
|
|
131
131
|
__extends(SystemTestRelay__factory, _super);
|
|
@@ -1161,7 +1161,7 @@ var _abi = [
|
|
|
1161
1161
|
type: "function",
|
|
1162
1162
|
},
|
|
1163
1163
|
];
|
|
1164
|
-
var _bytecode = "0x60e060405260008054600160a81b600160e81b031916650a8c0000007d60aa1b1790553480156200002f57600080fd5b5060405162003a3d38038062003a3d83398101604081905262000052916200020c565b806200005e33620001a3565b6001600160a01b038116620000c55760405162461bcd60e51b815260206004820152602260248201527f4272696467652063616e206e6f7420626520746865207a65726f206164647265604482015261737360f01b60648201526084015b60405180910390fd5b6001600160a01b039081166080528316620001235760405162461bcd60e51b815260206004820181905260248201527f42616e6b2063616e206e6f7420626520746865207a65726f20616464726573736044820152606401620000bc565b6001600160a01b0382166200018a5760405162461bcd60e51b815260206004820152602660248201527f5442544320746f6b656e2063616e206e6f7420626520746865207a65726f206160448201526564647265737360d01b6064820152608401620000bc565b506001600160a01b0391821660a0521660c05262000260565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146200020957600080fd5b50565b6000806000606084860312156200022257600080fd5b83516200022f81620001f3565b60208501519093506200024281620001f3565b60408501519092506200025581620001f3565b809150509250925092565b60805160a05160c0516137216200031c60003960008181610733015281816108bb01528181610bf401528181611db0015281816120f10152818161298701528181612af20152612c3901526000818161057901528181610c6101528181610dbc01528181610e4a01528181610f4f0152818161216d015281816122a50152818161239601528181612b500152612c9701526000818161075a015281816113f20152818161158e01528181611b620152612b7f01526137216000f3fe608060405234801561001057600080fd5b50600436106103365760003560e01c80638532c511116101b2578063a410d29b116100f9578063c36b32b7116100a2578063e5d3d7141161007c578063e5d3d7141461072e578063e78cea9214610755578063f2fde38b1461077c578063fc4e51f61461078f57600080fd5b8063c36b32b7146106ff578063c7ba034714610712578063d0ff65b51461071e57600080fd5b8063b0b54895116100d3578063b0b54895146106cd578063b9f78798146106d7578063bc7b6b99146106f757600080fd5b8063a410d29b1461068f578063a526d83b14610697578063aa271e1a146106aa57600080fd5b8063951315261161015b5780639a508c8e116101355780639a508c8e1461066b578063a0712d6814610673578063a0cceb951461068657600080fd5b80639513152614610647578063983b2d56146106505780639a4e36d51461066357600080fd5b8063897f712c1161018c578063897f712c1461060f5780638da5cb5b146106235780638f4ffcb11461063457600080fd5b80638532c511146105d95780638623ec7b146105e957806388aaf0c8146105fc57600080fd5b806347c1ffdb116102815780636c626aa41161022a5780637445a5a0116102045780637445a5a01461054657806376cdb03b1461057457806380df5ed2146105b3578063820b5513146105c657600080fd5b80636c626aa4146104d0578063714041561461052b578063715018a61461053e57600080fd5b806364e779b11161025b57806364e779b1146104955780636abe3a6c146104a85780636b32810b146104bb57600080fd5b806347c1ffdb1461046357806353dce4df1461046b5780635ae2da461461047e57600080fd5b80633092afd5116102e3578063461c6373116102bd578063461c63731461042a578063475d05701461043d578063479aa9271461045057600080fd5b80633092afd5146103fb578063317dfa761461040e57806341906ab71461042157600080fd5b80631171bda9116103145780631171bda9146103b4578063124f65bd146103c75780632e73e398146103e857600080fd5b806309b53f511461033b5780630c68ba211461036c5780630f3425731461039f575b600080fd5b60005461035290600160a81b900463ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b61038f61037a366004613010565b60036020526000908152604090205460ff1681565b6040519015158152602001610363565b6103b26103ad366004613046565b6107a2565b005b6103b26103c2366004613063565b6107fd565b6103da6103d53660046130a4565b61081e565b604051908152602001610363565b6103b26103f636600461311d565b610883565b6103b2610409366004613010565b610931565b6103b261041c366004613063565b610ba5565b6103da60095481565b6103b26104383660046131d5565b610c56565b6103b261044b366004613241565b610db1565b6103b261045e366004613010565b610fb2565b6103b2611077565b6103b2610479366004613291565b611115565b60005461035290600160c81b900463ffffffff1681565b6103b26104a33660046132dd565b611136565b6103b26104b63660046130a4565b611153565b6104c36116a0565b60405161036391906132f6565b61050a6104de3660046132dd565b60046020526000908152604090205467ffffffffffffffff808216916801000000000000000090041682565b6040805167ffffffffffffffff938416815292909116602083015201610363565b6103b2610539366004613010565b611702565b6103b26117bb565b6105596105543660046132dd565b6117cf565b60408051938452602084019290925290820152606001610363565b61059b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610363565b6103b26105c13660046130a4565b611807565b6103b26105d43660046130a4565b6119f3565b6006546103529063ffffffff1681565b61059b6105f73660046132dd565b611d84565b600a5461059b906001600160a01b031681565b60005461038f90600160a01b900460ff1681565b6000546001600160a01b031661059b565b6103b2610642366004613343565b611dae565b6103da600b5481565b6103b261065e366004613010565b611ec3565b6103b2611fc0565b6103b261205e565b6103b26106813660046132dd565b612275565b6103da60075481565b6103b26123cd565b6103b26106a5366004613010565b612475565b61038f6106b8366004613010565b60016020526000908152604090205460ff1681565b6103da6201518081565b6103da6106e5366004613010565b60056020526000908152604090205481565b6103b2612558565b6103b261070d366004613046565b6125ef565b6103da6402540be40081565b6008546103529063ffffffff1681565b61059b7f000000000000000000000000000000000000000000000000000000000000000081565b61059b7f000000000000000000000000000000000000000000000000000000000000000081565b6103b261078a366004613010565b612643565b6103b261079d36600461311d565b6126d3565b6107aa612728565b426009556008805463ffffffff191663ffffffff83169081179091556040519081527f682bc0fb7e0d6bcb974cf556b95f68533cafc411d83d9f33ac192ccf45dda605906020015b60405180910390a150565b610805612728565b6108196001600160a01b0384168383612782565b505050565b6000828260405160200161086192919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012060001c90505b92915050565b61088b612728565b6040517ffc4e51f60000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063fc4e51f6906108f890889088908890889088906004016133c2565b600060405180830381600087803b15801561091257600080fd5b505af1158015610926573d6000803e3d6000fd5b505050505050505050565b336109446000546001600160a01b031690565b6001600160a01b0316148061096857503360009081526003602052604090205460ff165b6109df5760405162461bcd60e51b815260206004820152602360248201527f43616c6c6572206973206e6f7420746865206f776e6572206f7220677561726460448201527f69616e000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6001600160a01b03811660009081526001602052604090205460ff16610a475760405162461bcd60e51b815260206004820152601c60248201527f546869732061646472657373206973206e6f742061206d696e7465720000000060448201526064016109d6565b6001600160a01b0381166000908152600160205260408120805460ff191690555b600254811015610b6d57816001600160a01b031660028281548110610a8f57610a8f6133f5565b6000918252602090912001546001600160a01b031603610b5b5760028054610ab990600190613421565b81548110610ac957610ac96133f5565b600091825260209091200154600280546001600160a01b039092169183908110610af557610af56133f5565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506002805480610b3457610b34613434565b600082815260209020810160001990810180546001600160a01b0319169055019055610b6d565b80610b658161344a565b915050610a68565b506040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b610bad612728565b6040517f1171bda90000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301528381166024830152604482018390527f00000000000000000000000000000000000000000000000000000000000000001690631171bda9906064015b600060405180830381600087803b158015610c3957600080fd5b505af1158015610c4d573d6000803e3d6000fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cce5760405162461bcd60e51b815260206004820152601660248201527f43616c6c6572206973206e6f74207468652042616e6b0000000000000000000060448201526064016109d6565b6000839003610d1f5760405162461bcd60e51b815260206004820152601760248201527f4e6f206465706f7369746f72732073706563696669656400000000000000000060448201526064016109d6565b60005b83811015610daa576000858583818110610d3e57610d3e6133f5565b9050602002016020810190610d539190613010565b90506000848484818110610d6957610d696133f5565b905060200201359050610d9582610d90846402540be40085610d8b9190613463565b612802565b612905565b50508080610da29061344a565b915050610d22565b5050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e295760405162461bcd60e51b815260206004820152601660248201527f43616c6c6572206973206e6f74207468652042616e6b0000000000000000000060448201526064016109d6565b6040516370a0823160e01b81526001600160a01b03858116600483015284917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015610e93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb7919061347a565b1015610f105760405162461bcd60e51b815260206004820152602260248201527f416d6f756e7420657863656564732062616c616e636520696e207468652062616044820152616e6b60f01b60648201526084016109d6565b610f2384610d906402540be40086613463565b604051631f1b6d2760e21b81526001600160a01b038581166004830152306024830152604482018590527f00000000000000000000000000000000000000000000000000000000000000001690637c6db49c906064015b600060405180830381600087803b158015610f9457600080fd5b505af1158015610fa8573d6000803e3d6000fd5b5050505050505050565b610fba612728565b6001600160a01b0381166110105760405162461bcd60e51b815260206004820181905260248201527f4e6577207661756c7420616464726573732063616e6e6f74206265207a65726f60448201526064016109d6565b604080516001600160a01b03831681524260208201527f5cc842cab066489e13292128663547c68705dbf476f0131e0107f155719c6124910160405180910390a142600b55600a80546001600160a01b0319166001600160a01b0392909216919091179055565b61107f612728565b60075461108f81620151806129e0565b600654600080547fffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffff1663ffffffff909216600160a81b81029290921790556040519081527fa7f4ce7c3586e2000cdec6b25c5e7d0b20f9b4f435aa22d9c1feb32dbb506f779060200160405180910390a1506006805463ffffffff191690556000600755565b6000611120846117cf565b5050905061113033828585612a89565b50505050565b6000611141826117cf565b5050905061114f3382612bd0565b5050565b3360009081526001602052604090205460ff166111b25760405162461bcd60e51b815260206004820152601660248201527f43616c6c6572206973206e6f742061206d696e7465720000000000000000000060448201526064016109d6565b600054600160a01b900460ff161561120c5760405162461bcd60e51b815260206004820152601960248201527f4f7074696d6973746963206d696e74696e67207061757365640000000000000060448201526064016109d6565b6000611218838361081e565b600081815260046020526040812080549293509167ffffffffffffffff1690036112aa5760405162461bcd60e51b815260206004820152603060248201527f4f7074696d6973746963206d696e74696e67206e6f742072657175657374656460448201527f20666f7220746865206465706f7369740000000000000000000000000000000060648201526084016109d6565b805468010000000000000000900467ffffffffffffffff16156113355760405162461bcd60e51b815260206004820152603460248201527f4f7074696d6973746963206d696e74696e6720616c72656164792066696e616c60448201527f697a656420666f7220746865206465706f73697400000000000000000000000060648201526084016109d6565b600054815461135b91600160c81b900463ffffffff169067ffffffffffffffff16613493565b67ffffffffffffffff1642116113d95760405162461bcd60e51b815260206004820152602b60248201527f4f7074696d6973746963206d696e74696e672064656c617920686173206e6f7460448201527f207061737365642079657400000000000000000000000000000000000000000060648201526084016109d6565b604051630b02c43d60e41b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b02c43d09060240160c060405180830381865afa158015611441573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146591906134e7565b90508060a0015163ffffffff166000146114c15760405162461bcd60e51b815260206004820152601c60248201527f546865206465706f73697420697320616c72656164792073776570740000000060448201526064016109d6565b60006402540be400826080015183602001516114dd9190613594565b67ffffffffffffffff166114f19190613463565b6000805491925090600160a81b900463ffffffff1661151157600061152b565b60005461152b90600160a81b900463ffffffff16836135cb565b83516001600160a01b0316600090815260056020526040812054919250906115549084906135df565b84516001600160a01b03166000908152600560205260409020819055845190915061158390610d908486613421565b8115611614576116147f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160e91906135f2565b83612905565b84547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff16680100000000000000004267ffffffffffffffff160217855583516040518281526001600160a01b0390911690879033907f2cffebf26d639426e79514d100febae8b2c63e700e5dc0fa6c88a129633506369060200160405180910390a45050505050505050565b606060028054806020026020016040519081016040528092919081815260200182805480156116f857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116116da575b5050505050905090565b61170a612728565b6001600160a01b03811660009081526003602052604090205460ff166117725760405162461bcd60e51b815260206004820152601e60248201527f546869732061646472657373206973206e6f74206120677561726469616e000060448201526064016109d6565b6001600160a01b038116600081815260036020526040808220805460ff19169055517fb8107d0c6b40be480ce3172ee66ba6d64b71f6b1685a851340036e6e2e3e3c529190a250565b6117c3612728565b6117cd6000612d1f565b565b600080806117e26402540be4008561360f565b91506117ee8285613421565b92506117ff6402540be400846135cb565b929491935050565b3360009081526003602052604090205460ff166118665760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f74206120677561726469616e000000000000000060448201526064016109d6565b6000611872838361081e565b600081815260046020526040812080549293509167ffffffffffffffff1690036119045760405162461bcd60e51b815260206004820152603060248201527f4f7074696d6973746963206d696e74696e67206e6f742072657175657374656460448201527f20666f7220746865206465706f7369740000000000000000000000000000000060648201526084016109d6565b805468010000000000000000900467ffffffffffffffff161561198f5760405162461bcd60e51b815260206004820152603460248201527f4f7074696d6973746963206d696e74696e6720616c72656164792066696e616c60448201527f697a656420666f7220746865206465706f73697400000000000000000000000060648201526084016109d6565b60008281526004602052604080822080547fffffffffffffffffffffffffffffffff0000000000000000000000000000000016905551839133917f1256b41d4b18d922811c358ab80cb0375aae28f45373de35cfda580662193fcd9190a350505050565b3360009081526001602052604090205460ff16611a525760405162461bcd60e51b815260206004820152601660248201527f43616c6c6572206973206e6f742061206d696e7465720000000000000000000060448201526064016109d6565b600054600160a01b900460ff1615611aac5760405162461bcd60e51b815260206004820152601960248201527f4f7074696d6973746963206d696e74696e67207061757365640000000000000060448201526064016109d6565b6000611ab8838361081e565b600081815260046020526040902080549192509067ffffffffffffffff1615611b495760405162461bcd60e51b815260206004820152603460248201527f4f7074696d6973746963206d696e74696e6720616c726561647920726571756560448201527f7374656420666f7220746865206465706f73697400000000000000000000000060648201526084016109d6565b604051630b02c43d60e41b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b02c43d09060240160c060405180830381865afa158015611bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd591906134e7565b9050806040015163ffffffff16600003611c3b5760405162461bcd60e51b815260206004820152602160248201527f546865206465706f73697420686173206e6f74206265656e2072657665616c656044820152601960fa1b60648201526084016109d6565b60a081015163ffffffff1615611c935760405162461bcd60e51b815260206004820152601c60248201527f546865206465706f73697420697320616c72656164792073776570740000000060448201526064016109d6565b60608101516001600160a01b03163014611cef5760405162461bcd60e51b815260206004820152601860248201527f556e6578706563746564207661756c742061646472657373000000000000000060448201526064016109d6565b815467ffffffffffffffff19164267ffffffffffffffff908116919091178355815160208301516001600160a01b0390911691859133917f36f39c606d55d7dd2a05b8c4e41e9a6ca8c501cea10009c1762f6826a146e05591611d59916402540be4009116613463565b60408051918252602082018b905263ffffffff8a169082015260600160405180910390a45050505050565b60028181548110611d9457600080fd5b6000918252602090912001546001600160a01b0316905081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614611e2f5760405162461bcd60e51b815260206004820152601160248201527f546f6b656e206973206e6f74205442544300000000000000000000000000000060448201526064016109d6565b336001600160a01b03841614611e875760405162461bcd60e51b815260206004820152601860248201527f4f6e6c7920544254432063616c6c657220616c6c6f776564000000000000000060448201526064016109d6565b6000611e92856117cf565b50909150506000829003611eaf57611eaa8682612bd0565b611ebb565b611ebb86828585612a89565b505050505050565b611ecb612728565b6001600160a01b03811660009081526001602052604090205460ff1615611f345760405162461bcd60e51b815260206004820181905260248201527f54686973206164647265737320697320616c72656164792061206d696e74657260448201526064016109d6565b6001600160a01b0381166000818152600160208190526040808320805460ff19168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180546001600160a01b03191684179055517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a250565b611fc8612728565b600954611fd881620151806129e0565b600854600080547fffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffff1663ffffffff909216600160c81b81029290921790556040519081527ff52de3377e3ae270d1e38f99b9b8d587814643811516ea55ba4d597f9950d4ec9060200160405180910390a1506008805463ffffffff191690556000600955565b612066612728565b600b5461207681620151806129e0565b600a546040516001600160a01b0390911681527f81a9bb8030ed4116b405800280e065110a37afb57b69948e714c97fab23475ec9060200160405180910390a1600a546040517ff2fde38b0000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201527f00000000000000000000000000000000000000000000000000000000000000009091169063f2fde38b90602401600060405180830381600087803b15801561213757600080fd5b505af115801561214b573d6000803e3d6000fd5b5050600a546040516370a0823160e01b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811694506356a6d9ef93509091169083906370a0823190602401602060405180830381865afa1580156121c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e7919061347a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561224557600080fd5b505af1158015612259573d6000803e3d6000fd5b5050600a80546001600160a01b031916905550506000600b5550565b600080612281836117cf565b6040516370a0823160e01b8152336004820152929450925082916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691506370a0823190602401602060405180830381865afa1580156122ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612311919061347a565b101561236a5760405162461bcd60e51b815260206004820152602260248201527f416d6f756e7420657863656564732062616c616e636520696e207468652062616044820152616e6b60f01b60648201526084016109d6565b6123743383612905565b604051631f1b6d2760e21b8152336004820152306024820152604481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637c6db49c90606401610c1f565b6123d5612728565b600054600160a01b900460ff16156124395760405162461bcd60e51b815260206004820152602160248201527f4f7074696d6973746963206d696e74696e6720616c72656164792070617573656044820152601960fa1b60648201526084016109d6565b6000805460ff60a01b1916600160a01b1781556040517f23a83c8aeda8c831401c17b5bfb8b2ead79fcfe9c027fe34a4f8576e2c7c74cc9190a1565b61247d612728565b6001600160a01b03811660009081526003602052604090205460ff161561250c5760405162461bcd60e51b815260206004820152602260248201527f54686973206164647265737320697320616c726561647920612067756172646960448201527f616e00000000000000000000000000000000000000000000000000000000000060648201526084016109d6565b6001600160a01b038116600081815260036020526040808220805460ff19166001179055517f038596bb31e2e7d3d9f184d4c98b310103f6d7f5830e5eec32bffe6f1728f9699190a250565b612560612728565b600054600160a01b900460ff166125b95760405162461bcd60e51b815260206004820181905260248201527f4f7074696d6973746963206d696e74696e67206973206e6f742070617573656460448201526064016109d6565b6000805460ff60a01b191681556040517fcb27470ed9568d9eeb8939707bafc19404d908a26ce5f468a6aa781024fd6a839190a1565b6125f7612728565b426007556006805463ffffffff191663ffffffff83169081179091556040519081527f0dbfec7f12acffbb5cec595ac4370907eaf84caa7025dd71f4021433be79eba9906020016107f2565b61264b612728565b6001600160a01b0381166126c75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109d6565b6126d081612d1f565b50565b6126db612728565b6040517fb88d4fde0000000000000000000000000000000000000000000000000000000081526001600160a01b0386169063b88d4fde906108f890309088908890889088906004016133c2565b6000546001600160a01b031633146117cd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109d6565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610819908490612d6f565b6001600160a01b03821660009081526005602052604081205480820361282b578291505061087d565b80831115612892576001600160a01b0384166000818152600560209081526040808320839055519182527fb30abd1b9e3d58cd8525b3d5c5aa002db1e43a150af5b172a8d16efcc7a141f8910160405180910390a261288a8184613421565b91505061087d565b61289c8382613421565b6001600160a01b0385166000818152600560205260409020919091557fb30abd1b9e3d58cd8525b3d5c5aa002db1e43a150af5b172a8d16efcc7a141f86128e38584613421565b60405190815260200160405180910390a2600091505061087d565b5092915050565b816001600160a01b03167f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe8260405161294091815260200190565b60405180910390a26040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f19906044015b600060405180830381600087803b1580156129cc57600080fd5b505af1158015611ebb573d6000803e3d6000fd5b60008211612a305760405162461bcd60e51b815260206004820152601460248201527f4368616e6765206e6f7420696e6974696174656400000000000000000000000060448201526064016109d6565b80612a3b8342613421565b101561114f5760405162461bcd60e51b815260206004820181905260248201527f476f7665726e616e63652064656c617920686173206e6f7420656c617073656460448201526064016109d6565b836001600160a01b03167f68751a4c3821398cb63d11609eca2440742ef19446f0c0261bfa8a13dd0748b884604051612ac491815260200190565b60405180910390a260405163079cc67960e41b81526001600160a01b038581166004830152602482018590527f000000000000000000000000000000000000000000000000000000000000000016906379cc679090604401600060405180830381600087803b158015612b3657600080fd5b505af1158015612b4a573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634a38757e7f00000000000000000000000000000000000000000000000000000000000000006402540be40086612baf91906135cb565b85856040518563ffffffff1660e01b8152600401610f7a9493929190613623565b816001600160a01b03167f68751a4c3821398cb63d11609eca2440742ef19446f0c0261bfa8a13dd0748b882604051612c0b91815260200190565b60405180910390a260405163079cc67960e41b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906379cc679090604401600060405180830381600087803b158015612c7d57600080fd5b505af1158015612c91573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166356a6d9ef836402540be40084612cd691906135cb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016129b2565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000612dc4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612e549092919063ffffffff16565b8051909150156108195780806020019051810190612de29190613656565b6108195760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016109d6565b6060612e638484600085612e6b565b949350505050565b606082471015612ee35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016109d6565b600080866001600160a01b03168587604051612eff919061369c565b60006040518083038185875af1925050503d8060008114612f3c576040519150601f19603f3d011682016040523d82523d6000602084013e612f41565b606091505b5091509150612f5287838387612f5d565b979650505050505050565b60608315612fcc578251600003612fc5576001600160a01b0385163b612fc55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109d6565b5081612e63565b612e638383815115612fe15781518083602001fd5b8060405162461bcd60e51b81526004016109d691906136b8565b6001600160a01b03811681146126d057600080fd5b60006020828403121561302257600080fd5b813561302d81612ffb565b9392505050565b63ffffffff811681146126d057600080fd5b60006020828403121561305857600080fd5b813561302d81613034565b60008060006060848603121561307857600080fd5b833561308381612ffb565b9250602084013561309381612ffb565b929592945050506040919091013590565b600080604083850312156130b757600080fd5b8235915060208301356130c981613034565b809150509250929050565b60008083601f8401126130e657600080fd5b50813567ffffffffffffffff8111156130fe57600080fd5b60208301915083602082850101111561311657600080fd5b9250929050565b60008060008060006080868803121561313557600080fd5b853561314081612ffb565b9450602086013561315081612ffb565b935060408601359250606086013567ffffffffffffffff81111561317357600080fd5b61317f888289016130d4565b969995985093965092949392505050565b60008083601f8401126131a257600080fd5b50813567ffffffffffffffff8111156131ba57600080fd5b6020830191508360208260051b850101111561311657600080fd5b600080600080604085870312156131eb57600080fd5b843567ffffffffffffffff8082111561320357600080fd5b61320f88838901613190565b9096509450602087013591508082111561322857600080fd5b5061323587828801613190565b95989497509550505050565b6000806000806060858703121561325757600080fd5b843561326281612ffb565b935060208501359250604085013567ffffffffffffffff81111561328557600080fd5b613235878288016130d4565b6000806000604084860312156132a657600080fd5b83359250602084013567ffffffffffffffff8111156132c457600080fd5b6132d0868287016130d4565b9497909650939450505050565b6000602082840312156132ef57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156133375783516001600160a01b031683529284019291840191600101613312565b50909695505050505050565b60008060008060006080868803121561335b57600080fd5b853561336681612ffb565b945060208601359350604086013561337d81612ffb565b9250606086013567ffffffffffffffff81111561317357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60006001600160a01b03808816835280871660208401525084604083015260806060830152612f52608083018486613399565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561087d5761087d61340b565b634e487b7160e01b600052603160045260246000fd5b60006001820161345c5761345c61340b565b5060010190565b808202811582820484141761087d5761087d61340b565b60006020828403121561348c57600080fd5b5051919050565b67ffffffffffffffff8181168382160190808211156128fe576128fe61340b565b80516134bf81612ffb565b919050565b805167ffffffffffffffff811681146134bf57600080fd5b80516134bf81613034565b600060c082840312156134f957600080fd5b60405160c0810181811067ffffffffffffffff8211171561352a57634e487b7160e01b600052604160045260246000fd5b604052613536836134b4565b8152613544602084016134c4565b6020820152613555604084016134dc565b6040820152613566606084016134b4565b6060820152613577608084016134c4565b608082015261358860a084016134dc565b60a08201529392505050565b67ffffffffffffffff8281168282160390808211156128fe576128fe61340b565b634e487b7160e01b600052601260045260246000fd5b6000826135da576135da6135b5565b500490565b8082018082111561087d5761087d61340b565b60006020828403121561360457600080fd5b815161302d81612ffb565b60008261361e5761361e6135b5565b500690565b6001600160a01b038516815283602082015260606040820152600061364c606083018486613399565b9695505050505050565b60006020828403121561366857600080fd5b8151801515811461302d57600080fd5b60005b8381101561369357818101518382015260200161367b565b50506000910152565b600082516136ae818460208701613678565b9190910192915050565b60208152600082518060208401526136d7816040850160208701613678565b601f01601f1916919091016040019291505056fea264697066735822122055d2beac2176a7e35046ee03f48e2c686c2b938520ce877ad08f205f2946405664736f6c63430008110033";
|
|
1164
|
+
var _bytecode = "0x60e060405260008054600160a81b600160e81b031916650a8c0000007d60aa1b1790553480156200002f57600080fd5b5060405162003a3d38038062003a3d83398101604081905262000052916200020c565b806200005e33620001a3565b6001600160a01b038116620000c55760405162461bcd60e51b815260206004820152602260248201527f4272696467652063616e206e6f7420626520746865207a65726f206164647265604482015261737360f01b60648201526084015b60405180910390fd5b6001600160a01b039081166080528316620001235760405162461bcd60e51b815260206004820181905260248201527f42616e6b2063616e206e6f7420626520746865207a65726f20616464726573736044820152606401620000bc565b6001600160a01b0382166200018a5760405162461bcd60e51b815260206004820152602660248201527f5442544320746f6b656e2063616e206e6f7420626520746865207a65726f206160448201526564647265737360d01b6064820152608401620000bc565b506001600160a01b0391821660a0521660c05262000260565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146200020957600080fd5b50565b6000806000606084860312156200022257600080fd5b83516200022f81620001f3565b60208501519093506200024281620001f3565b60408501519092506200025581620001f3565b809150509250925092565b60805160a05160c0516137216200031c60003960008181610733015281816108bb01528181610bf401528181611db0015281816120f10152818161298701528181612af20152612c3901526000818161057901528181610c6101528181610dbc01528181610e4a01528181610f4f0152818161216d015281816122a50152818161239601528181612b500152612c9701526000818161075a015281816113f20152818161158e01528181611b620152612b7f01526137216000f3fe608060405234801561001057600080fd5b50600436106103365760003560e01c80638532c511116101b2578063a410d29b116100f9578063c36b32b7116100a2578063e5d3d7141161007c578063e5d3d7141461072e578063e78cea9214610755578063f2fde38b1461077c578063fc4e51f61461078f57600080fd5b8063c36b32b7146106ff578063c7ba034714610712578063d0ff65b51461071e57600080fd5b8063b0b54895116100d3578063b0b54895146106cd578063b9f78798146106d7578063bc7b6b99146106f757600080fd5b8063a410d29b1461068f578063a526d83b14610697578063aa271e1a146106aa57600080fd5b8063951315261161015b5780639a508c8e116101355780639a508c8e1461066b578063a0712d6814610673578063a0cceb951461068657600080fd5b80639513152614610647578063983b2d56146106505780639a4e36d51461066357600080fd5b8063897f712c1161018c578063897f712c1461060f5780638da5cb5b146106235780638f4ffcb11461063457600080fd5b80638532c511146105d95780638623ec7b146105e957806388aaf0c8146105fc57600080fd5b806347c1ffdb116102815780636c626aa41161022a5780637445a5a0116102045780637445a5a01461054657806376cdb03b1461057457806380df5ed2146105b3578063820b5513146105c657600080fd5b80636c626aa4146104d0578063714041561461052b578063715018a61461053e57600080fd5b806364e779b11161025b57806364e779b1146104955780636abe3a6c146104a85780636b32810b146104bb57600080fd5b806347c1ffdb1461046357806353dce4df1461046b5780635ae2da461461047e57600080fd5b80633092afd5116102e3578063461c6373116102bd578063461c63731461042a578063475d05701461043d578063479aa9271461045057600080fd5b80633092afd5146103fb578063317dfa761461040e57806341906ab71461042157600080fd5b80631171bda9116103145780631171bda9146103b4578063124f65bd146103c75780632e73e398146103e857600080fd5b806309b53f511461033b5780630c68ba211461036c5780630f3425731461039f575b600080fd5b60005461035290600160a81b900463ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b61038f61037a366004613010565b60036020526000908152604090205460ff1681565b6040519015158152602001610363565b6103b26103ad366004613046565b6107a2565b005b6103b26103c2366004613063565b6107fd565b6103da6103d53660046130a4565b61081e565b604051908152602001610363565b6103b26103f636600461311d565b610883565b6103b2610409366004613010565b610931565b6103b261041c366004613063565b610ba5565b6103da60095481565b6103b26104383660046131d5565b610c56565b6103b261044b366004613241565b610db1565b6103b261045e366004613010565b610fb2565b6103b2611077565b6103b2610479366004613291565b611115565b60005461035290600160c81b900463ffffffff1681565b6103b26104a33660046132dd565b611136565b6103b26104b63660046130a4565b611153565b6104c36116a0565b60405161036391906132f6565b61050a6104de3660046132dd565b60046020526000908152604090205467ffffffffffffffff808216916801000000000000000090041682565b6040805167ffffffffffffffff938416815292909116602083015201610363565b6103b2610539366004613010565b611702565b6103b26117bb565b6105596105543660046132dd565b6117cf565b60408051938452602084019290925290820152606001610363565b61059b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610363565b6103b26105c13660046130a4565b611807565b6103b26105d43660046130a4565b6119f3565b6006546103529063ffffffff1681565b61059b6105f73660046132dd565b611d84565b600a5461059b906001600160a01b031681565b60005461038f90600160a01b900460ff1681565b6000546001600160a01b031661059b565b6103b2610642366004613343565b611dae565b6103da600b5481565b6103b261065e366004613010565b611ec3565b6103b2611fc0565b6103b261205e565b6103b26106813660046132dd565b612275565b6103da60075481565b6103b26123cd565b6103b26106a5366004613010565b612475565b61038f6106b8366004613010565b60016020526000908152604090205460ff1681565b6103da6201518081565b6103da6106e5366004613010565b60056020526000908152604090205481565b6103b2612558565b6103b261070d366004613046565b6125ef565b6103da6402540be40081565b6008546103529063ffffffff1681565b61059b7f000000000000000000000000000000000000000000000000000000000000000081565b61059b7f000000000000000000000000000000000000000000000000000000000000000081565b6103b261078a366004613010565b612643565b6103b261079d36600461311d565b6126d3565b6107aa612728565b426009556008805463ffffffff191663ffffffff83169081179091556040519081527f682bc0fb7e0d6bcb974cf556b95f68533cafc411d83d9f33ac192ccf45dda605906020015b60405180910390a150565b610805612728565b6108196001600160a01b0384168383612782565b505050565b6000828260405160200161086192919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012060001c90505b92915050565b61088b612728565b6040517ffc4e51f60000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063fc4e51f6906108f890889088908890889088906004016133c2565b600060405180830381600087803b15801561091257600080fd5b505af1158015610926573d6000803e3d6000fd5b505050505050505050565b336109446000546001600160a01b031690565b6001600160a01b0316148061096857503360009081526003602052604090205460ff165b6109df5760405162461bcd60e51b815260206004820152602360248201527f43616c6c6572206973206e6f7420746865206f776e6572206f7220677561726460448201527f69616e000000000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6001600160a01b03811660009081526001602052604090205460ff16610a475760405162461bcd60e51b815260206004820152601c60248201527f546869732061646472657373206973206e6f742061206d696e7465720000000060448201526064016109d6565b6001600160a01b0381166000908152600160205260408120805460ff191690555b600254811015610b6d57816001600160a01b031660028281548110610a8f57610a8f6133f5565b6000918252602090912001546001600160a01b031603610b5b5760028054610ab990600190613421565b81548110610ac957610ac96133f5565b600091825260209091200154600280546001600160a01b039092169183908110610af557610af56133f5565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506002805480610b3457610b34613434565b600082815260209020810160001990810180546001600160a01b0319169055019055610b6d565b80610b658161344a565b915050610a68565b506040516001600160a01b038216907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a250565b610bad612728565b6040517f1171bda90000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301528381166024830152604482018390527f00000000000000000000000000000000000000000000000000000000000000001690631171bda9906064015b600060405180830381600087803b158015610c3957600080fd5b505af1158015610c4d573d6000803e3d6000fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cce5760405162461bcd60e51b815260206004820152601660248201527f43616c6c6572206973206e6f74207468652042616e6b0000000000000000000060448201526064016109d6565b6000839003610d1f5760405162461bcd60e51b815260206004820152601760248201527f4e6f206465706f7369746f72732073706563696669656400000000000000000060448201526064016109d6565b60005b83811015610daa576000858583818110610d3e57610d3e6133f5565b9050602002016020810190610d539190613010565b90506000848484818110610d6957610d696133f5565b905060200201359050610d9582610d90846402540be40085610d8b9190613463565b612802565b612905565b50508080610da29061344a565b915050610d22565b5050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e295760405162461bcd60e51b815260206004820152601660248201527f43616c6c6572206973206e6f74207468652042616e6b0000000000000000000060448201526064016109d6565b6040516370a0823160e01b81526001600160a01b03858116600483015284917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015610e93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb7919061347a565b1015610f105760405162461bcd60e51b815260206004820152602260248201527f416d6f756e7420657863656564732062616c616e636520696e207468652062616044820152616e6b60f01b60648201526084016109d6565b610f2384610d906402540be40086613463565b604051631f1b6d2760e21b81526001600160a01b038581166004830152306024830152604482018590527f00000000000000000000000000000000000000000000000000000000000000001690637c6db49c906064015b600060405180830381600087803b158015610f9457600080fd5b505af1158015610fa8573d6000803e3d6000fd5b5050505050505050565b610fba612728565b6001600160a01b0381166110105760405162461bcd60e51b815260206004820181905260248201527f4e6577207661756c7420616464726573732063616e6e6f74206265207a65726f60448201526064016109d6565b604080516001600160a01b03831681524260208201527f5cc842cab066489e13292128663547c68705dbf476f0131e0107f155719c6124910160405180910390a142600b55600a80546001600160a01b0319166001600160a01b0392909216919091179055565b61107f612728565b60075461108f81620151806129e0565b600654600080547fffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffff1663ffffffff909216600160a81b81029290921790556040519081527fa7f4ce7c3586e2000cdec6b25c5e7d0b20f9b4f435aa22d9c1feb32dbb506f779060200160405180910390a1506006805463ffffffff191690556000600755565b6000611120846117cf565b5050905061113033828585612a89565b50505050565b6000611141826117cf565b5050905061114f3382612bd0565b5050565b3360009081526001602052604090205460ff166111b25760405162461bcd60e51b815260206004820152601660248201527f43616c6c6572206973206e6f742061206d696e7465720000000000000000000060448201526064016109d6565b600054600160a01b900460ff161561120c5760405162461bcd60e51b815260206004820152601960248201527f4f7074696d6973746963206d696e74696e67207061757365640000000000000060448201526064016109d6565b6000611218838361081e565b600081815260046020526040812080549293509167ffffffffffffffff1690036112aa5760405162461bcd60e51b815260206004820152603060248201527f4f7074696d6973746963206d696e74696e67206e6f742072657175657374656460448201527f20666f7220746865206465706f7369740000000000000000000000000000000060648201526084016109d6565b805468010000000000000000900467ffffffffffffffff16156113355760405162461bcd60e51b815260206004820152603460248201527f4f7074696d6973746963206d696e74696e6720616c72656164792066696e616c60448201527f697a656420666f7220746865206465706f73697400000000000000000000000060648201526084016109d6565b600054815461135b91600160c81b900463ffffffff169067ffffffffffffffff16613493565b67ffffffffffffffff1642116113d95760405162461bcd60e51b815260206004820152602b60248201527f4f7074696d6973746963206d696e74696e672064656c617920686173206e6f7460448201527f207061737365642079657400000000000000000000000000000000000000000060648201526084016109d6565b604051630b02c43d60e41b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b02c43d09060240160c060405180830381865afa158015611441573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146591906134e7565b90508060a0015163ffffffff166000146114c15760405162461bcd60e51b815260206004820152601c60248201527f546865206465706f73697420697320616c72656164792073776570740000000060448201526064016109d6565b60006402540be400826080015183602001516114dd9190613594565b67ffffffffffffffff166114f19190613463565b6000805491925090600160a81b900463ffffffff1661151157600061152b565b60005461152b90600160a81b900463ffffffff16836135cb565b83516001600160a01b0316600090815260056020526040812054919250906115549084906135df565b84516001600160a01b03166000908152600560205260409020819055845190915061158390610d908486613421565b8115611614576116147f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166361d027b36040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061160e91906135f2565b83612905565b84547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff16680100000000000000004267ffffffffffffffff160217855583516040518281526001600160a01b0390911690879033907f2cffebf26d639426e79514d100febae8b2c63e700e5dc0fa6c88a129633506369060200160405180910390a45050505050505050565b606060028054806020026020016040519081016040528092919081815260200182805480156116f857602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116116da575b5050505050905090565b61170a612728565b6001600160a01b03811660009081526003602052604090205460ff166117725760405162461bcd60e51b815260206004820152601e60248201527f546869732061646472657373206973206e6f74206120677561726469616e000060448201526064016109d6565b6001600160a01b038116600081815260036020526040808220805460ff19169055517fb8107d0c6b40be480ce3172ee66ba6d64b71f6b1685a851340036e6e2e3e3c529190a250565b6117c3612728565b6117cd6000612d1f565b565b600080806117e26402540be4008561360f565b91506117ee8285613421565b92506117ff6402540be400846135cb565b929491935050565b3360009081526003602052604090205460ff166118665760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f74206120677561726469616e000000000000000060448201526064016109d6565b6000611872838361081e565b600081815260046020526040812080549293509167ffffffffffffffff1690036119045760405162461bcd60e51b815260206004820152603060248201527f4f7074696d6973746963206d696e74696e67206e6f742072657175657374656460448201527f20666f7220746865206465706f7369740000000000000000000000000000000060648201526084016109d6565b805468010000000000000000900467ffffffffffffffff161561198f5760405162461bcd60e51b815260206004820152603460248201527f4f7074696d6973746963206d696e74696e6720616c72656164792066696e616c60448201527f697a656420666f7220746865206465706f73697400000000000000000000000060648201526084016109d6565b60008281526004602052604080822080547fffffffffffffffffffffffffffffffff0000000000000000000000000000000016905551839133917f1256b41d4b18d922811c358ab80cb0375aae28f45373de35cfda580662193fcd9190a350505050565b3360009081526001602052604090205460ff16611a525760405162461bcd60e51b815260206004820152601660248201527f43616c6c6572206973206e6f742061206d696e7465720000000000000000000060448201526064016109d6565b600054600160a01b900460ff1615611aac5760405162461bcd60e51b815260206004820152601960248201527f4f7074696d6973746963206d696e74696e67207061757365640000000000000060448201526064016109d6565b6000611ab8838361081e565b600081815260046020526040902080549192509067ffffffffffffffff1615611b495760405162461bcd60e51b815260206004820152603460248201527f4f7074696d6973746963206d696e74696e6720616c726561647920726571756560448201527f7374656420666f7220746865206465706f73697400000000000000000000000060648201526084016109d6565b604051630b02c43d60e41b8152600481018390526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b02c43d09060240160c060405180830381865afa158015611bb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bd591906134e7565b9050806040015163ffffffff16600003611c3b5760405162461bcd60e51b815260206004820152602160248201527f546865206465706f73697420686173206e6f74206265656e2072657665616c656044820152601960fa1b60648201526084016109d6565b60a081015163ffffffff1615611c935760405162461bcd60e51b815260206004820152601c60248201527f546865206465706f73697420697320616c72656164792073776570740000000060448201526064016109d6565b60608101516001600160a01b03163014611cef5760405162461bcd60e51b815260206004820152601860248201527f556e6578706563746564207661756c742061646472657373000000000000000060448201526064016109d6565b815467ffffffffffffffff19164267ffffffffffffffff908116919091178355815160208301516001600160a01b0390911691859133917f36f39c606d55d7dd2a05b8c4e41e9a6ca8c501cea10009c1762f6826a146e05591611d59916402540be4009116613463565b60408051918252602082018b905263ffffffff8a169082015260600160405180910390a45050505050565b60028181548110611d9457600080fd5b6000918252602090912001546001600160a01b0316905081565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614611e2f5760405162461bcd60e51b815260206004820152601160248201527f546f6b656e206973206e6f74205442544300000000000000000000000000000060448201526064016109d6565b336001600160a01b03841614611e875760405162461bcd60e51b815260206004820152601860248201527f4f6e6c7920544254432063616c6c657220616c6c6f776564000000000000000060448201526064016109d6565b6000611e92856117cf565b50909150506000829003611eaf57611eaa8682612bd0565b611ebb565b611ebb86828585612a89565b505050505050565b611ecb612728565b6001600160a01b03811660009081526001602052604090205460ff1615611f345760405162461bcd60e51b815260206004820181905260248201527f54686973206164647265737320697320616c72656164792061206d696e74657260448201526064016109d6565b6001600160a01b0381166000818152600160208190526040808320805460ff19168317905560028054928301815583527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace90910180546001600160a01b03191684179055517f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f69190a250565b611fc8612728565b600954611fd881620151806129e0565b600854600080547fffffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffff1663ffffffff909216600160c81b81029290921790556040519081527ff52de3377e3ae270d1e38f99b9b8d587814643811516ea55ba4d597f9950d4ec9060200160405180910390a1506008805463ffffffff191690556000600955565b612066612728565b600b5461207681620151806129e0565b600a546040516001600160a01b0390911681527f81a9bb8030ed4116b405800280e065110a37afb57b69948e714c97fab23475ec9060200160405180910390a1600a546040517ff2fde38b0000000000000000000000000000000000000000000000000000000081526001600160a01b0391821660048201527f00000000000000000000000000000000000000000000000000000000000000009091169063f2fde38b90602401600060405180830381600087803b15801561213757600080fd5b505af115801561214b573d6000803e3d6000fd5b5050600a546040516370a0823160e01b81523060048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811694506356a6d9ef93509091169083906370a0823190602401602060405180830381865afa1580156121c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e7919061347a565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561224557600080fd5b505af1158015612259573d6000803e3d6000fd5b5050600a80546001600160a01b031916905550506000600b5550565b600080612281836117cf565b6040516370a0823160e01b8152336004820152929450925082916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691506370a0823190602401602060405180830381865afa1580156122ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612311919061347a565b101561236a5760405162461bcd60e51b815260206004820152602260248201527f416d6f756e7420657863656564732062616c616e636520696e207468652062616044820152616e6b60f01b60648201526084016109d6565b6123743383612905565b604051631f1b6d2760e21b8152336004820152306024820152604481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690637c6db49c90606401610c1f565b6123d5612728565b600054600160a01b900460ff16156124395760405162461bcd60e51b815260206004820152602160248201527f4f7074696d6973746963206d696e74696e6720616c72656164792070617573656044820152601960fa1b60648201526084016109d6565b6000805460ff60a01b1916600160a01b1781556040517f23a83c8aeda8c831401c17b5bfb8b2ead79fcfe9c027fe34a4f8576e2c7c74cc9190a1565b61247d612728565b6001600160a01b03811660009081526003602052604090205460ff161561250c5760405162461bcd60e51b815260206004820152602260248201527f54686973206164647265737320697320616c726561647920612067756172646960448201527f616e00000000000000000000000000000000000000000000000000000000000060648201526084016109d6565b6001600160a01b038116600081815260036020526040808220805460ff19166001179055517f038596bb31e2e7d3d9f184d4c98b310103f6d7f5830e5eec32bffe6f1728f9699190a250565b612560612728565b600054600160a01b900460ff166125b95760405162461bcd60e51b815260206004820181905260248201527f4f7074696d6973746963206d696e74696e67206973206e6f742070617573656460448201526064016109d6565b6000805460ff60a01b191681556040517fcb27470ed9568d9eeb8939707bafc19404d908a26ce5f468a6aa781024fd6a839190a1565b6125f7612728565b426007556006805463ffffffff191663ffffffff83169081179091556040519081527f0dbfec7f12acffbb5cec595ac4370907eaf84caa7025dd71f4021433be79eba9906020016107f2565b61264b612728565b6001600160a01b0381166126c75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016109d6565b6126d081612d1f565b50565b6126db612728565b6040517fb88d4fde0000000000000000000000000000000000000000000000000000000081526001600160a01b0386169063b88d4fde906108f890309088908890889088906004016133c2565b6000546001600160a01b031633146117cd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109d6565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610819908490612d6f565b6001600160a01b03821660009081526005602052604081205480820361282b578291505061087d565b80831115612892576001600160a01b0384166000818152600560209081526040808320839055519182527fb30abd1b9e3d58cd8525b3d5c5aa002db1e43a150af5b172a8d16efcc7a141f8910160405180910390a261288a8184613421565b91505061087d565b61289c8382613421565b6001600160a01b0385166000818152600560205260409020919091557fb30abd1b9e3d58cd8525b3d5c5aa002db1e43a150af5b172a8d16efcc7a141f86128e38584613421565b60405190815260200160405180910390a2600091505061087d565b5092915050565b816001600160a01b03167f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe8260405161294091815260200190565b60405180910390a26040517f40c10f190000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906340c10f19906044015b600060405180830381600087803b1580156129cc57600080fd5b505af1158015611ebb573d6000803e3d6000fd5b60008211612a305760405162461bcd60e51b815260206004820152601460248201527f4368616e6765206e6f7420696e6974696174656400000000000000000000000060448201526064016109d6565b80612a3b8342613421565b101561114f5760405162461bcd60e51b815260206004820181905260248201527f476f7665726e616e63652064656c617920686173206e6f7420656c617073656460448201526064016109d6565b836001600160a01b03167f68751a4c3821398cb63d11609eca2440742ef19446f0c0261bfa8a13dd0748b884604051612ac491815260200190565b60405180910390a260405163079cc67960e41b81526001600160a01b038581166004830152602482018590527f000000000000000000000000000000000000000000000000000000000000000016906379cc679090604401600060405180830381600087803b158015612b3657600080fd5b505af1158015612b4a573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634a38757e7f00000000000000000000000000000000000000000000000000000000000000006402540be40086612baf91906135cb565b85856040518563ffffffff1660e01b8152600401610f7a9493929190613623565b816001600160a01b03167f68751a4c3821398cb63d11609eca2440742ef19446f0c0261bfa8a13dd0748b882604051612c0b91815260200190565b60405180910390a260405163079cc67960e41b81526001600160a01b038381166004830152602482018390527f000000000000000000000000000000000000000000000000000000000000000016906379cc679090604401600060405180830381600087803b158015612c7d57600080fd5b505af1158015612c91573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166356a6d9ef836402540be40084612cd691906135cb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016129b2565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000612dc4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612e549092919063ffffffff16565b8051909150156108195780806020019051810190612de29190613656565b6108195760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016109d6565b6060612e638484600085612e6b565b949350505050565b606082471015612ee35760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016109d6565b600080866001600160a01b03168587604051612eff919061369c565b60006040518083038185875af1925050503d8060008114612f3c576040519150601f19603f3d011682016040523d82523d6000602084013e612f41565b606091505b5091509150612f5287838387612f5d565b979650505050505050565b60608315612fcc578251600003612fc5576001600160a01b0385163b612fc55760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109d6565b5081612e63565b612e638383815115612fe15781518083602001fd5b8060405162461bcd60e51b81526004016109d691906136b8565b6001600160a01b03811681146126d057600080fd5b60006020828403121561302257600080fd5b813561302d81612ffb565b9392505050565b63ffffffff811681146126d057600080fd5b60006020828403121561305857600080fd5b813561302d81613034565b60008060006060848603121561307857600080fd5b833561308381612ffb565b9250602084013561309381612ffb565b929592945050506040919091013590565b600080604083850312156130b757600080fd5b8235915060208301356130c981613034565b809150509250929050565b60008083601f8401126130e657600080fd5b50813567ffffffffffffffff8111156130fe57600080fd5b60208301915083602082850101111561311657600080fd5b9250929050565b60008060008060006080868803121561313557600080fd5b853561314081612ffb565b9450602086013561315081612ffb565b935060408601359250606086013567ffffffffffffffff81111561317357600080fd5b61317f888289016130d4565b969995985093965092949392505050565b60008083601f8401126131a257600080fd5b50813567ffffffffffffffff8111156131ba57600080fd5b6020830191508360208260051b850101111561311657600080fd5b600080600080604085870312156131eb57600080fd5b843567ffffffffffffffff8082111561320357600080fd5b61320f88838901613190565b9096509450602087013591508082111561322857600080fd5b5061323587828801613190565b95989497509550505050565b6000806000806060858703121561325757600080fd5b843561326281612ffb565b935060208501359250604085013567ffffffffffffffff81111561328557600080fd5b613235878288016130d4565b6000806000604084860312156132a657600080fd5b83359250602084013567ffffffffffffffff8111156132c457600080fd5b6132d0868287016130d4565b9497909650939450505050565b6000602082840312156132ef57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156133375783516001600160a01b031683529284019291840191600101613312565b50909695505050505050565b60008060008060006080868803121561335b57600080fd5b853561336681612ffb565b945060208601359350604086013561337d81612ffb565b9250606086013567ffffffffffffffff81111561317357600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60006001600160a01b03808816835280871660208401525084604083015260806060830152612f52608083018486613399565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561087d5761087d61340b565b634e487b7160e01b600052603160045260246000fd5b60006001820161345c5761345c61340b565b5060010190565b808202811582820484141761087d5761087d61340b565b60006020828403121561348c57600080fd5b5051919050565b67ffffffffffffffff8181168382160190808211156128fe576128fe61340b565b80516134bf81612ffb565b919050565b805167ffffffffffffffff811681146134bf57600080fd5b80516134bf81613034565b600060c082840312156134f957600080fd5b60405160c0810181811067ffffffffffffffff8211171561352a57634e487b7160e01b600052604160045260246000fd5b604052613536836134b4565b8152613544602084016134c4565b6020820152613555604084016134dc565b6040820152613566606084016134b4565b6060820152613577608084016134c4565b608082015261358860a084016134dc565b60a08201529392505050565b67ffffffffffffffff8281168282160390808211156128fe576128fe61340b565b634e487b7160e01b600052601260045260246000fd5b6000826135da576135da6135b5565b500490565b8082018082111561087d5761087d61340b565b60006020828403121561360457600080fd5b815161302d81612ffb565b60008261361e5761361e6135b5565b500690565b6001600160a01b038516815283602082015260606040820152600061364c606083018486613399565b9695505050505050565b60006020828403121561366857600080fd5b8151801515811461302d57600080fd5b60005b8381101561369357818101518382015260200161367b565b50506000910152565b600082516136ae818460208701613678565b9190910192915050565b60208152600082518060208401526136d7816040850160208701613678565b601f01601f1916919091016040019291505056fea26469706673582212205dcec7ca0fc7de8832222148cf52bbfd8b1ffd9129f5d971ef0132bb0a1226bf64736f6c63430008110033";
|
|
1165
1165
|
var isSuperArgs = function (xs) { return xs.length > 1; };
|
|
1166
1166
|
var TBTCVault__factory = /** @class */ (function (_super) {
|
|
1167
1167
|
__extends(TBTCVault__factory, _super);
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
18
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
19
|
+
if (!m) return o;
|
|
20
|
+
var i = m.call(o), r, ar = [], e;
|
|
21
|
+
try {
|
|
22
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
23
|
+
}
|
|
24
|
+
catch (error) { e = { error: error }; }
|
|
25
|
+
finally {
|
|
26
|
+
try {
|
|
27
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
28
|
+
}
|
|
29
|
+
finally { if (e) throw e.error; }
|
|
30
|
+
}
|
|
31
|
+
return ar;
|
|
32
|
+
};
|
|
33
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
34
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
35
|
+
if (ar || !(i in from)) {
|
|
36
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
37
|
+
ar[i] = from[i];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
41
|
+
};
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.TestRelay__factory = void 0;
|
|
44
|
+
/* Autogenerated file. Do not edit manually. */
|
|
45
|
+
/* tslint:disable */
|
|
46
|
+
/* eslint-disable */
|
|
47
|
+
var ethers_1 = require("ethers");
|
|
48
|
+
var _abi = [
|
|
49
|
+
{
|
|
50
|
+
inputs: [],
|
|
51
|
+
name: "getCurrentEpochDifficulty",
|
|
52
|
+
outputs: [
|
|
53
|
+
{
|
|
54
|
+
internalType: "uint256",
|
|
55
|
+
name: "",
|
|
56
|
+
type: "uint256",
|
|
57
|
+
},
|
|
58
|
+
],
|
|
59
|
+
stateMutability: "view",
|
|
60
|
+
type: "function",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
inputs: [],
|
|
64
|
+
name: "getPrevEpochDifficulty",
|
|
65
|
+
outputs: [
|
|
66
|
+
{
|
|
67
|
+
internalType: "uint256",
|
|
68
|
+
name: "",
|
|
69
|
+
type: "uint256",
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
stateMutability: "view",
|
|
73
|
+
type: "function",
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
inputs: [
|
|
77
|
+
{
|
|
78
|
+
internalType: "uint256",
|
|
79
|
+
name: "_difficulty",
|
|
80
|
+
type: "uint256",
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
name: "setCurrentEpochDifficulty",
|
|
84
|
+
outputs: [],
|
|
85
|
+
stateMutability: "nonpayable",
|
|
86
|
+
type: "function",
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
inputs: [
|
|
90
|
+
{
|
|
91
|
+
internalType: "bytes",
|
|
92
|
+
name: "bitcoinHeaders",
|
|
93
|
+
type: "bytes",
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
name: "setCurrentEpochDifficultyFromHeaders",
|
|
97
|
+
outputs: [],
|
|
98
|
+
stateMutability: "nonpayable",
|
|
99
|
+
type: "function",
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
inputs: [
|
|
103
|
+
{
|
|
104
|
+
internalType: "uint256",
|
|
105
|
+
name: "_difficulty",
|
|
106
|
+
type: "uint256",
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
name: "setPrevEpochDifficulty",
|
|
110
|
+
outputs: [],
|
|
111
|
+
stateMutability: "nonpayable",
|
|
112
|
+
type: "function",
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
inputs: [
|
|
116
|
+
{
|
|
117
|
+
internalType: "bytes",
|
|
118
|
+
name: "bitcoinHeaders",
|
|
119
|
+
type: "bytes",
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
name: "setPrevEpochDifficultyFromHeaders",
|
|
123
|
+
outputs: [],
|
|
124
|
+
stateMutability: "nonpayable",
|
|
125
|
+
type: "function",
|
|
126
|
+
},
|
|
127
|
+
];
|
|
128
|
+
var _bytecode = "0x608060405234801561001057600080fd5b506104af806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c80634308f6dc116100505780634308f6dc146100aa5780637d4046fb146100bd578063c3def248146100d057600080fd5b8063113764be146100775780632b97be241461008d5780633c5e875214610095575b600080fd5b6000545b60405190815260200160405180910390f35b60015461007b565b6100a86100a3366004610218565b600155565b005b6100a86100b8366004610247565b6100e3565b6100a86100cb366004610218565b600055565b6100a86100de366004610247565b6100fd565b60006100f66100f183610112565b610125565b6000555050565b600061010b6100f183610112565b6001555050565b600061011f82600061014d565b92915050565b600061011f7bffff0000000000000000000000000000000000000000000000000000836101f6565b60008061016561015e84604861030e565b8590610209565b60e81c905060008461017885604b61030e565b8151811061018857610188610321565b016020015160f81c905060006101bc83600060108262ffffff16901c8261ff001660108462ffffff16901b17179050919050565b62ffffff16905060006101d0600384610337565b60ff1690506101e181610100610434565b6101eb9083610440565b979650505050505050565b60006102028284610457565b9392505050565b60006102028383016020015190565b60006020828403121561022a57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561025957600080fd5b813567ffffffffffffffff8082111561027157600080fd5b818401915084601f83011261028557600080fd5b81358181111561029757610297610231565b604051601f8201601f19908116603f011681019083821181831017156102bf576102bf610231565b816040528281528760208487010111156102d857600080fd5b826020860160208301376000928101602001929092525095945050505050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561011f5761011f6102f8565b634e487b7160e01b600052603260045260246000fd5b60ff828116828216039081111561011f5761011f6102f8565b600181815b8085111561038b578160001904821115610371576103716102f8565b8085161561037e57918102915b93841c9390800290610355565b509250929050565b6000826103a25750600161011f565b816103af5750600061011f565b81600181146103c557600281146103cf576103eb565b600191505061011f565b60ff8411156103e0576103e06102f8565b50506001821b61011f565b5060208310610133831016604e8410600b841016171561040e575081810a61011f565b6104188383610350565b806000190482111561042c5761042c6102f8565b029392505050565b60006102028383610393565b808202811582820484141761011f5761011f6102f8565b60008261047457634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220cc8ac2c604f07de26e0cf114f5ef21743184b91cf2ae201189066b52eda809a064736f6c63430008110033";
|
|
129
|
+
var isSuperArgs = function (xs) { return xs.length > 1; };
|
|
130
|
+
var TestRelay__factory = /** @class */ (function (_super) {
|
|
131
|
+
__extends(TestRelay__factory, _super);
|
|
132
|
+
function TestRelay__factory() {
|
|
133
|
+
var args = [];
|
|
134
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
135
|
+
args[_i] = arguments[_i];
|
|
136
|
+
}
|
|
137
|
+
var _this = this;
|
|
138
|
+
if (isSuperArgs(args)) {
|
|
139
|
+
_this = _super.apply(this, __spreadArray([], __read(args), false)) || this;
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
_this = _super.call(this, _abi, _bytecode, args[0]) || this;
|
|
143
|
+
}
|
|
144
|
+
return _this;
|
|
145
|
+
}
|
|
146
|
+
TestRelay__factory.prototype.deploy = function (overrides) {
|
|
147
|
+
return _super.prototype.deploy.call(this, overrides || {});
|
|
148
|
+
};
|
|
149
|
+
TestRelay__factory.prototype.getDeployTransaction = function (overrides) {
|
|
150
|
+
return _super.prototype.getDeployTransaction.call(this, overrides || {});
|
|
151
|
+
};
|
|
152
|
+
TestRelay__factory.prototype.attach = function (address) {
|
|
153
|
+
return _super.prototype.attach.call(this, address);
|
|
154
|
+
};
|
|
155
|
+
TestRelay__factory.prototype.connect = function (signer) {
|
|
156
|
+
return _super.prototype.connect.call(this, signer);
|
|
157
|
+
};
|
|
158
|
+
TestRelay__factory.createInterface = function () {
|
|
159
|
+
return new ethers_1.utils.Interface(_abi);
|
|
160
|
+
};
|
|
161
|
+
TestRelay__factory.connect = function (address, signerOrProvider) {
|
|
162
|
+
return new ethers_1.Contract(address, _abi, signerOrProvider);
|
|
163
|
+
};
|
|
164
|
+
TestRelay__factory.bytecode = _bytecode;
|
|
165
|
+
TestRelay__factory.abi = _abi;
|
|
166
|
+
return TestRelay__factory;
|
|
167
|
+
}(ethers_1.ContractFactory));
|
|
168
|
+
exports.TestRelay__factory = TestRelay__factory;
|