37.9k txs
158.2k calls
constructor
No constructor.
functions
coreAddress
viewfunction coreAddress() view returns (address)
internalCaller
viewfunction internalCaller(address) view returns (bool)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingOwner
viewfunction pendingOwner() view returns (address)
swapFeeAddress
viewfunction swapFeeAddress() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
estimateSwapGas
payablefunction estimateSwapGas(bytes) payable returns (uint256 amountOut, uint256 gasUsed)
multicall
nonpayablefunction multicall(bytes[] data) returns (bytes[] results)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
swapWithMagpieSignature
payablefunction swapWithMagpieSignature(bytes) payable returns (uint256 amountOut)
swapWithUserSignature
payablefunction swapWithUserSignature(bytes) payable returns (uint256 amountOut)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
updateCoreAddress
nonpayablefunction updateCoreAddress(address value)
updateInternalCaller
nonpayablefunction updateInternalCaller(address caller, bool value)
updateSwapFeeAddress
nonpayablefunction updateSwapFeeAddress(address value)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Swap
event Swap(address indexed fromAddress, address indexed toAddress, address fromAssetAddress, address toAssetAddress, uint256 amountIn, uint256 amountOut)
Unpaused
event Unpaused(address account)
UpdateInternalCaller
event UpdateInternalCaller(address indexed sender, address caller, bool value)
errors
ApprovalFailed
error ApprovalFailed()
InvalidAmountIn
error InvalidAmountIn()
InvalidCaller
error InvalidCaller()
InvalidNativeAmount
error InvalidNativeAmount()
InvalidSignature
error InvalidSignature()
TransferFailed
error TransferFailed()
TransferFromFailed
error TransferFromFailed()
creation bytecode
0x608060405234801561001057600080fd5b5061001a3361002c565b6001805460ff60a01b19169055610098565b600180546001600160a01b031916905561004581610048565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6118f8806100a76000396000f3fe60806040526004361061010d5760003560e01c806373fc4457116100955780638da5cb5b116100645780638da5cb5b146102c7578063ac9650d8146102e5578063b8f38c7414610312578063e30c397814610332578063f2fde38b1461035057600080fd5b806373fc44571461026257806379ba50971461027557806383bf23211461028a5780638456cb59146102b257600080fd5b80633f4ba83a116100dc5780633f4ba83a146101b9578063519a98e0146101ce57806357f46a1a146101ee5780635c975abb1461022e578063715018a61461024d57600080fd5b80631c0ad646146101195780631ec4aec81461015657806325e651ed14610176578063364f9cf81461019757600080fd5b3661011457005b600080fd5b34801561012557600080fd5b50600354610139906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561016257600080fd5b50600454610139906001600160a01b031681565b6101896101843660046115d5565b610370565b60405190815260200161014d565b3480156101a357600080fd5b506101b76101b2366004611663565b61044f565b005b3480156101c557600080fd5b506101b7610479565b3480156101da57600080fd5b506101b76101e936600461167e565b610493565b3480156101fa57600080fd5b5061021e610209366004611663565b60026020526000908152604090205460ff1681565b604051901515815260200161014d565b34801561023a57600080fd5b50600154600160a01b900460ff1661021e565b34801561025957600080fd5b506101b7610500565b6101896102703660046115d5565b610512565b34801561028157600080fd5b506101b7610535565b61029d6102983660046115d5565b6105b4565b6040805192835260208301919091520161014d565b3480156102be57600080fd5b506101b761063c565b3480156102d357600080fd5b506000546001600160a01b0316610139565b3480156102f157600080fd5b506103056103003660046116ba565b610654565b60405161014d919061176d565b34801561031e57600080fd5b506101b761032d366004611663565b610747565b34801561033e57600080fd5b506001546001600160a01b0316610139565b34801561035c57600080fd5b506101b761036b366004611663565b610771565b3360009081526002602052604081205460ff166103a0576040516348f5c3ed60e01b815260040160405180910390fd5b60006103aa6107e2565b905034156103cb5760405163113a2f4b60e21b815260040160405180910390fd5b60006103d8826000610953565b90508160e00151156103ee576103ee8282610a30565b61041782828460a00151600014610410576004546001600160a01b0316610aa5565b6000610aa5565b61044582828461014001518560a001518660c0015161043691906117d1565b61044091906117d1565b610b90565b5095945050505050565b610457610d56565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b610481610d56565b610489610db0565b610491610e00565b565b61049b610d56565b6001600160a01b038216600081815260026020908152604091829020805460ff191685151590811790915582519384529083015233917fa71618a9ed4e81ce27edc2700d38db549c32abb5e4f32ec57f791151030fbc45910160405180910390a25050565b610508610d56565b6104916000610e55565b600061051c610e6e565b60006105266107e2565b905060006103d8826001610953565b60015433906001600160a01b031681146105a85760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b60648201526084015b60405180910390fd5b6105b181610e55565b50565b6000806105bf610e6e565b60006105c96107e2565b905060006105d8826001610953565b90508160e00151156105ee576105ee8282610a30565b61061082828460a00151600014610410576004546001600160a01b0316610aa5565b61062f82828461014001518560a001518660c0015161043691906117d1565b9097909650945050505050565b610644610d56565b61064c610e6e565b610491610ebb565b606061065e610d56565b8167ffffffffffffffff811115610677576106776117f2565b6040519080825280602002602001820160405280156106aa57816020015b60608152602001906001900390816106955790505b50905060005b8281101561073f5761071a308585848181106106ce576106ce611808565b90506020028101906106e0919061181e565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610efe92505050565b82828151811061072c5761072c611808565b60209081029190910101526001016106b0565b505b92915050565b61074f610d56565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b610779610d56565b600180546001600160a01b0383166001600160a01b031990911681179091556107aa6000546001600160a01b031690565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101829052610120810182905261014081019190915260853560f01c3560843560f81c1c428110156108625763931997cf60e01b60005260046000fd5b60483560601c8252605c3560601c602083015260703560601c60408301528060608301525060883560f01c3560873560f81c1c6080820152608b3560f01c35608a3560f81c1c60a0820152608e3560f01c35608d3560f81c1c60c0820152600060d13560f81c118060e083015280600181146109145760d23560f81c806101008501526001810361090e5760d33560601c61012085015260e83560f01c3560e73560f81c1c6101408501525b50505090565b6101153560f81c806101008501526001810361090e576101163560601c61012085015261012b3560f01c3561012a3560f81c1c61014085015250505090565b61010082015160009081808261096b5761014061096f565b6101805b61ffff169050604051915080820160405282600181146109b1577f783528850c43ab6adcc3a843186a6558aa806707dd0abb3d2909a2a70b7f22a383526109d5565b7f64d67eff2ff010acba1b1df82fb327ba0dc6d2965ba6b0b472bc14c494c8b4f683525b50610a267f86af987965544521ef5b52deabbeb812d3353977e11a2dbe7e0f4905d1e607217f2a80e1ef1d7842f27f2e6be0972bb708b9a135c38860dbe73c27c3486c34f4de8885858a6002610f2a565b9695505050505050565b60008060008060d13560f81c935060d235925060f23591506101133560f01c356101123560f81c1c9050610a9d85308861014001518960a001518a60c00151610a7991906117d1565b610a8391906117d1565b60208a01516001600160a01b0316929190858989896110d4565b505050505050565b60a083015115610b145760208301516001600160a01b0316610aec57610ae7818460a0015185602001516001600160a01b03166111299092919063ffffffff16565b610b14565b610b1482828560a0015186602001516001600160a01b0316611203909392919063ffffffff16565b61014083015115610b5d5760208301516001600160a01b0316610b6257610b5d83610120015184610140015185602001516001600160a01b03166111299092919063ffffffff16565b505050565b610b5d8284610120015185610140015186602001516001600160a01b0316611203909392919063ffffffff16565b602083015160009081906001600160a01b0316610beb578461014001518560a001518660c00151610bc191906117d1565b610bcb91906117d1565b341015610beb576040516365719fe160e11b815260040160405180910390fd5b60208501516000906001600160a01b0316610c0b575060c0850151610c58565b610c3385308860c0015189602001516001600160a01b0316611203909392919063ffffffff16565b60035460c08701516020880151610c58926001600160a01b0391821692911690611262565b6000600360009054906101000a90046001600160a01b03169050600060405160446024350160448103818301604052630563da2560e21b835260206004840152806024840152604051604081016040528160448086013760408184868a8a5af1945060018503610cce5780519850602081015197505b5050505060008103610ce4573d6000803e3d6000fd5b5086516020808901516040808b015181516001600160a01b03938416815290831693810193909352820188905260608201879052918216918816907f20efd6d5195b7b50273f01cd79a27989255356f9f13293edc53ee142accfdb759060800160405180910390a35050935093915050565b6000546001600160a01b031633146104915760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161059f565b600154600160a01b900460ff166104915760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161059f565b610e08610db0565b6001805460ff60a01b191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600180546001600160a01b03191690556105b181611304565b600154600160a01b900460ff16156104915760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161059f565b610ec3610e6e565b6001805460ff60a01b1916600160a01b1790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610e383390565b6060610f23838360405180606001604052806027815260200161189c60279139611354565b9392505050565b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091528183018a9052606082018990524660808301523060a0808401919091528351808403909101815260c090920190925280519101206000906000806000803060208b01523360408b01528a5160608b015260208b015160808b015260408b015160a08b015260608b015160c08b015260808b015160e08b015260a08b01516101008b015260c08b01516101208b015260016101008c01510361100c576101208b01516101408b01526101408b01516101608b01525b888a206040519a5060428b0160405261190160f01b8b528560028c01528060228c01525060428a209350609035925060b035915060d03560f81c9050871561108d57600061105c858585856113c2565b9050339650806000528760205260016040600020541461108757638baa579f60e01b60005260046000fd5b506110c4565b611099848484846113c2565b9550306001600160a01b038716036110c457604051638baa579f60e01b815260040160405180910390fd5b5050505050979650505050505050565b60405160e4810160405263d505accf60e01b81528760048201528660248201528560448201528460648201528360848201528260a48201528160c482015260008060e48360008d5af150505050505050505050565b6001600160a01b0383166111b1576000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611184576040519150601f19603f3d011682016040523d82523d6000602084013e611189565b606091505b50509050806111ab576040516312171d8360e31b815260040160405180910390fd5b50505050565b600060405190506044810160405263a9059cbb60e01b81528260048201528160248201526111e68460008360446000806114ca565b6111ab576040516312171d8360e31b815260040160405180910390fd5b60006040519050606481016040526323b872dd60e01b815283600482015282602482015281604482015261123e8560008360646000806114ca565b61125b57604051631e4e7d0960e21b815260040160405180910390fd5b5050505050565b600060405190506044810160405263095ea7b360e01b81528260048201528160248201526112978460008360446000806114ca565b6111ab57600060248201526112b38460008360446000806114ca565b6112d0576040516340b27c2160e11b815260040160405180910390fd5b8160248201526112e78460008360446000806114ca565b6111ab576040516340b27c2160e11b815260040160405180910390fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060600080856001600160a01b031685604051611371919061186c565b600060405180830381855af49150503d80600081146113ac576040519150601f19603f3d011682016040523d82523d6000602084013e6113b1565b606091505b5091509150610a2686838387611537565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561140557604051638baa579f60e01b815260040160405180910390fd5b8160ff16601b1415801561141d57508160ff16601c14155b1561143b57604051638baa579f60e01b815260040160405180910390fd5b60408051600081526020810180835287905260ff841691810191909152606081018590526080810184905260019060a0016020604051602081039080840390855afa15801561148e573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166114c257604051638baa579f60e01b815260040160405180910390fd5b949350505050565b600061150d565b60003d15600181146114e85780156114f957611507565b823b156114f457600191505b611507565b60206000803e600080511191505b50919050565b81838587898b5af1611523573d6000803e3d6000fd5b61152c876114d1565b979650505050505050565b606083156115a657825160000361159f576001600160a01b0385163b61159f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161059f565b50816114c2565b6114c283838151156115bb5781518083602001fd5b8060405162461bcd60e51b815260040161059f9190611888565b600080602083850312156115e857600080fd5b823567ffffffffffffffff8082111561160057600080fd5b818501915085601f83011261161457600080fd5b81358181111561162357600080fd5b86602082850101111561163557600080fd5b60209290920196919550909350505050565b80356001600160a01b038116811461165e57600080fd5b919050565b60006020828403121561167557600080fd5b610f2382611647565b6000806040838503121561169157600080fd5b61169a83611647565b9150602083013580151581146116af57600080fd5b809150509250929050565b600080602083850312156116cd57600080fd5b823567ffffffffffffffff808211156116e557600080fd5b818501915085601f8301126116f957600080fd5b81358181111561170857600080fd5b8660208260051b850101111561163557600080fd5b60005b83811015611738578181015183820152602001611720565b50506000910152565b6000815180845261175981602086016020860161171d565b601f01601f19169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b828110156117c457603f198886030184526117b2858351611741565b94509285019290850190600101611796565b5092979650505050505050565b8082018082111561074157634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261183557600080fd5b83018035915067ffffffffffffffff82111561185057600080fd5b60200191503681900382131561186557600080fd5b9250929050565b6000825161187e81846020870161171d565b9190910192915050565b602081526000610f23602083018461174156fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206c01e7a70960db48fa1e0a8f1a90050a760b85f697057e4b88fbdcf1ffc1983b64736f6c63430008180033