ETH Price: $2,162.39 (+0.29%)
Gas: 0.04 Gwei

Contract

0xD2E0f5b373fCA57b6B9ebAA4227e03e2A5CCED14
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Deposit147058732022-05-03 17:04:581422 days ago1651597498IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0169890357.94922597
Deposit143623942022-03-11 0:36:231476 days ago1646958983IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0102395334.9225626
Withdraw143586542022-03-10 10:49:081476 days ago1646909348IN
0xD2E0f5b3...2A5CCED14
0 ETH0.0060515820.43818884
Mint143578012022-03-10 7:36:511476 days ago1646897811IN
0xD2E0f5b3...2A5CCED14
0 ETH0.0025442725.16966172
Deposit143444042022-03-08 5:43:201478 days ago1646718200IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0056367619.2237331
Deposit143404042022-03-07 15:03:381479 days ago1646665418IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0078056826.38606516
Withdraw143028052022-03-01 18:44:471485 days ago1646160287IN
0xD2E0f5b3...2A5CCED14
0 ETH0.0116585769.73250529
Mint143027922022-03-01 18:41:401485 days ago1646160100IN
0xD2E0f5b3...2A5CCED14
0 ETH0.0064840564.15986044
Deposit143017912022-03-01 14:54:121485 days ago1646146452IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0115557972.45829472
Deposit142359112022-02-19 10:07:261495 days ago1645265246IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.015460646.13619031
Deposit142358992022-02-19 10:05:161495 days ago1645265116IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0146007346.40559295
Deposit142221972022-02-17 7:04:171497 days ago1645081457IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0195152763.46286205
Deposit142177802022-02-16 14:51:331498 days ago1645023093IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0191178165.20512653
Deposit142170722022-02-16 12:16:361498 days ago1645013796IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0056380737.09112714
Deposit142129472022-02-15 20:43:231499 days ago1644957803IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0124151573.43202382
Deposit141732342022-02-09 17:32:011505 days ago1644427921IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0271113992.46881394
Deposit141727802022-02-09 15:46:371505 days ago1644421597IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.04053501136.03130355
Deposit141727722022-02-09 15:44:381505 days ago1644421478IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.03775702119.99881361
Deposit141712372022-02-09 9:56:561505 days ago1644400616IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0119294740.68951001
Deposit141687492022-02-09 0:49:391506 days ago1644367779IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0193113165.86509787
Deposit141662692022-02-08 15:36:121506 days ago1644334572IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0224651976.62204301
Emergency Withdr...141635692022-02-08 5:30:261506 days ago1644298226IN
0xD2E0f5b3...2A5CCED14
0 ETH0.0204518878.04513552
Deposit141579652022-02-07 8:49:491507 days ago1644223789IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0269476991.90296285
Deposit141579552022-02-07 8:47:361507 days ago1644223656IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.03118208105.21512989
Deposit141579262022-02-07 8:37:301507 days ago1644223050IN
0xD2E0f5b3...2A5CCED14
0.05 ETH0.0125986376.67790018
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-147058732022-05-03 17:04:581422 days ago1651597498
0xD2E0f5b3...2A5CCED14
0.05 ETH
-143623942022-03-11 0:36:231476 days ago1646958983
0xD2E0f5b3...2A5CCED14
0.05 ETH
-143444042022-03-08 5:43:201478 days ago1646718200
0xD2E0f5b3...2A5CCED14
0.05 ETH
-143404042022-03-07 15:03:381479 days ago1646665418
0xD2E0f5b3...2A5CCED14
0.05 ETH
-143017912022-03-01 14:54:121485 days ago1646146452
0xD2E0f5b3...2A5CCED14
0.05 ETH
-142359112022-02-19 10:07:261495 days ago1645265246
0xD2E0f5b3...2A5CCED14
0.05 ETH
-142358992022-02-19 10:05:161495 days ago1645265116
0xD2E0f5b3...2A5CCED14
0.05 ETH
-142221972022-02-17 7:04:171497 days ago1645081457
0xD2E0f5b3...2A5CCED14
0.05 ETH
-142177802022-02-16 14:51:331498 days ago1645023093
0xD2E0f5b3...2A5CCED14
0.05 ETH
-142170722022-02-16 12:16:361498 days ago1645013796
0xD2E0f5b3...2A5CCED14
0.05 ETH
-142129472022-02-15 20:43:231499 days ago1644957803
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141732342022-02-09 17:32:011505 days ago1644427921
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141727802022-02-09 15:46:371505 days ago1644421597
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141727722022-02-09 15:44:381505 days ago1644421478
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141712372022-02-09 9:56:561505 days ago1644400616
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141687492022-02-09 0:49:391506 days ago1644367779
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141662692022-02-08 15:36:121506 days ago1644334572
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141579652022-02-07 8:49:491507 days ago1644223789
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141579552022-02-07 8:47:361507 days ago1644223656
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141579262022-02-07 8:37:301507 days ago1644223050
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141574912022-02-07 6:58:491507 days ago1644217129
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141572672022-02-07 6:06:301507 days ago1644213990
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141565442022-02-07 3:24:491507 days ago1644204289
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141564142022-02-07 2:57:441507 days ago1644202664
0xD2E0f5b3...2A5CCED14
0.05 ETH
-141562372022-02-07 2:19:341507 days ago1644200374
0xD2E0f5b3...2A5CCED14
0.05 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:
BridgeEth

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2021-12-12
*/

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

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

    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
}

contract BridgeEth {
    address public admin;
    address public feeWallet = 0xcae28D03f6042E57B79790840890b53AFDab825a;

    IERC20 public token;

    mapping(address => mapping(uint => bool)) public processedNonces;
    mapping (address => uint256) public accounts;
    
    mapping(address => uint) public nextNonce;

    uint256 public _basefees = 50000000000000000; //0.05 eth
    uint256 public _withdrawfees = 10; //1%  /1000

    enum Step { Burn, Mint }
    event Deposit(
        address from,
        uint256 amount,
        uint date,
        uint nonce,
        bytes signature,
        Step indexed step
    );
    event Mint(
        address to,
        uint256 amount,
        uint date,
        uint nonce,
        bytes signature,
        Step indexed step
    );
    event Withdraw(
        address from,
        uint256 amount
    );

    constructor () {
        admin = 0x11Faf4470d0294C263EC695E23FdC469046393D4;
        token = IERC20(0x309c1b3282c49E4dC6796644417f8c76b7C8233C);
    }

    function setToken (address _token ) external {
        require(msg.sender == admin, "only admin");
        token = IERC20(_token);
    }

    function setAdmin (address _admin ) external {
        require(msg.sender == admin, "only admin");
        admin = _admin;
    }

    function setFees (uint256 _fees ) external {
        require(msg.sender == admin, "only admin");
        _basefees = _fees;
    }

    function setWithdrawFees (uint256 _fees ) external {
        require(msg.sender == admin, "only admin");
        _withdrawfees = _fees;
    }

    function setFeeWallet (address _wallet ) external {
        require(msg.sender == admin, "only admin");
        feeWallet = _wallet;
    }


    function deposit(address from, uint256 amount, uint nonce, bytes calldata signature) external payable{
        require(msg.value >= _basefees, "insufficient fees");
        require(processedNonces[msg.sender][nonce] == false, 'transfer already processed');
        processedNonces[msg.sender][nonce] = true;

        payable(admin).transfer(msg.value);
        
        token.transferFrom(msg.sender, address(this), amount);
        nextNonce[msg.sender] = nextNonce[msg.sender] + 1;

        emit Deposit(
            from,
            amount,
            block.timestamp,
            nonce,
            signature,
            Step.Burn
        );
    }

    function calculateWithdrawFee(uint256 _amount) private view returns (uint256) {
        return _amount*(_withdrawfees)/(10**3);

    }

    fallback () external payable {
    }

    receive () external payable {
    }

    function withdraw( ) external {
        require(accounts[msg.sender] > 0, "invalid amount");
        uint256 amount = accounts[msg.sender];
        uint256 _fees = calculateWithdrawFee(amount);

        bool succ = token.transfer(msg.sender, amount - _fees);
        require(succ, "tokens not transfered");

        bool succ2 = token.transfer(feeWallet , _fees);
        require(succ2, "fees tokens not transfered");

        accounts[msg.sender] = 0;

        emit Withdraw(msg.sender, amount);
    }

    function mint(
        address to, 
        uint256 amount, 
        uint nonce,
        bytes calldata signature
    ) external {
        require(msg.sender == admin, "only admin");
        bytes32 message = prefixed(keccak256(abi.encodePacked(to, amount, nonce )));
        require(recoverSigner(message, signature) == to , 'wrong signature');
        require(processedNonces[to][nonce] == false, 'transfer already processed');
        processedNonces[to][nonce] = true;
        nextNonce[to] = nextNonce[to] + 1;
        accounts[to] += amount;
        
        emit Mint(
            to,
            amount,
            block.timestamp,
            nonce,
            signature,
            Step.Mint
        );
    }

    function prefixed(bytes32 hash) internal pure returns (bytes32) {
        return keccak256(abi.encodePacked(
        '\x19Ethereum Signed Message:\n32', 
        hash
        ));
    }

    function recoverSigner(bytes32 message, bytes memory sig)
        internal
        pure
        returns (address)
    {
        uint8 v;
        bytes32 r;
        bytes32 s;
    
        (v, r, s) = splitSignature(sig);
    
        return ecrecover(message, v, r, s);
    }

    function splitSignature(bytes memory sig)
        internal
        pure
        returns (uint8, bytes32, bytes32)
    {
        require(sig.length == 65);
    
        bytes32 r;
        bytes32 s;
        uint8 v;
    
        assembly {
            // first 32 bytes, after the length prefix
            r := mload(add(sig, 32))
            // second 32 bytes
            s := mload(add(sig, 64))
            // final byte (first byte of the next 32 bytes)
            v := byte(0, mload(add(sig, 96)))
        }
    
        return (v, r, s);
    }

    function emergencyWithdrawTokens() public {
        require(msg.sender == admin, "only admin");
        uint256 amount = token.balanceOf(address(this));
        bool succ = token.transfer(msg.sender, amount);
        require(succ, "tokens not transfered");
    }

    function emergencyWithdrawEth() public {
        require(msg.sender == admin, "only admin");
        uint256 Balance = address(this).balance;
        (bool succ, ) = msg.sender.call{value: Balance}("");
        require(succ, "withdraw not sent"); 
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"date","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"signature","type":"bytes"},{"indexed":true,"internalType":"enum BridgeEth.Step","name":"step","type":"uint8"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"date","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"nonce","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"signature","type":"bytes"},{"indexed":true,"internalType":"enum BridgeEth.Step","name":"step","type":"uint8"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"_basefees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_withdrawfees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"accounts","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"emergencyWithdrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emergencyWithdrawTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nextNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"processedNonces","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_wallet","type":"address"}],"name":"setFeeWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fees","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"setToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fees","type":"uint256"}],"name":"setWithdrawFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b03191673cae28d03f6042e57b79790840890b53afdab825a17905566b1a2bc2ec50000600655600a60075534801561004657600080fd5b50600080546001600160a01b03199081167311faf4470d0294c263ec695e23fdc469046393d4179091556002805490911673309c1b3282c49e4dc6796644417f8c76b7c8233c1790556111268061009e6000396000f3fe6080604052600436106101015760003560e01c806369b372f11161008f57806390d49b9d1161006157806390d49b9d146102cd5780639e48ff5a146102ed578063f25f4b5614610300578063f851a44014610338578063fc0c546a1461035857005b806369b372f11461022d578063704b6c0214610242578063731133e9146102625780637cc702401461028257005b806322019a1c116100d357806322019a1c146101a05780632ded76b0146101b55780633ccfd60b146101cb5780633d18678e146101e05780635e5c06e21461020057005b806305d1c3711461010a5780630cd55abf1461012a578063144cf9071461016a578063144fa6d71461018057005b3661010857005b005b34801561011657600080fd5b50610108610125366004610ea3565b610378565b34801561013657600080fd5b50610157610145366004610ed8565b60056020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561017657600080fd5b5061015760065481565b34801561018c57600080fd5b5061010861019b366004610ed8565b6103b0565b3480156101ac57600080fd5b506101086103fc565b3480156101c157600080fd5b5061015760075481565b3480156101d757600080fd5b506101086104b8565b3480156101ec57600080fd5b506101086101fb366004610ea3565b610715565b34801561020c57600080fd5b5061015761021b366004610ed8565b60046020526000908152604090205481565b34801561023957600080fd5b50610108610744565b34801561024e57600080fd5b5061010861025d366004610ed8565b61089d565b34801561026e57600080fd5b5061010861027d366004610efa565b6108e9565b34801561028e57600080fd5b506102bd61029d366004610f8e565b600360209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610161565b3480156102d957600080fd5b506101086102e8366004610ed8565b610b84565b6101086102fb366004610efa565b610bd0565b34801561030c57600080fd5b50600154610320906001600160a01b031681565b6040516001600160a01b039091168152602001610161565b34801561034457600080fd5b50600054610320906001600160a01b031681565b34801561036457600080fd5b50600254610320906001600160a01b031681565b6000546001600160a01b031633146103ab5760405162461bcd60e51b81526004016103a290610fb8565b60405180910390fd5b600755565b6000546001600160a01b031633146103da5760405162461bcd60e51b81526004016103a290610fb8565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146104265760405162461bcd60e51b81526004016103a290610fb8565b6040514790600090339083908381818185875af1925050503d806000811461046a576040519150601f19603f3d011682016040523d82523d6000602084013e61046f565b606091505b50509050806104b45760405162461bcd60e51b81526020600482015260116024820152701dda5d1a191c985dc81b9bdd081cd95b9d607a1b60448201526064016103a2565b5050565b336000908152600460205260409020546105055760405162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a5908185b5bdd5b9d60921b60448201526064016103a2565b336000908152600460205260408120549061051f82610dd2565b6002549091506000906001600160a01b031663a9059cbb336105418587610ff2565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561058c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190611009565b9050806105f75760405162461bcd60e51b81526020600482015260156024820152741d1bdad95b9cc81b9bdd081d1c985b9cd9995c9959605a1b60448201526064016103a2565b60025460015460405163a9059cbb60e01b81526001600160a01b03918216600482015260248101859052600092919091169063a9059cbb906044016020604051808303816000875af1158015610651573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106759190611009565b9050806106c45760405162461bcd60e51b815260206004820152601a60248201527f6665657320746f6b656e73206e6f74207472616e73666572656400000000000060448201526064016103a2565b33600081815260046020908152604080832092909255815192835282018690527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910160405180910390a150505050565b6000546001600160a01b0316331461073f5760405162461bcd60e51b81526004016103a290610fb8565b600655565b6000546001600160a01b0316331461076e5760405162461bcd60e51b81526004016103a290610fb8565b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db919061102b565b60025460405163a9059cbb60e01b8152336004820152602481018390529192506000916001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610832573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108569190611009565b9050806104b45760405162461bcd60e51b81526020600482015260156024820152741d1bdad95b9cc81b9bdd081d1c985b9cd9995c9959605a1b60448201526064016103a2565b6000546001600160a01b031633146108c75760405162461bcd60e51b81526004016103a290610fb8565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109135760405162461bcd60e51b81526004016103a290610fb8565b6040516bffffffffffffffffffffffff19606087901b16602082015260348101859052605481018490526000906109b090607401604051602081830303815290604052805190602001206040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9050856001600160a01b03166109fc8285858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610df592505050565b6001600160a01b031614610a445760405162461bcd60e51b815260206004820152600f60248201526e77726f6e67207369676e617475726560881b60448201526064016103a2565b6001600160a01b038616600090815260036020908152604080832087845290915290205460ff1615610ab85760405162461bcd60e51b815260206004820152601a60248201527f7472616e7366657220616c72656164792070726f63657373656400000000000060448201526064016103a2565b6001600160a01b03861660008181526003602090815260408083208884528252808320805460ff191660019081179091559383526005909152902054610afd91611044565b6001600160a01b038716600090815260056020908152604080832093909355600490529081208054879290610b33908490611044565b90915550600190507fda03004b2671e76044e16a34da4f0bd6e1262f789dd242e3e69875793c570f7f878742888888604051610b749695949392919061105c565b60405180910390a2505050505050565b6000546001600160a01b03163314610bae5760405162461bcd60e51b81526004016103a290610fb8565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600654341015610c165760405162461bcd60e51b8152602060048201526011602482015270696e73756666696369656e74206665657360781b60448201526064016103a2565b33600090815260036020908152604080832086845290915290205460ff1615610c815760405162461bcd60e51b815260206004820152601a60248201527f7472616e7366657220616c72656164792070726f63657373656400000000000060448201526064016103a2565b336000908152600360209081526040808320868452909152808220805460ff19166001179055815490516001600160a01b0391909116913480156108fc02929091818181858888f19350505050158015610cdf573d6000803e3d6000fd5b506002546040516323b872dd60e01b8152336004820152306024820152604481018690526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610d37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5b9190611009565b5033600090815260056020526040902054610d77906001611044565b336000908152600560205260408120919091557f52da24289af740c0ba86d199f295fabf25351e58a83b0567a0c81b1b849d523e868642878787604051610dc39695949392919061105c565b60405180910390a25050505050565b60006103e860075483610de591906110af565b610def91906110ce565b92915050565b600080600080610e0485610e74565b6040805160008152602081018083528b905260ff8516918101919091526060810183905260808101829052929550909350915060019060a0016020604051602081039080840390855afa158015610e5f573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b60008060008351604114610e8757600080fd5b5050506020810151604082015160609092015160001a92909190565b600060208284031215610eb557600080fd5b5035919050565b80356001600160a01b0381168114610ed357600080fd5b919050565b600060208284031215610eea57600080fd5b610ef382610ebc565b9392505050565b600080600080600060808688031215610f1257600080fd5b610f1b86610ebc565b94506020860135935060408601359250606086013567ffffffffffffffff80821115610f4657600080fd5b818801915088601f830112610f5a57600080fd5b813581811115610f6957600080fd5b896020828501011115610f7b57600080fd5b9699959850939650602001949392505050565b60008060408385031215610fa157600080fd5b610faa83610ebc565b946020939093013593505050565b6020808252600a908201526937b7363c9030b236b4b760b11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008282101561100457611004610fdc565b500390565b60006020828403121561101b57600080fd5b81518015158114610ef357600080fd5b60006020828403121561103d57600080fd5b5051919050565b6000821982111561105757611057610fdc565b500190565b60018060a01b038716815285602082015284604082015283606082015260a060808201528160a0820152818360c0830137600081830160c090810191909152601f909201601f1916010195945050505050565b60008160001904831182151516156110c9576110c9610fdc565b500290565b6000826110eb57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209063c7544ac5e8d1f9b82d12548ff3569a2ddd887efad0eed29ce2acb9f047aa64736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106101015760003560e01c806369b372f11161008f57806390d49b9d1161006157806390d49b9d146102cd5780639e48ff5a146102ed578063f25f4b5614610300578063f851a44014610338578063fc0c546a1461035857005b806369b372f11461022d578063704b6c0214610242578063731133e9146102625780637cc702401461028257005b806322019a1c116100d357806322019a1c146101a05780632ded76b0146101b55780633ccfd60b146101cb5780633d18678e146101e05780635e5c06e21461020057005b806305d1c3711461010a5780630cd55abf1461012a578063144cf9071461016a578063144fa6d71461018057005b3661010857005b005b34801561011657600080fd5b50610108610125366004610ea3565b610378565b34801561013657600080fd5b50610157610145366004610ed8565b60056020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561017657600080fd5b5061015760065481565b34801561018c57600080fd5b5061010861019b366004610ed8565b6103b0565b3480156101ac57600080fd5b506101086103fc565b3480156101c157600080fd5b5061015760075481565b3480156101d757600080fd5b506101086104b8565b3480156101ec57600080fd5b506101086101fb366004610ea3565b610715565b34801561020c57600080fd5b5061015761021b366004610ed8565b60046020526000908152604090205481565b34801561023957600080fd5b50610108610744565b34801561024e57600080fd5b5061010861025d366004610ed8565b61089d565b34801561026e57600080fd5b5061010861027d366004610efa565b6108e9565b34801561028e57600080fd5b506102bd61029d366004610f8e565b600360209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610161565b3480156102d957600080fd5b506101086102e8366004610ed8565b610b84565b6101086102fb366004610efa565b610bd0565b34801561030c57600080fd5b50600154610320906001600160a01b031681565b6040516001600160a01b039091168152602001610161565b34801561034457600080fd5b50600054610320906001600160a01b031681565b34801561036457600080fd5b50600254610320906001600160a01b031681565b6000546001600160a01b031633146103ab5760405162461bcd60e51b81526004016103a290610fb8565b60405180910390fd5b600755565b6000546001600160a01b031633146103da5760405162461bcd60e51b81526004016103a290610fb8565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146104265760405162461bcd60e51b81526004016103a290610fb8565b6040514790600090339083908381818185875af1925050503d806000811461046a576040519150601f19603f3d011682016040523d82523d6000602084013e61046f565b606091505b50509050806104b45760405162461bcd60e51b81526020600482015260116024820152701dda5d1a191c985dc81b9bdd081cd95b9d607a1b60448201526064016103a2565b5050565b336000908152600460205260409020546105055760405162461bcd60e51b815260206004820152600e60248201526d1a5b9d985b1a5908185b5bdd5b9d60921b60448201526064016103a2565b336000908152600460205260408120549061051f82610dd2565b6002549091506000906001600160a01b031663a9059cbb336105418587610ff2565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561058c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190611009565b9050806105f75760405162461bcd60e51b81526020600482015260156024820152741d1bdad95b9cc81b9bdd081d1c985b9cd9995c9959605a1b60448201526064016103a2565b60025460015460405163a9059cbb60e01b81526001600160a01b03918216600482015260248101859052600092919091169063a9059cbb906044016020604051808303816000875af1158015610651573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106759190611009565b9050806106c45760405162461bcd60e51b815260206004820152601a60248201527f6665657320746f6b656e73206e6f74207472616e73666572656400000000000060448201526064016103a2565b33600081815260046020908152604080832092909255815192835282018690527f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364910160405180910390a150505050565b6000546001600160a01b0316331461073f5760405162461bcd60e51b81526004016103a290610fb8565b600655565b6000546001600160a01b0316331461076e5760405162461bcd60e51b81526004016103a290610fb8565b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa1580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db919061102b565b60025460405163a9059cbb60e01b8152336004820152602481018390529192506000916001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610832573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108569190611009565b9050806104b45760405162461bcd60e51b81526020600482015260156024820152741d1bdad95b9cc81b9bdd081d1c985b9cd9995c9959605a1b60448201526064016103a2565b6000546001600160a01b031633146108c75760405162461bcd60e51b81526004016103a290610fb8565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109135760405162461bcd60e51b81526004016103a290610fb8565b6040516bffffffffffffffffffffffff19606087901b16602082015260348101859052605481018490526000906109b090607401604051602081830303815290604052805190602001206040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b9050856001600160a01b03166109fc8285858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610df592505050565b6001600160a01b031614610a445760405162461bcd60e51b815260206004820152600f60248201526e77726f6e67207369676e617475726560881b60448201526064016103a2565b6001600160a01b038616600090815260036020908152604080832087845290915290205460ff1615610ab85760405162461bcd60e51b815260206004820152601a60248201527f7472616e7366657220616c72656164792070726f63657373656400000000000060448201526064016103a2565b6001600160a01b03861660008181526003602090815260408083208884528252808320805460ff191660019081179091559383526005909152902054610afd91611044565b6001600160a01b038716600090815260056020908152604080832093909355600490529081208054879290610b33908490611044565b90915550600190507fda03004b2671e76044e16a34da4f0bd6e1262f789dd242e3e69875793c570f7f878742888888604051610b749695949392919061105c565b60405180910390a2505050505050565b6000546001600160a01b03163314610bae5760405162461bcd60e51b81526004016103a290610fb8565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b600654341015610c165760405162461bcd60e51b8152602060048201526011602482015270696e73756666696369656e74206665657360781b60448201526064016103a2565b33600090815260036020908152604080832086845290915290205460ff1615610c815760405162461bcd60e51b815260206004820152601a60248201527f7472616e7366657220616c72656164792070726f63657373656400000000000060448201526064016103a2565b336000908152600360209081526040808320868452909152808220805460ff19166001179055815490516001600160a01b0391909116913480156108fc02929091818181858888f19350505050158015610cdf573d6000803e3d6000fd5b506002546040516323b872dd60e01b8152336004820152306024820152604481018690526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610d37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5b9190611009565b5033600090815260056020526040902054610d77906001611044565b336000908152600560205260408120919091557f52da24289af740c0ba86d199f295fabf25351e58a83b0567a0c81b1b849d523e868642878787604051610dc39695949392919061105c565b60405180910390a25050505050565b60006103e860075483610de591906110af565b610def91906110ce565b92915050565b600080600080610e0485610e74565b6040805160008152602081018083528b905260ff8516918101919091526060810183905260808101829052929550909350915060019060a0016020604051602081039080840390855afa158015610e5f573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b60008060008351604114610e8757600080fd5b5050506020810151604082015160609092015160001a92909190565b600060208284031215610eb557600080fd5b5035919050565b80356001600160a01b0381168114610ed357600080fd5b919050565b600060208284031215610eea57600080fd5b610ef382610ebc565b9392505050565b600080600080600060808688031215610f1257600080fd5b610f1b86610ebc565b94506020860135935060408601359250606086013567ffffffffffffffff80821115610f4657600080fd5b818801915088601f830112610f5a57600080fd5b813581811115610f6957600080fd5b896020828501011115610f7b57600080fd5b9699959850939650602001949392505050565b60008060408385031215610fa157600080fd5b610faa83610ebc565b946020939093013593505050565b6020808252600a908201526937b7363c9030b236b4b760b11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b60008282101561100457611004610fdc565b500390565b60006020828403121561101b57600080fd5b81518015158114610ef357600080fd5b60006020828403121561103d57600080fd5b5051919050565b6000821982111561105757611057610fdc565b500190565b60018060a01b038716815285602082015284604082015283606082015260a060808201528160a0820152818360c0830137600081830160c090810191909152601f909201601f1916010195945050505050565b60008160001904831182151516156110c9576110c9610fdc565b500290565b6000826110eb57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212209063c7544ac5e8d1f9b82d12548ff3569a2ddd887efad0eed29ce2acb9f047aa64736f6c634300080a0033

Deployed Bytecode Sourcemap

874:5583:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2357:144;;;;;;;;;;-1:-1:-1;2357:144:0;;;;;:::i;:::-;;:::i;1161:41::-;;;;;;;;;;-1:-1:-1;1161:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;714:25:1;;;702:2;687:18;1161:41:0;;;;;;;;1211:44;;;;;;;;;;;;;;;;1931:139;;;;;;;;;;-1:-1:-1;1931:139:0;;;;;:::i;:::-;;:::i;6196:258::-;;;;;;;;;;;;;:::i;1273:33::-;;;;;;;;;;;;;;;;3574:516;;;;;;;;;;;;;:::i;2217:132::-;;;;;;;;;;-1:-1:-1;2217:132:0;;;;;:::i;:::-;;:::i;1104:44::-;;;;;;;;;;-1:-1:-1;1104:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;5921:267;;;;;;;;;;;;;:::i;2078:131::-;;;;;;;;;;-1:-1:-1;2078:131:0;;;;;:::i;:::-;;:::i;4098:743::-;;;;;;;;;;-1:-1:-1;4098:743:0;;;;;:::i;:::-;;:::i;1033:64::-;;;;;;;;;;-1:-1:-1;1033:64:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1981:14:1;;1974:22;1956:41;;1944:2;1929:18;1033:64:0;1816:187:1;2509:141:0;;;;;;;;;;-1:-1:-1;2509:141:0;;;;;:::i;:::-;;:::i;2660:672::-;;;;;;:::i;:::-;;:::i;927:69::-;;;;;;;;;;-1:-1:-1;927:69:0;;;;-1:-1:-1;;;;;927:69:0;;;;;;-1:-1:-1;;;;;2172:32:1;;;2154:51;;2142:2;2127:18;927:69:0;2008:203:1;900:20:0;;;;;;;;;;-1:-1:-1;900:20:0;;;;-1:-1:-1;;;;;900:20:0;;;1005:19;;;;;;;;;;-1:-1:-1;1005:19:0;;;;-1:-1:-1;;;;;1005:19:0;;;2357:144;2441:5;;-1:-1:-1;;;;;2441:5:0;2427:10;:19;2419:42;;;;-1:-1:-1;;;2419:42:0;;;;;;;:::i;:::-;;;;;;;;;2472:13;:21;2357:144::o;1931:139::-;2009:5;;-1:-1:-1;;;;;2009:5:0;1995:10;:19;1987:42;;;;-1:-1:-1;;;1987:42:0;;;;;;;:::i;:::-;2040:5;:22;;-1:-1:-1;;;;;;2040:22:0;-1:-1:-1;;;;;2040:22:0;;;;;;;;;;1931:139::o;6196:258::-;6268:5;;-1:-1:-1;;;;;6268:5:0;6254:10;:19;6246:42;;;;-1:-1:-1;;;6246:42:0;;;;;;;:::i;:::-;6365:35;;6317:21;;6299:15;;6365:10;;6317:21;;6299:15;6365:35;6299:15;6365:35;6317:21;6365:10;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6349:51;;;6419:4;6411:34;;;;-1:-1:-1;;;6411:34:0;;3188:2:1;6411:34:0;;;3170:21:1;3227:2;3207:18;;;3200:30;-1:-1:-1;;;3246:18:1;;;3239:47;3303:18;;6411:34:0;2986:341:1;6411:34:0;6235:219;;6196:258::o;3574:516::-;3632:10;3646:1;3623:20;;;:8;:20;;;;;;3615:51;;;;-1:-1:-1;;;3615:51:0;;3534:2:1;3615:51:0;;;3516:21:1;3573:2;3553:18;;;3546:30;-1:-1:-1;;;3592:18:1;;;3585:44;3646:18;;3615:51:0;3332:338:1;3615:51:0;3703:10;3677:14;3694:20;;;:8;:20;;;;;;;3741:28;3694:20;3741;:28::i;:::-;3794:5;;3725:44;;-1:-1:-1;3782:9:0;;-1:-1:-1;;;;;3794:5:0;:14;3809:10;3821:14;3725:44;3821:6;:14;:::i;:::-;3794:42;;-1:-1:-1;;;;;;3794:42:0;;;;;;;-1:-1:-1;;;;;4129:32:1;;;3794:42:0;;;4111:51:1;4178:18;;;4171:34;4084:18;;3794:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3782:54;;3855:4;3847:38;;;;-1:-1:-1;;;3847:38:0;;4700:2:1;3847:38:0;;;4682:21:1;4739:2;4719:18;;;4712:30;-1:-1:-1;;;4758:18:1;;;4751:51;4819:18;;3847:38:0;4498:345:1;3847:38:0;3911:5;;;3926:9;3911:33;;-1:-1:-1;;;3911:33:0;;-1:-1:-1;;;;;3926:9:0;;;3911:33;;;4111:51:1;4178:18;;;4171:34;;;3898:10:0;;3911:5;;;;;:14;;4084:18:1;;3911:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3898:46;;3963:5;3955:44;;;;-1:-1:-1;;;3955:44:0;;5050:2:1;3955:44:0;;;5032:21:1;5089:2;5069:18;;;5062:30;5128:28;5108:18;;;5101:56;5174:18;;3955:44:0;4848:350:1;3955:44:0;4021:10;4035:1;4012:20;;;:8;:20;;;;;;;;:24;;;;4054:28;;4111:51:1;;;4178:18;;4171:34;;;4054:28:0;;4084:18:1;4054:28:0;;;;;;;3604:486;;;;3574:516::o;2217:132::-;2293:5;;-1:-1:-1;;;;;2293:5:0;2279:10;:19;2271:42;;;;-1:-1:-1;;;2271:42:0;;;;;;;:::i;:::-;2324:9;:17;2217:132::o;5921:267::-;5996:5;;-1:-1:-1;;;;;5996:5:0;5982:10;:19;5974:42;;;;-1:-1:-1;;;5974:42:0;;;;;;;:::i;:::-;6044:5;;:30;;-1:-1:-1;;;6044:30:0;;6068:4;6044:30;;;2154:51:1;6027:14:0;;-1:-1:-1;;;;;6044:5:0;;:15;;2127:18:1;;6044:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6097:5;;:34;;-1:-1:-1;;;6097:34:0;;6112:10;6097:34;;;4111:51:1;4178:18;;;4171:34;;;6027:47:0;;-1:-1:-1;6085:9:0;;-1:-1:-1;;;;;6097:5:0;;;;:14;;4084:18:1;;6097:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6085:46;;6150:4;6142:38;;;;-1:-1:-1;;;6142:38:0;;4700:2:1;6142:38:0;;;4682:21:1;4739:2;4719:18;;;4712:30;-1:-1:-1;;;4758:18:1;;;4751:51;4819:18;;6142:38:0;4498:345:1;2078:131:0;2156:5;;-1:-1:-1;;;;;2156:5:0;2142:10;:19;2134:42;;;;-1:-1:-1;;;2134:42:0;;;;;;;:::i;:::-;2187:5;:14;;-1:-1:-1;;;;;;2187:14:0;-1:-1:-1;;;;;2187:14:0;;;;;;;;;;2078:131::o;4098:743::-;4265:5;;-1:-1:-1;;;;;4265:5:0;4251:10;:19;4243:42;;;;-1:-1:-1;;;4243:42:0;;;;;;;:::i;:::-;4333:36;;-1:-1:-1;;5597:2:1;5593:15;;;5589:53;4333:36:0;;;5577:66:1;5659:12;;;5652:28;;;5696:12;;;5689:28;;;4296:15:0;;4314:57;;5733:12:1;;4333:36:0;;;;;;;;;;;;4323:47;;;;;;4941:88;;8792:66:1;4941:88:0;;;8780:79:1;8875:12;;;8868:28;;;4904:7:0;;8912:12:1;;4941:88:0;;;;;;;;;;;;4931:99;;;;;;4924:106;;4849:189;;;;4314:57;4296:75;;4427:2;-1:-1:-1;;;;;4390:39:0;:33;4404:7;4413:9;;4390:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4390:13:0;;-1:-1:-1;;;4390:33:0:i;:::-;-1:-1:-1;;;;;4390:39:0;;4382:68;;;;-1:-1:-1;;;4382:68:0;;5958:2:1;4382:68:0;;;5940:21:1;5997:2;5977:18;;;5970:30;-1:-1:-1;;;6016:18:1;;;6009:45;6071:18;;4382:68:0;5756:339:1;4382:68:0;-1:-1:-1;;;;;4469:19:0;;;;;;:15;:19;;;;;;;;:26;;;;;;;;;;;:35;4461:74;;;;-1:-1:-1;;;4461:74:0;;6302:2:1;4461:74:0;;;6284:21:1;6341:2;6321:18;;;6314:30;6380:28;6360:18;;;6353:56;6426:18;;4461:74:0;6100:350:1;4461:74:0;-1:-1:-1;;;;;4546:19:0;;;;;;:15;:19;;;;;;;;:26;;;;;;;;:33;;-1:-1:-1;;4546:33:0;4575:4;4546:33;;;;;;4606:13;;;:9;:13;;;;;;:17;;;:::i;:::-;-1:-1:-1;;;;;4590:13:0;;;;;;:9;:13;;;;;;;;:33;;;;4634:8;:12;;;;;:22;;4650:6;;4590:13;4634:22;;4650:6;;4634:22;:::i;:::-;;;;-1:-1:-1;4813:9:0;;-1:-1:-1;4682:151:0;4701:2;4718:6;4739:15;4769:5;4789:9;;4682:151;;;;;;;;;;;:::i;:::-;;;;;;;;4232:609;4098:743;;;;;:::o;2509:141::-;2592:5;;-1:-1:-1;;;;;2592:5:0;2578:10;:19;2570:42;;;;-1:-1:-1;;;2570:42:0;;;;;;;:::i;:::-;2623:9;:19;;-1:-1:-1;;;;;;2623:19:0;-1:-1:-1;;;;;2623:19:0;;;;;;;;;;2509:141::o;2660:672::-;2793:9;;2780;:22;;2772:52;;;;-1:-1:-1;;;2772:52:0;;7631:2:1;2772:52:0;;;7613:21:1;7670:2;7650:18;;;7643:30;-1:-1:-1;;;7689:18:1;;;7682:47;7746:18;;2772:52:0;7429:341:1;2772:52:0;2859:10;2843:27;;;;:15;:27;;;;;;;;:34;;;;;;;;;;;:43;2835:82;;;;-1:-1:-1;;;2835:82:0;;6302:2:1;2835:82:0;;;6284:21:1;6341:2;6321:18;;;6314:30;6380:28;6360:18;;;6353:56;6426:18;;2835:82:0;6100:350:1;2835:82:0;2944:10;2928:27;;;;:15;:27;;;;;;;;:34;;;;;;;;;:41;;-1:-1:-1;;2928:41:0;2965:4;2928:41;;;2990:5;;2982:34;;-1:-1:-1;;;;;2990:5:0;;;;;3006:9;2982:34;;;;;3006:9;;2982:34;2928:27;2982:34;3006:9;2990:5;2982:34;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3037:5:0;;:53;;-1:-1:-1;;;3037:53:0;;3056:10;3037:53;;;8015:34:1;3076:4:0;8065:18:1;;;8058:43;8117:18;;;8110:34;;;-1:-1:-1;;;;;3037:5:0;;;;:18;;7950::1;;3037:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3135:10:0;3125:21;;;;:9;:21;;;;;;:25;;3149:1;3125:25;:::i;:::-;3111:10;3101:21;;;;:9;:21;;;;;:49;;;;3168:156;3190:4;3209:6;3230:15;3260:5;3280:9;;3168:156;;;;;;;;;;;:::i;:::-;;;;;;;;2660:672;;;;;:::o;3340:137::-;3409:7;3461:5;3445:13;;3436:7;:23;;;;:::i;:::-;:31;;;;:::i;:::-;3429:38;3340:137;-1:-1:-1;;3340:137:0:o;5046:287::-;5154:7;5179;5197:9;5217;5255:19;5270:3;5255:14;:19::i;:::-;5298:27;;;;;;;;;;;;9162:25:1;;;9235:4;9223:17;;9203:18;;;9196:45;;;;9257:18;;;9250:34;;;9300:18;;;9293:34;;;5243:31:0;;-1:-1:-1;5243:31:0;;-1:-1:-1;5243:31:0;-1:-1:-1;5298:27:0;;9134:19:1;;5298:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5298:27:0;;-1:-1:-1;;5298:27:0;;;5046:287;-1:-1:-1;;;;;;;5046:287:0:o;5341:572::-;5433:5;5440:7;5449;5482:3;:10;5496:2;5482:16;5474:25;;;;;;-1:-1:-1;;;5680:2:0;5671:12;;5665:19;5750:2;5741:12;;5735:19;5857:2;5848:12;;;5842:19;5516:9;5834:28;;5665:19;;5735;5341:572::o;14:180:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:1;;14:180;-1:-1:-1;14:180:1:o;199:173::-;267:20;;-1:-1:-1;;;;;316:31:1;;306:42;;296:70;;362:1;359;352:12;296:70;199:173;;;:::o;377:186::-;436:6;489:2;477:9;468:7;464:23;460:32;457:52;;;505:1;502;495:12;457:52;528:29;547:9;528:29;:::i;:::-;518:39;377:186;-1:-1:-1;;;377:186:1:o;750:802::-;847:6;855;863;871;879;932:3;920:9;911:7;907:23;903:33;900:53;;;949:1;946;939:12;900:53;972:29;991:9;972:29;:::i;:::-;962:39;;1048:2;1037:9;1033:18;1020:32;1010:42;;1099:2;1088:9;1084:18;1071:32;1061:42;;1154:2;1143:9;1139:18;1126:32;1177:18;1218:2;1210:6;1207:14;1204:34;;;1234:1;1231;1224:12;1204:34;1272:6;1261:9;1257:22;1247:32;;1317:7;1310:4;1306:2;1302:13;1298:27;1288:55;;1339:1;1336;1329:12;1288:55;1379:2;1366:16;1405:2;1397:6;1394:14;1391:34;;;1421:1;1418;1411:12;1391:34;1466:7;1461:2;1452:6;1448:2;1444:15;1440:24;1437:37;1434:57;;;1487:1;1484;1477:12;1434:57;750:802;;;;-1:-1:-1;750:802:1;;-1:-1:-1;1518:2:1;1510:11;;1540:6;750:802;-1:-1:-1;;;750:802:1:o;1557:254::-;1625:6;1633;1686:2;1674:9;1665:7;1661:23;1657:32;1654:52;;;1702:1;1699;1692:12;1654:52;1725:29;1744:9;1725:29;:::i;:::-;1715:39;1801:2;1786:18;;;;1773:32;;-1:-1:-1;;;1557:254:1:o;2437:334::-;2639:2;2621:21;;;2678:2;2658:18;;;2651:30;-1:-1:-1;;;2712:2:1;2697:18;;2690:40;2762:2;2747:18;;2437:334::o;3675:127::-;3736:10;3731:3;3727:20;3724:1;3717:31;3767:4;3764:1;3757:15;3791:4;3788:1;3781:15;3807:125;3847:4;3875:1;3872;3869:8;3866:34;;;3880:18;;:::i;:::-;-1:-1:-1;3917:9:1;;3807:125::o;4216:277::-;4283:6;4336:2;4324:9;4315:7;4311:23;4307:32;4304:52;;;4352:1;4349;4342:12;4304:52;4384:9;4378:16;4437:5;4430:13;4423:21;4416:5;4413:32;4403:60;;4459:1;4456;4449:12;5203:184;5273:6;5326:2;5314:9;5305:7;5301:23;5297:32;5294:52;;;5342:1;5339;5332:12;5294:52;-1:-1:-1;5365:16:1;;5203:184;-1:-1:-1;5203:184:1:o;6455:128::-;6495:3;6526:1;6522:6;6519:1;6516:13;6513:39;;;6532:18;;:::i;:::-;-1:-1:-1;6568:9:1;;6455:128::o;6720:704::-;7018:1;7014;7009:3;7005:11;7001:19;6993:6;6989:32;6978:9;6971:51;7058:6;7053:2;7042:9;7038:18;7031:34;7101:6;7096:2;7085:9;7081:18;7074:34;7144:6;7139:2;7128:9;7124:18;7117:34;7188:3;7182;7171:9;7167:19;7160:32;7229:6;7223:3;7212:9;7208:19;7201:35;7287:6;7279;7273:3;7262:9;7258:19;7245:49;7344:1;7314:22;;;7338:3;7310:32;;;7303:43;;;;7407:2;7386:15;;;-1:-1:-1;;7382:29:1;7367:45;7363:55;;6720:704;-1:-1:-1;;;;;6720:704:1:o;8155:168::-;8195:7;8261:1;8257;8253:6;8249:14;8246:1;8243:21;8238:1;8231:9;8224:17;8220:45;8217:71;;;8268:18;;:::i;:::-;-1:-1:-1;8308:9:1;;8155:168::o;8328:217::-;8368:1;8394;8384:132;;8438:10;8433:3;8429:20;8426:1;8419:31;8473:4;8470:1;8463:15;8501:4;8498:1;8491:15;8384:132;-1:-1:-1;8530:9:1;;8328:217::o

Swarm Source

ipfs://9063c7544ac5e8d1f9b82d12548ff3569a2ddd887efad0eed29ce2acb9f047aa

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ 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.