ETH Price: $2,071.20 (+2.66%)

Contract

0x10D03f5edB30E8F3072681Eb4c4Af99D38624605
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

Advanced mode:
Parent Transaction Hash Method Block
From
To
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
EtagramSimpleTokenLock

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2026-01-19
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

/*//////////////////////////////////////////////////////////////
                        INTERFACES
//////////////////////////////////////////////////////////////*/

interface IERC20 {
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
    function transfer(address to, uint256 amount) external returns (bool);
}

/*//////////////////////////////////////////////////////////////
                        OWNABLE
//////////////////////////////////////////////////////////////*/

contract Ownable {
    address public owner;

    event OwnershipTransferred(address indexed oldOwner, address indexed newOwner);

    constructor() {
        owner = msg.sender;
        emit OwnershipTransferred(address(0), msg.sender);
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "NOT_OWNER");
        _;
    }

    function transferOwnership(address newOwner) external onlyOwner {
        require(newOwner != address(0), "ZERO_ADDRESS");
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

/*//////////////////////////////////////////////////////////////
                ETAGRAM SIMPLE TOKEN LOCK
//////////////////////////////////////////////////////////////*/

contract EtagramSimpleTokenLock is Ownable {
    /*//////////////////////////////////////////////////////////////
                                DATA
    //////////////////////////////////////////////////////////////*/

    struct Lock {
        address owner;
        address token;
        uint256 amount;
        uint256 unlockTime;
        bool withdrawn;
    }

    uint256 public lockCount;
    mapping(uint256 => Lock) public locks;

    /*//////////////////////////////////////////////////////////////
                                FEES
    //////////////////////////////////////////////////////////////*/

    address public feeReceiver;
    uint256 public flatFee;        // native coin
    uint16  public percentFeeBps; // 525 = %5.25
    uint16  public constant MAX_BPS = 10_000;

    /*//////////////////////////////////////////////////////////////
                                EVENTS
    //////////////////////////////////////////////////////////////*/

    event Locked(
        uint256 indexed lockId,
        address indexed owner,
        address indexed token,
        uint256 amount,
        uint256 unlockTime
    );

    event Withdrawn(
        uint256 indexed lockId,
        address indexed owner,
        uint256 amount
    );

    event FlatFeeUpdated(uint256 newFee);
    event PercentFeeUpdated(uint16 newBps);
    event FeeReceiverUpdated(address newReceiver);

    /*//////////////////////////////////////////////////////////////
                            CONSTRUCTOR
    //////////////////////////////////////////////////////////////*/

    constructor(
        address _feeReceiver,
        uint256 _flatFee,
        uint16 _percentFeeBps
    ) {
        require(_feeReceiver != address(0), "INVALID_RECEIVER");
        require(_percentFeeBps <= MAX_BPS, "BPS_TOO_HIGH");

        feeReceiver = _feeReceiver;
        flatFee = _flatFee;
        percentFeeBps = _percentFeeBps;
    }

    /*//////////////////////////////////////////////////////////////
                        USER FUNCTIONS
    //////////////////////////////////////////////////////////////*/

    function lockToken(
        address token,
        uint256 amount,
        uint256 unlockTime
    ) external payable {
        require(msg.value == flatFee, "INVALID_FLAT_FEE");
        require(amount > 0, "INVALID_AMOUNT");
        require(unlockTime > block.timestamp, "INVALID_UNLOCK_TIME");

        uint256 feeAmount = (amount * percentFeeBps) / MAX_BPS;
        uint256 lockAmount = amount - feeAmount;
        require(lockAmount > 0, "AMOUNT_TOO_SMALL");

        IERC20(token).transferFrom(msg.sender, address(this), amount);

        if (feeAmount > 0) {
            IERC20(token).transfer(feeReceiver, feeAmount);
        }

        if (flatFee > 0) {
            (bool ok, ) = feeReceiver.call{value: msg.value}("");
            require(ok, "FEE_TRANSFER_FAILED");
        }

        locks[lockCount] = Lock({
            owner: msg.sender,
            token: token,
            amount: lockAmount,
            unlockTime: unlockTime,
            withdrawn: false
        });

        emit Locked(lockCount, msg.sender, token, lockAmount, unlockTime);
        lockCount++;
    }

    function withdraw(uint256 lockId) external {
        Lock storage l = locks[lockId];

        require(msg.sender == l.owner, "NOT_OWNER");
        require(!l.withdrawn, "ALREADY_WITHDRAWN");
        require(block.timestamp >= l.unlockTime, "LOCK_ACTIVE");

        l.withdrawn = true;
        IERC20(l.token).transfer(l.owner, l.amount);

        emit Withdrawn(lockId, l.owner, l.amount);
    }

    /*//////////////////////////////////////////////////////////////
                        ADMIN FUNCTIONS
    //////////////////////////////////////////////////////////////*/

    function setFlatFee(uint256 newFee) external onlyOwner {
        flatFee = newFee;
        emit FlatFeeUpdated(newFee);
    }

    function setPercentFeeBps(uint16 newBps) external onlyOwner {
        require(newBps <= MAX_BPS, "BPS_TOO_HIGH");
        percentFeeBps = newBps;
        emit PercentFeeUpdated(newBps);
    }

    function setFeeReceiver(address newReceiver) external onlyOwner {
        require(newReceiver != address(0), "ZERO_ADDRESS");
        feeReceiver = newReceiver;
        emit FeeReceiverUpdated(newReceiver);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"uint256","name":"_flatFee","type":"uint256"},{"internalType":"uint16","name":"_percentFeeBps","type":"uint16"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newReceiver","type":"address"}],"name":"FeeReceiverUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"FlatFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"lockId","type":"uint256"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unlockTime","type":"uint256"}],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"newBps","type":"uint16"}],"name":"PercentFeeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"lockId","type":"uint256"},{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[],"name":"MAX_BPS","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"flatFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lockCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"unlockTime","type":"uint256"}],"name":"lockToken","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"locks","outputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"unlockTime","type":"uint256"},{"internalType":"bool","name":"withdrawn","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentFeeBps","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFee","type":"uint256"}],"name":"setFlatFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"newBps","type":"uint16"}],"name":"setPercentFeeBps","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"lockId","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405234801561000f575f80fd5b50604051610e07380380610e0783398101604081905261002e9161013d565b5f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36001600160a01b0383166100ba5760405162461bcd60e51b815260206004820152601060248201526f24a72b20a624a22fa922a1a2a4ab22a960811b60448201526064015b60405180910390fd5b61271061ffff821611156100ff5760405162461bcd60e51b815260206004820152600c60248201526b084a0a6bea89e9ebe90928e960a31b60448201526064016100b1565b600380546001600160a01b0319166001600160a01b0394909416939093179092556004556005805461ffff191661ffff90921691909117905561018e565b5f805f6060848603121561014f575f80fd5b83516001600160a01b0381168114610165575f80fd5b60208501516040860151919450925061ffff81168114610183575f80fd5b809150509250925092565b610c6c8061019b5f395ff3fe6080604052600436106100c2575f3560e01c8063b3f006741161007c578063efdcd97411610057578063efdcd974146101fe578063f2fde38b1461021d578063f4dadc611461023c578063fd967f47146102c9575f80fd5b8063b3f00674146101ab578063c8897ce9146101ca578063d9eb5947146101e9575f80fd5b806323fa495a146100cd5780632e1a7d4d146100ee578063839972f91461010d5780638da5cb5b146101205780639b10b6f51461015b578063a9214b441461017e575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b506100ec6100e7366004610ad6565b6102de565b005b3480156100f9575f80fd5b506100ec610108366004610ad6565b61034c565b6100ec61011b366004610b08565b6104e6565b34801561012b575f80fd5b505f5461013e906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610166575f80fd5b5061017060015481565b604051908152602001610152565b348015610189575f80fd5b506005546101989061ffff1681565b60405161ffff9091168152602001610152565b3480156101b6575f80fd5b5060035461013e906001600160a01b031681565b3480156101d5575f80fd5b506100ec6101e4366004610b38565b6108a1565b3480156101f4575f80fd5b5061017060045481565b348015610209575f80fd5b506100ec610218366004610b60565b610953565b348015610228575f80fd5b506100ec610237366004610b60565b610a0f565b348015610247575f80fd5b50610294610256366004610ad6565b600260208190525f9182526040909120805460018201549282015460038301546004909301546001600160a01b039283169490921692909160ff1685565b604080516001600160a01b0396871681529590941660208601529284019190915260608301521515608082015260a001610152565b3480156102d4575f80fd5b5061019861271081565b5f546001600160a01b031633146103105760405162461bcd60e51b815260040161030790610b79565b60405180910390fd5b60048190556040518181527f2dfc898b3677e9a8db0ccd358b29e83d409f092f876498f4cf135d707165f85f906020015b60405180910390a150565b5f81815260026020526040902080546001600160a01b031633146103825760405162461bcd60e51b815260040161030790610b79565b600481015460ff16156103cb5760405162461bcd60e51b815260206004820152601160248201527020a62922a0a22cafaba4aa24222920aba760791b6044820152606401610307565b806003015442101561040d5760405162461bcd60e51b815260206004820152600b60248201526a4c4f434b5f41435449564560a81b6044820152606401610307565b6004818101805460ff191660019081179091558201548254600284015460405163a9059cbb60e01b81526001600160a01b03928316948101949094526024840152169063a9059cbb906044016020604051808303815f875af1158015610475573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104999190610b9c565b50805460028201546040519081526001600160a01b039091169083907fcf7d23a3cbe4e8b36ff82fd1b05b1b17373dc7804b4ebbd6e2356716ef2023729060200160405180910390a35050565b600454341461052a5760405162461bcd60e51b815260206004820152601060248201526f494e56414c49445f464c41545f46454560801b6044820152606401610307565b5f821161056a5760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d05353d5539560921b6044820152606401610307565b4281116105af5760405162461bcd60e51b8152602060048201526013602482015272494e56414c49445f554e4c4f434b5f54494d4560681b6044820152606401610307565b6005545f90612710906105c69061ffff1685610bcf565b6105d09190610bec565b90505f6105dd8285610c0b565b90505f81116106215760405162461bcd60e51b815260206004820152601060248201526f105353d5539517d513d3d7d4d350531360821b6044820152606401610307565b6040516323b872dd60e01b8152336004820152306024820152604481018590526001600160a01b038616906323b872dd906064016020604051808303815f875af1158015610671573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106959190610b9c565b5081156107125760035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529086169063a9059cbb906044016020604051808303815f875af11580156106ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107109190610b9c565b505b600454156107b2576003546040515f916001600160a01b03169034908381818185875af1925050503d805f8114610764576040519150601f19603f3d011682016040523d82523d5f602084013e610769565b606091505b50509050806107b05760405162461bcd60e51b815260206004820152601360248201527211915157d514905394d1915497d19052531151606a1b6044820152606401610307565b505b6040805160a081018252338082526001600160a01b038881166020808501828152858701888152606087018b81525f608089018181526001805483526002808852928c90209a518b546001600160a01b0319908116918b16919091178c5595518b82018054909716991698909817909455915191880191909155516003870155516004909501805460ff191695151595909517909455905484518681529384018890529093919290917f1cb39d6ecc8f823fa6183785ee795ddcb2873e92effbff9b9a377ef761035676910160405180910390a460018054905f61089583610c1e565b91905055505050505050565b5f546001600160a01b031633146108ca5760405162461bcd60e51b815260040161030790610b79565b61271061ffff8216111561090f5760405162461bcd60e51b815260206004820152600c60248201526b084a0a6bea89e9ebe90928e960a31b6044820152606401610307565b6005805461ffff191661ffff83169081179091556040519081527f11d4f2eb0775f98e9a999034cb4d8afdd851b8c7ef6563f1c9e29a9bfbd6934090602001610341565b5f546001600160a01b0316331461097c5760405162461bcd60e51b815260040161030790610b79565b6001600160a01b0381166109c15760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610307565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527f27aae5db36d94179909d019ae0b1ac7c16d96d953148f63c0f6a0a9c8ead79ee90602001610341565b5f546001600160a01b03163314610a385760405162461bcd60e51b815260040161030790610b79565b6001600160a01b038116610a7d5760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610307565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f60208284031215610ae6575f80fd5b5035919050565b80356001600160a01b0381168114610b03575f80fd5b919050565b5f805f60608486031215610b1a575f80fd5b610b2384610aed565b95602085013595506040909401359392505050565b5f60208284031215610b48575f80fd5b813561ffff81168114610b59575f80fd5b9392505050565b5f60208284031215610b70575f80fd5b610b5982610aed565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b5f60208284031215610bac575f80fd5b81518015158114610b59575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610be657610be6610bbb565b92915050565b5f82610c0657634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610be657610be6610bbb565b5f60018201610c2f57610c2f610bbb565b506001019056fea26469706673582212200ecca42f6ee94593ca9efcbc2eb67fcc8de920e662d25248385ef71644125fbf64736f6c634300081400330000000000000000000000005424ed1ae3f777da9cb320ca069aeb2c51793acc00000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000001f4

Deployed Bytecode

0x6080604052600436106100c2575f3560e01c8063b3f006741161007c578063efdcd97411610057578063efdcd974146101fe578063f2fde38b1461021d578063f4dadc611461023c578063fd967f47146102c9575f80fd5b8063b3f00674146101ab578063c8897ce9146101ca578063d9eb5947146101e9575f80fd5b806323fa495a146100cd5780632e1a7d4d146100ee578063839972f91461010d5780638da5cb5b146101205780639b10b6f51461015b578063a9214b441461017e575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b506100ec6100e7366004610ad6565b6102de565b005b3480156100f9575f80fd5b506100ec610108366004610ad6565b61034c565b6100ec61011b366004610b08565b6104e6565b34801561012b575f80fd5b505f5461013e906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015610166575f80fd5b5061017060015481565b604051908152602001610152565b348015610189575f80fd5b506005546101989061ffff1681565b60405161ffff9091168152602001610152565b3480156101b6575f80fd5b5060035461013e906001600160a01b031681565b3480156101d5575f80fd5b506100ec6101e4366004610b38565b6108a1565b3480156101f4575f80fd5b5061017060045481565b348015610209575f80fd5b506100ec610218366004610b60565b610953565b348015610228575f80fd5b506100ec610237366004610b60565b610a0f565b348015610247575f80fd5b50610294610256366004610ad6565b600260208190525f9182526040909120805460018201549282015460038301546004909301546001600160a01b039283169490921692909160ff1685565b604080516001600160a01b0396871681529590941660208601529284019190915260608301521515608082015260a001610152565b3480156102d4575f80fd5b5061019861271081565b5f546001600160a01b031633146103105760405162461bcd60e51b815260040161030790610b79565b60405180910390fd5b60048190556040518181527f2dfc898b3677e9a8db0ccd358b29e83d409f092f876498f4cf135d707165f85f906020015b60405180910390a150565b5f81815260026020526040902080546001600160a01b031633146103825760405162461bcd60e51b815260040161030790610b79565b600481015460ff16156103cb5760405162461bcd60e51b815260206004820152601160248201527020a62922a0a22cafaba4aa24222920aba760791b6044820152606401610307565b806003015442101561040d5760405162461bcd60e51b815260206004820152600b60248201526a4c4f434b5f41435449564560a81b6044820152606401610307565b6004818101805460ff191660019081179091558201548254600284015460405163a9059cbb60e01b81526001600160a01b03928316948101949094526024840152169063a9059cbb906044016020604051808303815f875af1158015610475573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104999190610b9c565b50805460028201546040519081526001600160a01b039091169083907fcf7d23a3cbe4e8b36ff82fd1b05b1b17373dc7804b4ebbd6e2356716ef2023729060200160405180910390a35050565b600454341461052a5760405162461bcd60e51b815260206004820152601060248201526f494e56414c49445f464c41545f46454560801b6044820152606401610307565b5f821161056a5760405162461bcd60e51b815260206004820152600e60248201526d1253959053125117d05353d5539560921b6044820152606401610307565b4281116105af5760405162461bcd60e51b8152602060048201526013602482015272494e56414c49445f554e4c4f434b5f54494d4560681b6044820152606401610307565b6005545f90612710906105c69061ffff1685610bcf565b6105d09190610bec565b90505f6105dd8285610c0b565b90505f81116106215760405162461bcd60e51b815260206004820152601060248201526f105353d5539517d513d3d7d4d350531360821b6044820152606401610307565b6040516323b872dd60e01b8152336004820152306024820152604481018590526001600160a01b038616906323b872dd906064016020604051808303815f875af1158015610671573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106959190610b9c565b5081156107125760035460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529086169063a9059cbb906044016020604051808303815f875af11580156106ec573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107109190610b9c565b505b600454156107b2576003546040515f916001600160a01b03169034908381818185875af1925050503d805f8114610764576040519150601f19603f3d011682016040523d82523d5f602084013e610769565b606091505b50509050806107b05760405162461bcd60e51b815260206004820152601360248201527211915157d514905394d1915497d19052531151606a1b6044820152606401610307565b505b6040805160a081018252338082526001600160a01b038881166020808501828152858701888152606087018b81525f608089018181526001805483526002808852928c90209a518b546001600160a01b0319908116918b16919091178c5595518b82018054909716991698909817909455915191880191909155516003870155516004909501805460ff191695151595909517909455905484518681529384018890529093919290917f1cb39d6ecc8f823fa6183785ee795ddcb2873e92effbff9b9a377ef761035676910160405180910390a460018054905f61089583610c1e565b91905055505050505050565b5f546001600160a01b031633146108ca5760405162461bcd60e51b815260040161030790610b79565b61271061ffff8216111561090f5760405162461bcd60e51b815260206004820152600c60248201526b084a0a6bea89e9ebe90928e960a31b6044820152606401610307565b6005805461ffff191661ffff83169081179091556040519081527f11d4f2eb0775f98e9a999034cb4d8afdd851b8c7ef6563f1c9e29a9bfbd6934090602001610341565b5f546001600160a01b0316331461097c5760405162461bcd60e51b815260040161030790610b79565b6001600160a01b0381166109c15760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610307565b600380546001600160a01b0319166001600160a01b0383169081179091556040519081527f27aae5db36d94179909d019ae0b1ac7c16d96d953148f63c0f6a0a9c8ead79ee90602001610341565b5f546001600160a01b03163314610a385760405162461bcd60e51b815260040161030790610b79565b6001600160a01b038116610a7d5760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610307565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f60208284031215610ae6575f80fd5b5035919050565b80356001600160a01b0381168114610b03575f80fd5b919050565b5f805f60608486031215610b1a575f80fd5b610b2384610aed565b95602085013595506040909401359392505050565b5f60208284031215610b48575f80fd5b813561ffff81168114610b59575f80fd5b9392505050565b5f60208284031215610b70575f80fd5b610b5982610aed565b6020808252600990820152682727aa2fa7aba722a960b91b604082015260600190565b5f60208284031215610bac575f80fd5b81518015158114610b59575f80fd5b634e487b7160e01b5f52601160045260245ffd5b8082028115828204841417610be657610be6610bbb565b92915050565b5f82610c0657634e487b7160e01b5f52601260045260245ffd5b500490565b81810381811115610be657610be6610bbb565b5f60018201610c2f57610c2f610bbb565b506001019056fea26469706673582212200ecca42f6ee94593ca9efcbc2eb67fcc8de920e662d25248385ef71644125fbf64736f6c63430008140033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000005424ed1ae3f777da9cb320ca069aeb2c51793acc00000000000000000000000000000000000000000000000000470de4df82000000000000000000000000000000000000000000000000000000000000000001f4

-----Decoded View---------------
Arg [0] : _feeReceiver (address): 0x5424ED1ae3F777da9cb320ca069AeB2C51793acC
Arg [1] : _flatFee (uint256): 20000000000000000
Arg [2] : _percentFeeBps (uint16): 500

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000005424ed1ae3f777da9cb320ca069aeb2c51793acc
Arg [1] : 00000000000000000000000000000000000000000000000000470de4df820000
Arg [2] : 00000000000000000000000000000000000000000000000000000000000001f4


Deployed Bytecode Sourcemap

1347:4498:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5250:128;;;;;;;;;;-1:-1:-1;5250:128:0;;;;;:::i;:::-;;:::i;:::-;;4653:406;;;;;;;;;;-1:-1:-1;4653:406:0;;;;;:::i;:::-;;:::i;3522:1123::-;;;;;;:::i;:::-;;:::i;617:20::-;;;;;;;;;;-1:-1:-1;617:20:0;;;;-1:-1:-1;;;;;617:20:0;;;;;;-1:-1:-1;;;;;868:32:1;;;850:51;;838:2;823:18;617:20:0;;;;;;;;1732:24;;;;;;;;;;;;;;;;;;;1058:25:1;;;1046:2;1031:18;1732:24:0;912:177:1;2073:28:0;;;;;;;;;;-1:-1:-1;2073:28:0;;;;;;;;;;;1268:6:1;1256:19;;;1238:38;;1226:2;1211:18;2073:28:0;1094:188:1;1989:26:0;;;;;;;;;;-1:-1:-1;1989:26:0;;;;-1:-1:-1;;;;;1989:26:0;;;5386:195;;;;;;;;;;-1:-1:-1;5386:195:0;;;;;:::i;:::-;;:::i;2022:22::-;;;;;;;;;;;;;;;;5589:216;;;;;;;;;;-1:-1:-1;5589:216:0;;;;;:::i;:::-;;:::i;953:210::-;;;;;;;;;;-1:-1:-1;953:210:0;;;;;:::i;:::-;;:::i;1763:37::-;;;;;;;;;;-1:-1:-1;1763:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1763:37:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2064:15:1;;;2046:34;;2116:15;;;;2111:2;2096:18;;2089:43;2148:18;;;2141:34;;;;2206:2;2191:18;;2184:34;2262:14;2255:22;2249:3;2234:19;;2227:51;1995:3;1980:19;1763:37:0;1755:529:1;2123:40:0;;;;;;;;;;;;2157:6;2123:40;;5250:128;906:5;;-1:-1:-1;;;;;906:5:0;892:10;:19;884:41;;;;-1:-1:-1;;;884:41:0;;;;;;;:::i;:::-;;;;;;;;;5316:7:::1;:16:::0;;;5348:22:::1;::::0;1058:25:1;;;5348:22:0::1;::::0;1046:2:1;1031:18;5348:22:0::1;;;;;;;;5250:128:::0;:::o;4653:406::-;4707:14;4724:13;;;:5;:13;;;;;4772:7;;-1:-1:-1;;;;;4772:7:0;4758:10;:21;4750:43;;;;-1:-1:-1;;;4750:43:0;;;;;;;:::i;:::-;4813:11;;;;;;4812:12;4804:42;;;;-1:-1:-1;;;4804:42:0;;2828:2:1;4804:42:0;;;2810:21:1;2867:2;2847:18;;;2840:30;-1:-1:-1;;;2886:18:1;;;2879:47;2943:18;;4804:42:0;2626:341:1;4804:42:0;4884:1;:12;;;4865:15;:31;;4857:55;;;;-1:-1:-1;;;4857:55:0;;3174:2:1;4857:55:0;;;3156:21:1;3213:2;3193:18;;;3186:30;-1:-1:-1;;;3232:18:1;;;3225:41;3283:18;;4857:55:0;2972:335:1;4857:55:0;4925:11;;;;:18;;-1:-1:-1;;4925:18:0;4939:4;4925:18;;;;;;4961:7;;;4979;;4988:8;;;;4954:43;;-1:-1:-1;;;4954:43:0;;-1:-1:-1;;;;;4979:7:0;;;4954:43;;;3486:51:1;;;;3553:18;;;3546:34;4961:7:0;;4954:24;;3459:18:1;;4954:43:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5033:7:0;;5042:8;;;;5015:36;;1058:25:1;;;-1:-1:-1;;;;;5033:7:0;;;;5025:6;;5015:36;;1046:2:1;1031:18;5015:36:0;;;;;;;4696:363;4653:406;:::o;3522:1123::-;3675:7;;3662:9;:20;3654:49;;;;-1:-1:-1;;;3654:49:0;;4075:2:1;3654:49:0;;;4057:21:1;4114:2;4094:18;;;4087:30;-1:-1:-1;;;4133:18:1;;;4126:46;4189:18;;3654:49:0;3873:340:1;3654:49:0;3731:1;3722:6;:10;3714:37;;;;-1:-1:-1;;;3714:37:0;;4420:2:1;3714:37:0;;;4402:21:1;4459:2;4439:18;;;4432:30;-1:-1:-1;;;4478:18:1;;;4471:44;4532:18;;3714:37:0;4218:338:1;3714:37:0;3783:15;3770:10;:28;3762:60;;;;-1:-1:-1;;;3762:60:0;;4763:2:1;3762:60:0;;;4745:21:1;4802:2;4782:18;;;4775:30;-1:-1:-1;;;4821:18:1;;;4814:49;4880:18;;3762:60:0;4561:343:1;3762:60:0;3865:13;;3835:17;;2157:6;;3856:22;;3855:34;3865:13;3856:6;:22;:::i;:::-;3855:34;;;;:::i;:::-;3835:54;-1:-1:-1;3900:18:0;3921;3835:54;3921:6;:18;:::i;:::-;3900:39;;3971:1;3958:10;:14;3950:43;;;;-1:-1:-1;;;3950:43:0;;5771:2:1;3950:43:0;;;5753:21:1;5810:2;5790:18;;;5783:30;-1:-1:-1;;;5829:18:1;;;5822:46;5885:18;;3950:43:0;5569:340:1;3950:43:0;4006:61;;-1:-1:-1;;;4006:61:0;;4033:10;4006:61;;;6154:34:1;4053:4:0;6204:18:1;;;6197:43;6256:18;;;6249:34;;;-1:-1:-1;;;;;4006:26:0;;;;;6089:18:1;;4006:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4084:13:0;;4080:92;;4137:11;;4114:46;;-1:-1:-1;;;4114:46:0;;-1:-1:-1;;;;;4137:11:0;;;4114:46;;;3486:51:1;3553:18;;;3546:34;;;4114:22:0;;;;;;3459:18:1;;4114:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4080:92;4188:7;;:11;4184:145;;4230:11;;:38;;4217:7;;-1:-1:-1;;;;;4230:11:0;;4254:9;;4217:7;4230:38;4217:7;4230:38;4254:9;4230:11;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4216:52;;;4291:2;4283:34;;;;-1:-1:-1;;;4283:34:0;;6706:2:1;4283:34:0;;;6688:21:1;6745:2;6725:18;;;6718:30;-1:-1:-1;;;6764:18:1;;;6757:49;6823:18;;4283:34:0;6504:343:1;4283:34:0;4201:128;4184:145;4360:177;;;;;;;;4387:10;4360:177;;;-1:-1:-1;;;;;4360:177:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4360:177:0;;;;;;;4347:9;;4341:16;;:5;:16;;;;;;;:196;;;;-1:-1:-1;;;;;;4341:196:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4341:196:0;;;;;;;;;;;4562:9;;4555:60;;7026:25:1;;;7067:18;;;7060:34;;;4360:177:0;;4387:10;;4562:9;;4555:60;;6999:18:1;4555:60:0;;;;;;;4626:9;:11;;;:9;:11;;;:::i;:::-;;;;;;3643:1002;;3522:1123;;;:::o;5386:195::-;906:5;;-1:-1:-1;;;;;906:5:0;892:10;:19;884:41;;;;-1:-1:-1;;;884:41:0;;;;;;;:::i;:::-;2157:6:::1;5465:17;::::0;::::1;;;5457:42;;;::::0;-1:-1:-1;;;5457:42:0;;7447:2:1;5457:42:0::1;::::0;::::1;7429:21:1::0;7486:2;7466:18;;;7459:30;-1:-1:-1;;;7505:18:1;;;7498:42;7557:18;;5457:42:0::1;7245:336:1::0;5457:42:0::1;5510:13;:22:::0;;-1:-1:-1;;5510:22:0::1;;::::0;::::1;::::0;;::::1;::::0;;;5548:25:::1;::::0;1238:38:1;;;5548:25:0::1;::::0;1226:2:1;1211:18;5548:25:0::1;1094:188:1::0;5589:216:0;906:5;;-1:-1:-1;;;;;906:5:0;892:10;:19;884:41;;;;-1:-1:-1;;;884:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;5672:25:0;::::1;5664:50;;;::::0;-1:-1:-1;;;5664:50:0;;7788:2:1;5664:50:0::1;::::0;::::1;7770:21:1::0;7827:2;7807:18;;;7800:30;-1:-1:-1;;;7846:18:1;;;7839:42;7898:18;;5664:50:0::1;7586:336:1::0;5664:50:0::1;5725:11;:25:::0;;-1:-1:-1;;;;;;5725:25:0::1;-1:-1:-1::0;;;;;5725:25:0;::::1;::::0;;::::1;::::0;;;5766:31:::1;::::0;850:51:1;;;5766:31:0::1;::::0;838:2:1;823:18;5766:31:0::1;704:203:1::0;953:210:0;906:5;;-1:-1:-1;;;;;906:5:0;892:10;:19;884:41;;;;-1:-1:-1;;;884:41:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1036:22:0;::::1;1028:47;;;::::0;-1:-1:-1;;;1028:47:0;;7788:2:1;1028:47:0::1;::::0;::::1;7770:21:1::0;7827:2;7807:18;;;7800:30;-1:-1:-1;;;7846:18:1;;;7839:42;7898:18;;1028:47:0::1;7586:336:1::0;1028:47:0::1;1112:5;::::0;;1091:37:::1;::::0;-1:-1:-1;;;;;1091:37:0;;::::1;::::0;1112:5;::::1;::::0;1091:37:::1;::::0;::::1;1139:5;:16:::0;;-1:-1:-1;;;;;;1139:16:0::1;-1:-1:-1::0;;;;;1139:16:0;;;::::1;::::0;;;::::1;::::0;;953:210::o;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;199:173::-;267:20;;-1:-1:-1;;;;;316:31:1;;306:42;;296:70;;362:1;359;352:12;296:70;199:173;;;:::o;377:322::-;454:6;462;470;523:2;511:9;502:7;498:23;494:32;491:52;;;539:1;536;529:12;491:52;562:29;581:9;562:29;:::i;:::-;552:39;638:2;623:18;;610:32;;-1:-1:-1;689:2:1;674:18;;;661:32;;377:322;-1:-1:-1;;;377:322:1:o;1287:272::-;1345:6;1398:2;1386:9;1377:7;1373:23;1369:32;1366:52;;;1414:1;1411;1404:12;1366:52;1453:9;1440:23;1503:6;1496:5;1492:18;1485:5;1482:29;1472:57;;1525:1;1522;1515:12;1472:57;1548:5;1287:272;-1:-1:-1;;;1287:272:1:o;1564:186::-;1623:6;1676:2;1664:9;1655:7;1651:23;1647:32;1644:52;;;1692:1;1689;1682:12;1644:52;1715:29;1734:9;1715:29;:::i;2289:332::-;2491:2;2473:21;;;2530:1;2510:18;;;2503:29;-1:-1:-1;;;2563:2:1;2548:18;;2541:39;2612:2;2597:18;;2289:332::o;3591:277::-;3658:6;3711:2;3699:9;3690:7;3686:23;3682:32;3679:52;;;3727:1;3724;3717:12;3679:52;3759:9;3753:16;3812:5;3805:13;3798:21;3791:5;3788:32;3778:60;;3834:1;3831;3824:12;4909:127;4970:10;4965:3;4961:20;4958:1;4951:31;5001:4;4998:1;4991:15;5025:4;5022:1;5015:15;5041:168;5114:9;;;5145;;5162:15;;;5156:22;;5142:37;5132:71;;5183:18;;:::i;:::-;5041:168;;;;:::o;5214:217::-;5254:1;5280;5270:132;;5324:10;5319:3;5315:20;5312:1;5305:31;5359:4;5356:1;5349:15;5387:4;5384:1;5377:15;5270:132;-1:-1:-1;5416:9:1;;5214:217::o;5436:128::-;5503:9;;;5524:11;;;5521:37;;;5538:18;;:::i;7105:135::-;7144:3;7165:17;;;7162:43;;7185:18;;:::i;:::-;-1:-1:-1;7232:1:1;7221:13;;7105:135::o

Swarm Source

ipfs://0ecca42f6ee94593ca9efcbc2eb67fcc8de920e662d25248385ef71644125fbf

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.