ETH Price: $2,019.70 (-0.13%)

Contract

0xf35b4e6Dbb2aaDBa1bd3E0c9c2f481DEA6f7421e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve192291762024-02-14 22:29:23754 days ago1707949763IN
0xf35b4e6D...EA6f7421e
0 ETH0.0014290230.84392226
Set Sell Limit192291732024-02-14 22:28:47754 days ago1707949727IN
0xf35b4e6D...EA6f7421e
0 ETH0.0008583528.72372346
Set Fee Exempt192291662024-02-14 22:27:23754 days ago1707949643IN
0xf35b4e6D...EA6f7421e
0 ETH0.0014650230.65672951
Set Buy Limit192290312024-02-14 21:59:59754 days ago1707947999IN
0xf35b4e6D...EA6f7421e
0 ETH0.0009512331.90364928
Set Buy Limit192290292024-02-14 21:59:35754 days ago1707947975IN
0xf35b4e6D...EA6f7421e
0 ETH0.0008821529.63436821
Set Dex Pair192290122024-02-14 21:56:11754 days ago1707947771IN
0xf35b4e6D...EA6f7421e
0 ETH0.0007549725.03327337
Set Dex Pair192289432024-02-14 21:42:11754 days ago1707946931IN
0xf35b4e6D...EA6f7421e
0 ETH0.0008013626.57140697
Set Dex Pair192287902024-02-14 21:11:23754 days ago1707945083IN
0xf35b4e6D...EA6f7421e
0 ETH0.0010943123.15560277
Approve192287522024-02-14 21:03:11754 days ago1707944591IN
0xf35b4e6D...EA6f7421e
0 ETH0.0013227328.39512631
Transfer192286452024-02-14 20:41:47754 days ago1707943307IN
0xf35b4e6D...EA6f7421e
0 ETH0.0012876422.82569993
Transfer192286332024-02-14 20:39:23754 days ago1707943163IN
0xf35b4e6D...EA6f7421e
0 ETH0.0013125723.27252694
Transfer192286012024-02-14 20:32:59754 days ago1707942779IN
0xf35b4e6D...EA6f7421e
0 ETH0.0012957622.97457137
Transfer192285902024-02-14 20:30:47754 days ago1707942647IN
0xf35b4e6D...EA6f7421e
0 ETH0.0012423522.02758844
Transfer192285832024-02-14 20:29:23754 days ago1707942563IN
0xf35b4e6D...EA6f7421e
0 ETH0.0013426423.80575196

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Balance Of192292052024-02-14 22:35:47754 days ago1707950147
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192292052024-02-14 22:35:47754 days ago1707950147
0xf35b4e6D...EA6f7421e
0 ETH
Transfer192292052024-02-14 22:35:47754 days ago1707950147
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192292052024-02-14 22:35:47754 days ago1707950147
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192292052024-02-14 22:35:47754 days ago1707950147
0xf35b4e6D...EA6f7421e
0 ETH
Transfer192292052024-02-14 22:35:47754 days ago1707950147
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192292052024-02-14 22:35:47754 days ago1707950147
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192292052024-02-14 22:35:47754 days ago1707950147
0xf35b4e6D...EA6f7421e
0 ETH
Transfer192291972024-02-14 22:34:11754 days ago1707950051
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192291972024-02-14 22:34:11754 days ago1707950051
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192291972024-02-14 22:34:11754 days ago1707950051
0xf35b4e6D...EA6f7421e
0 ETH
Transfer192291972024-02-14 22:34:11754 days ago1707950051
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192291972024-02-14 22:34:11754 days ago1707950051
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192291942024-02-14 22:33:35754 days ago1707950015
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192291942024-02-14 22:33:35754 days ago1707950015
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192291942024-02-14 22:33:35754 days ago1707950015
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192291942024-02-14 22:33:35754 days ago1707950015
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192291942024-02-14 22:33:35754 days ago1707950015
0xf35b4e6D...EA6f7421e
0 ETH
Transfer From192291942024-02-14 22:33:35754 days ago1707950015
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192291942024-02-14 22:33:35754 days ago1707950015
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192291942024-02-14 22:33:35754 days ago1707950015
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192290872024-02-14 22:11:11754 days ago1707948671
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192290872024-02-14 22:11:11754 days ago1707948671
0xf35b4e6D...EA6f7421e
0 ETH
Transfer192290872024-02-14 22:11:11754 days ago1707948671
0xf35b4e6D...EA6f7421e
0 ETH
Balance Of192290872024-02-14 22:11:11754 days ago1707948671
0xf35b4e6D...EA6f7421e
0 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

Contract Source Code Verified (Exact Match)

Contract Name:
RapiDex

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-14
*/

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

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 value) external returns (bool);
    function transferFrom(address from, address to, uint256 value) external returns (bool);
}

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

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

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

abstract contract Ownable is Context {
    address private _owner;

    error OwnableUnauthorizedAccount(address account);
    error OwnableInvalidOwner(address owner);

    event OwnershipRenounced(address indexed previousOwner);

    constructor(address initialOwner) {
        if (initialOwner == address(0)) {
            revert OwnableInvalidOwner(address(0));
        }
        _owner = initialOwner; // Assign ownership to initialOwner
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    function _checkOwner() internal view virtual {
        if (owner() != _msgSender()) {
            revert OwnableUnauthorizedAccount(_msgSender());
        }
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipRenounced(_owner);
        _owner = address(0);
    }
}

abstract contract ReentrancyGuard {
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    modifier nonReentrant() {
        _nonReentrantBefore();
        _;
        _nonReentrantAfter();
    }

    function _nonReentrantBefore() private {
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
        _status = _ENTERED;
    }

    function _nonReentrantAfter() private {
        _status = _NOT_ENTERED;
    }
}

contract RapiDex is IERC20, IERC20Metadata, Ownable, ReentrancyGuard {
    string public override name = "RapiDex";
    string public override symbol = "RDEX";
    uint8 public override decimals = 18;

    uint256 private constant BASE = 10;
    uint256 private constant INITIAL_SUPPLY = 2_000_000_000; // 2 billion tokens

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    uint256 private _totalSupply;

    uint256 public buyFeePercent = 5; // 5%
    uint256 public sellFeePercent = 5; // 5%
    uint256 public buyLimit = 20000000 * 10**uint(decimals);
    uint256 public sellLimit = 20000000 * 10**uint(decimals);
    address public dexPair;
    mapping(address => bool) public feeExempt;

    event DexPairSet(address indexed dexPair);
    event BuyFeePercentSet(uint256 buyFeePercent);
    event SellFeePercentSet(uint256 sellFeePercent);
    event BuyLimitSet(uint256 buyLimit);
    event SellLimitSet(uint256 sellLimit);
    event FeeExemptSet(address indexed account, bool isExempt);

    constructor() Ownable(msg.sender) {
        uint256 totalInitialSupply = INITIAL_SUPPLY * (BASE ** uint256(decimals));
        _mint(msg.sender, totalInitialSupply);

        feeExempt[msg.sender] = true;

        emit FeeExemptSet(msg.sender, true);
    }

    function setDexPair(address _dexPair) external onlyOwner {
        require(_dexPair != address(0), "Invalid address");
        dexPair = _dexPair;
        emit DexPairSet(_dexPair);
    }

    function setBuyFeePercent(uint256 _buyFeePercent) external onlyOwner {
        buyFeePercent = _buyFeePercent;
        emit BuyFeePercentSet(_buyFeePercent);
    }

    function setSellFeePercent(uint256 _sellFeePercent) external onlyOwner {
        sellFeePercent = _sellFeePercent;
        emit SellFeePercentSet(_sellFeePercent);
    }

    function setBuyLimit(uint256 _buyLimit) external onlyOwner {
        buyLimit = _buyLimit;
        emit BuyLimitSet(_buyLimit);
    }

    function setSellLimit(uint256 _sellLimit) external onlyOwner {
        sellLimit = _sellLimit;
        emit SellLimitSet(_sellLimit);
    }

    function setFeeExempt(address account, bool isExempt) external onlyOwner {
        feeExempt[account] = isExempt;
        emit FeeExemptSet(account, isExempt);
    }

    function transfer(address recipient, uint256 amount) public override nonReentrant returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override nonReentrant returns (bool) {
        require(_allowances[sender][msg.sender] >= amount, "ERC20: transfer amount exceeds allowance");
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(recipient != address(0), "Invalid recipient address");

        uint256 feeAmount = 0;
        // Check for exemption from fees
        if (!feeExempt[sender] && !feeExempt[recipient]) {
            if (recipient == dexPair) {
                feeAmount = amount * sellFeePercent / 100;
            } else if (sender == dexPair) {
                feeAmount = amount * buyFeePercent / 100;
            }
        }

        uint256 amountAfterFee = amount - feeAmount;
        _balances[sender] = _balances[sender] - amount;
        _balances[recipient] = _balances[recipient] + amountAfterFee;
        emit Transfer(sender, recipient, amountAfterFee);

        if (feeAmount > 0) {
            _balances[owner()] = _balances[owner()] + feeAmount;
            emit Transfer(sender, owner(), feeAmount);
        }
    }

    function _approve(address owner, address spender, uint256 amount) internal {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function totalSupply() public view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"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":false,"internalType":"uint256","name":"buyFeePercent","type":"uint256"}],"name":"BuyFeePercentSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"buyLimit","type":"uint256"}],"name":"BuyLimitSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"dexPair","type":"address"}],"name":"DexPairSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"bool","name":"isExempt","type":"bool"}],"name":"FeeExemptSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sellFeePercent","type":"uint256"}],"name":"SellFeePercentSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sellLimit","type":"uint256"}],"name":"SellLimitSet","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":"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":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFeePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"feeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"sellFeePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFeePercent","type":"uint256"}],"name":"setBuyFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyLimit","type":"uint256"}],"name":"setBuyLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_dexPair","type":"address"}],"name":"setDexPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"isExempt","type":"bool"}],"name":"setFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sellFeePercent","type":"uint256"}],"name":"setSellFeePercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sellLimit","type":"uint256"}],"name":"setSellLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","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"}]

60c060405260076080908152660a4c2e0d288caf60cb1b60a05260029062000028908262000316565b506040805180820190915260048152630a4888ab60e31b602082015260039062000053908262000316565b506004805460ff19166012908117909155600560088190556009556200007b90600a620004f1565b6200008b906301312d0062000505565b600a908155600454620000a49160ff90911690620004f1565b620000b4906301312d0062000505565b600b55348015620000c3575f80fd5b503380620000eb57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b5f80546001600160a01b0319166001600160a01b039290921691909117815560018055600454620001219060ff16600a620004f1565b6200013190637735940062000505565b90506200013f338262000196565b335f818152600d6020908152604091829020805460ff1916600190811790915591519182527f5a8cf666a272afd6dec6788d33967c676fffa92e289eee1b38172982c4b4914d910160405180910390a25062000535565b6001600160a01b038216620001ee5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620000e2565b8060075f8282546200020191906200051f565b90915550506001600160a01b0382165f90815260056020526040812080548392906200022f9084906200051f565b90915550506040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620002a157607f821691505b602082108103620002c057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200031157805f5260205f20601f840160051c81016020851015620002ed5750805b601f840160051c820191505b818110156200030e575f8155600101620002f9565b50505b505050565b81516001600160401b0381111562000332576200033262000278565b6200034a816200034384546200028c565b84620002c6565b602080601f83116001811462000380575f8415620003685750858301515b5f19600386901b1c1916600185901b178555620003da565b5f85815260208120601f198616915b82811015620003b0578886015182559484019460019091019084016200038f565b5085821015620003ce57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200043657815f19048211156200041a576200041a620003e2565b808516156200042857918102915b93841c9390800290620003fb565b509250929050565b5f826200044e57506001620004eb565b816200045c57505f620004eb565b81600181146200047557600281146200048057620004a0565b6001915050620004eb565b60ff841115620004945762000494620003e2565b50506001821b620004eb565b5060208310610133831016604e8410600b8410161715620004c5575081810a620004eb565b620004d18383620003f6565b805f1904821115620004e757620004e7620003e2565b0290505b92915050565b5f620004fe83836200043e565b9392505050565b8082028115828204841417620004eb57620004eb620003e2565b80820180821115620004eb57620004eb620003e2565b610dc680620005435f395ff3fe608060405234801561000f575f80fd5b5060043610610148575f3560e01c80638ebfc796116100bf578063ae36f5c811610079578063ae36f5c8146102c2578063cc3fdd4c146102d5578063dd31ee2d146102de578063dd62ed3e146102f1578063e0d30d9b14610329578063f242ab4114610332575f80fd5b80638ebfc7961461025b578063950eb5d51461026e57806395d89b4114610281578063a2b8a94714610289578063a9059cbb1461029c578063a9bf2c09146102af575f80fd5b8063398daa8511610110578063398daa85146101d15780634f91e48c146101f3578063589210d9146101fc57806370a0823114610205578063715018a61461022d5780638da5cb5b14610237575f80fd5b806306fdde031461014c578063095ea7b31461016a57806318160ddd1461018d57806323b872dd1461019f578063313ce567146101b2575b5f80fd5b610154610345565b6040516101619190610b86565b60405180910390f35b61017d610178366004610bed565b6103d1565b6040519015158152602001610161565b6007545b604051908152602001610161565b61017d6101ad366004610c15565b6103e7565b6004546101bf9060ff1681565b60405160ff9091168152602001610161565b61017d6101df366004610c4e565b600d6020525f908152604090205460ff1681565b610191600b5481565b610191600a5481565b610191610213366004610c4e565b6001600160a01b03165f9081526005602052604090205490565b6102356104d0565b005b5f546001600160a01b03165b6040516001600160a01b039091168152602001610161565b610235610269366004610c67565b61051e565b61023561027c366004610ca0565b610584565b6101546105c8565b610235610297366004610ca0565b6105d5565b61017d6102aa366004610bed565b610612565b6102356102bd366004610ca0565b610632565b6102356102d0366004610c4e565b61066f565b61019160085481565b6102356102ec366004610ca0565b610708565b6101916102ff366004610cb7565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b61019160095481565b600c54610243906001600160a01b031681565b6002805461035290610ce8565b80601f016020809104026020016040519081016040528092919081815260200182805461037e90610ce8565b80156103c95780601f106103a0576101008083540402835291602001916103c9565b820191905f5260205f20905b8154815290600101906020018083116103ac57829003601f168201915b505050505081565b5f6103dd338484610745565b5060015b92915050565b5f6103f0610868565b6001600160a01b0384165f9081526006602090815260408083203384529091529020548211156104785760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104838484846108c1565b6001600160a01b0384165f908152600660209081526040808320338085529252909120546104bd9186916104b8908690610d34565b610745565b5060016104c960018055565b9392505050565b6104d8610b58565b5f80546040516001600160a01b03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a25f80546001600160a01b0319169055565b610526610b58565b6001600160a01b0382165f818152600d6020908152604091829020805460ff191685151590811790915591519182527f5a8cf666a272afd6dec6788d33967c676fffa92e289eee1b38172982c4b4914d910160405180910390a25050565b61058c610b58565b60088190556040518181527f8317c063fd753d4d18b5411ed5ac0035dadd87c03848a8fcb05fecd94959c596906020015b60405180910390a150565b6003805461035290610ce8565b6105dd610b58565b60098190556040518181527f5a6747b0e20f7e3fd096aa9f2031ad5c4e5e25ad8a1e3cff45b6de2e9e98f664906020016105bd565b5f61061b610868565b6106263384846108c1565b5060016103e160018055565b61063a610b58565b600b8190556040518181527f5402b638332e0b9f50790cd518469523556161c51a8add3adc008edb0b40c729906020016105bd565b610677610b58565b6001600160a01b0381166106bf5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161046f565b600c80546001600160a01b0319166001600160a01b0383169081179091556040517fc3cd203585fbc28dcc1692611d2ebc4190312a5b189047df793c69b157aa0d29905f90a250565b610710610b58565b600a8190556040518181527fe4e098f4df4cfec357f059a911974ecbde05871192974aa65eb3a67081e97d2c906020016105bd565b6001600160a01b0383166107a75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046f565b6001600160a01b0382166108085760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046f565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6002600154036108ba5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161046f565b6002600155565b6001600160a01b0382166109175760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420726563697069656e74206164647265737300000000000000604482015260640161046f565b6001600160a01b0383165f908152600d602052604081205460ff1615801561095757506001600160a01b0383165f908152600d602052604090205460ff16155b156109c657600c546001600160a01b0390811690841603610993576064600954836109829190610d47565b61098c9190610d5e565b90506109c6565b600c546001600160a01b03908116908516036109c6576064600854836109b99190610d47565b6109c39190610d5e565b90505b5f6109d18284610d34565b6001600160a01b0386165f908152600560205260409020549091506109f7908490610d34565b6001600160a01b038087165f908152600560205260408082209390935590861681522054610a26908290610d7d565b6001600160a01b038086165f8181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a799085815260200190565b60405180910390a38115610b51578160055f610a9c5f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f2054610ac69190610d7d565b60055f610ada5f546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f2055610b045f546001600160a01b031690565b6001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b4891815260200190565b60405180910390a35b5050505050565b5f546001600160a01b03163314610b845760405163118cdaa760e01b815233600482015260240161046f565b565b5f602080835283518060208501525f5b81811015610bb257858101830151858201604001528201610b96565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610be8575f80fd5b919050565b5f8060408385031215610bfe575f80fd5b610c0783610bd2565b946020939093013593505050565b5f805f60608486031215610c27575f80fd5b610c3084610bd2565b9250610c3e60208501610bd2565b9150604084013590509250925092565b5f60208284031215610c5e575f80fd5b6104c982610bd2565b5f8060408385031215610c78575f80fd5b610c8183610bd2565b915060208301358015158114610c95575f80fd5b809150509250929050565b5f60208284031215610cb0575f80fd5b5035919050565b5f8060408385031215610cc8575f80fd5b610cd183610bd2565b9150610cdf60208401610bd2565b90509250929050565b600181811c90821680610cfc57607f821691505b602082108103610d1a57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103e1576103e1610d20565b80820281158282048414176103e1576103e1610d20565b5f82610d7857634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103e1576103e1610d2056fea2646970667358221220f4d46c6a09155a860547063cfbe82bd80fd2558f5980afd2dac0dcdc91c79ef464736f6c63430008180033

Deployed Bytecode

0x608060405234801561000f575f80fd5b5060043610610148575f3560e01c80638ebfc796116100bf578063ae36f5c811610079578063ae36f5c8146102c2578063cc3fdd4c146102d5578063dd31ee2d146102de578063dd62ed3e146102f1578063e0d30d9b14610329578063f242ab4114610332575f80fd5b80638ebfc7961461025b578063950eb5d51461026e57806395d89b4114610281578063a2b8a94714610289578063a9059cbb1461029c578063a9bf2c09146102af575f80fd5b8063398daa8511610110578063398daa85146101d15780634f91e48c146101f3578063589210d9146101fc57806370a0823114610205578063715018a61461022d5780638da5cb5b14610237575f80fd5b806306fdde031461014c578063095ea7b31461016a57806318160ddd1461018d57806323b872dd1461019f578063313ce567146101b2575b5f80fd5b610154610345565b6040516101619190610b86565b60405180910390f35b61017d610178366004610bed565b6103d1565b6040519015158152602001610161565b6007545b604051908152602001610161565b61017d6101ad366004610c15565b6103e7565b6004546101bf9060ff1681565b60405160ff9091168152602001610161565b61017d6101df366004610c4e565b600d6020525f908152604090205460ff1681565b610191600b5481565b610191600a5481565b610191610213366004610c4e565b6001600160a01b03165f9081526005602052604090205490565b6102356104d0565b005b5f546001600160a01b03165b6040516001600160a01b039091168152602001610161565b610235610269366004610c67565b61051e565b61023561027c366004610ca0565b610584565b6101546105c8565b610235610297366004610ca0565b6105d5565b61017d6102aa366004610bed565b610612565b6102356102bd366004610ca0565b610632565b6102356102d0366004610c4e565b61066f565b61019160085481565b6102356102ec366004610ca0565b610708565b6101916102ff366004610cb7565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b61019160095481565b600c54610243906001600160a01b031681565b6002805461035290610ce8565b80601f016020809104026020016040519081016040528092919081815260200182805461037e90610ce8565b80156103c95780601f106103a0576101008083540402835291602001916103c9565b820191905f5260205f20905b8154815290600101906020018083116103ac57829003601f168201915b505050505081565b5f6103dd338484610745565b5060015b92915050565b5f6103f0610868565b6001600160a01b0384165f9081526006602090815260408083203384529091529020548211156104785760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6104838484846108c1565b6001600160a01b0384165f908152600660209081526040808320338085529252909120546104bd9186916104b8908690610d34565b610745565b5060016104c960018055565b9392505050565b6104d8610b58565b5f80546040516001600160a01b03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a25f80546001600160a01b0319169055565b610526610b58565b6001600160a01b0382165f818152600d6020908152604091829020805460ff191685151590811790915591519182527f5a8cf666a272afd6dec6788d33967c676fffa92e289eee1b38172982c4b4914d910160405180910390a25050565b61058c610b58565b60088190556040518181527f8317c063fd753d4d18b5411ed5ac0035dadd87c03848a8fcb05fecd94959c596906020015b60405180910390a150565b6003805461035290610ce8565b6105dd610b58565b60098190556040518181527f5a6747b0e20f7e3fd096aa9f2031ad5c4e5e25ad8a1e3cff45b6de2e9e98f664906020016105bd565b5f61061b610868565b6106263384846108c1565b5060016103e160018055565b61063a610b58565b600b8190556040518181527f5402b638332e0b9f50790cd518469523556161c51a8add3adc008edb0b40c729906020016105bd565b610677610b58565b6001600160a01b0381166106bf5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161046f565b600c80546001600160a01b0319166001600160a01b0383169081179091556040517fc3cd203585fbc28dcc1692611d2ebc4190312a5b189047df793c69b157aa0d29905f90a250565b610710610b58565b600a8190556040518181527fe4e098f4df4cfec357f059a911974ecbde05871192974aa65eb3a67081e97d2c906020016105bd565b6001600160a01b0383166107a75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161046f565b6001600160a01b0382166108085760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161046f565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6002600154036108ba5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161046f565b6002600155565b6001600160a01b0382166109175760405162461bcd60e51b815260206004820152601960248201527f496e76616c696420726563697069656e74206164647265737300000000000000604482015260640161046f565b6001600160a01b0383165f908152600d602052604081205460ff1615801561095757506001600160a01b0383165f908152600d602052604090205460ff16155b156109c657600c546001600160a01b0390811690841603610993576064600954836109829190610d47565b61098c9190610d5e565b90506109c6565b600c546001600160a01b03908116908516036109c6576064600854836109b99190610d47565b6109c39190610d5e565b90505b5f6109d18284610d34565b6001600160a01b0386165f908152600560205260409020549091506109f7908490610d34565b6001600160a01b038087165f908152600560205260408082209390935590861681522054610a26908290610d7d565b6001600160a01b038086165f8181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a799085815260200190565b60405180910390a38115610b51578160055f610a9c5f546001600160a01b031690565b6001600160a01b03166001600160a01b031681526020019081526020015f2054610ac69190610d7d565b60055f610ada5f546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f2055610b045f546001600160a01b031690565b6001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b4891815260200190565b60405180910390a35b5050505050565b5f546001600160a01b03163314610b845760405163118cdaa760e01b815233600482015260240161046f565b565b5f602080835283518060208501525f5b81811015610bb257858101830151858201604001528201610b96565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610be8575f80fd5b919050565b5f8060408385031215610bfe575f80fd5b610c0783610bd2565b946020939093013593505050565b5f805f60608486031215610c27575f80fd5b610c3084610bd2565b9250610c3e60208501610bd2565b9150604084013590509250925092565b5f60208284031215610c5e575f80fd5b6104c982610bd2565b5f8060408385031215610c78575f80fd5b610c8183610bd2565b915060208301358015158114610c95575f80fd5b809150509250929050565b5f60208284031215610cb0575f80fd5b5035919050565b5f8060408385031215610cc8575f80fd5b610cd183610bd2565b9150610cdf60208401610bd2565b90509250929050565b600181811c90821680610cfc57607f821691505b602082108103610d1a57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156103e1576103e1610d20565b80820281158282048414176103e1576103e1610d20565b5f82610d7857634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103e1576103e1610d2056fea2646970667358221220f4d46c6a09155a860547063cfbe82bd80fd2558f5980afd2dac0dcdc91c79ef464736f6c63430008180033

Deployed Bytecode Sourcemap

2730:5081:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2806:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5462:159;;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;5462:159:0;1004:187:1;7581:100:0;7661:12;;7581:100;;;1342:25:1;;;1330:2;1315:18;7581:100:0;1196:177:1;5629:380:0;;;;;;:::i;:::-;;:::i;2897:35::-;;;;;;;;;;;;1883:4:1;1871:17;;;1853:36;;1841:2;1826:18;2897:35:0;1711:184:1;3474:41:0;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3382:56;;;;;;3320:55;;;;;;7689:119;;;;;;:::i;:::-;-1:-1:-1;;;;;7782:18:0;7755:7;7782:18;;;:9;:18;;;;;;;7689:119;2000:134;;;:::i;:::-;;1731:87;1777:7;1804:6;-1:-1:-1;;;;;1804:6:0;1731:87;;;-1:-1:-1;;;;;2255:32:1;;;2237:51;;2225:2;2210:18;1731:87:0;2091:203:1;4949:168:0;;;;;;:::i;:::-;;:::i;4301:166::-;;;;;;:::i;:::-;;:::i;2852:38::-;;;:::i;4475:172::-;;;;;;:::i;:::-;;:::i;5125:178::-;;;;;;:::i;:::-;;:::i;4799:142::-;;;;;;:::i;:::-;;:::i;4102:191::-;;;;;;:::i;:::-;;:::i;3229:32::-;;;;;;4655:136;;;;;;:::i;:::-;;:::i;5311:143::-;;;;;;:::i;:::-;-1:-1:-1;;;;;5419:18:0;;;5392:7;5419:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5311:143;3274:33;;;;;;3445:22;;;;;-1:-1:-1;;;;;3445:22:0;;;2806:39;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5462:159::-;5537:4;5554:37;5563:10;5575:7;5584:6;5554:8;:37::i;:::-;-1:-1:-1;5609:4:0;5462:159;;;;;:::o;5629:380::-;5740:4;2406:21;:19;:21::i;:::-;-1:-1:-1;;;;;5765:19:0;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;5785:10:::1;5765:31:::0;;;;;;;;:41;-1:-1:-1;5765:41:0::1;5757:94;;;::::0;-1:-1:-1;;;5757:94:0;;3688:2:1;5757:94:0::1;::::0;::::1;3670:21:1::0;3727:2;3707:18;;;3700:30;3766:34;3746:18;;;3739:62;-1:-1:-1;;;3817:18:1;;;3810:38;3865:19;;5757:94:0::1;;;;;;;;;5862:36;5872:6;5880:9;5891:6;5862:9;:36::i;:::-;-1:-1:-1::0;;;;;5938:19:0;::::1;;::::0;;;:11:::1;:19;::::0;;;;;;;5926:10:::1;5938:31:::0;;;;;;;;;5909:70:::1;::::0;5918:6;;5938:40:::1;::::0;5972:6;;5938:40:::1;:::i;:::-;5909:8;:70::i;:::-;-1:-1:-1::0;5997:4:0::1;2450:20:::0;2222:1;2693:22;;2644:79;2450:20;5629:380;;;;;:::o;2000:134::-;1690:13;:11;:13::i;:::-;2089:6:::1;::::0;;2070:26:::1;::::0;-1:-1:-1;;;;;2089:6:0;;::::1;::::0;2070:26:::1;::::0;::::1;2124:1;2107:19:::0;;-1:-1:-1;;;;;;2107:19:0::1;::::0;;2000:134::o;4949:168::-;1690:13;:11;:13::i;:::-;-1:-1:-1;;;;;5033:18:0;::::1;;::::0;;;:9:::1;:18;::::0;;;;;;;;:29;;-1:-1:-1;;5033:29:0::1;::::0;::::1;;::::0;;::::1;::::0;;;5078:31;;1144:41:1;;;5078:31:0::1;::::0;1117:18:1;5078:31:0::1;;;;;;;4949:168:::0;;:::o;4301:166::-;1690:13;:11;:13::i;:::-;4381::::1;:30:::0;;;4427:32:::1;::::0;1342:25:1;;;4427:32:0::1;::::0;1330:2:1;1315:18;4427:32:0::1;;;;;;;;4301:166:::0;:::o;2852:38::-;;;;;;;:::i;4475:172::-;1690:13;:11;:13::i;:::-;4557:14:::1;:32:::0;;;4605:34:::1;::::0;1342:25:1;;;4605:34:0::1;::::0;1330:2:1;1315:18;4605:34:0::1;1196:177:1::0;5125:178:0;5216:4;2406:21;:19;:21::i;:::-;5233:40:::1;5243:10;5255:9;5266:6;5233:9;:40::i;:::-;-1:-1:-1::0;5291:4:0::1;2450:20:::0;2222:1;2693:22;;2644:79;4799:142;1690:13;:11;:13::i;:::-;4871:9:::1;:22:::0;;;4909:24:::1;::::0;1342:25:1;;;4909:24:0::1;::::0;1330:2:1;1315:18;4909:24:0::1;1196:177:1::0;4102:191:0;1690:13;:11;:13::i;:::-;-1:-1:-1;;;;;4178:22:0;::::1;4170:50;;;::::0;-1:-1:-1;;;4170:50:0;;4362:2:1;4170:50:0::1;::::0;::::1;4344:21:1::0;4401:2;4381:18;;;4374:30;-1:-1:-1;;;4420:18:1;;;4413:45;4475:18;;4170:50:0::1;4160:339:1::0;4170:50:0::1;4231:7;:18:::0;;-1:-1:-1;;;;;;4231:18:0::1;-1:-1:-1::0;;;;;4231:18:0;::::1;::::0;;::::1;::::0;;;4265:20:::1;::::0;::::1;::::0;-1:-1:-1;;4265:20:0::1;4102:191:::0;:::o;4655:136::-;1690:13;:11;:13::i;:::-;4725:8:::1;:20:::0;;;4761:22:::1;::::0;1342:25:1;;;4761:22:0::1;::::0;1330:2:1;1315:18;4761:22:0::1;1196:177:1::0;6959:338:0;-1:-1:-1;;;;;7053:19:0;;7045:68;;;;-1:-1:-1;;;7045:68:0;;4706:2:1;7045:68:0;;;4688:21:1;4745:2;4725:18;;;4718:30;4784:34;4764:18;;;4757:62;-1:-1:-1;;;4835:18:1;;;4828:34;4879:19;;7045:68:0;4504:400:1;7045:68:0;-1:-1:-1;;;;;7132:21:0;;7124:68;;;;-1:-1:-1;;;7124:68:0;;5111:2:1;7124:68:0;;;5093:21:1;5150:2;5130:18;;;5123:30;5189:34;5169:18;;;5162:62;-1:-1:-1;;;5240:18:1;;;5233:32;5282:19;;7124:68:0;4909:398:1;7124:68:0;-1:-1:-1;;;;;7205:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7257:32;;1342:25:1;;;7257:32:0;;1315:18:1;7257:32:0;;;;;;;6959:338;;;:::o;2486:150::-;2266:1;2544:7;;:19;2536:63;;;;-1:-1:-1;;;2536:63:0;;5514:2:1;2536:63:0;;;5496:21:1;5553:2;5533:18;;;5526:30;5592:33;5572:18;;;5565:61;5643:18;;2536:63:0;5312:355:1;2536:63:0;2266:1;2610:7;:18;2486:150::o;6017:934::-;-1:-1:-1;;;;;6115:23:0;;6107:61;;;;-1:-1:-1;;;6107:61:0;;5874:2:1;6107:61:0;;;5856:21:1;5913:2;5893:18;;;5886:30;5952:27;5932:18;;;5925:55;5997:18;;6107:61:0;5672:349:1;6107:61:0;-1:-1:-1;;;;;6260:17:0;;6181;6260;;;:9;:17;;;;;;;;6259:18;:43;;;;-1:-1:-1;;;;;;6282:20:0;;;;;;:9;:20;;;;;;;;6281:21;6259:43;6255:281;;;6336:7;;-1:-1:-1;;;;;6336:7:0;;;6323:20;;;;6319:206;;6402:3;6385:14;;6376:6;:23;;;;:::i;:::-;:29;;;;:::i;:::-;6364:41;;6319:206;;;6441:7;;-1:-1:-1;;;;;6441:7:0;;;6431:17;;;;6427:98;;6506:3;6490:13;;6481:6;:22;;;;:::i;:::-;:28;;;;:::i;:::-;6469:40;;6427:98;6548:22;6573:18;6582:9;6573:6;:18;:::i;:::-;-1:-1:-1;;;;;6622:17:0;;;;;;:9;:17;;;;;;6548:43;;-1:-1:-1;6622:26:0;;6642:6;;6622:26;:::i;:::-;-1:-1:-1;;;;;6602:17:0;;;;;;;:9;:17;;;;;;:46;;;;6682:20;;;;;;;:37;;6705:14;;6682:37;:::i;:::-;-1:-1:-1;;;;;6659:20:0;;;;;;;:9;:20;;;;;;;:60;;;;6735:43;;;;;;;;;;6763:14;1342:25:1;;1330:2;1315:18;;1196:177;6735:43:0;;;;;;;;6795:13;;6791:153;;6867:9;6846;:18;6856:7;1777;1804:6;-1:-1:-1;;;;;1804:6:0;;1731:87;6856:7;-1:-1:-1;;;;;6846:18:0;-1:-1:-1;;;;;6846:18:0;;;;;;;;;;;;;:30;;;;:::i;:::-;6825:9;:18;6835:7;1777;1804:6;-1:-1:-1;;;;;1804:6:0;;1731:87;6835:7;-1:-1:-1;;;;;6825:18:0;;;;;;;;;;;;-1:-1:-1;6825:18:0;:51;6913:7;1777;1804:6;-1:-1:-1;;;;;1804:6:0;;1731:87;6913:7;-1:-1:-1;;;;;6896:36:0;6905:6;-1:-1:-1;;;;;6896:36:0;;6922:9;6896:36;;;;1342:25:1;;1330:2;1315:18;;1196:177;6896:36:0;;;;;;;;6791:153;6096:855;;6017:934;;;:::o;1826:166::-;1777:7;1804:6;-1:-1:-1;;;;;1804:6:0;1055:10;1886:23;1882:103;;1933:40;;-1:-1:-1;;;1933:40:0;;1055:10;1933:40;;;2237:51:1;2210:18;;1933:40:0;2091:203:1;1882:103:0;1826:166::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;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;3101:380::-;3180:1;3176:12;;;;3223;;;3244:61;;3298:4;3290:6;3286:17;3276:27;;3244:61;3351:2;3343:6;3340:14;3320:18;3317:38;3314:161;;3397:10;3392:3;3388:20;3385:1;3378:31;3432:4;3429:1;3422:15;3460:4;3457:1;3450:15;3314:161;;3101:380;;;:::o;3895:127::-;3956:10;3951:3;3947:20;3944:1;3937:31;3987:4;3984:1;3977:15;4011:4;4008:1;4001:15;4027:128;4094:9;;;4115:11;;;4112:37;;;4129:18;;:::i;6026:168::-;6099:9;;;6130;;6147:15;;;6141:22;;6127:37;6117:71;;6168:18;;:::i;6199:217::-;6239:1;6265;6255:132;;6309:10;6304:3;6300:20;6297:1;6290:31;6344:4;6341:1;6334:15;6372:4;6369:1;6362:15;6255:132;-1:-1:-1;6401:9:1;;6199:217::o;6421:125::-;6486:9;;;6507:10;;;6504:36;;;6520:18;;:::i

Swarm Source

ipfs://f4d46c6a09155a860547063cfbe82bd80fd2558f5980afd2dac0dcdc91c79ef4

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.