Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
UrulokOrderManager
Compiler Version
v0.8.23+commit.f704f362
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: UNLICENSED // Uruloki DEX is NOT LICENSED FOR COPYING. // Uruloki DEX (C) 2022. All Rights Reserved. pragma solidity ^0.8.4; contract UrulokOrderManager { //// Define enums enum OrderType { TargetPrice, PriceRange } enum OrderStatus { Active, Cancelled, OutOfFunds, Completed } //// Define structs // One time order, it's a base order struct struct OrderBase { address userAddress; address pairedTokenAddress; address tokenAddress; OrderType orderType; uint256 targetPrice; bool isBuy; uint256 maxPrice; uint256 minPrice; OrderStatus status; uint256 amount; uint256 predictionAmount; bool isContinuous; } // Continuous Order, it's an extended order struct, including the base order struct struct Order { OrderBase orderBase; uint256 numExecutions; uint256 resetPercentage; bool hasPriceReset; } address public dexAddress; mapping(uint256 => Order) public orders; uint256 public orderCounter; constructor(address _dexAddress) { require(_dexAddress != address(0), "Error zero address"); dexAddress = _dexAddress; } modifier onlyDex() { require(msg.sender == dexAddress, "Caller not allowed"); _; } modifier isExistOrder(uint256 orderId) { require(orderId != 0, "isExistOrder: invalid order id"); require( orders[orderId].orderBase.userAddress != address(0), "isExistOrder: not exist" ); _; } modifier validatePredictionAmount(uint256 predictionAmount){ require(predictionAmount >= 0, "Incorrect predictionAmount"); _; } function createOneTimeOrder( address userAddress, address pairedTokenAddress, address tokenAddress, bool isBuy, uint256 targetPrice, uint256 minPrice, uint256 maxPrice, uint256 amount, uint256 predictionAmount ) external onlyDex validatePredictionAmount(predictionAmount) returns (uint256) { require(userAddress != address(0), "zero user address"); require(amount > 0, "Amount must be greater than zero"); // Check if the token and pair addresses are valid require( pairedTokenAddress != tokenAddress, "Token and pair addresses must be different" ); if (targetPrice > 0) { require( minPrice == 0 && maxPrice == 0, "validateOrder: not target price order" ); } else { require( minPrice > 0 && minPrice < maxPrice, "validateOrder: not price range order" ); } OrderBase memory orderBase = OrderBase({ userAddress: userAddress, pairedTokenAddress: pairedTokenAddress, tokenAddress: tokenAddress, orderType: targetPrice > 0 ? OrderType.TargetPrice : OrderType.PriceRange, targetPrice: targetPrice, isBuy: isBuy, minPrice: minPrice, maxPrice: maxPrice, status: OrderStatus.Active, amount: amount, predictionAmount: predictionAmount, isContinuous: false }); Order memory order = Order({ orderBase: orderBase, numExecutions: 0, resetPercentage: 0, hasPriceReset: false }); // Add the ContinuousOrder to the orders mapping orders[++orderCounter] = order; return orderCounter; } function createContinuousOrder( address userAddress, address pairedTokenAddress, address tokenAddress, bool isBuy, uint256 targetPrice, uint256 minPrice, uint256 maxPrice, uint256 amount, uint256 predictionAmount, uint256 resetPercentage ) external onlyDex validatePredictionAmount(predictionAmount) returns (uint256) { require(userAddress != address(0), "zero user address"); require(amount > 0, "Amount must be greater than zero"); // Check if the token and pair addresses are valid require( pairedTokenAddress != tokenAddress, "Token and pair addresses must be different" ); if (targetPrice > 0) { require( minPrice == 0 && maxPrice == 0, "validateOrder: not target price order" ); } else { require( minPrice > 0 && minPrice < maxPrice, "validateOrder: not price range order" ); } // Validate inputs require( resetPercentage > 0 && resetPercentage < 100, "Invalid reset percentage" ); // Create the ContinuousOrder struct OrderBase memory orderBase = OrderBase({ userAddress: userAddress, pairedTokenAddress: pairedTokenAddress, tokenAddress: tokenAddress, orderType: targetPrice > 0 ? OrderType.TargetPrice : OrderType.PriceRange, targetPrice: targetPrice, isBuy: isBuy, minPrice: minPrice, maxPrice: maxPrice, status: OrderStatus.Active, amount: amount, predictionAmount: predictionAmount, isContinuous: true }); Order memory order = Order({ orderBase: orderBase, numExecutions: 0, resetPercentage: resetPercentage, hasPriceReset: true }); // Add the ContinuousOrder to the orders mapping orders[++orderCounter] = order; return orderCounter; } function updateOrder( uint256 orderId, address pairedTokenAddress, address tokenAddress, bool isBuy, uint256 targetPrice, uint256 minPrice, uint256 maxPrice, uint256 amount, uint256 predictionAmount, uint256 resetPercentage ) external onlyDex isExistOrder(orderId) validatePredictionAmount(predictionAmount) { require(amount > 0, "Amount must be greater than zero"); // Check if the token and pair addresses are valid require( pairedTokenAddress != tokenAddress, "Token and pair addresses must be different" ); if (targetPrice > 0) { require( minPrice == 0 && maxPrice == 0, "validateOrder: not target price order" ); } else { require( minPrice > 0 && minPrice < maxPrice, "validateOrder: not price range order" ); } if (orders[orderId].orderBase.isContinuous) { require( resetPercentage > 0 && resetPercentage < 100, "Invalid reset percentage" ); } orders[orderId].orderBase.pairedTokenAddress = pairedTokenAddress; orders[orderId].orderBase.tokenAddress = tokenAddress; orders[orderId].orderBase.isBuy = isBuy; orders[orderId].orderBase.orderType = targetPrice > 0 ? OrderType.TargetPrice : OrderType.PriceRange; orders[orderId].orderBase.targetPrice = targetPrice; orders[orderId].orderBase.minPrice = minPrice; orders[orderId].orderBase.maxPrice = maxPrice; orders[orderId].orderBase.amount = amount; orders[orderId].orderBase.predictionAmount = predictionAmount; orders[orderId].resetPercentage = resetPercentage; } /** * @dev cancel exist order * @param orderId order id * @return orderId */ function cancelOrder( uint256 orderId ) external onlyDex isExistOrder(orderId) returns (uint256) { Order memory order = orders[orderId]; if (order.orderBase.isContinuous == false) { require( order.orderBase.status == OrderStatus.Active, "cancelOrder: order not active" ); } else { require( order.orderBase.status != OrderStatus.Cancelled, "cancelOrder: order already cancelled" ); } orders[orderId].orderBase.status = OrderStatus.Cancelled; return orderId; } function getOrder( uint256 orderId ) external view isExistOrder(orderId) returns (Order memory) { return orders[orderId]; } function setOrderStatus( uint256 orderId, OrderStatus status ) external onlyDex isExistOrder(orderId) { orders[orderId].orderBase.status = status; } function incNumExecutions( uint256 orderId ) external onlyDex isExistOrder(orderId) { orders[orderId].numExecutions++; } function setHasPriceReset( uint256 orderId, bool flag ) external onlyDex isExistOrder(orderId) { orders[orderId].hasPriceReset = flag; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_dexAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"orderId","type":"uint256"}],"name":"cancelOrder","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"address","name":"pairedTokenAddress","type":"address"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"isBuy","type":"bool"},{"internalType":"uint256","name":"targetPrice","type":"uint256"},{"internalType":"uint256","name":"minPrice","type":"uint256"},{"internalType":"uint256","name":"maxPrice","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"predictionAmount","type":"uint256"},{"internalType":"uint256","name":"resetPercentage","type":"uint256"}],"name":"createContinuousOrder","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"address","name":"pairedTokenAddress","type":"address"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"isBuy","type":"bool"},{"internalType":"uint256","name":"targetPrice","type":"uint256"},{"internalType":"uint256","name":"minPrice","type":"uint256"},{"internalType":"uint256","name":"maxPrice","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"predictionAmount","type":"uint256"}],"name":"createOneTimeOrder","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dexAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"orderId","type":"uint256"}],"name":"getOrder","outputs":[{"components":[{"components":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"address","name":"pairedTokenAddress","type":"address"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"enum UrulokOrderManager.OrderType","name":"orderType","type":"uint8"},{"internalType":"uint256","name":"targetPrice","type":"uint256"},{"internalType":"bool","name":"isBuy","type":"bool"},{"internalType":"uint256","name":"maxPrice","type":"uint256"},{"internalType":"uint256","name":"minPrice","type":"uint256"},{"internalType":"enum UrulokOrderManager.OrderStatus","name":"status","type":"uint8"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"predictionAmount","type":"uint256"},{"internalType":"bool","name":"isContinuous","type":"bool"}],"internalType":"struct UrulokOrderManager.OrderBase","name":"orderBase","type":"tuple"},{"internalType":"uint256","name":"numExecutions","type":"uint256"},{"internalType":"uint256","name":"resetPercentage","type":"uint256"},{"internalType":"bool","name":"hasPriceReset","type":"bool"}],"internalType":"struct UrulokOrderManager.Order","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"orderId","type":"uint256"}],"name":"incNumExecutions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"orderCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"orders","outputs":[{"components":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"address","name":"pairedTokenAddress","type":"address"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"enum UrulokOrderManager.OrderType","name":"orderType","type":"uint8"},{"internalType":"uint256","name":"targetPrice","type":"uint256"},{"internalType":"bool","name":"isBuy","type":"bool"},{"internalType":"uint256","name":"maxPrice","type":"uint256"},{"internalType":"uint256","name":"minPrice","type":"uint256"},{"internalType":"enum UrulokOrderManager.OrderStatus","name":"status","type":"uint8"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"predictionAmount","type":"uint256"},{"internalType":"bool","name":"isContinuous","type":"bool"}],"internalType":"struct UrulokOrderManager.OrderBase","name":"orderBase","type":"tuple"},{"internalType":"uint256","name":"numExecutions","type":"uint256"},{"internalType":"uint256","name":"resetPercentage","type":"uint256"},{"internalType":"bool","name":"hasPriceReset","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"orderId","type":"uint256"},{"internalType":"bool","name":"flag","type":"bool"}],"name":"setHasPriceReset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"orderId","type":"uint256"},{"internalType":"enum UrulokOrderManager.OrderStatus","name":"status","type":"uint8"}],"name":"setOrderStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"orderId","type":"uint256"},{"internalType":"address","name":"pairedTokenAddress","type":"address"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"isBuy","type":"bool"},{"internalType":"uint256","name":"targetPrice","type":"uint256"},{"internalType":"uint256","name":"minPrice","type":"uint256"},{"internalType":"uint256","name":"maxPrice","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"predictionAmount","type":"uint256"},{"internalType":"uint256","name":"resetPercentage","type":"uint256"}],"name":"updateOrder","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561000f575f80fd5b5060405161193d38038061193d83398101604081905261002e916100a1565b6001600160a01b03811661007d5760405162461bcd60e51b81526020600482015260126024820152714572726f72207a65726f206164647265737360701b604482015260640160405180910390fd5b5f80546001600160a01b0319166001600160a01b03929092169190911790556100ce565b5f602082840312156100b1575f80fd5b81516001600160a01b03811681146100c7575f80fd5b9392505050565b611862806100db5f395ff3fe608060405234801561000f575f80fd5b50600436106100a6575f3560e01c80636ab878a81161006e5780636ab878a81461011e578063745fba8414610131578063a85c38ef1461015b578063b789bf521461017e578063d09ef24114610187578063d6f35bd5146101a7575f80fd5b80632de7d400146100aa57806335fb02ee146100bf578063514fcac7146100d25780635281b981146100f85780635585b1931461010b575b5f80fd5b6100bd6100b836600461133c565b6101ba565b005b6100bd6100cd366004611353565b610264565b6100e56100e036600461133c565b61031a565b6040519081526020015b60405180910390f35b6100bd610106366004611398565b6105df565b6100bd6101193660046113d8565b61067e565b6100e561012c366004611456565b6108f4565b5f54610143906001600160a01b031681565b6040516001600160a01b0390911681526020016100ef565b61016e61016936600461133c565b610c56565b6040516100ef94939291906115cb565b6100e560025481565b61019a61019536600461133c565b610d75565b6040516100ef91906115fa565b6100e56101b5366004611635565b610f09565b5f546001600160a01b031633146101ec5760405162461bcd60e51b81526004016101e390611666565b60405180910390fd5b80805f0361020c5760405162461bcd60e51b81526004016101e390611692565b5f818152600160205260409020546001600160a01b031661023f5760405162461bcd60e51b81526004016101e3906116c9565b5f828152600160205260408120600b0180549161025b83611700565b91905055505050565b5f546001600160a01b0316331461028d5760405162461bcd60e51b81526004016101e390611666565b81805f036102ad5760405162461bcd60e51b81526004016101e390611692565b5f818152600160205260409020546001600160a01b03166102e05760405162461bcd60e51b81526004016101e3906116c9565b5f8381526001602081905260409091206007018054849260ff1990911690836003811115610310576103106114d2565b0217905550505050565b5f80546001600160a01b031633146103445760405162461bcd60e51b81526004016101e390611666565b81805f036103645760405162461bcd60e51b81526004016101e390611692565b5f818152600160205260409020546001600160a01b03166103975760405162461bcd60e51b81526004016101e3906116c9565b5f8381526001602081905260408083208151610200810190925280546001600160a01b039081166080840190815282850154821660a0850152600283015491821660c08501529293919284929091849160e0850191600160a01b900460ff1690811115610406576104066114d2565b6001811115610417576104176114d2565b81526003828101546020830152600483015460ff908116151560408401526005840154606084015260068401546080840152600784015460a0909301921690811115610465576104656114d2565b6003811115610476576104766114d2565b815260088201546020808301919091526009830154604080840191909152600a9093015460ff9081161515606093840152938552600b86015490850152600c85015491840191909152600d909301541615159101528051610160015190915015155f03610548575f8151610100015160038111156104f6576104f66114d2565b146105435760405162461bcd60e51b815260206004820152601d60248201527f63616e63656c4f726465723a206f72646572206e6f742061637469766500000060448201526064016101e3565b6105bb565b6001815161010001516003811115610562576105626114d2565b036105bb5760405162461bcd60e51b8152602060048201526024808201527f63616e63656c4f726465723a206f7264657220616c72656164792063616e63656044820152631b1b195960e21b60648201526084016101e3565b5050505f818152600160208190526040909120600701805460ff1916909117905590565b5f546001600160a01b031633146106085760405162461bcd60e51b81526004016101e390611666565b81805f036106285760405162461bcd60e51b81526004016101e390611692565b5f818152600160205260409020546001600160a01b031661065b5760405162461bcd60e51b81526004016101e3906116c9565b505f91825260016020526040909120600d01805460ff1916911515919091179055565b5f546001600160a01b031633146106a75760405162461bcd60e51b81526004016101e390611666565b89805f036106c75760405162461bcd60e51b81526004016101e390611692565b5f818152600160205260409020546001600160a01b03166106fa5760405162461bcd60e51b81526004016101e3906116c9565b825f851161071a5760405162461bcd60e51b81526004016101e390611724565b896001600160a01b03168b6001600160a01b03160361074b5760405162461bcd60e51b81526004016101e390611759565b871561077e578615801561075d575085155b6107795760405162461bcd60e51b81526004016101e3906117a3565b6107a8565b5f8711801561078c57508587105b6107a85760405162461bcd60e51b81526004016101e3906117e8565b5f8c8152600160205260409020600a015460ff1615610817575f831180156107d05750606483105b6108175760405162461bcd60e51b8152602060048201526018602482015277496e76616c69642072657365742070657263656e7461676560401b60448201526064016101e3565b5f8c815260016020819052604090912090810180546001600160a01b03808f166001600160a01b031992831617909255600283018054928e169290911691909117905560040180548a151560ff1990911617905587610877576001610879565b5f5b5f8d81526001602081905260409091206002018054909160ff60a01b1990911690600160a01b9084908111156108b1576108b16114d2565b021790555050505f998a526001602052604090992060038101959095556006850193909355600584019190915560088301556009820155600c0193909355505050565b5f80546001600160a01b0316331461091e5760405162461bcd60e51b81526004016101e390611666565b816001600160a01b038b166109695760405162461bcd60e51b81526020600482015260116024820152707a65726f2075736572206164647265737360781b60448201526064016101e3565b5f84116109885760405162461bcd60e51b81526004016101e390611724565b886001600160a01b03168a6001600160a01b0316036109b95760405162461bcd60e51b81526004016101e390611759565b86156109ec57851580156109cb575084155b6109e75760405162461bcd60e51b81526004016101e3906117a3565b610a16565b5f861180156109fa57508486105b610a165760405162461bcd60e51b81526004016101e3906117e8565b5f6040518061018001604052808d6001600160a01b031681526020018c6001600160a01b031681526020018b6001600160a01b031681526020015f8a11610a5e576001610a60565b5f5b6001811115610a7157610a716114d2565b8152602081018a90528a15156040820152606081018890526080810189905260a0015f81526020018681526020018581526020015f151581525090505f60405180608001604052808381526020015f81526020015f81526020015f151581525090508060015f60025f8154610ae590611700565b9182905550815260208082019290925260409081015f208351805182546001600160a01b03199081166001600160a01b039283161784559482015160018085018054881692841692909217909155938201516002840180549687169190921690811782556060830151939592948694936001600160a81b03191690911790600160a01b908490811115610b7a57610b7a6114d2565b0217905550608082015160038083019190915560a083015160048301805491151560ff1992831617905560c0840151600584015560e084015160068401556101008401516007840180549193909291909116906001908490811115610be157610be16114d2565b02179055506101208201516008820155610140820151600982015561016090910151600a909101805491151560ff199283161790556020830151600b8301556040830151600c830155606090920151600d90910180549115159190921617905550506002549150509998505050505050505050565b600160208181525f92835260409283902083516101808101855281546001600160a01b03908116825282850154811693820193909352600282015492831694810194909452929183916060840191600160a01b90910460ff1690811115610cbf57610cbf6114d2565b6001811115610cd057610cd06114d2565b81526003828101546020830152600483015460ff908116151560408401526005840154606084015260068401546080840152600784015460a0909301921690811115610d1e57610d1e6114d2565b6003811115610d2f57610d2f6114d2565b81526008820154602082015260098201546040820152600a9091015460ff9081161515606090920191909152600b830154600c840154600d909401549293909290911684565b610d7d6112c4565b81805f03610d9d5760405162461bcd60e51b81526004016101e390611692565b5f818152600160205260409020546001600160a01b0316610dd05760405162461bcd60e51b81526004016101e3906116c9565b5f838152600160208190526040918290208251610200810190935280546001600160a01b039081166080850190815282840154821660a0860152600283015491821660c08601529192849291849160e0850191600160a01b900460ff1690811115610e3d57610e3d6114d2565b6001811115610e4e57610e4e6114d2565b81526003828101546020830152600483015460ff908116151560408401526005840154606084015260068401546080840152600784015460a0909301921690811115610e9c57610e9c6114d2565b6003811115610ead57610ead6114d2565b815260088201546020808301919091526009830154604080840191909152600a9093015460ff9081161515606093840152938552600b86015490850152600c85015491840191909152600d909301541615159101529392505050565b5f80546001600160a01b03163314610f335760405162461bcd60e51b81526004016101e390611666565b826001600160a01b038c16610f7e5760405162461bcd60e51b81526020600482015260116024820152707a65726f2075736572206164647265737360781b60448201526064016101e3565b5f8511610f9d5760405162461bcd60e51b81526004016101e390611724565b896001600160a01b03168b6001600160a01b031603610fce5760405162461bcd60e51b81526004016101e390611759565b87156110015786158015610fe0575085155b610ffc5760405162461bcd60e51b81526004016101e3906117a3565b61102b565b5f8711801561100f57508587105b61102b5760405162461bcd60e51b81526004016101e3906117e8565b5f8311801561103a5750606483105b6110815760405162461bcd60e51b8152602060048201526018602482015277496e76616c69642072657365742070657263656e7461676560401b60448201526064016101e3565b5f6040518061018001604052808e6001600160a01b031681526020018d6001600160a01b031681526020018c6001600160a01b031681526020015f8b116110c95760016110cb565b5f5b60018111156110dc576110dc6114d2565b8152602081018b90528b1515604082015260608101899052608081018a905260a0015f81526020018781526020018681526020016001151581525090505f60405180608001604052808381526020015f81526020018681526020016001151581525090508060015f60025f815461115290611700565b9182905550815260208082019290925260409081015f208351805182546001600160a01b03199081166001600160a01b039283161784559482015160018085018054881692841692909217909155938201516002840180549687169190921690811782556060830151939592948694936001600160a81b03191690911790600160a01b9084908111156111e7576111e76114d2565b0217905550608082015160038083019190915560a083015160048301805491151560ff1992831617905560c0840151600584015560e08401516006840155610100840151600784018054919390929190911690600190849081111561124e5761124e6114d2565b02179055506101208201516008820155610140820151600982015561016090910151600a909101805491151560ff199283161790556020830151600b8301556040830151600c830155606090920151600d90910180549115159190921617905550506002549150509a9950505050505050505050565b60405180608001604052806112d76112f1565b81526020015f81526020015f81526020015f151581525090565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201906112d7565b5f6020828403121561134c575f80fd5b5035919050565b5f8060408385031215611364575f80fd5b82359150602083013560048110611379575f80fd5b809150509250929050565b80358015158114611393575f80fd5b919050565b5f80604083850312156113a9575f80fd5b823591506113b960208401611384565b90509250929050565b80356001600160a01b0381168114611393575f80fd5b5f805f805f805f805f806101408b8d0312156113f2575f80fd5b8a35995061140260208c016113c2565b985061141060408c016113c2565b975061141e60608c01611384565b999c989b50969960808101359860a0820135985060c0820135975060e082013596506101008201359550610120909101359350915050565b5f805f805f805f805f6101208a8c03121561146f575f80fd5b6114788a6113c2565b985061148660208b016113c2565b975061149460408b016113c2565b96506114a260608b01611384565b989b979a50959860808101359760a0820135975060c0820135965060e08201359550610100909101359350915050565b634e487b7160e01b5f52602160045260245ffd5b600281106114f6576114f66114d2565b9052565b600481106114f6576114f66114d2565b80516001600160a01b03168252602081015161153160208401826001600160a01b03169052565b50604081015161154c60408401826001600160a01b03169052565b50606081015161155f60608401826114e6565b506080810151608083015260a081015161157d60a084018215159052565b5060c081015160c083015260e081015160e0830152610100808201516115a5828501826114fa565b505061012081810151908301526101408082015190830152610160908101511515910152565b6101e081016115da828761150a565b84610180830152836101a08301528215156101c083015295945050505050565b5f6101e08201905061160d82845161150a565b602083015161018083015260408301516101a083015260609092015115156101c09091015290565b5f805f805f805f805f806101408b8d03121561164f575f80fd5b6116588b6113c2565b995061140260208c016113c2565b60208082526012908201527110d85b1b195c881b9bdd08185b1b1bddd95960721b604082015260600190565b6020808252601e908201527f697345786973744f726465723a20696e76616c6964206f726465722069640000604082015260600190565b60208082526017908201527f697345786973744f726465723a206e6f74206578697374000000000000000000604082015260600190565b5f6001820161171d57634e487b7160e01b5f52601160045260245ffd5b5060010190565b6020808252818101527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604082015260600190565b6020808252602a908201527f546f6b656e20616e64207061697220616464726573736573206d75737420626560408201526908191a5999995c995b9d60b21b606082015260800190565b60208082526025908201527f76616c69646174654f726465723a206e6f74207461726765742070726963652060408201526437b93232b960d91b606082015260800190565b60208082526024908201527f76616c69646174654f726465723a206e6f742070726963652072616e6765206f604082015263393232b960e11b60608201526080019056fea26469706673582212205b8e70e69039265dd290df131750c2e1e223f284835ae56669309896cb9c9e9064736f6c63430008170033000000000000000000000000a408a7ecd7c4f7f97cdf26c7d3f84d4037f288ef
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106100a6575f3560e01c80636ab878a81161006e5780636ab878a81461011e578063745fba8414610131578063a85c38ef1461015b578063b789bf521461017e578063d09ef24114610187578063d6f35bd5146101a7575f80fd5b80632de7d400146100aa57806335fb02ee146100bf578063514fcac7146100d25780635281b981146100f85780635585b1931461010b575b5f80fd5b6100bd6100b836600461133c565b6101ba565b005b6100bd6100cd366004611353565b610264565b6100e56100e036600461133c565b61031a565b6040519081526020015b60405180910390f35b6100bd610106366004611398565b6105df565b6100bd6101193660046113d8565b61067e565b6100e561012c366004611456565b6108f4565b5f54610143906001600160a01b031681565b6040516001600160a01b0390911681526020016100ef565b61016e61016936600461133c565b610c56565b6040516100ef94939291906115cb565b6100e560025481565b61019a61019536600461133c565b610d75565b6040516100ef91906115fa565b6100e56101b5366004611635565b610f09565b5f546001600160a01b031633146101ec5760405162461bcd60e51b81526004016101e390611666565b60405180910390fd5b80805f0361020c5760405162461bcd60e51b81526004016101e390611692565b5f818152600160205260409020546001600160a01b031661023f5760405162461bcd60e51b81526004016101e3906116c9565b5f828152600160205260408120600b0180549161025b83611700565b91905055505050565b5f546001600160a01b0316331461028d5760405162461bcd60e51b81526004016101e390611666565b81805f036102ad5760405162461bcd60e51b81526004016101e390611692565b5f818152600160205260409020546001600160a01b03166102e05760405162461bcd60e51b81526004016101e3906116c9565b5f8381526001602081905260409091206007018054849260ff1990911690836003811115610310576103106114d2565b0217905550505050565b5f80546001600160a01b031633146103445760405162461bcd60e51b81526004016101e390611666565b81805f036103645760405162461bcd60e51b81526004016101e390611692565b5f818152600160205260409020546001600160a01b03166103975760405162461bcd60e51b81526004016101e3906116c9565b5f8381526001602081905260408083208151610200810190925280546001600160a01b039081166080840190815282850154821660a0850152600283015491821660c08501529293919284929091849160e0850191600160a01b900460ff1690811115610406576104066114d2565b6001811115610417576104176114d2565b81526003828101546020830152600483015460ff908116151560408401526005840154606084015260068401546080840152600784015460a0909301921690811115610465576104656114d2565b6003811115610476576104766114d2565b815260088201546020808301919091526009830154604080840191909152600a9093015460ff9081161515606093840152938552600b86015490850152600c85015491840191909152600d909301541615159101528051610160015190915015155f03610548575f8151610100015160038111156104f6576104f66114d2565b146105435760405162461bcd60e51b815260206004820152601d60248201527f63616e63656c4f726465723a206f72646572206e6f742061637469766500000060448201526064016101e3565b6105bb565b6001815161010001516003811115610562576105626114d2565b036105bb5760405162461bcd60e51b8152602060048201526024808201527f63616e63656c4f726465723a206f7264657220616c72656164792063616e63656044820152631b1b195960e21b60648201526084016101e3565b5050505f818152600160208190526040909120600701805460ff1916909117905590565b5f546001600160a01b031633146106085760405162461bcd60e51b81526004016101e390611666565b81805f036106285760405162461bcd60e51b81526004016101e390611692565b5f818152600160205260409020546001600160a01b031661065b5760405162461bcd60e51b81526004016101e3906116c9565b505f91825260016020526040909120600d01805460ff1916911515919091179055565b5f546001600160a01b031633146106a75760405162461bcd60e51b81526004016101e390611666565b89805f036106c75760405162461bcd60e51b81526004016101e390611692565b5f818152600160205260409020546001600160a01b03166106fa5760405162461bcd60e51b81526004016101e3906116c9565b825f851161071a5760405162461bcd60e51b81526004016101e390611724565b896001600160a01b03168b6001600160a01b03160361074b5760405162461bcd60e51b81526004016101e390611759565b871561077e578615801561075d575085155b6107795760405162461bcd60e51b81526004016101e3906117a3565b6107a8565b5f8711801561078c57508587105b6107a85760405162461bcd60e51b81526004016101e3906117e8565b5f8c8152600160205260409020600a015460ff1615610817575f831180156107d05750606483105b6108175760405162461bcd60e51b8152602060048201526018602482015277496e76616c69642072657365742070657263656e7461676560401b60448201526064016101e3565b5f8c815260016020819052604090912090810180546001600160a01b03808f166001600160a01b031992831617909255600283018054928e169290911691909117905560040180548a151560ff1990911617905587610877576001610879565b5f5b5f8d81526001602081905260409091206002018054909160ff60a01b1990911690600160a01b9084908111156108b1576108b16114d2565b021790555050505f998a526001602052604090992060038101959095556006850193909355600584019190915560088301556009820155600c0193909355505050565b5f80546001600160a01b0316331461091e5760405162461bcd60e51b81526004016101e390611666565b816001600160a01b038b166109695760405162461bcd60e51b81526020600482015260116024820152707a65726f2075736572206164647265737360781b60448201526064016101e3565b5f84116109885760405162461bcd60e51b81526004016101e390611724565b886001600160a01b03168a6001600160a01b0316036109b95760405162461bcd60e51b81526004016101e390611759565b86156109ec57851580156109cb575084155b6109e75760405162461bcd60e51b81526004016101e3906117a3565b610a16565b5f861180156109fa57508486105b610a165760405162461bcd60e51b81526004016101e3906117e8565b5f6040518061018001604052808d6001600160a01b031681526020018c6001600160a01b031681526020018b6001600160a01b031681526020015f8a11610a5e576001610a60565b5f5b6001811115610a7157610a716114d2565b8152602081018a90528a15156040820152606081018890526080810189905260a0015f81526020018681526020018581526020015f151581525090505f60405180608001604052808381526020015f81526020015f81526020015f151581525090508060015f60025f8154610ae590611700565b9182905550815260208082019290925260409081015f208351805182546001600160a01b03199081166001600160a01b039283161784559482015160018085018054881692841692909217909155938201516002840180549687169190921690811782556060830151939592948694936001600160a81b03191690911790600160a01b908490811115610b7a57610b7a6114d2565b0217905550608082015160038083019190915560a083015160048301805491151560ff1992831617905560c0840151600584015560e084015160068401556101008401516007840180549193909291909116906001908490811115610be157610be16114d2565b02179055506101208201516008820155610140820151600982015561016090910151600a909101805491151560ff199283161790556020830151600b8301556040830151600c830155606090920151600d90910180549115159190921617905550506002549150509998505050505050505050565b600160208181525f92835260409283902083516101808101855281546001600160a01b03908116825282850154811693820193909352600282015492831694810194909452929183916060840191600160a01b90910460ff1690811115610cbf57610cbf6114d2565b6001811115610cd057610cd06114d2565b81526003828101546020830152600483015460ff908116151560408401526005840154606084015260068401546080840152600784015460a0909301921690811115610d1e57610d1e6114d2565b6003811115610d2f57610d2f6114d2565b81526008820154602082015260098201546040820152600a9091015460ff9081161515606090920191909152600b830154600c840154600d909401549293909290911684565b610d7d6112c4565b81805f03610d9d5760405162461bcd60e51b81526004016101e390611692565b5f818152600160205260409020546001600160a01b0316610dd05760405162461bcd60e51b81526004016101e3906116c9565b5f838152600160208190526040918290208251610200810190935280546001600160a01b039081166080850190815282840154821660a0860152600283015491821660c08601529192849291849160e0850191600160a01b900460ff1690811115610e3d57610e3d6114d2565b6001811115610e4e57610e4e6114d2565b81526003828101546020830152600483015460ff908116151560408401526005840154606084015260068401546080840152600784015460a0909301921690811115610e9c57610e9c6114d2565b6003811115610ead57610ead6114d2565b815260088201546020808301919091526009830154604080840191909152600a9093015460ff9081161515606093840152938552600b86015490850152600c85015491840191909152600d909301541615159101529392505050565b5f80546001600160a01b03163314610f335760405162461bcd60e51b81526004016101e390611666565b826001600160a01b038c16610f7e5760405162461bcd60e51b81526020600482015260116024820152707a65726f2075736572206164647265737360781b60448201526064016101e3565b5f8511610f9d5760405162461bcd60e51b81526004016101e390611724565b896001600160a01b03168b6001600160a01b031603610fce5760405162461bcd60e51b81526004016101e390611759565b87156110015786158015610fe0575085155b610ffc5760405162461bcd60e51b81526004016101e3906117a3565b61102b565b5f8711801561100f57508587105b61102b5760405162461bcd60e51b81526004016101e3906117e8565b5f8311801561103a5750606483105b6110815760405162461bcd60e51b8152602060048201526018602482015277496e76616c69642072657365742070657263656e7461676560401b60448201526064016101e3565b5f6040518061018001604052808e6001600160a01b031681526020018d6001600160a01b031681526020018c6001600160a01b031681526020015f8b116110c95760016110cb565b5f5b60018111156110dc576110dc6114d2565b8152602081018b90528b1515604082015260608101899052608081018a905260a0015f81526020018781526020018681526020016001151581525090505f60405180608001604052808381526020015f81526020018681526020016001151581525090508060015f60025f815461115290611700565b9182905550815260208082019290925260409081015f208351805182546001600160a01b03199081166001600160a01b039283161784559482015160018085018054881692841692909217909155938201516002840180549687169190921690811782556060830151939592948694936001600160a81b03191690911790600160a01b9084908111156111e7576111e76114d2565b0217905550608082015160038083019190915560a083015160048301805491151560ff1992831617905560c0840151600584015560e08401516006840155610100840151600784018054919390929190911690600190849081111561124e5761124e6114d2565b02179055506101208201516008820155610140820151600982015561016090910151600a909101805491151560ff199283161790556020830151600b8301556040830151600c830155606090920151600d90910180549115159190921617905550506002549150509a9950505050505050505050565b60405180608001604052806112d76112f1565b81526020015f81526020015f81526020015f151581525090565b60408051610180810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201906112d7565b5f6020828403121561134c575f80fd5b5035919050565b5f8060408385031215611364575f80fd5b82359150602083013560048110611379575f80fd5b809150509250929050565b80358015158114611393575f80fd5b919050565b5f80604083850312156113a9575f80fd5b823591506113b960208401611384565b90509250929050565b80356001600160a01b0381168114611393575f80fd5b5f805f805f805f805f806101408b8d0312156113f2575f80fd5b8a35995061140260208c016113c2565b985061141060408c016113c2565b975061141e60608c01611384565b999c989b50969960808101359860a0820135985060c0820135975060e082013596506101008201359550610120909101359350915050565b5f805f805f805f805f6101208a8c03121561146f575f80fd5b6114788a6113c2565b985061148660208b016113c2565b975061149460408b016113c2565b96506114a260608b01611384565b989b979a50959860808101359760a0820135975060c0820135965060e08201359550610100909101359350915050565b634e487b7160e01b5f52602160045260245ffd5b600281106114f6576114f66114d2565b9052565b600481106114f6576114f66114d2565b80516001600160a01b03168252602081015161153160208401826001600160a01b03169052565b50604081015161154c60408401826001600160a01b03169052565b50606081015161155f60608401826114e6565b506080810151608083015260a081015161157d60a084018215159052565b5060c081015160c083015260e081015160e0830152610100808201516115a5828501826114fa565b505061012081810151908301526101408082015190830152610160908101511515910152565b6101e081016115da828761150a565b84610180830152836101a08301528215156101c083015295945050505050565b5f6101e08201905061160d82845161150a565b602083015161018083015260408301516101a083015260609092015115156101c09091015290565b5f805f805f805f805f806101408b8d03121561164f575f80fd5b6116588b6113c2565b995061140260208c016113c2565b60208082526012908201527110d85b1b195c881b9bdd08185b1b1bddd95960721b604082015260600190565b6020808252601e908201527f697345786973744f726465723a20696e76616c6964206f726465722069640000604082015260600190565b60208082526017908201527f697345786973744f726465723a206e6f74206578697374000000000000000000604082015260600190565b5f6001820161171d57634e487b7160e01b5f52601160045260245ffd5b5060010190565b6020808252818101527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f604082015260600190565b6020808252602a908201527f546f6b656e20616e64207061697220616464726573736573206d75737420626560408201526908191a5999995c995b9d60b21b606082015260800190565b60208082526025908201527f76616c69646174654f726465723a206e6f74207461726765742070726963652060408201526437b93232b960d91b606082015260800190565b60208082526024908201527f76616c69646174654f726465723a206e6f742070726963652072616e6765206f604082015263393232b960e11b60608201526080019056fea26469706673582212205b8e70e69039265dd290df131750c2e1e223f284835ae56669309896cb9c9e9064736f6c63430008170033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a408a7ecd7c4f7f97cdf26c7d3f84d4037f288ef
-----Decoded View---------------
Arg [0] : _dexAddress (address): 0xA408a7eCd7C4F7F97CDF26C7D3f84d4037f288Ef
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a408a7ecd7c4f7f97cdf26c7d3f84d4037f288ef
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.