Overview
Max Total Supply
124,125,940 EURS
Holders
5,110 ( 0.020%)
Market
Price
$1.04 @ 0.000298 ETH (+0.21%)
Onchain Market Cap
$129,215,103.54
Circulating Supply Market Cap
$129,232,421.00
Other Info
Token Contract (WITH 2 Decimals)
Balance
202.98 EURSValue
$211.30 ( ~0.0604731561494292 Eth) [0.0002%]Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|---|---|---|---|---|
1 | HitBTC | EURS-USDT | $1.04 0.0002974 Eth | $873,967.00 841,380.700 EURS | 89.5690% |
2 | Curve (Ethereum) | 0XDB25F211AB05B1C97D595516F45794528A807AD8-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48 | $1.039 0.0002979 Eth | $41,563.00 39,819.720 0XDB25F211AB05B1C97D595516F45794528A807AD8 | 4.2390% |
3 | Uniswap V3 (Polygon) | 0XE111178A87A3BFF0C8D18DECBA5798827539AE99-0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | $1.039 0.0002970 Eth | $38,251.00 36,744.480 0XE111178A87A3BFF0C8D18DECBA5798827539AE99 | 3.9116% |
4 | XSwap Protocol V3 | 0X1EBB2C8A71A9EC59BF558886A8ADF8F4A565814F-0X951857744785E80E2DE051C32EE7B25F9C458C42 | $1.13 0.0003096 Eth | $26,576.00 149.140 0X1EBB2C8A71A9EC59BF558886A8ADF8F4A565814F | 0.0159% |
5 | Curve (Ethereum) | 0XDB25F211AB05B1C97D595516F45794528A807AD8-0XD71ECFF9342A5CED620049E616C5035F1DB98620 | $1.039 0.0002974 Eth | $13,266.80 12,899.760 0XDB25F211AB05B1C97D595516F45794528A807AD8 | 1.3732% |
6 | XSwap Protocol V3 | 0X1EBB2C8A71A9EC59BF558886A8ADF8F4A565814F-0X49D3F7543335CF38FA10889CCFF10207E22110B5 | $1.089 0.0004504 Eth | $11,646.13 5,603.070 0X1EBB2C8A71A9EC59BF558886A8ADF8F4A565814F | 0.5965% |
7 | Uniswap V3 (Polygon) | 0X3C499C542CEF5E3811E1192CE70D8CC03D5C3359-0XE111178A87A3BFF0C8D18DECBA5798827539AE99 | $1.039 0.0002973 Eth | $5,455.51 5,499.318 0X3C499C542CEF5E3811E1192CE70D8CC03D5C3359 | 0.5854% |
8 | Curve (Ethereum) | 0X1A7E4E63778B4F12A199C062F3EFDD288AFCBCE8-0XDB25F211AB05B1C97D595516F45794528A807AD8 | $1.04 0.0002978 Eth | $2,080.29 1,999.491 0X1A7E4E63778B4F12A199C062F3EFDD288AFCBCE8 | 0.2129% |
9 | HitBTC | BTC-EURS | $1.043 0.0003161 Eth | $1,145.43 0.012 BTC | 0.0000% |
10 | Curve (Polygon) | 0XE2AA7DB6DA1DAE97C5F5C6914D285FBFCC32A128-0XE111178A87A3BFF0C8D18DECBA5798827539AE99 | $1.034 0.0002969 Eth | $895.07 879.679 0XE2AA7DB6DA1DAE97C5F5C6914D285FBFCC32A128 | 0.0936% |
11 | Curve (Ethereum) | 0XC581B735A1688071A1746C968E0798D642EDE491-0XDB25F211AB05B1C97D595516F45794528A807AD8 | $1.041 0.0002977 Eth | $585.13 562.687 0XC581B735A1688071A1746C968E0798D642EDE491 | 0.0599% |
12 | Curve (Polygon) | 0X4E3DECBB3645551B8A19F0EA1678079FCB33FB4C-0XE111178A87A3BFF0C8D18DECBA5798827539AE99 | $1.037 0.0002969 Eth | $360.46 371.516 0X4E3DECBB3645551B8A19F0EA1678079FCB33FB4C | 0.0395% |
13 | Uniswap V2 (Ethereum) | 0XDB25F211AB05B1C97D595516F45794528A807AD8-0XC02AAA39B223FE8D0A0E5C4F27EAD9083C756CC2 | $0.9886 0.0002839 Eth | $78.13 79.850 0XDB25F211AB05B1C97D595516F45794528A807AD8 | 0.0085% |
14 | XSwap Protocol V3 | 0X1EBB2C8A71A9EC59BF558886A8ADF8F4A565814F-0X5D5F074837F5D4618B3916BA74DE1BF9662A3FED | $1.10 0.0004566 Eth | $47.48 4,218.820 0X1EBB2C8A71A9EC59BF558886A8ADF8F4A565814F | 0.4491% |
15 | Curve (Polygon) | 0XE111178A87A3BFF0C8D18DECBA5798827539AE99-0X7BDF330F423EA880FF95FC41A280FD5ECFD3D09F | $1.043 0.0002986 Eth | $45.65 43.930 0XE111178A87A3BFF0C8D18DECBA5798827539AE99 | 0.0047% |
16 | Uniswap V3 (Polygon) | 0XE111178A87A3BFF0C8D18DECBA5798827539AE99-0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | $1.053 0.0003010 Eth | $44.32 42.070 0XE111178A87A3BFF0C8D18DECBA5798827539AE99 | 0.0045% |
17 | Uniswap V2 (Ethereum) | 0XDB25F211AB05B1C97D595516F45794528A807AD8-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48 | $1.018 0.0002902 Eth | $37.76 37.080 0XDB25F211AB05B1C97D595516F45794528A807AD8 | 0.0039% |
18 | YoBit | EURS-BTC | $1.14 0.0003311 Eth | $27.03 23.644 EURS | 0.0025% |
19 | HitBTC | XRP-EURS | $1.04 0.0002978 Eth | $22.05 9.600 XRP | 0.0010% |
20 | Uniswap V3 (Polygon) | 0XE111178A87A3BFF0C8D18DECBA5798827539AE99-0X2791BCA1F2DE4661ED88A30C99A7A9449AA84174 | $1.039 0.0002970 Eth | $10.21 9.830 0XE111178A87A3BFF0C8D18DECBA5798827539AE99 | 0.0010% |
21 | HitBTC | ETH-EURS | $1.052 0.0003076 Eth | $9.79 0.003 ETH | 0.0000% |
22 | HitBTC | ZEC-EURS | $1.04 0.0002989 Eth | $6.32 0.100 ZEC | 0.0000% |
23 | Uniswap V3 (Polygon) | 0XE111178A87A3BFF0C8D18DECBA5798827539AE99-0X8F3CF7AD23CD3CADBD9735AFF958023239C6A063 | $1.058 0.0002727 Eth | $1.75 1.650 0XE111178A87A3BFF0C8D18DECBA5798827539AE99 | 0.0002% |
24 | YoBit | EURS-ETH | $1.16 0.0003331 Eth | $0.4064 0.350 EURS | 0.0000% |
25 | YoBit | EURS-USD | $1.15 0.0003303 Eth | $0.4023 0.350 EURS | 0.0000% |
26 | HitBTC | DASH-EURS | $1.043 0.0003132 Eth | $0.1095 0.003 DASH | 0.0000% |
Contract Name:
EURSToken
Compiler Version
v0.4.21+commit.dfe3193c
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-07-03 */ /** * EURS Token Smart Contract: EIP-20 compatible token smart contract that * manages EURS tokens. */ /* * Safe Math Smart Contract. * Copyright (c) 2018 by STSS (Malta) Limited. * Contact: <[email protected]> */ pragma solidity ^0.4.20; /** * Provides methods to safely add, subtract and multiply uint256 numbers. */ contract SafeMath { uint256 constant private MAX_UINT256 = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF; /** * Add two uint256 values, throw in case of overflow. * * @param x first value to add * @param y second value to add * @return x + y */ function safeAdd (uint256 x, uint256 y) pure internal returns (uint256 z) { assert (x <= MAX_UINT256 - y); return x + y; } /** * Subtract one uint256 value from another, throw in case of underflow. * * @param x value to subtract from * @param y value to subtract * @return x - y */ function safeSub (uint256 x, uint256 y) pure internal returns (uint256 z) { assert (x >= y); return x - y; } /** * Multiply two uint256 values, throw in case of overflow. * * @param x first value to multiply * @param y second value to multiply * @return x * y */ function safeMul (uint256 x, uint256 y) pure internal returns (uint256 z) { if (y == 0) return 0; // Prevent division by zero at the next line assert (x <= MAX_UINT256 / y); return x * y; } } /* * EIP-20 Standard Token Smart Contract Interface. * Copyright (c) 2018 by STSS (Malta) Limited. * Contact: <[email protected]> * ERC-20 standard token interface, as defined * <a href="https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md">here</a>. */ contract Token { /** * Get total number of tokens in circulation. * * @return total number of tokens in circulation */ function totalSupply () public view returns (uint256 supply); /** * Get number of tokens currently belonging to given owner. * * @param _owner address to get number of tokens currently belonging to the * owner of * @return number of tokens currently belonging to the owner of given address */ function balanceOf (address _owner) public view returns (uint256 balance); /** * Transfer given number of tokens from message sender to given recipient. * * @param _to address to transfer tokens to the owner of * @param _value number of tokens to transfer to the owner of given address * @return true if tokens were transferred successfully, false otherwise */ function transfer (address _to, uint256 _value) public payable returns (bool success); /** * Transfer given number of tokens from given owner to given recipient. * * @param _from address to transfer tokens from the owner of * @param _to address to transfer tokens to the owner of * @param _value number of tokens to transfer from given owner to given * recipient * @return true if tokens were transferred successfully, false otherwise */ function transferFrom (address _from, address _to, uint256 _value) public payable returns (bool success); /** * Allow given spender to transfer given number of tokens from message sender. * * @param _spender address to allow the owner of to transfer tokens from * message sender * @param _value number of tokens to allow to transfer * @return true if token transfer was successfully approved, false otherwise */ function approve (address _spender, uint256 _value) public payable returns (bool success); /** * Tell how many tokens given spender is currently allowed to transfer from * given owner. * * @param _owner address to get number of tokens allowed to be transferred * from the owner of * @param _spender address to get number of tokens allowed to be transferred * by the owner of * @return number of tokens given spender is currently allowed to transfer * from given owner */ function allowance (address _owner, address _spender) public view returns (uint256 remaining); /** * Logged when tokens were transferred from one owner to another. * * @param _from address of the owner, tokens were transferred from * @param _to address of the owner, tokens were transferred to * @param _value number of tokens transferred */ event Transfer (address indexed _from, address indexed _to, uint256 _value); /** * Logged when owner approved his tokens to be transferred by some spender. * * @param _owner owner who approved his tokens to be transferred * @param _spender spender who were allowed to transfer the tokens belonging * to the owner * @param _value number of tokens belonging to the owner, approved to be * transferred by the spender */ event Approval ( address indexed _owner, address indexed _spender, uint256 _value); } /* * Abstract Token Smart Contract. * Copyright (c) 2018 by STSS (Malta) Limited. * Contact: <[email protected]> * Abstract Token Smart Contract that could be used as a base contract for * ERC-20 token contracts. */ contract AbstractToken is Token, SafeMath { /** * Create new Abstract Token contract. */ function AbstractToken () public { // Do nothing } /** * Get number of tokens currently belonging to given owner. * * @param _owner address to get number of tokens currently belonging to the * owner of * @return number of tokens currently belonging to the owner of given address */ function balanceOf (address _owner) public view returns (uint256 balance) { return accounts [_owner]; } /** * Transfer given number of tokens from message sender to given recipient. * * @param _to address to transfer tokens to the owner of * @param _value number of tokens to transfer to the owner of given address * @return true if tokens were transferred successfully, false otherwise */ function transfer (address _to, uint256 _value) public payable returns (bool success) { uint256 fromBalance = accounts [msg.sender]; if (fromBalance < _value) return false; if (_value > 0 && msg.sender != _to) { accounts [msg.sender] = safeSub (fromBalance, _value); accounts [_to] = safeAdd (accounts [_to], _value); } Transfer (msg.sender, _to, _value); return true; } /** * Transfer given number of tokens from given owner to given recipient. * * @param _from address to transfer tokens from the owner of * @param _to address to transfer tokens to the owner of * @param _value number of tokens to transfer from given owner to given * recipient * @return true if tokens were transferred successfully, false otherwise */ function transferFrom (address _from, address _to, uint256 _value) public payable returns (bool success) { uint256 spenderAllowance = allowances [_from][msg.sender]; if (spenderAllowance < _value) return false; uint256 fromBalance = accounts [_from]; if (fromBalance < _value) return false; allowances [_from][msg.sender] = safeSub (spenderAllowance, _value); if (_value > 0 && _from != _to) { accounts [_from] = safeSub (fromBalance, _value); accounts [_to] = safeAdd (accounts [_to], _value); } Transfer (_from, _to, _value); return true; } /** * Allow given spender to transfer given number of tokens from message sender. * * @param _spender address to allow the owner of to transfer tokens from * message sender * @param _value number of tokens to allow to transfer * @return true if token transfer was successfully approved, false otherwise */ function approve (address _spender, uint256 _value) public payable returns (bool success) { allowances [msg.sender][_spender] = _value; Approval (msg.sender, _spender, _value); return true; } /** * Tell how many tokens given spender is currently allowed to transfer from * given owner. * * @param _owner address to get number of tokens allowed to be transferred * from the owner of * @param _spender address to get number of tokens allowed to be transferred * by the owner of * @return number of tokens given spender is currently allowed to transfer * from given owner */ function allowance (address _owner, address _spender) public view returns (uint256 remaining) { return allowances [_owner][_spender]; } /** * Mapping from addresses of token holders to the numbers of tokens belonging * to these token holders. */ mapping (address => uint256) internal accounts; /** * Mapping from addresses of token holders to the mapping of addresses of * spenders to the allowances set by these token holders to these spenders. */ mapping (address => mapping (address => uint256)) internal allowances; } /* * EURS Token Smart Contract. * Copyright (c) 2018 by STSS (Malta) Limited. * Contact: <[email protected]> */ contract EURSToken is AbstractToken { /** * Fee denominator (0.001%). */ uint256 constant internal FEE_DENOMINATOR = 100000; /** * Maximum fee numerator (100%). */ uint256 constant internal MAX_FEE_NUMERATOR = FEE_DENOMINATOR; /** * Minimum fee numerator (0%). */ uint256 constant internal MIN_FEE_NUMERATIOR = 0; /** * Maximum allowed number of tokens in circulation. */ uint256 constant internal MAX_TOKENS_COUNT = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff / MAX_FEE_NUMERATOR; /** * Default transfer fee. */ uint256 constant internal DEFAULT_FEE = 5e2; /** * Address flag that marks black listed addresses. */ uint256 constant internal BLACK_LIST_FLAG = 0x01; /** * Address flag that marks zero fee addresses. */ uint256 constant internal ZERO_FEE_FLAG = 0x02; modifier delegatable { if (delegate == address (0)) { require (msg.value == 0); // Non payable if not delegated _; } else { assembly { // Save owner let oldOwner := sload (owner_slot) // Save delegate let oldDelegate := sload (delegate_slot) // Solidity stores address of the beginning of free memory at 0x40 let buffer := mload (0x40) // Copy message call data into buffer calldatacopy (buffer, 0, calldatasize) // Lets call our delegate let result := delegatecall (gas, oldDelegate, buffer, calldatasize, buffer, 0) // Check, whether owner was changed switch eq (oldOwner, sload (owner_slot)) case 1 {} // Owner was not changed, fine default {revert (0, 0) } // Owner was changed, revert! // Check, whether delegate was changed switch eq (oldDelegate, sload (delegate_slot)) case 1 {} // Delegate was not changed, fine default {revert (0, 0) } // Delegate was changed, revert! // Copy returned value into buffer returndatacopy (buffer, 0, returndatasize) // Check call status switch result case 0 { revert (buffer, returndatasize) } // Call failed, revert! default { return (buffer, returndatasize) } // Call succeeded, return } } } /** * Create EURS Token smart contract with message sender as an owner. * * @param _feeCollector address fees are sent to */ function EURSToken (address _feeCollector) public { fixedFee = DEFAULT_FEE; minVariableFee = 0; maxVariableFee = 0; variableFeeNumerator = 0; owner = msg.sender; feeCollector = _feeCollector; } /** * Delegate unrecognized functions. */ function () public delegatable payable { revert (); // Revert if not delegated } /** * Get name of the token. * * @return name of the token */ function name () public delegatable view returns (string) { return "STASIS EURS Token"; } /** * Get symbol of the token. * * @return symbol of the token */ function symbol () public delegatable view returns (string) { return "EURS"; } /** * Get number of decimals for the token. * * @return number of decimals for the token */ function decimals () public delegatable view returns (uint8) { return 2; } /** * Get total number of tokens in circulation. * * @return total number of tokens in circulation */ function totalSupply () public delegatable view returns (uint256) { return tokensCount; } /** * Get number of tokens currently belonging to given owner. * * @param _owner address to get number of tokens currently belonging to the * owner of * @return number of tokens currently belonging to the owner of given address */ function balanceOf (address _owner) public delegatable view returns (uint256 balance) { return AbstractToken.balanceOf (_owner); } /** * Transfer given number of tokens from message sender to given recipient. * * @param _to address to transfer tokens to the owner of * @param _value number of tokens to transfer to the owner of given address * @return true if tokens were transferred successfully, false otherwise */ function transfer (address _to, uint256 _value) public delegatable payable returns (bool) { if (frozen) return false; else if ( (addressFlags [msg.sender] | addressFlags [_to]) & BLACK_LIST_FLAG == BLACK_LIST_FLAG) return false; else { uint256 fee = (addressFlags [msg.sender] | addressFlags [_to]) & ZERO_FEE_FLAG == ZERO_FEE_FLAG ? 0 : calculateFee (_value); if (_value <= accounts [msg.sender] && fee <= safeSub (accounts [msg.sender], _value)) { require (AbstractToken.transfer (_to, _value)); require (AbstractToken.transfer (feeCollector, fee)); return true; } else return false; } } /** * Transfer given number of tokens from given owner to given recipient. * * @param _from address to transfer tokens from the owner of * @param _to address to transfer tokens to the owner of * @param _value number of tokens to transfer from given owner to given * recipient * @return true if tokens were transferred successfully, false otherwise */ function transferFrom (address _from, address _to, uint256 _value) public delegatable payable returns (bool) { if (frozen) return false; else if ( (addressFlags [_from] | addressFlags [_to]) & BLACK_LIST_FLAG == BLACK_LIST_FLAG) return false; else { uint256 fee = (addressFlags [_from] | addressFlags [_to]) & ZERO_FEE_FLAG == ZERO_FEE_FLAG ? 0 : calculateFee (_value); if (_value <= allowances [_from][msg.sender] && fee <= safeSub (allowances [_from][msg.sender], _value) && _value <= accounts [_from] && fee <= safeSub (accounts [_from], _value)) { require (AbstractToken.transferFrom (_from, _to, _value)); require (AbstractToken.transferFrom (_from, feeCollector, fee)); return true; } else return false; } } /** * Allow given spender to transfer given number of tokens from message sender. * * @param _spender address to allow the owner of to transfer tokens from * message sender * @param _value number of tokens to allow to transfer * @return true if token transfer was successfully approved, false otherwise */ function approve (address _spender, uint256 _value) public delegatable payable returns (bool success) { return AbstractToken.approve (_spender, _value); } /** * Tell how many tokens given spender is currently allowed to transfer from * given owner. * * @param _owner address to get number of tokens allowed to be transferred * from the owner of * @param _spender address to get number of tokens allowed to be transferred * by the owner of * @return number of tokens given spender is currently allowed to transfer * from given owner */ function allowance (address _owner, address _spender) public delegatable view returns (uint256 remaining) { return AbstractToken.allowance (_owner, _spender); } /** * Transfer given number of token from the signed defined by digital signature * to given recipient. * * @param _to address to transfer token to the owner of * @param _value number of tokens to transfer * @param _fee number of tokens to give to message sender * @param _nonce nonce of the transfer * @param _v parameter V of digital signature * @param _r parameter R of digital signature * @param _s parameter S of digital signature */ function delegatedTransfer ( address _to, uint256 _value, uint256 _fee, uint256 _nonce, uint8 _v, bytes32 _r, bytes32 _s) public delegatable payable returns (bool) { if (frozen) return false; else { address _from = ecrecover ( keccak256 ( thisAddress (), messageSenderAddress (), _to, _value, _fee, _nonce), _v, _r, _s); if (_nonce != nonces [_from]) return false; if ( (addressFlags [_from] | addressFlags [_to]) & BLACK_LIST_FLAG == BLACK_LIST_FLAG) return false; uint256 fee = (addressFlags [_from] | addressFlags [_to]) & ZERO_FEE_FLAG == ZERO_FEE_FLAG ? 0 : calculateFee (_value); uint256 balance = accounts [_from]; if (_value > balance) return false; balance = safeSub (balance, _value); if (fee > balance) return false; balance = safeSub (balance, fee); if (_fee > balance) return false; balance = safeSub (balance, _fee); nonces [_from] = _nonce + 1; accounts [_from] = balance; accounts [_to] = safeAdd (accounts [_to], _value); accounts [feeCollector] = safeAdd (accounts [feeCollector], fee); accounts [msg.sender] = safeAdd (accounts [msg.sender], _fee); Transfer (_from, _to, _value); Transfer (_from, feeCollector, fee); Transfer (_from, msg.sender, _fee); return true; } } /** * Create tokens. * * @param _value number of tokens to be created. */ function createTokens (uint256 _value) public delegatable payable returns (bool) { require (msg.sender == owner); if (_value > 0) { if (_value <= safeSub (MAX_TOKENS_COUNT, tokensCount)) { accounts [msg.sender] = safeAdd (accounts [msg.sender], _value); tokensCount = safeAdd (tokensCount, _value); Transfer (address (0), msg.sender, _value); return true; } else return false; } else return true; } /** * Burn tokens. * * @param _value number of tokens to burn */ function burnTokens (uint256 _value) public delegatable payable returns (bool) { require (msg.sender == owner); if (_value > 0) { if (_value <= accounts [msg.sender]) { accounts [msg.sender] = safeSub (accounts [msg.sender], _value); tokensCount = safeSub (tokensCount, _value); Transfer (msg.sender, address (0), _value); return true; } else return false; } else return true; } /** * Freeze token transfers. */ function freezeTransfers () public delegatable payable { require (msg.sender == owner); if (!frozen) { frozen = true; Freeze (); } } /** * Unfreeze token transfers. */ function unfreezeTransfers () public delegatable payable { require (msg.sender == owner); if (frozen) { frozen = false; Unfreeze (); } } /** * Set smart contract owner. * * @param _newOwner address of the new owner */ function setOwner (address _newOwner) public { require (msg.sender == owner); owner = _newOwner; } /** * Set fee collector. * * @param _newFeeCollector address of the new fee collector */ function setFeeCollector (address _newFeeCollector) public delegatable payable { require (msg.sender == owner); feeCollector = _newFeeCollector; } /** * Get current nonce for token holder with given address, i.e. nonce this * token holder should use for next delegated transfer. * * @param _owner address of the token holder to get nonce for * @return current nonce for token holder with give address */ function nonce (address _owner) public view delegatable returns (uint256) { return nonces [_owner]; } /** * Set fee parameters. * * @param _fixedFee fixed fee in token units * @param _minVariableFee minimum variable fee in token units * @param _maxVariableFee maximum variable fee in token units * @param _variableFeeNumerator variable fee numerator */ function setFeeParameters ( uint256 _fixedFee, uint256 _minVariableFee, uint256 _maxVariableFee, uint256 _variableFeeNumerator) public delegatable payable { require (msg.sender == owner); require (_minVariableFee <= _maxVariableFee); require (_variableFeeNumerator <= MAX_FEE_NUMERATOR); fixedFee = _fixedFee; minVariableFee = _minVariableFee; maxVariableFee = _maxVariableFee; variableFeeNumerator = _variableFeeNumerator; FeeChange ( _fixedFee, _minVariableFee, _maxVariableFee, _variableFeeNumerator); } /** * Get fee parameters. * * @return fee parameters */ function getFeeParameters () public delegatable view returns ( uint256 _fixedFee, uint256 _minVariableFee, uint256 _maxVariableFee, uint256 _variableFeeNumnerator) { _fixedFee = fixedFee; _minVariableFee = minVariableFee; _maxVariableFee = maxVariableFee; _variableFeeNumnerator = variableFeeNumerator; } /** * Calculate fee for transfer of given number of tokens. * * @param _amount transfer amount to calculate fee for * @return fee for transfer of given amount */ function calculateFee (uint256 _amount) public delegatable view returns (uint256 _fee) { require (_amount <= MAX_TOKENS_COUNT); _fee = safeMul (_amount, variableFeeNumerator) / FEE_DENOMINATOR; if (_fee < minVariableFee) _fee = minVariableFee; if (_fee > maxVariableFee) _fee = maxVariableFee; _fee = safeAdd (_fee, fixedFee); } /** * Set flags for given address. * * @param _address address to set flags for * @param _flags flags to set */ function setFlags (address _address, uint256 _flags) public delegatable payable { require (msg.sender == owner); addressFlags [_address] = _flags; } /** * Get flags for given address. * * @param _address address to get flags for * @return flags for given address */ function flags (address _address) public delegatable view returns (uint256) { return addressFlags [_address]; } /** * Set address of smart contract to delegate execution of delegatable methods * to. * * @param _delegate address of smart contract to delegate execution of * delegatable methods to, or zero to not delegate delegatable methods * execution. */ function setDelegate (address _delegate) public { require (msg.sender == owner); if (delegate != _delegate) { delegate = _delegate; Delegation (delegate); } } /** * Get address of this smart contract. * * @return address of this smart contract */ function thisAddress () internal view returns (address) { return this; } /** * Get address of message sender. * * @return address of this smart contract */ function messageSenderAddress () internal view returns (address) { return msg.sender; } /** * Owner of the smart contract. */ address internal owner; /** * Address where fees are sent to. */ address internal feeCollector; /** * Number of tokens in circulation. */ uint256 internal tokensCount; /** * Whether token transfers are currently frozen. */ bool internal frozen; /** * Mapping from sender's address to the next delegated transfer nonce. */ mapping (address => uint256) internal nonces; /** * Fixed fee amount in token units. */ uint256 internal fixedFee; /** * Minimum variable fee in token units. */ uint256 internal minVariableFee; /** * Maximum variable fee in token units. */ uint256 internal maxVariableFee; /** * Variable fee numerator. */ uint256 internal variableFeeNumerator; /** * Maps address to its flags. */ mapping (address => uint256) internal addressFlags; /** * Address of smart contract to delegate execution of delegatable methods to, * or zero to not delegate delegatable methods execution. */ address internal delegate; /** * Logged when token transfers were frozen. */ event Freeze (); /** * Logged when token transfers were unfrozen. */ event Unfreeze (); /** * Logged when fee parameters were changed. * * @param fixedFee fixed fee in token units * @param minVariableFee minimum variable fee in token units * @param maxVariableFee maximum variable fee in token units * @param variableFeeNumerator variable fee numerator */ event FeeChange ( uint256 fixedFee, uint256 minVariableFee, uint256 maxVariableFee, uint256 variableFeeNumerator); /** * Logged when address of smart contract execution of delegatable methods is * delegated to was changed. * * @param delegate new address of smart contract execution of delegatable * methods is delegated to or zero if execution of delegatable methods is * oot delegated. */ event Delegation (address delegate); }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[],"name":"freezeTransfers","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"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":"success","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"setOwner","outputs":[],"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":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unfreezeTransfers","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"getFeeParameters","outputs":[{"name":"_fixedFee","type":"uint256"},{"name":"_minVariableFee","type":"uint256"},{"name":"_maxVariableFee","type":"uint256"},{"name":"_variableFeeNumnerator","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burnTokens","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"nonce","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"createTokens","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_amount","type":"uint256"}],"name":"calculateFee","outputs":[{"name":"_fee","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"flags","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newFeeCollector","type":"address"}],"name":"setFeeCollector","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_flags","type":"uint256"}],"name":"setFlags","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_fee","type":"uint256"},{"name":"_nonce","type":"uint256"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"delegatedTransfer","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_delegate","type":"address"}],"name":"setDelegate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_fixedFee","type":"uint256"},{"name":"_minVariableFee","type":"uint256"},{"name":"_maxVariableFee","type":"uint256"},{"name":"_variableFeeNumerator","type":"uint256"}],"name":"setFeeParameters","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_feeCollector","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[],"name":"Unfreeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"fixedFee","type":"uint256"},{"indexed":false,"name":"minVariableFee","type":"uint256"},{"indexed":false,"name":"maxVariableFee","type":"uint256"},{"indexed":false,"name":"variableFeeNumerator","type":"uint256"}],"name":"FeeChange","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"delegate","type":"address"}],"name":"Delegation","type":"event"},{"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"}]
Contract Creation Code
6060604052341561000f57600080fd5b604051602080611764833981016040528080516101f4600755600060088190556009819055600a5560028054600160a060020a03338116600160a060020a0319928316179092556003805492909316911617905550506116f0806100746000396000f3006060604052600436106101325763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630150246081146101a657806306fdde03146101ae578063095ea7b31461023857806313af40351461026357806318160ddd1461028257806323b872dd146102a7578063313ce567146102c457806331c420d4146102ed5780634722b4a5146102f55780636d1b229d1461033357806370a082311461033e57806370ae92d21461035d5780637e1f2bb81461037c57806395d89b411461038757806399a5d7471461039a5780639fef0c01146103b0578063a42dce80146103cf578063a9059cbb146103e3578063addd9cef146103fa578063c97e848014610411578063ca5eb5e11461043a578063d5bf2dbe14610459578063dd62ed3e1461046d575b600c54600160a060020a0316151561015457341561014f57600080fd5b600080fd5b600254600c5460405136600082376000813683855af460025484146001811461017c57600080fd5b50600c5483146001811461018f57600080fd5b503d6000833e8080156101a0573d83f35b3d83fd5b005b6101a4610492565b34156101b957600080fd5b6101c1610512565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101fd5780820151838201526020016101e5565b50505050905090810190601f16801561022a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61024f600160a060020a0360043516602435610571565b604051901515815260200160405180910390f35b341561026e57600080fd5b6101a4600160a060020a03600435166105a4565b341561028d57600080fd5b6102956105ee565b60405190815260200160405180910390f35b61024f600160a060020a0360043581169060243516604435610617565b34156102cf57600080fd5b6102d76107d3565b60405160ff909116815260200160405180910390f35b6101a46107fb565b341561030057600080fd5b610308610879565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b61024f6004356108b6565b341561034957600080fd5b610295600160a060020a03600435166109ab565b341561036857600080fd5b610295600160a060020a03600435166109db565b61024f600435610a1a565b341561039257600080fd5b6101c1610af8565b34156103a557600080fd5b610295600435610b58565b34156103bb57600080fd5b610295600160a060020a0360043516610be9565b6101a4600160a060020a0360043516610c28565b61024f600160a060020a0360043516602435610c8c565b6101a4600160a060020a0360043516602435610dd8565b61024f600160a060020a036004351660243560443560643560ff6084351660a43560c435610e2d565b341561044557600080fd5b6101a4600160a060020a03600435166111c2565b6101a4600435602435604435606435611261565b341561047857600080fd5b610295600160a060020a036004358116906024351661131f565b600c54600160a060020a031615156101545734156104af57600080fd5b60025433600160a060020a039081169116146104ca57600080fd5b60055460ff161515610510576005805460ff191660011790557f615acbaede366d76a8b8cb2a9ada6a71495f0786513d71aa97aaf0c3910b78de60405160405180910390a15b565b61051a611692565b600c54600160a060020a0316151561015457341561053757600080fd5b60408051908101604052601181527f535441534953204555525320546f6b656e000000000000000000000000000000602082015290505b90565b600c54600090600160a060020a0316151561015457341561059157600080fd5b61059b8383611349565b90505b92915050565b60025433600160a060020a039081169116146105bf57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600c54600090600160a060020a0316151561015457341561060e57600080fd5b5060045461056e565b600c546000908190600160a060020a0316151561015457341561063957600080fd5b60055460ff161561064d57600091506107cb565b600160a060020a038085166000908152600b6020526040808220549288168252902054176001908116141561068557600091506107cb565b600160a060020a038085166000908152600b6020526040808220549288168252902054176002908116146106c1576106bc83610b58565b6106c4565b60005b600160a060020a0380871660009081526001602090815260408083203390941683529290522054909150831180159061072d5750600160a060020a038086166000908152600160209081526040808320339094168352929052205461072990846113b5565b8111155b80156107515750600160a060020a0385166000908152602081905260409020548311155b801561077f5750600160a060020a03851660009081526020819052604090205461077b90846113b5565b8111155b156107c65761078f8585856113c7565b151561079a57600080fd5b6003546107b2908690600160a060020a0316836113c7565b15156107bd57600080fd5b600191506107cb565b600091505b509392505050565b600c54600090600160a060020a031615156101545734156107f357600080fd5b50600261056e565b600c54600160a060020a0316151561015457341561081857600080fd5b60025433600160a060020a0390811691161461083357600080fd5b60055460ff1615610510576005805460ff191690557f2f05ba71d0df11bf5fa562a6569d70c4f80da84284badbe015ce1456063d0ded60405160405180910390a1610510565b600c54600090819081908190600160a060020a0316151561015457341561089f57600080fd5b5050600754600854600954600a5492959194509250565b600c54600090600160a060020a031615156101545734156108d657600080fd5b60025433600160a060020a039081169116146108f157600080fd5b60008211156109a257600160a060020a033316600090815260208190526040902054821161099a57600160a060020a03331660009081526020819052604090205461093c90836113b5565b600160a060020a03331660009081526020819052604090205560045461096290836113b5565b600455600033600160a060020a03166000805160206116a58339815191528460405190815260200160405180910390a35060016109a6565b5060006109a6565b5060015b919050565b600c54600090600160a060020a031615156101545734156109cb57600080fd5b6109d48261151e565b90506109a6565b600c54600090600160a060020a031615156101545734156109fb57600080fd5b50600160a060020a0381166000908152600660205260409020546109a6565b600c54600090600160a060020a03161515610154573415610a3a57600080fd5b60025433600160a060020a03908116911614610a5557600080fd5b60008211156109a257610a71620186a0600019046004546113b5565b821161099a57600160a060020a033316600090815260208190526040902054610a9a9083611539565b600160a060020a033316600090815260208190526040902055600454610ac09083611539565b600455600160a060020a03331660006000805160206116a58339815191528460405190815260200160405180910390a35060016109a6565b610b00611692565b600c54600160a060020a03161515610154573415610b1d57600080fd5b60408051908101604052600481527f45555253000000000000000000000000000000000000000000000000000000006020820152905061056e565b600c54600090600160a060020a03161515610154573415610b7857600080fd5b7da7c5ac471b4784230fcf80dc33721d53cddd6e04c059210385c67dfe32a0821115610ba357600080fd5b620186a0610bb383600a5461154f565b811515610bbc57fe5b049050600854811015610bce57506008545b600954811115610bdd57506009545b6109d481600754611539565b600c54600090600160a060020a03161515610154573415610c0957600080fd5b50600160a060020a0381166000908152600b60205260409020546109a6565b600c54600160a060020a03161515610154573415610c4557600080fd5b60025433600160a060020a03908116911614610c6057600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b600c546000908190600160a060020a03161515610154573415610cae57600080fd5b60055460ff1615610cc25760009150610dd1565b600160a060020a038085166000908152600b6020526040808220543390931682529020541760019081161415610cfb5760009150610dd1565b600160a060020a038085166000908152600b60205260408082205433909316825290205417600290811614610d3857610d3383610b58565b610d3b565b60005b600160a060020a0333166000908152602081905260409020549091508311801590610d885750600160a060020a033316600090815260208190526040902054610d8490846113b5565b8111155b15610dcc57610d97848461157c565b1515610da257600080fd5b600354610db890600160a060020a03168261157c565b1515610dc357600080fd5b60019150610dd1565b600091505b5092915050565b600c54600160a060020a03161515610154573415610df557600080fd5b60025433600160a060020a03908116911614610e1057600080fd5b600160a060020a03919091166000908152600b6020526040902055565b600c54600090819081908190600160a060020a03161515610154573415610e5357600080fd5b60055460ff1615610e6757600093506111b4565b6001610e7161165f565b610e79611663565b8d8d8d8d6040516c01000000000000000000000000600160a060020a039788168102825295871686026014820152939095169093026028830152603c820152605c810191909152607c810191909152609c0160405180910390208888886040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af11515610f2857600080fd5b505060206040510351600160a060020a0381166000908152600660205260409020549093508814610f5c57600093506111b4565b600160a060020a03808c166000908152600b60205260408082205492861682529020541760019081161415610f9457600093506111b4565b600160a060020a03808c166000908152600b602052604080822054928616825290205417600290811614610fd057610fcb8a610b58565b610fd3565b60005b600160a060020a0384166000908152602081905260409020549092509050808a111561100257600093506111b4565b61100c818b6113b5565b90508082111561101f57600093506111b4565b61102981836113b5565b90508089111561103c57600093506111b4565b611046818a6113b5565b600160a060020a03808516600090815260066020908152604080832060018e01905590829052808220849055918e1681522054909150611086908b611539565b600160a060020a03808d1660009081526020819052604080822093909355600354909116815220546110b89083611539565b600354600160a060020a039081166000908152602081905260408082209390935533909116815220546110eb908a611539565b60008033600160a060020a0316600160a060020a03168152602001908152602001600020819055508a600160a060020a031683600160a060020a03166000805160206116a58339815191528c60405190815260200160405180910390a3600354600160a060020a039081169084166000805160206116a58339815191528460405190815260200160405180910390a333600160a060020a031683600160a060020a03166000805160206116a58339815191528b60405190815260200160405180910390a3600193505b505050979650505050505050565b60025433600160a060020a039081169116146111dd57600080fd5b600c54600160a060020a03828116911614610c8957600c805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290557f600005b3559a025151f4a40f36d9939d94cf5194016895d4ef6362b211e4c3b59116604051600160a060020a03909116815260200160405180910390a150565b600c54600160a060020a0316151561015457341561127e57600080fd5b60025433600160a060020a0390811691161461129957600080fd5b818311156112a657600080fd5b620186a08111156112b657600080fd5b600784905560088390556009829055600a8190557f650bf5314bb5924368ffebaf7dffcfaa4a0f99c2ab08264c26bf0547f8c459e9848484846040518085815260200184815260200183815260200182815260200194505050505060405180910390a150505050565b600c54600090600160a060020a0316151561015457341561133f57600080fd5b61059b8383611667565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000818310156113c157fe5b50900390565b600160a060020a0380841660009081526001602090815260408083203390941683529290529081205481838210156114025760009250611515565b50600160a060020a0385166000908152602081905260409020548381101561142d5760009250611515565b61143782856113b5565b600160a060020a0380881660009081526001602090815260408083203390941683529290529081209190915584118015611483575084600160a060020a031686600160a060020a031614155b156114db5761149281856113b5565b600160a060020a0380881660009081526020819052604080822093909355908716815220546114c19085611539565b600160a060020a0386166000908152602081905260409020555b84600160a060020a031686600160a060020a03166000805160206116a58339815191528660405190815260200160405180910390a3600192505b50509392505050565b600160a060020a031660009081526020819052604090205490565b600060001982900383111561154a57fe5b500190565b60008115156115605750600061059e565b8160001981151561156d57fe5b0483111561157757fe5b500290565b600160a060020a033316600090815260208190526040812054828110156115a65760009150610dd1565b6000831180156115c8575083600160a060020a031633600160a060020a031614155b15611620576115d781846113b5565b600160a060020a0333811660009081526020819052604080822093909355908616815220546116069084611539565b600160a060020a0385166000908152602081905260409020555b83600160a060020a031633600160a060020a03166000805160206116a58339815191528560405190815260200160405180910390a35060019392505050565b3090565b3390565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b602060405190810160405260008152905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582027e03fc3f414023826a7fb6fd321bb5c5ba610cbb273a99d307095a1b3d0b811002900000000000000000000000070250fcfef983c9b912c8eefb7021b4b7bae836e
Deployed Bytecode
0x6060604052600436106101325763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630150246081146101a657806306fdde03146101ae578063095ea7b31461023857806313af40351461026357806318160ddd1461028257806323b872dd146102a7578063313ce567146102c457806331c420d4146102ed5780634722b4a5146102f55780636d1b229d1461033357806370a082311461033e57806370ae92d21461035d5780637e1f2bb81461037c57806395d89b411461038757806399a5d7471461039a5780639fef0c01146103b0578063a42dce80146103cf578063a9059cbb146103e3578063addd9cef146103fa578063c97e848014610411578063ca5eb5e11461043a578063d5bf2dbe14610459578063dd62ed3e1461046d575b600c54600160a060020a0316151561015457341561014f57600080fd5b600080fd5b600254600c5460405136600082376000813683855af460025484146001811461017c57600080fd5b50600c5483146001811461018f57600080fd5b503d6000833e8080156101a0573d83f35b3d83fd5b005b6101a4610492565b34156101b957600080fd5b6101c1610512565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101fd5780820151838201526020016101e5565b50505050905090810190601f16801561022a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61024f600160a060020a0360043516602435610571565b604051901515815260200160405180910390f35b341561026e57600080fd5b6101a4600160a060020a03600435166105a4565b341561028d57600080fd5b6102956105ee565b60405190815260200160405180910390f35b61024f600160a060020a0360043581169060243516604435610617565b34156102cf57600080fd5b6102d76107d3565b60405160ff909116815260200160405180910390f35b6101a46107fb565b341561030057600080fd5b610308610879565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b61024f6004356108b6565b341561034957600080fd5b610295600160a060020a03600435166109ab565b341561036857600080fd5b610295600160a060020a03600435166109db565b61024f600435610a1a565b341561039257600080fd5b6101c1610af8565b34156103a557600080fd5b610295600435610b58565b34156103bb57600080fd5b610295600160a060020a0360043516610be9565b6101a4600160a060020a0360043516610c28565b61024f600160a060020a0360043516602435610c8c565b6101a4600160a060020a0360043516602435610dd8565b61024f600160a060020a036004351660243560443560643560ff6084351660a43560c435610e2d565b341561044557600080fd5b6101a4600160a060020a03600435166111c2565b6101a4600435602435604435606435611261565b341561047857600080fd5b610295600160a060020a036004358116906024351661131f565b600c54600160a060020a031615156101545734156104af57600080fd5b60025433600160a060020a039081169116146104ca57600080fd5b60055460ff161515610510576005805460ff191660011790557f615acbaede366d76a8b8cb2a9ada6a71495f0786513d71aa97aaf0c3910b78de60405160405180910390a15b565b61051a611692565b600c54600160a060020a0316151561015457341561053757600080fd5b60408051908101604052601181527f535441534953204555525320546f6b656e000000000000000000000000000000602082015290505b90565b600c54600090600160a060020a0316151561015457341561059157600080fd5b61059b8383611349565b90505b92915050565b60025433600160a060020a039081169116146105bf57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600c54600090600160a060020a0316151561015457341561060e57600080fd5b5060045461056e565b600c546000908190600160a060020a0316151561015457341561063957600080fd5b60055460ff161561064d57600091506107cb565b600160a060020a038085166000908152600b6020526040808220549288168252902054176001908116141561068557600091506107cb565b600160a060020a038085166000908152600b6020526040808220549288168252902054176002908116146106c1576106bc83610b58565b6106c4565b60005b600160a060020a0380871660009081526001602090815260408083203390941683529290522054909150831180159061072d5750600160a060020a038086166000908152600160209081526040808320339094168352929052205461072990846113b5565b8111155b80156107515750600160a060020a0385166000908152602081905260409020548311155b801561077f5750600160a060020a03851660009081526020819052604090205461077b90846113b5565b8111155b156107c65761078f8585856113c7565b151561079a57600080fd5b6003546107b2908690600160a060020a0316836113c7565b15156107bd57600080fd5b600191506107cb565b600091505b509392505050565b600c54600090600160a060020a031615156101545734156107f357600080fd5b50600261056e565b600c54600160a060020a0316151561015457341561081857600080fd5b60025433600160a060020a0390811691161461083357600080fd5b60055460ff1615610510576005805460ff191690557f2f05ba71d0df11bf5fa562a6569d70c4f80da84284badbe015ce1456063d0ded60405160405180910390a1610510565b600c54600090819081908190600160a060020a0316151561015457341561089f57600080fd5b5050600754600854600954600a5492959194509250565b600c54600090600160a060020a031615156101545734156108d657600080fd5b60025433600160a060020a039081169116146108f157600080fd5b60008211156109a257600160a060020a033316600090815260208190526040902054821161099a57600160a060020a03331660009081526020819052604090205461093c90836113b5565b600160a060020a03331660009081526020819052604090205560045461096290836113b5565b600455600033600160a060020a03166000805160206116a58339815191528460405190815260200160405180910390a35060016109a6565b5060006109a6565b5060015b919050565b600c54600090600160a060020a031615156101545734156109cb57600080fd5b6109d48261151e565b90506109a6565b600c54600090600160a060020a031615156101545734156109fb57600080fd5b50600160a060020a0381166000908152600660205260409020546109a6565b600c54600090600160a060020a03161515610154573415610a3a57600080fd5b60025433600160a060020a03908116911614610a5557600080fd5b60008211156109a257610a71620186a0600019046004546113b5565b821161099a57600160a060020a033316600090815260208190526040902054610a9a9083611539565b600160a060020a033316600090815260208190526040902055600454610ac09083611539565b600455600160a060020a03331660006000805160206116a58339815191528460405190815260200160405180910390a35060016109a6565b610b00611692565b600c54600160a060020a03161515610154573415610b1d57600080fd5b60408051908101604052600481527f45555253000000000000000000000000000000000000000000000000000000006020820152905061056e565b600c54600090600160a060020a03161515610154573415610b7857600080fd5b7da7c5ac471b4784230fcf80dc33721d53cddd6e04c059210385c67dfe32a0821115610ba357600080fd5b620186a0610bb383600a5461154f565b811515610bbc57fe5b049050600854811015610bce57506008545b600954811115610bdd57506009545b6109d481600754611539565b600c54600090600160a060020a03161515610154573415610c0957600080fd5b50600160a060020a0381166000908152600b60205260409020546109a6565b600c54600160a060020a03161515610154573415610c4557600080fd5b60025433600160a060020a03908116911614610c6057600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b600c546000908190600160a060020a03161515610154573415610cae57600080fd5b60055460ff1615610cc25760009150610dd1565b600160a060020a038085166000908152600b6020526040808220543390931682529020541760019081161415610cfb5760009150610dd1565b600160a060020a038085166000908152600b60205260408082205433909316825290205417600290811614610d3857610d3383610b58565b610d3b565b60005b600160a060020a0333166000908152602081905260409020549091508311801590610d885750600160a060020a033316600090815260208190526040902054610d8490846113b5565b8111155b15610dcc57610d97848461157c565b1515610da257600080fd5b600354610db890600160a060020a03168261157c565b1515610dc357600080fd5b60019150610dd1565b600091505b5092915050565b600c54600160a060020a03161515610154573415610df557600080fd5b60025433600160a060020a03908116911614610e1057600080fd5b600160a060020a03919091166000908152600b6020526040902055565b600c54600090819081908190600160a060020a03161515610154573415610e5357600080fd5b60055460ff1615610e6757600093506111b4565b6001610e7161165f565b610e79611663565b8d8d8d8d6040516c01000000000000000000000000600160a060020a039788168102825295871686026014820152939095169093026028830152603c820152605c810191909152607c810191909152609c0160405180910390208888886040516000815260200160405260405193845260ff9092166020808501919091526040808501929092526060840192909252608090920191516020810390808403906000865af11515610f2857600080fd5b505060206040510351600160a060020a0381166000908152600660205260409020549093508814610f5c57600093506111b4565b600160a060020a03808c166000908152600b60205260408082205492861682529020541760019081161415610f9457600093506111b4565b600160a060020a03808c166000908152600b602052604080822054928616825290205417600290811614610fd057610fcb8a610b58565b610fd3565b60005b600160a060020a0384166000908152602081905260409020549092509050808a111561100257600093506111b4565b61100c818b6113b5565b90508082111561101f57600093506111b4565b61102981836113b5565b90508089111561103c57600093506111b4565b611046818a6113b5565b600160a060020a03808516600090815260066020908152604080832060018e01905590829052808220849055918e1681522054909150611086908b611539565b600160a060020a03808d1660009081526020819052604080822093909355600354909116815220546110b89083611539565b600354600160a060020a039081166000908152602081905260408082209390935533909116815220546110eb908a611539565b60008033600160a060020a0316600160a060020a03168152602001908152602001600020819055508a600160a060020a031683600160a060020a03166000805160206116a58339815191528c60405190815260200160405180910390a3600354600160a060020a039081169084166000805160206116a58339815191528460405190815260200160405180910390a333600160a060020a031683600160a060020a03166000805160206116a58339815191528b60405190815260200160405180910390a3600193505b505050979650505050505050565b60025433600160a060020a039081169116146111dd57600080fd5b600c54600160a060020a03828116911614610c8957600c805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290557f600005b3559a025151f4a40f36d9939d94cf5194016895d4ef6362b211e4c3b59116604051600160a060020a03909116815260200160405180910390a150565b600c54600160a060020a0316151561015457341561127e57600080fd5b60025433600160a060020a0390811691161461129957600080fd5b818311156112a657600080fd5b620186a08111156112b657600080fd5b600784905560088390556009829055600a8190557f650bf5314bb5924368ffebaf7dffcfaa4a0f99c2ab08264c26bf0547f8c459e9848484846040518085815260200184815260200183815260200182815260200194505050505060405180910390a150505050565b600c54600090600160a060020a0316151561015457341561133f57600080fd5b61059b8383611667565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000818310156113c157fe5b50900390565b600160a060020a0380841660009081526001602090815260408083203390941683529290529081205481838210156114025760009250611515565b50600160a060020a0385166000908152602081905260409020548381101561142d5760009250611515565b61143782856113b5565b600160a060020a0380881660009081526001602090815260408083203390941683529290529081209190915584118015611483575084600160a060020a031686600160a060020a031614155b156114db5761149281856113b5565b600160a060020a0380881660009081526020819052604080822093909355908716815220546114c19085611539565b600160a060020a0386166000908152602081905260409020555b84600160a060020a031686600160a060020a03166000805160206116a58339815191528660405190815260200160405180910390a3600192505b50509392505050565b600160a060020a031660009081526020819052604090205490565b600060001982900383111561154a57fe5b500190565b60008115156115605750600061059e565b8160001981151561156d57fe5b0483111561157757fe5b500290565b600160a060020a033316600090815260208190526040812054828110156115a65760009150610dd1565b6000831180156115c8575083600160a060020a031633600160a060020a031614155b15611620576115d781846113b5565b600160a060020a0333811660009081526020819052604080822093909355908616815220546116069084611539565b600160a060020a0385166000908152602081905260409020555b83600160a060020a031633600160a060020a03166000805160206116a58339815191528560405190815260200160405180910390a35060019392505050565b3090565b3390565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b602060405190810160405260008152905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582027e03fc3f414023826a7fb6fd321bb5c5ba610cbb273a99d307095a1b3d0b8110029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000070250fcFEf983C9b912c8EEFB7021B4b7baE836e
-----Decoded View---------------
Arg [0] : _feeCollector (address): 0x70250fcFEf983C9b912c8EEFB7021B4b7baE836e
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000070250fcFEf983C9b912c8EEFB7021B4b7baE836e
Swarm Source
bzzr://27e03fc3f414023826a7fb6fd321bb5c5ba610cbb273a99d307095a1b3d0b811
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.