0 txs
0 calls
constructor
constructor(address _owner)
functions
isAdmin
viewfunction isAdmin(address) view returns (bool)
operator
viewfunction operator() view returns (address)
orders
viewfunction orders(bytes32) view returns (address token, address sender, uint256 amount, uint256 targetChainId, address targetReceiver, bytes32 hashlock, uint256 timelock, bool confirmed, bool refunded)
outExecuted
viewfunction outExecuted(bytes32) view returns (bool)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
userBalances
viewfunction userBalances(address, address) view returns (uint256)
addAdmin
nonpayablefunction addAdmin(address admin)
addAdmins
nonpayablefunction addAdmins(address[] admins)
depositLiquidity
nonpayablefunction depositLiquidity(address token, uint256 amount)
pause
nonpayablefunction pause()
rebalanceOut
nonpayablefunction rebalanceOut(address token, uint256 amount)
removeAdmin
nonpayablefunction removeAdmin(address admin)
renounceOwnership
nonpayablefunction renounceOwnership()
setOperator
nonpayablefunction setOperator(address newOperator)
swapConfirm
nonpayablefunction swapConfirm(bytes32 hashlock, bool success)
swapIn
nonpayablefunction swapIn(address token, uint256 amount, uint256 targetChainId, address targetReceiver, bytes32 hashlock, uint256 timelock)
swapOut
nonpayablefunction swapOut(address token, uint256 amount, address swapTarget, address spender, bytes swapCallData, address receiver, bytes32 hashlock, bytes preimage)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdrawLiquidity
nonpayablefunction withdrawLiquidity(address token, uint256 amount)
events
AdminAdded
event AdminAdded(address indexed admin)
AdminRemoved
event AdminRemoved(address indexed admin)
LiquidityDeposited
event LiquidityDeposited(address indexed provider, address indexed token, uint256 amount)
LiquidityWithdrawn
event LiquidityWithdrawn(address indexed provider, address indexed token, uint256 amount)
OperatorChanged
event OperatorChanged(address indexed operator)
OperatorRebalanced
event OperatorRebalanced(address indexed token, address indexed to, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
SwapConfirmed
event SwapConfirmed(bytes32 indexed hashlock, address indexed sender, address indexed token, uint256 amount)
SwapIn
event SwapIn(address indexed sender, address indexed token, uint256 amount, uint256 targetChainId, address targetReceiver, bytes32 indexed hashlock, uint256 timelock)
SwapOut
event SwapOut(address indexed token, uint256 amount, address indexed receiver, bytes32 indexed hashlock, bytes preimage)
SwapRefunded
event SwapRefunded(bytes32 indexed hashlock, address indexed sender, address indexed token, uint256 amount)
Unpaused
event Unpaused(address account)
errors
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x608060405234801562000010575f80fd5b5060405162001efe38038062001efe8339810160408190526200003391620000d4565b806001600160a01b0381166200006257604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b6200006d8162000085565b50505f805460ff60a01b191690556001805562000103565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f60208284031215620000e5575f80fd5b81516001600160a01b0381168114620000fc575f80fd5b9392505050565b611ded80620001115f395ff3fe608060405234801561000f575f80fd5b506004361061016e575f3560e01c8063715018a6116100d25780639c54df6411610088578063b9a13a4f11610063578063b9a13a4f146103c4578063ddf87303146103d7578063f2fde38b146103ea575f80fd5b80639c54df6414610366578063adb5198014610379578063b3ab15fb146103b1575f80fd5b80638456cb59116100b85780638456cb591461028b5780638da5cb5b146102935780639c3f1e90146102a3575f80fd5b8063715018a614610261578063815ae22114610269575f80fd5b80634890654811610127578063570ca7351161010d578063570ca735146102125780635c975abb1461023d578063704802751461024e575f80fd5b806348906548146101ec5780634c3bd94d146101ff575f80fd5b806324d7806c1161015757806324d7806c1461019a57806339b41b4a146101d15780633f4ba83a146101e4575f80fd5b806306d47de9146101725780631785f53c14610187575b5f80fd5b610185610180366004611a80565b6103fd565b005b610185610195366004611aa8565b61055e565b6101bc6101a8366004611aa8565b60026020525f908152604090205460ff1681565b60405190151581526020015b60405180910390f35b6101856101df366004611a80565b610604565b6101856106dd565b6101856101fa366004611a80565b6106ef565b61018561020d366004611b0d565b6107b5565b600454610225906001600160a01b031681565b6040516001600160a01b0390911681526020016101c8565b5f54600160a01b900460ff166101bc565b61018561025c366004611aa8565b610c17565b610185610d28565b6101bc610277366004611bd1565b60066020525f908152604090205460ff1681565b610185610d39565b5f546001600160a01b0316610225565b61030f6102b1366004611bd1565b600560208190525f9182526040909120805460018201546002830154600384015460048501549585015460068601546007909601546001600160a01b0395861697948616969395929490921692909160ff8082169161010090041689565b604080516001600160a01b039a8b168152988a1660208a0152880196909652606087019490945295909116608085015260a084015260c083019390935291151560e0820152901515610100820152610120016101c8565b610185610374366004611be8565b610d49565b6103a3610387366004611c57565b600360209081525f928352604080842090915290825290205481565b6040519081526020016101c8565b6101856103bf366004611aa8565b610e9f565b6101856103d2366004611c88565b610f53565b6101856103e5366004611cdc565b6112f9565b6101856103f8366004611aa8565b6115d0565b610405611626565b61040d611669565b5f81116104525760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b60448201526064015b60405180910390fd5b335f9081526003602090815260408083206001600160a01b03861684529091529020548111156104c45760405162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152606401610449565b335f9081526003602090815260408083206001600160a01b0386168452909152812080548392906104f6908490611d22565b9091555061051090506001600160a01b03831633836116ac565b6040518181526001600160a01b0383169033907f83aa598dd3e269af677698c6847b3ba594a67d286a771d01099aafa911a91b64906020015b60405180910390a361055a60018055565b5050565b610566611720565b6001600160a01b0381165f9081526002602052604090205460ff166105bc5760405162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71030b236b4b760a11b6044820152606401610449565b6001600160a01b0381165f81815260026020526040808220805460ff19169055517fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f9190a250565b61060c611626565b610614611669565b5f81116106545760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606401610449565b6106696001600160a01b038316333084611765565b335f9081526003602090815260408083206001600160a01b03861684529091528120805483929061069b908490611d35565b90915550506040518181526001600160a01b0383169033907fc72a439d25ca984ced5b3d76fd3fa4c85e46f52177e4f18cbcbe98433a58cc8690602001610549565b6106e5611720565b6106ed6117a4565b565b6106f7611626565b6106ff611669565b6004546001600160a01b031633146107595760405162461bcd60e51b815260206004820152601660248201527f4e6f74206c6971756964697479206f70657261746f72000000000000000000006044820152606401610449565b600454610773906001600160a01b038481169116836116ac565b6004546040518281526001600160a01b03918216918416907f5991eceaa5c2e71806c93c4423dc23610b217ded6e11606431a533084b8d070490602001610549565b6107bd611626565b6107c5611669565b335f9081526002602052604090205460ff166108125760405162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71030b236b4b760a11b6044820152606401610449565b828282604051610823929190611d48565b6040518091039020146108785760405162461bcd60e51b815260206004820152601060248201527f496e76616c696420707265696d616765000000000000000000000000000000006044820152606401610449565b5f8381526006602052604090205460ff16156108d65760405162461bcd60e51b815260206004820152601060248201527f416c7265616479206578656375746564000000000000000000000000000000006044820152606401610449565b5f838152600660205260409020805460ff191660011790556001600160a01b038816610965576109106001600160a01b038b16858b6116ac565b82846001600160a01b03168b6001600160a01b03167f93a4b66a1fe5d991beaa7c3d5fa5fb2e9b6469f3fa57d1629c315f61aca51c078c868660405161095893929190611d57565b60405180910390a4610c02565b5f886001600160a01b03163b116109be5760405162461bcd60e51b815260206004820152601460248201527f496e76616c6964207377617020616464726573730000000000000000000000006044820152606401610449565b6040516370a0823160e01b81523060048201525f906001600160a01b038c16906370a0823190602401602060405180830381865afa158015610a02573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a269190611d8c565b9050610a3c6001600160a01b038c16898c6117f8565b5f896001600160a01b03168888604051610a57929190611d48565b5f604051808303815f865af19150503d805f8114610a90576040519150601f19603f3d011682016040523d82523d5f602084013e610a95565b606091505b5050905080610ae65760405162461bcd60e51b815260206004820152600b60248201527f53776170206661696c65640000000000000000000000000000000000000000006044820152606401610449565b6040516370a0823160e01b81523060048201525f906001600160a01b038e16906370a0823190602401602060405180830381865afa158015610b2a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b4e9190611d8c565b90505f610b5b8285611d22565b90508c811115610bad5760405162461bcd60e51b815260206004820152601360248201527f53776170206578636565646564206c696d6974000000000000000000000000006044820152606401610449565b86886001600160a01b03168f6001600160a01b03167f93a4b66a1fe5d991beaa7c3d5fa5fb2e9b6469f3fa57d1629c315f61aca51c07848a8a604051610bf593929190611d57565b60405180910390a4505050505b610c0b60018055565b50505050505050505050565b610c1f611720565b6001600160a01b038116610c755760405162461bcd60e51b815260206004820152600d60248201527f496e76616c69642061646d696e000000000000000000000000000000000000006044820152606401610449565b6001600160a01b0381165f9081526002602052604090205460ff1615610cdd5760405162461bcd60e51b815260206004820152600d60248201527f416c72656164792061646d696e000000000000000000000000000000000000006044820152606401610449565b6001600160a01b0381165f81815260026020526040808220805460ff19166001179055517f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e3399190a250565b610d30611720565b6106ed5f6118b5565b610d41611720565b6106ed611911565b610d51611720565b5f5b81811015610e9a5760025f848484818110610d7057610d70611da3565b9050602002016020810190610d859190611aa8565b6001600160a01b0316815260208101919091526040015f205460ff16158015610ddd57505f838383818110610dbc57610dbc611da3565b9050602002016020810190610dd19190611aa8565b6001600160a01b031614155b15610e9257600160025f858585818110610df957610df9611da3565b9050602002016020810190610e0e9190611aa8565b6001600160a01b0316815260208101919091526040015f20805460ff1916911515919091179055828282818110610e4757610e47611da3565b9050602002016020810190610e5c9190611aa8565b6001600160a01b03167f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e33960405160405180910390a25b600101610d53565b505050565b610ea7611720565b6001600160a01b038116610efd5760405162461bcd60e51b815260206004820152601060248201527f496e76616c6964206f70657261746f72000000000000000000000000000000006044820152606401610449565b6004805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517f4721129e0e676ed6a92909bb24e853ccdd63ad72280cc2e974e38e480e0e6e54905f90a250565b610f5b611626565b610f63611669565b5f8511610fa35760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606401610449565b6001600160a01b038616610ff95760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420746f6b656e206164647265737300000000000000000000006044820152606401610449565b6001600160a01b03831661104f5760405162461bcd60e51b815260206004820152601060248201527f496e76616c6964207265636569766572000000000000000000000000000000006044820152606401610449565b42811161109e5760405162461bcd60e51b815260206004820152601a60248201527f54696d656c6f636b206d75737420626520696e206675747572650000000000006044820152606401610449565b5f828152600560205260409020600101546001600160a01b0316156111055760405162461bcd60e51b815260206004820152600c60248201527f4f726465722065786973747300000000000000000000000000000000000000006044820152606401610449565b61111a6001600160a01b038716333088611765565b604051806101200160405280876001600160a01b03168152602001336001600160a01b03168152602001868152602001858152602001846001600160a01b031681526020018381526020018281526020015f151581526020015f151581525060055f8481526020019081526020015f205f820151815f015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055506020820151816001015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020155606082015181600301556080820151816004015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060a0820151816005015560c0820151816006015560e0820151816007015f6101000a81548160ff0219169083151502179055506101008201518160070160016101000a81548160ff02191690831515021790555090505081866001600160a01b0316336001600160a01b03167ffba93fd6d9210f871e7bbec1a27c915c2f81725751a0574c354bb8564d110d9d888888876040516112e0949392919093845260208401929092526001600160a01b03166040830152606082015260800190565b60405180910390a46112f160018055565b505050505050565b611301611626565b611309611669565b335f9081526002602052604090205460ff166113565760405162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71030b236b4b760a11b6044820152606401610449565b5f828152600560205260409020600101546001600160a01b03166113bc5760405162461bcd60e51b815260206004820152600f60248201527f4f72646572206e6f7420657869737400000000000000000000000000000000006044820152606401610449565b5f828152600560205260409020600781015460ff161561141e5760405162461bcd60e51b815260206004820152600f60248201527f416c72656164792068616e646c656400000000000000000000000000000000006044820152606401610449565b811561148b5760078101805460ff1916600190811790915581549082015460028301546040519081526001600160a01b03928316929091169085907f75c2fa9f5df43a64059166021ec3c4caddcf21254f6ef7e7ad27e684e7a190b99060200160405180910390a46115c6565b806006015442116114de5760405162461bcd60e51b815260206004820152601460248201527f54696d656c6f636b206e6f7420657870697265640000000000000000000000006044820152606401610449565b60068101546114f09062015180611d35565b42111561153f5760405162461bcd60e51b815260206004820152601a60248201527f436f6e6669726d6174696f6e2077696e646f77207061737365640000000000006044820152606401610449565b60078101805461ffff1916610101179055600181015460028201548254611574926001600160a01b03918216929116906116ac565b8054600182015460028301546040519081526001600160a01b03928316929091169085907fa19ac6ff80a8c71a18b3fd648fa480fa092eceb40ca2af1fadc2a1cc6e1baf7b9060200160405180910390a45b5061055a60018055565b6115d8611720565b6001600160a01b03811661161a576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152602401610449565b611623816118b5565b50565b5f54600160a01b900460ff16156106ed576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600154036116a5576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600155565b6040516001600160a01b03838116602483015260448201839052610e9a91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050611953565b5f546001600160a01b031633146106ed576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610449565b6040516001600160a01b03848116602483015283811660448301526064820183905261179e9186918216906323b872dd906084016116d9565b50505050565b6117ac6119d8565b5f805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790526118778482611a1a565b61179e576040516001600160a01b0384811660248301525f60448301526118ab91869182169063095ea7b3906064016116d9565b61179e8482611953565b5f80546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611919611626565b5f805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586117db3390565b5f8060205f8451602086015f885af180611972576040513d5f823e3d81fd5b50505f513d91508115611989578060011415611996565b6001600160a01b0384163b155b1561179e576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610449565b5f54600160a01b900460ff166106ed576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f805f8060205f8651602088015f8a5af192503d91505f519050828015611a5957508115611a4b5780600114611a59565b5f866001600160a01b03163b115b93505050505b92915050565b80356001600160a01b0381168114611a7b575f80fd5b919050565b5f8060408385031215611a91575f80fd5b611a9a83611a65565b946020939093013593505050565b5f60208284031215611ab8575f80fd5b611ac182611a65565b9392505050565b5f8083601f840112611ad8575f80fd5b50813567ffffffffffffffff811115611aef575f80fd5b602083019150836020828501011115611b06575f80fd5b9250929050565b5f805f805f805f805f806101008b8d031215611b27575f80fd5b611b308b611a65565b995060208b01359850611b4560408c01611a65565b9750611b5360608c01611a65565b965060808b013567ffffffffffffffff80821115611b6f575f80fd5b611b7b8e838f01611ac8565b9098509650869150611b8f60a08e01611a65565b955060c08d0135945060e08d0135915080821115611bab575f80fd5b50611bb88d828e01611ac8565b915080935050809150509295989b9194979a5092959850565b5f60208284031215611be1575f80fd5b5035919050565b5f8060208385031215611bf9575f80fd5b823567ffffffffffffffff80821115611c10575f80fd5b818501915085601f830112611c23575f80fd5b813581811115611c31575f80fd5b8660208260051b8501011115611c45575f80fd5b60209290920196919550909350505050565b5f8060408385031215611c68575f80fd5b611c7183611a65565b9150611c7f60208401611a65565b90509250929050565b5f805f805f8060c08789031215611c9d575f80fd5b611ca687611a65565b95506020870135945060408701359350611cc260608801611a65565b92506080870135915060a087013590509295509295509295565b5f8060408385031215611ced575f80fd5b8235915060208301358015158114611d03575f80fd5b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115611a5f57611a5f611d0e565b80820180821115611a5f57611a5f611d0e565b818382375f9101908152919050565b83815260406020820152816040820152818360608301375f818301606090810191909152601f909201601f1916010192915050565b5f60208284031215611d9c575f80fd5b5051919050565b634e487b7160e01b5f52603260045260245ffdfea2646970667358221220533a429fbc1936c5ccfa7ff8f5cf7b6fbcd2dda8888182815f759343b5a8517364736f6c634300081600330000000000000000000000008096a3437af2b9fb3db553f4f3dd9febce8bf21d