Sponsored Link:   SHARPAY.io • Share button with blockchain profit • ICOBench TOP Project • 30% Bonus • Buy Now!
 Latest 25 txns from a total Of 28 transactions
View All

TxHash Age From To Value [TxFee]
0x926465a550e425e33f1042ad32bf44dbb09302cfba32e68a6f84060b69e909fd5 days 18 hrs ago0xdb68d87a3984e94b3bf5ea1d70f11039c699e691  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000637173
0x08b2478f217e15165f93a21a7d0eec5761fbed4bb6391d5423e156ccec15b5905 days 18 hrs ago0x1d66ae23f9c518278e6ea5db6269d770874fa090  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.001524872
0x19f379fbf8fbc33e899dbac8e7b5182a040edce360395f59ce7c96a7b8ab74205 days 21 hrs ago0xdb68d87a3984e94b3bf5ea1d70f11039c699e691  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.001524872
0x51a7256fe89b6c6691ce9cd715b39074fd2edc1a44b4339842bb1cd51b4ecfe16 days 12 hrs ago0x153685a03c2025b6825ae164e2ff5681ee487667  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.00010565016
0xe42af83307ca3089db570901376dab35ca8523c73f0a531c325600663b0151d810 days 21 hrs ago0x153685a03c2025b6825ae164e2ff5681ee487667  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000663172
0x7c0732ccd41a5db0f34852950cd94d846ddefaff9590fea24e3db2a38f131d2410 days 21 hrs ago0x153685a03c2025b6825ae164e2ff5681ee487667  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000983324
0x4fc5b40da86c0f8e90d9c0d435365060e6994c880581e18d88f4935b12bd18f015 days 22 hrs ago0x657e619d79facd2864b69fb102e5b47257f33ab2  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.00047198
0xe82ba3aa8f845241a4a3a55c855103383eb66bf615d2e9e92de643569acad7e415 days 23 hrs ago0xe269e891a2ec8585a378882ffa531141205e92e9  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.00094396
0x0c69189fcc37ff0b32383f62cb61ea04366f36e6de1b6d5de94de0168052462e16 days 8 hrs ago0x775f3b6afdf9f0b164bd59ed50ec3a7102342f4e  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.00018596
0x7e2f3190c88a08b153862290df28712a89918cacbe153b69bb9097922ba6d6ff16 days 8 hrs ago0x7893f576a18e188ff2caf5cac2b323061438762d  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000365344
0x2d20a334966ebc2bfe3df95ffd62cbf2ebb8bc861ce6a14a49d7a9795d12fa6116 days 9 hrs ago0x7893f576a18e188ff2caf5cac2b323061438762d  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000313152
0xcd5621469f8ac743c5b333f8577d21a894c93195cfd9c007f0c5620cba52d62216 days 10 hrs ago0x7893f576a18e188ff2caf5cac2b323061438762d  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.0018098752
0x04b0e37a86003cdb70ec68b329b344dd594cde55c0db98cb853c51f5a610077d17 days 22 hrs ago0xb78c077f0ff4f1701e3024cb2f18fdcc42fbd71d  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000283188
0x9f7229233cea7b2b2bf077ca145b2ccbb5bb26a549849f560907c0fe54563ead18 days 6 hrs ago0x7893f576a18e188ff2caf5cac2b323061438762d  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.001499648
0x2b002d7e98e2ee94e07f79c6d73009a769203701635996261f601b23bd11ed7418 days 7 hrs ago0x72f6ca046b026b7cbe7b62226c1aa44de65f4c7c  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000212391
0xf0bd3a18570fb732ef1bc2423c4f2f8464368bbbf0100acc766da43629753b9a20 days 18 hrs ago0x7893f576a18e188ff2caf5cac2b323061438762d  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.0006431
0xcfaba9ad6ae62a7af89d3a8d499b537802893e02c6d36ef4c39cd9b61abe44e721 days 3 hrs ago0xaa6585f9ca328dd1525dcda051824bb83e4829bc  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000094396
0x121e4269889c1d9d29bbe0aca8704287a3b181e2e1474d1feb498ec3614a9f5722 days 3 hrs ago0x7bc05ae5277e6a0a066d4690328deccd3be9f73c  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.00839133
0xce3d1da88cd193aff6126ceefe21e339777cc8742518401d72f7d2f2b67673bf22 days 5 hrs ago0x7bc05ae5277e6a0a066d4690328deccd3be9f73c  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000094396
0xaff796d424d79f89dc934adb8f62b486fa355b08afaab00698ee9989f75eaa7122 days 13 hrs ago0xf9203ad2740abd7261078aa32497d940bea2fddc  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000141594
0x69491562a361054d6ef7e6db6f385b1379b9afdaee7cd26f6603dd29ab090cdf22 days 13 hrs ago0x7893f576a18e188ff2caf5cac2b323061438762d  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000104384
0xaa0dc569d1a1a126d765d4d9478de10f33c2d13c7b665f16909298016a6fae7125 days 13 hrs ago0x7893f576a18e188ff2caf5cac2b323061438762d  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000899648
0x407917ae04bfa5f4e26ab8310fa25e872bd31d0722f428a8de385180722cf82525 days 15 hrs ago0x7893f576a18e188ff2caf5cac2b323061438762d  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000141594
0x46d1732f68e9a15f7010c63c86e2b07834b2fade4b259a088b05b7914b41961930 days 4 hrs ago0x7893f576a18e188ff2caf5cac2b323061438762d  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.00026096
0x71aa5b65d7a4b3bc7a77f6716980e2290588ea354aee644c55cc6b1cb22bda1731 days 10 hrs ago0x1f84f03032503a00b092224ddcd7be2f33dfb10c  IN   0xf1e48f13768bd8114a530070b43257a63f24bb120 Ether0.000094396
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Source Code Verified (Exact match)
Contract Name: BsktToken
Compiler Version: v0.4.21+commit.dfe3193c
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity 0.4.21;

// File: zeppelin-solidity/contracts/ReentrancyGuard.sol

/**
 * @title Helps contracts guard agains reentrancy attacks.
 * @author Remco Bloemen <[email protected]π.com>
 * @notice If you mark a function `nonReentrant`, you should also
 * mark it `external`.
 */
contract ReentrancyGuard {

  /**
   * @dev We use a single lock for the whole contract.
   */
  bool private reentrancy_lock = false;

  /**
   * @dev Prevents a contract from calling itself, directly or indirectly.
   * @notice If you mark a function `nonReentrant`, you should also
   * mark it `external`. Calling one nonReentrant function from
   * another is not supported. Instead, you can implement a
   * `private` function doing the actual work, and a `external`
   * wrapper marked as `nonReentrant`.
   */
  modifier nonReentrant() {
    require(!reentrancy_lock);
    reentrancy_lock = true;
    _;
    reentrancy_lock = false;
  }

}

// File: zeppelin-solidity/contracts/ownership/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

// File: zeppelin-solidity/contracts/lifecycle/Pausable.sol

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused public {
    paused = true;
    emit Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused public {
    paused = false;
    emit Unpause();
  }
}

// File: zeppelin-solidity/contracts/math/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    // uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return a / b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}

// File: zeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  function totalSupply() public view returns (uint256);
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

// File: zeppelin-solidity/contracts/token/ERC20/ERC20.sol

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public view returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

// File: zeppelin-solidity/contracts/token/ERC20/DetailedERC20.sol

contract DetailedERC20 is ERC20 {
  string public name;
  string public symbol;
  uint8 public decimals;

  function DetailedERC20(string _name, string _symbol, uint8 _decimals) public {
    name = _name;
    symbol = _symbol;
    decimals = _decimals;
  }
}

// File: zeppelin-solidity/contracts/token/ERC20/BasicToken.sol

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  uint256 totalSupply_;

  /**
  * @dev total number of tokens in existence
  */
  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public view returns (uint256 balance) {
    return balances[_owner];
  }

}

// File: zeppelin-solidity/contracts/token/ERC20/StandardToken.sol

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) internal allowed;


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    emit Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) public view returns (uint256) {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}

// File: contracts/BsktToken.sol

library AddressArrayUtils {

    /// @return Returns index and ok for the first occurrence starting from
    /// index 0
    function index(address[] addresses, address a)
        internal pure returns (uint, bool)
    {
        for (uint i = 0; i < addresses.length; i++) {
            if (addresses[i] == a) {
                return (i, true);
            }
        }
        return (0, false);
    }

}


/// @title BsktToken
/// @notice Bskt tokens are transferable, and can be created and redeemed by
/// anyone. To create, a user must approve the contract to move the underlying
/// tokens, then call `create`.
/// @author CryptoFin
contract BsktToken is StandardToken, DetailedERC20, Pausable, ReentrancyGuard {
    using SafeMath for uint256;
    using AddressArrayUtils for address[];

    struct TokenInfo {
        address addr;
        uint256 quantity;
    }
    uint256 public creationUnit;
    TokenInfo[] public tokens;

    event Create(address indexed creator, uint256 amount);
    event Redeem(address indexed redeemer, uint256 amount, address[] skippedTokens);

    /// @notice Requires value to be divisible by creationUnit
    /// @param value Number to be checked
    modifier requireMultiple(uint256 value) {
        require((value % creationUnit) == 0);
        _;
    }

    /// @notice Requires value to be non-zero
    /// @param value Number to be checked
    modifier requireNonZero(uint256 value) {
        require(value > 0);
        _;
    }

    /// @notice Initializes contract with a list of ERC20 token addresses and
    /// corresponding minimum number of units required for a creation unit
    /// @param addresses Addresses of the underlying ERC20 token contracts
    /// @param quantities Number of token base units required per creation unit
    /// @param _creationUnit Number of base units per creation unit
    function BsktToken(
        address[] addresses,
        uint256[] quantities,
        uint256 _creationUnit,
        string _name,
        string _symbol
    ) DetailedERC20(_name, _symbol, 18) public {
        require(addresses.length > 0);
        require(addresses.length == quantities.length);
        require(_creationUnit >= 1);

        for (uint256 i = 0; i < addresses.length; i++) {
            tokens.push(TokenInfo({
                addr: addresses[i],
                quantity: quantities[i]
            }));
        }

        creationUnit = _creationUnit;
        name = _name;
        symbol = _symbol;
    }

    /// @notice Creates Bskt tokens in exchange for underlying tokens. Before
    /// calling, underlying tokens must be approved to be moved by the Bskt
    /// contract. The number of approved tokens required depends on baseUnits.
    /// @dev If any underlying tokens' `transferFrom` fails (eg. the token is
    /// frozen), create will no longer work. At this point a token upgrade will
    /// be necessary.
    /// @param baseUnits Number of base units to create. Must be a multiple of
    /// creationUnit.
    function create(uint256 baseUnits)
        external
        whenNotPaused()
        requireNonZero(baseUnits)
        requireMultiple(baseUnits)
    {
        // Check overflow
        require((totalSupply_ + baseUnits) > totalSupply_);

        for (uint256 i = 0; i < tokens.length; i++) {
            TokenInfo memory token = tokens[i];
            ERC20 erc20 = ERC20(token.addr);
            uint256 amount = baseUnits.div(creationUnit).mul(token.quantity);
            require(erc20.transferFrom(msg.sender, address(this), amount));
        }

        mint(msg.sender, baseUnits);
        emit Create(msg.sender, baseUnits);
    }

    /// @notice Redeems Bskt tokens in exchange for underlying tokens
    /// @param baseUnits Number of base units to redeem. Must be a multiple of
    /// creationUnit.
    /// @param tokensToSkip Underlying token addresses to skip redemption for.
    /// Intended to be used to skip frozen or broken tokens which would prevent
    /// all underlying tokens from being withdrawn due to a revert. Skipped
    /// tokens are left in the Bskt contract and are unclaimable.
    function redeem(uint256 baseUnits, address[] tokensToSkip)
        external
        requireNonZero(baseUnits)
        requireMultiple(baseUnits)
    {
        require(baseUnits <= totalSupply_);
        require(baseUnits <= balances[msg.sender]);
        require(tokensToSkip.length <= tokens.length);
        // Total supply check not required since a user would have to have
        // balance greater than the total supply

        // Burn before to prevent re-entrancy
        burn(msg.sender, baseUnits);

        for (uint256 i = 0; i < tokens.length; i++) {
            TokenInfo memory token = tokens[i];
            ERC20 erc20 = ERC20(token.addr);
            uint256 index;
            bool ok;
            (index, ok) = tokensToSkip.index(token.addr);
            if (ok) {
                continue;
            }
            uint256 amount = baseUnits.div(creationUnit).mul(token.quantity);
            require(erc20.transfer(msg.sender, amount));
        }
        emit Redeem(msg.sender, baseUnits, tokensToSkip);
    }

    /// @return addresses Underlying token addresses
    function tokenAddresses() external view returns (address[]){
        address[] memory addresses = new address[](tokens.length);
        for (uint256 i = 0; i < tokens.length; i++) {
            addresses[i] = tokens[i].addr;
        }
        return addresses;
    }

    /// @return quantities Number of token base units required per creation unit
    function tokenQuantities() external view returns (uint256[]){
        uint256[] memory quantities = new uint256[](tokens.length);
        for (uint256 i = 0; i < tokens.length; i++) {
            quantities[i] = tokens[i].quantity;
        }
        return quantities;
    }

    // @dev Mints new Bskt tokens
    // @param to Address to mint to
    // @param amount Amount to mint
    // @return ok Whether the operation was successful
    function mint(address to, uint256 amount) internal returns (bool) {
        totalSupply_ = totalSupply_.add(amount);
        balances[to] = balances[to].add(amount);
        emit Transfer(address(0), to, amount);
        return true;
    }

    // @dev Burns Bskt tokens
    // @param from Address to burn from
    // @param amount Amount to burn
    // @return ok Whether the operation was successful
    function burn(address from, uint256 amount) internal returns (bool) {
        totalSupply_ = totalSupply_.sub(amount);
        balances[from] = balances[from].sub(amount);
        emit Transfer(from, address(0), amount);
        return true;
    }

    // @notice Look up token quantity and whether token exists
    // @param token Token address to look up
    // @return (quantity, ok) Units of underlying token, and whether the
    // token was found
    function getQuantity(address token) internal view returns (uint256, bool) {
        for (uint256 i = 0; i < tokens.length; i++) {
            if (tokens[i].addr == token) {
                return (tokens[i].quantity, true);
            }
        }
        return (0, false);
    }

    /// @notice Owner: Withdraw excess funds which don't belong to Bskt token
    /// holders
    /// @param token ERC20 token address to withdraw
    function withdrawExcessToken(address token)
        external
        onlyOwner
        nonReentrant
    {
        ERC20 erc20 = ERC20(token);
        uint256 withdrawAmount;
        uint256 amountOwned = erc20.balanceOf(address(this));
        uint256 quantity;
        bool ok;
        (quantity, ok) = getQuantity(token);
        if (ok) {
            withdrawAmount = amountOwned.sub(
                totalSupply_.div(creationUnit).mul(quantity)
            );
        } else {
            withdrawAmount = amountOwned;
        }
        require(erc20.transfer(owner, withdrawAmount));
    }

    /// @dev Prevent Bskt tokens from being sent to the Bskt contract
    /// @param _to The address to transfer tokens to
    /// @param _value the amount of tokens to be transferred
    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_to != address(this));
        return super.transfer(_to, _value);
    }

    /// @dev Prevent Bskt tokens from being sent to the Bskt contract
    /// @param _from The address to transfer tokens from
    /// @param _to The address to transfer to
    /// @param _value The amount of tokens to be transferred
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(_to != address(this));
        return super.transferFrom(_from, _to, _value);
    }

}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"baseUnits","type":"uint256"},{"name":"tokensToSkip","type":"address[]"}],"name":"redeem","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"creationUnit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenQuantities","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":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokens","outputs":[{"name":"addr","type":"address"},{"name":"quantity","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"baseUnits","type":"uint256"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"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":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenAddresses","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"token","type":"address"}],"name":"withdrawExcessToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","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"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"addresses","type":"address[]"},{"name":"quantities","type":"uint256[]"},{"name":"_creationUnit","type":"uint256"},{"name":"_name","type":"string"},{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"creator","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Create","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"redeemer","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"skippedTokens","type":"address[]"}],"name":"Redeem","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526000600560156101000a81548160ff0219169083151502179055506000600560166101000a81548160ff02191690831515021790555034156200004657600080fd5b60405162002c4238038062002c42833981016040528080518201919060200180518201919060200180519060200190919080518201919060200180518201919050506000828260128260039080519060200190620000a69291906200028e565b508160049080519060200190620000bf9291906200028e565b5080600560006101000a81548160ff021916908360ff16021790555050505033600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600086511115156200013057600080fd5b845186511415156200014157600080fd5b600184101515156200015257600080fd5b600090505b855181101562000249576007805480600101828162000177919062000315565b9160005260206000209060020201600060408051908101604052808a86815181101515620001a157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1681526020018986815181101515620001d557fe5b90602001906020020151815250909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505050808060010191505062000157565b836006819055508260039080519060200190620002689291906200028e565b508160049080519060200190620002819291906200028e565b50505050505050620003c3565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002d157805160ff191683800117855562000302565b8280016001018555821562000302579182015b8281111562000301578251825591602001919060010190620002e4565b5b5090506200031191906200034a565b5090565b815481835581811511620003455760020281600202836000526020600020918201910162000344919062000372565b5b505050565b6200036f91905b808211156200036b57600081600090555060010162000351565b5090565b90565b620003c091905b80821115620003bc57600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560018201600090555060020162000379565b5090565b90565b61286f80620003d36000396000f300606060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146101385780630959bd1a146101c6578063095ea7b3146101fd578063119e5cdf1461025757806318160ddd146102805780632075eec6146102a957806323b872dd14610313578063313ce5671461038c5780633f4ba83a146103bb5780634f64b2be146103d05780635c975abb1461043a578063661884631461046757806370a08231146104c1578063780900dc1461050e5780638456cb59146105315780638da5cb5b1461054657806395d89b411461059b578063a9059cbb14610629578063a9989b9314610683578063ce6b3467146106ed578063d73dd62314610726578063dd62ed3e14610780578063f2fde38b146107ec575b600080fd5b341561014357600080fd5b61014b610825565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018b578082015181840152602081019050610170565b50505050905090810190601f1680156101b85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d157600080fd5b6101fb600480803590602001909190803590602001908201803590602001919091929050506108c3565b005b341561020857600080fd5b61023d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bfb565b604051808215151515815260200191505060405180910390f35b341561026257600080fd5b61026a610ced565b6040518082815260200191505060405180910390f35b341561028b57600080fd5b610293610cf3565b6040518082815260200191505060405180910390f35b34156102b457600080fd5b6102bc610cfd565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156102ff5780820151818401526020810190506102e4565b505050509050019250505060405180910390f35b341561031e57600080fd5b610372600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d99565b604051808215151515815260200191505060405180910390f35b341561039757600080fd5b61039f610dea565b604051808260ff1660ff16815260200191505060405180910390f35b34156103c657600080fd5b6103ce610dfd565b005b34156103db57600080fd5b6103f16004808035906020019091905050610ebd565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b341561044557600080fd5b61044d610f10565b604051808215151515815260200191505060405180910390f35b341561047257600080fd5b6104a7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f23565b604051808215151515815260200191505060405180910390f35b34156104cc57600080fd5b6104f8600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506111b4565b6040518082815260200191505060405180910390f35b341561051957600080fd5b61052f60048080359060200190919050506111fc565b005b341561053c57600080fd5b61054461149d565b005b341561055157600080fd5b61055961155e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105a657600080fd5b6105ae611584565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105ee5780820151818401526020810190506105d3565b50505050905090810190601f16801561061b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561063457600080fd5b610669600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611622565b604051808215151515815260200191505060405180910390f35b341561068e57600080fd5b610696611671565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156106d95780820151818401526020810190506106be565b505050509050019250505060405180910390f35b34156106f857600080fd5b610724600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061175b565b005b341561073157600080fd5b610766600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611a12565b604051808215151515815260200191505060405180910390f35b341561078b57600080fd5b6107d6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c0e565b6040518082815260200191505060405180910390f35b34156107f757600080fd5b610823600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611c95565b005b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108bb5780601f10610890576101008083540402835291602001916108bb565b820191906000526020600020905b81548152906001019060200180831161089e57829003601f168201915b505050505081565b60006108cd6127eb565b600080600080886000811115156108e357600080fd5b896000600654828115156108f357fe5b0614151561090057600080fd5b6001548b1115151561091157600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548b1115151561095e57600080fd5b6007805490508a8a90501115151561097557600080fd5b61097f338c611ded565b50600097505b600780549050881015610b7b576007888154811015156109a157fe5b90600052602060002090600202016040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015481525050965086600001519550610a6987600001518b8b80806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050611f0d90919063ffffffff16565b80955081965050508315610a7c57610b6e565b610aa78760200151610a996006548e611f9690919063ffffffff16565b611fac90919063ffffffff16565b92508573ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610b4b57600080fd5b5af11515610b5857600080fd5b505050604051805190501515610b6d57600080fd5b5b8780600101985050610985565b3373ffffffffffffffffffffffffffffffffffffffff167f952b7243b53bb61160c8547e81432b1e2dd414de42f06b34aee5436e08d1bbcf8c8c8c60405180848152602001806020018281038252848482818152602001925060200280828437820191505094505050505060405180910390a25050505050505050505050565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60065481565b6000600154905090565b610d0561281b565b610d0d61281b565b6000600780549050604051805910610d225750595b90808252806020026020018201604052509150600090505b600780549050811015610d9157600781815481101515610d5657fe5b9060005260206000209060020201600101548282815181101515610d7657fe5b90602001906020020181815250508080600101915050610d3a565b819250505090565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610dd657600080fd5b610de1848484611fe7565b90509392505050565b600560009054906101000a900460ff1681565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e5957600080fd5b600560159054906101000a900460ff161515610e7457600080fd5b6000600560156101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b600781815481101515610ecc57fe5b90600052602060002090600202016000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b600560159054906101000a900460ff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611034576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506110c8565b61104783826123a190919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60006112066127eb565b600080600560159054906101000a900460ff1615151561122557600080fd5b8460008111151561123557600080fd5b8560006006548281151561124557fe5b0614151561125257600080fd5b600154876001540111151561126657600080fd5b600095505b60078054905086101561143b5760078681548110151561128757fe5b90600052602060002090600202016040805190810160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152505094508460000151935061133485602001516113266006548a611f9690919063ffffffff16565b611fac90919063ffffffff16565b92508373ffffffffffffffffffffffffffffffffffffffff166323b872dd3330866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561140c57600080fd5b5af1151561141957600080fd5b50505060405180519050151561142e57600080fd5b858060010196505061126b565b61144533886123ba565b503373ffffffffffffffffffffffffffffffffffffffff167fcc9018de05b5f497ee7618d8830568d8ac2d45d0671b73d8f71c67e824122ec7886040518082815260200191505060405180910390a250505050505050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114f957600080fd5b600560159054906101000a900460ff1615151561151557600080fd5b6001600560156101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561161a5780601f106115ef5761010080835404028352916020019161161a565b820191906000526020600020905b8154815290600101906020018083116115fd57829003601f168201915b505050505081565b60003073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561165f57600080fd5b61166983836124da565b905092915050565b61167961282f565b61168161282f565b60006007805490506040518059106116965750595b90808252806020026020018201604052509150600090505b600780549050811015611753576007818154811015156116ca57fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110151561170a57fe5b9060200190602002019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505080806001019150506116ae565b819250505090565b6000806000806000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117bf57600080fd5b600560169054906101000a900460ff161515156117db57600080fd5b6001600560166101000a81548160ff0219169083151502179055508594508473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561189357600080fd5b5af115156118a057600080fd5b5050506040518051905092506118b5866126f9565b80925081935050508015611905576118fe6118ef836118e1600654600154611f9690919063ffffffff16565b611fac90919063ffffffff16565b846123a190919063ffffffff16565b9350611909565b8293505b8473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16866040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156119cd57600080fd5b5af115156119da57600080fd5b5050506040518051905015156119ef57600080fd5b6000600560166101000a81548160ff021916908315150217905550505050505050565b6000611aa382600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127cd90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cf157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611d2d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611e04826001546123a190919063ffffffff16565b600181905550611e5b826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a190919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008060008090505b8451811015611f83578373ffffffffffffffffffffffffffffffffffffffff168582815181101515611f4457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff161415611f765780600192509250611f8e565b8080600101915050611f16565b600080819150925092505b509250929050565b60008183811515611fa357fe5b04905092915050565b6000806000841415611fc15760009150611fe0565b8284029050828482811515611fd257fe5b04141515611fdc57fe5b8091505b5092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561202457600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561207157600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156120fc57600080fd5b61214d826000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a190919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121e0826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122b182600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a190919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008282111515156123af57fe5b818303905092915050565b60006123d1826001546127cd90919063ffffffff16565b600181905550612428826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561251757600080fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561256457600080fd5b6125b5826000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a190919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612648826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127cd90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008060008090505b6007805490508110156127bc578373ffffffffffffffffffffffffffffffffffffffff1660078281548110151561273557fe5b906000526020600020906002020160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156127af5760078181548110151561279257fe5b9060005260206000209060020201600101546001925092506127c7565b8080600101915050612702565b600080819150925092505b50915091565b60008082840190508381101515156127e157fe5b8091505092915050565b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b602060405190810160405280600081525090565b6020604051908101604052806000815250905600a165627a7a72305820b0f05353907f0e36f112352afa24bdd17feed83b95c2ffad6bec199d26183160002900000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000d26114cd6ee289accf82350c8d8487fedb8a0c07000000000000000000000000d4fa1460f537bb9085d22c7bccb5dd450ef28e3a0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2000000000000000000000000e0b7927c4af23765cb51314a0e0521a9645f0e2a000000000000000000000000744d70fdbe2ba4cf95131626614a1763df805b9e000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498000000000000000000000000e94327d07fc17907b4db788e5adf2ed424addff60000000000000000000000000d8775f648430679a709e98d2b0cb6250d2887ef000000000000000000000000dd974d5c2e2928dea5f71b9825b8b646686bd200000000000000000000000000d4c435f5b09f855c3317c8524cb1f586e42795fa000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000131eae609a0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000001da791ca00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000028a44e71e5a0000000000000000000000000000000000000000000000000000006255805a84000000000000000000000000000000000000000000000000000000020fa33d64000000000000000000000000000000000000000000000000000000bb5f0f41470000000000000000000000000000000000000000000000000000001921f3796b0000000000000000000000000000000000000000000000000000010eef3ec6e90000000000000000000000000000000000000000000000000000000000000012457468657265756d31302051322d32303138000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034531300000000000000000000000000000000000000000000000000000000000

    Constructor Arguments (ABI-encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000e8d4a51000000000000000000000000000000000000000000000000000000000000000036000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000d26114cd6ee289accf82350c8d8487fedb8a0c07000000000000000000000000d4fa1460f537bb9085d22c7bccb5dd450ef28e3a0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2000000000000000000000000e0b7927c4af23765cb51314a0e0521a9645f0e2a000000000000000000000000744d70fdbe2ba4cf95131626614a1763df805b9e000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498000000000000000000000000e94327d07fc17907b4db788e5adf2ed424addff60000000000000000000000000d8775f648430679a709e98d2b0cb6250d2887ef000000000000000000000000dd974d5c2e2928dea5f71b9825b8b646686bd200000000000000000000000000d4c435f5b09f855c3317c8524cb1f586e42795fa000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000131eae609a0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000001da791ca00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000028a44e71e5a0000000000000000000000000000000000000000000000000000006255805a84000000000000000000000000000000000000000000000000000000020fa33d64000000000000000000000000000000000000000000000000000000bb5f0f41470000000000000000000000000000000000000000000000000000001921f3796b0000000000000000000000000000000000000000000000000000010eef3ec6e90000000000000000000000000000000000000000000000000000000000000012457468657265756d31302051322d32303138000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034531300000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Found 31 constructor arguments :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000200
Arg [2] : 000000000000000000000000000000000000000000000000000000e8d4a51000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000360
Arg [4] : 00000000000000000000000000000000000000000000000000000000000003a0
Arg [5] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [6] : 000000000000000000000000d26114cd6ee289accf82350c8d8487fedb8a0c07
Arg [7] : 000000000000000000000000d4fa1460f537bb9085d22c7bccb5dd450ef28e3a
Arg [8] : 0000000000000000000000009f8f72aa9304c8b593d555f12ef6589cc3a579a2
Arg [9] : 000000000000000000000000e0b7927c4af23765cb51314a0e0521a9645f0e2a
Arg [10] : 000000000000000000000000744d70fdbe2ba4cf95131626614a1763df805b9e
Arg [11] : 000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498
Arg [12] : 000000000000000000000000e94327d07fc17907b4db788e5adf2ed424addff6
Arg [13] : 0000000000000000000000000d8775f648430679a709e98d2b0cb6250d2887ef
Arg [14] : 000000000000000000000000dd974d5c2e2928dea5f71b9825b8b646686bd200
Arg [15] : 000000000000000000000000d4c435f5b09f855c3317c8524cb1f586e42795fa
Arg [16] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [17] : 000000000000000000000000000000000000000000000000000000131eae609a
Arg [18] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [19] : 000000000000000000000000000000000000000000000000000000001da791ca
Arg [20] : 0000000000000000000000000000000000000000000000000000000000000002
Arg [21] : 0000000000000000000000000000000000000000000000000000028a44e71e5a
Arg [22] : 0000000000000000000000000000000000000000000000000000006255805a84
Arg [23] : 000000000000000000000000000000000000000000000000000000020fa33d64
Arg [24] : 000000000000000000000000000000000000000000000000000000bb5f0f4147
Arg [25] : 0000000000000000000000000000000000000000000000000000001921f3796b
Arg [26] : 0000000000000000000000000000000000000000000000000000010eef3ec6e9
Arg [27] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [28] : 457468657265756d31302051322d323031380000000000000000000000000000
Arg [29] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [30] : 4531300000000000000000000000000000000000000000000000000000000000


   Swarm Source:
bzzr://b0f05353907f0e36f112352afa24bdd17feed83b95c2ffad6bec199d26183160

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.