56 txs
54 calls
constructor
constructor(address initialCommissionReceiver)
functions
fixedRatePool
viewfunction fixedRatePool() view returns (address)
getCommissionPercentage
viewfunction getCommissionPercentage() view returns (uint256)
getCommissionReceiver
viewfunction getCommissionReceiver() view returns (address)
getSlippageTolerance
viewfunction getSlippageTolerance() view returns (uint256)
getSwapConfig
viewfunction getSwapConfig() view returns (address _uniswapRouter, address _fixedRatePool, address _usdt, address _usad, address _usdc)
isSwapSupportedToken
viewfunction isSwapSupportedToken(address token) view returns (bool)
MAX_COMMISSION_PERCENTAGE
viewfunction MAX_COMMISSION_PERCENTAGE() view returns (uint256)
owner
viewfunction owner() view returns (address)
slippageTolerance
viewfunction slippageTolerance() view returns (uint256)
uniswapRouter
viewfunction uniswapRouter() view returns (address)
usad
viewfunction usad() view returns (address)
usdc
viewfunction usdc() view returns (address)
usdt
viewfunction usdt() view returns (address)
emergencyWithdraw
nonpayablefunction emergencyWithdraw(address token)
emergencyWithdrawETH
nonpayablefunction emergencyWithdrawETH()
renounceOwnership
nonpayablefunction renounceOwnership()
setCommissionPercentage
nonpayablefunction setCommissionPercentage(uint256 newPercentage)
setCommissionReceiver
nonpayablefunction setCommissionReceiver(address newReceiver)
setSlippageTolerance
nonpayablefunction setSlippageTolerance(uint256 newTolerance)
setSwapConfig
nonpayablefunction setSwapConfig(address _uniswapRouter, address _fixedRatePool, address _usdt, address _usad, address _usdc)
transferETHWithCommission
payablefunction transferETHWithCommission(address to) payable
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
transferTokenWithCommission
nonpayablefunction transferTokenWithCommission(address token, address to, uint256 amount)
transferTokenWithCommissionWithPermit
nonpayablefunction transferTokenWithCommissionWithPermit(address token, address to, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
events
CommissionPercentageChanged
event CommissionPercentageChanged(uint256 previousPercentage, uint256 newPercentage)
CommissionReceiverChanged
event CommissionReceiverChanged(address indexed previousReceiver, address indexed newReceiver)
EmergencyWithdraw
event EmergencyWithdraw(address indexed token, uint256 amount)
EmergencyWithdrawETH
event EmergencyWithdrawETH(uint256 amount)
ETHReceived
event ETHReceived(address indexed sender, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SlippageToleranceUpdated
event SlippageToleranceUpdated(uint256 oldTolerance, uint256 newTolerance)
SwapConfigUpdated
event SwapConfigUpdated(address uniswapRouter, address fixedRatePool, address usdt, address usad, address usdc)
TokenSwapped
event TokenSwapped(address indexed fromToken, address indexed toToken, uint256 amountIn, uint256 amountOut)
TransferWithCommission
event TransferWithCommission(address indexed token, address indexed to, uint256 totalAmount, uint256 commissionAmount, uint256 transferredAmount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
InsufficientAllowance
error InsufficientAllowance()
InvalidAddress
error InvalidAddress()
InvalidAmount
error InvalidAmount()
NoBalance
error NoBalance()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
SwapFailed
error SwapFailed()
TransferFailed
error TransferFailed()
UnsupportedToken
error UnsupportedToken()
UseTransferETHWithCommission
error UseTransferETHWithCommission()
creation bytecode
0x6080604052601460035560326009553480156200001b57600080fd5b5060405162001d9938038062001d998339810160408190526200003e9162000113565b33806200006557604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200007081620000c3565b50600180556001600160a01b0381166200009d5760405163e6c4247b60e01b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b039290921691909117905562000145565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200012657600080fd5b81516001600160a01b03811681146200013e57600080fd5b9392505050565b611c4480620001556000396000f3fe60806040526004361061014f5760003560e01c80637541036e116100b6578063a5dbd8141161006f578063a5dbd814146103dc578063baac185b146103f1578063ce01725b14610404578063d03153aa14610422578063ece46f5514610438578063f2fde38b1461044e57600080fd5b80637541036e1461031957806377edbda7146103395780637cb6c28d1461036957806384536017146103895780638da5cb5b1461039e578063a576cf9d146103bc57600080fd5b80633c14daa3116101085780633c14daa3146102645780633e413bee146102845780634e3e988c146102a45780636ff1c9bc146102c4578063715018a6146102e4578063735de9f7146102f957600080fd5b806306807597146101725780630b2ce41114610196578063117da1ee146101d557806322be0baf146101f75780632f48ab7d1461021757806339b87c8f1461024457600080fd5b3661016d5760405163bd64149b60e01b815260040160405180910390fd5b600080fd5b34801561017e57600080fd5b506009545b6040519081526020015b60405180910390f35b3480156101a257600080fd5b5060045460055460065460075460085460405161018d956001600160a01b039081169581169481169381169216906117d0565b3480156101e157600080fd5b506101f56101f0366004611802565b61046e565b005b34801561020357600080fd5b506101f5610212366004611830565b61051c565b34801561022357600080fd5b50600654610237906001600160a01b031681565b60405161018d91906118a1565b34801561025057600080fd5b506101f561025f366004611802565b610632565b34801561027057600080fd5b50600754610237906001600160a01b031681565b34801561029057600080fd5b50600854610237906001600160a01b031681565b3480156102b057600080fd5b50600554610237906001600160a01b031681565b3480156102d057600080fd5b506101f56102df3660046118b5565b61069e565b3480156102f057600080fd5b506101f56107b7565b34801561030557600080fd5b50600454610237906001600160a01b031681565b34801561032557600080fd5b506101f56103343660046118d2565b6107cb565b34801561034557600080fd5b506103596103543660046118b5565b6109b3565b604051901515815260200161018d565b34801561037557600080fd5b506101f5610384366004611913565b6109e5565b34801561039557600080fd5b506101f5610a7d565b3480156103aa57600080fd5b506000546001600160a01b0316610237565b3480156103c857600080fd5b506101f56103d73660046118b5565b610b62565b3480156103e857600080fd5b50600354610183565b6101f56103ff3660046118b5565b610bed565b34801561041057600080fd5b506002546001600160a01b0316610237565b34801561042e57600080fd5b5061018360095481565b34801561044457600080fd5b506101836103e881565b34801561045a57600080fd5b506101f56104693660046118b5565b610db1565b610476610dec565b6103e88111156104db5760405162461bcd60e51b815260206004820152602560248201527f436f6d6d697373696f6e5472616e736665723a20536c69707061676520746f6f604482015264040d0d2ced60db1b60648201526084015b60405180910390fd5b60095460408051918252602082018390527fddd31550b26e9ef8ade466958be83ff8a014d9b4f36d546b61a6847a45306575910160405180910390a1600955565b610524610dec565b6001600160a01b038516158061054157506001600160a01b038416155b8061055357506001600160a01b038316155b8061056557506001600160a01b038216155b8061057757506001600160a01b038116155b156105955760405163e6c4247b60e01b815260040160405180910390fd5b600480546001600160a01b03199081166001600160a01b0388811691909117909255600580548216878416179055600680548216868416179055600780548216858416179055600880549091169183169190911790556040517f7bfbe50afcd88a9bd3019945d99f30ea55d26029c727e63bd6de1e3eb656130b9061062390879087908790879087906117d0565b60405180910390a15050505050565b61063a610dec565b6103e881111561065d5760405163162908e360e11b815260040160405180910390fd5b60035460408051918252602082018390527f653b0190006aa96bc511d72757baa37530622cc90fa59de9ff8d66f4ae359afc910160405180910390a1600355565b6106a6610dec565b6106ae610e19565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906106dd9030906004016118a1565b602060405180830381865afa1580156106fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071e919061198a565b90508060000361074157604051636165515360e11b815260040160405180910390fd5b6107676107566000546001600160a01b031690565b6001600160a01b0384169083610e43565b816001600160a01b03167f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd9695826040516107a291815260200190565b60405180910390a2506107b460018055565b50565b6107bf610dec565b6107c96000610e9b565b565b6107d3610e19565b6001600160a01b0382166107fa5760405163e6c4247b60e01b815260040160405180910390fd5b8060000361081b5760405163162908e360e11b815260040160405180910390fd5b6108306001600160a01b038416333084610eeb565b600654819084906001600160a01b03908116908216036108695761085383610f2a565b6008549092506001600160a01b0316905061089a565b6007546001600160a01b039081169086160361089a57610888836112ce565b6008549092506001600160a01b031690505b60006103e8600354846108ad91906119b9565b6108b791906119d0565b905060006108c582856119f2565b9050838211156108d3578391505b6008546001600160a01b039081169084160361092257600254600854610906916001600160a01b03918216911684610e43565b60085461091d906001600160a01b03168783610e43565b610950565b60025461093c906001600160a01b03898116911684610e43565b6109506001600160a01b0388168783610e43565b60408051858152602081018490529081018290526001600160a01b0380881691908516907f8db5ff82008c13c518278c45e0c83aafc663739d434bf8233fb1eb82c8aab5bd9060600160405180910390a3505050506109ae60018055565b505050565b6006546000906001600160a01b03838116911614806109df57506007546001600160a01b038381169116145b92915050565b60405163d505accf60e01b8152336004820152306024820152604481018690526064810185905260ff8416608482015260a4810183905260c481018290526001600160a01b0388169063d505accf9060e401600060405180830381600087803b158015610a5157600080fd5b505af1158015610a65573d6000803e3d6000fd5b50505050610a748787876107cb565b50505050505050565b610a85610dec565b610a8d610e19565b476000819003610ab057604051636165515360e11b815260040160405180910390fd5b600080546040516001600160a01b039091169083908381818185875af1925050503d8060008114610afd576040519150601f19603f3d011682016040523d82523d6000602084013e610b02565b606091505b5050905080610b24576040516312171d8360e31b815260040160405180910390fd5b6040518281527f79ebe759666dad7e802e80f6faee4d549dfacac3de1991d12ea45ed6f85e17849060200160405180910390a150506107c960018055565b610b6a610dec565b6001600160a01b038116610b915760405163e6c4247b60e01b815260040160405180910390fd5b6002546040516001600160a01b038084169216907fdb9971bd9f82756507aad9c064d789f49d8035194edc85c4c1ea350d3fb340e390600090a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b610bf5610e19565b6001600160a01b038116610c1c5760405163e6c4247b60e01b815260040160405180910390fd5b34600003610c3d5760405163162908e360e11b815260040160405180910390fd5b60006103e860035434610c5091906119b9565b610c5a91906119d0565b90506000610c6882346119f2565b6002546040519192506000916001600160a01b039091169084908381818185875af1925050503d8060008114610cba576040519150601f19603f3d011682016040523d82523d6000602084013e610cbf565b606091505b5050905080610ce1576040516312171d8360e31b815260040160405180910390fd5b6000846001600160a01b03168360405160006040518083038185875af1925050503d8060008114610d2e576040519150601f19603f3d011682016040523d82523d6000602084013e610d33565b606091505b5050905080610d55576040516312171d8360e31b815260040160405180910390fd5b60408051348152602081018690529081018490526001600160a01b038616906000907f8db5ff82008c13c518278c45e0c83aafc663739d434bf8233fb1eb82c8aab5bd9060600160405180910390a3505050506107b460018055565b610db9610dec565b6001600160a01b038116610de3576000604051631e4fbdf760e01b81526004016104d291906118a1565b6107b481610e9b565b6000546001600160a01b031633146107c9573360405163118cdaa760e01b81526004016104d291906118a1565b600260015403610e3c57604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b6109ae83846001600160a01b031663a9059cbb8585604051602401610e69929190611a05565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505061150e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b038481166024830152838116604483015260648201839052610f249186918216906323b872dd90608401610e69565b50505050565b6004546000906001600160a01b03161580610f4e57506006546001600160a01b0316155b80610f6257506008546001600160a01b0316155b15610f805760405163350b944160e11b815260040160405180910390fd5b600454600654610f9d916001600160a01b03918216911684611568565b604080516002808252606082018352600092602083019080368337505060065482519293506001600160a01b031691839150600090610fde57610fde611a34565b6001600160a01b03928316602091820292909201015260085482519116908290600190811061100f5761100f611a34565b6001600160a01b0392831660209182029290920101526004805460405163d06ca61f60e01b8152600093919091169163d06ca61f91611052918891879101611a8f565b600060405180830381865afa15801561106f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110979190810190611ab0565b90506000816001815181106110ae576110ae611a34565b6020026020010151905060006127106009546127106110cd91906119f2565b6110d790846119b9565b6110e191906119d0565b6008546040516370a0823160e01b81529192506000916001600160a01b03909116906370a08231906111179030906004016118a1565b602060405180830381865afa158015611134573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611158919061198a565b6004549091506001600160a01b0316635c11d7958884883061117c4261012c611b6e565b6040518663ffffffff1660e01b815260040161119c959493929190611b81565b600060405180830381600087803b1580156111b657600080fd5b505af11580156111ca573d6000803e3d6000fd5b50506008546040516370a0823160e01b8152600093506001600160a01b0390911691506370a08231906112019030906004016118a1565b602060405180830381865afa15801561121e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611242919061198a565b9050600061125083836119f2565b9050838110156112735760405163081ceff360e41b815260040160405180910390fd5b600854600654604080518c8152602081018590526001600160a01b0393841693909216917f30b60ee4dc75c0fb04420331b13e9ad7f8ff8fc51eac9c97d36fb20ccbe09d66910160405180910390a398975050505050505050565b6005546000906001600160a01b031615806112f257506007546001600160a01b0316155b8061130657506008546001600160a01b0316155b156113245760405163350b944160e11b815260040160405180910390fd5b600554600754611341916001600160a01b03918216911684611568565b6008546040516370a0823160e01b81526000916001600160a01b0316906370a08231906113729030906004016118a1565b602060405180830381865afa15801561138f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b3919061198a565b60055460405163dfd1384f60e01b8152600481018690529192506001600160a01b03169063dfd1384f90602401600060405180830381600087803b1580156113fa57600080fd5b505af115801561140e573d6000803e3d6000fd5b50506008546040516370a0823160e01b8152600093506001600160a01b0390911691506370a08231906114459030906004016118a1565b602060405180830381865afa158015611462573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611486919061198a565b9050600061149483836119f2565b9050806000036114b75760405163081ceff360e41b815260040160405180910390fd5b60085460075460408051888152602081018590526001600160a01b0393841693909216917f30b60ee4dc75c0fb04420331b13e9ad7f8ff8fc51eac9c97d36fb20ccbe09d66910160405180910390a3949350505050565b60006115236001600160a01b038416836115fa565b905080516000141580156115485750808060200190518101906115469190611bbd565b155b156109ae5782604051635274afe760e01b81526004016104d291906118a1565b6000836001600160a01b031663095ea7b3848460405160240161158c929190611a05565b604051602081830303815290604052915060e01b6020820180516001600160e01b03838183161783525050505090506115c5848261160f565b610f24576115f084856001600160a01b031663095ea7b3866000604051602401610e69929190611a05565b610f24848261150e565b6060611608838360006116b7565b9392505050565b6000806000846001600160a01b03168460405161162c9190611bdf565b6000604051808303816000865af19150503d8060008114611669576040519150601f19603f3d011682016040523d82523d6000602084013e61166e565b606091505b50915091508180156116985750805115806116985750808060200190518101906116989190611bbd565b80156116ae57506000856001600160a01b03163b115b95945050505050565b6060814710156116dc573060405163cd78605960e01b81526004016104d291906118a1565b600080856001600160a01b031684866040516116f89190611bdf565b60006040518083038185875af1925050503d8060008114611735576040519150601f19603f3d011682016040523d82523d6000602084013e61173a565b606091505b509150915061174a868383611754565b9695505050505050565b60608261176957611764826117a7565b611608565b815115801561178057506001600160a01b0384163b155b156117a05783604051639996b31560e01b81526004016104d291906118a1565b5080611608565b8051156117b75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0395861681529385166020850152918416604084015283166060830152909116608082015260a00190565b60006020828403121561181457600080fd5b5035919050565b6001600160a01b03811681146107b457600080fd5b600080600080600060a0868803121561184857600080fd5b85356118538161181b565b945060208601356118638161181b565b935060408601356118738161181b565b925060608601356118838161181b565b915060808601356118938161181b565b809150509295509295909350565b6001600160a01b0391909116815260200190565b6000602082840312156118c757600080fd5b81356116088161181b565b6000806000606084860312156118e757600080fd5b83356118f28161181b565b925060208401356119028161181b565b929592945050506040919091013590565b600080600080600080600060e0888a03121561192e57600080fd5b87356119398161181b565b965060208801356119498161181b565b95506040880135945060608801359350608088013560ff8116811461196d57600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60006020828403121561199c57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176109df576109df6119a3565b6000826119ed57634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156109df576109df6119a3565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60008151808452602080850194506020840160005b83811015611a845781516001600160a01b031687529582019590820190600101611a5f565b509495945050505050565b828152604060208201526000611aa86040830184611a4a565b949350505050565b60006020808385031215611ac357600080fd5b825167ffffffffffffffff80821115611adb57600080fd5b818501915085601f830112611aef57600080fd5b815181811115611b0157611b01611a1e565b8060051b604051601f19603f83011681018181108582111715611b2657611b26611a1e565b604052918252848201925083810185019188831115611b4457600080fd5b938501935b82851015611b6257845184529385019392850192611b49565b98975050505050505050565b808201808211156109df576109df6119a3565b85815284602082015260a060408201526000611ba060a0830186611a4a565b6001600160a01b0394909416606083015250608001529392505050565b600060208284031215611bcf57600080fd5b8151801515811461160857600080fd5b6000825160005b81811015611c005760208186018101518583015201611be6565b50600092019182525091905056fea264697066735822122080bf51680f70970a38901580803d1f6d3e63eaafa11612951b377c00901e4d8664736f6c63430008180033000000000000000000000000fb9ffe845d6edd4d8da2660ca50318a75fad3b35