0 txs
0 calls
constructor
constructor(address _bungeeGateway, address _swapExecutor, address _feeCollector, address _owner)
functions
BUNGEE_GATEWAY
viewfunction BUNGEE_GATEWAY() view returns (address)
FEE_COLLECTOR
viewfunction FEE_COLLECTOR() view returns (address)
hasRole
viewfunction hasRole(bytes32 role_, address address_) view returns (bool)
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)
SWAP_EXECUTOR
viewfunction SWAP_EXECUTOR() view returns (address)
claimOwner
nonpayablefunction claimOwner()
execute
nonpayablefunction execute(bytes32 requestHash, address receiverContract, tuple exec) returns (uint256 extractedAmount, address extractedToken)
fulfil
payablefunction fulfil(bytes32 requestHash, tuple fulfilExec, address transmitter) payable
grantRole
nonpayablefunction grantRole(bytes32 role_, address grantee_)
nominateOwner
nonpayablefunction nominateOwner(address nominee_)
releaseFunds
nonpayablefunction releaseFunds(address token, uint256 amount, address recipient)
rescue
nonpayablefunction rescue(address token, address to, uint256 amount)
revokeRole
nonpayablefunction revokeRole(bytes32 role_, address revokee_)
withdrawRequestOnDestination
nonpayablefunction withdrawRequestOnDestination(tuple request, bytes withdrawRequestData)
events
OwnerClaimed
event OwnerClaimed(address indexed claimer)
OwnerNominated
event OwnerNominated(address indexed nominee)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed grantee)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed revokee)
WithdrawOnDestination
event WithdrawOnDestination(bytes32 indexed requestHash, address token, uint256 amount, address to)
errors
CallerNotBungeeGateway
error CallerNotBungeeGateway()
InsufficientNativeAmount
error InsufficientNativeAmount()
InvalidTokenAddress
error InvalidTokenAddress()
NoPermit
error NoPermit(bytes32 role)
NotImplemented
error NotImplemented()
OnlyNominee
error OnlyNominee()
OnlyOwner
error OnlyOwner()
SwapOutputInsufficient
error SwapOutputInsufficient()
TransferFailed
error TransferFailed()
UnsupportedRequest
error UnsupportedRequest()
WrongAffiliateFeeLength
error WrongAffiliateFeeLength()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60c06040523480156200001157600080fd5b506040516200174a3803806200174a833981016040819052620000349162000171565b6001600160a01b0384811660805283811660a052600080546001600160a01b03191691841691909117905580806200006c81620000a5565b506200009b90507fc4c453d647953c0fd35db5a34ee76e60fb4abc3a8fb891a25936b70b38f2925382620000f9565b50505050620001ce565b600180546001600160a01b0383166001600160a01b031991821681179092556002805490911690556040517ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8790600090a250565b60008281526003602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551909184917f2ae6a113c0ed5b78a53413ffbb7679881f11145ccfba4fb92e863dfcd5a1d2f39190a35050565b80516001600160a01b03811681146200016c57600080fd5b919050565b600080600080608085870312156200018857600080fd5b620001938562000154565b9350620001a36020860162000154565b9250620001b36040860162000154565b9150620001c36060860162000154565b905092959194509250565b60805160a05161152c6200021e60003960008181610142015281816107180152610755015260008181610280015281816103a0015281816104f2015281816105bb0152610677015261152c6000f3fe6080604052600436106101025760003560e01c80635b94db27116100955780638da5cb5b116100645780638da5cb5b146102c257806391d14854146102e0578063d547741f14610310578063df2ebdbb14610330578063ec756c951461035857600080fd5b80635b94db271461022e57806362524dd71461024e57806370372d851461026e5780637f660b01146102a257600080fd5b80632f2ff15d116100d15780632f2ff15d146101bf5780633bd1adec146101df5780633cbc7eaa146101f45780634d1efe3d1461021b57600080fd5b80630581fbbf1461010e5780630b3458791461013057806320f99c0a1461018157806320ff430b1461019f57600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5061012e610129366004611178565b610395565b005b34801561013c57600080fd5b506101647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561018d57600080fd5b506002546001600160a01b0316610164565b3480156101ab57600080fd5b5061012e6101ba366004611234565b6103ee565b3480156101cb57600080fd5b5061012e6101da366004611270565b610478565b3480156101eb57600080fd5b5061012e6104b1565b34801561020057600080fd5b50610209600181565b60405160ff9091168152602001610178565b61012e61022936600461129c565b6104e7565b34801561023a57600080fd5b5061012e6102493660046112f8565b61053b565b34801561025a57600080fd5b5061012e610269366004611313565b6105b0565b34801561027a57600080fd5b506101647f000000000000000000000000000000000000000000000000000000000000000081565b3480156102ae57600080fd5b50600054610164906001600160a01b031681565b3480156102ce57600080fd5b506001546001600160a01b0316610164565b3480156102ec57600080fd5b506103006102fb366004611270565b610604565b6040519015158152602001610178565b34801561031c57600080fd5b5061012e61032b366004611270565b610634565b34801561033c57600080fd5b5061016473eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b34801561036457600080fd5b50610378610373366004611346565b610669565b604080519283526001600160a01b03909116602083015201610178565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103de57604051634556123760e01b815260040160405180910390fd5b6103e9838383610a0c565b505050565b3360009081527f271b3e2292ab6fd3ff496cd98d6d375af02f11568a701741f48bba7789f13a7060205260409020547fc4c453d647953c0fd35db5a34ee76e60fb4abc3a8fb891a25936b70b38f292539060ff166104675760405163962f633360e01b8152600481018290526024015b60405180910390fd5b610472848484610a25565b50505050565b6001546001600160a01b031633146104a357604051635fc483c560e01b815260040160405180910390fd5b6104ad8282610ab1565b5050565b6002546001600160a01b031633146104dc57604051637c91ccdd60e01b815260040160405180910390fd5b6104e533610b0c565b565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461053057604051634556123760e01b815260040160405180910390fd5b6103e9838383610b60565b6001546001600160a01b0316331461056657604051635fc483c560e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290600090a250565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105f957604051634556123760e01b815260040160405180910390fd5b6103e9838383610ccd565b60008281526003602090815260408083206001600160a01b038516845290915281205460ff165b90505b92915050565b6001546001600160a01b0316331461065f57604051635fc483c560e01b815260040160405180910390fd5b6104ad8282610cd8565b600080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106b557604051634556123760e01b815260040160405180910390fd5b60006106c460808501856113a5565b905011156109685760006106f46106db85806113f3565b6106ee906101e08101906101c0016112f8565b30610d30565b905061074b61070385806113f3565b61071690610140810190610120016112f8565b7f000000000000000000000000000000000000000000000000000000000000000061074187806113f3565b6101400135610dd2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016630be0eba861078486806113f3565b61079790610140810190610120016112f8565b6107a187806113f3565b61014001356107b660c0890160a08a016112f8565b6107c360808a018a6113a5565b6040518663ffffffff1660e01b81526004016107e3959493929190611414565b600060405180830381600087803b1580156107fd57600080fd5b505af1158015610811573d6000803e3d6000fd5b5060009250839150610850905061082887806113f3565b61083b906101e08101906101c0016112f8565b61084b6040890160208a016112f8565b610d30565b61085a919061147e565b905061086685806113f3565b6101e0013581101561088b57604051633453a1e760e01b815260040160405180910390fd5b600080806108e68461089d8a806113f3565b6108ac906102208101906113a5565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e0192505050565b91945092509050811561091b5761091b61090089806113f3565b610913906101e08101906101c0016112f8565b83838d610ea0565b61093c836109298a806113f3565b6104ad906101e08101906101c0016112f8565b8261094789806113f3565b61095a906101e08101906101c0016112f8565b965096505050505050610a04565b6000808061098861097987806113f3565b610140013561089d88806113f3565b9194509250905081156109bd576109bd6109a287806113f3565b6109b590610140810190610120016112f8565b83838b610ea0565b6109de836109cb88806113f3565b6104ad90610140810190610120016112f8565b826109e987806113f3565b6109fc90610140810190610120016112f8565b945094505050505b935093915050565b60405163d623472560e01b815260040160405180910390fd5b6001600160a01b038216610a4c5760405163d92e233d60e01b815260040160405180910390fd5b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601610a7b576103e98282610f33565b826001600160a01b03163b600003610aa657604051630f58058360e11b815260040160405180910390fd5b6103e9838383610f4f565b60008281526003602090815260408083206001600160a01b0385168085529252808320805460ff1916600117905551909184917f2ae6a113c0ed5b78a53413ffbb7679881f11145ccfba4fb92e863dfcd5a1d2f39190a35050565b600180546001600160a01b0383166001600160a01b031991821681179092556002805490911690556040517ffbe19c9b601f5ee90b44c7390f3fa2319eba01762d34ee372aeafd59b25c7f8790600090a250565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610b7f83806113f3565b610b9290610180810190610160016112f8565b6001600160a01b031603610bfa576000610bac83806113f3565b6101a001351115610bd05760405163e68a12b760e01b815260040160405180910390fd5b3482604001351115610bf557604051637bf261fb60e01b815260040160405180910390fd5b610c29565b34610c0583806113f3565b6101a001351115610c2957604051637bf261fb60e01b815260040160405180910390fd5b610c6f81610c3784806113f3565b610c4a90610180810190610160016112f8565b610c5485806113f3565b610c659060c081019060a0016112f8565b8560400135610f9f565b6000610c7b83806113f3565b6101a0013511156103e9576103e973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee610ca884806113f3565b610cb99060c081019060a0016112f8565b610cc385806113f3565b6101a00135610dd2565b6103e9838284610dd2565b60008281526003602090815260408083206001600160a01b0385168085529252808320805460ff1916905551909184917f155aaafb6329a2098580462df33ec4b7441b19729b9601c5fc17ae1cf99a8a529190a35050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601610d6857506001600160a01b0381163161062e565b6040516370a0823160e01b81526001600160a01b0383811660048301528416906370a0823190602401602060405180830381865afa158015610dae573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062b9190611491565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601610aa6576103e98282610fdf565b60008060008060008086511115610e955760008651601b14610e3657604051634115207f60e01b815260040160405180910390fd5b610e41876014611058565b9050610e4e8760006110b5565b925066ffffffffffffff811615610e9357662386f26fc10000610e7a66ffffffffffffff83168a6114aa565b610e8491906114c1565b9150610e90828961147e565b97505b505b959690945092505050565b600054610eb89085906001600160a01b031685610dd2565b600054604051633f1d3f1560e01b81526001600160a01b0384811660048301526024820186905286811660448301526064820184905290911690633f1d3f1590608401600060405180830381600087803b158015610f1557600080fd5b505af1158015610f29573d6000803e3d6000fd5b5050505050505050565b60003860003884865af16104ad5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af18060016000511416610f9457803d853b151710610f94576390b8ec186000526004601cfd5b506000603452505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03841601610fd357610fce8282610fdf565b610472565b6104728385848461111a565b6000826001600160a01b03168261138890604051600060405180830381858888f193505050503d8060008114611031576040519150601f19603f3d011682016040523d82523d6000602084013e611036565b606091505b50509050806103e9576040516312171d8360e31b815260040160405180910390fd5b60006110658260076114e3565b835110156110ac5760405162461bcd60e51b8152602060048201526014602482015273746f55696e7435365f6f75744f66426f756e647360601b604482015260640161045e565b50016007015190565b60006110c28260146114e3565b8351101561110a5760405162461bcd60e51b8152602060048201526015602482015274746f416464726573735f6f75744f66426f756e647360581b604482015260640161045e565b500160200151600160601b900490565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af1806001600051141661116957803d873b15171061116957637939f4246000526004601cfd5b50600060605260405250505050565b60008060006040848603121561118d57600080fd5b833567ffffffffffffffff808211156111a557600080fd5b908501906102a082880312156111ba57600080fd5b909350602085013590808211156111d057600080fd5b818601915086601f8301126111e457600080fd5b8135818111156111f357600080fd5b87602082850101111561120557600080fd5b6020830194508093505050509250925092565b80356001600160a01b038116811461122f57600080fd5b919050565b60008060006060848603121561124957600080fd5b61125284611218565b925061126060208501611218565b9150604084013590509250925092565b6000806040838503121561128357600080fd5b8235915061129360208401611218565b90509250929050565b6000806000606084860312156112b157600080fd5b83359250602084013567ffffffffffffffff8111156112cf57600080fd5b840160a081870312156112e157600080fd5b91506112ef60408501611218565b90509250925092565b60006020828403121561130a57600080fd5b61062b82611218565b60008060006060848603121561132857600080fd5b61133184611218565b9250602084013591506112ef60408501611218565b60008060006060848603121561135b57600080fd5b8335925061136b60208501611218565b9150604084013567ffffffffffffffff81111561138757600080fd5b8401610120818703121561139a57600080fd5b809150509250925092565b6000808335601e198436030181126113bc57600080fd5b83018035915067ffffffffffffffff8211156113d757600080fd5b6020019150368190038213156113ec57600080fd5b9250929050565b6000823561029e1983360301811261140a57600080fd5b9190910192915050565b6001600160a01b038681168252602082018690528416604082015260806060820181905281018290526000828460a0840137600060a0848401015260a0601f19601f85011683010190509695505050505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561062e5761062e611468565b6000602082840312156114a357600080fd5b5051919050565b808202811582820484141761062e5761062e611468565b6000826114de57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561062e5761062e61146856fea2646970667358221220c48cddccc8f30a537fdb03a272e29dd255fcb8331b71540aae2927b69cb7036264736f6c634300081300330000000000000000000000009f0035e3fbd664ef2ae74ed35b4861c542fd954100000000000000000000000010adcef9619d9c957c54a9dc6091f007fa5532630000000000000000000000009c5fbd790a4d7921dbc66b09830f2d485a21f307000000000000000000000000daee4d2156de6fe6f7d50ca047136d758f96a6f0