ETH Price: $2,146.86 (-0.16%)

Contract

0x3ef73ddD0404328B10F4F21d5dED245eA0dA4DDf
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer192319952024-02-15 7:59:23380 days ago1707983963IN
0x3ef73ddD...eA0dA4DDf
0 ETH0.0004802518.12848817
Adjust Max Trans...192319912024-02-15 7:58:35380 days ago1707983915IN
0x3ef73ddD...eA0dA4DDf
0 ETH0.0005234818.25191789
Transfer192319802024-02-15 7:56:23380 days ago1707983783IN
0x3ef73ddD...eA0dA4DDf
0 ETH0.0005416420.44544931
Exempt Address F...192319772024-02-15 7:55:47380 days ago1707983747IN
0x3ef73ddD...eA0dA4DDf
0 ETH0.000960820.7207525
Adjust Tax Rate192319752024-02-15 7:55:23380 days ago1707983723IN
0x3ef73ddD...eA0dA4DDf
0 ETH0.0008952319.54106534
Transfer192319692024-02-15 7:54:11380 days ago1707983651IN
0x3ef73ddD...eA0dA4DDf
0 ETH0.0005381820.31493731
Adjust Tax Rate192319662024-02-15 7:53:35380 days ago1707983615IN
0x3ef73ddD...eA0dA4DDf
0 ETH0.0005004920.99286516
Adjust Max Trans...192319642024-02-15 7:53:11380 days ago1707983591IN
0x3ef73ddD...eA0dA4DDf
0 ETH0.0005073517.68946183
Approve192319622024-02-15 7:52:47380 days ago1707983567IN
0x3ef73ddD...eA0dA4DDf
0 ETH0.0010136121.80421587

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TurboFox

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-02-15
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.24;

// Interface for the ERC-20 standard for tokens.
interface IERC20 {
    // Returns the total token supply.
    function totalSupply() external view returns (uint256);

    // Returns the account balance of another account with address `account`.
    function balanceOf(address account) external view returns (uint256);

    // Transfers `amount` tokens to address `recipient`, and MUST fire the Transfer event.
    function transfer(address recipient, uint256 amount) external returns (bool);

    // Returns the amount which `spender` is still allowed to withdraw from `owner`.
    function allowance(address owner, address spender) external view returns (uint256);

    // Allows `spender` to withdraw from your account multiple times, up to the `amount` value.
    function approve(address spender, uint256 amount) external returns (bool);

    // Transfers `amount` tokens from `sender` to `recipient` given the from account has enough balance.
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    // Event emitted when tokens are transferred, including zero value transfers.
    event Transfer(address indexed from, address indexed to, uint256 value);

    // Event emitted when the allowance of a `spender` for an `owner` is set by a call to `approve`.
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data; }
}

// Contract to define ownership and allow transfer of ownership.
contract Ownable {
    address private _owner;

    // Event for ownership transfers.
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

    // Returns the address of the current owner.
    function owner() public view returns (address) {
        return _owner;
    }

    // Modifier to restrict access to owner-only functions.
    modifier onlyOwner() {
        require(_owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    // Transfers ownership of the contract to a new address.
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }

    // Allows the current owner to relinquish control of the contract.
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}

// Main token contract implementing the ERC-20 interface and additional functionalities.
contract TurboFox is IERC20, Ownable {
    string public constant name = "Turbo Fox";
    string public constant symbol = "TFOX";
    uint8 public constant decimals = 18;
    uint256 private totalSupply_ = 2e9 * 10**uint256(decimals); // Initial supply of 2 billion tokens, with decimal support.

    uint256 public taxRate = 5; // Tax rate is 5% for transactions.
    uint256 public maxTransactionAmount = totalSupply_ / 100; // Max transaction amount set to 1% of total supply.

    mapping(address => uint256) private balances; // Track balances of token holders.
    mapping(address => mapping (address => uint256)) private allowed; // Track allowances for delegated transfer.
    mapping(address => bool) private taxExempt; // Track addresses exempt from tax.

    constructor() {
        balances[msg.sender] = totalSupply_; // Assign all tokens to contract creator.
        emit Transfer(address(0), msg.sender, totalSupply_);
    }

    // Returns the total token supply.
    function totalSupply() public view override returns (uint256) {
        return totalSupply_;
    }

    // Returns the balance of a token owner.
    function balanceOf(address tokenOwner) public view override returns (uint256) {
        return balances[tokenOwner];
    }

    // Transfer tokens to another address, applying tax if applicable.
    function transfer(address receiver, uint256 numTokens) public override returns (bool) {
        require(numTokens <= balances[msg.sender], "Insufficient balance");
        require(numTokens <= maxTransactionAmount, "Exceeds max transaction amount");

        // Calculate tax if not exempt.
        uint256 tax = taxExempt[msg.sender] ? 0 : (numTokens * taxRate) / 100;
        uint256 tokensToTransfer = numTokens - tax;

        // Update balances and emit events.
        balances[msg.sender] -= numTokens;
        balances[receiver] += tokensToTransfer;
        if(tax > 0) {
            balances[owner()] += tax;
            emit Transfer(msg.sender, owner(), tax);
        }

        emit Transfer(msg.sender, receiver, tokensToTransfer);
        return true;
    }

    // Approve another address to spend tokens on your behalf.
    function approve(address spender, uint256 numTokens) public override returns (bool) {
        allowed[msg.sender][spender] = numTokens;
        emit Approval(msg.sender, spender, numTokens);
        return true;
    }

    // Check the amount of tokens that an owner allowed a spender.
    function allowance(address owner, address spender) public view override returns (uint256) {
        return allowed[owner][spender];
    }

    // Transfer tokens from one address to another, applying tax if applicable.
    function transferFrom(address sender, address recipient, uint256 numTokens) public override returns (bool) {
        require(numTokens <= balances[sender], "Insufficient balance");
        require(numTokens <= allowed[sender][msg.sender], "Insufficient allowance");
        require(numTokens <= maxTransactionAmount, "Exceeds max transaction amount");

        // Calculate and apply tax if not exempt.
        uint256 tax = taxExempt[sender] ? 0 : (numTokens * taxRate) / 100;
        uint256 tokensToTransfer = numTokens - tax;

        // Update balances, allowances, and emit events.
        balances[sender] -= numTokens;
        allowed[sender][msg.sender] -= numTokens;
        balances[recipient] += tokensToTransfer;
        if(tax > 0) {
            balances[owner()] += tax;
            emit Transfer(sender, owner(), tax);
        }

        emit Transfer(sender, recipient, tokensToTransfer);
        return true;
    }

    // Adjust the tax rate for transactions.
    function adjustTaxRate(uint256 newRate) public onlyOwner {
        taxRate = newRate;
    }

    // Adjust the maximum transaction amount.
    function adjustMaxTransactionAmount(uint256 newMax) public onlyOwner {
        maxTransactionAmount = newMax;
    }

    // Exempt or include an address in the taxation logic.
    function exemptAddressFromTax(address account, bool isExempt) public onlyOwner {
        taxExempt[account] = isExempt;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"newMax","type":"uint256"}],"name":"adjustMaxTransactionAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newRate","type":"uint256"}],"name":"adjustTaxRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExempt","type":"bool"}],"name":"exemptAddressFromTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransactionAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"numTokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052620000126012600a620001e8565b62000022906377359400620001fc565b600155600560025560646001546200003b919062000216565b6003553480156200004a575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3600154335f81815260046020908152604080832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000236565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200012d57815f1904821115620001115762000111620000d9565b808516156200011f57918102915b93841c9390800290620000f2565b509250929050565b5f826200014557506001620001e2565b816200015357505f620001e2565b81600181146200016c5760028114620001775762000197565b6001915050620001e2565b60ff8411156200018b576200018b620000d9565b50506001821b620001e2565b5060208310610133831016604e8410600b8410161715620001bc575081810a620001e2565b620001c88383620000ed565b805f1904821115620001de57620001de620000d9565b0290505b92915050565b5f620001f5838362000135565b9392505050565b8082028115828204841417620001e257620001e2620000d9565b5f826200023157634e487b7160e01b5f52601260045260245ffd5b500490565b610c6780620002445f395ff3fe608060405234801561000f575f80fd5b5060043610610106575f3560e01c80638da5cb5b1161009e578063c8c8ebe41161006e578063c8c8ebe414610248578063cd1b68af14610251578063dd62ed3e14610264578063e60a5a6b1461029c578063f2fde38b146102af575f80fd5b80638da5cb5b146101e557806395d89b41146101ff578063a718fc8714610222578063a9059cbb14610235575f80fd5b8063313ce567116100d9578063313ce5671461019057806370a08231146101aa578063715018a6146101d2578063771a3a1d146101dc575f80fd5b806306fdde031461010a578063095ea7b31461014857806318160ddd1461016b57806323b872dd1461017d575b5f80fd5b610132604051806040016040528060098152602001680a8eae4c4de408cdef60bb1b81525081565b60405161013f9190610a03565b60405180910390f35b61015b610156366004610a6a565b6102c2565b604051901515815260200161013f565b6001545b60405190815260200161013f565b61015b61018b366004610a92565b61032e565b610198601281565b60405160ff909116815260200161013f565b61016f6101b8366004610acb565b6001600160a01b03165f9081526004602052604090205490565b6101da610607565b005b61016f60025481565b5f546040516001600160a01b03909116815260200161013f565b610132604051806040016040528060048152602001630a88c9eb60e31b81525081565b6101da610230366004610aeb565b610678565b61015b610243366004610a6a565b6106cb565b61016f60035481565b6101da61025f366004610b24565b6108c0565b61016f610272366004610b3b565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b6101da6102aa366004610b24565b6108ee565b6101da6102bd366004610acb565b61091c565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061031c9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f908152600460205260408120548211156103915760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064015b60405180910390fd5b6001600160a01b0384165f9081526005602090815260408083203384529091529020548211156103fc5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b6044820152606401610388565b60035482111561044e5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178207472616e73616374696f6e20616d6f756e7400006044820152606401610388565b6001600160a01b0384165f9081526006602052604081205460ff1661048c5760646002548461047d9190610b80565b6104879190610b97565b61048e565b5f5b90505f61049b8285610bb6565b6001600160a01b0387165f908152600460205260408120805492935086929091906104c7908490610bb6565b90915550506001600160a01b0386165f908152600560209081526040808320338452909152812080548692906104fe908490610bb6565b90915550506001600160a01b0385165f908152600460205260408120805483929061052a908490610bc9565b909155505081156105c1578160045f61054a5f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f205f8282546105779190610bc9565b90915550505f546001600160a01b03166001600160a01b0316866001600160a01b03165f80516020610c12833981519152846040516105b891815260200190565b60405180910390a35b846001600160a01b0316866001600160a01b03165f80516020610c12833981519152836040516105f391815260200190565b60405180910390a350600195945050505050565b5f546001600160a01b031633146106305760405162461bcd60e51b815260040161038890610bdc565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106a15760405162461bcd60e51b815260040161038890610bdc565b6001600160a01b03919091165f908152600660205260409020805460ff1916911515919091179055565b335f908152600460205260408120548211156107205760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610388565b6003548211156107725760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178207472616e73616374696f6e20616d6f756e7400006044820152606401610388565b335f9081526006602052604081205460ff166107a7576064600254846107989190610b80565b6107a29190610b97565b6107a9565b5f5b90505f6107b68285610bb6565b335f908152600460205260408120805492935086929091906107d9908490610bb6565b90915550506001600160a01b0385165f9081526004602052604081208054839290610805908490610bc9565b90915550508115610888578160045f6108255f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f205f8282546108529190610bc9565b90915550505f546040518381526001600160a01b039091169033905f80516020610c128339815191529060200160405180910390a35b6040518181526001600160a01b0386169033905f80516020610c128339815191529060200160405180910390a3506001949350505050565b5f546001600160a01b031633146108e95760405162461bcd60e51b815260040161038890610bdc565b600355565b5f546001600160a01b031633146109175760405162461bcd60e51b815260040161038890610bdc565b600255565b5f546001600160a01b031633146109455760405162461bcd60e51b815260040161038890610bdc565b6001600160a01b0381166109aa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610388565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f602080835283518060208501525f5b81811015610a2f57858101830151858201604001528201610a13565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a65575f80fd5b919050565b5f8060408385031215610a7b575f80fd5b610a8483610a4f565b946020939093013593505050565b5f805f60608486031215610aa4575f80fd5b610aad84610a4f565b9250610abb60208501610a4f565b9150604084013590509250925092565b5f60208284031215610adb575f80fd5b610ae482610a4f565b9392505050565b5f8060408385031215610afc575f80fd5b610b0583610a4f565b915060208301358015158114610b19575f80fd5b809150509250929050565b5f60208284031215610b34575f80fd5b5035919050565b5f8060408385031215610b4c575f80fd5b610b5583610a4f565b9150610b6360208401610a4f565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761032857610328610b6c565b5f82610bb157634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561032857610328610b6c565b8082018082111561032857610328610b6c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b1aa6d9e164a18f86ca2bcf6c679036b8687838828cd00ea01c92734206380d164736f6c63430008180033

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610106575f3560e01c80638da5cb5b1161009e578063c8c8ebe41161006e578063c8c8ebe414610248578063cd1b68af14610251578063dd62ed3e14610264578063e60a5a6b1461029c578063f2fde38b146102af575f80fd5b80638da5cb5b146101e557806395d89b41146101ff578063a718fc8714610222578063a9059cbb14610235575f80fd5b8063313ce567116100d9578063313ce5671461019057806370a08231146101aa578063715018a6146101d2578063771a3a1d146101dc575f80fd5b806306fdde031461010a578063095ea7b31461014857806318160ddd1461016b57806323b872dd1461017d575b5f80fd5b610132604051806040016040528060098152602001680a8eae4c4de408cdef60bb1b81525081565b60405161013f9190610a03565b60405180910390f35b61015b610156366004610a6a565b6102c2565b604051901515815260200161013f565b6001545b60405190815260200161013f565b61015b61018b366004610a92565b61032e565b610198601281565b60405160ff909116815260200161013f565b61016f6101b8366004610acb565b6001600160a01b03165f9081526004602052604090205490565b6101da610607565b005b61016f60025481565b5f546040516001600160a01b03909116815260200161013f565b610132604051806040016040528060048152602001630a88c9eb60e31b81525081565b6101da610230366004610aeb565b610678565b61015b610243366004610a6a565b6106cb565b61016f60035481565b6101da61025f366004610b24565b6108c0565b61016f610272366004610b3b565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b6101da6102aa366004610b24565b6108ee565b6101da6102bd366004610acb565b61091c565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061031c9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f908152600460205260408120548211156103915760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b60448201526064015b60405180910390fd5b6001600160a01b0384165f9081526005602090815260408083203384529091529020548211156103fc5760405162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b6044820152606401610388565b60035482111561044e5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178207472616e73616374696f6e20616d6f756e7400006044820152606401610388565b6001600160a01b0384165f9081526006602052604081205460ff1661048c5760646002548461047d9190610b80565b6104879190610b97565b61048e565b5f5b90505f61049b8285610bb6565b6001600160a01b0387165f908152600460205260408120805492935086929091906104c7908490610bb6565b90915550506001600160a01b0386165f908152600560209081526040808320338452909152812080548692906104fe908490610bb6565b90915550506001600160a01b0385165f908152600460205260408120805483929061052a908490610bc9565b909155505081156105c1578160045f61054a5f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f205f8282546105779190610bc9565b90915550505f546001600160a01b03166001600160a01b0316866001600160a01b03165f80516020610c12833981519152846040516105b891815260200190565b60405180910390a35b846001600160a01b0316866001600160a01b03165f80516020610c12833981519152836040516105f391815260200190565b60405180910390a350600195945050505050565b5f546001600160a01b031633146106305760405162461bcd60e51b815260040161038890610bdc565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146106a15760405162461bcd60e51b815260040161038890610bdc565b6001600160a01b03919091165f908152600660205260409020805460ff1916911515919091179055565b335f908152600460205260408120548211156107205760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b6044820152606401610388565b6003548211156107725760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178207472616e73616374696f6e20616d6f756e7400006044820152606401610388565b335f9081526006602052604081205460ff166107a7576064600254846107989190610b80565b6107a29190610b97565b6107a9565b5f5b90505f6107b68285610bb6565b335f908152600460205260408120805492935086929091906107d9908490610bb6565b90915550506001600160a01b0385165f9081526004602052604081208054839290610805908490610bc9565b90915550508115610888578160045f6108255f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f205f8282546108529190610bc9565b90915550505f546040518381526001600160a01b039091169033905f80516020610c128339815191529060200160405180910390a35b6040518181526001600160a01b0386169033905f80516020610c128339815191529060200160405180910390a3506001949350505050565b5f546001600160a01b031633146108e95760405162461bcd60e51b815260040161038890610bdc565b600355565b5f546001600160a01b031633146109175760405162461bcd60e51b815260040161038890610bdc565b600255565b5f546001600160a01b031633146109455760405162461bcd60e51b815260040161038890610bdc565b6001600160a01b0381166109aa5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610388565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f602080835283518060208501525f5b81811015610a2f57858101830151858201604001528201610a13565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610a65575f80fd5b919050565b5f8060408385031215610a7b575f80fd5b610a8483610a4f565b946020939093013593505050565b5f805f60608486031215610aa4575f80fd5b610aad84610a4f565b9250610abb60208501610a4f565b9150604084013590509250925092565b5f60208284031215610adb575f80fd5b610ae482610a4f565b9392505050565b5f8060408385031215610afc575f80fd5b610b0583610a4f565b915060208301358015158114610b19575f80fd5b809150509250929050565b5f60208284031215610b34575f80fd5b5035919050565b5f8060408385031215610b4c575f80fd5b610b5583610a4f565b9150610b6360208401610a4f565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761032857610328610b6c565b5f82610bb157634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561032857610328610b6c565b8082018082111561032857610328610b6c565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260408201526060019056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220b1aa6d9e164a18f86ca2bcf6c679036b8687838828cd00ea01c92734206380d164736f6c63430008180033

Deployed Bytecode Sourcemap

3034:4216:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3078:41;;;;;;;;;;;;;;;-1:-1:-1;;;3078:41:0;;;;;;;;;;;;:::i;:::-;;;;;;;;5256:221;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;5256:221:0;1004:187:1;4037:100:0;4117:12;;4037:100;;;1342:25:1;;;1330:2;1315:18;4037:100:0;1196:177:1;5781:952:0;;;;;;:::i;:::-;;:::i;3171:35::-;;3204:2;3171:35;;;;;1883:4:1;1871:17;;;1853:36;;1841:2;1826:18;3171:35:0;1711:184:1;4191:124:0;;;;;;:::i;:::-;-1:-1:-1;;;;;4287:20:0;4260:7;4287:20;;;:8;:20;;;;;;;4191:124;2797:140;;;:::i;:::-;;3341:26;;;;;;2146:79;2184:7;2211:6;2146:79;;-1:-1:-1;;;;;2211:6:0;;;2237:51:1;;2225:2;2210:18;2146:79:0;2091:203:1;3126:38:0;;;;;;;;;;;;;;;-1:-1:-1;;;3126:38:0;;;;;7120:127;;;;;;:::i;:::-;;:::i;4395:789::-;;;;;;:::i;:::-;;:::i;3410:56::-;;;;;;6935:117;;;;;;:::i;:::-;;:::i;5553:139::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5661:14:0;;;5634:7;5661:14;;;:7;:14;;;;;;;;:23;;;;;;;;;;;;;5553:139;6787:93;;;;;;:::i;:::-;;:::i;2481:236::-;;;;;;:::i;:::-;;:::i;5256:221::-;5359:10;5334:4;5351:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5351:28:0;;;;;;;;;;:40;;;5407;5334:4;;5351:28;;5407:40;;;;5382:9;1342:25:1;;1330:2;1315:18;;1196:177;5407:40:0;;;;;;;;-1:-1:-1;5465:4:0;5256:221;;;;;:::o;5781:952::-;-1:-1:-1;;;;;5920:16:0;;5882:4;5920:16;;;:8;:16;;;;;;5907:29;;;5899:62;;;;-1:-1:-1;;;5899:62:0;;3303:2:1;5899:62:0;;;3285:21:1;3342:2;3322:18;;;3315:30;-1:-1:-1;;;3361:18:1;;;3354:50;3421:18;;5899:62:0;;;;;;;;;-1:-1:-1;;;;;5993:15:0;;;;;;:7;:15;;;;;;;;6009:10;5993:27;;;;;;;;5980:40;;;5972:75;;;;-1:-1:-1;;;5972:75:0;;3652:2:1;5972:75:0;;;3634:21:1;3691:2;3671:18;;;3664:30;-1:-1:-1;;;3710:18:1;;;3703:52;3772:18;;5972:75:0;3450:346:1;5972:75:0;6079:20;;6066:9;:33;;6058:76;;;;-1:-1:-1;;;6058:76:0;;4003:2:1;6058:76:0;;;3985:21:1;4042:2;4022:18;;;4015:30;4081:32;4061:18;;;4054:60;4131:18;;6058:76:0;3801:354:1;6058:76:0;-1:-1:-1;;;;;6212:17:0;;6198:11;6212:17;;;:9;:17;;;;;;;;:51;;6260:3;6249:7;;6237:9;:19;;;;:::i;:::-;6236:27;;;;:::i;:::-;6212:51;;;6232:1;6212:51;6198:65;-1:-1:-1;6274:24:0;6301:15;6198:65;6301:9;:15;:::i;:::-;-1:-1:-1;;;;;6387:16:0;;;;;;:8;:16;;;;;:29;;6274:42;;-1:-1:-1;6407:9:0;;6387:16;;;:29;;6407:9;;6387:29;:::i;:::-;;;;-1:-1:-1;;;;;;;6427:15:0;;;;;;:7;:15;;;;;;;;6443:10;6427:27;;;;;;;:40;;6458:9;;6427:15;:40;;6458:9;;6427:40;:::i;:::-;;;;-1:-1:-1;;;;;;;6478:19:0;;;;;;:8;:19;;;;;:39;;6501:16;;6478:19;:39;;6501:16;;6478:39;:::i;:::-;;;;-1:-1:-1;;6531:7:0;;6528:113;;6576:3;6555:8;:17;6564:7;2184;2211:6;-1:-1:-1;;;;;2211:6:0;;2146:79;6564:7;-1:-1:-1;;;;;6555:17:0;-1:-1:-1;;;;;6555:17:0;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;-1:-1:-1;;2184:7:0;2211:6;-1:-1:-1;;;;;2211:6:0;-1:-1:-1;;;;;6599:30:0;6608:6;-1:-1:-1;;;;;6599:30:0;-1:-1:-1;;;;;;;;;;;6625:3:0;6599:30;;;;1342:25:1;;1330:2;1315:18;;1196:177;6599:30:0;;;;;;;;6528:113;6675:9;-1:-1:-1;;;;;6658:45:0;6667:6;-1:-1:-1;;;;;6658:45:0;-1:-1:-1;;;;;;;;;;;6686:16:0;6658:45;;;;1342:25:1;;1330:2;1315:18;;1196:177;6658:45:0;;;;;;;;-1:-1:-1;6721:4:0;;5781:952;-1:-1:-1;;;;;5781:952:0:o;2797:140::-;2334:6;;-1:-1:-1;;;;;2334:6:0;2344:10;2334:20;2326:65;;;;-1:-1:-1;;;2326:65:0;;;;;;;:::i;:::-;2896:1:::1;2880:6:::0;;2859:40:::1;::::0;-1:-1:-1;;;;;2880:6:0;;::::1;::::0;2859:40:::1;::::0;2896:1;;2859:40:::1;2927:1;2910:19:::0;;-1:-1:-1;;;;;;2910:19:0::1;::::0;;2797:140::o;7120:127::-;2334:6;;-1:-1:-1;;;;;2334:6:0;2344:10;2334:20;2326:65;;;;-1:-1:-1;;;2326:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7210:18:0;;;::::1;;::::0;;;:9:::1;:18;::::0;;;;:29;;-1:-1:-1;;7210:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7120:127::o;4395:789::-;4522:10;4475:4;4513:20;;;:8;:20;;;;;;4500:33;;;4492:66;;;;-1:-1:-1;;;4492:66:0;;3303:2:1;4492:66:0;;;3285:21:1;3342:2;3322:18;;;3315:30;-1:-1:-1;;;3361:18:1;;;3354:50;3421:18;;4492:66:0;3101:344:1;4492:66:0;4590:20;;4577:9;:33;;4569:76;;;;-1:-1:-1;;;4569:76:0;;4003:2:1;4569:76:0;;;3985:21:1;4042:2;4022:18;;;4015:30;4081:32;4061:18;;;4054:60;4131:18;;4569:76:0;3801:354:1;4569:76:0;4723:10;4699:11;4713:21;;;:9;:21;;;;;;;;:55;;4765:3;4754:7;;4742:9;:19;;;;:::i;:::-;4741:27;;;;:::i;:::-;4713:55;;;4737:1;4713:55;4699:69;-1:-1:-1;4779:24:0;4806:15;4699:69;4806:9;:15;:::i;:::-;4888:10;4879:20;;;;:8;:20;;;;;:33;;4779:42;;-1:-1:-1;4903:9:0;;4879:20;;;:33;;4903:9;;4879:33;:::i;:::-;;;;-1:-1:-1;;;;;;;4923:18:0;;;;;;:8;:18;;;;;:38;;4945:16;;4923:18;:38;;4945:16;;4923:38;:::i;:::-;;;;-1:-1:-1;;4975:7:0;;4972:117;;5020:3;4999:8;:17;5008:7;2184;2211:6;-1:-1:-1;;;;;2211:6:0;;2146:79;5008:7;-1:-1:-1;;;;;4999:17:0;-1:-1:-1;;;;;4999:17:0;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;-1:-1:-1;;2184:7:0;2211:6;5043:34;;1342:25:1;;;-1:-1:-1;;;;;2211:6:0;;;;5052:10;;-1:-1:-1;;;;;;;;;;;5043:34:0;1330:2:1;1315:18;5043:34:0;;;;;;;4972:117;5106:48;;1342:25:1;;;-1:-1:-1;;;;;5106:48:0;;;5115:10;;-1:-1:-1;;;;;;;;;;;5106:48:0;1330:2:1;1315:18;5106:48:0;;;;;;;-1:-1:-1;5172:4:0;;4395:789;-1:-1:-1;;;;4395:789:0:o;6935:117::-;2334:6;;-1:-1:-1;;;;;2334:6:0;2344:10;2334:20;2326:65;;;;-1:-1:-1;;;2326:65:0;;;;;;;:::i;:::-;7015:20:::1;:29:::0;6935:117::o;6787:93::-;2334:6;;-1:-1:-1;;;;;2334:6:0;2344:10;2334:20;2326:65;;;;-1:-1:-1;;;2326:65:0;;;;;;;:::i;:::-;6855:7:::1;:17:::0;6787:93::o;2481:236::-;2334:6;;-1:-1:-1;;;;;2334:6:0;2344:10;2334:20;2326:65;;;;-1:-1:-1;;;2326:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2562:22:0;::::1;2554:73;;;::::0;-1:-1:-1;;;2554:73:0;;5513:2:1;2554:73:0::1;::::0;::::1;5495:21:1::0;5552:2;5532:18;;;5525:30;5591:34;5571:18;;;5564:62;-1:-1:-1;;;5642:18:1;;;5635:36;5688:19;;2554:73:0::1;5311:402:1::0;2554:73:0::1;2664:6;::::0;;2643:38:::1;::::0;-1:-1:-1;;;;;2643:38:0;;::::1;::::0;2664:6;::::1;::::0;2643:38:::1;::::0;::::1;2692:6;:17:::0;;-1:-1:-1;;;;;;2692:17:0::1;-1:-1:-1::0;;;;;2692:17:0;;;::::1;::::0;;;::::1;::::0;;2481:236::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1378:328::-;1455:6;1463;1471;1524:2;1512:9;1503:7;1499:23;1495:32;1492:52;;;1540:1;1537;1530:12;1492:52;1563:29;1582:9;1563:29;:::i;:::-;1553:39;;1611:38;1645:2;1634:9;1630:18;1611:38;:::i;:::-;1601:48;;1696:2;1685:9;1681:18;1668:32;1658:42;;1378:328;;;;;:::o;1900:186::-;1959:6;2012:2;2000:9;1991:7;1987:23;1983:32;1980:52;;;2028:1;2025;2018:12;1980:52;2051:29;2070:9;2051:29;:::i;:::-;2041:39;1900:186;-1:-1:-1;;;1900:186:1:o;2299:347::-;2364:6;2372;2425:2;2413:9;2404:7;2400:23;2396:32;2393:52;;;2441:1;2438;2431:12;2393:52;2464:29;2483:9;2464:29;:::i;:::-;2454:39;;2543:2;2532:9;2528:18;2515:32;2590:5;2583:13;2576:21;2569:5;2566:32;2556:60;;2612:1;2609;2602:12;2556:60;2635:5;2625:15;;;2299:347;;;;;:::o;2651:180::-;2710:6;2763:2;2751:9;2742:7;2738:23;2734:32;2731:52;;;2779:1;2776;2769:12;2731:52;-1:-1:-1;2802:23:1;;2651:180;-1:-1:-1;2651:180:1:o;2836:260::-;2904:6;2912;2965:2;2953:9;2944:7;2940:23;2936:32;2933:52;;;2981:1;2978;2971:12;2933:52;3004:29;3023:9;3004:29;:::i;:::-;2994:39;;3052:38;3086:2;3075:9;3071:18;3052:38;:::i;:::-;3042:48;;2836:260;;;;;:::o;4160:127::-;4221:10;4216:3;4212:20;4209:1;4202:31;4252:4;4249:1;4242:15;4276:4;4273:1;4266:15;4292:168;4365:9;;;4396;;4413:15;;;4407:22;;4393:37;4383:71;;4434:18;;:::i;4465:217::-;4505:1;4531;4521:132;;4575:10;4570:3;4566:20;4563:1;4556:31;4610:4;4607:1;4600:15;4638:4;4635:1;4628:15;4521:132;-1:-1:-1;4667:9:1;;4465:217::o;4687:128::-;4754:9;;;4775:11;;;4772:37;;;4789:18;;:::i;4820:125::-;4885:9;;;4906:10;;;4903:36;;;4919:18;;:::i;4950:356::-;5152:2;5134:21;;;5171:18;;;5164:30;5230:34;5225:2;5210:18;;5203:62;5297:2;5282:18;;4950:356::o

Swarm Source

ipfs://b1aa6d9e164a18f86ca2bcf6c679036b8687838828cd00ea01c92734206380d1

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
[ Download: CSV Export  ]

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.