Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Name:
EtherToken
Compiler Version
v0.5.12+commit.7709ece9
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-09-11 */ // File: requestable-erc20-wrapper-token/contracts/lib/SafeMath.sol pragma solidity ^0.5.0; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) { // Gas optimization: this is cheaper than asserting 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (_a == 0) { return 0; } c = _a * _b; assert(c / _a == _b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 _a, uint256 _b) internal pure returns (uint256) { // assert(_b > 0); // Solidity automatically throws when dividing by 0 // uint256 c = _a / _b; // assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold return _a / _b; } /** * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 _a, uint256 _b) internal pure returns (uint256) { assert(_b <= _a); return _a - _b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) { c = _a + _b; assert(c >= _a); return c; } } // File: requestable-erc20-wrapper-token/contracts/lib/ERC20Basic.sol pragma solidity ^0.5.0; /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * See https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address _who) public view returns (uint256); function transfer(address _to, uint256 _value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } // File: requestable-erc20-wrapper-token/contracts/lib/ERC20.sol pragma solidity ^0.5.0; /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address _owner, address _spender) public view returns (uint256); function transferFrom(address _from, address _to, uint256 _value) public returns (bool); function approve(address _spender, uint256 _value) public returns (bool); event Approval( address indexed owner, address indexed spender, uint256 value ); } // File: requestable-erc20-wrapper-token/contracts/lib/BasicToken.sol pragma solidity ^0.5.0; /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) internal balances; uint256 internal totalSupply_; /** * @dev Total number of tokens in existence */ function totalSupply() public view returns (uint256) { return totalSupply_; } /** * @dev Transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public returns (bool) { require(_value <= balances[msg.sender]); require(_to != address(0)); balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); emit Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public view returns (uint256) { return balances[_owner]; } } // File: requestable-erc20-wrapper-token/contracts/lib/StandardToken.sol pragma solidity ^0.5.0; /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * https://github.com/ethereum/EIPs/issues/20 * Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) internal allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom( address _from, address _to, uint256 _value ) public returns (bool) { require(_value <= balances[_from]); require(_value <= allowed[_from][msg.sender]); require(_to != address(0)); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value); emit Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance( address _owner, address _spender ) public view returns (uint256) { return allowed[_owner][_spender]; } /** * @dev Increase the amount of tokens that an owner allowed to a spender. * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _addedValue The amount of tokens to increase the allowance by. */ function increaseApproval( address _spender, uint256 _addedValue ) public returns (bool) { allowed[msg.sender][_spender] = ( allowed[msg.sender][_spender].add(_addedValue)); emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } /** * @dev Decrease the amount of tokens that an owner allowed to a spender. * approve should be called when allowed[_spender] == 0. To decrement * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol * @param _spender The address which will spend the funds. * @param _subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseApproval( address _spender, uint256 _subtractedValue ) public returns (bool) { uint256 oldValue = allowed[msg.sender][_spender]; if (_subtractedValue >= oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } // File: requestable-erc20-wrapper-token/contracts/RequestableI.sol pragma solidity ^0.5.0; interface RequestableI { function applyRequestInRootChain( bool isExit, uint256 requestId, address requestor, bytes32 trieKey, bytes calldata trieValue ) external returns (bool success); function applyRequestInChildChain( bool isExit, uint256 requestId, address requestor, bytes32 trieKey, bytes calldata trieValue ) external returns (bool success); } // File: requestable-erc20-wrapper-token/contracts/RequestableERC20Wrapper.sol pragma solidity ^0.5.0; /** * @title RequestableERC20Wrapper * @notice RequestableERC20Wrapper is a requestable token contract that can exchange * another base ERC20 token. */ contract RequestableERC20Wrapper is StandardToken, RequestableI { using SafeMath for *; bool public initialized; bool public development; address public rootchain; ERC20 public token; /* Events */ event Depositted(address _from, uint _value); event Withdrawn(address _from, uint _value); event RequestCreated(bool _isExit, address _requestor, bytes32 _trieKey, uint _value); modifier isInitialized() { require(initialized); _; } constructor(bool _development, ERC20 _token) public { development = _development; token = _token; } function init(address _rootchain) external returns (bool) { require(!initialized); rootchain = _rootchain; initialized = true; } function deposit(uint _amount) external isInitialized returns (bool) { mint(msg.sender, _amount); emit Depositted(msg.sender, _amount); require(token.transferFrom(msg.sender, address(this), _amount)); return true; } function withdraw(uint _amount) external isInitialized returns (bool) { burn(msg.sender, _amount); emit Withdrawn(msg.sender, _amount); require(token.transfer(msg.sender, _amount)); return true; } function getBalanceTrieKey(address _who) public pure returns (bytes32) { return keccak256(abi.encodePacked(bytes32(0), _who)); } function applyRequestInRootChain( bool isExit, uint256 requestId, address requestor, bytes32 trieKey, bytes calldata trieValue ) external isInitialized returns (bool success) { require(msg.sender == address(rootchain)); require(trieKey == getBalanceTrieKey(requestor)); uint v = decodeTrieValue(trieValue); if (isExit) { mint(requestor, v); } else { burn(requestor, v); } emit RequestCreated(isExit, requestor, trieKey, v); return true; } function applyRequestInChildChain( bool isExit, uint256 requestId, address requestor, bytes32 trieKey, bytes calldata trieValue ) external returns (bool success) { require(development || msg.sender == address(0)); require(trieKey == getBalanceTrieKey(requestor)); uint v = decodeTrieValue(trieValue); if (isExit) { burn(requestor, v); } else { mint(requestor, v); } emit RequestCreated(isExit, requestor, trieKey, v); return true; } function decodeTrieValue(bytes memory trieValue) public pure returns (uint v) { require(trieValue.length == 0x20); assembly { v := mload(add(trieValue, 0x20)) } } function mint(address _to, uint _amount) internal { totalSupply_ = totalSupply_.add(_amount); balances[_to] = balances[_to].add(_amount); emit Transfer(address(0), _to, _amount); } function burn(address _from, uint _amount) internal { balances[_from] = balances[_from].sub(_amount); totalSupply_ = totalSupply_.sub(_amount); emit Transfer(_from, address(0), _amount); } } // File: contracts/EtherToken.sol pragma solidity ^0.5.12; /** * @title EtherToken * @notice EtherToken is a requestable token that can exchange ETH at a 1:1 ratio. * This contract is deployed both in root chain and in child chain. But in root chain, * It doesn't support ETH swap, it just takes another ERC20 as a exchangable token. * However, EtherToken in child chain takes (P)ETH to */ contract EtherToken is RequestableERC20Wrapper { bool public swapEnabled; // EtherToken in root chain disables ether swap, but EtherToken in child chain allows it. constructor( bool _development, ERC20 _token, bool _swapEnabled ) public RequestableERC20Wrapper(_development, _token) { bool noToken = address(_token) == address(0); // in production, Exchangable asset must be either ERC20 or ETH, not both. require(_development || (noToken && _swapEnabled || !noToken && !_swapEnabled)); swapEnabled = _swapEnabled; } function() external payable { swapFromEth(); } // swap ETH to token function swapFromEth() public payable { require(swapEnabled); mint(msg.sender, msg.value); } // swap token to ETH function swapToEth(uint _amount) public { require(swapEnabled); require(transferFrom(msg.sender, address(this), _amount)); burn(msg.sender, _amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"bool","name":"_development","type":"bool"},{"internalType":"contract ERC20","name":"_token","type":"address"},{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"payable":false,"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":false,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Depositted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"_isExit","type":"bool"},{"indexed":false,"internalType":"address","name":"_requestor","type":"address"},{"indexed":false,"internalType":"bytes32","name":"_trieKey","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"RequestCreated","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_from","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Withdrawn","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"isExit","type":"bool"},{"internalType":"uint256","name":"requestId","type":"uint256"},{"internalType":"address","name":"requestor","type":"address"},{"internalType":"bytes32","name":"trieKey","type":"bytes32"},{"internalType":"bytes","name":"trieValue","type":"bytes"}],"name":"applyRequestInChildChain","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"isExit","type":"bool"},{"internalType":"uint256","name":"requestId","type":"uint256"},{"internalType":"address","name":"requestor","type":"address"},{"internalType":"bytes32","name":"trieKey","type":"bytes32"},{"internalType":"bytes","name":"trieValue","type":"bytes"}],"name":"applyRequestInRootChain","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes","name":"trieValue","type":"bytes"}],"name":"decodeTrieValue","outputs":[{"internalType":"uint256","name":"v","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"development","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_who","type":"address"}],"name":"getBalanceTrieKey","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_rootchain","type":"address"}],"name":"init","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"rootchain","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"swapFromEth","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"swapToEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"internalType":"contract ERC20","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516111ae3803806111ae8339818101604052606081101561003357600080fd5b50805160208201516040909201516003805461ff00191661010084151502179055600480546001600160a01b0319166001600160a01b03851690811790915591929115838061009957508080156100875750815b80610099575080158015610099575081155b6100a257600080fd5b5060048054911515740100000000000000000000000000000000000000000260ff60a01b1990921691909117905550506110cd806100e16000396000f3fe6080604052600436106101355760003560e01c80637b929c27116100ab578063b6b55f251161006f578063b6b55f25146104d4578063b9e59d09146104fe578063bcc7874d146105b1578063d73dd623146105e2578063dd62ed3e1461061b578063fc0c546a1461065657610135565b80637b929c2714610389578063a9059cbb1461039e578063a9f79308146103d7578063b06c672914610477578063b18fcfdf146104a157610135565b806323b872dd116100fd57806323b872dd1461029b5780632e1a7d4d146102de57806359310da71461013557806366188463146103085780636ddd17131461034157806370a082311461035657610135565b8063095ea7b31461013f578063141ecf461461018c578063158ef93e1461022c57806318160ddd1461024157806319ab453c14610268575b61013d61066b565b005b34801561014b57600080fd5b506101786004803603604081101561016257600080fd5b506001600160a01b03813516906020013561068d565b604080519115158252519081900360200190f35b34801561019857600080fd5b50610178600480360360a08110156101af57600080fd5b81351515916020810135916001600160a01b036040830135169160608101359181019060a0810160808201356401000000008111156101ed57600080fd5b8201836020820111156101ff57600080fd5b8035906020019184600183028401116401000000008311171561022157600080fd5b5090925090506106f3565b34801561023857600080fd5b506101786107e8565b34801561024d57600080fd5b506102566107f1565b60408051918252519081900360200190f35b34801561027457600080fd5b506101786004803603602081101561028b57600080fd5b50356001600160a01b03166107f7565b3480156102a757600080fd5b50610178600480360360608110156102be57600080fd5b506001600160a01b0381358116916020810135909116906040013561083d565b3480156102ea57600080fd5b506101786004803603602081101561030157600080fd5b503561099e565b34801561031457600080fd5b506101786004803603604081101561032b57600080fd5b506001600160a01b038135169060200135610a87565b34801561034d57600080fd5b50610178610b76565b34801561036257600080fd5b506102566004803603602081101561037957600080fd5b50356001600160a01b0316610b86565b34801561039557600080fd5b50610178610ba1565b3480156103aa57600080fd5b50610178600480360360408110156103c157600080fd5b506001600160a01b038135169060200135610baf565b3480156103e357600080fd5b50610178600480360360a08110156103fa57600080fd5b81351515916020810135916001600160a01b036040830135169160608101359181019060a08101608082013564010000000081111561043857600080fd5b82018360208201111561044a57600080fd5b8035906020019184600183028401116401000000008311171561046c57600080fd5b509092509050610c7a565b34801561048357600080fd5b5061013d6004803603602081101561049a57600080fd5b5035610d1a565b3480156104ad57600080fd5b50610256600480360360208110156104c457600080fd5b50356001600160a01b0316610d51565b3480156104e057600080fd5b50610178600480360360208110156104f757600080fd5b5035610d93565b34801561050a57600080fd5b506102566004803603602081101561052157600080fd5b81019060208101813564010000000081111561053c57600080fd5b82018360208201111561054e57600080fd5b8035906020019184600183028401116401000000008311171561057057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610e45945050505050565b3480156105bd57600080fd5b506105c6610e5d565b604080516001600160a01b039092168252519081900360200190f35b3480156105ee57600080fd5b506101786004803603604081101561060557600080fd5b506001600160a01b038135169060200135610e72565b34801561062757600080fd5b506102566004803603604081101561063e57600080fd5b506001600160a01b0381358116916020013516610f0b565b34801561066257600080fd5b506105c6610f36565b600454600160a01b900460ff1661068157600080fd5b61068b3334610f45565b565b3360008181526002602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b600354600090610100900460ff168061070a575033155b61071357600080fd5b61071c85610d51565b841461072757600080fd5b600061076884848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e4592505050565b9050871561077f5761077a8682610fc8565b610789565b6107898682610f45565b6040805189151581526001600160a01b03881660208201528082018790526060810183905290517f4b0c23cd90bac23cdaa0958fbd0306f53e20cd5e65676d21b9ceb109784e15b89181900360800190a1506001979650505050505050565b60035460ff1681565b60015490565b60035460009060ff161561080a57600080fd5b6003805460ff196001600160a01b03909416620100000262010000600160b01b0319909116179290921660011790915590565b6001600160a01b03831660009081526020819052604081205482111561086257600080fd5b6001600160a01b038416600090815260026020908152604080832033845290915290205482111561089257600080fd5b6001600160a01b0383166108a557600080fd5b6001600160a01b0384166000908152602081905260409020546108ce908363ffffffff61105316565b6001600160a01b038086166000908152602081905260408082209390935590851681522054610903908363ffffffff61106516565b6001600160a01b03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610945908363ffffffff61105316565b6001600160a01b0380861660008181526002602090815260408083203384528252918290209490945580518681529051928716939192600080516020611079833981519152929181900390910190a35060019392505050565b60035460009060ff166109b057600080fd5b6109ba3383610fc8565b604080513381526020810184905281517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5929181900390910190a1600480546040805163a9059cbb60e01b8152339381019390935260248301859052516001600160a01b039091169163a9059cbb9160448083019260209291908290030181600087803b158015610a4a57600080fd5b505af1158015610a5e573d6000803e3d6000fd5b505050506040513d6020811015610a7457600080fd5b5051610a7f57600080fd5b506001919050565b3360009081526002602090815260408083206001600160a01b0386168452909152812054808310610adb573360009081526002602090815260408083206001600160a01b0388168452909152812055610b10565b610aeb818463ffffffff61105316565b3360009081526002602090815260408083206001600160a01b03891684529091529020555b3360008181526002602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600454600160a01b900460ff1681565b6001600160a01b031660009081526020819052604090205490565b600354610100900460ff1681565b33600090815260208190526040812054821115610bcb57600080fd5b6001600160a01b038316610bde57600080fd5b33600090815260208190526040902054610bfe908363ffffffff61105316565b33600090815260208190526040808220929092556001600160a01b03851681522054610c30908363ffffffff61106516565b6001600160a01b038416600081815260208181526040918290209390935580518581529051919233926000805160206110798339815191529281900390910190a350600192915050565b60035460009060ff16610c8c57600080fd5b6003546201000090046001600160a01b03163314610ca957600080fd5b610cb285610d51565b8414610cbd57600080fd5b6000610cfe84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e4592505050565b90508715610d105761077a8682610f45565b6107898682610fc8565b600454600160a01b900460ff16610d3057600080fd5b610d3b33308361083d565b610d4457600080fd5b610d4e3382610fc8565b50565b60408051600060208083019190915260609390931b6bffffffffffffffffffffffff191681830152815180820360340181526054909101909152805191012090565b60035460009060ff16610da557600080fd5b610daf3383610f45565b604080513381526020810184905281517f46fc0825df492a7a7f1fb1b690f6912ecb69575484fbb24be0f398ae70d97db4929181900390910190a160048054604080516323b872dd60e01b8152339381019390935230602484015260448301859052516001600160a01b03909116916323b872dd9160648083019260209291908290030181600087803b158015610a4a57600080fd5b60008151602014610e5557600080fd5b506020015190565b6003546201000090046001600160a01b031681565b3360009081526002602090815260408083206001600160a01b0386168452909152812054610ea6908363ffffffff61106516565b3360008181526002602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6004546001600160a01b031681565b600154610f58908263ffffffff61106516565b6001556001600160a01b038216600090815260208190526040902054610f84908263ffffffff61106516565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391926000805160206110798339815191529281900390910190a35050565b6001600160a01b038216600090815260208190526040902054610ff1908263ffffffff61105316565b6001600160a01b03831660009081526020819052604090205560015461101d908263ffffffff61105316565b6001556040805182815290516000916001600160a01b038516916000805160206110798339815191529181900360200190a35050565b60008282111561105f57fe5b50900390565b8181018281101561107257fe5b9291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a72315820fc24300bffb714c15ff96b03512536eca2c0a697ba14df0e8878552ca44bd64c64736f6c634300050c0032000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Deployed Bytecode
0x6080604052600436106101355760003560e01c80637b929c27116100ab578063b6b55f251161006f578063b6b55f25146104d4578063b9e59d09146104fe578063bcc7874d146105b1578063d73dd623146105e2578063dd62ed3e1461061b578063fc0c546a1461065657610135565b80637b929c2714610389578063a9059cbb1461039e578063a9f79308146103d7578063b06c672914610477578063b18fcfdf146104a157610135565b806323b872dd116100fd57806323b872dd1461029b5780632e1a7d4d146102de57806359310da71461013557806366188463146103085780636ddd17131461034157806370a082311461035657610135565b8063095ea7b31461013f578063141ecf461461018c578063158ef93e1461022c57806318160ddd1461024157806319ab453c14610268575b61013d61066b565b005b34801561014b57600080fd5b506101786004803603604081101561016257600080fd5b506001600160a01b03813516906020013561068d565b604080519115158252519081900360200190f35b34801561019857600080fd5b50610178600480360360a08110156101af57600080fd5b81351515916020810135916001600160a01b036040830135169160608101359181019060a0810160808201356401000000008111156101ed57600080fd5b8201836020820111156101ff57600080fd5b8035906020019184600183028401116401000000008311171561022157600080fd5b5090925090506106f3565b34801561023857600080fd5b506101786107e8565b34801561024d57600080fd5b506102566107f1565b60408051918252519081900360200190f35b34801561027457600080fd5b506101786004803603602081101561028b57600080fd5b50356001600160a01b03166107f7565b3480156102a757600080fd5b50610178600480360360608110156102be57600080fd5b506001600160a01b0381358116916020810135909116906040013561083d565b3480156102ea57600080fd5b506101786004803603602081101561030157600080fd5b503561099e565b34801561031457600080fd5b506101786004803603604081101561032b57600080fd5b506001600160a01b038135169060200135610a87565b34801561034d57600080fd5b50610178610b76565b34801561036257600080fd5b506102566004803603602081101561037957600080fd5b50356001600160a01b0316610b86565b34801561039557600080fd5b50610178610ba1565b3480156103aa57600080fd5b50610178600480360360408110156103c157600080fd5b506001600160a01b038135169060200135610baf565b3480156103e357600080fd5b50610178600480360360a08110156103fa57600080fd5b81351515916020810135916001600160a01b036040830135169160608101359181019060a08101608082013564010000000081111561043857600080fd5b82018360208201111561044a57600080fd5b8035906020019184600183028401116401000000008311171561046c57600080fd5b509092509050610c7a565b34801561048357600080fd5b5061013d6004803603602081101561049a57600080fd5b5035610d1a565b3480156104ad57600080fd5b50610256600480360360208110156104c457600080fd5b50356001600160a01b0316610d51565b3480156104e057600080fd5b50610178600480360360208110156104f757600080fd5b5035610d93565b34801561050a57600080fd5b506102566004803603602081101561052157600080fd5b81019060208101813564010000000081111561053c57600080fd5b82018360208201111561054e57600080fd5b8035906020019184600183028401116401000000008311171561057057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610e45945050505050565b3480156105bd57600080fd5b506105c6610e5d565b604080516001600160a01b039092168252519081900360200190f35b3480156105ee57600080fd5b506101786004803603604081101561060557600080fd5b506001600160a01b038135169060200135610e72565b34801561062757600080fd5b506102566004803603604081101561063e57600080fd5b506001600160a01b0381358116916020013516610f0b565b34801561066257600080fd5b506105c6610f36565b600454600160a01b900460ff1661068157600080fd5b61068b3334610f45565b565b3360008181526002602090815260408083206001600160a01b038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b600354600090610100900460ff168061070a575033155b61071357600080fd5b61071c85610d51565b841461072757600080fd5b600061076884848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e4592505050565b9050871561077f5761077a8682610fc8565b610789565b6107898682610f45565b6040805189151581526001600160a01b03881660208201528082018790526060810183905290517f4b0c23cd90bac23cdaa0958fbd0306f53e20cd5e65676d21b9ceb109784e15b89181900360800190a1506001979650505050505050565b60035460ff1681565b60015490565b60035460009060ff161561080a57600080fd5b6003805460ff196001600160a01b03909416620100000262010000600160b01b0319909116179290921660011790915590565b6001600160a01b03831660009081526020819052604081205482111561086257600080fd5b6001600160a01b038416600090815260026020908152604080832033845290915290205482111561089257600080fd5b6001600160a01b0383166108a557600080fd5b6001600160a01b0384166000908152602081905260409020546108ce908363ffffffff61105316565b6001600160a01b038086166000908152602081905260408082209390935590851681522054610903908363ffffffff61106516565b6001600160a01b03808516600090815260208181526040808320949094559187168152600282528281203382529091522054610945908363ffffffff61105316565b6001600160a01b0380861660008181526002602090815260408083203384528252918290209490945580518681529051928716939192600080516020611079833981519152929181900390910190a35060019392505050565b60035460009060ff166109b057600080fd5b6109ba3383610fc8565b604080513381526020810184905281517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5929181900390910190a1600480546040805163a9059cbb60e01b8152339381019390935260248301859052516001600160a01b039091169163a9059cbb9160448083019260209291908290030181600087803b158015610a4a57600080fd5b505af1158015610a5e573d6000803e3d6000fd5b505050506040513d6020811015610a7457600080fd5b5051610a7f57600080fd5b506001919050565b3360009081526002602090815260408083206001600160a01b0386168452909152812054808310610adb573360009081526002602090815260408083206001600160a01b0388168452909152812055610b10565b610aeb818463ffffffff61105316565b3360009081526002602090815260408083206001600160a01b03891684529091529020555b3360008181526002602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600454600160a01b900460ff1681565b6001600160a01b031660009081526020819052604090205490565b600354610100900460ff1681565b33600090815260208190526040812054821115610bcb57600080fd5b6001600160a01b038316610bde57600080fd5b33600090815260208190526040902054610bfe908363ffffffff61105316565b33600090815260208190526040808220929092556001600160a01b03851681522054610c30908363ffffffff61106516565b6001600160a01b038416600081815260208181526040918290209390935580518581529051919233926000805160206110798339815191529281900390910190a350600192915050565b60035460009060ff16610c8c57600080fd5b6003546201000090046001600160a01b03163314610ca957600080fd5b610cb285610d51565b8414610cbd57600080fd5b6000610cfe84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e4592505050565b90508715610d105761077a8682610f45565b6107898682610fc8565b600454600160a01b900460ff16610d3057600080fd5b610d3b33308361083d565b610d4457600080fd5b610d4e3382610fc8565b50565b60408051600060208083019190915260609390931b6bffffffffffffffffffffffff191681830152815180820360340181526054909101909152805191012090565b60035460009060ff16610da557600080fd5b610daf3383610f45565b604080513381526020810184905281517f46fc0825df492a7a7f1fb1b690f6912ecb69575484fbb24be0f398ae70d97db4929181900390910190a160048054604080516323b872dd60e01b8152339381019390935230602484015260448301859052516001600160a01b03909116916323b872dd9160648083019260209291908290030181600087803b158015610a4a57600080fd5b60008151602014610e5557600080fd5b506020015190565b6003546201000090046001600160a01b031681565b3360009081526002602090815260408083206001600160a01b0386168452909152812054610ea6908363ffffffff61106516565b3360008181526002602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6004546001600160a01b031681565b600154610f58908263ffffffff61106516565b6001556001600160a01b038216600090815260208190526040902054610f84908263ffffffff61106516565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391926000805160206110798339815191529281900390910190a35050565b6001600160a01b038216600090815260208190526040902054610ff1908263ffffffff61105316565b6001600160a01b03831660009081526020819052604090205560015461101d908263ffffffff61105316565b6001556040805182815290516000916001600160a01b038516916000805160206110798339815191529181900360200190a35050565b60008282111561105f57fe5b50900390565b8181018281101561107257fe5b9291505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa265627a7a72315820fc24300bffb714c15ff96b03512536eca2c0a697ba14df0e8878552ca44bd64c64736f6c634300050c0032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
-----Decoded View---------------
Arg [0] : _development (bool): True
Arg [1] : _token (address): 0x0000000000000000000000000000000000000000
Arg [2] : _swapEnabled (bool): True
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000001
Deployed Bytecode Sourcemap
12523:971:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13134:13;:11;:13::i;:::-;12523:971;5830:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5830:192:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5830:192:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;10922:525;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10922:525:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;10922:525:0;;;;;;;;;;-1:-1:-1;;;;;10922:525:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;10922:525:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10922:525:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;10922:525:0;;-1:-1:-1;10922:525:0;-1:-1:-1;10922:525:0;:::i;9109:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9109:23:0;;;:::i;3044:85::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3044:85:0;;;:::i;:::-;;;;;;;;;;;;;;;;9616:148;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9616:148:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9616:148:0;-1:-1:-1;;;;;9616:148:0;;:::i;4714:487::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4714:487:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4714:487:0;;;;;;;;;;;;;;;;;:::i;10016:221::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10016:221:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10016:221:0;;:::i;7749:447::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7749:447:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;7749:447:0;;;;;;;;:::i;12575:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12575:23:0;;;:::i;3828:101::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3828:101:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3828:101:0;-1:-1:-1;;;;;3828:101:0;;:::i;9137:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9137:23:0;;;:::i;3290:329::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3290:329:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3290:329:0;;;;;;;;:::i;10385:531::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10385:531:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;10385:531:0;;;;;;;;;;-1:-1:-1;;;;;10385:531:0;;;;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;10385:531:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10385:531:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;-1:-1;10385:531:0;;-1:-1:-1;10385:531:0;-1:-1:-1;10385:531:0;:::i;13320:171::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13320:171:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13320:171:0;;:::i;10243:136::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10243:136:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10243:136:0;-1:-1:-1;;;;;10243:136:0;;:::i;9770:240::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9770:240:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9770:240:0;;:::i;11453:190::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11453:190:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11453:190:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;11453:190:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;11453:190:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;11453:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;11453:190:0;;-1:-1:-1;11453:190:0;;-1:-1:-1;;;;;11453:190:0:i;9165:24::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9165:24:0;;;:::i;:::-;;;;-1:-1:-1;;;;;9165:24:0;;;;;;;;;;;;;;6974:307;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6974:307:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6974:307:0;;;;;;;;:::i;6349:162::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6349:162:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6349:162:0;;;;;;;;;;:::i;9194:18::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9194:18:0;;;:::i;13183:107::-;13236:11;;-1:-1:-1;;;13236:11:0;;;;13228:20;;;;;;13257:27;13262:10;13274:9;13257:4;:27::i;:::-;13183:107::o;5830:192::-;5918:10;5897:4;5910:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5910:29:0;;;;;;;;;;;:38;;;5960;;;;;;;5897:4;;5910:29;;5918:10;;5960:38;;;;;;;;-1:-1:-1;6012:4:0;5830:192;;;;:::o;10922:525::-;11127:11;;11098:12;;11127:11;;;;;;:39;;-1:-1:-1;11142:10:0;:24;11127:39;11119:48;;;;;;11193:28;11211:9;11193:17;:28::i;:::-;11182:7;:39;11174:48;;;;;;11231:6;11240:26;11256:9;;11240:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;11240:15:0;;-1:-1:-1;;;11240:26:0:i;:::-;11231:35;;11279:6;11275:88;;;11296:18;11301:9;11312:1;11296:4;:18::i;:::-;11275:88;;;11337:18;11342:9;11353:1;11337:4;:18::i;:::-;11376:45;;;;;;;;-1:-1:-1;;;;;11376:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11437:4:0;;10922:525;-1:-1:-1;;;;;;;10922:525:0:o;9109:23::-;;;;;;:::o;3044:85::-;3111:12;;3044:85;:::o;9616:148::-;9690:11;;9668:4;;9690:11;;9689:12;9681:21;;;;;;9711:9;:22;;-1:-1:-1;;;;;;;9711:22:0;;;;;-1:-1:-1;;;;;;9711:22:0;;;;9740:18;;;;-1:-1:-1;9740:18:0;;;;9616:148;:::o;4714:487::-;-1:-1:-1;;;;;4860:15:0;;4826:4;4860:15;;;;;;;;;;;4850:25;;;4842:34;;;;;;-1:-1:-1;;;;;4901:14:0;;;;;;:7;:14;;;;;;;;4916:10;4901:26;;;;;;;;4891:36;;;4883:45;;;;;;-1:-1:-1;;;;;4943:17:0;;4935:26;;;;;;-1:-1:-1;;;;;4988:15:0;;:8;:15;;;;;;;;;;;:27;;5008:6;4988:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;4970:15:0;;;:8;:15;;;;;;;;;;;:45;;;;5038:13;;;;;;;:25;;5056:6;5038:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;5022:13:0;;;:8;:13;;;;;;;;;;;:41;;;;5099:14;;;;;:7;:14;;;;;5114:10;5099:26;;;;;;;:38;;5130:6;5099:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;5070:14:0;;;;;;;:7;:14;;;;;;;;5085:10;5070:26;;;;;;;;:67;;;;5149:28;;;;;;;;;;;5070:14;;-1:-1:-1;;;;;;;;;;;5149:28:0;;;;;;;;;;-1:-1:-1;5191:4:0;4714:487;;;;;:::o;10016:221::-;9466:11;;10080:4;;9466:11;;9458:20;;;;;;10093:25;10098:10;10110:7;10093:4;:25::i;:::-;10130:30;;;10140:10;10130:30;;;;;;;;;;;;;;;;;;;;;10175:5;;;:35;;;-1:-1:-1;;;10175:35:0;;10190:10;10175:35;;;;;;;;;;;;;;-1:-1:-1;;;;;10175:5:0;;;;:14;;:35;;;;;;;;;;;;;;:5;;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;10175:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10175:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10175:35:0;10167:44;;;;;;-1:-1:-1;10227:4:0;10016:221;;;:::o;7749:447::-;7903:10;7860:4;7895:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7895:29:0;;;;;;;;;;7935:28;;;7931:169;;7982:10;8006:1;7974:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7974:29:0;;;;;;;;;:33;7931:169;;;8062:30;:8;8075:16;8062:30;:12;:30;:::i;:::-;8038:10;8030:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;8030:29:0;;;;;;;;;:62;7931:169;8120:10;8142:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;8111:61:0;;8142:29;;;;;;;;;;;8111:61;;;;;;;;;8120:10;8111:61;;;;;;;;;;;-1:-1:-1;8186:4:0;;7749:447;-1:-1:-1;;;7749:447:0:o;12575:23::-;;;-1:-1:-1;;;12575:23:0;;;;;:::o;3828:101::-;-1:-1:-1;;;;;3907:16:0;3884:7;3907:16;;;;;;;;;;;;3828:101::o;9137:23::-;;;;;;;;;:::o;3290:329::-;3393:10;3353:4;3384:20;;;;;;;;;;;3374:30;;;3366:39;;;;;;-1:-1:-1;;;;;3420:17:0;;3412:26;;;;;;3479:10;3470:8;:20;;;;;;;;;;;:32;;3495:6;3470:32;:24;:32;:::i;:::-;3456:10;3447:8;:20;;;;;;;;;;;:55;;;;-1:-1:-1;;;;;3525:13:0;;;;;;:25;;3543:6;3525:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;3509:13:0;;:8;:13;;;;;;;;;;;;:41;;;;3562:33;;;;;;;3509:13;;3571:10;;-1:-1:-1;;;;;;;;;;;3562:33:0;;;;;;;;;-1:-1:-1;3609:4:0;3290:329;;;;:::o;10385:531::-;9466:11;;10574:12;;9466:11;;9458:20;;;;;;10625:9;;;;;-1:-1:-1;;;;;10625:9:0;10603:10;:32;10595:41;;;;;;10662:28;10680:9;10662:17;:28::i;:::-;10651:7;:39;10643:48;;;;;;10700:6;10709:26;10725:9;;10709:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;10709:15:0;;-1:-1:-1;;;10709:26:0:i;:::-;10700:35;;10748:6;10744:88;;;10765:18;10770:9;10781:1;10765:4;:18::i;10744:88::-;10806:18;10811:9;10822:1;10806:4;:18::i;13320:171::-;13375:11;;-1:-1:-1;;;13375:11:0;;;;13367:20;;;;;;13404:48;13417:10;13437:4;13444:7;13404:12;:48::i;:::-;13396:57;;;;;;13460:25;13465:10;13477:7;13460:4;:25::i;:::-;13320:171;:::o;10243:136::-;10338:34;;;10305:7;10338:34;;;;;;;;;;;;;-1:-1:-1;;10338:34:0;;;;;;;26:21:-1;;;22:32;;6:49;;10338:34:0;;;;;;;10328:45;;;;;;10243:136::o;9770:240::-;9466:11;;9833:4;;9466:11;;9458:20;;;;;;9846:25;9851:10;9863:7;9846:4;:25::i;:::-;9883:31;;;9894:10;9883:31;;;;;;;;;;;;;;;;;;;;;9929:5;;;:54;;;-1:-1:-1;;;9929:54:0;;9948:10;9929:54;;;;;;;9968:4;9929:54;;;;;;;;;;;-1:-1:-1;;;;;9929:5:0;;;;:18;;:54;;;;;;;;;;;;;;:5;;:54;;;5:2:-1;;;;30:1;27;20:12;11453:190:0;11523:6;11546:9;:16;11566:4;11546:24;11538:33;;;;;;-1:-1:-1;11625:4:0;11610:20;11604:27;;11589:49::o;9165:24::-;;;;;;-1:-1:-1;;;;;9165:24:0;;:::o;6974:307::-;7145:10;7080:4;7137:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7137:29:0;;;;;;;;;;:46;;7171:11;7137:46;:33;:46;:::i;:::-;7104:10;7096:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7096:29:0;;;;;;;;;;;;:88;;;7196:61;;;;;;7096:29;;7196:61;;;;;;;;;;;-1:-1:-1;7271:4:0;6974:307;;;;:::o;6349:162::-;-1:-1:-1;;;;;6480:15:0;;;6454:7;6480:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;6349:162::o;9194:18::-;;;-1:-1:-1;;;;;9194:18:0;;:::o;11651:198::-;11723:12;;:25;;11740:7;11723:25;:16;:25;:::i;:::-;11708:12;:40;-1:-1:-1;;;;;11771:13:0;;:8;:13;;;;;;;;;;;:26;;11789:7;11771:26;:17;:26;:::i;:::-;-1:-1:-1;;;;;11755:13:0;;:8;:13;;;;;;;;;;;:42;;;;11809:34;;;;;;;11755:13;;:8;;-1:-1:-1;;;;;;;;;;;11809:34:0;;;;;;;;;11651:198;;:::o;11855:206::-;-1:-1:-1;;;;;11932:15:0;;:8;:15;;;;;;;;;;;:28;;11952:7;11932:28;:19;:28;:::i;:::-;-1:-1:-1;;;;;11914:15:0;;:8;:15;;;;;;;;;;:46;11982:12;;:25;;11999:7;11982:25;:16;:25;:::i;:::-;11967:12;:40;12019:36;;;;;;;;12043:1;;-1:-1:-1;;;;;12019:36:0;;;-1:-1:-1;;;;;;;;;;;12019:36:0;;;;;;;;11855:206;;:::o;1168:119::-;1228:7;1257:2;1251;:8;;1244:16;;;;-1:-1:-1;1274:7:0;;;1168:119::o;1354:132::-;1436:7;;;1457;;;;1450:15;;;;1354:132;;;;:::o
Swarm Source
bzzr://fc24300bffb714c15ff96b03512536eca2c0a697ba14df0e8878552ca44bd64c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.