ETH Price: $2,527.30 (+0.34%)

Contract

0x8014481101d931c74FfcF96ef839f344B0be26b8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
0x60806040128674842021-07-21 3:45:311137 days ago1626839131IN
 Create: LPTokenMaster
0 ETH0.0246139224

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
LPTokenMaster

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-07-21
*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity 0.8.6;

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

interface IInterestRateModel {
  function systemRate(ILendingPair _pair, address _token) external view returns(uint);
  function supplyRatePerBlock(ILendingPair _pair, address _token) external view returns(uint);
  function borrowRatePerBlock(ILendingPair _pair, address _token) external view returns(uint);
}

interface IRewardDistribution {
  function distributeReward(address _account, address _token) external;
}

interface IController {
  function interestRateModel() external view returns(IInterestRateModel);
  function rewardDistribution() external view returns(IRewardDistribution);
  function feeRecipient() external view returns(address);
  function LIQ_MIN_HEALTH() external view returns(uint);
  function minBorrowUSD() external view returns(uint);
  function liqFeeSystem(address _token) external view returns(uint);
  function liqFeeCaller(address _token) external view returns(uint);
  function liqFeesTotal(address _token) external view returns(uint);
  function colFactor(address _token) external view returns(uint);
  function depositLimit(address _lendingPair, address _token) external view returns(uint);
  function borrowLimit(address _lendingPair, address _token) external view returns(uint);
  function originFee(address _token) external view returns(uint);
  function depositsEnabled() external view returns(bool);
  function borrowingEnabled() external view returns(bool);
  function setFeeRecipient(address _feeRecipient) external;
  function tokenPrice(address _token) external view returns(uint);
  function tokenSupported(address _token) external view returns(bool);
}

interface ILendingPair {
  function checkAccountHealth(address _account) external view;
  function accrueAccount(address _account) external;
  function accrue() external;
  function accountHealth(address _account) external view returns(uint);
  function totalDebt(address _token) external view returns(uint);
  function tokenA() external view returns(address);
  function tokenB() external view returns(address);
  function lpToken(address _token) external view returns(IERC20);
  function debtOf(address _account, address _token) external view returns(uint);
  function pendingDebtTotal(address _token) external view returns(uint);
  function pendingSupplyTotal(address _token) external view returns(uint);
  function deposit(address _token, uint _amount) external;
  function withdraw(address _token, uint _amount) external;
  function borrow(address _token, uint _amount) external;
  function repay(address _token, uint _amount) external;
  function withdrawBorrow(address _token, uint _amount) external;
  function controller() external view returns(IController);

  function borrowBalance(
    address _account,
    address _borrowedToken,
    address _returnToken
  ) external view returns(uint);

  function convertTokenValues(
    address _fromToken,
    address _toToken,
    uint    _inputAmount
  ) external view returns(uint);
}

contract Ownable {

  address public owner;
  address public pendingOwner;

  event OwnershipTransferInitiated(address indexed previousOwner, address indexed newOwner);
  event OwnershipTransferConfirmed(address indexed previousOwner, address indexed newOwner);

  constructor() {
    owner = msg.sender;
    emit OwnershipTransferConfirmed(address(0), owner);
  }

  modifier onlyOwner() {
    require(isOwner(), "Ownable: caller is not the owner");
    _;
  }

  function isOwner() public view returns (bool) {
    return msg.sender == owner;
  }

  function transferOwnership(address _newOwner) external onlyOwner {
    require(_newOwner != address(0), "Ownable: new owner is the zero address");
    emit OwnershipTransferInitiated(owner, _newOwner);
    pendingOwner = _newOwner;
  }

  function acceptOwnership() external {
    require(msg.sender == pendingOwner, "Ownable: caller is not pending owner");
    emit OwnershipTransferConfirmed(owner, pendingOwner);
    owner = pendingOwner;
    pendingOwner = address(0);
  }
}

contract LPTokenMaster is Ownable {

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

  mapping (address => uint) public balanceOf;
  mapping (address => mapping (address => uint)) public allowance;

  bool private initialized;
  string public constant name     = "WILD-LP";
  string public constant symbol   = "WILD-LP";
  uint8  public constant decimals = 18;
  uint public totalSupply;

  function initialize() external {
    require(initialized != true, "LPToken: already intialized");
    owner = msg.sender;
    initialized = true;
  }

  function transfer(address _recipient, uint _amount) external returns (bool) {
    _transfer(msg.sender, _recipient, _amount);
    return true;
  }

  function approve(address _spender, uint _amount) external returns (bool) {
    _approve(msg.sender, _spender, _amount);
    return true;
  }

  function transferFrom(address _sender, address _recipient, uint _amount) external returns (bool) {
    _approve(_sender, msg.sender, allowance[_sender][msg.sender] - _amount);
    _transfer(_sender, _recipient, _amount);
    return true;
  }

  function mint(address _account, uint _amount) external onlyOwner {
    _mint(_account, _amount);
  }

  function burn(address _account, uint _amount) external onlyOwner {
    _burn(_account, _amount);
  }

  function selfBurn(uint _amount) external {
    _burn(msg.sender, _amount);
  }

  function lendingPair() external view returns(address) {
    return owner;
  }

  function underlying() public view returns(address) {
    ILendingPair pair = ILendingPair(owner);
    return address(pair.lpToken(pair.tokenA())) == address(this) ? pair.tokenA() : pair.tokenB();
  }

  function _transfer(address _sender, address _recipient, uint _amount) internal {
    require(_sender != address(0), "ERC20: transfer from the zero address");
    require(_recipient != address(0), "ERC20: transfer to the zero address");
    require(balanceOf[_sender] >= _amount, "ERC20: insufficient funds");

    ILendingPair pair = ILendingPair(owner);
    pair.accrueAccount(_sender);
    pair.accrueAccount(_recipient);

    balanceOf[_sender] -= _amount;
    balanceOf[_recipient] += _amount;

    pair.checkAccountHealth(_sender);

    require(
      pair.borrowBalance(_recipient, underlying(), underlying()) == 0,
      "LendingPair: cannot deposit borrowed token"
    );

    emit Transfer(_sender, _recipient, _amount);
  }

  function _mint(address _account, uint _amount) internal {
    require(_account != address(0), "ERC20: mint to the zero address");

    totalSupply += _amount;
    balanceOf[_account] += _amount;
    emit Transfer(address(0), _account, _amount);
  }

  function _burn(address _account, uint _amount) internal {
    require(_account != address(0), "ERC20: burn from the zero address");

    balanceOf[_account] -= _amount;
    totalSupply -= _amount;
    emit Transfer(_account, address(0), _amount);
  }

  function _approve(address _owner, address _spender, uint _amount) internal {
    require(_owner != address(0), "ERC20: approve from the zero address");
    require(_spender != address(0), "ERC20: approve to the zero address");

    allowance[_owner][_spender] = _amount;
    emit Approval(_owner, _spender, _amount);
  }
}

Contract Security Audit

Contract ABI

[{"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":"OwnershipTransferConfirmed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferInitiated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lendingPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"selfBurn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_sender","type":"address"},{"internalType":"address","name":"_recipient","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"underlying","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b50600080546001600160a01b0319163390811782556040519091907f646fe5eeb20d96ea45a9caafcb508854a2fb5660885ced7772e12a633c974571908290a36111248061005f6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806379ba5097116100ad5780639dc29fac116100715780639dc29fac1461027f578063a9059cbb14610292578063dd62ed3e146102a5578063e30c3978146102d0578063f2fde38b146102e357600080fd5b806379ba5097146102495780638129fc1c146102515780638da5cb5b146102595780638f32d59b1461026c57806395d89b411461013157600080fd5b8063313ce567116100f4578063313ce567146101df57806340c10f19146101f95780635e5ea3271461020e5780636f307dc31461022157806370a082311461022957600080fd5b806306fdde0314610131578063095ea7b31461016d57806318160ddd146101905780631d50d3ba146101a757806323b872dd146101cc575b600080fd5b61015760405180604001604052806007815260200166057494c442d4c560cc1b81525081565b604051610164919061100a565b60405180910390f35b61018061017b366004610fac565b6102f6565b6040519015158152602001610164565b61019960055481565b604051908152602001610164565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610164565b6101806101da366004610f6b565b61030c565b6101e7601281565b60405160ff9091168152602001610164565b61020c610207366004610fac565b61035b565b005b61020c61021c366004610fd8565b61039c565b6101b46103a9565b610199610237366004610ef1565b60026020526000908152604090205481565b61020c6105a4565b61020c61066e565b6000546101b4906001600160a01b031681565b6000546001600160a01b03163314610180565b61020c61028d366004610fac565b6106e7565b6101806102a0366004610fac565b61071b565b6101996102b3366004610f32565b600360209081526000928352604080842090915290825290205481565b6001546101b4906001600160a01b031681565b61020c6102f1366004610ef1565b610728565b6000610303338484610812565b50600192915050565b6001600160a01b03831660009081526003602090815260408083203380855292528220546103469186916103419086906110ac565b610812565b610351848484610936565b5060019392505050565b6000546001600160a01b0316331461038e5760405162461bcd60e51b81526004016103859061105f565b60405180910390fd5b6103988282610d2d565b5050565b6103a63382610e0d565b50565b600080546040805162fc63d160e41b815290516001600160a01b0390921691309183916376a562a4918391630fc63d1091600480820192602092909190829003018186803b1580156103fa57600080fd5b505afa15801561040e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104329190610f15565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561047157600080fd5b505afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610f15565b6001600160a01b03161461052d57806001600160a01b0316635f64b55b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f057600080fd5b505afa158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190610f15565b61059e565b806001600160a01b0316630fc63d106040518163ffffffff1660e01b815260040160206040518083038186803b15801561056657600080fd5b505afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610f15565b91505090565b6001546001600160a01b0316331461060a5760405162461bcd60e51b8152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f742070656e64696e67206f6044820152633bb732b960e11b6064820152608401610385565b600154600080546040516001600160a01b0393841693909116917f646fe5eeb20d96ea45a9caafcb508854a2fb5660885ced7772e12a633c97457191a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60045460ff161515600114156106c65760405162461bcd60e51b815260206004820152601b60248201527f4c50546f6b656e3a20616c726561647920696e7469616c697a656400000000006044820152606401610385565b600080546001600160a01b031916331790556004805460ff19166001179055565b6000546001600160a01b031633146107115760405162461bcd60e51b81526004016103859061105f565b6103988282610e0d565b6000610303338484610936565b6000546001600160a01b031633146107525760405162461bcd60e51b81526004016103859061105f565b6001600160a01b0381166107b75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610385565b600080546040516001600160a01b03808516939216917fb150023a879fd806e3599b6ca8ee3b60f0e360ab3846d128d67ebce1a391639a91a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108745760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610385565b6001600160a01b0382166108d55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610385565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661099a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610385565b6001600160a01b0382166109fc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610385565b6001600160a01b038316600090815260026020526040902054811115610a645760405162461bcd60e51b815260206004820152601960248201527f45524332303a20696e73756666696369656e742066756e6473000000000000006044820152606401610385565b60005460405163bfe69c8d60e01b81526001600160a01b03858116600483015290911690819063bfe69c8d90602401600060405180830381600087803b158015610aad57600080fd5b505af1158015610ac1573d6000803e3d6000fd5b505060405163bfe69c8d60e01b81526001600160a01b0386811660048301528416925063bfe69c8d9150602401600060405180830381600087803b158015610b0857600080fd5b505af1158015610b1c573d6000803e3d6000fd5b505050506001600160a01b03841660009081526002602052604081208054849290610b489084906110ac565b90915550506001600160a01b03831660009081526002602052604081208054849290610b75908490611094565b909155505060405163808355bf60e01b81526001600160a01b03858116600483015282169063808355bf9060240160006040518083038186803b158015610bbb57600080fd5b505afa158015610bcf573d6000803e3d6000fd5b50505050806001600160a01b031663e6c04e7284610beb6103a9565b610bf36103a9565b60405160e085901b6001600160e01b03191681526001600160a01b0393841660048201529183166024830152909116604482015260640160206040518083038186803b158015610c4257600080fd5b505afa158015610c56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7a9190610ff1565b15610cda5760405162461bcd60e51b815260206004820152602a60248201527f4c656e64696e67506169723a2063616e6e6f74206465706f73697420626f727260448201526937bbb2b2103a37b5b2b760b11b6064820152608401610385565b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d1f91815260200190565b60405180910390a350505050565b6001600160a01b038216610d835760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610385565b8060056000828254610d959190611094565b90915550506001600160a01b03821660009081526002602052604081208054839290610dc2908490611094565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b038216610e6d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610385565b6001600160a01b03821660009081526002602052604081208054839290610e959084906110ac565b925050819055508060056000828254610eae91906110ac565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610e01565b600060208284031215610f0357600080fd5b8135610f0e816110d9565b9392505050565b600060208284031215610f2757600080fd5b8151610f0e816110d9565b60008060408385031215610f4557600080fd5b8235610f50816110d9565b91506020830135610f60816110d9565b809150509250929050565b600080600060608486031215610f8057600080fd5b8335610f8b816110d9565b92506020840135610f9b816110d9565b929592945050506040919091013590565b60008060408385031215610fbf57600080fd5b8235610fca816110d9565b946020939093013593505050565b600060208284031215610fea57600080fd5b5035919050565b60006020828403121561100357600080fd5b5051919050565b600060208083528351808285015260005b818110156110375785810183015185820160400152820161101b565b81811115611049576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082198211156110a7576110a76110c3565b500190565b6000828210156110be576110be6110c3565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146103a657600080fdfea26469706673582212206c6162eb41b1336c31ce2122671c06a29c80b1f49d7826a26fac89a8d9a6288764736f6c63430008060033

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806379ba5097116100ad5780639dc29fac116100715780639dc29fac1461027f578063a9059cbb14610292578063dd62ed3e146102a5578063e30c3978146102d0578063f2fde38b146102e357600080fd5b806379ba5097146102495780638129fc1c146102515780638da5cb5b146102595780638f32d59b1461026c57806395d89b411461013157600080fd5b8063313ce567116100f4578063313ce567146101df57806340c10f19146101f95780635e5ea3271461020e5780636f307dc31461022157806370a082311461022957600080fd5b806306fdde0314610131578063095ea7b31461016d57806318160ddd146101905780631d50d3ba146101a757806323b872dd146101cc575b600080fd5b61015760405180604001604052806007815260200166057494c442d4c560cc1b81525081565b604051610164919061100a565b60405180910390f35b61018061017b366004610fac565b6102f6565b6040519015158152602001610164565b61019960055481565b604051908152602001610164565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610164565b6101806101da366004610f6b565b61030c565b6101e7601281565b60405160ff9091168152602001610164565b61020c610207366004610fac565b61035b565b005b61020c61021c366004610fd8565b61039c565b6101b46103a9565b610199610237366004610ef1565b60026020526000908152604090205481565b61020c6105a4565b61020c61066e565b6000546101b4906001600160a01b031681565b6000546001600160a01b03163314610180565b61020c61028d366004610fac565b6106e7565b6101806102a0366004610fac565b61071b565b6101996102b3366004610f32565b600360209081526000928352604080842090915290825290205481565b6001546101b4906001600160a01b031681565b61020c6102f1366004610ef1565b610728565b6000610303338484610812565b50600192915050565b6001600160a01b03831660009081526003602090815260408083203380855292528220546103469186916103419086906110ac565b610812565b610351848484610936565b5060019392505050565b6000546001600160a01b0316331461038e5760405162461bcd60e51b81526004016103859061105f565b60405180910390fd5b6103988282610d2d565b5050565b6103a63382610e0d565b50565b600080546040805162fc63d160e41b815290516001600160a01b0390921691309183916376a562a4918391630fc63d1091600480820192602092909190829003018186803b1580156103fa57600080fd5b505afa15801561040e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104329190610f15565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260240160206040518083038186803b15801561047157600080fd5b505afa158015610485573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a99190610f15565b6001600160a01b03161461052d57806001600160a01b0316635f64b55b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f057600080fd5b505afa158015610504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105289190610f15565b61059e565b806001600160a01b0316630fc63d106040518163ffffffff1660e01b815260040160206040518083038186803b15801561056657600080fd5b505afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610f15565b91505090565b6001546001600160a01b0316331461060a5760405162461bcd60e51b8152602060048201526024808201527f4f776e61626c653a2063616c6c6572206973206e6f742070656e64696e67206f6044820152633bb732b960e11b6064820152608401610385565b600154600080546040516001600160a01b0393841693909116917f646fe5eeb20d96ea45a9caafcb508854a2fb5660885ced7772e12a633c97457191a360018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60045460ff161515600114156106c65760405162461bcd60e51b815260206004820152601b60248201527f4c50546f6b656e3a20616c726561647920696e7469616c697a656400000000006044820152606401610385565b600080546001600160a01b031916331790556004805460ff19166001179055565b6000546001600160a01b031633146107115760405162461bcd60e51b81526004016103859061105f565b6103988282610e0d565b6000610303338484610936565b6000546001600160a01b031633146107525760405162461bcd60e51b81526004016103859061105f565b6001600160a01b0381166107b75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610385565b600080546040516001600160a01b03808516939216917fb150023a879fd806e3599b6ca8ee3b60f0e360ab3846d128d67ebce1a391639a91a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166108745760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610385565b6001600160a01b0382166108d55760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610385565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831661099a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610385565b6001600160a01b0382166109fc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610385565b6001600160a01b038316600090815260026020526040902054811115610a645760405162461bcd60e51b815260206004820152601960248201527f45524332303a20696e73756666696369656e742066756e6473000000000000006044820152606401610385565b60005460405163bfe69c8d60e01b81526001600160a01b03858116600483015290911690819063bfe69c8d90602401600060405180830381600087803b158015610aad57600080fd5b505af1158015610ac1573d6000803e3d6000fd5b505060405163bfe69c8d60e01b81526001600160a01b0386811660048301528416925063bfe69c8d9150602401600060405180830381600087803b158015610b0857600080fd5b505af1158015610b1c573d6000803e3d6000fd5b505050506001600160a01b03841660009081526002602052604081208054849290610b489084906110ac565b90915550506001600160a01b03831660009081526002602052604081208054849290610b75908490611094565b909155505060405163808355bf60e01b81526001600160a01b03858116600483015282169063808355bf9060240160006040518083038186803b158015610bbb57600080fd5b505afa158015610bcf573d6000803e3d6000fd5b50505050806001600160a01b031663e6c04e7284610beb6103a9565b610bf36103a9565b60405160e085901b6001600160e01b03191681526001600160a01b0393841660048201529183166024830152909116604482015260640160206040518083038186803b158015610c4257600080fd5b505afa158015610c56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7a9190610ff1565b15610cda5760405162461bcd60e51b815260206004820152602a60248201527f4c656e64696e67506169723a2063616e6e6f74206465706f73697420626f727260448201526937bbb2b2103a37b5b2b760b11b6064820152608401610385565b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d1f91815260200190565b60405180910390a350505050565b6001600160a01b038216610d835760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610385565b8060056000828254610d959190611094565b90915550506001600160a01b03821660009081526002602052604081208054839290610dc2908490611094565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001600160a01b038216610e6d5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610385565b6001600160a01b03821660009081526002602052604081208054839290610e959084906110ac565b925050819055508060056000828254610eae91906110ac565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610e01565b600060208284031215610f0357600080fd5b8135610f0e816110d9565b9392505050565b600060208284031215610f2757600080fd5b8151610f0e816110d9565b60008060408385031215610f4557600080fd5b8235610f50816110d9565b91506020830135610f60816110d9565b809150509250929050565b600080600060608486031215610f8057600080fd5b8335610f8b816110d9565b92506020840135610f9b816110d9565b929592945050506040919091013590565b60008060408385031215610fbf57600080fd5b8235610fca816110d9565b946020939093013593505050565b600060208284031215610fea57600080fd5b5035919050565b60006020828403121561100357600080fd5b5051919050565b600060208083528351808285015260005b818110156110375785810183015185820160400152820161101b565b81811115611049576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082198211156110a7576110a76110c3565b500190565b6000828210156110be576110be6110c3565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146103a657600080fdfea26469706673582212206c6162eb41b1336c31ce2122671c06a29c80b1f49d7826a26fac89a8d9a6288764736f6c63430008060033

Deployed Bytecode Sourcemap

5007:3427:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5348:43;;;;;;;;;;;;;;;-1:-1:-1;;;5348:43:0;;;;;;;;;;;;:::i;:::-;;;;;;;;5829:143;;;;;;:::i;:::-;;:::i;:::-;;;3101:14:1;;3094:22;3076:41;;3064:2;3049:18;5829:143:0;3031:92:1;5485:23:0;;;;;;;;;8550:25:1;;;8538:2;8523:18;5485:23:0;8505:76:1;6531:79:0;6576:7;6599:5;-1:-1:-1;;;;;6599:5:0;6531:79;;;-1:-1:-1;;;;;2503:32:1;;;2485:51;;2473:2;2458:18;6531:79:0;2440:102:1;5978:245:0;;;;;;:::i;:::-;;:::i;5444:36::-;;5478:2;5444:36;;;;;8758:4:1;8746:17;;;8728:36;;8716:2;8701:18;5444:36:0;8683:87:1;6229:102:0;;;;;;:::i;:::-;;:::i;:::-;;6445:80;;;;;;:::i;:::-;;:::i;6616:202::-;;;:::i;5202:42::-;;;;;;:::i;:::-;;;;;;;;;;;;;;4758:242;;;:::i;5515:153::-;;;:::i;3963:20::-;;;;;-1:-1:-1;;;;;3963:20:0;;;4422:85;4462:4;4496:5;-1:-1:-1;;;;;4496:5:0;4482:10;:19;4422:85;;6337:102;;;;;;:::i;:::-;;:::i;5674:149::-;;;;;;:::i;:::-;;:::i;5249:63::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;3988:27;;;;;-1:-1:-1;;;;;3988:27:0;;;4513:239;;;;;;:::i;:::-;;:::i;5829:143::-;5896:4;5909:39;5918:10;5930:8;5940:7;5909:8;:39::i;:::-;-1:-1:-1;5962:4:0;5829:143;;;;:::o;5978:245::-;-1:-1:-1;;;;;6112:18:0;;6069:4;6112:18;;;:9;:18;;;;;;;;6100:10;6112:30;;;;;;;;6082:71;;6091:7;;6112:40;;6145:7;;6112:40;:::i;:::-;6082:8;:71::i;:::-;6160:39;6170:7;6179:10;6191:7;6160:9;:39::i;:::-;-1:-1:-1;6213:4:0;5978:245;;;;;:::o;6229:102::-;4462:4;4496:5;-1:-1:-1;;;;;4496:5:0;4482:10;:19;4348:54;;;;-1:-1:-1;;;4348:54:0;;;;;;;:::i;:::-;;;;;;;;;6301:24:::1;6307:8;6317:7;6301:5;:24::i;:::-;6229:102:::0;;:::o;6445:80::-;6493:26;6499:10;6511:7;6493:5;:26::i;:::-;6445:80;:::o;6616:202::-;6658:7;6707:5;;6748:13;;;-1:-1:-1;;;6748:13:0;;;;-1:-1:-1;;;;;6707:5:0;;;;6775:4;;6707:5;;6735:12;;6707:5;;6748:11;;:13;;;;;;;;;;;;;;;6707:5;6748:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6735:27;;-1:-1:-1;;;;;;6735:27:0;;;;;;;-1:-1:-1;;;;;2503:32:1;;;6735:27:0;;;2485:51:1;2458:18;;6735:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6727:53:0;;:85;;6799:4;-1:-1:-1;;;;;6799:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6727:85;;;6783:4;-1:-1:-1;;;;;6783:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6720:92;;;6616:202;:::o;4758:242::-;4823:12;;-1:-1:-1;;;;;4823:12:0;4809:10;:26;4801:75;;;;-1:-1:-1;;;4801:75:0;;7841:2:1;4801:75:0;;;7823:21:1;7880:2;7860:18;;;7853:30;7919:34;7899:18;;;7892:62;-1:-1:-1;;;7970:18:1;;;7963:34;8014:19;;4801:75:0;7813:226:1;4801:75:0;4922:12;;;4915:5;;4888:47;;-1:-1:-1;;;;;4922:12:0;;;;4915:5;;;;4888:47;;;4950:12;;;;4942:20;;-1:-1:-1;;;;;;4942:20:0;;;-1:-1:-1;;;;;4950:12:0;;4942:20;;;;4969:25;;;4758:242::o;5515:153::-;5561:11;;;;:19;;:11;:19;;5553:59;;;;-1:-1:-1;;;5553:59:0;;5146:2:1;5553:59:0;;;5128:21:1;5185:2;5165:18;;;5158:30;5224:29;5204:18;;;5197:57;5271:18;;5553:59:0;5118:177:1;5553:59:0;5619:5;:18;;-1:-1:-1;;;;;;5619:18:0;5627:10;5619:18;;;5644:11;:18;;-1:-1:-1;;5644:18:0;5619;5644;;;5515:153::o;6337:102::-;4462:4;4496:5;-1:-1:-1;;;;;4496:5:0;4482:10;:19;4348:54;;;;-1:-1:-1;;;4348:54:0;;;;;;;:::i;:::-;6409:24:::1;6415:8;6425:7;6409:5;:24::i;5674:149::-:0;5744:4;5757:42;5767:10;5779;5791:7;5757:9;:42::i;4513:239::-;4462:4;4496:5;-1:-1:-1;;;;;4496:5:0;4482:10;:19;4348:54;;;;-1:-1:-1;;;4348:54:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4593:23:0;::::1;4585:74;;;::::0;-1:-1:-1;;;4585:74:0;;4336:2:1;4585:74:0::1;::::0;::::1;4318:21:1::0;4375:2;4355:18;;;4348:30;4414:34;4394:18;;;4387:62;-1:-1:-1;;;4465:18:1;;;4458:36;4511:19;;4585:74:0::1;4308:228:1::0;4585:74:0::1;4698:5;::::0;;4671:44:::1;::::0;-1:-1:-1;;;;;4671:44:0;;::::1;::::0;4698:5;::::1;::::0;4671:44:::1;::::0;::::1;4722:12;:24:::0;;-1:-1:-1;;;;;;4722:24:0::1;-1:-1:-1::0;;;;;4722:24:0;;;::::1;::::0;;;::::1;::::0;;4513:239::o;8105:326::-;-1:-1:-1;;;;;8195:20:0;;8187:69;;;;-1:-1:-1;;;8187:69:0;;7436:2:1;8187:69:0;;;7418:21:1;7475:2;7455:18;;;7448:30;7514:34;7494:18;;;7487:62;-1:-1:-1;;;7565:18:1;;;7558:34;7609:19;;8187:69:0;7408:226:1;8187:69:0;-1:-1:-1;;;;;8271:22:0;;8263:69;;;;-1:-1:-1;;;8263:69:0;;4743:2:1;8263:69:0;;;4725:21:1;4782:2;4762:18;;;4755:30;4821:34;4801:18;;;4794:62;-1:-1:-1;;;4872:18:1;;;4865:32;4914:19;;8263:69:0;4715:224:1;8263:69:0;-1:-1:-1;;;;;8341:17:0;;;;;;;:9;:17;;;;;;;;:27;;;;;;;;;;;;;:37;;;8390:35;;8550:25:1;;;8390:35:0;;8523:18:1;8390:35:0;;;;;;;8105:326;;;:::o;6824:753::-;-1:-1:-1;;;;;6918:21:0;;6910:71;;;;-1:-1:-1;;;6910:71:0;;6676:2:1;6910:71:0;;;6658:21:1;6715:2;6695:18;;;6688:30;6754:34;6734:18;;;6727:62;-1:-1:-1;;;6805:18:1;;;6798:35;6850:19;;6910:71:0;6648:227:1;6910:71:0;-1:-1:-1;;;;;6996:24:0;;6988:72;;;;-1:-1:-1;;;6988:72:0;;3932:2:1;6988:72:0;;;3914:21:1;3971:2;3951:18;;;3944:30;4010:34;3990:18;;;3983:62;-1:-1:-1;;;4061:18:1;;;4054:33;4104:19;;6988:72:0;3904:225:1;6988:72:0;-1:-1:-1;;;;;7075:18:0;;;;;;:9;:18;;;;;;:29;-1:-1:-1;7075:29:0;7067:67;;;;-1:-1:-1;;;7067:67:0;;7082:2:1;7067:67:0;;;7064:21:1;7121:2;7101:18;;;7094:30;7160:27;7140:18;;;7133:55;7205:18;;7067:67:0;7054:175:1;7067:67:0;7143:17;7176:5;7189:27;;-1:-1:-1;;;7189:27:0;;-1:-1:-1;;;;;2503:32:1;;;7189:27:0;;;2485:51:1;7176:5:0;;;;;;7189:18;;2458::1;;7189:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7223:30:0;;-1:-1:-1;;;7223:30:0;;-1:-1:-1;;;;;2503:32:1;;;7223:30:0;;;2485:51:1;7223:18:0;;;-1:-1:-1;7223:18:0;;-1:-1:-1;2458:18:1;;7223:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;7262:18:0;;;;;;:9;:18;;;;;:29;;7284:7;;7262:18;:29;;7284:7;;7262:29;:::i;:::-;;;;-1:-1:-1;;;;;;;7298:21:0;;;;;;:9;:21;;;;;:32;;7323:7;;7298:21;:32;;7323:7;;7298:32;:::i;:::-;;;;-1:-1:-1;;7339:32:0;;-1:-1:-1;;;7339:32:0;;-1:-1:-1;;;;;2503:32:1;;;7339::0;;;2485:51:1;7339:23:0;;;;;2458:18:1;;7339:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7396:4;-1:-1:-1;;;;;7396:18:0;;7415:10;7427:12;:10;:12::i;:::-;7441;:10;:12::i;:::-;7396:58;;;;;;-1:-1:-1;;;;;;7396:58:0;;;-1:-1:-1;;;;;2805:15:1;;;7396:58:0;;;2787:34:1;2857:15;;;2837:18;;;2830:43;2909:15;;;2889:18;;;2882:43;2722:18;;7396:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:63;7380:139;;;;-1:-1:-1;;;7380:139:0;;5502:2:1;7380:139:0;;;5484:21:1;5541:2;5521:18;;;5514:30;5580:34;5560:18;;;5553:62;-1:-1:-1;;;5631:18:1;;;5624:40;5681:19;;7380:139:0;5474:232:1;7380:139:0;7551:10;-1:-1:-1;;;;;7533:38:0;7542:7;-1:-1:-1;;;;;7533:38:0;;7563:7;7533:38;;;;8550:25:1;;8538:2;8523:18;;8505:76;7533:38:0;;;;;;;;6903:674;6824:753;;;:::o;7583:254::-;-1:-1:-1;;;;;7654:22:0;;7646:66;;;;-1:-1:-1;;;7646:66:0;;8246:2:1;7646:66:0;;;8228:21:1;8285:2;8265:18;;;8258:30;8324:33;8304:18;;;8297:61;8375:18;;7646:66:0;8218:181:1;7646:66:0;7736:7;7721:11;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;7750:19:0;;;;;;:9;:19;;;;;:30;;7773:7;;7750:19;:30;;7773:7;;7750:30;:::i;:::-;;;;-1:-1:-1;;7792:39:0;;8550:25:1;;;-1:-1:-1;;;;;7792:39:0;;;7809:1;;7792:39;;8538:2:1;8523:18;7792:39:0;;;;;;;;7583:254;;:::o;7843:256::-;-1:-1:-1;;;;;7914:22:0;;7906:68;;;;-1:-1:-1;;;7906:68:0;;6274:2:1;7906:68:0;;;6256:21:1;6313:2;6293:18;;;6286:30;6352:34;6332:18;;;6325:62;-1:-1:-1;;;6403:18:1;;;6396:31;6444:19;;7906:68:0;6246:223:1;7906:68:0;-1:-1:-1;;;;;7983:19:0;;;;;;:9;:19;;;;;:30;;8006:7;;7983:19;:30;;8006:7;;7983:30;:::i;:::-;;;;;;;;8035:7;8020:11;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;8054:39:0;;8550:25:1;;;8081:1:0;;-1:-1:-1;;;;;8054:39:0;;;;;8538:2:1;8523:18;8054:39:0;8505:76:1;14:247;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;181:9;168:23;200:31;225:5;200:31;:::i;:::-;250:5;84:177;-1:-1:-1;;;84:177:1:o;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:2;;;405:1;402;395:12;357:2;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:2;;;667:1;664;657:12;619:2;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;609:301;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:2;;;1077:1;1074;1067:12;1029:2;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;1019:352;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;1019:352::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:2;;;1521:1;1518;1511:12;1473:2;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1463:228:1:o;1965:180::-;2024:6;2077:2;2065:9;2056:7;2052:23;2048:32;2045:2;;;2093:1;2090;2083:12;2045:2;-1:-1:-1;2116:23:1;;2035:110;-1:-1:-1;2035:110:1:o;2150:184::-;2220:6;2273:2;2261:9;2252:7;2248:23;2244:32;2241:2;;;2289:1;2286;2279:12;2241:2;-1:-1:-1;2312:16:1;;2231:103;-1:-1:-1;2231:103:1:o;3128:597::-;3240:4;3269:2;3298;3287:9;3280:21;3330:6;3324:13;3373:6;3368:2;3357:9;3353:18;3346:34;3398:1;3408:140;3422:6;3419:1;3416:13;3408:140;;;3517:14;;;3513:23;;3507:30;3483:17;;;3502:2;3479:26;3472:66;3437:10;;3408:140;;;3566:6;3563:1;3560:13;3557:2;;;3636:1;3631:2;3622:6;3611:9;3607:22;3603:31;3596:42;3557:2;-1:-1:-1;3709:2:1;3688:15;-1:-1:-1;;3684:29:1;3669:45;;;;3716:2;3665:54;;3249:476;-1:-1:-1;;;3249:476:1:o;5711:356::-;5913:2;5895:21;;;5932:18;;;5925:30;5991:34;5986:2;5971:18;;5964:62;6058:2;6043:18;;5885:182::o;8775:128::-;8815:3;8846:1;8842:6;8839:1;8836:13;8833:2;;;8852:18;;:::i;:::-;-1:-1:-1;8888:9:1;;8823:80::o;8908:125::-;8948:4;8976:1;8973;8970:8;8967:2;;;8981:18;;:::i;:::-;-1:-1:-1;9018:9:1;;8957:76::o;9038:127::-;9099:10;9094:3;9090:20;9087:1;9080:31;9130:4;9127:1;9120:15;9154:4;9151:1;9144:15;9170:131;-1:-1:-1;;;;;9245:31:1;;9235:42;;9225:2;;9291:1;9288;9281:12

Swarm Source

ipfs://6c6162eb41b1336c31ce2122671c06a29c80b1f49d7826a26fac89a8d9a62887

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.