ETH Price: $3,585.82 (+4.63%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Governance_Finance_AI

Compiler Version
v0.7.0+commit.9e61f92b

Optimization Enabled:
Yes with 200 runs

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

/*

governance Finance AI is the governance token in the open-source 
ecosystem Finance AI which aims to grow and optimize users' monetary value 
with compounding interest by leveraging on blockchain 
technology, decentralized oracles, deFi, DAO and many more.

Website: finance-ai.org
Telegram: t.me/financeAI

*/
pragma solidity 0.7.0;
 
interface IERC20 {
    
  function totalSupply()                                         external view returns (uint256);
  
  function balanceOf(address who)                                external view returns (uint256);
  
  function allowance(address owner, address spender)             external view returns (uint256);
  
  function transfer(address to, uint256 value)                   external      returns (bool);
  
  function approve(address spender, uint256 value)               external      returns (bool);
  
  function transferFrom(address from, address to, uint256 value) external      returns (bool);
 
  event Transfer(address indexed from, address indexed to, uint256 value);
  
  event Approval(address indexed owner, address indexed spender, uint256 value);
  
}
 
library SafeMath {
    
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        
        uint256 c = a + b;
        
        require(c >= a);
        
        return c;
    }
 
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        
        require(b <= a);
        
        uint256 c = a - b;
        
        return c;
    }
 
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        
        if (a == 0) {
            
            return 0;
            
        }
        
        uint256 c = a * b;
        
        require(c / a == b);
        
        return c;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) {

     
        require(b > 0);
        
        uint256 c = a / b;
        
        return c;
        
    }
    
    function ceil(uint256 a, uint256 m) internal pure returns (uint256) {
        
        uint256 c = add(a,m);
        
        uint256 d = sub(c,1);
        
        return mul(div(d,m),m);
        
    }
}
 
 
abstract contract ERC20Detailed is IERC20 {
 
  string private _name;
  
  string private _symbol;
  
  uint8  private _decimals;
 
  constructor(string memory name, string memory symbol, uint8 decimals) {
  
    _name     = name;
  
    _symbol   = symbol;
  
    _decimals = decimals;
  }
 
  function name() public view returns(string memory) {
    
    return _name;
    
  }
 
  function symbol() public view returns(string memory) {
    
    return _symbol;
    
  }
  
 
  function decimals() public view returns(uint8) {
    
    return _decimals;
    
  }
  
}
 
 contract Governance_Finance_AI is ERC20Detailed {
     
     
  using SafeMath for uint256;
 
  mapping (address => uint256)                      private _balances;
  
  mapping (address => mapping (address => uint256)) private _allowed;
  
  mapping (address => bool)                         private _whitelist;
 
  address private constant _router  = 0xFE7605C7B32110C3ce516F9f6ee2B7d1e0DD572f;
  
  address private          _owner;
 
  string   constant tokenName     = "Governance Finance AI";
  
  string   constant tokenSymbol   = "gFAI";
  
  uint8    constant tokenDecimals = 0;
  
  uint256  public   burnPct       = 2;
  
  uint256  private  _totalSupply  = 1_000_000;
  
  uint256  private  _txCap        = 70_000;
 
  constructor() ERC20Detailed(tokenName, tokenSymbol, tokenDecimals) {
  
      _owner = msg.sender;
  
      _balances[_owner] = _totalSupply;
  
      _modifyWhitelist(_owner, true);
  
      _modifyWhitelist(_router, true);
  
  }
  
  function _checkWhitelist(address adr) internal view returns (bool) {
  
    return _whitelist[adr];
  
      
  }
 
  function totalSupply() external view override returns (uint256) {
    
    return _totalSupply;
  
  }
 
  function allowance(address owner, address spender) external view override returns (uint256) {
    
    return _allowed[owner][spender];
  
  }
  
  function balanceOf(address owner) external view override returns (uint256) {
  
    return _balances[owner];
  
  }
 
  function findBurnAmount(uint256 rate, uint256 value) public pure returns (uint256) {
      
      return value.ceil(100).mul(rate).div(100);
  
  }
 
  function _modifyWhitelist(address adr, bool state) internal {
  
    _whitelist[adr] = state;
  
  }
  
  function transfer(address to, uint256 value) external override returns (bool) {
    
    require(value <= _balances[msg.sender]);
    
    require(to != address(0));
    
    if (_checkWhitelist(msg.sender)) {
    
    _balances[msg.sender] = _balances[msg.sender].sub(value);
    
    _balances[to] = _balances[to].add(value);
 
    emit Transfer(msg.sender, to, value);
 
    return true;
 
  } else {

     
    require (value <= _txCap || _checkWhitelist(to),
    
            "The Amount Exceeds your transaction cap.");
    
    uint256 tokensToBurn     = findBurnAmount(burnPct, value);
    
    uint256 tokensToTransfer = value.sub(tokensToBurn);
 
    _balances[msg.sender] = _balances[msg.sender].sub(value);
    
    _balances[to] = _balances[to].add(tokensToTransfer);
 
    _totalSupply = _totalSupply.sub(tokensToBurn);
    
    emit Transfer(msg.sender, to, tokensToTransfer);
    
    emit Transfer(msg.sender, address(0), tokensToBurn);
    
    return true;
  }
}


  function transferFrom(address from, address to, uint256 value) external override returns (bool) {
    
    require(value <= _balances[from]);
    
    require(value <= _allowed[from][msg.sender]);
    
    require(to != address(0));
    
    if (_checkWhitelist(from)) {
    
      _balances[from] = _balances[from].sub(value);
    
      _balances[to] = _balances[to].add(value);
 
    
      emit Transfer(from, to, value);
    
      return true;
    
        
    } else {
      
      require (value <= _txCap || _checkWhitelist(to),
      
              "amount exceeds tx cap");
 
      _balances[from] = _balances[from].sub(value);
 
      uint256 tokensToBurn     = findBurnAmount(burnPct, value);
      
      uint256 tokensToTransfer = value.sub(tokensToBurn);
      
      _balances[to] = _balances[to].add(tokensToTransfer);
      
      _totalSupply  = _totalSupply.sub(tokensToBurn);
 
      _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);
      
      emit Transfer(from, to, tokensToTransfer);
      
      emit Transfer(from, address(0), tokensToBurn);
 
      return true;
    }
  }
  
  function approve(address spender, uint256 value) external override returns (bool) {
      
    require(spender != address(0));
    
    _allowed[msg.sender][spender] = value;
 
    emit Approval(msg.sender, spender, value);
    
    return true;
  }

  function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
      
  
    require(spender != address(0));
  
    _allowed[msg.sender][spender] = (_allowed[msg.sender][spender].add(addedValue));
  
    emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
  
    return true;
  }
 
  function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
  
    require(spender != address(0));
  
    _allowed[msg.sender][spender] = (_allowed[msg.sender][spender].sub(subtractedValue));
  
    emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
  
    return true;
  }
 
}

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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"burnPct","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"findBurnAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60806040526002600755620f42406008556201117060095534801561002357600080fd5b50604080518082018252601581527f476f7665726e616e63652046696e616e636520414900000000000000000000006020808301918252835180850190945260048452636746414960e01b9084015281519192916000916100869183919061013f565b50815161009a90600190602085019061013f565b506002805460ff90921660ff199092169190911790555050600680546001600160a01b03191633178082556008546001600160a01b0391821660009081526003602052604090205590546100f091166001610114565b61010f73fe7605c7b32110c3ce516f9f6ee2b7d1e0dd572f6001610114565b6101d2565b6001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061018057805160ff19168380011785556101ad565b828001600101855582156101ad579182015b828111156101ad578251825591602001919060010190610192565b506101b99291506101bd565b5090565b5b808211156101b957600081556001016101be565b610c0b806101e16000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806353f9963f1161008c5780639618b31c116100665780639618b31c1461027c578063a457c2d714610284578063a9059cbb146102b0578063dd62ed3e146102dc576100cf565b806353f9963f1461022b57806370a082311461024e57806395d89b4114610274576100cf565b806306fdde03146100d4578063095ea7b31461015157806318160ddd1461019157806323b872dd146101ab578063313ce567146101e157806339509351146101ff575b600080fd5b6100dc61030a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101165781810151838201526020016100fe565b50505050905090810190601f1680156101435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561016757600080fd5b506001600160a01b0381351690602001356103a0565b604080519115158252519081900360200190f35b61019961041d565b60408051918252519081900360200190f35b61017d600480360360608110156101c157600080fd5b506001600160a01b03813581169160208101359091169060400135610423565b6101e96106f9565b6040805160ff9092168252519081900360200190f35b61017d6004803603604081101561021557600080fd5b506001600160a01b038135169060200135610702565b6101996004803603604081101561024157600080fd5b50803590602001356107aa565b6101996004803603602081101561026457600080fd5b50356001600160a01b03166107cb565b6100dc6107e6565b610199610846565b61017d6004803603604081101561029a57600080fd5b506001600160a01b03813516906020013561084c565b61017d600480360360408110156102c657600080fd5b506001600160a01b03813516906020013561088f565b610199600480360360408110156102f257600080fd5b506001600160a01b0381358116916020013516610a9a565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103965780601f1061036b57610100808354040283529160200191610396565b820191906000526020600020905b81548152906001019060200180831161037957829003601f168201915b5050505050905090565b60006001600160a01b0383166103b557600080fd5b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60085490565b6001600160a01b03831660009081526003602052604081205482111561044857600080fd5b6001600160a01b038416600090815260046020908152604080832033845290915290205482111561047857600080fd5b6001600160a01b03831661048b57600080fd5b61049484610ac5565b15610538576001600160a01b0384166000908152600360205260409020546104bc9083610ae3565b6001600160a01b0380861660009081526003602052604080822093909355908516815220546104eb9083610af8565b6001600160a01b038085166000818152600360209081526040918290209490945580518681529051919392881692600080516020610bb683398151915292918290030190a35060016106f2565b6009548211158061054d575061054d83610ac5565b610596576040805162461bcd60e51b81526020600482015260156024820152740616d6f756e7420657863656564732074782063617605c1b604482015290519081900360640190fd5b6001600160a01b0384166000908152600360205260409020546105b99083610ae3565b6001600160a01b0385166000908152600360205260408120919091556007546105e290846107aa565b905060006105f08483610ae3565b6001600160a01b0386166000908152600360205260409020549091506106169082610af8565b6001600160a01b03861660009081526003602052604090205560085461063c9083610ae3565b6008556001600160a01b038616600090815260046020908152604080832033845290915290205461066d9085610ae3565b6001600160a01b0380881660008181526004602090815260408083203384528252918290209490945580518581529051928916939192600080516020610bb6833981519152929181900390910190a36040805183815290516000916001600160a01b03891691600080516020610bb68339815191529181900360200190a36001925050505b9392505050565b60025460ff1690565b60006001600160a01b03831661071757600080fd5b3360009081526004602090815260408083206001600160a01b03871684529091529020546107459083610af8565b3360008181526004602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60006106f260646107c5856107bf8684610b0a565b90610b44565b90610b6b565b6001600160a01b031660009081526003602052604090205490565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156103965780601f1061036b57610100808354040283529160200191610396565b60075481565b60006001600160a01b03831661086157600080fd5b3360009081526004602090815260408083206001600160a01b03871684529091529020546107459083610ae3565b336000908152600360205260408120548211156108ab57600080fd5b6001600160a01b0383166108be57600080fd5b6108c733610ac5565b1561095d57336000908152600360205260409020546108e69083610ae3565b33600090815260036020526040808220929092556001600160a01b038516815220546109129083610af8565b6001600160a01b038416600081815260036020908152604091829020939093558051858152905191923392600080516020610bb68339815191529281900390910190a3506001610417565b60095482111580610972575061097283610ac5565b6109ad5760405162461bcd60e51b8152600401808060200182810382526028815260200180610b8e6028913960400191505060405180910390fd5b60006109bb600754846107aa565b905060006109c98483610ae3565b336000908152600360205260409020549091506109e69085610ae3565b33600090815260036020526040808220929092556001600160a01b03871681522054610a129082610af8565b6001600160a01b038616600090815260036020526040902055600854610a389083610ae3565b6008556040805182815290516001600160a01b038716913391600080516020610bb68339815191529181900360200190a36040805183815290516000913391600080516020610bb68339815191529181900360200190a3600192505050610417565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6001600160a01b031660009081526005602052604090205460ff1690565b600082821115610af257600080fd5b50900390565b6000828201838110156106f257600080fd5b600080610b178484610af8565b90506000610b26826001610ae3565b9050610b3b610b358286610b6b565b85610b44565b95945050505050565b600082610b5357506000610417565b82820282848281610b6057fe5b04146106f257600080fd5b6000808211610b7957600080fd5b6000828481610b8457fe5b0494935050505056fe54686520416d6f756e74204578636565647320796f7572207472616e73616374696f6e206361702eddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220a0d2158e1b60d000a683a1262ebb59a0b3899d051fddf3578847c9244a23998964736f6c63430007000033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806353f9963f1161008c5780639618b31c116100665780639618b31c1461027c578063a457c2d714610284578063a9059cbb146102b0578063dd62ed3e146102dc576100cf565b806353f9963f1461022b57806370a082311461024e57806395d89b4114610274576100cf565b806306fdde03146100d4578063095ea7b31461015157806318160ddd1461019157806323b872dd146101ab578063313ce567146101e157806339509351146101ff575b600080fd5b6100dc61030a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101165781810151838201526020016100fe565b50505050905090810190601f1680156101435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61017d6004803603604081101561016757600080fd5b506001600160a01b0381351690602001356103a0565b604080519115158252519081900360200190f35b61019961041d565b60408051918252519081900360200190f35b61017d600480360360608110156101c157600080fd5b506001600160a01b03813581169160208101359091169060400135610423565b6101e96106f9565b6040805160ff9092168252519081900360200190f35b61017d6004803603604081101561021557600080fd5b506001600160a01b038135169060200135610702565b6101996004803603604081101561024157600080fd5b50803590602001356107aa565b6101996004803603602081101561026457600080fd5b50356001600160a01b03166107cb565b6100dc6107e6565b610199610846565b61017d6004803603604081101561029a57600080fd5b506001600160a01b03813516906020013561084c565b61017d600480360360408110156102c657600080fd5b506001600160a01b03813516906020013561088f565b610199600480360360408110156102f257600080fd5b506001600160a01b0381358116916020013516610a9a565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103965780601f1061036b57610100808354040283529160200191610396565b820191906000526020600020905b81548152906001019060200180831161037957829003601f168201915b5050505050905090565b60006001600160a01b0383166103b557600080fd5b3360008181526004602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60085490565b6001600160a01b03831660009081526003602052604081205482111561044857600080fd5b6001600160a01b038416600090815260046020908152604080832033845290915290205482111561047857600080fd5b6001600160a01b03831661048b57600080fd5b61049484610ac5565b15610538576001600160a01b0384166000908152600360205260409020546104bc9083610ae3565b6001600160a01b0380861660009081526003602052604080822093909355908516815220546104eb9083610af8565b6001600160a01b038085166000818152600360209081526040918290209490945580518681529051919392881692600080516020610bb683398151915292918290030190a35060016106f2565b6009548211158061054d575061054d83610ac5565b610596576040805162461bcd60e51b81526020600482015260156024820152740616d6f756e7420657863656564732074782063617605c1b604482015290519081900360640190fd5b6001600160a01b0384166000908152600360205260409020546105b99083610ae3565b6001600160a01b0385166000908152600360205260408120919091556007546105e290846107aa565b905060006105f08483610ae3565b6001600160a01b0386166000908152600360205260409020549091506106169082610af8565b6001600160a01b03861660009081526003602052604090205560085461063c9083610ae3565b6008556001600160a01b038616600090815260046020908152604080832033845290915290205461066d9085610ae3565b6001600160a01b0380881660008181526004602090815260408083203384528252918290209490945580518581529051928916939192600080516020610bb6833981519152929181900390910190a36040805183815290516000916001600160a01b03891691600080516020610bb68339815191529181900360200190a36001925050505b9392505050565b60025460ff1690565b60006001600160a01b03831661071757600080fd5b3360009081526004602090815260408083206001600160a01b03871684529091529020546107459083610af8565b3360008181526004602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60006106f260646107c5856107bf8684610b0a565b90610b44565b90610b6b565b6001600160a01b031660009081526003602052604090205490565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156103965780601f1061036b57610100808354040283529160200191610396565b60075481565b60006001600160a01b03831661086157600080fd5b3360009081526004602090815260408083206001600160a01b03871684529091529020546107459083610ae3565b336000908152600360205260408120548211156108ab57600080fd5b6001600160a01b0383166108be57600080fd5b6108c733610ac5565b1561095d57336000908152600360205260409020546108e69083610ae3565b33600090815260036020526040808220929092556001600160a01b038516815220546109129083610af8565b6001600160a01b038416600081815260036020908152604091829020939093558051858152905191923392600080516020610bb68339815191529281900390910190a3506001610417565b60095482111580610972575061097283610ac5565b6109ad5760405162461bcd60e51b8152600401808060200182810382526028815260200180610b8e6028913960400191505060405180910390fd5b60006109bb600754846107aa565b905060006109c98483610ae3565b336000908152600360205260409020549091506109e69085610ae3565b33600090815260036020526040808220929092556001600160a01b03871681522054610a129082610af8565b6001600160a01b038616600090815260036020526040902055600854610a389083610ae3565b6008556040805182815290516001600160a01b038716913391600080516020610bb68339815191529181900360200190a36040805183815290516000913391600080516020610bb68339815191529181900360200190a3600192505050610417565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6001600160a01b031660009081526005602052604090205460ff1690565b600082821115610af257600080fd5b50900390565b6000828201838110156106f257600080fd5b600080610b178484610af8565b90506000610b26826001610ae3565b9050610b3b610b358286610b6b565b85610b44565b95945050505050565b600082610b5357506000610417565b82820282848281610b6057fe5b04146106f257600080fd5b6000808211610b7957600080fd5b6000828481610b8457fe5b0494935050505056fe54686520416d6f756e74204578636565647320796f7572207472616e73616374696f6e206361702eddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220a0d2158e1b60d000a683a1262ebb59a0b3899d051fddf3578847c9244a23998964736f6c63430007000033

Deployed Bytecode Sourcemap

2883:4932:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2584:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6878:258;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6878:258:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;4014:106;;;:::i;:::-;;;;;;;;;;;;;;;;5705:1165;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5705:1165:0;;;;;;;;;;;;;;;;;:::i;2782:88::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7142:329;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7142:329:0;;;;;;;;:::i;4407:151::-;;;;;;;;;;;;;;;;-1:-1:-1;4407:151:0;;;;;;;:::i;4281:119::-;;;;;;;;;;;;;;;;-1:-1:-1;4281:119:0;-1:-1:-1;;;;;4281:119:0;;:::i;2679:92::-;;;:::i;3496:35::-;;;:::i;7478:331::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7478:331:0;;;;;;;;:::i;4677:1020::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4677:1020:0;;;;;;;;:::i;4127:146::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4127:146:0;;;;;;;;;;:::i;2584:88::-;2655:5;2648:12;;;;;;;;-1:-1:-1;;2648:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2620:13;;2648:12;;2655:5;;2648:12;;2655:5;2648:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2584:88;:::o;6878:258::-;6954:4;-1:-1:-1;;;;;6983:21:0;;6975:30;;;;;;7027:10;7018:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;7018:29:0;;;;;;;;;;;;:37;;;7070:36;;;;;;;7018:29;;7027:10;7070:36;;;;;;;;;;;-1:-1:-1;7126:4:0;6878:258;;;;;:::o;4014:106::-;4098:12;;4014:106;:::o;5705:1165::-;-1:-1:-1;;;;;5831:15:0;;5795:4;5831:15;;;:9;:15;;;;;;5822:24;;;5814:33;;;;;;-1:-1:-1;;;;;5877:14:0;;;;;;:8;:14;;;;;;;;5892:10;5877:26;;;;;;;;5868:35;;;5860:44;;;;;;-1:-1:-1;;;;;5925:16:0;;5917:25;;;;;;5959:21;5975:4;5959:15;:21::i;:::-;5955:910;;;-1:-1:-1;;;;;6015:15:0;;;;;;:9;:15;;;;;;:26;;6035:5;6015:19;:26::i;:::-;-1:-1:-1;;;;;5997:15:0;;;;;;;:9;:15;;;;;;:44;;;;6072:13;;;;;;;:24;;6090:5;6072:17;:24::i;:::-;-1:-1:-1;;;;;6056:13:0;;;;;;;:9;:13;;;;;;;;;:40;;;;6119:25;;;;;;;6056:13;;6119:25;;;;-1:-1:-1;;;;;;;;;;;6119:25:0;;;;;;;;-1:-1:-1;6166:4:0;6159:11;;5955:910;6235:6;;6226:5;:15;;:38;;;;6245:19;6261:2;6245:15;:19::i;:::-;6217:96;;;;;-1:-1:-1;;;6217:96:0;;;;;;;;;;;;-1:-1:-1;;;6217:96:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;6343:15:0;;;;;;:9;:15;;;;;;:26;;6363:5;6343:19;:26::i;:::-;-1:-1:-1;;;;;6325:15:0;;;;;;:9;:15;;;;;:44;;;;6423:7;;6408:30;;6432:5;6408:14;:30::i;:::-;6381:57;-1:-1:-1;6455:24:0;6482:23;:5;6381:57;6482:9;:23::i;:::-;-1:-1:-1;;;;;6538:13:0;;;;;;:9;:13;;;;;;6455:50;;-1:-1:-1;6538:35:0;;6455:50;6538:17;:35::i;:::-;-1:-1:-1;;;;;6522:13:0;;;;;;:9;:13;;;;;:51;6606:12;;:30;;6623:12;6606:16;:30::i;:::-;6590:12;:46;-1:-1:-1;;;;;6677:14:0;;;;;;:8;:14;;;;;;;;6692:10;6677:26;;;;;;;;:37;;6708:5;6677:30;:37::i;:::-;-1:-1:-1;;;;;6648:14:0;;;;;;;:8;:14;;;;;;;;6663:10;6648:26;;;;;;;;:66;;;;6736:36;;;;;;;;;;;6648:14;;-1:-1:-1;;;;;;;;;;;6736:36:0;;;;;;;;;;6794:40;;;;;;;;6817:1;;-1:-1:-1;;;;;6794:40:0;;;-1:-1:-1;;;;;;;;;;;6794:40:0;;;;;;;;6853:4;6846:11;;;;5955:910;5705:1165;;;;;:::o;2782:88::-;2849:9;;;;2782:88;:::o;7142:329::-;7222:4;-1:-1:-1;;;;;7255:21:0;;7247:30;;;;;;7330:10;7321:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;7321:29:0;;;;;;;;;;:45;;7355:10;7321:33;:45::i;:::-;7297:10;7288:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;7288:29:0;;;;;;;;;;;;:79;;;7383:60;;;;;;7288:29;;7383:60;;;;;;;;;;;-1:-1:-1;7461:4:0;7142:329;;;;:::o;4407:151::-;4481:7;4514:34;4544:3;4514:25;4534:4;4514:15;:5;4544:3;4514:10;:15::i;:::-;:19;;:25::i;:::-;:29;;:34::i;4281:119::-;-1:-1:-1;;;;;4374:16:0;4347:7;4374:16;;;:9;:16;;;;;;;4281:119::o;2679:92::-;2752:7;2745:14;;;;;;;;-1:-1:-1;;2745:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2717:13;;2745:14;;2752:7;;2745:14;;2752:7;2745:14;;;;;;;;;;;;;;;;;;;;;;;;3496:35;;;;:::o;7478:331::-;7563:4;-1:-1:-1;;;;;7588:21:0;;7580:30;;;;;;7663:10;7654:20;;;;:8;:20;;;;;;;;-1:-1:-1;;;;;7654:29:0;;;;;;;;;;:50;;7688:15;7654:33;:50::i;4677:1020::-;4795:10;4749:4;4785:21;;;:9;:21;;;;;;4776:30;;;4768:39;;;;;;-1:-1:-1;;;;;4828:16:0;;4820:25;;;;;;4862:27;4878:10;4862:15;:27::i;:::-;4858:836;;;4938:10;4928:21;;;;:9;:21;;;;;;:32;;4954:5;4928:25;:32::i;:::-;4914:10;4904:21;;;;:9;:21;;;;;;:56;;;;-1:-1:-1;;;;;4989:13:0;;;;;;:24;;5007:5;4989:17;:24::i;:::-;-1:-1:-1;;;;;4973:13:0;;;;;;:9;:13;;;;;;;;;:40;;;;5028:31;;;;;;;4973:13;;5037:10;;-1:-1:-1;;;;;;;;;;;5028:31:0;;;;;;;;;-1:-1:-1;5076:4:0;5069:11;;4858:836;5129:6;;5120:5;:15;;:38;;;;5139:19;5155:2;5139:15;:19::i;:::-;5111:111;;;;-1:-1:-1;;;5111:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5235:20;5262:30;5277:7;;5286:5;5262:14;:30::i;:::-;5235:57;-1:-1:-1;5305:24:0;5332:23;:5;5235:57;5332:9;:23::i;:::-;5399:10;5389:21;;;;:9;:21;;;;;;5305:50;;-1:-1:-1;5389:32:0;;5415:5;5389:25;:32::i;:::-;5375:10;5365:21;;;;:9;:21;;;;;;:56;;;;-1:-1:-1;;;;;5450:13:0;;;;;;:35;;5468:16;5450:17;:35::i;:::-;-1:-1:-1;;;;;5434:13:0;;;;;;:9;:13;;;;;:51;5510:12;;:30;;5527:12;5510:16;:30::i;:::-;5495:12;:45;5558:42;;;;;;;;-1:-1:-1;;;;;5558:42:0;;;5567:10;;-1:-1:-1;;;;;;;;;;;5558:42:0;;;;;;;;5618:46;;;;;;;;5647:1;;5627:10;;-1:-1:-1;;;;;;;;;;;5618:46:0;;;;;;;;5684:4;5677:11;;;;;;4127:146;-1:-1:-1;;;;;4239:15:0;;;4210:7;4239:15;;;:8;:15;;;;;;;;:24;;;;;;;;;;;;;4127:146::o;3889:118::-;-1:-1:-1;;;;;3974:15:0;3950:4;3974:15;;;:10;:15;;;;;;;;;3889:118::o;1376:178::-;1434:7;1477:1;1472;:6;;1464:15;;;;;;-1:-1:-1;1512:5:0;;;1376:178::o;1189:::-;1247:7;1289:5;;;1323:6;;;;1315:15;;;;;2050:211;2109:7;2139:9;2151:8;2155:1;2157;2151:3;:8::i;:::-;2139:20;;2180:9;2192:8;2196:1;2198;2192:3;:8::i;:::-;2180:20;;2228:15;2232:8;2236:1;2238;2232:3;:8::i;:::-;2241:1;2228:3;:15::i;:::-;2221:22;2050:211;-1:-1:-1;;;;;2050:211:0:o;1563:277::-;1621:7;1655:6;1651:75;;-1:-1:-1;1699:1:0;1692:8;;1651:75;1758:5;;;1762:1;1758;:5;:1;1792:5;;;;;:10;1784:19;;;;;1852:186;1910:7;1951:1;1947;:5;1939:14;;;;;;1974:9;1990:1;1986;:5;;;;;;;1852:186;-1:-1:-1;;;;1852:186:0:o

Swarm Source

ipfs://a0d2158e1b60d000a683a1262ebb59a0b3899d051fddf3578847c9244a239989

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

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.