ETH Price: $3,188.94 (-4.48%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

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
File 1 of 1 : UrulokiOrderMgr.sol
// 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;
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

[{"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"}]

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


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.