8 txs
6 calls
constructor
constructor(address _token, address _payment_receiver, address _hotWallet, address _admin, address _liquidity_pool, address _weth)
functions
config
viewfunction config() view returns (address token, address payment_receiver, address hotWallet, address admin, address liquidity_pool, address weth, bool paused)
getLastOrderIndex
viewfunction getLastOrderIndex() view returns (uint256)
getOrderDetails
viewfunction getOrderDetails(uint256 _orderIndex) view returns (tuple)
getOrderStatus
viewfunction getOrderStatus(uint256 _orderIndex) view returns (bool)
getPriceFromPool
viewfunction getPriceFromPool() view returns (uint256 _price)
index
viewfunction index() view returns (uint256)
orders
viewfunction orders(uint256) view returns (address user, uint256 eth_deposited, uint256 timestamp, uint256 index, bool finalized)
changeConfig
nonpayablefunction changeConfig(tuple _config)
createOrder
payablefunction createOrder(uint256 _eth_to_deposit) payable
emergencyWithdraw
nonpayablefunction emergencyWithdraw()
executeOrder
nonpayablefunction executeOrder(uint256 _index)
togglePause
nonpayablefunction togglePause()
events
ConfigChanged
event ConfigChanged((address token, address payment_receiver, address hotWallet, address admin, address liquidity_pool, address weth, bool paused) newConfig)
OrderCreated
event OrderCreated(address indexed user, uint256 deposited_eth, uint256 timestamp, uint256 index)
OrderExecuted
event OrderExecuted(address indexed user, uint256 sent_tokens, uint256 timestamp, uint256 index)
Paused
event Paused(bool paused)
errors
Error_ETHTransferFailed
error Error_ETHTransferFailed()
Error_InvalidAddresses
error Error_InvalidAddresses()
Error_InvalidPayment
error Error_InvalidPayment()
Error_NotAdmin
error Error_NotAdmin()
Error_NotEnoughBalance
error Error_NotEnoughBalance()
Error_NotHotWallet
error Error_NotHotWallet()
Error_OrderAlreadyExecuted
error Error_OrderAlreadyExecuted()
Error_Paused
error Error_Paused()
creation bytecode
0x60806040523480156200001157600080fd5b506040516200122f3803806200122f833981016040819052620000349162000178565b6200003f8662000132565b80620000515750620000518562000132565b80620000635750620000638462000132565b80620000755750620000758362000132565b80620000875750620000878262000132565b80620000995750620000998162000132565b15620000b8576040516343cfb52960e11b815260040160405180910390fd5b600180546001600160a01b03199081166001600160a01b0398891617909155600280548216968816969096179095556003805486169487169490941790935560048054851692861692909217909155600580549093169084161790915560068054919092166001600160a81b0319909116179055620001f9565b60006001600160a01b03821615806200015557506001600160a01b03821661dead145b92915050565b80516001600160a01b03811681146200017357600080fd5b919050565b60008060008060008060c087890312156200019257600080fd5b6200019d876200015b565b9550620001ad602088016200015b565b9450620001bd604088016200015b565b9350620001cd606088016200015b565b9250620001dd608088016200015b565b9150620001ed60a088016200015b565b90509295509295509295565b61102680620002096000396000f3fe6080604052600436106100ab5760003560e01c8063bbaea21411610064578063bbaea2141461027b578063c4ae316814610290578063d5c5266c146102a5578063db2e21bc146102c5578063ec7dd7bb146102da578063f8ad8cd71461034257600080fd5b80632986c0e5146100b757806345fa8aae146100e05780635e2fe3721461012357806379502c551461013857806394f61134146101ce578063a85c38ef146101f057600080fd5b366100b257005b600080fd5b3480156100c357600080fd5b506100cd60005481565b6040519081526020015b60405180910390f35b3480156100ec57600080fd5b506101136100fb366004610e2c565b60009081526007602052604090206004015460ff1690565b60405190151581526020016100d7565b34801561012f57600080fd5b506100cd610355565b34801561014457600080fd5b50600154600254600354600454600554600654610184956001600160a01b039081169581169481169381169281169190811690600160a01b900460ff1687565b604080516001600160a01b03988916815296881660208801529487169486019490945291851660608501528416608084015290921660a082015290151560c082015260e0016100d7565b3480156101da57600080fd5b506101ee6101e9366004610e2c565b61037a565b005b3480156101fc57600080fd5b5061024761020b366004610e2c565b600760205260009081526040902080546001820154600283015460038401546004909401546001600160a01b0390931693919290919060ff1685565b604080516001600160a01b03909616865260208601949094529284019190915260608301521515608082015260a0016100d7565b34801561028757600080fd5b506100cd61061e565b34801561029c57600080fd5b506101ee61074f565b3480156102b157600080fd5b506101ee6102c0366004610e7a565b6107e0565b3480156102d157600080fd5b506101ee610a7e565b3480156102e657600080fd5b506102fa6102f5366004610e2c565b610c28565b6040516100d7919081516001600160a01b0316815260208083015190820152604080830151908201526060808301519082015260809182015115159181019190915260a00190565b6101ee610350366004610e2c565b610cc2565b600080546000036103665750600090565b60016000546103759190610f4e565b905090565b6003546001600160a01b031633146103a557604051632c5835b760e21b815260040160405180910390fd5b600654600160a01b900460ff16156103d0576040516306a8ecbb60e41b815260040160405180910390fd5b6000818152600760205260409020600481015460ff161561040457604051637e543ecb60e11b815260040160405180910390fd5b60048101805460ff19166001179055600061041d61061e565b90506000818360010154670de0b6b3a764000061043a9190610f61565b6104449190610f78565b6001546040516370a0823160e01b81523060048201529192506001600160a01b031690829082906370a0823190602401602060405180830381865afa158015610491573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104b59190610f9a565b10156104d45760405163a739a70d60e01b815260040160405180910390fd5b835460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529082169063a9059cbb906044016020604051808303816000875af1158015610526573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054a9190610fb3565b504780156105c8576002546040516000916001600160a01b03169083908381818185875af1925050503d806000811461059f576040519150601f19603f3d011682016040523d82523d6000602084013e6105a4565b606091505b50509050806105c657604051630668019960e41b815260040160405180910390fd5b505b8454604080518581524260208201529081018890526001600160a01b03909116907f73175b857aaab88954249d56aa482abb7402f221b484927103a33f78f8c851a59060600160405180910390a2505050505050565b6006546005546040516370a0823160e01b81526001600160a01b039182166004820152600092839216906370a0823190602401602060405180830381865afa15801561066e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106929190610f9a565b6001546005546040516370a0823160e01b81526001600160a01b0391821660048201529293506000929116906370a0823190602401602060405180830381865afa1580156106e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107089190610f9a565b90508060000361072b5760405163a739a70d60e01b815260040160405180910390fd5b8061073e83670de0b6b3a7640000610f61565b6107489190610f78565b9250505090565b6004546001600160a01b0316331461077a57604051637277e5f560e11b815260040160405180910390fd5b6006805460ff600160a01b808304821615810260ff60a01b1990931692909217928390556040517f0e2fb031ee032dc02d8011dc50b816eb450cf856abd8261680dac74f72165bd2936107d69390049091161515815260200190565b60405180910390a1565b6004546001600160a01b0316331461080b57604051637277e5f560e11b815260040160405180910390fd5b6040805160e0810182526001546001600160a01b03908116825260025481166020830152600354811692820192909252600454821660608201526005548216608082015260065491821660a0820152600160a01b90910460ff16151560c0820152815161087790610d25565b6108895781516001600160a01b031681525b6108968260200151610d25565b6108ae576020808301516001600160a01b0316908201525b6108bb8260400151610d25565b6108d3576040808301516001600160a01b0316908201525b6108e08260600151610d25565b6108f8576060808301516001600160a01b0316908201525b6109058260800151610d25565b61091d576080808301516001600160a01b0316908201525b61092a8260a00151610d25565b6109425760a0808301516001600160a01b0316908201525b8051600180546001600160a01b039283166001600160a01b03199182161790915560208301516002805491841691831691909117905560408084015160038054918516918416919091179055606084015160048054918516918416919091179055608084015160058054918516919093161790915560a08301516006805460c08601511515600160a01b026001600160a81b0319909116929094169190911792909217909155517f9ffa32336d502d00d6fc7e9f2f42e4d32ed5062f5b6f3f9aa44ff26a400e71bf90610a7290839081516001600160a01b03908116825260208084015182169083015260408084015182169083015260608084015182169083015260808084015182169083015260a0838101519091169082015260c09182015115159181019190915260e00190565b60405180910390a15050565b6004546001600160a01b03163314610aa957604051637277e5f560e11b815260040160405180910390fd5b6001546040516370a0823160e01b81523060048201526001600160a01b039091169060009082906370a0823190602401602060405180830381865afa158015610af6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1a9190610f9a565b60025490915047906001600160a01b03168215610ba65760405163a9059cbb60e01b81526001600160a01b0382811660048301526024820185905285169063a9059cbb906044016020604051808303816000875af1158015610b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba49190610fb3565b505b8115610c22576000816001600160a01b03164760405160006040518083038185875af1925050503d8060008114610bf9576040519150601f19603f3d011682016040523d82523d6000602084013e610bfe565b606091505b5050905080610c2057604051630668019960e41b815260040160405180910390fd5b505b50505050565b610c656040518060a0016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000151581525090565b50600090815260076020908152604091829020825160a08101845281546001600160a01b031681526001820154928101929092526002810154928201929092526003820154606082015260049091015460ff161515608082015290565b600654600160a01b900460ff1615610ced576040516306a8ecbb60e41b815260040160405180910390fd5b8034141580610cfa575080155b15610d1857604051633a250e1f60e11b815260040160405180910390fd5b610d223382610d4d565b50565b60006001600160a01b0382161580610d4757506001600160a01b03821661dead145b92915050565b6040805160a0810182526001600160a01b03848116808352602080840186815242858701818152600080546060808a0182815260808b01848152928452600788528b84208b5181546001600160a01b0319169b169a909a178a55955160018a0155925160028901559351600388015592516004909601805460ff19169615159690961790955590548651888152928301919091529481019490945291927fc91f8c0f477cf15f9c2817f9ebd625732b44c4753ed718ae0276a96577a69f72910160405180910390a26000808154610e2390610fd7565b90915550505050565b600060208284031215610e3e57600080fd5b5035919050565b80356001600160a01b0381168114610e5c57600080fd5b919050565b8015158114610d2257600080fd5b8035610e5c81610e61565b600060e08284031215610e8c57600080fd5b60405160e0810181811067ffffffffffffffff82111715610ebd57634e487b7160e01b600052604160045260246000fd5b604052610ec983610e45565b8152610ed760208401610e45565b6020820152610ee860408401610e45565b6040820152610ef960608401610e45565b6060820152610f0a60808401610e45565b6080820152610f1b60a08401610e45565b60a0820152610f2c60c08401610e6f565b60c08201529392505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610d4757610d47610f38565b8082028115828204841417610d4757610d47610f38565b600082610f9557634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215610fac57600080fd5b5051919050565b600060208284031215610fc557600080fd5b8151610fd081610e61565b9392505050565b600060018201610fe957610fe9610f38565b506001019056fea2646970667358221220cf1e229dd77b386b41c732eae7e4a390b05170f65acfe9ba13df4bfedabb51a864736f6c63430008180033000000000000000000000000bc4c5dff630a86b864bebf48f55faa626ef1232300000000000000000000000062c5115be8f7d7fa01cbfcbcf1cf122d92b854150000000000000000000000000e2abdee116f8cd4da6be74c863d05bb5ca596ca0000000000000000000000007ca91734605b3060edcc9ab8492cb192598961d90000000000000000000000008fdca99b4cac8f1ec559fc259c58f041a5b8ba8f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2