21 txs
23 calls
constructor
No constructor.
functions
encodeQuickBridgeParams
purefunction encodeQuickBridgeParams(tuple params) pure returns (bytes32)
isSignatureVerifier
viewfunction isSignatureVerifier(address) view returns (bool)
owner
viewfunction owner() view returns (address)
verifySignature
viewfunction verifySignature(tuple params, bytes signature) view
addSignatureVerifier
nonpayablefunction addSignatureVerifier(address _signatureVerifier)
initialize
nonpayablefunction initialize(address _owner, address[] _initialVerifiers)
quickBridge
payablefunction quickBridge(tuple params, bytes signature) payable
removeSignatureVerifier
nonpayablefunction removeSignatureVerifier(address _signatureVerifier)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Initialized
event Initialized(address owner, address[] initialVerifiers)
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
QuickBridge
event QuickBridge((address fromToken, address toToken, address fromWallet, address intermediaryWallet, address toWallet, uint256 fromAmount, uint256 fromChain, uint256 toAmount, uint256 toChain, uint256 deadline) params)
SignatureVerifierAdded
event SignatureVerifierAdded(address signatureVerifier)
SignatureVerifierRemoved
event SignatureVerifierRemoved(address signatureVerifier)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
DeadlineExceeded
error DeadlineExceeded()
FailedInnerCall
error FailedInnerCall()
InvalidAddress
error InvalidAddress()
InvalidAmount
error InvalidAmount()
InvalidERC20Address
error InvalidERC20Address()
InvalidInitialization
error InvalidInitialization()
InvalidSignature
error InvalidSignature()
InvalidSignatureLength
error InvalidSignatureLength()
MismatchedChainId
error MismatchedChainId()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x608060405234801561001057600080fd5b5061103d806100206000396000f3fe6080604052600436106100915760003560e01c8063c348aed911610059578063c348aed914610159578063c94c958f14610187578063cd0bcff51461019a578063f073cecd146101ba578063f2fde38b146101fa57600080fd5b80631153c1d214610096578063715018a6146100b85780638da5cb5b146100cd578063946d920414610119578063afb83ce614610139575b600080fd5b3480156100a257600080fd5b506100b66100b1366004610d5d565b61021a565b005b3480156100c457600080fd5b506100b66103d1565b3480156100d957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020015b60405180910390f35b34801561012557600080fd5b506100b6610134366004610dff565b6103e5565b34801561014557600080fd5b506100b6610154366004610e72565b61058b565b34801561016557600080fd5b50610179610174366004610e8d565b61059f565b604051908152602001610110565b6100b6610195366004610d5d565b6105cf565b3480156101a657600080fd5b506100b66101b5366004610e72565b610693565b3480156101c657600080fd5b506101ea6101d5366004610e72565b60006020819052908152604090205460ff1681565b6040519015158152602001610110565b34801561020657600080fd5b506100b6610215366004610e72565b6106a4565b3361022b6060850160408601610e72565b6001600160a01b0316146102525760405163e6c4247b60e01b815260040160405180910390fd5b4283610120013510156102785760405163559895a360e01b815260040160405180910390fd5b468360c0013514158061029357508260c00135836101000135145b156102b15760405163029b0df160e41b815260040160405180910390fd5b60006102c06020850185610e72565b6001600160a01b031614806102ed575060006102e26040850160208601610e72565b6001600160a01b0316145b80610310575060006103056080850160608601610e72565b6001600160a01b0316145b806103335750600061032860a0850160808601610e72565b6001600160a01b0316145b156103515760405163e6c4247b60e01b815260040160405180910390fd5b60a08301351580610364575060e0830135155b156103825760405163162908e360e11b815260040160405180910390fd5b6103cc60006103908561059f565b84848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106e492505050565b505050565b6103d9610740565b6103e3600061079b565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156104305750825b905060008267ffffffffffffffff16600114801561044d5750303b155b90508115801561045b575080155b156104795760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156104ad57845468ff00000000000000001916680100000000000000001785555b6104b688610819565b8560005b818110156104f9576104f18989838181106104d7576104d7610eaa565b90506020020160208101906104ec9190610e72565b61082a565b6001016104ba565b507f0feb0f9ede834a7ddfe99175340e9b07082bade6db9fcb833542ecf363f284b889898960405161052d93929190610ec0565b60405180910390a150831561058157845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610593610740565b61059c816108aa565b50565b6000816040516020016105b29190610f1a565b604051602081830303815290604052805190602001209050919050565b6105da83838361021a565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6105fc6020850185610e72565b6001600160a01b03160361062c5761062761061d6080850160608601610e72565b8460a00135610920565b610657565b61065761063c6020850185610e72565b3361064d6080870160608801610e72565b8660a00135610934565b7f3f2e975f99444250ee87e33dd00b75a7e2dbf55425a7c5ef4dec93781f34900e836040516106869190610f1a565b60405180910390a1505050565b61069b610740565b61059c8161082a565b6106ac610740565b6001600160a01b0381166106db57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b61059c8161079b565b60006106ef83610985565b905060006106fd82846109c0565b6001600160a01b03811660009081526020879052604090205490915060ff1661073957604051638baa579f60e01b815260040160405180910390fd5b5050505050565b336107727f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146103e35760405163118cdaa760e01b81523360048201526024016106d2565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300805473ffffffffffffffffffffffffffffffffffffffff1981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610821610a3f565b61059c81610a8d565b6001600160a01b0381166108515760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03811660008181526020818152604091829020805460ff1916600117905590519182527f0f35112fc04ac27795ba9e631146295f8a5f09f6c4016988f701e7919bdce46f91015b60405180910390a150565b6001600160a01b0381166108d15760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03811660008181526020818152604091829020805460ff1916905590519182527f41913741c8622c4e49c9e9ca9ab043835b44e88899f3572dc5522aaa8f777054910161089f565b8015610930576109308282610a95565b5050565b8373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601610973576040516376fe282b60e11b815260040160405180910390fd5b81156107395761073985858585610af0565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c016105b2565b6000806000806109cf85610b65565b6040805160008152602081018083528b905260ff8316918101919091526060810184905260808101839052929550909350915060019060a0016020604051602081039080840390855afa158015610a2a573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166103e357604051631afcd79f60e31b815260040160405180910390fd5b6106ac610a3f565b600080600080600085875af19050806103cc5760405162461bcd60e51b815260206004820152601360248201527f4554485f5452414e534645525f4641494c45440000000000000000000000000060448201526064016106d2565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166323b872dd60e01b179052610b5f908590610baa565b50505050565b60008060008351604114610b8c57604051634be6321b60e01b815260040160405180910390fd5b50505060208101516040820151606090920151909260009190911a90565b6000610bbf6001600160a01b03841683610c0d565b90508051600014158015610be4575080806020019051810190610be29190610fdf565b155b156103cc57604051635274afe760e01b81526001600160a01b03841660048201526024016106d2565b6060610c1b83836000610c22565b9392505050565b606081471015610c475760405163cd78605960e01b81523060048201526024016106d2565b600080856001600160a01b03168486604051610c639190611001565b60006040518083038185875af1925050503d8060008114610ca0576040519150601f19603f3d011682016040523d82523d6000602084013e610ca5565b606091505b5091509150610cb5868383610cbf565b9695505050505050565b606082610cd457610ccf82610d1b565b610c1b565b8151158015610ceb57506001600160a01b0384163b155b15610d1457604051639996b31560e01b81526001600160a01b03851660048201526024016106d2565b5080610c1b565b805115610d2b5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b60006101408284031215610d5757600080fd5b50919050565b60008060006101608486031215610d7357600080fd5b610d7d8585610d44565b925061014084013567ffffffffffffffff80821115610d9b57600080fd5b818601915086601f830112610daf57600080fd5b813581811115610dbe57600080fd5b876020828501011115610dd057600080fd5b6020830194508093505050509250925092565b80356001600160a01b0381168114610dfa57600080fd5b919050565b600080600060408486031215610e1457600080fd5b610e1d84610de3565b9250602084013567ffffffffffffffff80821115610e3a57600080fd5b818601915086601f830112610e4e57600080fd5b813581811115610e5d57600080fd5b8760208260051b8501011115610dd057600080fd5b600060208284031215610e8457600080fd5b610c1b82610de3565b60006101408284031215610ea057600080fd5b610c1b8383610d44565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03848116825260406020808401829052908301849052600091859160608501845b87811015610f0d5783610efa86610de3565b1682529382019390820190600101610ee8565b5098975050505050505050565b6101408101610f3982610f2c85610de3565b6001600160a01b03169052565b610f4560208401610de3565b6001600160a01b03166020830152610f5f60408401610de3565b6001600160a01b03166040830152610f7960608401610de3565b6001600160a01b03166060830152610f9360808401610de3565b6001600160a01b03811660808401525060a083013560a083015260c083013560c083015260e083013560e083015261010080840135818401525061012080840135818401525092915050565b600060208284031215610ff157600080fd5b81518015158114610c1b57600080fd5b6000825160005b818110156110225760208186018101518583015201611008565b50600092019182525091905056fea164736f6c6343000814000a