0 txs
0 calls
constructor
constructor()
functions
chainId
viewfunction chainId() view returns (uint256)
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
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
0x6080604052600980546001600160a01b031916600117905534801561002357600080fd5b5061002d3361003f565b6001805546600a55600060045561008f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b613be5806200009f6000396000f3fe608060405260043610620001675760003560e01c8063820d5d2f11620000c5578063ceefd62c1162000078578063ceefd62c14620003fa578063db6b52461462000411578063dced1a5a146200041b578063df0dd38b1462000455578063f2fde38b1462000486578063f3164e9514620004ab57600080fd5b8063820d5d2f146200033c5780638da5cb5b14620003615780639a8a059214620003815780639e281a981462000399578063a3f318ea14620003be578063aaa8f0ac14620003d557600080fd5b806347e7ef24116200011e57806347e7ef24146200028957806355c1b0ff14620002ae5780635dd41af514620002d357806367d3bba814620002f5578063715018a614620002ff57806374df8655146200031757600080fd5b8063081e3eda146200016c57806315f5254e1462000197578063191e2e8314620001b0578063196ed91d14620001d55780632d409d3314620002335780632e8ce8961462000264575b600080fd5b3480156200017957600080fd5b506200018460045481565b6040519081526020015b60405180910390f35b620001ae620001a8366004620023c4565b620004e5565b005b348015620001bd57600080fd5b50620001ae620001cf366004620021a3565b62000550565b348015620001e257600080fd5b506200021a620001f4366004620023f6565b60056020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020016200018e565b3480156200024057600080fd5b506200018462000252366004620023c4565b60086020526000908152604090205481565b3480156200027157600080fd5b50620001ae6200028336600462002428565b62000769565b3480156200029657600080fd5b50620001ae620002a8366004620021a3565b620007a7565b348015620002bb57600080fd5b506200021a620002cd36600462002297565b62000a33565b348015620002e057600080fd5b506009546200021a906001600160a01b031681565b620001ae62000ac5565b3480156200030c57600080fd5b50620001ae62000b25565b3480156200032457600080fd5b50620001ae62000336366004620023c4565b62000b60565b3480156200034957600080fd5b50620001ae6200035b36600462002428565b62000daa565b3480156200036e57600080fd5b506000546001600160a01b03166200021a565b3480156200038e57600080fd5b5062000184600a5481565b348015620003a657600080fd5b50620001ae620003b8366004620021a3565b62000de8565b620001ae620003cf36600462002241565b62000e2b565b348015620003e257600080fd5b50620001ae620003f4366004620020c7565b6200131e565b620001ae6200040b366004620021d1565b62001896565b620001ae62001aab565b3480156200042857600080fd5b506200021a6200043a366004620023c4565b6003602052600090815260409020546001600160a01b031681565b3480156200046257600080fd5b506200018462000474366004620023c4565b60076020526000908152604090205481565b3480156200049357600080fd5b50620001ae620004a536600462002089565b62001b8a565b348015620004b857600080fd5b506200021a620004ca36600462002089565b6002602052600090815260409020546001600160a01b031681565b6000546001600160a01b031633146200051b5760405162461bcd60e51b81526004016200051290620025b7565b60405180910390fd5b6040513390819083156108fc029084906000818181858888f193505050501580156200054b573d6000803e3d6000fd5b505050565b60026001541415620005765760405162461bcd60e51b8152600401620005129062002623565b60026001556001600160a01b038216620005d35760405162461bcd60e51b815260206004820181905260248201527f546f6b656e20616464726573732073686f756c64206265206e6f74206e756c6c604482015260640162000512565b6001600160a01b03828116600090815260026020526040902054166200060d5760405162461bcd60e51b81526004016200051290620025ec565b6040516370a0823160e01b815230600482015281906001600160a01b038416906370a082319060240160206040518083038186803b1580156200064f57600080fd5b505afa15801562000664573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200068a9190620023dd565b1015620006d55760405162461bcd60e51b81526020600482015260186024820152772a3434b9903430b99037379032b737bab3b4103a37b5b2b760411b604482015260640162000512565b6001600160a01b0382811660009081526002602052604090819020549051632770a7eb60e21b815233600482015260248101849052911690639dc29fac90604401600060405180830381600087803b1580156200073157600080fd5b505af115801562000746573d6000803e3d6000fd5b5062000761925050506001600160a01b038316338362001c2c565b505060018055565b6000546001600160a01b03163314620007965760405162461bcd60e51b81526004016200051290620025b7565b600090815260086020526040902055565b60026001541415620007cd5760405162461bcd60e51b8152600401620005129062002623565b60026001556001600160a01b0382166200082a5760405162461bcd60e51b815260206004820181905260248201527f546f6b656e20616464726573732073686f756c64206265206e6f74206e756c6c604482015260640162000512565b6001600160a01b0382811660009081526002602052604090205416620008645760405162461bcd60e51b81526004016200051290620025ec565b6040516370a0823160e01b815233600482015281906001600160a01b038416906370a082319060240160206040518083038186803b158015620008a657600080fd5b505afa158015620008bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620008e19190620023dd565b116200092b5760405162461bcd60e51b81526020600482015260186024820152772cb7ba903430bb329037379032b737bab3b4103a37b5b2b760411b604482015260640162000512565b6040516323b872dd60e01b8152336004820152306024820152604481018290526001600160a01b038316906323b872dd90606401602060405180830381600087803b1580156200097a57600080fd5b505af11580156200098f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620009b591906200221f565b506001600160a01b03828116600090815260026020526040908190205490516340c10f1960e01b8152336004820152602481018490529116906340c10f1990604401600060405180830381600087803b15801562000a1257600080fd5b505af115801562000a27573d6000803e3d6000fd5b50506001805550505050565b6000808787878787873360405162000a4b9062001faf565b62000a5d97969594939291906200250b565b604051809103906000f08015801562000a7a573d6000803e3d6000fd5b506040516001600160a01b03821681529091507f60122e78030aba0a2e4a67adb3e52b411343cc51778f919095d3fe394090c1b29060200160405180910390a1979650505050505050565b6000546001600160a01b0316331462000af25760405162461bcd60e51b81526004016200051290620025b7565b604051339081904780156108fc02916000818181858888f1935050505015801562000b21573d6000803e3d6000fd5b5050565b6000546001600160a01b0316331462000b525760405162461bcd60e51b81526004016200051290620025b7565b62000b5e600062001c91565b565b6002600154141562000b865760405162461bcd60e51b8152600401620005129062002623565b600260018190556009546001600160a01b0390811660009081526020929092526040909120541662000bcc5760405162461bcd60e51b81526004016200051290620025ec565b80471162000c185760405162461bcd60e51b81526020600482015260186024820152772a3434b9903430b99037379032b737bab3b4103a37b5b2b760411b604482015260640162000512565b6009546001600160a01b03908116600090815260026020526040908190205490516370a0823160e01b8152336004820152911690829082906370a082319060240160206040518083038186803b15801562000c7257600080fd5b505afa15801562000c87573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000cad9190620023dd565b101562000cf85760405162461bcd60e51b81526020600482015260186024820152772cb7ba903430bb329037379032b737bab3b4103a37b5b2b760411b604482015260640162000512565b6009546001600160a01b0390811660009081526002602052604090819020549051632770a7eb60e21b815233600482015260248101859052911690639dc29fac90604401600060405180830381600087803b15801562000d5757600080fd5b505af115801562000d6c573d6000803e3d6000fd5b505060405133925082915084156108fc029085906000818181858888f1935050505015801562000da0573d6000803e3d6000fd5b5050600180555050565b6000546001600160a01b0316331462000dd75760405162461bcd60e51b81526004016200051290620025b7565b600090815260076020526040902055565b6000546001600160a01b0316331462000e155760405162461bcd60e51b81526004016200051290620025b7565b62000b216001600160a01b038316338362001c2c565b6000546001600160a01b0316331462000e585760405162461bcd60e51b81526004016200051290620025b7565b600083815260066020908152604080832088845290915290205460ff161562000eb55760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e4b599a5b1b195960921b604482015260640162000512565b60095460008481526005602090815260408083206001600160a01b03898116855292529091205481169116141562000ffb57814782101562000f2f576040516001600160a01b0382169083156108fc029084906000818181858888f1935050505015801562000f28573d6000803e3d6000fd5b5062000ff4565b6040516001600160a01b038216904780156108fc02916000818181858888f1935050505015801562000f65573d6000803e3d6000fd5b506001600160a01b03808616600090815260026020526040902054166340c10f198462000f934786620027ae565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000fda57600080fd5b505af115801562000fef573d6000803e3d6000fd5b505050505b50620012a1565b60008381526005602090815260408083206001600160a01b0388811685529252918290205491516370a0823160e01b81523060048201528392909116906370a082319060240160206040518083038186803b1580156200105a57600080fd5b505afa1580156200106f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620010959190620023dd565b1115620010d45760008381526005602090815260408083206001600160a01b038089168552925290912054620010ce9116838362001c2c565b620012a1565b60008381526005602090815260408083206001600160a01b0388811685529252918290205491516370a0823160e01b81523060048201526200119e92859216906370a082319060240160206040518083038186803b1580156200113657600080fd5b505afa1580156200114b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620011719190620023dd565b60008681526005602090815260408083206001600160a01b03808c16855292529091205416919062001c2c565b6001600160a01b03848116600081815260026020526040908190205490516370a0823160e01b81523060048201529216916340c10f199185916370a082319060240160206040518083038186803b158015620011f957600080fd5b505afa1580156200120e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620012349190620023dd565b620012409085620027ae565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156200128757600080fd5b505af11580156200129c573d6000803e3d6000fd5b505050505b6000838152600660209081526040808320888452825291829020805460ff1916600117905581518581526001600160a01b0387811692820192909252918201839052831660608201527f95ff11ea7319ac07d030a5920415674c1f496f8e89cbd421ac11c56957ba77039060800160405180910390a15050505050565b6000546001600160a01b031633146200134b5760405162461bcd60e51b81526004016200051290620025b7565b8051825114620013915760405162461bcd60e51b815260206004820152601060248201526f0dcdee85acae2eac2d85ad8cadccee8d60831b604482015260640162000512565b6009546001600160a01b038481169116148015620013c757506001600160a01b0383811660009081526002602052604090205416155b15620014f057600a5460408051620e6e0d60eb1b602082015260238082019390935281518082039093018352604381018252630a6e6e0d60e31b60638201528151604781830301815260678201928390526355c1b0ff60e01b90925230926355c1b0ff926200143f92601290600090606b0162002577565b602060405180830381600087803b1580156200145a57600080fd5b505af11580156200146f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620014959190620020a8565b6001600160a01b0380851660008181526002602090815260408083208054969095166001600160a01b031996871617909455600480548352600390915292902080549093161790915554620014ec90600162002750565b6004555b6001600160a01b038381166000908152600260205260409020541662001781576000839050306001600160a01b03166355c1b0ff826001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156200155e57600080fd5b505afa15801562001573573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526200159d919081019062002329565b604051602001620015af9190620024de565b604051602081830303815290604052836001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015620015f857600080fd5b505afa1580156200160d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405262001637919081019062002329565b846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156200167157600080fd5b505afa15801562001686573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016ac91906200244a565b60006040518563ffffffff1660e01b8152600401620016cf949392919062002577565b602060405180830381600087803b158015620016ea57600080fd5b505af1158015620016ff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620017259190620020a8565b6001600160a01b0380861660008181526002602090815260408083208054969095166001600160a01b0319968716179094556004805483526003909152929020805490931617909155546200177c90600162002750565b600455505b60005b82518110156200184f578360056000858481518110620017b457634e487b7160e01b600052603260045260246000fd5b602002602001015181526020019081526020016000206000848481518110620017ed57634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555080806200184690620027f7565b91505062001784565b507f2cda8f4f357208631c6405a9aabdf320ec58d5a8ee739e2a585c63ba1b5933bd600a548484846040516200188994939291906200265a565b60405180910390a1505050565b60026001541415620018bc5760405162461bcd60e51b8152600401620005129062002623565b60026001556009546001600160a01b038581169116141562001943576000838152600760205260409020543490620018f5908462002750565b11156200193d5760405162461bcd60e51b81526020600482015260156024820152746e6f742d656e6f7567682d7374617469632d66656560581b604482015260640162000512565b62001a12565b6000838152600760205260409020543410156200199b5760405162461bcd60e51b81526020600482015260156024820152746e6f742d656e6f7567682d7374617469632d66656560581b604482015260640162000512565b6001600160a01b0384811660009081526002602052604090205416620019fb5760405162461bcd60e51b81526020600482015260146024820152731d1bdad95b881b9bdd081c9959da5cdd195c995960621b604482015260640162000512565b62001a126001600160a01b03851633308562001ce1565b60008381526008602052604081205462001a4a906127109062001a439062001a3b9083620027ae565b869062001d21565b9062001d36565b604080516001600160a01b0380891682526020820184905291810187905290841660608201529091507f657abc778af799d6b7fa15f0bf3b9c593335ac2a05b53368d437cef238e576749060800160405180910390a1505060018055505050565b6002600154141562001ad15760405162461bcd60e51b8152600401620005129062002623565b600260018190556009546001600160a01b0390811660009081526020929092526040909120541662001b175760405162461bcd60e51b81526004016200051290620025ec565b6009546001600160a01b03908116600090815260026020526040908190205490516340c10f1960e01b81523360048201523460248201529116906340c10f1990604401600060405180830381600087803b15801562001b7557600080fd5b505af115801562000da0573d6000803e3d6000fd5b6000546001600160a01b0316331462001bb75760405162461bcd60e51b81526004016200051290620025b7565b6001600160a01b03811662001c1e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000512565b62001c298162001c91565b50565b6040516001600160a01b0383166024820152604481018290526200054b90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915262001d44565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b038085166024830152831660448201526064810182905262001d1b9085906323b872dd60e01b9060840162001c59565b50505050565b600062001d2f82846200278c565b9392505050565b600062001d2f82846200276b565b600062001d9b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031662001e1d9092919063ffffffff16565b8051909150156200054b578080602001905181019062001dbc91906200221f565b6200054b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840162000512565b606062001e2e848460008562001e36565b949350505050565b60608247101562001e995760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840162000512565b6001600160a01b0385163b62001ef25760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640162000512565b600080866001600160a01b0316858760405162001f109190620024c0565b60006040518083038185875af1925050503d806000811462001f4f576040519150601f19603f3d011682016040523d82523d6000602084013e62001f54565b606091505b509150915062001f6682828662001f71565b979650505050505050565b6060831562001f8257508162001d2f565b82511562001f935782518084602001fd5b8160405162461bcd60e51b815260040162000512919062002562565b611348806200286883390190565b600082601f83011262001fce578081fd5b8135602062001fe762001fe18362002729565b620026f5565b80838252828201915082860187848660051b890101111562002007578586fd5b855b85811015620020325781356200201f8162002841565b8452928401929084019060010162002009565b5090979650505050505050565b60008083601f84011262002051578182fd5b50813567ffffffffffffffff81111562002069578182fd5b6020830191508360208285010111156200208257600080fd5b9250929050565b6000602082840312156200209b578081fd5b813562001d2f8162002841565b600060208284031215620020ba578081fd5b815162001d2f8162002841565b600080600060608486031215620020dc578182fd5b8335620020e98162002841565b925060208481013567ffffffffffffffff8082111562002107578485fd5b818701915087601f8301126200211b578485fd5b81356200212c62001fe18262002729565b8082825285820191508585018b878560051b88010111156200214c578889fd5b8895505b838610156200217057803583526001959095019491860191860162002150565b5096505050604087013592508083111562002189578384fd5b5050620021998682870162001fbd565b9150509250925092565b60008060408385031215620021b6578182fd5b8235620021c38162002841565b946020939093013593505050565b60008060008060808587031215620021e7578081fd5b8435620021f48162002841565b935060208501359250604085013591506060850135620022148162002841565b939692955090935050565b60006020828403121562002231578081fd5b8151801515811462001d2f578182fd5b600080600080600060a0868803121562002259578081fd5b8535945060208601356200226d8162002841565b9350604086013592506060860135620022868162002841565b949793965091946080013592915050565b60008060008060008060808789031215620022b0578081fd5b863567ffffffffffffffff80821115620022c8578283fd5b620022d68a838b016200203f565b90985096506020890135915080821115620022ef578283fd5b50620022fe89828a016200203f565b9095509350506040870135620023148162002857565b80925050606087013590509295509295509295565b6000602082840312156200233b578081fd5b815167ffffffffffffffff8082111562002353578283fd5b818401915084601f83011262002367578283fd5b8151818111156200237c576200237c6200282b565b62002391601f8201601f1916602001620026f5565b9150808252856020828501011115620023a8578384fd5b620023bb816020840160208601620027c8565b50949350505050565b600060208284031215620023d6578081fd5b5035919050565b600060208284031215620023ef578081fd5b5051919050565b6000806040838503121562002409578182fd5b8235915060208301356200241d8162002841565b809150509250929050565b600080604083850312156200243b578182fd5b50508035926020909101359150565b6000602082840312156200245c578081fd5b815162001d2f8162002857565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b60008151808452620024ac816020860160208601620027c8565b601f01601f19169290920160200192915050565b60008251620024d4818460208701620027c8565b9190910192915050565b620e6e0d60eb1b815260008251620024fe816003850160208701620027c8565b9190910160030192915050565b60a0815260006200252160a08301898b62002469565b82810360208401526200253681888a62002469565b60ff969096166040840152505060608101929092526001600160a01b0316608090910152949350505050565b60208152600062001d2f602083018462002492565b6080815260006200258c608083018762002492565b8281036020840152620025a0818762002492565b60ff95909516604084015250506060015292915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526017908201527f546f6b656e206973206e6f742072656769737465726564000000000000000000604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b600060808201868352602060018060a01b03808816828601526080604086015282875180855260a0870191508389019450855b81811015620026ab578551835294840194918401916001016200268d565b505085810360608701528651808252908301935082870190855b81811015620026e5578251841686529484019491840191600101620026c5565b50939a9950505050505050505050565b604051601f8201601f1916810167ffffffffffffffff811182821017156200272157620027216200282b565b604052919050565b600067ffffffffffffffff8211156200274657620027466200282b565b5060051b60200190565b6000821982111562002766576200276662002815565b500190565b6000826200278757634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615620027a957620027a962002815565b500290565b600082821015620027c357620027c362002815565b500390565b60005b83811015620027e5578181015183820152602001620027cb565b8381111562001d1b5750506000910152565b60006000198214156200280e576200280e62002815565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811462001c2957600080fd5b60ff8116811462001c2957600080fdfe60806040523480156200001157600080fd5b506040516200134838038062001348833981016040819052620000349162000349565b8451859085906200004d906003906020850190620001f0565b50805162000063906004906020840190620001f0565b505050620000806200007a620000b260201b60201c565b620000b6565b620000a7816200009560ff8616600a62000458565b620000a1908562000523565b62000108565b5050505050620005ae565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620001635760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620001779190620003f4565b90915550506001600160a01b03821660009081526020819052604081208054839290620001a6908490620003f4565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b828054620001fe9062000545565b90600052602060002090601f0160209004810192826200022257600085556200026d565b82601f106200023d57805160ff19168380011785556200026d565b828001600101855582156200026d579182015b828111156200026d57825182559160200191906001019062000250565b506200027b9291506200027f565b5090565b5b808211156200027b576000815560010162000280565b600082601f830112620002a7578081fd5b81516001600160401b0380821115620002c457620002c462000598565b604051601f8301601f19908116603f01168101908282118183101715620002ef57620002ef62000598565b816040528381526020925086838588010111156200030b578485fd5b8491505b838210156200032e57858201830151818301840152908201906200030f565b838211156200033f57848385830101525b9695505050505050565b600080600080600060a0868803121562000361578081fd5b85516001600160401b038082111562000378578283fd5b6200038689838a0162000296565b965060208801519150808211156200039c578283fd5b50620003ab8882890162000296565b945050604086015160ff81168114620003c2578182fd5b6060870151608088015191945092506001600160a01b0381168114620003e6578182fd5b809150509295509295909350565b600082198211156200040a576200040a62000582565b500190565b600181815b808511156200045057816000190482111562000434576200043462000582565b808516156200044257918102915b93841c939080029062000414565b509250929050565b60006200046683836200046d565b9392505050565b6000826200047e575060016200051d565b816200048d575060006200051d565b8160018114620004a65760028114620004b157620004d1565b60019150506200051d565b60ff841115620004c557620004c562000582565b50506001821b6200051d565b5060208310610133831016604e8410600b8410161715620004f6575081810a6200051d565b6200050283836200040f565b806000190482111562000519576200051962000582565b0290505b92915050565b600081600019048311821515161562000540576200054062000582565b500290565b600181811c908216806200055a57607f821691505b602082108114156200057c57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b610d8a80620005be6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d714610209578063a9059cbb1461021c578063dd62ed3e1461022f578063f2fde38b1461026857600080fd5b8063715018a6146101cb5780638da5cb5b146101d357806395d89b41146101ee5780639dc29fac146101f657600080fd5b8063313ce567116100d3578063313ce5671461016b578063395093511461017a57806340c10f191461018d57806370a08231146101a257600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d61027b565b60405161011a9190610c4c565b60405180910390f35b610136610131366004610c23565b61030d565b604051901515815260200161011a565b6002545b60405190815260200161011a565b610136610166366004610be8565b610325565b6040516012815260200161011a565b610136610188366004610c23565b610349565b6101a061019b366004610c23565b610388565b005b61014a6101b0366004610b95565b6001600160a01b031660009081526020819052604090205490565b6101a06103c9565b6005546040516001600160a01b03909116815260200161011a565b61010d6103ff565b6101a0610204366004610c23565b61040e565b610136610217366004610c23565b610442565b61013661022a366004610c23565b6104d4565b61014a61023d366004610bb6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101a0610276366004610b95565b6104e2565b60606003805461028a90610d03565b80601f01602080910402602001604051908101604052809291908181526020018280546102b690610d03565b80156103035780601f106102d857610100808354040283529160200191610303565b820191906000526020600020905b8154815290600101906020018083116102e657829003601f168201915b5050505050905090565b60003361031b81858561057d565b5060019392505050565b6000336103338582856106a2565b61033e858585610734565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061031b9082908690610383908790610cd4565b61057d565b6005546001600160a01b031633146103bb5760405162461bcd60e51b81526004016103b290610c9f565b60405180910390fd5b6103c58282610902565b5050565b6005546001600160a01b031633146103f35760405162461bcd60e51b81526004016103b290610c9f565b6103fd60006109e1565b565b60606004805461028a90610d03565b6005546001600160a01b031633146104385760405162461bcd60e51b81526004016103b290610c9f565b6103c58282610a33565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156104c75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016103b2565b61033e828686840361057d565b60003361031b818585610734565b6005546001600160a01b0316331461050c5760405162461bcd60e51b81526004016103b290610c9f565b6001600160a01b0381166105715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103b2565b61057a816109e1565b50565b6001600160a01b0383166105df5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b2565b6001600160a01b0382166106405760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461072e57818110156107215760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103b2565b61072e848484840361057d565b50505050565b6001600160a01b0383166107985760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b2565b6001600160a01b0382166107fa5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b2565b6001600160a01b038316600090815260208190526040902054818110156108725760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103b2565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906108a9908490610cd4565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108f591815260200190565b60405180910390a361072e565b6001600160a01b0382166109585760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103b2565b806002600082825461096a9190610cd4565b90915550506001600160a01b03821660009081526020819052604081208054839290610997908490610cd4565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216610a935760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103b2565b6001600160a01b03821660009081526020819052604090205481811015610b075760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103b2565b6001600160a01b0383166000908152602081905260408120838303905560028054849290610b36908490610cec565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610695565b80356001600160a01b0381168114610b9057600080fd5b919050565b600060208284031215610ba6578081fd5b610baf82610b79565b9392505050565b60008060408385031215610bc8578081fd5b610bd183610b79565b9150610bdf60208401610b79565b90509250929050565b600080600060608486031215610bfc578081fd5b610c0584610b79565b9250610c1360208501610b79565b9150604084013590509250925092565b60008060408385031215610c35578182fd5b610c3e83610b79565b946020939093013593505050565b6000602080835283518082850152825b81811015610c7857858101830151858201604001528201610c5c565b81811115610c895783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115610ce757610ce7610d3e565b500190565b600082821015610cfe57610cfe610d3e565b500390565b600181811c90821680610d1757607f821691505b60208210811415610d3857634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea2646970667358221220ec09809622b68f55c1c10797764b007108689c5cfb35d963647385218dfc261b64736f6c63430008040033a26469706673582212205af9e389ca1e52d204c6ee081f69a801bf38d1f18436005be79a91dd3edbdbbf64736f6c63430008040033