MATIC Price: $1.02 (-0.73%)
Gas: 98 GWei
 

Overview

MATIC Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 MATIC

MATIC Value

$0.00

Sponsored

Transaction Hash
Method
Block
From
To
Value
Mint With Proof ...359916252022-11-24 3:01:23462 days 22 hrs ago1669258883IN
0x85E330...1C2Cb039
0 MATIC0.0041534631.54187452
Mint With Proof ...344872502022-10-18 6:26:29499 days 19 hrs ago1666074389IN
0x85E330...1C2Cb039
0 MATIC0.0108071582.73799138
Mint With Proof ...338691872022-10-03 7:11:21514 days 18 hrs ago1664781081IN
0x85E330...1C2Cb039
0 MATIC0.0044323530.00000003
Mint With Proof ...335446922022-09-25 10:13:38522 days 15 hrs ago1664100818IN
0x85E330...1C2Cb039
0 MATIC0.0045378730.1088
Mint With Proof ...335445592022-09-25 10:09:04522 days 15 hrs ago1664100544IN
0x85E330...1C2Cb039
0 MATIC0.0044639730.00000001
Mint With Proof ...335444982022-09-25 10:06:58522 days 15 hrs ago1664100418IN
0x85E330...1C2Cb039
0 MATIC0.0039596430.06999999
Mint With Proof ...335389752022-09-25 6:54:32522 days 19 hrs ago1664088872IN
0x85E330...1C2Cb039
0 MATIC0.0040188530.07
Mint With Proof ...299963102022-06-25 22:16:54614 days 3 hrs ago1656195414IN
0x85E330...1C2Cb039
0 MATIC0.0039195330.00000006
Mint With Proof ...299082752022-06-23 13:44:07616 days 12 hrs ago1655991847IN
0x85E330...1C2Cb039
0 MATIC0.0039466230.00000007
Mint With Proof ...298651862022-06-22 11:09:33617 days 14 hrs ago1655896173IN
0x85E330...1C2Cb039
0 MATIC0.0011675130.00000001
Mint With Proof ...298651672022-06-22 11:08:55617 days 14 hrs ago1655896135IN
0x85E330...1C2Cb039
0 MATIC0.0041805732.01000001
Mint With Proof ...297195752022-06-18 15:30:15621 days 10 hrs ago1655566215IN
0x85E330...1C2Cb039
0 MATIC0.0046758431.04995913
Mint With Proof ...294871532022-06-12 18:31:50627 days 7 hrs ago1655058710IN
0x85E330...1C2Cb039
0 MATIC0.003916230.00000001
Mint With Proof ...291312762022-06-03 22:31:05636 days 3 hrs ago1654295465IN
0x85E330...1C2Cb039
0 MATIC0.0065221649.21679251
Mint With Proof ...289915562022-05-31 12:07:32639 days 13 hrs ago1653998852IN
0x85E330...1C2Cb039
0 MATIC0.003926630.07
Mint With Proof ...288101062022-05-26 23:29:01644 days 2 hrs ago1653607741IN
0x85E330...1C2Cb039
0 MATIC0.0039901930.57246001
Mint With Proof ...288043942022-05-26 19:53:20644 days 6 hrs ago1653594800IN
0x85E330...1C2Cb039
0 MATIC0.0046942731.36980029
Deposit287712792022-05-25 23:55:16645 days 2 hrs ago1653522916IN
0x85E330...1C2Cb039
0 MATIC0.0039890335.27811966
Deposit287215812022-05-24 18:13:00646 days 7 hrs ago1653415980IN
0x85E330...1C2Cb039
0 MATIC0.0040510735.8343326
Deposit286966092022-05-24 3:45:35646 days 22 hrs ago1653363935IN
0x85E330...1C2Cb039
0 MATIC0.0052545530.41920014
0x60806040286963182022-05-24 3:34:25646 days 22 hrs ago1653363265IN
 Create: ForgeAirdrop
0 MATIC0.0501979432.50000002

Parent Txn Hash Block From To Value
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ForgeAirdrop

Compiler Version
v0.8.14+commit.80d49f37

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at polygonscan.com on 2022-05-24
*/

// Forge Airdrop Contract
// https://airdrop.forgetoken.org
// Claim up to 100, 30 or 10 Forge in this new twist on airdrops! 
// The longer you wait the more your claim unlocks, but dont let the contract run dry without claiming!
// Allows contract to be recharged by anyone to restart the Airdrop!

library MerkleProof {
    /**
     * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree
     * defined by `root`. For this, a `proof` must be provided, containing
     * sibling hashes on the branch from the leaf to the root of the tree. Each
     * pair of leaves and each pair of pre-images are assumed to be sorted.
     */
    function verify(
        bytes32[] memory proof,
        bytes32 root,
        bytes32 leaf
    ) internal pure returns (bool) {
        bytes32 computedHash = leaf;

        for (uint256 i = 0; i < proof.length; i++) {
            bytes32 proofElement = proof[i];           

            if (computedHash <= proofElement) {
                // Hash(current computed hash + current element of the proof)
                computedHash = keccak256(abi.encodePacked(computedHash, proofElement));
            } else {
                // Hash(current element of the proof + current computed hash)
                computedHash = keccak256(abi.encodePacked(proofElement, computedHash));
            }
        }

        // Check if the computed hash (root) is equal to the provided root
        return computedHash == root;
    }
}


 interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}



contract ForgeGuess{
    function balanceOf(address account) public view returns (uint256) {}
    uint256 public unreleased;
    uint256 public totalSupply;
    function stakeFor(address forWhom, uint256 amount) public virtual {}
    function withdraw(uint256 amount, uint256 maxLoss) public virtual {}
    
    function withEstimator(uint256 amountOut) public view returns (uint256) {}
    }



contract ForgeAirdrop {
    
    
    address public ForgeTokenAddress = address(0xF44fB43066F7ECC91058E3A614Fb8A15A2735276);
    address public ForgeGuessContractAddress = address(0xbB9C55d014Ce22782374180f7525B0B05Eb152a2);
    bytes32 [] public _merkleRootAll;
    bytes32 internal _merkleRootTop = 0xdd82af2bc4b721bfd5be08111d4f422fd07d1578a0072d6701f26ea4fff33845;
    bytes32 internal _merkleRootMid = 0x15893a9b8d3638149dd9461fde79f589e565a2fc76a861ec1aebb83736151566;
    bytes32 internal _merkleRootBot = 0x316b4323ca91ba63304a4e0ada24b09f8689ac1f80aca8e9d5c4213fc9ba7848;
                                         
    uint256 [] public amtClaim;
    uint256 internal nextTokenId = 0;
    mapping(address => bool) public hasClaimed;
    uint256 public decay = 24* 60 * 60 * 30;

    uint256 public starttime = block.timestamp;
    

    constructor()  {
        _merkleRootAll.push(_merkleRootTop);
        _merkleRootAll.push(_merkleRootMid);
        _merkleRootAll.push(_merkleRootBot);
        amtClaim.push(1000000000000);
        amtClaim.push(100000000);
        amtClaim.push(100000);
    }  

 

    function deposit(uint amt) public returns (bool success){


        require(amt > ForgeGuess(ForgeGuessContractAddress).withEstimator(ForgeGuess(ForgeGuessContractAddress).balanceOf(address(this))), "must be greater than previous total to reset");
        require(IERC20(ForgeTokenAddress).transferFrom(msg.sender, address(this), amt), "transfer fail");
        starttime = block.timestamp;
        IERC20(ForgeTokenAddress).approve(ForgeGuessContractAddress, 999999999999999999999999999999999999999999999999999);
        ForgeGuess(ForgeGuessContractAddress).stakeFor(address(this), amt);
        uint x = perfect();
        amtClaim[0] = x * 10;
        amtClaim[1] = x * 3;
        amtClaim[2] = x * 1;

        return true;
    }


    function Donation(uint amt) public returns (bool success){ 

        if(amt > ForgeGuess(ForgeGuessContractAddress).withEstimator(ForgeGuess(ForgeGuessContractAddress).balanceOf(address(this)))){

            deposit(amt);

        }else{

            require(IERC20(ForgeTokenAddress).transferFrom(msg.sender, address(this), amt), "transfer fail");
            IERC20(ForgeTokenAddress).approve(ForgeGuessContractAddress, 999999999999999999999999999999999999999999999999999);
            ForgeGuess(ForgeGuessContractAddress).stakeFor(address(this), amt);

        }

        return true;
    }


    function perfect() public view returns (uint256 amtz){
        
        uint256 test = (10 * 10 ** 18 * 1000) / ((975 * (IERC20(address(ForgeTokenAddress)).balanceOf(ForgeGuessContractAddress) - ForgeGuess(ForgeGuessContractAddress).unreleased() ) / ForgeGuess(ForgeGuessContractAddress).totalSupply()));


        return test;
    }


    function amtOutForChoiceInForge(uint choice) public view returns (uint256 out){

        return ForgeGuess(ForgeGuessContractAddress).withEstimator(amountOut(choice));
    }


    function amountOut(uint choice) public view returns (uint256 amt2){
        uint256 timeDiff = block.timestamp - starttime;
        if(timeDiff > decay){
            timeDiff = decay;
        }
        amt2 = 0;
        if(choice == 0){
           amt2 = (amtClaim[0] * timeDiff) / decay;
        }else if(choice ==1){
            amt2 = (amtClaim[1] * timeDiff) / decay;
        }else if(choice ==2){
            amt2 = (amtClaim[2] * timeDiff) / decay;
        }
        uint balOfUs = ForgeGuess(ForgeGuessContractAddress).balanceOf(address(this));
        if(amt2 > balOfUs){
            return balOfUs;
        }
        return amt2;
   }
   

    function mintWithProofTop(bytes32[] memory merkleProof ) public {
    
        
        require( MerkleProof.verify(merkleProof, _merkleRootTop, keccak256( abi.encodePacked(msg.sender)) ) , 'proof failure');

        require(hasClaimed[msg.sender] == false, 'already claimed');

        hasClaimed[msg.sender]=true;
        
        IERC20(ForgeTokenAddress).transfer(msg.sender,  amountOut(1));
    }
    
    function mintWithProofMid(bytes32[] memory merkleProof ) public {
 
        require( MerkleProof.verify(merkleProof, _merkleRootMid, keccak256( abi.encodePacked(msg.sender)) ) , 'proof failure');

        require(hasClaimed[msg.sender] == false, 'already claimed');

        hasClaimed[msg.sender]=true;
        
        IERC20(ForgeTokenAddress).transfer(msg.sender,  amountOut(2));
    }
    //0= 0%-10%, 1= 10%-40%, 2= 50%-90%
    function mintWithProofALL(bytes32[] memory merkleProof, uint claim, uint maxLoss ) public {
 
        require( verify(merkleProof, msg.sender, claim)  , 'proof failure');

        require(hasClaimed[msg.sender] == false, 'already claimed');

        hasClaimed[msg.sender]=true;
        
        ForgeGuess(ForgeGuessContractAddress).withdraw(amountOut(claim), maxLoss);
        require(IERC20(ForgeTokenAddress).transfer(msg.sender, IERC20(ForgeTokenAddress).balanceOf(address(this))), "contract may be out of funds");
    }

    //verify claim
    function verify(bytes32[] memory merkleProof, address claimer, uint claim)public view returns (bool ver){
    if(claim == 0){
    
        return MerkleProof.verify(merkleProof, _merkleRootAll[0], keccak256( abi.encodePacked(claimer)));
    }else if(claim ==1 ){

        return MerkleProof.verify(merkleProof, _merkleRootAll[1], keccak256( abi.encodePacked(claimer)));
    }else if(claim == 2){
    
        return MerkleProof.verify(merkleProof, _merkleRootAll[2], keccak256( abi.encodePacked(claimer)));
    }
    return false;
    }
    
    
    function getThree() public view returns (uint256) {

            return  block.timestamp - starttime;
    }
    

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"Donation","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"ForgeGuessContractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ForgeTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_merkleRootAll","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"choice","type":"uint256"}],"name":"amountOut","outputs":[{"internalType":"uint256","name":"amt2","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"amtClaim","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"choice","type":"uint256"}],"name":"amtOutForChoiceInForge","outputs":[{"internalType":"uint256","name":"out","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amt","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getThree","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"hasClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"},{"internalType":"uint256","name":"claim","type":"uint256"},{"internalType":"uint256","name":"maxLoss","type":"uint256"}],"name":"mintWithProofALL","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"}],"name":"mintWithProofMid","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"}],"name":"mintWithProofTop","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"perfect","outputs":[{"internalType":"uint256","name":"amtz","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"starttime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"},{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"claim","type":"uint256"}],"name":"verify","outputs":[{"internalType":"bool","name":"ver","type":"bool"}],"stateMutability":"view","type":"function"}]

6080604052600080546001600160a01b031990811673f44fb43066f7ecc91058e3a614fb8a15a27352761782556001805490911673bb9c55d014ce22782374180f7525b0b05eb152a21790557fdd82af2bc4b721bfd5be08111d4f422fd07d1578a0072d6701f26ea4fff338456003557f15893a9b8d3638149dd9461fde79f589e565a2fc76a861ec1aebb837361515666004557f316b4323ca91ba63304a4e0ada24b09f8689ac1f80aca8e9d5c4213fc9ba784860055560075562278d0060095542600a553480156100d157600080fd5b5060035460028054600181810183557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace91820193909355600454825480850184558201556005548254808501909355910155600680548083018255600082905264e8d4a510007ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f91820155815480840183556305f5e100908201558154928301909155620186a09101556114d18061018a6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806373b2e80e116100a25780638da58897116100715780638da5889714610221578063b6b55f251461022a578063d49b92161461023d578063f14ddabf14610250578063f5f21aca1461026357600080fd5b806373b2e80e146101ce57806375c53c04146101f157806375fe9fba146102065780638912ed0b1461021957600080fd5b80634ad6d3cd116100de5780634ad6d3cd1461017457806354fac919146101875780636013846014610190578063647e03b7146101bb57600080fd5b806304b38ce0146101105780630e2f5fb314610138578063290812c21461014e5780632d8590c714610161575b600080fd5b61012361011e36600461125d565b610276565b60405190151581526020015b60405180910390f35b610140610333565b60405190815260200161012f565b61014061015c3660046112b4565b610348565b61014061016f3660046112b4565b610369565b6101236101823660046112b4565b6103eb565b61014060095481565b6001546101a3906001600160a01b031681565b6040516001600160a01b03909116815260200161012f565b6000546101a3906001600160a01b031681565b6101236101dc3660046112cd565b60086020526000908152604090205460ff1681565b6102046101ff3660046112e8565b61068d565b005b6101406102143660046112b4565b6107a8565b6101406108fb565b610140600a5481565b6101236102383660046112b4565b610a90565b61014061024b3660046112b4565b610e0b565b61020461025e3660046112e8565b610e1b565b610204610271366004611325565b610ec6565b6000816000036102e9576102e284600260008154811061029857610298611373565b9060005260206000200154856040516020016102c7919060609190911b6001600160601b031916815260140190565b604051602081830303815290604052805190602001206110e1565b905061032c565b81600103610309576102e284600260018154811061029857610298611373565b81600203610328576102e2846002808154811061029857610298611373565b5060005b9392505050565b6000600a5442610343919061139f565b905090565b6006818154811061035857600080fd5b600091825260209091200154905081565b6001546000906001600160a01b031663afcf89aa610386846107a8565b6040518263ffffffff1660e01b81526004016103a491815260200190565b602060405180830381865afa1580156103c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e591906113b6565b92915050565b6001546040516370a0823160e01b81523060048201526000916001600160a01b03169063afcf89aa9082906370a0823190602401602060405180830381865afa15801561043c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046091906113b6565b6040518263ffffffff1660e01b815260040161047e91815260200190565b602060405180830381865afa15801561049b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bf91906113b6565b8211156104d5576104cf82610a90565b50610685565b6000546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561052c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055091906113cf565b6105915760405162461bcd60e51b815260206004820152600d60248201526c1d1c985b9cd9995c8819985a5b609a1b60448201526064015b60405180910390fd5b60005460015460405163095ea7b360e01b81526001600160a01b0391821660048201527502ac3a4edbbfb8014e3ba83411e915e7ffffffffffff602482015291169063095ea7b3906044016020604051808303816000875af11580156105fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061f91906113cf565b506001546040516305dc812160e31b8152306004820152602481018490526001600160a01b0390911690632ee4090890604401600060405180830381600087803b15801561066c57600080fd5b505af1158015610680573d6000803e3d6000fd5b505050505b506001919050565b6004546040516001600160601b03193360601b1660208201526106b49183916034016102c7565b6106d05760405162461bcd60e51b8152600401610588906113f1565b3360009081526008602052604090205460ff16156107005760405162461bcd60e51b815260040161058890611418565b336000818152600860205260408120805460ff19166001179055546001600160a01b03169063a9059cbb9061073560026107a8565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610780573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a491906113cf565b5050565b600080600a54426107b9919061139f565b90506009548111156107ca57506009545b6000915082600003610814576009548160066000815481106107ee576107ee611373565b90600052602060002001546108039190611441565b61080d9190611460565b9150610876565b82600103610834576009548160066001815481106107ee576107ee611373565b826002036108765760095481600660028154811061085457610854611373565b90600052602060002001546108699190611441565b6108739190611460565b91505b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156108bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e391906113b6565b9050808311156108f4579392505050565b5050919050565b600080600160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610951573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097591906113b6565b600160009054906101000a90046001600160a01b03166001600160a01b031663f03d66726040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ec91906113b6565b6000546001546040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015610a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5c91906113b6565b610a66919061139f565b610a72906103cf611441565b610a7c9190611460565b6103e59069021e19e0c9bab2400000611460565b6001546040516370a0823160e01b81523060048201526000916001600160a01b03169063afcf89aa9082906370a0823190602401602060405180830381865afa158015610ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0591906113b6565b6040518263ffffffff1660e01b8152600401610b2391815260200190565b602060405180830381865afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6491906113b6565b8211610bc75760405162461bcd60e51b815260206004820152602c60248201527f6d7573742062652067726561746572207468616e2070726576696f757320746f60448201526b1d185b081d1bc81c995cd95d60a21b6064820152608401610588565b6000546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4291906113cf565b610c7e5760405162461bcd60e51b815260206004820152600d60248201526c1d1c985b9cd9995c8819985a5b609a1b6044820152606401610588565b42600a5560005460015460405163095ea7b360e01b81526001600160a01b0391821660048201527502ac3a4edbbfb8014e3ba83411e915e7ffffffffffff602482015291169063095ea7b3906044016020604051808303816000875af1158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1091906113cf565b506001546040516305dc812160e31b8152306004820152602481018490526001600160a01b0390911690632ee4090890604401600060405180830381600087803b158015610d5d57600080fd5b505af1158015610d71573d6000803e3d6000fd5b505050506000610d7f6108fb565b9050610d8c81600a611441565b6006600081548110610da057610da0611373565b600091825260209091200155610db7816003611441565b6006600181548110610dcb57610dcb611373565b600091825260209091200155610de2816001611441565b6006600281548110610df657610df6611373565b60009182526020909120015550600192915050565b6002818154811061035857600080fd5b6003546040516001600160601b03193360601b166020820152610e429183916034016102c7565b610e5e5760405162461bcd60e51b8152600401610588906113f1565b3360009081526008602052604090205460ff1615610e8e5760405162461bcd60e51b815260040161058890611418565b336000818152600860205260408120805460ff1916600190811790915590546001600160a01b03169163a9059cbb91610735906107a8565b610ed1833384610276565b610eed5760405162461bcd60e51b8152600401610588906113f1565b3360009081526008602052604090205460ff1615610f1d5760405162461bcd60e51b815260040161058890611418565b336000908152600860205260409020805460ff19166001908117909155546001600160a01b031663441a3e70610f52846107a8565b836040518363ffffffff1660e01b8152600401610f79929190918252602082015260400190565b600060405180830381600087803b158015610f9357600080fd5b505af1158015610fa7573d6000803e3d6000fd5b50506000546040516370a0823160e01b81523060048201526001600160a01b03909116925063a9059cbb9150339083906370a0823190602401602060405180830381865afa158015610ffd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102191906113b6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561106c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109091906113cf565b6110dc5760405162461bcd60e51b815260206004820152601c60248201527f636f6e7472616374206d6179206265206f7574206f662066756e6473000000006044820152606401610588565b505050565b600081815b855181101561118557600086828151811061110357611103611373565b60200260200101519050808311611145576040805160208101859052908101829052606001604051602081830303815290604052805190602001209250611172565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b508061117d81611482565b9150506110e6565b509092149392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126111b757600080fd5b8135602067ffffffffffffffff808311156111d4576111d4611190565b8260051b604051601f19603f830116810181811084821117156111f9576111f9611190565b60405293845285810183019383810192508785111561121757600080fd5b83870191505b848210156112365781358352918301919083019061121d565b979650505050505050565b80356001600160a01b038116811461125857600080fd5b919050565b60008060006060848603121561127257600080fd5b833567ffffffffffffffff81111561128957600080fd5b611295868287016111a6565b9350506112a460208501611241565b9150604084013590509250925092565b6000602082840312156112c657600080fd5b5035919050565b6000602082840312156112df57600080fd5b61032c82611241565b6000602082840312156112fa57600080fd5b813567ffffffffffffffff81111561131157600080fd5b61131d848285016111a6565b949350505050565b60008060006060848603121561133a57600080fd5b833567ffffffffffffffff81111561135157600080fd5b61135d868287016111a6565b9660208601359650604090950135949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156113b1576113b1611389565b500390565b6000602082840312156113c857600080fd5b5051919050565b6000602082840312156113e157600080fd5b8151801515811461032c57600080fd5b6020808252600d908201526c70726f6f66206661696c75726560981b604082015260600190565b6020808252600f908201526e185b1c9958591e4818db185a5b5959608a1b604082015260600190565b600081600019048311821515161561145b5761145b611389565b500290565b60008261147d57634e487b7160e01b600052601260045260246000fd5b500490565b60006001820161149457611494611389565b506001019056fea264697066735822122037000f07486ed2628af536e264c2c446d12caa34325247e83ff74d7770a31e2264736f6c634300080e0033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806373b2e80e116100a25780638da58897116100715780638da5889714610221578063b6b55f251461022a578063d49b92161461023d578063f14ddabf14610250578063f5f21aca1461026357600080fd5b806373b2e80e146101ce57806375c53c04146101f157806375fe9fba146102065780638912ed0b1461021957600080fd5b80634ad6d3cd116100de5780634ad6d3cd1461017457806354fac919146101875780636013846014610190578063647e03b7146101bb57600080fd5b806304b38ce0146101105780630e2f5fb314610138578063290812c21461014e5780632d8590c714610161575b600080fd5b61012361011e36600461125d565b610276565b60405190151581526020015b60405180910390f35b610140610333565b60405190815260200161012f565b61014061015c3660046112b4565b610348565b61014061016f3660046112b4565b610369565b6101236101823660046112b4565b6103eb565b61014060095481565b6001546101a3906001600160a01b031681565b6040516001600160a01b03909116815260200161012f565b6000546101a3906001600160a01b031681565b6101236101dc3660046112cd565b60086020526000908152604090205460ff1681565b6102046101ff3660046112e8565b61068d565b005b6101406102143660046112b4565b6107a8565b6101406108fb565b610140600a5481565b6101236102383660046112b4565b610a90565b61014061024b3660046112b4565b610e0b565b61020461025e3660046112e8565b610e1b565b610204610271366004611325565b610ec6565b6000816000036102e9576102e284600260008154811061029857610298611373565b9060005260206000200154856040516020016102c7919060609190911b6001600160601b031916815260140190565b604051602081830303815290604052805190602001206110e1565b905061032c565b81600103610309576102e284600260018154811061029857610298611373565b81600203610328576102e2846002808154811061029857610298611373565b5060005b9392505050565b6000600a5442610343919061139f565b905090565b6006818154811061035857600080fd5b600091825260209091200154905081565b6001546000906001600160a01b031663afcf89aa610386846107a8565b6040518263ffffffff1660e01b81526004016103a491815260200190565b602060405180830381865afa1580156103c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e591906113b6565b92915050565b6001546040516370a0823160e01b81523060048201526000916001600160a01b03169063afcf89aa9082906370a0823190602401602060405180830381865afa15801561043c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046091906113b6565b6040518263ffffffff1660e01b815260040161047e91815260200190565b602060405180830381865afa15801561049b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104bf91906113b6565b8211156104d5576104cf82610a90565b50610685565b6000546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd906064016020604051808303816000875af115801561052c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055091906113cf565b6105915760405162461bcd60e51b815260206004820152600d60248201526c1d1c985b9cd9995c8819985a5b609a1b60448201526064015b60405180910390fd5b60005460015460405163095ea7b360e01b81526001600160a01b0391821660048201527502ac3a4edbbfb8014e3ba83411e915e7ffffffffffff602482015291169063095ea7b3906044016020604051808303816000875af11580156105fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061f91906113cf565b506001546040516305dc812160e31b8152306004820152602481018490526001600160a01b0390911690632ee4090890604401600060405180830381600087803b15801561066c57600080fd5b505af1158015610680573d6000803e3d6000fd5b505050505b506001919050565b6004546040516001600160601b03193360601b1660208201526106b49183916034016102c7565b6106d05760405162461bcd60e51b8152600401610588906113f1565b3360009081526008602052604090205460ff16156107005760405162461bcd60e51b815260040161058890611418565b336000818152600860205260408120805460ff19166001179055546001600160a01b03169063a9059cbb9061073560026107a8565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015610780573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a491906113cf565b5050565b600080600a54426107b9919061139f565b90506009548111156107ca57506009545b6000915082600003610814576009548160066000815481106107ee576107ee611373565b90600052602060002001546108039190611441565b61080d9190611460565b9150610876565b82600103610834576009548160066001815481106107ee576107ee611373565b826002036108765760095481600660028154811061085457610854611373565b90600052602060002001546108699190611441565b6108739190611460565b91505b6001546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156108bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e391906113b6565b9050808311156108f4579392505050565b5050919050565b600080600160009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610951573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097591906113b6565b600160009054906101000a90046001600160a01b03166001600160a01b031663f03d66726040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ec91906113b6565b6000546001546040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015610a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5c91906113b6565b610a66919061139f565b610a72906103cf611441565b610a7c9190611460565b6103e59069021e19e0c9bab2400000611460565b6001546040516370a0823160e01b81523060048201526000916001600160a01b03169063afcf89aa9082906370a0823190602401602060405180830381865afa158015610ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0591906113b6565b6040518263ffffffff1660e01b8152600401610b2391815260200190565b602060405180830381865afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6491906113b6565b8211610bc75760405162461bcd60e51b815260206004820152602c60248201527f6d7573742062652067726561746572207468616e2070726576696f757320746f60448201526b1d185b081d1bc81c995cd95d60a21b6064820152608401610588565b6000546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610c1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4291906113cf565b610c7e5760405162461bcd60e51b815260206004820152600d60248201526c1d1c985b9cd9995c8819985a5b609a1b6044820152606401610588565b42600a5560005460015460405163095ea7b360e01b81526001600160a01b0391821660048201527502ac3a4edbbfb8014e3ba83411e915e7ffffffffffff602482015291169063095ea7b3906044016020604051808303816000875af1158015610cec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1091906113cf565b506001546040516305dc812160e31b8152306004820152602481018490526001600160a01b0390911690632ee4090890604401600060405180830381600087803b158015610d5d57600080fd5b505af1158015610d71573d6000803e3d6000fd5b505050506000610d7f6108fb565b9050610d8c81600a611441565b6006600081548110610da057610da0611373565b600091825260209091200155610db7816003611441565b6006600181548110610dcb57610dcb611373565b600091825260209091200155610de2816001611441565b6006600281548110610df657610df6611373565b60009182526020909120015550600192915050565b6002818154811061035857600080fd5b6003546040516001600160601b03193360601b166020820152610e429183916034016102c7565b610e5e5760405162461bcd60e51b8152600401610588906113f1565b3360009081526008602052604090205460ff1615610e8e5760405162461bcd60e51b815260040161058890611418565b336000818152600860205260408120805460ff1916600190811790915590546001600160a01b03169163a9059cbb91610735906107a8565b610ed1833384610276565b610eed5760405162461bcd60e51b8152600401610588906113f1565b3360009081526008602052604090205460ff1615610f1d5760405162461bcd60e51b815260040161058890611418565b336000908152600860205260409020805460ff19166001908117909155546001600160a01b031663441a3e70610f52846107a8565b836040518363ffffffff1660e01b8152600401610f79929190918252602082015260400190565b600060405180830381600087803b158015610f9357600080fd5b505af1158015610fa7573d6000803e3d6000fd5b50506000546040516370a0823160e01b81523060048201526001600160a01b03909116925063a9059cbb9150339083906370a0823190602401602060405180830381865afa158015610ffd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061102191906113b6565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561106c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061109091906113cf565b6110dc5760405162461bcd60e51b815260206004820152601c60248201527f636f6e7472616374206d6179206265206f7574206f662066756e6473000000006044820152606401610588565b505050565b600081815b855181101561118557600086828151811061110357611103611373565b60200260200101519050808311611145576040805160208101859052908101829052606001604051602081830303815290604052805190602001209250611172565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b508061117d81611482565b9150506110e6565b509092149392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126111b757600080fd5b8135602067ffffffffffffffff808311156111d4576111d4611190565b8260051b604051601f19603f830116810181811084821117156111f9576111f9611190565b60405293845285810183019383810192508785111561121757600080fd5b83870191505b848210156112365781358352918301919083019061121d565b979650505050505050565b80356001600160a01b038116811461125857600080fd5b919050565b60008060006060848603121561127257600080fd5b833567ffffffffffffffff81111561128957600080fd5b611295868287016111a6565b9350506112a460208501611241565b9150604084013590509250925092565b6000602082840312156112c657600080fd5b5035919050565b6000602082840312156112df57600080fd5b61032c82611241565b6000602082840312156112fa57600080fd5b813567ffffffffffffffff81111561131157600080fd5b61131d848285016111a6565b949350505050565b60008060006060848603121561133a57600080fd5b833567ffffffffffffffff81111561135157600080fd5b61135d868287016111a6565b9660208601359650604090950135949350505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156113b1576113b1611389565b500390565b6000602082840312156113c857600080fd5b5051919050565b6000602082840312156113e157600080fd5b8151801515811461032c57600080fd5b6020808252600d908201526c70726f6f66206661696c75726560981b604082015260600190565b6020808252600f908201526e185b1c9958591e4818db185a5b5959608a1b604082015260600190565b600081600019048311821515161561145b5761145b611389565b500290565b60008261147d57634e487b7160e01b600052601260045260246000fd5b500490565b60006001820161149457611494611389565b506001019056fea264697066735822122037000f07486ed2628af536e264c2c446d12caa34325247e83ff74d7770a31e2264736f6c634300080e0033

Deployed Bytecode Sourcemap

2614:5850:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7777:548;;;;;;:::i;:::-;;:::i;:::-;;;1891:14:1;;1884:22;1866:41;;1854:2;1839:18;7777:548:0;;;;;;;;8343:110;;;:::i;:::-;;;2064:25:1;;;2052:2;2037:18;8343:110:0;1918:177:1;3252:26:0;;;;;;:::i;:::-;;:::i;5486:176::-;;;;;;:::i;:::-;;:::i;4517:610::-;;;;;;:::i;:::-;;:::i;3373:39::-;;;;;;2748:94;;;;;-1:-1:-1;;;;;2748:94:0;;;;;;-1:-1:-1;;;;;2449:32:1;;;2431:51;;2419:2;2404:18;2748:94:0;2285:203:1;2655:86:0;;;;;-1:-1:-1;;;;;2655:86:0;;;3324:42;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6769:398;;;;;;:::i;:::-;;:::i;:::-;;5672:661;;;;;;:::i;:::-;;:::i;5137:339::-;;;:::i;3421:42::-;;;;;;3760:747;;;;;;:::i;:::-;;:::i;2849:32::-;;;;;;:::i;:::-;;:::i;6346:411::-;;;;;;:::i;:::-;;:::i;7214:535::-;;;;;;:::i;:::-;;:::i;7777:548::-;7872:8;7891:5;7900:1;7891:10;7888:411;;7926:89;7945:11;7958:14;7973:1;7958:17;;;;;;;;:::i;:::-;;;;;;;;;8005:7;7988:25;;;;;;;3989:2:1;3985:15;;;;-1:-1:-1;;;;;;3981:53:1;3969:66;;4060:2;4051:12;;3840:229;7988:25:0;;;;;;;;;;;;;7977:37;;;;;;7926:18;:89::i;:::-;7919:96;;;;7888:411;8031:5;8039:1;8031:9;8028:271;;8062:89;8081:11;8094:14;8109:1;8094:17;;;;;;;;:::i;8028:271::-;8167:5;8176:1;8167:10;8164:135;;8202:89;8221:11;8234:14;8249:1;8234:17;;;;;;;;:::i;8164:135::-;-1:-1:-1;8312:5:0;7777:548;;;;;;:::o;8343:110::-;8384:7;8436:9;;8418:15;:27;;;;:::i;:::-;8410:35;;8343:110;:::o;3252:26::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3252:26:0;:::o;5486:176::-;5595:25;;5552:11;;-1:-1:-1;;;;;5595:25:0;5584:51;5636:17;5646:6;5636:9;:17::i;:::-;5584:70;;;;;;;;;;;;;2064:25:1;;2052:2;2037:18;;1918:177;5584:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5577:77;5486:176;-1:-1:-1;;5486:176:0:o;4517:610::-;4608:25;;4649:62;;-1:-1:-1;;;4649:62:0;;4705:4;4649:62;;;2431:51:1;4561:12:0;;-1:-1:-1;;;;;4608:25:0;;4597:51;;4608:25;;4649:47;;2404:18:1;;4649:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4597:115;;;;;;;;;;;;;2064:25:1;;2052:2;2037:18;;1918:177;4597:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4591:3;:121;4588:508;;;4730:12;4738:3;4730:7;:12::i;:::-;;4588:508;;;4792:17;;4785:70;;-1:-1:-1;;;4785:70:0;;4824:10;4785:70;;;4765:34:1;4844:4:0;4815:18:1;;;4808:43;4867:18;;;4860:34;;;-1:-1:-1;;;;;4792:17:0;;;;4785:38;;4700:18:1;;4785:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4777:96;;;;-1:-1:-1;;;4777:96:0;;5389:2:1;4777:96:0;;;5371:21:1;5428:2;5408:18;;;5401:30;-1:-1:-1;;;5447:18:1;;;5440:43;5500:18;;4777:96:0;;;;;;;;;4895:17;;;4922:25;4888:113;;-1:-1:-1;;;4888:113:0;;-1:-1:-1;;;;;4922:25:0;;;4888:113;;;5761:51:1;4949::0;5828:18:1;;;5821:34;4895:17:0;;;4888:33;;5734:18:1;;4888:113:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5027:25:0;;5016:66;;-1:-1:-1;;;5016:66:0;;5071:4;5016:66;;;5761:51:1;5828:18;;;5821:34;;;-1:-1:-1;;;;;5027:25:0;;;;5016:46;;5734:18:1;;5016:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4588:508;-1:-1:-1;5115:4:0;;4517:610;-1:-1:-1;4517:610:0:o;6769:398::-;6888:14;;6915:28;;-1:-1:-1;;;;;;6932:10:0;3989:2:1;3985:15;3981:53;6915:28:0;;;3969:66:1;6856:90:0;;6875:11;;4051:12:1;;6915:28:0;3840:229:1;6856:90:0;6847:118;;;;-1:-1:-1;;;6847:118:0;;;;;;;:::i;:::-;6997:10;6986:22;;;;:10;:22;;;;;;;;:31;6978:59;;;;-1:-1:-1;;;6978:59:0;;;;;;;:::i;:::-;7061:10;7050:22;;;;:10;:22;;;;;:27;;-1:-1:-1;;7050:27:0;7073:4;7050:27;;;7105:17;-1:-1:-1;;;;;7105:17:0;;7098:34;;7146:12;7156:1;7146:9;:12::i;:::-;7098:61;;-1:-1:-1;;;;;;7098:61:0;;;;;;;-1:-1:-1;;;;;5779:32:1;;;7098:61:0;;;5761:51:1;5828:18;;;5821:34;5734:18;;7098:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6769:398;:::o;5672:661::-;5725:12;5749:16;5786:9;;5768:15;:27;;;;:::i;:::-;5749:46;;5820:5;;5809:8;:16;5806:63;;;-1:-1:-1;5852:5:0;;5806:63;5886:1;5879:8;;5901:6;5911:1;5901:11;5898:250;;5961:5;;5949:8;5935;5944:1;5935:11;;;;;;;;:::i;:::-;;;;;;;;;:22;;;;:::i;:::-;5934:32;;;;:::i;:::-;5927:39;;5898:250;;;5986:6;5995:1;5986:10;5983:165;;6046:5;;6034:8;6020;6029:1;6020:11;;;;;;;;:::i;5983:165::-;6071:6;6080:1;6071:10;6068:80;;6131:5;;6119:8;6105;6114:1;6105:11;;;;;;;;:::i;:::-;;;;;;;;;:22;;;;:::i;:::-;6104:32;;;;:::i;:::-;6097:39;;6068:80;6184:25;;6173:62;;-1:-1:-1;;;6173:62:0;;6229:4;6173:62;;;2431:51:1;6158:12:0;;-1:-1:-1;;;;;6184:25:0;;6173:47;;2404:18:1;;6173:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6158:77;;6256:7;6249:4;:14;6246:59;;;6286:7;5672:661;-1:-1:-1;;;5672:661:0:o;6246:59::-;6315:11;;5672:661;;;:::o;5137:339::-;5177:12;5211;5400:25;;;;;;;;;-1:-1:-1;;;;;5400:25:0;-1:-1:-1;;;;;5389:49:0;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5345:25;;;;;;;;;-1:-1:-1;;;;;5345:25:0;-1:-1:-1;;;;;5334:48:0;;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5275:17;;;5305:25;5260:71;;-1:-1:-1;;;5260:71:0;;-1:-1:-1;;;;;5305:25:0;;;5260:71;;;2431:51:1;5275:17:0;;;5260:44;;2404:18:1;;5260:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:124;;;;:::i;:::-;5253:133;;:3;:133;:::i;:::-;:187;;;;:::i;:::-;5226:216;;5227:20;5226:216;:::i;3760:747::-;3856:25;;3897:62;;-1:-1:-1;;;3897:62:0;;3953:4;3897:62;;;2431:51:1;3803:12:0;;-1:-1:-1;;;;;3856:25:0;;3845:51;;3856:25;;3897:47;;2404:18:1;;3897:62:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3845:115;;;;;;;;;;;;;2064:25:1;;2052:2;2037:18;;1918:177;3845:115:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3839:3;:121;3831:178;;;;-1:-1:-1;;;3831:178:0;;7428:2:1;3831:178:0;;;7410:21:1;7467:2;7447:18;;;7440:30;7506:34;7486:18;;;7479:62;-1:-1:-1;;;7557:18:1;;;7550:42;7609:19;;3831:178:0;7226:408:1;3831:178:0;4035:17;;4028:70;;-1:-1:-1;;;4028:70:0;;4067:10;4028:70;;;4765:34:1;4087:4:0;4815:18:1;;;4808:43;4867:18;;;4860:34;;;-1:-1:-1;;;;;4035:17:0;;;;4028:38;;4700:18:1;;4028:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4020:96;;;;-1:-1:-1;;;4020:96:0;;5389:2:1;4020:96:0;;;5371:21:1;5428:2;5408:18;;;5401:30;-1:-1:-1;;;5447:18:1;;;5440:43;5500:18;;4020:96:0;5187:337:1;4020:96:0;4139:15;4127:9;:27;4172:17;;;4199:25;4165:113;;-1:-1:-1;;;4165:113:0;;-1:-1:-1;;;;;4199:25:0;;;4165:113;;;5761:51:1;4226::0;5828:18:1;;;5821:34;4172:17:0;;;4165:33;;5734:18:1;;4165:113:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4300:25:0;;4289:66;;-1:-1:-1;;;4289:66:0;;4344:4;4289:66;;;5761:51:1;5828:18;;;5821:34;;;-1:-1:-1;;;;;4300:25:0;;;;4289:46;;5734:18:1;;4289:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4366:6;4375:9;:7;:9::i;:::-;4366:18;-1:-1:-1;4409:6:0;4366:18;4413:2;4409:6;:::i;:::-;4395:8;4404:1;4395:11;;;;;;;;:::i;:::-;;;;;;;;;;:20;4440:5;:1;4444;4440:5;:::i;:::-;4426:8;4435:1;4426:11;;;;;;;;:::i;:::-;;;;;;;;;;:19;4470:5;:1;4474;4470:5;:::i;:::-;4456:8;4465:1;4456:11;;;;;;;;:::i;:::-;;;;;;;;;;:19;-1:-1:-1;4495:4:0;;3760:747;-1:-1:-1;;3760:747:0:o;2849:32::-;;;;;;;;;;;;6346:411;6478:14;;6505:28;;-1:-1:-1;;;;;;6522:10:0;3989:2:1;3985:15;3981:53;6505:28:0;;;3969:66:1;6446:90:0;;6465:11;;4051:12:1;;6505:28:0;3840:229:1;6446:90:0;6437:118;;;;-1:-1:-1;;;6437:118:0;;;;;;;:::i;:::-;6587:10;6576:22;;;;:10;:22;;;;;;;;:31;6568:59;;;;-1:-1:-1;;;6568:59:0;;;;;;;:::i;:::-;6651:10;6640:22;;;;:10;:22;;;;;:27;;-1:-1:-1;;6640:27:0;6663:4;6640:27;;;;;;6695:17;;-1:-1:-1;;;;;6695:17:0;;6688:34;;6736:12;;:9;:12::i;7214:535::-;7327:38;7334:11;7347:10;7359:5;7327:6;:38::i;:::-;7318:67;;;;-1:-1:-1;;;7318:67:0;;;;;;;:::i;:::-;7417:10;7406:22;;;;:10;:22;;;;;;;;:31;7398:59;;;;-1:-1:-1;;;7398:59:0;;;;;;;:::i;:::-;7481:10;7470:22;;;;:10;:22;;;;;:27;;-1:-1:-1;;7470:27:0;7493:4;7470:27;;;;;;7529:25;-1:-1:-1;;;;;7529:25:0;7518:46;7565:16;7575:5;7565:9;:16::i;:::-;7583:7;7518:73;;;;;;;;;;;;;;;7813:25:1;;;7869:2;7854:18;;7847:34;7801:2;7786:18;;7639:248;7518:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7617:17:0;;7657:50;;-1:-1:-1;;;7657:50:0;;7701:4;7657:50;;;2431:51:1;-1:-1:-1;;;;;7617:17:0;;;;-1:-1:-1;7610:34:0;;-1:-1:-1;7645:10:0;;7617:17;;7657:35;;2404:18:1;;7657:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7610:98;;-1:-1:-1;;;;;;7610:98:0;;;;;;;-1:-1:-1;;;;;5779:32:1;;;7610:98:0;;;5761:51:1;5828:18;;;5821:34;5734:18;;7610:98:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7602:139;;;;-1:-1:-1;;;7602:139:0;;8094:2:1;7602:139:0;;;8076:21:1;8133:2;8113:18;;;8106:30;8172;8152:18;;;8145:58;8220:18;;7602:139:0;7892:352:1;7602:139:0;7214:535;;;:::o;668:841::-;793:4;833;793;850:536;874:5;:12;870:1;:16;850:536;;;908:20;931:5;937:1;931:8;;;;;;;;:::i;:::-;;;;;;;908:31;;987:12;971;:28;967:408;;1124:44;;;;;;8406:19:1;;;8441:12;;;8434:28;;;8478:12;;1124:44:0;;;;;;;;;;;;1114:55;;;;;;1099:70;;967:408;;;1314:44;;;;;;8406:19:1;;;8441:12;;;8434:28;;;8478:12;;1314:44:0;;;;;;;;;;;;1304:55;;;;;;1289:70;;967:408;-1:-1:-1;888:3:0;;;;:::i;:::-;;;;850:536;;;-1:-1:-1;1481:20:0;;;;668:841;-1:-1:-1;;;668:841:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:902;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;307:6;294:20;333:4;356:18;393:2;389;386:10;383:36;;;399:18;;:::i;:::-;445:2;442:1;438:10;477:2;471:9;540:2;536:7;531:2;527;523:11;519:25;511:6;507:38;595:6;583:10;580:22;575:2;563:10;560:18;557:46;554:72;;;606:18;;:::i;:::-;642:2;635:22;692:18;;;768:15;;;764:24;;;726:15;;;;-1:-1:-1;800:15:1;;;797:35;;;828:1;825;818:12;797:35;864:2;856:6;852:15;841:26;;876:142;892:6;887:3;884:15;876:142;;;958:17;;946:30;;996:12;;;;909;;;;876:142;;;1036:6;146:902;-1:-1:-1;;;;;;;146:902:1:o;1053:173::-;1121:20;;-1:-1:-1;;;;;1170:31:1;;1160:42;;1150:70;;1216:1;1213;1206:12;1150:70;1053:173;;;:::o;1231:490::-;1333:6;1341;1349;1402:2;1390:9;1381:7;1377:23;1373:32;1370:52;;;1418:1;1415;1408:12;1370:52;1458:9;1445:23;1491:18;1483:6;1480:30;1477:50;;;1523:1;1520;1513:12;1477:50;1546:61;1599:7;1590:6;1579:9;1575:22;1546:61;:::i;:::-;1536:71;;;1626:38;1660:2;1649:9;1645:18;1626:38;:::i;:::-;1616:48;;1711:2;1700:9;1696:18;1683:32;1673:42;;1231:490;;;;;:::o;2100:180::-;2159:6;2212:2;2200:9;2191:7;2187:23;2183:32;2180:52;;;2228:1;2225;2218:12;2180:52;-1:-1:-1;2251:23:1;;2100:180;-1:-1:-1;2100:180:1:o;2493:186::-;2552:6;2605:2;2593:9;2584:7;2580:23;2576:32;2573:52;;;2621:1;2618;2611:12;2573:52;2644:29;2663:9;2644:29;:::i;2684:348::-;2768:6;2821:2;2809:9;2800:7;2796:23;2792:32;2789:52;;;2837:1;2834;2827:12;2789:52;2877:9;2864:23;2910:18;2902:6;2899:30;2896:50;;;2942:1;2939;2932:12;2896:50;2965:61;3018:7;3009:6;2998:9;2994:22;2965:61;:::i;:::-;2955:71;2684:348;-1:-1:-1;;;;2684:348:1:o;3219:484::-;3321:6;3329;3337;3390:2;3378:9;3369:7;3365:23;3361:32;3358:52;;;3406:1;3403;3396:12;3358:52;3446:9;3433:23;3479:18;3471:6;3468:30;3465:50;;;3511:1;3508;3501:12;3465:50;3534:61;3587:7;3578:6;3567:9;3563:22;3534:61;:::i;:::-;3524:71;3642:2;3627:18;;3614:32;;-1:-1:-1;3693:2:1;3678:18;;;3665:32;;3219:484;-1:-1:-1;;;;3219:484:1:o;3708:127::-;3769:10;3764:3;3760:20;3757:1;3750:31;3800:4;3797:1;3790:15;3824:4;3821:1;3814:15;4074:127;4135:10;4130:3;4126:20;4123:1;4116:31;4166:4;4163:1;4156:15;4190:4;4187:1;4180:15;4206:125;4246:4;4274:1;4271;4268:8;4265:34;;;4279:18;;:::i;:::-;-1:-1:-1;4316:9:1;;4206:125::o;4336:184::-;4406:6;4459:2;4447:9;4438:7;4434:23;4430:32;4427:52;;;4475:1;4472;4465:12;4427:52;-1:-1:-1;4498:16:1;;4336:184;-1:-1:-1;4336:184:1:o;4905:277::-;4972:6;5025:2;5013:9;5004:7;5000:23;4996:32;4993:52;;;5041:1;5038;5031:12;4993:52;5073:9;5067:16;5126:5;5119:13;5112:21;5105:5;5102:32;5092:60;;5148:1;5145;5138:12;6145:337;6347:2;6329:21;;;6386:2;6366:18;;;6359:30;-1:-1:-1;;;6420:2:1;6405:18;;6398:43;6473:2;6458:18;;6145:337::o;6487:339::-;6689:2;6671:21;;;6728:2;6708:18;;;6701:30;-1:-1:-1;;;6762:2:1;6747:18;;6740:45;6817:2;6802:18;;6487:339::o;6831:168::-;6871:7;6937:1;6933;6929:6;6925:14;6922:1;6919:21;6914:1;6907:9;6900:17;6896:45;6893:71;;;6944:18;;:::i;:::-;-1:-1:-1;6984:9:1;;6831:168::o;7004:217::-;7044:1;7070;7060:132;;7114:10;7109:3;7105:20;7102:1;7095:31;7149:4;7146:1;7139:15;7177:4;7174:1;7167:15;7060:132;-1:-1:-1;7206:9:1;;7004:217::o;8501:135::-;8540:3;8561:17;;;8558:43;;8581:18;;:::i;:::-;-1:-1:-1;8628:1:1;8617:13;;8501:135::o

Swarm Source

ipfs://37000f07486ed2628af536e264c2c446d12caa34325247e83ff74d7770a31e22

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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