Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Loading...
Loading
Contract Name:
GeneralToken
Compiler Version
v0.4.24+commit.e67f0147
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-08-03 */ pragma solidity ^0.4.24; interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external; } /** * @title SafeMath * @dev Math operations with safety checks that revert on error */ library SafeMath { /** * @dev Multiplies two numbers, reverts on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring '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; } uint256 c = a * b; require(c / a == b); return c; } /** * @dev Integer division of two numbers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0); // Solidity only automatically asserts 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 c; } /** * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b; return c; } /** * @dev Adds two numbers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a); return c; } /** * @dev Divides two numbers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0); return a % b; } } /** * @title SafeMathInt * @dev Math operations for int256 with overflow safety checks. */ library SafeMathInt { int256 private constant MIN_INT256 = int256(1) << 255; int256 private constant MAX_INT256 = ~(int256(1) << 255); /** * @dev Multiplies two int256 variables and fails on overflow. */ function mul(int256 a, int256 b) internal pure returns (int256) { int256 c = a * b; // Detect overflow when multiplying MIN_INT256 with -1 require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256)); require((b == 0) || (c / b == a)); return c; } /** * @dev Division of two int256 variables and fails on overflow. */ function div(int256 a, int256 b) internal pure returns (int256) { // Prevent overflow when dividing MIN_INT256 by -1 require(b != -1 || a != MIN_INT256); // Solidity already throws when dividing by 0. return a / b; } /** * @dev Subtracts two int256 variables and fails on overflow. */ function sub(int256 a, int256 b) internal pure returns (int256) { int256 c = a - b; require((b >= 0 && c <= a) || (b < 0 && c > a)); return c; } /** * @dev Adds two int256 variables and fails on overflow. */ function add(int256 a, int256 b) internal pure returns (int256) { int256 c = a + b; require((b >= 0 && c >= a) || (b < 0 && c < a)); return c; } /** * @dev Converts to absolute value, and fails on overflow. */ function abs(int256 a) internal pure returns (int256) { require(a != MIN_INT256); return a < 0 ? -a : a; } } contract GeneralToken { using SafeMath for uint256; using SafeMathInt for int256; address private _owner; string private _name; string private _symbol; uint8 private _decimals = 8; // Precautionary emergency controls. bool public rebasePaused; bool public tokenPaused; uint256 private constant MAX_UINT256 = ~uint256(0); uint256 private _initalSupply; // TOTAL_GONS is a multiple of INITIAL_FRAGMENTS_SUPPLY so that _gonsPerFragment is an integer. // Use the highest value that fits in a uint256 for max granularity. uint256 private _totalGons; // MAX_SUPPLY = maximum integer < (sqrt(4*TOTAL_GONS + 1) - 1) / 2 uint256 private constant MAX_SUPPLY = ~uint128(0); // (2^128) - 1 uint256 private _totalSupply; uint256 private _gonsPerFragment; mapping(address => uint256) private _gonBalances; // This is denominated in Fragments, because the gons-fragments conversion might change before // it's fully paid. mapping (address => mapping (address => uint256)) private _allowedFragments; // This generates a public event on the blockchain that will notify clients event Transfer(address indexed from, address indexed to, uint256 value); // This notifies clients about the amount burnt // event Burn(address indexed from, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); event LogRebase(uint256 totalSupply); event LogRebasePaused(bool paused); event LogTokenPaused(bool paused); // rebase whether paused,default false modifier whenRebaseNotPaused() { require(!rebasePaused); _; } // token whether paused,default false modifier whenTokenNotPaused() { require(!tokenPaused); _; } // validate to address modifier validRecipient(address to) { require(to != address(0x0)); require(to != address(this)); _; } /** * @return the address of the owner. */ function owner() public view returns(address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(isOwner()); _; } /** * @return true if `msg.sender` is the owner of the contract. */ function isOwner() public view returns(bool) { return msg.sender == _owner; } /** * Constructor function * * Initializes contract with initial supply tokens to the creator of the contract */ constructor ( uint256 initialSupply, string tokenName, string tokenSymbol ) public { // Set owner _owner = msg.sender; // set name,symbol,decimals _name = tokenName; _symbol = tokenSymbol; _initalSupply = initialSupply * 10 ** uint256(_decimals); _totalGons = MAX_UINT256 - (MAX_UINT256 % _initalSupply); rebasePaused = false; tokenPaused = false; _totalSupply = _initalSupply; _gonBalances[_owner] = _totalGons; _gonsPerFragment = _totalGons.div(_totalSupply); emit Transfer(address(0x0), _owner, _totalSupply); } /** * @dev Notifies Fragments contract about a new rebase cycle. * @param supplyDelta The number of new fragment tokens to add into circulation via expansion. * @return The total number of fragments after the supply adjustment. */ function rebase(uint256 supplyDelta) external onlyOwner whenRebaseNotPaused returns (uint256) { if (supplyDelta == 0) { emit LogRebase(_totalSupply); return _totalSupply; } _totalSupply = supplyDelta * 10 ** uint256(_decimals); if (_totalSupply > MAX_SUPPLY) { _totalSupply = MAX_SUPPLY; } _gonsPerFragment = _totalGons.div(_totalSupply); emit LogRebase(_totalSupply); return _totalSupply; } /** * @dev Pauses or unpauses the execution of rebase operations. * @param paused Pauses rebase operations if this is true. */ function setRebasePaused(bool paused) external onlyOwner { rebasePaused = paused; emit LogRebasePaused(paused); } /** * @dev Pauses or unpauses execution of ERC-20 transactions. * @param paused Pauses ERC-20 transactions if this is true. */ function setTokenPaused(bool paused) external onlyOwner { tokenPaused = paused; emit LogTokenPaused(paused); } /** * @return The total number of fragments. */ function totalSupply() public view returns (uint256) { return _totalSupply; } /** * @param who The address to query. * @return The balance of the specified address. */ function balanceOf(address who) public view returns (uint256) { return _gonBalances[who].div(_gonsPerFragment); } /** * @return the name of the token. */ function name() public view returns(string) { return _name; } /** * @return the symbol of the token. */ function symbol() public view returns(string) { return _symbol; } /** * @return the number of decimals of the token. */ function decimals() public view returns(uint8) { return _decimals; } /** * Internal transfer, only can be called by this contract */ function _transfer(address _from, address _to, uint256 _value) internal { // Prevent transfer to 0x0 address. Use burn() instead // require(_to != address(0)); uint256 gonValue = _value.mul(_gonsPerFragment); // Check if the sender has enough require(_gonBalances[_from] >= gonValue); // Check for overflows require(_gonBalances[_to].add(gonValue) >= _gonBalances[_to]); // Save this for an assertion in the future uint256 previousBalances = _gonBalances[_from].add(_gonBalances[_to]); // Subtract from the sender _gonBalances[_from] = _gonBalances[_from].sub(gonValue); _gonBalances[_to] = _gonBalances[_to].add(gonValue); // Add transfer event emit Transfer(_from, _to, _value); // Asserts are used to use static analysis to find bugs in your code. They should never fail assert(_gonBalances[_from].add(_gonBalances[_to]) == previousBalances); } /** * Transfer tokens * * Send `_value` tokens to `_to` from your account * * @param _to The address of the recipient * @param _value the amount to send */ function transfer(address _to, uint256 _value) public validRecipient(_to) whenTokenNotPaused returns (bool) { _transfer(msg.sender, _to, _value); return true; } /** * @dev Function to check the amount of tokens that an owner has allowed to a spender. * @param owner_ The address which owns the funds. * @param spender The address which will spend the funds. * @return The number of tokens still available for the spender. */ function allowance(address owner_, address spender) public view returns (uint256) { return _allowedFragments[owner_][spender]; } /** * Transfer tokens from other address * * Send `_value` tokens to `_to` on behalf of `_from` * * @param _from The address of the sender * @param _to The address of the recipient * @param _value the amount to send */ function transferFrom(address _from, address _to, uint256 _value) public validRecipient(_to) whenTokenNotPaused returns (bool) { require(_value <= _allowedFragments[_from][msg.sender]); // Check allowance _allowedFragments[_from][msg.sender] = _allowedFragments[_from][msg.sender].sub(_value); _transfer(_from, _to, _value); return true; } /** * Set allowance for other address * * Allows `_spender` to spend no more than `_value` tokens on your behalf * * @param _spender The address authorized to spend * @param _value the max amount they can spend */ function approve(address _spender, uint256 _value) public whenTokenNotPaused returns (bool) { require(_spender != address(0)); _allowedFragments[msg.sender][_spender] = _value; emit Approval(msg.sender, _spender, _value); return true; } /** * @dev Increase the amount of tokens that an owner has allowed to a spender. * This method should be used instead of approve() to avoid the double approval vulnerability * described above. * @param spender The address which will spend the funds. * @param addedValue The amount of tokens to increase the allowance by. */ function increaseAllowance(address spender, uint256 addedValue) public whenTokenNotPaused returns (bool) { _allowedFragments[msg.sender][spender] = _allowedFragments[msg.sender][spender].add(addedValue); emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]); return true; } /** * @dev Decrease the amount of tokens that an owner has allowed to a spender. * * @param spender The address which will spend the funds. * @param subtractedValue The amount of tokens to decrease the allowance by. */ function decreaseAllowance(address spender, uint256 subtractedValue) public whenTokenNotPaused returns (bool) { uint256 oldValue = _allowedFragments[msg.sender][spender]; if (subtractedValue >= oldValue) { _allowedFragments[msg.sender][spender] = 0; } else { _allowedFragments[msg.sender][spender] = oldValue.sub(subtractedValue); } emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]); return true; } /** * Set allowance for other address and notify * * Allows `_spender` to spend no more than `_value` tokens on your behalf, and then ping the contract about it * * @param _spender The address authorized to spend * @param _value the max amount they can spend * @param _extraData some extra information to send to the approved contract */ function approveAndCall(address _spender, uint256 _value, bytes _extraData) public whenTokenNotPaused returns (bool) { tokenRecipient spender = tokenRecipient(_spender); if (approve(_spender, _value)) { spender.receiveApproval(msg.sender, _value, address(this), _extraData); return true; } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"paused","type":"bool"}],"name":"setRebasePaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"paused","type":"bool"}],"name":"setTokenPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"rebasePaused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenPaused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"supplyDelta","type":"uint256"}],"name":"rebase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner_","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"initialSupply","type":"uint256"},{"name":"tokenName","type":"string"},{"name":"tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"totalSupply","type":"uint256"}],"name":"LogRebase","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"paused","type":"bool"}],"name":"LogRebasePaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"paused","type":"bool"}],"name":"LogTokenPaused","type":"event"}]
Contract Creation Code
60806040526008600360006101000a81548160ff021916908360ff1602179055503480156200002d57600080fd5b5060405162001f3c38038062001f3c833981018060405281019080805190602001909291908051820192919060200180518201929190505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160019080519060200190620000be929190620002a2565b508060029080519060200190620000d7929190620002a2565b50600360009054906101000a900460ff1660ff16600a0a83026004819055506004546000198115156200010657fe5b06600019036005819055506000600360016101000a81548160ff0219169083151502179055506000600360026101000a81548160ff021916908315150217905550600454600681905550600554600860008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001de600654600554620002766401000000000262001b47179091906401000000009004565b6007819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6006546040518082815260200191505060405180910390a350505062000351565b6000806000831115156200028957600080fd5b82848115156200029557fe5b0490508091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e557805160ff191683800117855562000316565b8280016001018555821562000316579182015b8281111562000315578251825591602001919060010190620002f8565b5b50905062000325919062000329565b5090565b6200034e91905b808211156200034a57600081600090555060010162000330565b5090565b90565b611bdb80620003616000396000f300608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461010c578063095ea7b31461019c57806318160ddd1461020157806322872e0b1461022c57806323b872dd1461025b57806329519457146102e0578063313ce5671461030f578063395093511461034057806353ca9f24146103a557806370a08231146103d457806386c75e741461042b5780638da5cb5b1461045a5780638f32d59b146104b157806395d89b41146104e0578063a457c2d714610570578063a9059cbb146105d5578063bc4f2d6d1461063a578063cae9ca511461067b578063dd62ed3e14610726575b600080fd5b34801561011857600080fd5b5061012161079d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610161578082015181840152602081019050610146565b50505050905090810190601f16801561018e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a857600080fd5b506101e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083f565b604051808215151515815260200191505060405180910390f35b34801561020d57600080fd5b50610216610989565b6040518082815260200191505060405180910390f35b34801561023857600080fd5b50610259600480360381019080803515159060200190929190505050610993565b005b34801561026757600080fd5b506102c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109fe565b604051808215151515815260200191505060405180910390f35b3480156102ec57600080fd5b5061030d600480360381019080803515159060200190929190505050610c45565b005b34801561031b57600080fd5b50610324610cb0565b604051808260ff1660ff16815260200191505060405180910390f35b34801561034c57600080fd5b5061038b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cc7565b604051808215151515815260200191505060405180910390f35b3480156103b157600080fd5b506103ba610edf565b604051808215151515815260200191505060405180910390f35b3480156103e057600080fd5b50610415600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef2565b6040518082815260200191505060405180910390f35b34801561043757600080fd5b50610440610f4f565b604051808215151515815260200191505060405180910390f35b34801561046657600080fd5b5061046f610f62565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104bd57600080fd5b506104c6610f8b565b604051808215151515815260200191505060405180910390f35b3480156104ec57600080fd5b506104f5610fe2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053557808201518184015260208101905061051a565b50505050905090810190601f1680156105625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561057c57600080fd5b506105bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611084565b604051808215151515815260200191505060405180910390f35b3480156105e157600080fd5b50610620600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611332565b604051808215151515815260200191505060405180910390f35b34801561064657600080fd5b50610665600480360381019080803590602001909291905050506113de565b6040518082815260200191505060405180910390f35b34801561068757600080fd5b5061070c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611514565b604051808215151515815260200191505060405180910390f35b34801561073257600080fd5b50610787600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116b3565b6040518082815260200191505060405180910390f35b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108355780601f1061080a57610100808354040283529160200191610835565b820191906000526020600020905b81548152906001019060200180831161081857829003601f168201915b5050505050905090565b6000600360029054906101000a900460ff1615151561085d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561089957600080fd5b81600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600654905090565b61099b610f8b565b15156109a657600080fd5b80600360016101000a81548160ff0219169083151502179055507fb36927c68760751ec71d827eb30be804be612d87c7c6b6a1f255258c6a1bea6681604051808215151515815260200191505060405180910390a150565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610a3d57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610a7857600080fd5b600360029054906101000a900460ff16151515610a9457600080fd5b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610b1f57600080fd5b610bae83600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461173a90919063ffffffff16565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c3985858561175b565b60019150509392505050565b610c4d610f8b565b1515610c5857600080fd5b80600360026101000a81548160ff0219169083151502179055507f398c4e18c8ef7f11eb3921fe2d01d3b469329a5f01febf5ba17f2462f27f439c81604051808215151515815260200191505060405180910390a150565b6000600360009054906101000a900460ff16905090565b6000600360029054906101000a900460ff16151515610ce557600080fd5b610d7482600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2690919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600360019054906101000a900460ff1681565b6000610f48600754600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4790919063ffffffff16565b9050919050565b600360029054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b606060028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561107a5780601f1061104f5761010080835404028352916020019161107a565b820191906000526020600020905b81548152906001019060200180831161105d57829003601f168201915b5050505050905090565b600080600360029054906101000a900460ff161515156110a357600080fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831015156111b2576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611246565b6111c5838261173a90919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561137157600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156113ac57600080fd5b600360029054906101000a900460ff161515156113c857600080fd5b6113d333858561175b565b600191505092915050565b60006113e8610f8b565b15156113f357600080fd5b600360019054906101000a900460ff1615151561140f57600080fd5b600082141561145b577f60633057fb2c2558942a126acc1dc7c639b6fdee660a0171f7500e2ac5918b2e6006546040518082815260200191505060405180910390a1600654905061150f565b600360009054906101000a900460ff1660ff16600a0a82026006819055506000196fffffffffffffffffffffffffffffffff1660065411156114b3576000196fffffffffffffffffffffffffffffffff166006819055505b6114ca600654600554611b4790919063ffffffff16565b6007819055507f60633057fb2c2558942a126acc1dc7c639b6fdee660a0171f7500e2ac5918b2e6006546040518082815260200191505060405180910390a160065490505b919050565b600080600360029054906101000a900460ff1615151561153357600080fd5b849050611540858561083f565b156116aa578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561163a57808201518184015260208101905061161f565b50505050905090810190601f1680156116675780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561168957600080fd5b505af115801561169d573d6000803e3d6000fd5b50505050600191506116ab565b5b509392505050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008083831115151561174c57600080fd5b82840390508091505092915050565b60008061177360075484611b7190919063ffffffff16565b915081600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156117c357600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461185583600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2690919063ffffffff16565b1015151561186257600080fd5b6118f3600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2690919063ffffffff16565b905061194782600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461173a90919063ffffffff16565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119dc82600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2690919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a380611b16600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2690919063ffffffff16565b141515611b1f57fe5b5050505050565b6000808284019050838110151515611b3d57600080fd5b8091505092915050565b600080600083111515611b5957600080fd5b8284811515611b6457fe5b0490508091505092915050565b6000806000841415611b865760009150611ba8565b8284029050828482811515611b9757fe5b04141515611ba457600080fd5b8091505b50929150505600a165627a7a723058205de10f5ae88e7b04878d1c8cc7ced94eb15f1601b280dbb43c7ace150206573100290000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000a466c6f7720436861696e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004464c4f5700000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405260043610610107576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461010c578063095ea7b31461019c57806318160ddd1461020157806322872e0b1461022c57806323b872dd1461025b57806329519457146102e0578063313ce5671461030f578063395093511461034057806353ca9f24146103a557806370a08231146103d457806386c75e741461042b5780638da5cb5b1461045a5780638f32d59b146104b157806395d89b41146104e0578063a457c2d714610570578063a9059cbb146105d5578063bc4f2d6d1461063a578063cae9ca511461067b578063dd62ed3e14610726575b600080fd5b34801561011857600080fd5b5061012161079d565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610161578082015181840152602081019050610146565b50505050905090810190601f16801561018e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a857600080fd5b506101e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083f565b604051808215151515815260200191505060405180910390f35b34801561020d57600080fd5b50610216610989565b6040518082815260200191505060405180910390f35b34801561023857600080fd5b50610259600480360381019080803515159060200190929190505050610993565b005b34801561026757600080fd5b506102c6600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109fe565b604051808215151515815260200191505060405180910390f35b3480156102ec57600080fd5b5061030d600480360381019080803515159060200190929190505050610c45565b005b34801561031b57600080fd5b50610324610cb0565b604051808260ff1660ff16815260200191505060405180910390f35b34801561034c57600080fd5b5061038b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cc7565b604051808215151515815260200191505060405180910390f35b3480156103b157600080fd5b506103ba610edf565b604051808215151515815260200191505060405180910390f35b3480156103e057600080fd5b50610415600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ef2565b6040518082815260200191505060405180910390f35b34801561043757600080fd5b50610440610f4f565b604051808215151515815260200191505060405180910390f35b34801561046657600080fd5b5061046f610f62565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104bd57600080fd5b506104c6610f8b565b604051808215151515815260200191505060405180910390f35b3480156104ec57600080fd5b506104f5610fe2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053557808201518184015260208101905061051a565b50505050905090810190601f1680156105625780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561057c57600080fd5b506105bb600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611084565b604051808215151515815260200191505060405180910390f35b3480156105e157600080fd5b50610620600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611332565b604051808215151515815260200191505060405180910390f35b34801561064657600080fd5b50610665600480360381019080803590602001909291905050506113de565b6040518082815260200191505060405180910390f35b34801561068757600080fd5b5061070c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611514565b604051808215151515815260200191505060405180910390f35b34801561073257600080fd5b50610787600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116b3565b6040518082815260200191505060405180910390f35b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108355780601f1061080a57610100808354040283529160200191610835565b820191906000526020600020905b81548152906001019060200180831161081857829003601f168201915b5050505050905090565b6000600360029054906101000a900460ff1615151561085d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561089957600080fd5b81600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600654905090565b61099b610f8b565b15156109a657600080fd5b80600360016101000a81548160ff0219169083151502179055507fb36927c68760751ec71d827eb30be804be612d87c7c6b6a1f255258c6a1bea6681604051808215151515815260200191505060405180910390a150565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610a3d57600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610a7857600080fd5b600360029054906101000a900460ff16151515610a9457600080fd5b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610b1f57600080fd5b610bae83600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461173a90919063ffffffff16565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c3985858561175b565b60019150509392505050565b610c4d610f8b565b1515610c5857600080fd5b80600360026101000a81548160ff0219169083151502179055507f398c4e18c8ef7f11eb3921fe2d01d3b469329a5f01febf5ba17f2462f27f439c81604051808215151515815260200191505060405180910390a150565b6000600360009054906101000a900460ff16905090565b6000600360029054906101000a900460ff16151515610ce557600080fd5b610d7482600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2690919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600360019054906101000a900460ff1681565b6000610f48600754600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b4790919063ffffffff16565b9050919050565b600360029054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b606060028054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561107a5780601f1061104f5761010080835404028352916020019161107a565b820191906000526020600020905b81548152906001019060200180831161105d57829003601f168201915b5050505050905090565b600080600360029054906101000a900460ff161515156110a357600080fd5b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831015156111b2576000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611246565b6111c5838261173a90919063ffffffff16565b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561137157600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156113ac57600080fd5b600360029054906101000a900460ff161515156113c857600080fd5b6113d333858561175b565b600191505092915050565b60006113e8610f8b565b15156113f357600080fd5b600360019054906101000a900460ff1615151561140f57600080fd5b600082141561145b577f60633057fb2c2558942a126acc1dc7c639b6fdee660a0171f7500e2ac5918b2e6006546040518082815260200191505060405180910390a1600654905061150f565b600360009054906101000a900460ff1660ff16600a0a82026006819055506000196fffffffffffffffffffffffffffffffff1660065411156114b3576000196fffffffffffffffffffffffffffffffff166006819055505b6114ca600654600554611b4790919063ffffffff16565b6007819055507f60633057fb2c2558942a126acc1dc7c639b6fdee660a0171f7500e2ac5918b2e6006546040518082815260200191505060405180910390a160065490505b919050565b600080600360029054906101000a900460ff1615151561153357600080fd5b849050611540858561083f565b156116aa578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561163a57808201518184015260208101905061161f565b50505050905090810190601f1680156116675780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561168957600080fd5b505af115801561169d573d6000803e3d6000fd5b50505050600191506116ab565b5b509392505050565b6000600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008083831115151561174c57600080fd5b82840390508091505092915050565b60008061177360075484611b7190919063ffffffff16565b915081600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101515156117c357600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461185583600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2690919063ffffffff16565b1015151561186257600080fd5b6118f3600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2690919063ffffffff16565b905061194782600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461173a90919063ffffffff16565b600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506119dc82600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2690919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a380611b16600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b2690919063ffffffff16565b141515611b1f57fe5b5050505050565b6000808284019050838110151515611b3d57600080fd5b8091505092915050565b600080600083111515611b5957600080fd5b8284811515611b6457fe5b0490508091505092915050565b6000806000841415611b865760009150611ba8565b8284029050828482811515611b9757fe5b04141515611ba457600080fd5b8091505b50929150505600a165627a7a723058205de10f5ae88e7b04878d1c8cc7ced94eb15f1601b280dbb43c7ace15020657310029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000005f5e100000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000a466c6f7720436861696e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004464c4f5700000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : initialSupply (uint256): 100000000
Arg [1] : tokenName (string): Flow Chain
Arg [2] : tokenSymbol (string): FLOW
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000005f5e100
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [2] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [4] : 466c6f7720436861696e00000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 464c4f5700000000000000000000000000000000000000000000000000000000
Deployed Bytecode Sourcemap
3896:11236:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9244:75;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9244:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9244:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12527:281;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12527:281:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8776:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8776:123:0;;;;;;;;;;;;;;;;;;;;;;;8230:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8230:159:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11872:386;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11872:386:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8547:156;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8547:156:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9544:82;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9544:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;13181:371;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13181:371:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4160:24;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4160:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;9020:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9020:159:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4191:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4191:23:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5995:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5995:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6329:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6329:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;9386:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9386:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;9386:79:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13814:540;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13814:540:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10928:183;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10928:183:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7516:556;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7516:556:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14753:376;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14753:376:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11418:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11418:174:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9244:75;9280:6;9306:5;9299:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9244:75;:::o;12527:281::-;12613:4;5726:11;;;;;;;;;;;5725:12;5717:21;;;;;;;;12658:1;12638:22;;:8;:22;;;;12630:31;;;;;;;;12716:6;12674:17;:29;12692:10;12674:29;;;;;;;;;;;;;;;:39;12704:8;12674:39;;;;;;;;;;;;;;;:48;;;;12759:8;12738:38;;12747:10;12738:38;;;12769:6;12738:38;;;;;;;;;;;;;;;;;;12796:4;12789:11;;12527:281;;;;:::o;8776:123::-;8847:7;8879:12;;8872:19;;8776:123;:::o;8230:159::-;6206:9;:7;:9::i;:::-;6198:18;;;;;;;;8336:6;8321:12;;:21;;;;;;;;;;;;;;;;;;8358:23;8374:6;8358:23;;;;;;;;;;;;;;;;;;;;;;8230:159;:::o;11872:386::-;11993:4;11960:3;5863;5849:18;;:2;:18;;;;5841:27;;;;;;;;5901:4;5887:19;;:2;:19;;;;5879:28;;;;;;;;5726:11;;;;;;;;;;;5725:12;5717:21;;;;;;;;12028:17;:24;12046:5;12028:24;;;;;;;;;;;;;;;:36;12053:10;12028:36;;;;;;;;;;;;;;;;12018:6;:46;;12010:55;;;;;;;;12140:48;12181:6;12140:17;:24;12158:5;12140:24;;;;;;;;;;;;;;;:36;12165:10;12140:36;;;;;;;;;;;;;;;;:40;;:48;;;;:::i;:::-;12101:17;:24;12119:5;12101:24;;;;;;;;;;;;;;;:36;12126:10;12101:36;;;;;;;;;;;;;;;:87;;;;12199:29;12209:5;12216:3;12221:6;12199:9;:29::i;:::-;12246:4;12239:11;;11872:386;;;;;;:::o;8547:156::-;6206:9;:7;:9::i;:::-;6198:18;;;;;;;;8651:6;8637:11;;:20;;;;;;;;;;;;;;;;;;8673:22;8688:6;8673:22;;;;;;;;;;;;;;;;;;;;;;8547:156;:::o;9544:82::-;9584:5;9609:9;;;;;;;;;;;9602:16;;9544:82;:::o;13181:371::-;13307:4;5726:11;;;;;;;;;;;5725:12;5717:21;;;;;;;;13383:54;13426:10;13383:17;:29;13401:10;13383:29;;;;;;;;;;;;;;;:38;13413:7;13383:38;;;;;;;;;;;;;;;;:42;;:54;;;;:::i;:::-;13329:17;:29;13347:10;13329:29;;;;;;;;;;;;;;;:38;13359:7;13329:38;;;;;;;;;;;;;;;:108;;;;13474:7;13453:69;;13462:10;13453:69;;;13483:17;:29;13501:10;13483:29;;;;;;;;;;;;;;;:38;13513:7;13483:38;;;;;;;;;;;;;;;;13453:69;;;;;;;;;;;;;;;;;;13540:4;13533:11;;13181:371;;;;:::o;4160:24::-;;;;;;;;;;;;;:::o;9020:159::-;9100:7;9132:39;9154:16;;9132:12;:17;9145:3;9132:17;;;;;;;;;;;;;;;;:21;;:39;;;;:::i;:::-;9125:46;;9020:159;;;:::o;4191:23::-;;;;;;;;;;;;;:::o;5995:78::-;6032:7;6059:6;;;;;;;;;;;6052:13;;5995:78;:::o;6329:91::-;6368:4;6406:6;;;;;;;;;;;6392:20;;:10;:20;;;6385:27;;6329:91;:::o;9386:79::-;9424:6;9450:7;9443:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9386:79;:::o;13814:540::-;13945:4;13967:16;5726:11;;;;;;;;;;;5725:12;5717:21;;;;;;;;13986:17;:29;14004:10;13986:29;;;;;;;;;;;;;;;:38;14016:7;13986:38;;;;;;;;;;;;;;;;13967:57;;14058:8;14039:15;:27;;14035:205;;;14124:1;14083:17;:29;14101:10;14083:29;;;;;;;;;;;;;;;:38;14113:7;14083:38;;;;;;;;;;;;;;;:42;;;;14035:205;;;14199:29;14212:15;14199:8;:12;;:29;;;;:::i;:::-;14158:17;:29;14176:10;14158:29;;;;;;;;;;;;;;;:38;14188:7;14158:38;;;;;;;;;;;;;;;:70;;;;14035:205;14276:7;14255:69;;14264:10;14255:69;;;14285:17;:29;14303:10;14285:29;;;;;;;;;;;;;;;:38;14315:7;14285:38;;;;;;;;;;;;;;;;14255:69;;;;;;;;;;;;;;;;;;14342:4;14335:11;;13814:540;;;;;:::o;10928:183::-;11030:4;10997:3;5863;5849:18;;:2;:18;;;;5841:27;;;;;;;;5901:4;5887:19;;:2;:19;;;;5879:28;;;;;;;;5726:11;;;;;;;;;;;5725:12;5717:21;;;;;;;;11047:34;11057:10;11069:3;11074:6;11047:9;:34::i;:::-;11099:4;11092:11;;10928:183;;;;;:::o;7516:556::-;7637:7;6206:9;:7;:9::i;:::-;6198:18;;;;;;;;5592:12;;;;;;;;;;;5591:13;5583:22;;;;;;;;7681:1;7666:11;:16;7662:111;;;7704:23;7714:12;;7704:23;;;;;;;;;;;;;;;;;;7749:12;;7742:19;;;;7662:111;7828:9;;;;;;;;;;;7820:18;;7814:2;:24;7800:11;:38;7785:12;:53;;;;4647:1;4638:11;7870:10;;7855:12;;:25;7851:83;;;4647:1;4638:11;7912:10;;7897:12;:25;;;;7851:83;7965:28;7980:12;;7965:10;;:14;;:28;;;;:::i;:::-;7946:16;:47;;;;8011:23;8021:12;;8011:23;;;;;;;;;;;;;;;;;;8052:12;;8045:19;;5616:1;7516:556;;;:::o;14753:376::-;14891:4;14908:22;5726:11;;;;;;;;;;;5725:12;5717:21;;;;;;;;14948:8;14908:49;;14972:25;14980:8;14990:6;14972:7;:25::i;:::-;14968:154;;;15014:7;:23;;;15038:10;15050:6;15066:4;15073:10;15014:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;15014:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15014:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15014:70:0;;;;15106:4;15099:11;;;;14968:154;5749:1;14753:376;;;;;;:::o;11418:174::-;11518:7;11550:17;:25;11568:6;11550:25;;;;;;;;;;;;;;;:34;11576:7;11550:34;;;;;;;;;;;;;;;;11543:41;;11418:174;;;;:::o;1329:150::-;1387:7;1433:9;1420:1;1415;:6;;1407:15;;;;;;;;1449:1;1445;:5;1433:17;;1470:1;1463:8;;1329:150;;;;;:::o;9715:1002::-;9904:16;10215:24;9923:28;9934:16;;9923:6;:10;;:28;;;;:::i;:::-;9904:47;;10036:8;10013:12;:19;10026:5;10013:19;;;;;;;;;;;;;;;;:31;;10005:40;;;;;;;;10131:12;:17;10144:3;10131:17;;;;;;;;;;;;;;;;10096:31;10118:8;10096:12;:17;10109:3;10096:17;;;;;;;;;;;;;;;;:21;;:31;;;;:::i;:::-;:52;;10088:61;;;;;;;;10242:42;10266:12;:17;10279:3;10266:17;;;;;;;;;;;;;;;;10242:12;:19;10255:5;10242:19;;;;;;;;;;;;;;;;:23;;:42;;;;:::i;:::-;10215:69;;10354:33;10378:8;10354:12;:19;10367:5;10354:19;;;;;;;;;;;;;;;;:23;;:33;;;;:::i;:::-;10332:12;:19;10345:5;10332:19;;;;;;;;;;;;;;;:55;;;;10418:31;10440:8;10418:12;:17;10431:3;10418:17;;;;;;;;;;;;;;;;:21;;:31;;;;:::i;:::-;10398:12;:17;10411:3;10398:17;;;;;;;;;;;;;;;:51;;;;10514:3;10498:28;;10507:5;10498:28;;;10519:6;10498:28;;;;;;;;;;;;;;;;;;10692:16;10646:42;10670:12;:17;10683:3;10670:17;;;;;;;;;;;;;;;;10646:12;:19;10659:5;10646:19;;;;;;;;;;;;;;;;:23;;:42;;;;:::i;:::-;:62;10639:70;;;;;;9715:1002;;;;;:::o;1555:150::-;1613:7;1633:9;1649:1;1645;:5;1633:17;;1674:1;1669;:6;;1661:15;;;;;;;;1696:1;1689:8;;1555:150;;;;;:::o;909:294::-;967:7;1070:9;999:1;995;:5;987:14;;;;;;;;1086:1;1082;:5;;;;;;;;1070:17;;1194:1;1187:8;;909:294;;;;;:::o;353:433::-;411:7;710:9;660:1;655;:6;651:47;;;685:1;678:8;;;;651:47;726:1;722;:5;710:17;;755:1;750;746;:5;;;;;;;;:10;738:19;;;;;;;;777:1;770:8;;353:433;;;;;;:::o
Swarm Source
bzzr://5de10f5ae88e7b04878d1c8cc7ced94eb15f1601b280dbb43c7ace1502065731
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.