ETH Price: $1,906.18 (+4.15%)
 

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
Approve242717772026-01-19 22:22:1136 days ago1768861331IN
0x1Ce9A83c...44D2b643b
0 ETH0.000002730.05809109
Approve239915802025-12-11 19:39:4775 days ago1765481987IN
0x1Ce9A83c...44D2b643b
0 ETH0.000006820.14515955
Approve217729252025-02-04 11:45:59385 days ago1738669559IN
0x1Ce9A83c...44D2b643b
0 ETH0.000306826.51915047
Approve217318012025-01-29 17:52:59391 days ago1738173179IN
0x1Ce9A83c...44D2b643b
0 ETH0.000249995.31848824
Approve217307402025-01-29 14:19:59391 days ago1738160399IN
0x1Ce9A83c...44D2b643b
0 ETH0.000164336.04961993
Approve217307342025-01-29 14:18:47391 days ago1738160327IN
0x1Ce9A83c...44D2b643b
0 ETH0.000287146.10098847

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
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:
BitCalling

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
No with 200 runs

Other Settings:
london EvmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2025-01-29
*/

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

contract BitCalling {
    string public name = "BitCalling";
    string public symbol = "BCT";
    uint8 public decimals = 18;

    uint256 public totalSupply = 18_000_000 * 10 ** uint256(decimals); // Total supply of 18 million tokens
    uint256 public availableSupply = 100_000 * 10 ** uint256(decimals); // 100,000 tokens available for sale
    uint256 public tokensSold = 0; // Track tokens sold

    uint256 public pricePerToken = 0.00545 ether; // Token price set to $18 per token, based on ETH price

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping(address => uint256)) public allowance;
    mapping(address => uint256) public taskCompletionCount;

    address public owner;
    address public liquidityPool;
    bool public saleActive = true; // Sale is active by default

    uint256 public MAX_SUPPLY; // Declare MAX_SUPPLY as a normal public variable, not constant

    // Constructor to initialize contract with 18 million total supply, but only 100,000 available for purchase
    constructor() {
        balanceOf[msg.sender] = availableSupply; // Deployer gets the available tokens for sale
        owner = msg.sender;
        liquidityPool = address(this); // Set liquidity pool as the contract itself
        MAX_SUPPLY = 18_000_000 * 10 ** uint256(decimals); // Assign MAX_SUPPLY in the constructor
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "Only owner can perform this action");
        _;
    }

    modifier saleIsActive() {
        require(saleActive, "Sale is not active");
        _;
    }

    function toggleSale() external onlyOwner {
        saleActive = !saleActive;
    }

    // Buy tokens (50% liquidity pool, 50% to the deployer)
    function buyTokens(uint256 amount) external payable saleIsActive {
        uint256 cost = amount * pricePerToken;
        require(tokensSold + amount <= availableSupply, "Sale limit reached");
        require(msg.value >= cost, "Not enough ETH sent");

        tokensSold += amount;
        balanceOf[msg.sender] += amount;

        uint256 liquidityAmount = amount / 2; // 50% to liquidity pool
        uint256 deployerAmount = amount - liquidityAmount; // 50% to deployer

        // Transfer 50% to the liquidity pool (contract itself) and 50% to the deployer
        balanceOf[liquidityPool] += liquidityAmount;
        balanceOf[owner] += deployerAmount;

        // Emit event for token purchase
        emit TokenPurchase(msg.sender, amount, msg.value);

        // Refund excess ETH if sent
        if (msg.value > cost) {
            payable(msg.sender).transfer(msg.value - cost);
        }

        // Transfer the ETH to the contract owner
        payable(owner).transfer(cost);
    }

    // Sell tokens (swap tokens for ETH)
    function sellTokens(uint256 amount) external {
        require(balanceOf[msg.sender] >= amount, "Insufficient balance");

        uint256 ethAmount = amount * pricePerToken; // ETH equivalent based on the price of the token

        // Ensure the contract has enough ETH to complete the sale
        require(address(this).balance >= ethAmount, "Not enough ETH in contract");

        // Transfer tokens from user to contract (liquidity pool)
        balanceOf[msg.sender] -= amount;
        balanceOf[liquidityPool] += amount;

        // Transfer ETH to the user
        payable(msg.sender).transfer(ethAmount);
    }

    // Mint new tokens
    function mint(uint256 amount) external onlyOwner {
        totalSupply += amount;
        availableSupply += amount;
        balanceOf[msg.sender] += amount;
    }

    // Transfer tokens to another user
    function transfer(address recipient, uint256 amount) public returns (bool) {
        require(balanceOf[msg.sender] >= amount, "Insufficient balance");
        balanceOf[msg.sender] -= amount;
        balanceOf[recipient] += amount;
        emit Transfer(msg.sender, recipient, amount);
        return true;
    }

    // Approve another address to transfer tokens on behalf
    function approve(address spender, uint256 amount) public returns (bool) {
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    // Transfer tokens from one address to another on behalf of the sender
    function transferFrom(address sender, address recipient, uint256 amount) public returns (bool) {
        require(balanceOf[sender] >= amount, "Insufficient balance");
        require(allowance[sender][msg.sender] >= amount, "Allowance exceeded");

        balanceOf[sender] -= amount;
        balanceOf[recipient] += amount;
        allowance[sender][msg.sender] -= amount;

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

    // Track user progress (tokens earned, tasks completed)
    function trackUserProgress(address participant) public view returns (uint256 tokensEarned, uint256 tasksCompleted) {
        tokensEarned = balanceOf[participant];
        tasksCompleted = taskCompletionCount[participant];
    }

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event TokenPurchase(address indexed buyer, uint256 amount, uint256 value);
}

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":"buyer","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"TokenPurchase","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":[],"name":"MAX_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"availableSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"buyTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityPool","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","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":"pricePerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"saleActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"sellTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"taskCompletionCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleSale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tokensSold","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":"participant","type":"address"}],"name":"trackUserProgress","outputs":[{"internalType":"uint256","name":"tokensEarned","type":"uint256"},{"internalType":"uint256","name":"tasksCompleted","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","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":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060400160405280600a81526020017f42697443616c6c696e6700000000000000000000000000000000000000000000815250600090816100489190610494565b506040518060400160405280600381526020017f42435400000000000000000000000000000000000000000000000000000000008152506001908161008d9190610494565b506012600260006101000a81548160ff021916908360ff160217905550600260009054906101000a900460ff1660ff16600a6100c991906106c8565b630112a8806100d89190610713565b600355600260009054906101000a900460ff1660ff16600a6100fa91906106c8565b620186a06101089190610713565b600455600060055566135cbf0206a0006006556001600b60146101000a81548160ff02191690831515021790555034801561014257600080fd5b50600454600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555030600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900460ff1660ff16600a61022a91906106c8565b630112a8806102399190610713565b600c81905550610755565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806102c557607f821691505b6020821081036102d8576102d761027e565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026103407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610303565b61034a8683610303565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600061039161038c61038784610362565b61036c565b610362565b9050919050565b6000819050919050565b6103ab83610376565b6103bf6103b782610398565b848454610310565b825550505050565b600090565b6103d46103c7565b6103df8184846103a2565b505050565b5b81811015610403576103f86000826103cc565b6001810190506103e5565b5050565b601f82111561044857610419816102de565b610422846102f3565b81016020851015610431578190505b61044561043d856102f3565b8301826103e4565b50505b505050565b600082821c905092915050565b600061046b6000198460080261044d565b1980831691505092915050565b6000610484838361045a565b9150826002028217905092915050565b61049d82610244565b67ffffffffffffffff8111156104b6576104b561024f565b5b6104c082546102ad565b6104cb828285610407565b600060209050601f8311600181146104fe57600084156104ec578287015190505b6104f68582610478565b86555061055e565b601f19841661050c866102de565b60005b828110156105345784890151825560018201915060208501945060208101905061050f565b86831015610551578489015161054d601f89168261045a565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156105ec578086048111156105c8576105c7610566565b5b60018516156105d75780820291505b80810290506105e585610595565b94506105ac565b94509492505050565b60008261060557600190506106c1565b8161061357600090506106c1565b8160018114610629576002811461063357610662565b60019150506106c1565b60ff84111561064557610644610566565b5b8360020a91508482111561065c5761065b610566565b5b506106c1565b5060208310610133831016604e8410600b84101617156106975782820a90508381111561069257610691610566565b5b6106c1565b6106a484848460016105a2565b925090508184048111156106bb576106ba610566565b5b81810290505b9392505050565b60006106d382610362565b91506106de83610362565b925061070b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846105f5565b905092915050565b600061071e82610362565b915061072983610362565b925082820261073781610362565b9150828204841483151761074e5761074d610566565b5b5092915050565b611cf6806107646000396000f3fe6080604052600436106101355760003560e01c806370a08231116100ab5780638da5cb5b1161006f5780638da5cb5b1461040e57806395d89b4114610439578063a0712d6814610464578063a9059cbb1461048d578063c35323c2146104ca578063dd62ed3e1461050757610135565b806370a08231146103265780637a62a98f146103635780637b1b1de6146103a15780637d8966e4146103cc5780637ecc2b56146103e357610135565b806332cb6b0c116100fd57806332cb6b0c146102355780633610724e14610260578063518ab2a81461027c578063665a11ca146102a757806368428a1b146102d25780636c11bcd3146102fd57610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd578063313ce5671461020a575b600080fd5b34801561014657600080fd5b5061014f610544565b60405161015c919061153b565b60405180910390f35b34801561017157600080fd5b5061018c600480360381019061018791906115f6565b6105d2565b6040516101999190611651565b60405180910390f35b3480156101ae57600080fd5b506101b76106c4565b6040516101c4919061167b565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190611696565b6106ca565b6040516102019190611651565b60405180910390f35b34801561021657600080fd5b5061021f6109bc565b60405161022c9190611705565b60405180910390f35b34801561024157600080fd5b5061024a6109cf565b604051610257919061167b565b60405180910390f35b61027a60048036038101906102759190611720565b6109d5565b005b34801561028857600080fd5b50610291610d65565b60405161029e919061167b565b60405180910390f35b3480156102b357600080fd5b506102bc610d6b565b6040516102c9919061175c565b60405180910390f35b3480156102de57600080fd5b506102e7610d91565b6040516102f49190611651565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f9190611720565b610da4565b005b34801561033257600080fd5b5061034d60048036038101906103489190611777565b610f94565b60405161035a919061167b565b60405180910390f35b34801561036f57600080fd5b5061038a60048036038101906103859190611777565b610fac565b6040516103989291906117a4565b60405180910390f35b3480156103ad57600080fd5b506103b6611038565b6040516103c3919061167b565b60405180910390f35b3480156103d857600080fd5b506103e161103e565b005b3480156103ef57600080fd5b506103f86110fa565b604051610405919061167b565b60405180910390f35b34801561041a57600080fd5b50610423611100565b604051610430919061175c565b60405180910390f35b34801561044557600080fd5b5061044e611126565b60405161045b919061153b565b60405180910390f35b34801561047057600080fd5b5061048b60048036038101906104869190611720565b6111b4565b005b34801561049957600080fd5b506104b460048036038101906104af91906115f6565b6112cf565b6040516104c19190611651565b60405180910390f35b3480156104d657600080fd5b506104f160048036038101906104ec9190611777565b61146e565b6040516104fe919061167b565b60405180910390f35b34801561051357600080fd5b5061052e600480360381019061052991906117cd565b611486565b60405161053b919061167b565b60405180910390f35b600080546105519061183c565b80601f016020809104026020016040519081016040528092919081815260200182805461057d9061183c565b80156105ca5780601f1061059f576101008083540402835291602001916105ca565b820191906000526020600020905b8154815290600101906020018083116105ad57829003601f168201915b505050505081565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106b2919061167b565b60405180910390a36001905092915050565b60035481565b600081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561074e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610745906118b9565b60405180910390fd5b81600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080490611925565b60405180910390fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461085c9190611974565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108b291906119a8565b9250508190555081600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109459190611974565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109a9919061167b565b60405180910390a3600190509392505050565b600260009054906101000a900460ff1681565b600c5481565b600b60149054906101000a900460ff16610a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1b90611a28565b60405180910390fd5b600060065482610a349190611a48565b905060045482600554610a4791906119a8565b1115610a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7f90611ad6565b60405180910390fd5b80341015610acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac290611b42565b60405180910390fd5b8160056000828254610add91906119a8565b9250508190555081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b3391906119a8565b925050819055506000600283610b499190611b91565b905060008184610b599190611974565b90508160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bcc91906119a8565b925050819055508060076000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c4491906119a8565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f8534604051610c939291906117a4565b60405180910390a282341115610cf6573373ffffffffffffffffffffffffffffffffffffffff166108fc8434610cc99190611974565b9081150290604051600060405180830381858888f19350505050158015610cf4573d6000803e3d6000fd5b505b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015610d5e573d6000803e3d6000fd5b5050505050565b60055481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60149054906101000a900460ff1681565b80600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1d906118b9565b60405180910390fd5b600060065482610e369190611a48565b905080471015610e7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7290611c0e565b60405180910390fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610eca9190611974565b925050819055508160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f4291906119a8565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f8f573d6000803e3d6000fd5b505050565b60076020528060005260406000206000915090505481565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050915091565b60065481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c590611ca0565b60405180910390fd5b600b60149054906101000a900460ff1615600b60146101000a81548160ff021916908315150217905550565b60045481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600180546111339061183c565b80601f016020809104026020016040519081016040528092919081815260200182805461115f9061183c565b80156111ac5780601f10611181576101008083540402835291602001916111ac565b820191906000526020600020905b81548152906001019060200180831161118f57829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123b90611ca0565b60405180910390fd5b806003600082825461125691906119a8565b92505081905550806004600082825461126f91906119a8565b9250508190555080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112c591906119a8565b9250508190555050565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134a906118b9565b60405180910390fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113a29190611974565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113f891906119a8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161145c919061167b565b60405180910390a36001905092915050565b60096020528060005260406000206000915090505481565b6008602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b838110156114e55780820151818401526020810190506114ca565b60008484015250505050565b6000601f19601f8301169050919050565b600061150d826114ab565b61151781856114b6565b93506115278185602086016114c7565b611530816114f1565b840191505092915050565b600060208201905081810360008301526115558184611502565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061158d82611562565b9050919050565b61159d81611582565b81146115a857600080fd5b50565b6000813590506115ba81611594565b92915050565b6000819050919050565b6115d3816115c0565b81146115de57600080fd5b50565b6000813590506115f0816115ca565b92915050565b6000806040838503121561160d5761160c61155d565b5b600061161b858286016115ab565b925050602061162c858286016115e1565b9150509250929050565b60008115159050919050565b61164b81611636565b82525050565b60006020820190506116666000830184611642565b92915050565b611675816115c0565b82525050565b6000602082019050611690600083018461166c565b92915050565b6000806000606084860312156116af576116ae61155d565b5b60006116bd868287016115ab565b93505060206116ce868287016115ab565b92505060406116df868287016115e1565b9150509250925092565b600060ff82169050919050565b6116ff816116e9565b82525050565b600060208201905061171a60008301846116f6565b92915050565b6000602082840312156117365761173561155d565b5b6000611744848285016115e1565b91505092915050565b61175681611582565b82525050565b6000602082019050611771600083018461174d565b92915050565b60006020828403121561178d5761178c61155d565b5b600061179b848285016115ab565b91505092915050565b60006040820190506117b9600083018561166c565b6117c6602083018461166c565b9392505050565b600080604083850312156117e4576117e361155d565b5b60006117f2858286016115ab565b9250506020611803858286016115ab565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185457607f821691505b6020821081036118675761186661180d565b5b50919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006118a36014836114b6565b91506118ae8261186d565b602082019050919050565b600060208201905081810360008301526118d281611896565b9050919050565b7f416c6c6f77616e63652065786365656465640000000000000000000000000000600082015250565b600061190f6012836114b6565b915061191a826118d9565b602082019050919050565b6000602082019050818103600083015261193e81611902565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061197f826115c0565b915061198a836115c0565b92508282039050818111156119a2576119a1611945565b5b92915050565b60006119b3826115c0565b91506119be836115c0565b92508282019050808211156119d6576119d5611945565b5b92915050565b7f53616c65206973206e6f74206163746976650000000000000000000000000000600082015250565b6000611a126012836114b6565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b6000611a53826115c0565b9150611a5e836115c0565b9250828202611a6c816115c0565b91508282048414831517611a8357611a82611945565b5b5092915050565b7f53616c65206c696d697420726561636865640000000000000000000000000000600082015250565b6000611ac06012836114b6565b9150611acb82611a8a565b602082019050919050565b60006020820190508181036000830152611aef81611ab3565b9050919050565b7f4e6f7420656e6f756768204554482073656e7400000000000000000000000000600082015250565b6000611b2c6013836114b6565b9150611b3782611af6565b602082019050919050565b60006020820190508181036000830152611b5b81611b1f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611b9c826115c0565b9150611ba7836115c0565b925082611bb757611bb6611b62565b5b828204905092915050565b7f4e6f7420656e6f7567682045544820696e20636f6e7472616374000000000000600082015250565b6000611bf8601a836114b6565b9150611c0382611bc2565b602082019050919050565b60006020820190508181036000830152611c2781611beb565b9050919050565b7f4f6e6c79206f776e65722063616e20706572666f726d2074686973206163746960008201527f6f6e000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c8a6022836114b6565b9150611c9582611c2e565b604082019050919050565b60006020820190508181036000830152611cb981611c7d565b905091905056fea2646970667358221220faeb7a46f35a70c883d47b51a79070126713c64e921c221a8ff19e47012a3a4e64736f6c634300081a0033

Deployed Bytecode

0x6080604052600436106101355760003560e01c806370a08231116100ab5780638da5cb5b1161006f5780638da5cb5b1461040e57806395d89b4114610439578063a0712d6814610464578063a9059cbb1461048d578063c35323c2146104ca578063dd62ed3e1461050757610135565b806370a08231146103265780637a62a98f146103635780637b1b1de6146103a15780637d8966e4146103cc5780637ecc2b56146103e357610135565b806332cb6b0c116100fd57806332cb6b0c146102355780633610724e14610260578063518ab2a81461027c578063665a11ca146102a757806368428a1b146102d25780636c11bcd3146102fd57610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd578063313ce5671461020a575b600080fd5b34801561014657600080fd5b5061014f610544565b60405161015c919061153b565b60405180910390f35b34801561017157600080fd5b5061018c600480360381019061018791906115f6565b6105d2565b6040516101999190611651565b60405180910390f35b3480156101ae57600080fd5b506101b76106c4565b6040516101c4919061167b565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef9190611696565b6106ca565b6040516102019190611651565b60405180910390f35b34801561021657600080fd5b5061021f6109bc565b60405161022c9190611705565b60405180910390f35b34801561024157600080fd5b5061024a6109cf565b604051610257919061167b565b60405180910390f35b61027a60048036038101906102759190611720565b6109d5565b005b34801561028857600080fd5b50610291610d65565b60405161029e919061167b565b60405180910390f35b3480156102b357600080fd5b506102bc610d6b565b6040516102c9919061175c565b60405180910390f35b3480156102de57600080fd5b506102e7610d91565b6040516102f49190611651565b60405180910390f35b34801561030957600080fd5b50610324600480360381019061031f9190611720565b610da4565b005b34801561033257600080fd5b5061034d60048036038101906103489190611777565b610f94565b60405161035a919061167b565b60405180910390f35b34801561036f57600080fd5b5061038a60048036038101906103859190611777565b610fac565b6040516103989291906117a4565b60405180910390f35b3480156103ad57600080fd5b506103b6611038565b6040516103c3919061167b565b60405180910390f35b3480156103d857600080fd5b506103e161103e565b005b3480156103ef57600080fd5b506103f86110fa565b604051610405919061167b565b60405180910390f35b34801561041a57600080fd5b50610423611100565b604051610430919061175c565b60405180910390f35b34801561044557600080fd5b5061044e611126565b60405161045b919061153b565b60405180910390f35b34801561047057600080fd5b5061048b60048036038101906104869190611720565b6111b4565b005b34801561049957600080fd5b506104b460048036038101906104af91906115f6565b6112cf565b6040516104c19190611651565b60405180910390f35b3480156104d657600080fd5b506104f160048036038101906104ec9190611777565b61146e565b6040516104fe919061167b565b60405180910390f35b34801561051357600080fd5b5061052e600480360381019061052991906117cd565b611486565b60405161053b919061167b565b60405180910390f35b600080546105519061183c565b80601f016020809104026020016040519081016040528092919081815260200182805461057d9061183c565b80156105ca5780601f1061059f576101008083540402835291602001916105ca565b820191906000526020600020905b8154815290600101906020018083116105ad57829003601f168201915b505050505081565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106b2919061167b565b60405180910390a36001905092915050565b60035481565b600081600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561074e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610745906118b9565b60405180910390fd5b81600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080490611925565b60405180910390fd5b81600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461085c9190611974565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546108b291906119a8565b9250508190555081600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546109459190611974565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516109a9919061167b565b60405180910390a3600190509392505050565b600260009054906101000a900460ff1681565b600c5481565b600b60149054906101000a900460ff16610a24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1b90611a28565b60405180910390fd5b600060065482610a349190611a48565b905060045482600554610a4791906119a8565b1115610a88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7f90611ad6565b60405180910390fd5b80341015610acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac290611b42565b60405180910390fd5b8160056000828254610add91906119a8565b9250508190555081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b3391906119a8565b925050819055506000600283610b499190611b91565b905060008184610b599190611974565b90508160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bcc91906119a8565b925050819055508060076000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c4491906119a8565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fcd60aa75dea3072fbc07ae6d7d856b5dc5f4eee88854f5b4abf7b680ef8bc50f8534604051610c939291906117a4565b60405180910390a282341115610cf6573373ffffffffffffffffffffffffffffffffffffffff166108fc8434610cc99190611974565b9081150290604051600060405180830381858888f19350505050158015610cf4573d6000803e3d6000fd5b505b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015610d5e573d6000803e3d6000fd5b5050505050565b60055481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b60149054906101000a900460ff1681565b80600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1d906118b9565b60405180910390fd5b600060065482610e369190611a48565b905080471015610e7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7290611c0e565b60405180910390fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610eca9190611974565b925050819055508160076000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f4291906119a8565b925050819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610f8f573d6000803e3d6000fd5b505050565b60076020528060005260406000206000915090505481565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050915091565b60065481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c590611ca0565b60405180910390fd5b600b60149054906101000a900460ff1615600b60146101000a81548160ff021916908315150217905550565b60045481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600180546111339061183c565b80601f016020809104026020016040519081016040528092919081815260200182805461115f9061183c565b80156111ac5780601f10611181576101008083540402835291602001916111ac565b820191906000526020600020905b81548152906001019060200180831161118f57829003601f168201915b505050505081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611244576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123b90611ca0565b60405180910390fd5b806003600082825461125691906119a8565b92505081905550806004600082825461126f91906119a8565b9250508190555080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546112c591906119a8565b9250508190555050565b600081600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611353576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134a906118b9565b60405180910390fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113a29190611974565b9250508190555081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113f891906119a8565b925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161145c919061167b565b60405180910390a36001905092915050565b60096020528060005260406000206000915090505481565b6008602052816000526040600020602052806000526040600020600091509150505481565b600081519050919050565b600082825260208201905092915050565b60005b838110156114e55780820151818401526020810190506114ca565b60008484015250505050565b6000601f19601f8301169050919050565b600061150d826114ab565b61151781856114b6565b93506115278185602086016114c7565b611530816114f1565b840191505092915050565b600060208201905081810360008301526115558184611502565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061158d82611562565b9050919050565b61159d81611582565b81146115a857600080fd5b50565b6000813590506115ba81611594565b92915050565b6000819050919050565b6115d3816115c0565b81146115de57600080fd5b50565b6000813590506115f0816115ca565b92915050565b6000806040838503121561160d5761160c61155d565b5b600061161b858286016115ab565b925050602061162c858286016115e1565b9150509250929050565b60008115159050919050565b61164b81611636565b82525050565b60006020820190506116666000830184611642565b92915050565b611675816115c0565b82525050565b6000602082019050611690600083018461166c565b92915050565b6000806000606084860312156116af576116ae61155d565b5b60006116bd868287016115ab565b93505060206116ce868287016115ab565b92505060406116df868287016115e1565b9150509250925092565b600060ff82169050919050565b6116ff816116e9565b82525050565b600060208201905061171a60008301846116f6565b92915050565b6000602082840312156117365761173561155d565b5b6000611744848285016115e1565b91505092915050565b61175681611582565b82525050565b6000602082019050611771600083018461174d565b92915050565b60006020828403121561178d5761178c61155d565b5b600061179b848285016115ab565b91505092915050565b60006040820190506117b9600083018561166c565b6117c6602083018461166c565b9392505050565b600080604083850312156117e4576117e361155d565b5b60006117f2858286016115ab565b9250506020611803858286016115ab565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061185457607f821691505b6020821081036118675761186661180d565b5b50919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006118a36014836114b6565b91506118ae8261186d565b602082019050919050565b600060208201905081810360008301526118d281611896565b9050919050565b7f416c6c6f77616e63652065786365656465640000000000000000000000000000600082015250565b600061190f6012836114b6565b915061191a826118d9565b602082019050919050565b6000602082019050818103600083015261193e81611902565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061197f826115c0565b915061198a836115c0565b92508282039050818111156119a2576119a1611945565b5b92915050565b60006119b3826115c0565b91506119be836115c0565b92508282019050808211156119d6576119d5611945565b5b92915050565b7f53616c65206973206e6f74206163746976650000000000000000000000000000600082015250565b6000611a126012836114b6565b9150611a1d826119dc565b602082019050919050565b60006020820190508181036000830152611a4181611a05565b9050919050565b6000611a53826115c0565b9150611a5e836115c0565b9250828202611a6c816115c0565b91508282048414831517611a8357611a82611945565b5b5092915050565b7f53616c65206c696d697420726561636865640000000000000000000000000000600082015250565b6000611ac06012836114b6565b9150611acb82611a8a565b602082019050919050565b60006020820190508181036000830152611aef81611ab3565b9050919050565b7f4e6f7420656e6f756768204554482073656e7400000000000000000000000000600082015250565b6000611b2c6013836114b6565b9150611b3782611af6565b602082019050919050565b60006020820190508181036000830152611b5b81611b1f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611b9c826115c0565b9150611ba7836115c0565b925082611bb757611bb6611b62565b5b828204905092915050565b7f4e6f7420656e6f7567682045544820696e20636f6e7472616374000000000000600082015250565b6000611bf8601a836114b6565b9150611c0382611bc2565b602082019050919050565b60006020820190508181036000830152611c2781611beb565b9050919050565b7f4f6e6c79206f776e65722063616e20706572666f726d2074686973206163746960008201527f6f6e000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c8a6022836114b6565b9150611c9582611c2e565b604082019050919050565b60006020820190508181036000830152611cb981611c7d565b905091905056fea2646970667358221220faeb7a46f35a70c883d47b51a79070126713c64e921c221a8ff19e47012a3a4e64736f6c634300081a0033

Deployed Bytecode Sourcemap

61:5407:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;88:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4171:205;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;198:65;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4460:461;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;163:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;899:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1834:1021;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;417:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;797:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;832:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2905:632;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;585:44;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4990:231;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;476:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1681:84;;;;;;;;;;;;;:::i;:::-;;307:66;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;770:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;128:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3569:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3784:318;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;707:54;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;636:64;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;88:33;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4171:205::-;4237:4;4287:6;4254:9;:21;4264:10;4254:21;;;;;;;;;;;;;;;:30;4276:7;4254:30;;;;;;;;;;;;;;;:39;;;;4330:7;4309:37;;4318:10;4309:37;;;4339:6;4309:37;;;;;;:::i;:::-;;;;;;;;4364:4;4357:11;;4171:205;;;;:::o;198:65::-;;;;:::o;4460:461::-;4549:4;4595:6;4574:9;:17;4584:6;4574:17;;;;;;;;;;;;;;;;:27;;4566:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;4678:6;4645:9;:17;4655:6;4645:17;;;;;;;;;;;;;;;:29;4663:10;4645:29;;;;;;;;;;;;;;;;:39;;4637:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;4741:6;4720:9;:17;4730:6;4720:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;4782:6;4758:9;:20;4768:9;4758:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;4832:6;4799:9;:17;4809:6;4799:17;;;;;;;;;;;;;;;:29;4817:10;4799:29;;;;;;;;;;;;;;;;:39;;;;;;;:::i;:::-;;;;;;;;4873:9;4856:35;;4865:6;4856:35;;;4884:6;4856:35;;;;;;:::i;:::-;;;;;;;;4909:4;4902:11;;4460:461;;;;;:::o;163:26::-;;;;;;;;;;;;;:::o;899:25::-;;;;:::o;1834:1021::-;1620:10;;;;;;;;;;;1612:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;1910:12:::1;1934:13;;1925:6;:22;;;;:::i;:::-;1910:37;;1989:15;;1979:6;1966:10;;:19;;;;:::i;:::-;:38;;1958:69;;;;;;;;;;;;:::i;:::-;;;;;;;;;2059:4;2046:9;:17;;2038:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;2114:6;2100:10;;:20;;;;;;;:::i;:::-;;;;;;;;2156:6;2131:9;:21;2141:10;2131:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;2175:23;2210:1;2201:6;:10;;;;:::i;:::-;2175:36;;2247:22;2281:15;2272:6;:24;;;;:::i;:::-;2247:49;;2445:15;2417:9;:24;2427:13;;;;;;;;;;;2417:24;;;;;;;;;;;;;;;;:43;;;;;;;:::i;:::-;;;;;;;;2491:14;2471:9;:16;2481:5;;;;;;;;;;;2471:16;;;;;;;;;;;;;;;;:34;;;;;;;:::i;:::-;;;;;;;;2579:10;2565:44;;;2591:6;2599:9;2565:44;;;;;;;:::i;:::-;;;;;;;;2676:4;2664:9;:16;2660:95;;;2705:10;2697:28;;:46;2738:4;2726:9;:16;;;;:::i;:::-;2697:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;2660:95;2826:5;;;;;;;;;;;2818:23;;:29;2842:4;2818:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;1899:956;;;1834:1021:::0;:::o;417:29::-;;;;:::o;797:28::-;;;;;;;;;;;;;:::o;832:29::-;;;;;;;;;;;;;:::o;2905:632::-;2994:6;2969:9;:21;2979:10;2969:21;;;;;;;;;;;;;;;;:31;;2961:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;3038:17;3067:13;;3058:6;:22;;;;:::i;:::-;3038:42;;3244:9;3219:21;:34;;3211:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3389:6;3364:9;:21;3374:10;3364:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;3434:6;3406:9;:24;3416:13;;;;;;;;;;;3406:24;;;;;;;;;;;;;;;;:34;;;;;;;:::i;:::-;;;;;;;;3498:10;3490:28;;:39;3519:9;3490:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2950:587;2905:632;:::o;585:44::-;;;;;;;;;;;;;;;;;:::o;4990:231::-;5059:20;5081:22;5131:9;:22;5141:11;5131:22;;;;;;;;;;;;;;;;5116:37;;5181:19;:32;5201:11;5181:32;;;;;;;;;;;;;;;;5164:49;;4990:231;;;:::o;476:44::-;;;;:::o;1681:84::-;1505:5;;;;;;;;;;;1491:19;;:10;:19;;;1483:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;1747:10:::1;;;;;;;;;;;1746:11;1733:10;;:24;;;;;;;;;;;;;;;;;;1681:84::o:0;307:66::-;;;;:::o;770:20::-;;;;;;;;;;;;;:::o;128:28::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3569:167::-;1505:5;;;;;;;;;;;1491:19;;:10;:19;;;1483:66;;;;;;;;;;;;:::i;:::-;;;;;;;;;3644:6:::1;3629:11;;:21;;;;;;;:::i;:::-;;;;;;;;3680:6;3661:15;;:25;;;;;;;:::i;:::-;;;;;;;;3722:6;3697:9;:21;3707:10;3697:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;3569:167:::0;:::o;3784:318::-;3853:4;3903:6;3878:9;:21;3888:10;3878:21;;;;;;;;;;;;;;;;:31;;3870:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;3970:6;3945:9;:21;3955:10;3945:21;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;4011:6;3987:9;:20;3997:9;3987:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;4054:9;4033:39;;4042:10;4033:39;;;4065:6;4033:39;;;;;;:::i;:::-;;;;;;;;4090:4;4083:11;;3784:318;;;;:::o;707:54::-;;;;;;;;;;;;;;;;;:::o;636:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:248::-;369:1;379:113;393:6;390:1;387:13;379:113;;;478:1;473:3;469:11;463:18;459:1;454:3;450:11;443:39;415:2;412:1;408:10;403:15;;379:113;;;526:1;517:6;512:3;508:16;501:27;349:186;287:248;;;:::o;541:102::-;582:6;633:2;629:7;624:2;617:5;613:14;609:28;599:38;;541:102;;;:::o;649:377::-;737:3;765:39;798:5;765:39;:::i;:::-;820:71;884:6;879:3;820:71;:::i;:::-;813:78;;900:65;958:6;953:3;946:4;939:5;935:16;900:65;:::i;:::-;990:29;1012:6;990:29;:::i;:::-;985:3;981:39;974:46;;741:285;649:377;;;;:::o;1032:313::-;1145:4;1183:2;1172:9;1168:18;1160:26;;1232:9;1226:4;1222:20;1218:1;1207:9;1203:17;1196:47;1260:78;1333:4;1324:6;1260:78;:::i;:::-;1252:86;;1032:313;;;;:::o;1432:117::-;1541:1;1538;1531:12;1678:126;1715:7;1755:42;1748:5;1744:54;1733:65;;1678:126;;;:::o;1810:96::-;1847:7;1876:24;1894:5;1876:24;:::i;:::-;1865:35;;1810:96;;;:::o;1912:122::-;1985:24;2003:5;1985:24;:::i;:::-;1978:5;1975:35;1965:63;;2024:1;2021;2014:12;1965:63;1912:122;:::o;2040:139::-;2086:5;2124:6;2111:20;2102:29;;2140:33;2167:5;2140:33;:::i;:::-;2040:139;;;;:::o;2185:77::-;2222:7;2251:5;2240:16;;2185:77;;;:::o;2268:122::-;2341:24;2359:5;2341:24;:::i;:::-;2334:5;2331:35;2321:63;;2380:1;2377;2370:12;2321:63;2268:122;:::o;2396:139::-;2442:5;2480:6;2467:20;2458:29;;2496:33;2523:5;2496:33;:::i;:::-;2396:139;;;;:::o;2541:474::-;2609:6;2617;2666:2;2654:9;2645:7;2641:23;2637:32;2634:119;;;2672:79;;:::i;:::-;2634:119;2792:1;2817:53;2862:7;2853:6;2842:9;2838:22;2817:53;:::i;:::-;2807:63;;2763:117;2919:2;2945:53;2990:7;2981:6;2970:9;2966:22;2945:53;:::i;:::-;2935:63;;2890:118;2541:474;;;;;:::o;3021:90::-;3055:7;3098:5;3091:13;3084:21;3073:32;;3021:90;;;:::o;3117:109::-;3198:21;3213:5;3198:21;:::i;:::-;3193:3;3186:34;3117:109;;:::o;3232:210::-;3319:4;3357:2;3346:9;3342:18;3334:26;;3370:65;3432:1;3421:9;3417:17;3408:6;3370:65;:::i;:::-;3232:210;;;;:::o;3448:118::-;3535:24;3553:5;3535:24;:::i;:::-;3530:3;3523:37;3448:118;;:::o;3572:222::-;3665:4;3703:2;3692:9;3688:18;3680:26;;3716:71;3784:1;3773:9;3769:17;3760:6;3716:71;:::i;:::-;3572:222;;;;:::o;3800:619::-;3877:6;3885;3893;3942:2;3930:9;3921:7;3917:23;3913:32;3910:119;;;3948:79;;:::i;:::-;3910:119;4068:1;4093:53;4138:7;4129:6;4118:9;4114:22;4093:53;:::i;:::-;4083:63;;4039:117;4195:2;4221:53;4266:7;4257:6;4246:9;4242:22;4221:53;:::i;:::-;4211:63;;4166:118;4323:2;4349:53;4394:7;4385:6;4374:9;4370:22;4349:53;:::i;:::-;4339:63;;4294:118;3800:619;;;;;:::o;4425:86::-;4460:7;4500:4;4493:5;4489:16;4478:27;;4425:86;;;:::o;4517:112::-;4600:22;4616:5;4600:22;:::i;:::-;4595:3;4588:35;4517:112;;:::o;4635:214::-;4724:4;4762:2;4751:9;4747:18;4739:26;;4775:67;4839:1;4828:9;4824:17;4815:6;4775:67;:::i;:::-;4635:214;;;;:::o;4855:329::-;4914:6;4963:2;4951:9;4942:7;4938:23;4934:32;4931:119;;;4969:79;;:::i;:::-;4931:119;5089:1;5114:53;5159:7;5150:6;5139:9;5135:22;5114:53;:::i;:::-;5104:63;;5060:117;4855:329;;;;:::o;5190:118::-;5277:24;5295:5;5277:24;:::i;:::-;5272:3;5265:37;5190:118;;:::o;5314:222::-;5407:4;5445:2;5434:9;5430:18;5422:26;;5458:71;5526:1;5515:9;5511:17;5502:6;5458:71;:::i;:::-;5314:222;;;;:::o;5542:329::-;5601:6;5650:2;5638:9;5629:7;5625:23;5621:32;5618:119;;;5656:79;;:::i;:::-;5618:119;5776:1;5801:53;5846:7;5837:6;5826:9;5822:22;5801:53;:::i;:::-;5791:63;;5747:117;5542:329;;;;:::o;5877:332::-;5998:4;6036:2;6025:9;6021:18;6013:26;;6049:71;6117:1;6106:9;6102:17;6093:6;6049:71;:::i;:::-;6130:72;6198:2;6187:9;6183:18;6174:6;6130:72;:::i;:::-;5877:332;;;;;:::o;6215:474::-;6283:6;6291;6340:2;6328:9;6319:7;6315:23;6311:32;6308:119;;;6346:79;;:::i;:::-;6308:119;6466:1;6491:53;6536:7;6527:6;6516:9;6512:22;6491:53;:::i;:::-;6481:63;;6437:117;6593:2;6619:53;6664:7;6655:6;6644:9;6640:22;6619:53;:::i;:::-;6609:63;;6564:118;6215:474;;;;;:::o;6695:180::-;6743:77;6740:1;6733:88;6840:4;6837:1;6830:15;6864:4;6861:1;6854:15;6881:320;6925:6;6962:1;6956:4;6952:12;6942:22;;7009:1;7003:4;6999:12;7030:18;7020:81;;7086:4;7078:6;7074:17;7064:27;;7020:81;7148:2;7140:6;7137:14;7117:18;7114:38;7111:84;;7167:18;;:::i;:::-;7111:84;6932:269;6881:320;;;:::o;7207:170::-;7347:22;7343:1;7335:6;7331:14;7324:46;7207:170;:::o;7383:366::-;7525:3;7546:67;7610:2;7605:3;7546:67;:::i;:::-;7539:74;;7622:93;7711:3;7622:93;:::i;:::-;7740:2;7735:3;7731:12;7724:19;;7383:366;;;:::o;7755:419::-;7921:4;7959:2;7948:9;7944:18;7936:26;;8008:9;8002:4;7998:20;7994:1;7983:9;7979:17;7972:47;8036:131;8162:4;8036:131;:::i;:::-;8028:139;;7755:419;;;:::o;8180:168::-;8320:20;8316:1;8308:6;8304:14;8297:44;8180:168;:::o;8354:366::-;8496:3;8517:67;8581:2;8576:3;8517:67;:::i;:::-;8510:74;;8593:93;8682:3;8593:93;:::i;:::-;8711:2;8706:3;8702:12;8695:19;;8354:366;;;:::o;8726:419::-;8892:4;8930:2;8919:9;8915:18;8907:26;;8979:9;8973:4;8969:20;8965:1;8954:9;8950:17;8943:47;9007:131;9133:4;9007:131;:::i;:::-;8999:139;;8726:419;;;:::o;9151:180::-;9199:77;9196:1;9189:88;9296:4;9293:1;9286:15;9320:4;9317:1;9310:15;9337:194;9377:4;9397:20;9415:1;9397:20;:::i;:::-;9392:25;;9431:20;9449:1;9431:20;:::i;:::-;9426:25;;9475:1;9472;9468:9;9460:17;;9499:1;9493:4;9490:11;9487:37;;;9504:18;;:::i;:::-;9487:37;9337:194;;;;:::o;9537:191::-;9577:3;9596:20;9614:1;9596:20;:::i;:::-;9591:25;;9630:20;9648:1;9630:20;:::i;:::-;9625:25;;9673:1;9670;9666:9;9659:16;;9694:3;9691:1;9688:10;9685:36;;;9701:18;;:::i;:::-;9685:36;9537:191;;;;:::o;9734:168::-;9874:20;9870:1;9862:6;9858:14;9851:44;9734:168;:::o;9908:366::-;10050:3;10071:67;10135:2;10130:3;10071:67;:::i;:::-;10064:74;;10147:93;10236:3;10147:93;:::i;:::-;10265:2;10260:3;10256:12;10249:19;;9908:366;;;:::o;10280:419::-;10446:4;10484:2;10473:9;10469:18;10461:26;;10533:9;10527:4;10523:20;10519:1;10508:9;10504:17;10497:47;10561:131;10687:4;10561:131;:::i;:::-;10553:139;;10280:419;;;:::o;10705:410::-;10745:7;10768:20;10786:1;10768:20;:::i;:::-;10763:25;;10802:20;10820:1;10802:20;:::i;:::-;10797:25;;10857:1;10854;10850:9;10879:30;10897:11;10879:30;:::i;:::-;10868:41;;11058:1;11049:7;11045:15;11042:1;11039:22;11019:1;11012:9;10992:83;10969:139;;11088:18;;:::i;:::-;10969:139;10753:362;10705:410;;;;:::o;11121:168::-;11261:20;11257:1;11249:6;11245:14;11238:44;11121:168;:::o;11295:366::-;11437:3;11458:67;11522:2;11517:3;11458:67;:::i;:::-;11451:74;;11534:93;11623:3;11534:93;:::i;:::-;11652:2;11647:3;11643:12;11636:19;;11295:366;;;:::o;11667:419::-;11833:4;11871:2;11860:9;11856:18;11848:26;;11920:9;11914:4;11910:20;11906:1;11895:9;11891:17;11884:47;11948:131;12074:4;11948:131;:::i;:::-;11940:139;;11667:419;;;:::o;12092:169::-;12232:21;12228:1;12220:6;12216:14;12209:45;12092:169;:::o;12267:366::-;12409:3;12430:67;12494:2;12489:3;12430:67;:::i;:::-;12423:74;;12506:93;12595:3;12506:93;:::i;:::-;12624:2;12619:3;12615:12;12608:19;;12267:366;;;:::o;12639:419::-;12805:4;12843:2;12832:9;12828:18;12820:26;;12892:9;12886:4;12882:20;12878:1;12867:9;12863:17;12856:47;12920:131;13046:4;12920:131;:::i;:::-;12912:139;;12639:419;;;:::o;13064:180::-;13112:77;13109:1;13102:88;13209:4;13206:1;13199:15;13233:4;13230:1;13223:15;13250:185;13290:1;13307:20;13325:1;13307:20;:::i;:::-;13302:25;;13341:20;13359:1;13341:20;:::i;:::-;13336:25;;13380:1;13370:35;;13385:18;;:::i;:::-;13370:35;13427:1;13424;13420:9;13415:14;;13250:185;;;;:::o;13441:176::-;13581:28;13577:1;13569:6;13565:14;13558:52;13441:176;:::o;13623:366::-;13765:3;13786:67;13850:2;13845:3;13786:67;:::i;:::-;13779:74;;13862:93;13951:3;13862:93;:::i;:::-;13980:2;13975:3;13971:12;13964:19;;13623:366;;;:::o;13995:419::-;14161:4;14199:2;14188:9;14184:18;14176:26;;14248:9;14242:4;14238:20;14234:1;14223:9;14219:17;14212:47;14276:131;14402:4;14276:131;:::i;:::-;14268:139;;13995:419;;;:::o;14420:221::-;14560:34;14556:1;14548:6;14544:14;14537:58;14629:4;14624:2;14616:6;14612:15;14605:29;14420:221;:::o;14647:366::-;14789:3;14810:67;14874:2;14869:3;14810:67;:::i;:::-;14803:74;;14886:93;14975:3;14886:93;:::i;:::-;15004:2;14999:3;14995:12;14988:19;;14647:366;;;:::o;15019:419::-;15185:4;15223:2;15212:9;15208:18;15200:26;;15272:9;15266:4;15262:20;15258:1;15247:9;15243:17;15236:47;15300:131;15426:4;15300:131;:::i;:::-;15292:139;;15019:419;;;:::o

Swarm Source

ipfs://faeb7a46f35a70c883d47b51a79070126713c64e921c221a8ff19e47012a3a4e

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