0 txs
0 calls
constructor
constructor()
functions
chainId
viewfunction chainId() view returns (uint256)
isFilled
viewfunction isFilled(uint256, bytes32) view returns (bool)
nativeTokenAddr
viewfunction nativeTokenAddr() view returns (address)
owner
viewfunction owner() view returns (address)
performanceFee
viewfunction performanceFee(uint256) view returns (uint256)
poolLength
viewfunction poolLength() view returns (uint256)
poolTokens
viewfunction poolTokens(uint256) view returns (address)
reversePairs
viewfunction reversePairs(uint256, address) view returns (address)
sphTokenAddresses
viewfunction sphTokenAddresses(address) view returns (address)
staticFee
viewfunction staticFee(uint256) view returns (uint256)
bridgeToken
payablefunction bridgeToken(address _token, uint256 _targetChainId, uint256 _amount, address _to) payable
deployNewERC20Token
nonpayablefunction deployNewERC20Token(string name, string symbol, uint8 decimals, uint256 initialSupply) returns (address)
deposit
nonpayablefunction deposit(address token, uint256 amount)
depositNative
payablefunction depositNative() payable
emergencyUpdateSphTokenAddresses
nonpayablefunction emergencyUpdateSphTokenAddresses(address _token, address _sphToken)
fillBridgeSwap
payablefunction fillBridgeSwap(bytes32 originTxHash, address _token, uint256 _chainId, address _to, uint256 _amount) payable
reisterPair
nonpayablefunction reisterPair(address _token, uint256[] _chainIds, address[] _tokens)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updatePerformanceFee
nonpayablefunction updatePerformanceFee(uint256 _performanceFee, uint256 _chainId)
updateStaticFee
nonpayablefunction updateStaticFee(uint256 _staticFee, uint256 _chainId)
withDraw
nonpayablefunction withDraw(address token, uint256 amount)
withDrawNative
nonpayablefunction withDrawNative(uint256 _amount)
withdrawNativeCurrency
payablefunction withdrawNativeCurrency() payable
withdrawNativeCurrency
payablefunction withdrawNativeCurrency(uint256 _amount) payable
withdrawToken
nonpayablefunction withdrawToken(address _token, uint256 _amount)
events
BridgeSwapFilled
event BridgeSwapFilled(uint256 chainId, address token, uint256 amount, address to)
BridgeSwapStarted
event BridgeSwapStarted(address token, uint256 amount, uint256 targetChainId, address to)
ERC20TokenCreated
event ERC20TokenCreated(address tokenAddress)
ERC721TokenCreated
event ERC721TokenCreated(address tokenAddress)
NewPairRegistered
event NewPairRegistered(uint256 chainId, address _token, uint256[] chainIds, address[] _tokens)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
No errors.
creation bytecode
0x6080604052600980546001600160a01b031916600117905534801561002357600080fd5b5061002d3361003f565b6001805546600a55600060045561008f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b613e6a806200009f6000396000f3fe608060405260043610620001a15760003560e01c80638da5cb5b11620000e2578063d37fc7b71162000095578063de32fb60116200006c578063de32fb6014620004b4578063df0dd38b1462000504578063f2fde38b1462000535578063f3164e95146200055a57600080fd5b8063d37fc7b7146200044b578063db6b52461462000470578063dced1a5a146200047a57600080fd5b80638da5cb5b146200039b5780639a8a059214620003bb5780639e281a9814620003d3578063a3f318ea14620003f8578063aaa8f0ac146200040f578063ceefd62c146200043457600080fd5b806347e7ef24116200015857806367d3bba8116200012f57806367d3bba8146200032f578063715018a6146200033957806374df86551462000351578063820d5d2f146200037657600080fd5b806347e7ef2414620002c357806355c1b0ff14620002e85780635dd41af5146200030d57600080fd5b8063081e3eda14620001a657806315f5254e14620001d1578063191e2e8314620001ea578063196ed91d146200020f5780632d409d33146200026d5780632e8ce896146200029e575b600080fd5b348015620001b357600080fd5b50620001be60045481565b6040519081526020015b60405180910390f35b620001e8620001e236600462002697565b62000594565b005b348015620001f757600080fd5b50620001e86200020936600462002476565b620005ff565b3480156200021c57600080fd5b50620002546200022e366004620026c9565b60056020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b039091168152602001620001c8565b3480156200027a57600080fd5b50620001be6200028c36600462002697565b60086020526000908152604090205481565b348015620002ab57600080fd5b50620001e8620002bd366004620026f0565b62000818565b348015620002d057600080fd5b50620001e8620002e236600462002476565b62000856565b348015620002f557600080fd5b5062000254620003073660046200256a565b62000b82565b3480156200031a57600080fd5b5060095462000254906001600160a01b031681565b620001e862000c14565b3480156200034657600080fd5b50620001e862000c74565b3480156200035e57600080fd5b50620001e86200037036600462002697565b62000caf565b3480156200038357600080fd5b50620001e862000395366004620026f0565b62000ef9565b348015620003a857600080fd5b506000546001600160a01b031662000254565b348015620003c857600080fd5b50620001be600a5481565b348015620003e057600080fd5b50620001e8620003f236600462002476565b62000f37565b620001e86200040936600462002514565b62000f7a565b3480156200041c57600080fd5b50620001e86200042e3660046200239a565b62001491565b620001e862000445366004620024a4565b62001a09565b3480156200045857600080fd5b50620001e86200046a3660046200235d565b62001cf4565b620001e862001d4f565b3480156200048757600080fd5b50620002546200049936600462002697565b6003602052600090815260409020546001600160a01b031681565b348015620004c157600080fd5b50620004f3620004d3366004620026f0565b600660209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001620001c8565b3480156200051157600080fd5b50620001be6200052336600462002697565b60076020526000908152604090205481565b3480156200054257600080fd5b50620001e8620005543660046200231f565b62001e2e565b3480156200056757600080fd5b5062000254620005793660046200231f565b6002602052600090815260409020546001600160a01b031681565b6000546001600160a01b03163314620005ca5760405162461bcd60e51b8152600401620005c1906200287f565b60405180910390fd5b6040513390819083156108fc029084906000818181858888f19350505050158015620005fa573d6000803e3d6000fd5b505050565b60026001541415620006255760405162461bcd60e51b8152600401620005c190620028eb565b60026001556001600160a01b038216620006825760405162461bcd60e51b815260206004820181905260248201527f546f6b656e20616464726573732073686f756c64206265206e6f74206e756c6c6044820152606401620005c1565b6001600160a01b0382811660009081526002602052604090205416620006bc5760405162461bcd60e51b8152600401620005c190620028b4565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a082319060240160206040518083038186803b158015620006fe57600080fd5b505afa15801562000713573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007399190620026b0565b1015620007845760405162461bcd60e51b81526020600482015260186024820152772a3434b9903430b99037379032b737bab3b4103a37b5b2b760411b6044820152606401620005c1565b6001600160a01b0382811660009081526002602052604090819020549051632770a7eb60e21b815233600482015260248101849052911690639dc29fac90604401600060405180830381600087803b158015620007e057600080fd5b505af1158015620007f5573d6000803e3d6000fd5b5062000810925050506001600160a01b038316338362001ed0565b505060018055565b6000546001600160a01b03163314620008455760405162461bcd60e51b8152600401620005c1906200287f565b600090815260086020526040902055565b600260015414156200087c5760405162461bcd60e51b8152600401620005c190620028eb565b60026001556001600160a01b038216620008d95760405162461bcd60e51b815260206004820181905260248201527f546f6b656e20616464726573732073686f756c64206265206e6f74206e756c6c6044820152606401620005c1565b6001600160a01b0382811660009081526002602052604090205416620009135760405162461bcd60e51b8152600401620005c190620028b4565b6040516370a0823160e01b815233600482015281906001600160a01b038416906370a082319060240160206040518083038186803b1580156200095557600080fd5b505afa1580156200096a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009909190620026b0565b1015620009db5760405162461bcd60e51b81526020600482015260186024820152772cb7ba903430bb329037379032b737bab3b4103a37b5b2b760411b6044820152606401620005c1565b6040516370a0823160e01b815230600482015281906000906001600160a01b038516906370a082319060240160206040518083038186803b15801562000a2057600080fd5b505afa15801562000a35573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a5b9190620026b0565b905062000a746001600160a01b03851633308662001f35565b6040516370a0823160e01b81523060048201526000906001600160a01b038616906370a082319060240160206040518083038186803b15801562000ab757600080fd5b505afa15801562000acc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000af29190620026b0565b905062000b00818362001f75565b6001600160a01b03868116600090815260026020526040908190205490516340c10f1960e01b81523360048201526024810184905292955016906340c10f1990604401600060405180830381600087803b15801562000b5e57600080fd5b505af115801562000b73573d6000803e3d6000fd5b50506001805550505050505050565b6000808787878787873360405162000b9a9062002245565b62000bac9796959493929190620027d3565b604051809103906000f08015801562000bc9573d6000803e3d6000fd5b506040516001600160a01b03821681529091507f60122e78030aba0a2e4a67adb3e52b411343cc51778f919095d3fe394090c1b29060200160405180910390a1979650505050505050565b6000546001600160a01b0316331462000c415760405162461bcd60e51b8152600401620005c1906200287f565b604051339081904780156108fc02916000818181858888f1935050505015801562000c70573d6000803e3d6000fd5b5050565b6000546001600160a01b0316331462000ca15760405162461bcd60e51b8152600401620005c1906200287f565b62000cad600062001f8a565b565b6002600154141562000cd55760405162461bcd60e51b8152600401620005c190620028eb565b600260018190556009546001600160a01b0390811660009081526020929092526040909120541662000d1b5760405162461bcd60e51b8152600401620005c190620028b4565b80471162000d675760405162461bcd60e51b81526020600482015260186024820152772a3434b9903430b99037379032b737bab3b4103a37b5b2b760411b6044820152606401620005c1565b6009546001600160a01b03908116600090815260026020526040908190205490516370a0823160e01b8152336004820152911690829082906370a082319060240160206040518083038186803b15801562000dc157600080fd5b505afa15801562000dd6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000dfc9190620026b0565b101562000e475760405162461bcd60e51b81526020600482015260186024820152772cb7ba903430bb329037379032b737bab3b4103a37b5b2b760411b6044820152606401620005c1565b6009546001600160a01b0390811660009081526002602052604090819020549051632770a7eb60e21b815233600482015260248101859052911690639dc29fac90604401600060405180830381600087803b15801562000ea657600080fd5b505af115801562000ebb573d6000803e3d6000fd5b505060405133925082915084156108fc029085906000818181858888f1935050505015801562000eef573d6000803e3d6000fd5b5050600180555050565b6000546001600160a01b0316331462000f265760405162461bcd60e51b8152600401620005c1906200287f565b600090815260076020526040902055565b6000546001600160a01b0316331462000f645760405162461bcd60e51b8152600401620005c1906200287f565b62000c706001600160a01b038316338362001ed0565b6000546001600160a01b0316331462000fa75760405162461bcd60e51b8152600401620005c1906200287f565b600083815260066020908152604080832088845290915290205460ff1615620010045760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e4b599a5b1b195960921b6044820152606401620005c1565b60095460008481526005602090815260408083206001600160a01b0389811685529252909120548116911614156200114d5781478210156200107e576040516001600160a01b0382169083156108fc029084906000818181858888f1935050505015801562001077573d6000803e3d6000fd5b5062001146565b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015620010b4573d6000803e3d6000fd5b506009546001600160a01b03908116600090815260026020526040902054166340c10f1984620010e5478662002a33565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156200112c57600080fd5b505af115801562001141573d6000803e3d6000fd5b505050505b5062001414565b60008381526005602090815260408083206001600160a01b0388811685529252918290205491516370a0823160e01b81523060048201528392909116906370a082319060240160206040518083038186803b158015620011ac57600080fd5b505afa158015620011c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011e79190620026b0565b1115620012265760008381526005602090815260408083206001600160a01b038089168552925290912054620012209116838362001ed0565b62001414565b60008381526005602090815260408083206001600160a01b038881168086528285528386205482168087526002865284872054919096529190935290516370a0823160e01b81523060048201529116916340c10f19918591906370a082319060240160206040518083038186803b158015620012a157600080fd5b505afa158015620012b6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012dc9190620026b0565b620012e8908562002a33565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156200132f57600080fd5b505af115801562001344573d6000803e3d6000fd5b50505060008481526005602090815260408083206001600160a01b0389811685529252918290205491516370a0823160e01b81523060048201526200141493508592909116906370a082319060240160206040518083038186803b158015620013ac57600080fd5b505afa158015620013c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620013e79190620026b0565b60008681526005602090815260408083206001600160a01b03808c16855292529091205416919062001ed0565b6000838152600660209081526040808320888452825291829020805460ff1916600117905581518581526001600160a01b0387811692820192909252918201839052831660608201527f95ff11ea7319ac07d030a5920415674c1f496f8e89cbd421ac11c56957ba77039060800160405180910390a15050505050565b6000546001600160a01b03163314620014be5760405162461bcd60e51b8152600401620005c1906200287f565b8051825114620015045760405162461bcd60e51b815260206004820152601060248201526f0dcdee85acae2eac2d85ad8cadccee8d60831b6044820152606401620005c1565b6009546001600160a01b0384811691161480156200153a57506001600160a01b0383811660009081526002602052604090205416155b156200166357600a5460408051620e6e0d60eb1b602082015260238082019390935281518082039093018352604381018252630a6e6e0d60e31b60638201528151604781830301815260678201928390526355c1b0ff60e01b90925230926355c1b0ff92620015b292601290600090606b016200283f565b602060405180830381600087803b158015620015cd57600080fd5b505af1158015620015e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200160891906200233e565b6001600160a01b0380851660008181526002602090815260408083208054969095166001600160a01b0319968716179094556004805483526003909152929020805490931617909155546200165f90600162002a18565b6004555b6001600160a01b0383811660009081526002602052604090205416620018f4576000839050306001600160a01b03166355c1b0ff826001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015620016d157600080fd5b505afa158015620016e6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620017109190810190620025fc565b604051602001620017229190620027a6565b604051602081830303815290604052836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156200176b57600080fd5b505afa15801562001780573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052620017aa9190810190620025fc565b846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015620017e457600080fd5b505afa158015620017f9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200181f919062002712565b60006040518563ffffffff1660e01b81526004016200184294939291906200283f565b602060405180830381600087803b1580156200185d57600080fd5b505af115801562001872573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200189891906200233e565b6001600160a01b0380861660008181526002602090815260408083208054969095166001600160a01b031996871617909455600480548352600390915292902080549093161790915554620018ef90600162002a18565b600455505b60005b8251811015620019c25783600560008584815181106200192757634e487b7160e01b600052603260045260246000fd5b6020026020010151815260200190815260200160002060008484815181106200196057634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508080620019b99062002a7c565b915050620018f7565b507f2cda8f4f357208631c6405a9aabdf320ec58d5a8ee739e2a585c63ba1b5933bd600a54848484604051620019fc949392919062002922565b60405180910390a1505050565b6002600154141562001a2f5760405162461bcd60e51b8152600401620005c190620028eb565b600260015560095482906001600160a01b038681169116141562001ab857600084815260076020526040902054349062001a6a908562002a18565b111562001ab25760405162461bcd60e51b81526020600482015260156024820152746e6f742d656e6f7567682d7374617469632d66656560581b6044820152606401620005c1565b62001c98565b60008481526007602052604090205434101562001b105760405162461bcd60e51b81526020600482015260156024820152746e6f742d656e6f7567682d7374617469632d66656560581b6044820152606401620005c1565b6001600160a01b038581166000908152600260205260409020541662001b705760405162461bcd60e51b81526020600482015260146024820152731d1bdad95b881b9bdd081c9959da5cdd195c995960621b6044820152606401620005c1565b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a082319060240160206040518083038186803b15801562001bb357600080fd5b505afa15801562001bc8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001bee9190620026b0565b905062001c076001600160a01b03871633308562001f35565b6040516370a0823160e01b81523060048201526000906001600160a01b038816906370a082319060240160206040518083038186803b15801562001c4a57600080fd5b505afa15801562001c5f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001c859190620026b0565b905062001c93818362001f75565b925050505b604080516001600160a01b038781168252602082018490528183018790528416606082015290517f657abc778af799d6b7fa15f0bf3b9c593335ac2a05b53368d437cef238e576749181900360800190a1505060018055505050565b6000546001600160a01b0316331462001d215760405162461bcd60e51b8152600401620005c1906200287f565b6001600160a01b03918216600090815260026020526040902080546001600160a01b03191691909216179055565b6002600154141562001d755760405162461bcd60e51b8152600401620005c190620028eb565b600260018190556009546001600160a01b0390811660009081526020929092526040909120541662001dbb5760405162461bcd60e51b8152600401620005c190620028b4565b6009546001600160a01b03908116600090815260026020526040908190205490516340c10f1960e01b81523360048201523460248201529116906340c10f1990604401600060405180830381600087803b15801562001e1957600080fd5b505af115801562000eef573d6000803e3d6000fd5b6000546001600160a01b0316331462001e5b5760405162461bcd60e51b8152600401620005c1906200287f565b6001600160a01b03811662001ec25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620005c1565b62001ecd8162001f8a565b50565b6040516001600160a01b038316602482015260448101829052620005fa90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262001fda565b6040516001600160a01b038085166024830152831660448201526064810182905262001f6f9085906323b872dd60e01b9060840162001efd565b50505050565b600062001f83828462002a33565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600062002031826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620020b39092919063ffffffff16565b805190915015620005fa5780806020019051810190620020529190620024f2565b620005fa5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401620005c1565b6060620020c48484600085620020cc565b949350505050565b6060824710156200212f5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401620005c1565b6001600160a01b0385163b620021885760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401620005c1565b600080866001600160a01b03168587604051620021a6919062002788565b60006040518083038185875af1925050503d8060008114620021e5576040519150601f19603f3d011682016040523d82523d6000602084013e620021ea565b606091505b5091509150620021fc82828662002207565b979650505050505050565b606083156200221857508162001f83565b825115620022295782518084602001fd5b8160405162461bcd60e51b8152600401620005c191906200282a565b6113488062002aed83390190565b600082601f83011262002264578081fd5b813560206200227d6200227783620029f1565b620029bd565b80838252828201915082860187848660051b89010111156200229d578586fd5b855b85811015620022c8578135620022b58162002ac6565b845292840192908401906001016200229f565b5090979650505050505050565b60008083601f840112620022e7578182fd5b50813567ffffffffffffffff811115620022ff578182fd5b6020830191508360208285010111156200231857600080fd5b9250929050565b60006020828403121562002331578081fd5b813562001f838162002ac6565b60006020828403121562002350578081fd5b815162001f838162002ac6565b6000806040838503121562002370578081fd5b82356200237d8162002ac6565b915060208301356200238f8162002ac6565b809150509250929050565b600080600060608486031215620023af578081fd5b8335620023bc8162002ac6565b925060208481013567ffffffffffffffff80821115620023da578384fd5b818701915087601f830112620023ee578384fd5b8135620023ff6200227782620029f1565b8082825285820191508585018b878560051b88010111156200241f578788fd5b8795505b838610156200244357803583526001959095019491860191860162002423565b509650505060408701359250808311156200245c578384fd5b50506200246c8682870162002253565b9150509250925092565b6000806040838503121562002489578182fd5b8235620024968162002ac6565b946020939093013593505050565b60008060008060808587031215620024ba578081fd5b8435620024c78162002ac6565b935060208501359250604085013591506060850135620024e78162002ac6565b939692955090935050565b60006020828403121562002504578081fd5b8151801515811462001f83578182fd5b600080600080600060a086880312156200252c578081fd5b853594506020860135620025408162002ac6565b9350604086013592506060860135620025598162002ac6565b949793965091946080013592915050565b6000806000806000806080878903121562002583578384fd5b863567ffffffffffffffff808211156200259b578586fd5b620025a98a838b01620022d5565b90985096506020890135915080821115620025c2578586fd5b50620025d189828a01620022d5565b9095509350506040870135620025e78162002adc565b80925050606087013590509295509295509295565b6000602082840312156200260e578081fd5b815167ffffffffffffffff8082111562002626578283fd5b818401915084601f8301126200263a578283fd5b8151818111156200264f576200264f62002ab0565b62002664601f8201601f1916602001620029bd565b91508082528560208285010111156200267b578384fd5b6200268e81602084016020860162002a4d565b50949350505050565b600060208284031215620026a9578081fd5b5035919050565b600060208284031215620026c2578081fd5b5051919050565b60008060408385031215620026dc578182fd5b8235915060208301356200238f8162002ac6565b6000806040838503121562002703578182fd5b50508035926020909101359150565b60006020828403121562002724578081fd5b815162001f838162002adc565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b600081518084526200277481602086016020860162002a4d565b601f01601f19169290920160200192915050565b600082516200279c81846020870162002a4d565b9190910192915050565b620e6e0d60eb1b815260008251620027c681600385016020870162002a4d565b9190910160030192915050565b60a081526000620027e960a08301898b62002731565b8281036020840152620027fe81888a62002731565b60ff969096166040840152505060608101929092526001600160a01b0316608090910152949350505050565b60208152600062001f8360208301846200275a565b6080815260006200285460808301876200275a565b82810360208401526200286881876200275a565b60ff95909516604084015250506060015292915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526017908201527f546f6b656e206973206e6f742072656769737465726564000000000000000000604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b600060808201868352602060018060a01b03808816828601526080604086015282875180855260a0870191508389019450855b81811015620029735785518352948401949184019160010162002955565b505085810360608701528651808252908301935082870190855b81811015620029ad5782518416865294840194918401916001016200298d565b50939a9950505050505050505050565b604051601f8201601f1916810167ffffffffffffffff81118282101715620029e957620029e962002ab0565b604052919050565b600067ffffffffffffffff82111562002a0e5762002a0e62002ab0565b5060051b60200190565b6000821982111562002a2e5762002a2e62002a9a565b500190565b60008282101562002a485762002a4862002a9a565b500390565b60005b8381101562002a6a57818101518382015260200162002a50565b8381111562001f6f5750506000910152565b600060001982141562002a935762002a9362002a9a565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811462001ecd57600080fd5b60ff8116811462001ecd57600080fdfe60806040523480156200001157600080fd5b506040516200134838038062001348833981016040819052620000349162000349565b8451859085906200004d906003906020850190620001f0565b50805162000063906004906020840190620001f0565b505050620000806200007a620000b260201b60201c565b620000b6565b620000a7816200009560ff8616600a62000458565b620000a1908562000523565b62000108565b5050505050620005ae565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620001635760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620001779190620003f4565b90915550506001600160a01b03821660009081526020819052604081208054839290620001a6908490620003f4565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b828054620001fe9062000545565b90600052602060002090601f0160209004810192826200022257600085556200026d565b82601f106200023d57805160ff19168380011785556200026d565b828001600101855582156200026d579182015b828111156200026d57825182559160200191906001019062000250565b506200027b9291506200027f565b5090565b5b808211156200027b576000815560010162000280565b600082601f830112620002a7578081fd5b81516001600160401b0380821115620002c457620002c462000598565b604051601f8301601f19908116603f01168101908282118183101715620002ef57620002ef62000598565b816040528381526020925086838588010111156200030b578485fd5b8491505b838210156200032e57858201830151818301840152908201906200030f565b838211156200033f57848385830101525b9695505050505050565b600080600080600060a0868803121562000361578081fd5b85516001600160401b038082111562000378578283fd5b6200038689838a0162000296565b965060208801519150808211156200039c578283fd5b50620003ab8882890162000296565b945050604086015160ff81168114620003c2578182fd5b6060870151608088015191945092506001600160a01b0381168114620003e6578182fd5b809150509295509295909350565b600082198211156200040a576200040a62000582565b500190565b600181815b808511156200045057816000190482111562000434576200043462000582565b808516156200044257918102915b93841c939080029062000414565b509250929050565b60006200046683836200046d565b9392505050565b6000826200047e575060016200051d565b816200048d575060006200051d565b8160018114620004a65760028114620004b157620004d1565b60019150506200051d565b60ff841115620004c557620004c562000582565b50506001821b6200051d565b5060208310610133831016604e8410600b8410161715620004f6575081810a6200051d565b6200050283836200040f565b806000190482111562000519576200051962000582565b0290505b92915050565b600081600019048311821515161562000540576200054062000582565b500290565b600181811c908216806200055a57607f821691505b602082108114156200057c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b610d8a80620005be6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d714610209578063a9059cbb1461021c578063dd62ed3e1461022f578063f2fde38b1461026857600080fd5b8063715018a6146101cb5780638da5cb5b146101d357806395d89b41146101ee5780639dc29fac146101f657600080fd5b8063313ce567116100d3578063313ce5671461016b578063395093511461017a57806340c10f191461018d57806370a08231146101a257600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d61027b565b60405161011a9190610c4c565b60405180910390f35b610136610131366004610c23565b61030d565b604051901515815260200161011a565b6002545b60405190815260200161011a565b610136610166366004610be8565b610325565b6040516012815260200161011a565b610136610188366004610c23565b610349565b6101a061019b366004610c23565b610388565b005b61014a6101b0366004610b95565b6001600160a01b031660009081526020819052604090205490565b6101a06103c9565b6005546040516001600160a01b03909116815260200161011a565b61010d6103ff565b6101a0610204366004610c23565b61040e565b610136610217366004610c23565b610442565b61013661022a366004610c23565b6104d4565b61014a61023d366004610bb6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101a0610276366004610b95565b6104e2565b60606003805461028a90610d03565b80601f01602080910402602001604051908101604052809291908181526020018280546102b690610d03565b80156103035780601f106102d857610100808354040283529160200191610303565b820191906000526020600020905b8154815290600101906020018083116102e657829003601f168201915b5050505050905090565b60003361031b81858561057d565b5060019392505050565b6000336103338582856106a2565b61033e858585610734565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061031b9082908690610383908790610cd4565b61057d565b6005546001600160a01b031633146103bb5760405162461bcd60e51b81526004016103b290610c9f565b60405180910390fd5b6103c58282610902565b5050565b6005546001600160a01b031633146103f35760405162461bcd60e51b81526004016103b290610c9f565b6103fd60006109e1565b565b60606004805461028a90610d03565b6005546001600160a01b031633146104385760405162461bcd60e51b81526004016103b290610c9f565b6103c58282610a33565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156104c75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103b2565b61033e828686840361057d565b60003361031b818585610734565b6005546001600160a01b0316331461050c5760405162461bcd60e51b81526004016103b290610c9f565b6001600160a01b0381166105715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103b2565b61057a816109e1565b50565b6001600160a01b0383166105df5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b2565b6001600160a01b0382166106405760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461072e57818110156107215760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103b2565b61072e848484840361057d565b50505050565b6001600160a01b0383166107985760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b2565b6001600160a01b0382166107fa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b2565b6001600160a01b038316600090815260208190526040902054818110156108725760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103b2565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906108a9908490610cd4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108f591815260200190565b60405180910390a361072e565b6001600160a01b0382166109585760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103b2565b806002600082825461096a9190610cd4565b90915550506001600160a01b03821660009081526020819052604081208054839290610997908490610cd4565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216610a935760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103b2565b6001600160a01b03821660009081526020819052604090205481811015610b075760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103b2565b6001600160a01b0383166000908152602081905260408120838303905560028054849290610b36908490610cec565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610695565b80356001600160a01b0381168114610b9057600080fd5b919050565b600060208284031215610ba6578081fd5b610baf82610b79565b9392505050565b60008060408385031215610bc8578081fd5b610bd183610b79565b9150610bdf60208401610b79565b90509250929050565b600080600060608486031215610bfc578081fd5b610c0584610b79565b9250610c1360208501610b79565b9150604084013590509250925092565b60008060408385031215610c35578182fd5b610c3e83610b79565b946020939093013593505050565b6000602080835283518082850152825b81811015610c7857858101830151858201604001528201610c5c565b81811115610c895783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115610ce757610ce7610d3e565b500190565b600082821015610cfe57610cfe610d3e565b500390565b600181811c90821680610d1757607f821691505b60208210811415610d3857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea264697066735822122002fd172c266fe3da4171528f2100fc3cb51c30bbc65d744b4b908055b790601864736f6c63430008040033a26469706673582212207866e5d7467654dab9ee506a0df34575df26198ec70073544fd6036f75a70d5064736f6c63430008040033