1 tx
6.7k calls
constructor
constructor(address _bungeeGateway, address _owner)
functions
BUNGEE_GATEWAY
viewfunction BUNGEE_GATEWAY() view returns (address)
NATIVE_TOKEN_ADDRESS
viewfunction NATIVE_TOKEN_ADDRESS() view returns (address)
nominee
viewfunction nominee() view returns (address)
owner
viewfunction owner() view returns (address)
SINGLE_OUTPUT_IMPL_ID
viewfunction SINGLE_OUTPUT_IMPL_ID() view returns (uint8)
claimOwner
nonpayablefunction claimOwner()
execute
nonpayablefunction execute(uint256 amount, address inputToken, bytes32 requestHash, uint256 expiry, address receiverContract, address feeCollector, tuple exec)
fulfil
payablefunction fulfil(bytes32 requestHash, tuple fulfillExec, address transmitter) payable
nominateOwner
nonpayablefunction nominateOwner(address nominee_)
releaseFunds
nonpayablefunction releaseFunds(address token, uint256 amount, address recipient)
rescue
nonpayablefunction rescue(address token, address to, uint256 amount)
withdrawRequestOnDestination
nonpayablefunction withdrawRequestOnDestination(tuple request, bytes withdrawRequestData)
events
OwnerClaimed
event OwnerClaimed(address indexed claimer)
OwnerNominated
event OwnerNominated(address indexed nominee)
RequestExtracted
event RequestExtracted(bytes32 indexed requestHash, uint8 implId, address transmitter, bytes execution)
RequestFulfilled
event RequestFulfilled(bytes32 indexed requestHash, uint8 implId, address fulfiller, bytes execution)
RequestSettled
event RequestSettled(bytes32 indexed requestHash)
WithdrawOnDestination
event WithdrawOnDestination(bytes32 indexed requestHash, address token, uint256 amount, address to)
WithdrawOnOrigin
event WithdrawOnOrigin(bytes32 indexed requestHash, address token, uint256 amount, address to)
errors
CallerNotBungeeGateway
error CallerNotBungeeGateway()
InsufficientNativeAmount
error InsufficientNativeAmount()
OnlyNominee
error OnlyNominee()
OnlyOwner
error OnlyOwner()
TransferFailed
error TransferFailed()
WrongAffiliateFeeLength
error WrongAffiliateFeeLength()
creation bytecode
0x60a060405234801561001057600080fd5b5060405161131638038061131683398101604081905261002f916100bd565b6001600160a01b038216608052806100468161004e565b5050506100f0565b600080546001600160a01b0383166001600160a01b0319918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b80516001600160a01b03811681146100b857600080fd5b919050565b600080604083850312156100d057600080fd5b6100d9836100a1565b91506100e7602084016100a1565b90509250929050565b6080516111ef610127600039600081816101de015281816102d50152818161039f0152818161045d01526104b101526111ef6000f3fe6080604052600436106100ab5760003560e01c80635b94db27116100645780635b94db271461018c57806362524dd7146101ac57806370372d85146101cc5780638da5cb5b14610200578063da2de3441461021e578063df2ebdbb1461023157600080fd5b806320f99c0a146100b757806320ff430b146100ee5780633bd1adec146101105780633cbc7eaa146101255780633ed33c7f1461014c5780634eae20e21461016c57600080fd5b366100b257005b600080fd5b3480156100c357600080fd5b506001546001600160a01b03165b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100fa57600080fd5b5061010e610109366004610b82565b610259565b005b34801561011c57600080fd5b5061010e610294565b34801561013157600080fd5b5061013a600181565b60405160ff90911681526020016100e5565b34801561015857600080fd5b5061010e610167366004610bbe565b6102ca565b34801561017857600080fd5b5061010e610187366004610c52565b610394565b34801561019857600080fd5b5061010e6101a7366004610cf2565b6103dd565b3480156101b857600080fd5b5061010e6101c7366004610d14565b610452565b3480156101d857600080fd5b506100d17f000000000000000000000000000000000000000000000000000000000000000081565b34801561020c57600080fd5b506000546001600160a01b03166100d1565b61010e61022c366004610d50565b6104a6565b34801561023d57600080fd5b506100d173eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b6000546001600160a01b0316331461028457604051635fc483c560e01b815260040160405180910390fd5b61028f8382846104fa565b505050565b6001546001600160a01b031633146102bf57604051637c91ccdd60e01b815260040160405180910390fd5b6102c8336105b2565b565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461031357604051634556123760e01b815260040160405180910390fd5b6000808061036e8a6103258680610da3565b61033490610220810190610dc4565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061060592505050565b91945092509050811561038857610388898383888c6106a2565b50505050505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461028f57604051634556123760e01b815260040160405180910390fd5b6000546001600160a01b0316331461040857604051635fc483c560e01b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290600090a250565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461049b57604051634556123760e01b815260040160405180910390fd5b61028f838383610725565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104ef57604051634556123760e01b815260040160405180910390fd5b61028f838383610730565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b0384160161059e576000816001600160a01b03168361138890604051600060405180830381858888f193505050503d8060008114610571576040519150601f19603f3d011682016040523d82523d6000602084013e610576565b606091505b5050905080610598576040516312171d8360e31b815260040160405180910390fd5b50505050565b61028f6001600160a01b03841682846108c8565b600080546001600160a01b0383166001600160a01b0319918216811783556001805490921690915560405190917ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8791a250565b600080600080600080865111156106975760008651601a1461063a57604051634115207f60e01b815260040160405180910390fd5b61064587601461094e565b90506106528760006109b1565b925065ffffffffffff81161561069557662386f26fc1000061067c65ffffffffffff83168a610e28565b6106869190610e3f565b91506106928289610e61565b97505b505b959690945092505050565b6106ad8585846104fa565b60405163eacedbf160e01b81526001600160a01b0384811660048301526024820186905286811660448301526064820183905283169063eacedbf190608401600060405180830381600087803b15801561070657600080fd5b505af115801561071a573d6000803e3d6000fd5b505050505050505050565b61028f8383836104fa565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6107518480610da3565b6107649061018081019061016001610cf2565b6001600160a01b0316149050600081610781578360600135610793565b61079360608501356040860135610e74565b9050348111156107b657604051637bf261fb60e01b815260040160405180910390fd5b81156107fa576107f573eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee826107df8780610da3565b6107f09060c081019060a001610cf2565b6104fa565b610867565b6108406108078580610da3565b61081a9061018081019061016001610cf2565b84604087013561082a8880610da3565b61083b9060c081019060a001610cf2565b610a16565b61086773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee60608601356107df8780610da3565b847fd83e4fbd120e768f3bb813ecfa1a2b16c323fa7dfa07db1cd6434b3cbc97bc756001858760405160200161089d9190610f0a565b60408051601f19818403018152908290526108b9939291611151565b60405180910390a25050505050565b600060405163a9059cbb60e01b81526001600160a01b0384166004820152826024820152602060006044836000895af13d15601f3d11600160005114161716915050806105985760405162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b60448201526064015b60405180910390fd5b600061095b826006610e74565b835110156109a25760405162461bcd60e51b8152602060048201526014602482015273746f55696e7434385f6f75744f66426f756e647360601b6044820152606401610945565b50818101600601515b92915050565b60006109be826014610e74565b83511015610a065760405162461bcd60e51b8152602060048201526015602482015274746f416464726573735f6f75744f66426f756e647360581b6044820152606401610945565b500160200151600160601b900490565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601610aba576000816001600160a01b03168361138890604051600060405180830381858888f193505050503d8060008114610a8d576040519150601f19603f3d011682016040523d82523d6000602084013e610a92565b606091505b5050905080610ab4576040516312171d8360e31b815260040160405180910390fd5b50610598565b6105986001600160a01b03851684838560006040516323b872dd60e01b81526001600160a01b03851660048201526001600160a01b03841660248201528260448201526020600060648360008a5af13d15601f3d1160016000511416171691505080610b5f5760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606401610945565b5050505050565b80356001600160a01b0381168114610b7d57600080fd5b919050565b600080600060608486031215610b9757600080fd5b610ba084610b66565b9250610bae60208501610b66565b9150604084013590509250925092565b600080600080600080600060e0888a031215610bd957600080fd5b87359650610be960208901610b66565b95506040880135945060608801359350610c0560808901610b66565b9250610c1360a08901610b66565b915060c088013567ffffffffffffffff811115610c2f57600080fd5b8801610120818b031215610c4257600080fd5b8091505092959891949750929550565b600080600060408486031215610c6757600080fd5b833567ffffffffffffffff80821115610c7f57600080fd5b908501906102408288031215610c9457600080fd5b90935060208501359080821115610caa57600080fd5b818601915086601f830112610cbe57600080fd5b813581811115610ccd57600080fd5b876020828501011115610cdf57600080fd5b6020830194508093505050509250925092565b600060208284031215610d0457600080fd5b610d0d82610b66565b9392505050565b600080600060608486031215610d2957600080fd5b610d3284610b66565b925060208401359150610d4760408501610b66565b90509250925092565b600080600060608486031215610d6557600080fd5b83359250602084013567ffffffffffffffff811115610d8357600080fd5b840160c08187031215610d9557600080fd5b9150610d4760408501610b66565b6000823561023e19833603018112610dba57600080fd5b9190910192915050565b6000808335601e19843603018112610ddb57600080fd5b83018035915067ffffffffffffffff821115610df657600080fd5b602001915036819003821315610e0b57600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176109ab576109ab610e12565b600082610e5c57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156109ab576109ab610e12565b808201808211156109ab576109ab610e12565b803563ffffffff81168114610b7d57600080fd5b6000808335601e19843603018112610eb257600080fd5b830160208101925035905067ffffffffffffffff811115610ed257600080fd5b803603821315610e0b57600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000823561023e19843603018112610f2557600080fd5b838101905060c06020840152803560e0840152610100602082013581850152610120604083013581860152610140606084013581870152610f6860808501610b66565b610160610f7f818901836001600160a01b03169052565b610f8b60a08701610b66565b9150610180610fa4818a01846001600160a01b03169052565b610fb060c08801610b66565b92506101a0610fc9818b01856001600160a01b03169052565b610fd560e08901610b66565b93506101c0610fee818c01866001600160a01b03169052565b610ff9888a01610e87565b97506101e09450611011858c018963ffffffff169052565b61101c878a01610b66565b97506102009650611037878c01896001600160a01b03169052565b610220975085890135888c015261104f848a01610b66565b9550610240935061106a848c01876001600160a01b03169052565b828901356102608c0152818901356102808c0152611089818a01610b66565b95505050506110a46102a08901846001600160a01b03169052565b818601356102c0890152838601356102e08901526110c485870187610e9b565b9650945080610300890152505050506110e261032085018383610ee1565b9150506110f160208501610b66565b6001600160a01b03811660408501525060408401356060840152606084013560808401526111226080850185610e9b565b848303601f190160a0860152611139838284610ee1565b9250505060a084013560c08401528091505092915050565b60ff841681526000602060018060a01b0385168184015260606040840152835180606085015260005b818110156111965785810183015185820160800152820161117a565b506000608082860101526080601f19601f8301168501019250505094935050505056fea2646970667358221220e7fcc842e7fb6decdc1ed68f15401005ef68e73279ebdfce5e6d95a31a2be8fc64736f6c63430008130033000000000000000000000000d7be02dbc53fee6bc86c26bb54d2e94800435e46000000000000000000000000a5acba07788f16b4790fcbb09ca3b7fc8dd053a2