1.4k txs
1.5k calls
constructor
constructor(address _usdtAddress, address _usdcAddress)
functions
getBalance
viewfunction getBalance(address token) view returns (uint256 balance)
getBalances
viewfunction getBalances() view returns (uint256 ethBalance, uint256 usdtBalance, uint256 usdcBalance)
minNativeAmount
viewfunction minNativeAmount() view returns (uint256)
minStablecoinAmount
viewfunction minStablecoinAmount() view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
usdcAddress
viewfunction usdcAddress() view returns (address)
usdtAddress
viewfunction usdtAddress() view returns (address)
buy
payablefunction buy(tuple txData) payable
buyWithStablecoin
nonpayablefunction buyWithStablecoin(tuple txData, address token, uint256 amount)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
transferContractOwnership
nonpayablefunction transferContractOwnership(address newOwner)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
updateMinAmounts
nonpayablefunction updateMinAmounts(uint256 _minNative, uint256 _minStablecoin)
withdraw
nonpayablefunction withdraw(address token, address recipient)
withdrawAll
nonpayablefunction withdrawAll(address recipient)
events
Buy
event Buy(address indexed fromAddress, address fromToken, uint256 fromAmount, address indexed toAddress, uint256 indexed toChainId, address toToken)
MinAmountUpdated
event MinAmountUpdated(uint256 newMinNative, uint256 newMinStablecoin)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Unpaused
event Unpaused(address account)
WithdrawNative
event WithdrawNative(address indexed recipient, uint256 amount)
WithdrawToken
event WithdrawToken(address indexed token, address indexed recipient, uint256 amount)
errors
AmountTooLow
error AmountTooLow()
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
InvalidRecipient
error InvalidRecipient()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
TransferFailed
error TransferFailed()
UnsupportedToken
error UnsupportedToken()
creation bytecode
0x60c060405265b5e620f480006002556207a12060035534801561002157600080fd5b5060405161213b38038061213b83398181016040528101906100439190610263565b33600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100b65760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100ad91906102b2565b60405180910390fd5b6100c58161013c60201b60201c565b50600180819055508173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505050506102cd565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061023082610205565b9050919050565b61024081610225565b811461024b57600080fd5b50565b60008151905061025d81610237565b92915050565b6000806040838503121561027a57610279610200565b5b60006102888582860161024e565b92505060206102998582860161024e565b9150509250929050565b6102ac81610225565b82525050565b60006020820190506102c760008301846102a3565b92915050565b60805160a051611e03610338600039600081816104f0015281816105910152818161061c01528181610e8601528181610f300152610f8d015260008181610454015281816105c50152818161094b01528181610d0e01528181610db80152610e150152611e036000f3fe60806040526004361061010c5760003560e01c80638456cb5911610095578063b1d23f0211610064578063b1d23f0214610369578063f2fde38b14610392578063f8b2cb4f146103bb578063f940e385146103f8578063fa09e630146104215761014c565b80638456cb59146102d35780638da5cb5b146102ea5780639ab4a44514610315578063a843c51f146103405761014c565b80633ebe0b5d116100dc5780633ebe0b5d146102245780633f4ba83a1461024f578063447eca17146102665780635c975abb14610291578063715018a6146102bc5761014c565b8062113e081461018757806302d45457146101b4578063242d7dd1146101df5780632b1edbff146102085761014c565b3661014c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161014390611873565b60405180910390fd5b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017e906118df565b60405180910390fd5b34801561019357600080fd5b5061019c61044a565b6040516101ab93929190611918565b60405180910390f35b3480156101c057600080fd5b506101c961058f565b6040516101d69190611990565b60405180910390f35b3480156101eb57600080fd5b5061020660048036038101906102019190611b07565b6105b3565b005b610222600480360381019061021d9190611b5a565b6107f8565b005b34801561023057600080fd5b506102396108c6565b6040516102469190611b87565b60405180910390f35b34801561025b57600080fd5b506102646108cc565b005b34801561027257600080fd5b5061027b6108de565b6040516102889190611b87565b60405180910390f35b34801561029d57600080fd5b506102a66108e4565b6040516102b39190611bbd565b60405180910390f35b3480156102c857600080fd5b506102d16108fa565b005b3480156102df57600080fd5b506102e861090e565b005b3480156102f657600080fd5b506102ff610920565b60405161030c9190611990565b60405180910390f35b34801561032157600080fd5b5061032a610949565b6040516103379190611990565b60405180910390f35b34801561034c57600080fd5b5061036760048036038101906103629190611bd8565b61096d565b005b34801561037557600080fd5b50610390600480360381019061038b9190611c05565b6109e7565b005b34801561039e57600080fd5b506103b960048036038101906103b49190611bd8565b610a80565b005b3480156103c757600080fd5b506103e260048036038101906103dd9190611bd8565b610b06565b6040516103ef9190611b87565b60405180910390f35b34801561040457600080fd5b5061041f600480360381019061041a9190611c45565b610bc5565b005b34801561042d57600080fd5b5061044860048036038101906104439190611bd8565b610c94565b005b60008060004792507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104ab9190611990565b602060405180830381865afa1580156104c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ec9190611c9a565b91507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105479190611990565b602060405180830381865afa158015610564573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105889190611c9a565b9050909192565b7f000000000000000000000000000000000000000000000000000000000000000081565b6105bb611109565b6105c361114a565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561066b57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156106a2576040517f6a17288200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6003548110156106de576040517f1fbaba3500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16836000015173ffffffffffffffffffffffffffffffffffffffff1603610748576040517f9c8d2cd200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107753330838573ffffffffffffffffffffffffffffffffffffffff16611190909392919063ffffffff16565b8260200151836000015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8b685f615fb9f3e4f74c04ed002241769559c3da6e6ebc424ccfcaae9557e431858588604001516040516107e393929190611cc7565b60405180910390a46107f3611212565b505050565b610800611109565b61080861114a565b600254341015610844576040517f1fbaba3500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060200151816000015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8b685f615fb9f3e4f74c04ed002241769559c3da6e6ebc424ccfcaae9557e43160003486604001516040516108b393929190611cc7565b60405180910390a46108c3611212565b50565b60025481565b6108d461121b565b6108dc6112a2565b565b60035481565b60008060149054906101000a900460ff16905090565b61090261121b565b61090c6000611304565b565b61091661121b565b61091e6113c8565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b61097561121b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109db576040517f9c8d2cd200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6109e481611304565b50565b6109ef61121b565b60008214806109fe5750600081145b15610a35576040517f1fbaba3500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600281905550806003819055507f656a449366ed7a6c9034eeaf2c97a3ce974c5033a88215ae041e95fb9f9ade868282604051610a74929190611cfe565b60405180910390a15050565b610a8861121b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610afa5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610af19190611990565b60405180910390fd5b610b0381611304565b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b4357479050610bc0565b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b7c9190611990565b602060405180830381865afa158015610b99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bbd9190611c9a565b90505b919050565b610bcd61121b565b610bd561114a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c3b576040517f9c8d2cd200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c7d57610c788161142b565b610c88565b610c878282611560565b5b610c90611212565b5050565b610c9c61121b565b610ca461114a565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d0a576040517f9c8d2cd200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610d659190611990565b602060405180830381865afa158015610d82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610da69190611c9a565b90506000811115610e8257610dfc82827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166116ad9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f037238854fe57fbf51f09946f854fc3916fe83938d6521f09bd05463839f130483604051610e799190611b87565b60405180910390a35b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610edd9190611990565b602060405180830381865afa158015610efa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1e9190611c9a565b90506000811115610ffa57610f7483827f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166116ad9092919063ffffffff16565b8273ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff167f037238854fe57fbf51f09946f854fc3916fe83938d6521f09bd05463839f130483604051610ff19190611b87565b60405180910390a35b600047905060008111156110fb5760008473ffffffffffffffffffffffffffffffffffffffff168260405161102e90611d58565b60006040518083038185875af1925050503d806000811461106b576040519150601f19603f3d011682016040523d82523d6000602084013e611070565b606091505b50509050806110ab576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff167fde93db11f7aedf7cb3be22dc4d80e7790ab4b59a30aae83e86ac8326245542c5836040516110f19190611b87565b60405180910390a2505b505050611106611212565b50565b6111116108e4565b15611148576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600260015403611186576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600181905550565b61120c848573ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040516024016111c593929190611d6d565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061172c565b50505050565b60018081905550565b6112236117ce565b73ffffffffffffffffffffffffffffffffffffffff16611241610920565b73ffffffffffffffffffffffffffffffffffffffff16146112a0576112646117ce565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016112979190611990565b60405180910390fd5b565b6112aa6117d6565b60008060146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6112ed6117ce565b6040516112fa9190611990565b60405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6113d0611109565b6001600060146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586114146117ce565b6040516114219190611990565b60405180910390a1565b60004790506000811161146a576040517f1fbaba3500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405161149090611d58565b60006040518083038185875af1925050503d80600081146114cd576040519150601f19603f3d011682016040523d82523d6000602084013e6114d2565b606091505b505090508061150d576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff167fde93db11f7aedf7cb3be22dc4d80e7790ab4b59a30aae83e86ac8326245542c5836040516115539190611b87565b60405180910390a2505050565b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161159b9190611990565b602060405180830381865afa1580156115b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115dc9190611c9a565b905060008111611618576040517f1fbaba3500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61164382828573ffffffffffffffffffffffffffffffffffffffff166116ad9092919063ffffffff16565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f037238854fe57fbf51f09946f854fc3916fe83938d6521f09bd05463839f1304836040516116a09190611b87565b60405180910390a3505050565b611727838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040516024016116e0929190611da4565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505061172c565b505050565b600080602060008451602086016000885af18061174f576040513d6000823e3d81fd5b3d92506000519150506000821461176a576001811415611786565b60008473ffffffffffffffffffffffffffffffffffffffff163b145b156117c857836040517f5274afe70000000000000000000000000000000000000000000000000000000081526004016117bf9190611990565b60405180910390fd5b50505050565b600033905090565b6117de6108e4565b611814576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b600082825260208201905092915050565b7f446972656374207472616e7366657273206e6f7420616c6c6f77656400000000600082015250565b600061185d601c83611816565b915061186882611827565b602082019050919050565b6000602082019050818103600083015261188c81611850565b9050919050565b7f46756e6374696f6e20646f6573206e6f74206578697374000000000000000000600082015250565b60006118c9601783611816565b91506118d482611893565b602082019050919050565b600060208201905081810360008301526118f8816118bc565b9050919050565b6000819050919050565b611912816118ff565b82525050565b600060608201905061192d6000830186611909565b61193a6020830185611909565b6119476040830184611909565b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061197a8261194f565b9050919050565b61198a8161196f565b82525050565b60006020820190506119a56000830184611981565b92915050565b6000604051905090565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611a08826119bf565b810181811067ffffffffffffffff82111715611a2757611a266119d0565b5b80604052505050565b6000611a3a6119ab565b9050611a4682826119ff565b919050565b611a548161196f565b8114611a5f57600080fd5b50565b600081359050611a7181611a4b565b92915050565b611a80816118ff565b8114611a8b57600080fd5b50565b600081359050611a9d81611a77565b92915050565b600060608284031215611ab957611ab86119ba565b5b611ac36060611a30565b90506000611ad384828501611a62565b6000830152506020611ae784828501611a8e565b6020830152506040611afb84828501611a62565b60408301525092915050565b600080600060a08486031215611b2057611b1f6119b5565b5b6000611b2e86828701611aa3565b9350506060611b3f86828701611a62565b9250506080611b5086828701611a8e565b9150509250925092565b600060608284031215611b7057611b6f6119b5565b5b6000611b7e84828501611aa3565b91505092915050565b6000602082019050611b9c6000830184611909565b92915050565b60008115159050919050565b611bb781611ba2565b82525050565b6000602082019050611bd26000830184611bae565b92915050565b600060208284031215611bee57611bed6119b5565b5b6000611bfc84828501611a62565b91505092915050565b60008060408385031215611c1c57611c1b6119b5565b5b6000611c2a85828601611a8e565b9250506020611c3b85828601611a8e565b9150509250929050565b60008060408385031215611c5c57611c5b6119b5565b5b6000611c6a85828601611a62565b9250506020611c7b85828601611a62565b9150509250929050565b600081519050611c9481611a77565b92915050565b600060208284031215611cb057611caf6119b5565b5b6000611cbe84828501611c85565b91505092915050565b6000606082019050611cdc6000830186611981565b611ce96020830185611909565b611cf66040830184611981565b949350505050565b6000604082019050611d136000830185611909565b611d206020830184611909565b9392505050565b600081905092915050565b50565b6000611d42600083611d27565b9150611d4d82611d32565b600082019050919050565b6000611d6382611d35565b9150819050919050565b6000606082019050611d826000830186611981565b611d8f6020830185611981565b611d9c6040830184611909565b949350505050565b6000604082019050611db96000830185611981565b611dc66020830184611909565b939250505056fea264697066735822122033d8a3e7a11939d65ac49385358323f448ea8516f4044155b6bd216ddc0c812964736f6c634300081e0033000000000000000000000000dac17f958d2ee523a2206206994597c13d831ec7000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48