0 txs
6 calls
constructor
No constructor.
functions
decodeZapData
purefunction decodeZapData(bytes zapData, uint256 amount) pure returns (address target, bytes payload)
encodeZapData
purefunction encodeZapData(address target, bytes payload, uint256 amountPosition, address finalToken, address forwardTo, uint256 minFinalBalance) pure returns (bytes)
NATIVE_GAS_TOKEN
viewfunction NATIVE_GAS_TOKEN() view returns (address)
zap
payablefunction zap(address token, uint256 amount, bytes zapData) payable returns (bytes4)
events
No events.
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
TokenZapV1__FinalBalanceBelowMin
error TokenZapV1__FinalBalanceBelowMin()
TokenZapV1__FinalTokenNotSpecified
error TokenZapV1__FinalTokenNotSpecified()
TokenZapV1__PayloadLengthAboveMax
error TokenZapV1__PayloadLengthAboveMax()
TokenZapV1__TargetZeroAddress
error TokenZapV1__TargetZeroAddress()
TokenZapV1__TokenZeroAddress
error TokenZapV1__TokenZeroAddress()
ZapDataV1__FinalTokenNotSpecified
error ZapDataV1__FinalTokenNotSpecified()
ZapDataV1__InvalidEncoding
error ZapDataV1__InvalidEncoding()
ZapDataV1__PayloadLengthAboveMax
error ZapDataV1__PayloadLengthAboveMax()
ZapDataV1__TargetZeroAddress
error ZapDataV1__TargetZeroAddress()
ZapDataV1__UnsupportedVersion
error ZapDataV1__UnsupportedVersion(uint16 version)
creation bytecode
0x608060405234801561001057600080fd5b506113b1806100206000396000f3fe6080604052600436106100435760003560e01c80630f862f1e1461004f578063240a530a146100a1578063bdbe5169146100ce578063e85e13dd146100fc57600080fd5b3661004a57005b600080fd5b34801561005b57600080fd5b5061007773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156100ad57600080fd5b506100c16100bc366004610f38565b610140565b60405161009891906110b9565b3480156100da57600080fd5b506100ee6100e9366004611115565b610169565b604051610098929190611161565b61010f61010a366004611198565b610196565b6040517fffffffff000000000000000000000000000000000000000000000000000000009091168152602001610098565b6060855185106101505761ffff94505b61015e858585858b8b610407565b979650505050505050565b6000606061017785856105ef565b604c85013560601c915061018c858585610679565b9050935093915050565b600073ffffffffffffffffffffffffffffffffffffffff85166101e5576040517fa620451f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6101ef83836105ef565b604c83013560601c8061022e576040517fa921c0cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b347fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff881601610273575084610353565b6040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015287919089169063dd62ed3e90604401602060405180830381865afa1580156102e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030c91906111f2565b10156103535761035373ffffffffffffffffffffffffffffffffffffffff8816837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61079b565b6000610360868689610679565b90508051600014801561039c575073ffffffffffffffffffffffffffffffffffffffff881673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee145b156103b0576103ab83836108bc565b6103bd565b6103bb838284610992565b505b6103da600487013560601c601888013560601c602c890135610a55565b507fe85e13dd00000000000000000000000000000000000000000000000000000000979650505050505050565b606073ffffffffffffffffffffffffffffffffffffffff8316610456576040517f2503727b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815161ffff1015610493576040517f4fc7c83b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff878116148015906104b5575081516104b361ffff8916602061120b565b115b156104ec576040517f49a0c73b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff851615801590610525575073ffffffffffffffffffffffffffffffffffffffff8616155b1561055c576040517f3b2efc8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b831580159061057f575073ffffffffffffffffffffffffffffffffffffffff8616155b156105b6576040517f3b2efc8e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60018787878787876040516020016105d49796959493929190611245565b60405160208183030381529060405290509695505050505050565b606081101561062a576040517f49a0c73b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b813560f01c60018114610674576040517f3a565e1600000000000000000000000000000000000000000000000000000000815261ffff821660048201526024015b60405180910390fd5b505050565b6060600284013560f01c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000181016106f5576106b784606081886112eb565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509294506107949350505050565b600061070661ffff8316606061120b565b9050600061071582602061120b565b905085811115610751576040517f49a0c73b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61075e826060888a6112eb565b8661076b8985818d6112eb565b60405160200161077f959493929190611315565b60405160208183030381529060405293505050505b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790526108278482610c69565b6108b65760405173ffffffffffffffffffffffffffffffffffffffff8481166024830152600060448301526108ac91869182169063095ea7b3906064015b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610d2d565b6108b68482610d2d565b50505050565b804710156108f8576040517fcd78605900000000000000000000000000000000000000000000000000000000815230600482015260240161066b565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610952576040519150601f19603f3d011682016040523d82523d6000602084013e610957565b606091505b5050905080610674576040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6060814710156109d0576040517fcd78605900000000000000000000000000000000000000000000000000000000815230600482015260240161066b565b6000808573ffffffffffffffffffffffffffffffffffffffff1684866040516109f9919061133d565b60006040518083038185875af1925050503d8060008114610a36576040519150601f19603f3d011682016040523d82523d6000602084013e610a3b565b606091505b5091509150610a4b868383610dc3565b9695505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216158015610a77575080155b15610a8157505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ace576040517f82ff5b2800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14610b94576040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8516906370a0823190602401602060405180830381865afa158015610b6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b8f91906111f2565b610b96565b475b9050801580610ba457508181105b15610bdb576040517f92f25fe300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316610bfc5750505050565b7fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff851601610c4857610c4383826108bc565b6108b6565b6108b673ffffffffffffffffffffffffffffffffffffffff85168483610e52565b60008060008473ffffffffffffffffffffffffffffffffffffffff1684604051610c93919061133d565b6000604051808303816000865af19150503d8060008114610cd0576040519150601f19603f3d011682016040523d82523d6000602084013e610cd5565b606091505b5091509150818015610cff575080511580610cff575080806020019051810190610cff9190611359565b8015610d22575060008573ffffffffffffffffffffffffffffffffffffffff163b115b925050505b92915050565b6000610d4f73ffffffffffffffffffffffffffffffffffffffff841683610e90565b90508051600014158015610d74575080806020019051810190610d729190611359565b155b15610674576040517f5274afe700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260240161066b565b606082610dd857610dd382610e9e565b610794565b8151158015610dfc575073ffffffffffffffffffffffffffffffffffffffff84163b155b15610e4b576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260240161066b565b5080610794565b60405173ffffffffffffffffffffffffffffffffffffffff83811660248301526044820183905261067491859182169063a9059cbb90606401610865565b606061079483836000610992565b805115610eae5780518082602001fd5b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b803573ffffffffffffffffffffffffffffffffffffffff81168114610f0457600080fd5b919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60008060008060008060c08789031215610f5157600080fd5b610f5a87610ee0565b9550602087013567ffffffffffffffff80821115610f7757600080fd5b818901915089601f830112610f8b57600080fd5b813581811115610f9d57610f9d610f09565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610fe357610fe3610f09565b816040528281528c6020848701011115610ffc57600080fd5b8260208601602083013760006020848301015280995050505050506040870135935061102a60608801610ee0565b925061103860808801610ee0565b915060a087013590509295509295509295565b60005b8381101561106657818101518382015260200161104e565b50506000910152565b6000815180845261108781602086016020860161104b565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000610794602083018461106f565b60008083601f8401126110de57600080fd5b50813567ffffffffffffffff8111156110f657600080fd5b60208301915083602082850101111561110e57600080fd5b9250929050565b60008060006040848603121561112a57600080fd5b833567ffffffffffffffff81111561114157600080fd5b61114d868287016110cc565b909790965060209590950135949350505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000611190604083018461106f565b949350505050565b600080600080606085870312156111ae57600080fd5b6111b785610ee0565b935060208501359250604085013567ffffffffffffffff8111156111da57600080fd5b6111e6878288016110cc565b95989497509550505050565b60006020828403121561120457600080fd5b5051919050565b80820180821115610d27577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffff000000000000000000000000000000000000000000000000000000000000808a60f01b168352808960f01b166002840152507fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808860601b166004840152808760601b16601884015285602c840152808560601b16604c8401525082516112d881606085016020870161104b565b9190910160600198975050505050505050565b600080858511156112fb57600080fd5b8386111561130857600080fd5b5050820193919092039150565b8486823760008582018581528385602083013760009301602001928352509095945050505050565b6000825161134f81846020870161104b565b9190910192915050565b60006020828403121561136b57600080fd5b8151801515811461079457600080fdfea2646970667358221220a7f03f1e40d3221e638a9f335b771884b9dcd7135c71b5a25aa731561348a33e64736f6c63430008180033