Contract 0x7150331aea81605332270ef6586fef50c641c3c5

Contract Overview

Balance:
0 Ether
TxHash Block Age From To Value [TxFee]
0xb9ba69b4e9f18dddf2395fddefb580bde8dbfb7de6e165874bfdee5d0f6c863a3246895142 days 10 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x13096df95cbbd39a858343268e0c7752494fdfcd74a7d93f824577ad3c8213803246854142 days 10 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x40c3f1de9075453be38fbe5765bbb26a087cb7dbbd185b1ee9888b3f2639b1ee3246818142 days 10 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x0ba31492811c3b62db4dcef03187ebe33bc6999273edb0c7631249a181144a263246776142 days 11 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x7e836a3910f77337676592feb2f209de68de9c78ba2867512709f6f9cf5ba0b13246734142 days 11 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x014f33c3aa1e2b19e39b27cba7dc335f76ab1272765975f2a9f80522a7afaa053246704142 days 11 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x4690db45e2a99b64ab9d8ae028aa727af99556c0d51d84b84688a80a09e9297a3246654142 days 11 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x15941f8ac57a7a315abc7cfc3a3db696b015380b20008f00363301ae30f4c8b73246614142 days 11 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0xc5448389a95231cebeda088cc481cb4c10203ff59bd253a163418ad6d5c3a3c73246578142 days 11 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0xe6bce6c750b72ba60ab302a9e4d83e426502a17151057692933dfef3e41e1a413246537142 days 12 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0xac010fa19f2a27762d81df0f0fd5cff2fd4057ee3e154902cc8e4393f16dd5ef3246496142 days 12 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0xea0af6bcebd5686ccb8888cf5a6d015b57a281e995f7f85bfc9db7deb92480a13246461142 days 12 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0xfb15da89a4086f893f220952b840c74f0434fd9ea718747cbcf5573c69c4325a3246416142 days 12 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0xa4980531f6962f2f37469613cef645ce1ad4afa25577034bf87c0a06d4fbdfd83246376142 days 12 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x7d6c25d3e926b5e5b784a322199413febde617a5f719ef2b9f06f1a3692652cc3246337142 days 12 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x613f48785c6667eb04930f60aa2129316a7b05dc8f45cb2990829b50984c913c3246295142 days 13 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x154f235b13e85f62504a226abb6d45cb0b30b0c5b8ab0f51cc29736dc67f4f583246257142 days 13 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x4fd89b3e2de42ce5a7182f61844a27ca7f15c37da650d85eb6d1976b6722a7053246222142 days 13 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0xa6cf09f454bf87adb96e59a396c10db9375983a31375167ef257524c8fd26f4f3246176142 days 13 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x8a8184aaa54783bcc0b5a017f62cac25494ddfc550631403d7b71a12f58247303246133142 days 13 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0xf7932dac0308c7defb4c0459139bf8612de3f7bba88b5887d3e58b3cc5e6e33f3246094142 days 13 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x2f84710fb29585f7ee551601108508c225effff1486686a9fb1a76d770d3b7bd3246056142 days 14 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x9d2b60d7e7c42afbb89667d47eb9d8b3fd744c3a27907a15f9b49d14f07993863246017142 days 14 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0x023f89f406e3778ed80b41f1ac142b7dcec9eb59f82fed484f91a486d11cff313245980142 days 14 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
0xca67baf1995de16a27f67f0ff74a0a81637434f7a8dd9ed07a441c562201a8d83245935142 days 14 hrs ago0x8c58187a978979947b88824dcda5cb5fd4410387 IN  0x7150331aea81605332270ef6586fef50c641c3c50 Ether0.000034162
[ Download CSV Export 

Latest 25 internal transaction, Click here to view more Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0x49a5b73f97ea23343f3334e8ab278f0db1fa5abe979ac15c1758f4b131c62b9d373546557 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0x49a5b73f97ea23343f3334e8ab278f0db1fa5abe979ac15c1758f4b131c62b9d373546557 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0x49a5b73f97ea23343f3334e8ab278f0db1fa5abe979ac15c1758f4b131c62b9d373546557 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0x49a5b73f97ea23343f3334e8ab278f0db1fa5abe979ac15c1758f4b131c62b9d373546557 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0x49a5b73f97ea23343f3334e8ab278f0db1fa5abe979ac15c1758f4b131c62b9d373546557 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0x49a5b73f97ea23343f3334e8ab278f0db1fa5abe979ac15c1758f4b131c62b9d373546557 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0x49a5b73f97ea23343f3334e8ab278f0db1fa5abe979ac15c1758f4b131c62b9d373546557 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0x49a5b73f97ea23343f3334e8ab278f0db1fa5abe979ac15c1758f4b131c62b9d373546557 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0x49a5b73f97ea23343f3334e8ab278f0db1fa5abe979ac15c1758f4b131c62b9d373546557 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0x49a5b73f97ea23343f3334e8ab278f0db1fa5abe979ac15c1758f4b131c62b9d373546557 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0x49a5b73f97ea23343f3334e8ab278f0db1fa5abe979ac15c1758f4b131c62b9d373546557 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0x49a5b73f97ea23343f3334e8ab278f0db1fa5abe979ac15c1758f4b131c62b9d373546557 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0xdab5a5fe5d540354606d7c19585797b6f216b92c3d23550a14ee07abf257c28b373546057 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0xdab5a5fe5d540354606d7c19585797b6f216b92c3d23550a14ee07abf257c28b373546057 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0xdab5a5fe5d540354606d7c19585797b6f216b92c3d23550a14ee07abf257c28b373546057 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0xdab5a5fe5d540354606d7c19585797b6f216b92c3d23550a14ee07abf257c28b373546057 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0xdab5a5fe5d540354606d7c19585797b6f216b92c3d23550a14ee07abf257c28b373546057 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0xdab5a5fe5d540354606d7c19585797b6f216b92c3d23550a14ee07abf257c28b373546057 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0xdab5a5fe5d540354606d7c19585797b6f216b92c3d23550a14ee07abf257c28b373546057 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0xdab5a5fe5d540354606d7c19585797b6f216b92c3d23550a14ee07abf257c28b373546057 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0xdab5a5fe5d540354606d7c19585797b6f216b92c3d23550a14ee07abf257c28b373546057 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0xdab5a5fe5d540354606d7c19585797b6f216b92c3d23550a14ee07abf257c28b373546057 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0xdab5a5fe5d540354606d7c19585797b6f216b92c3d23550a14ee07abf257c28b373546057 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0xdab5a5fe5d540354606d7c19585797b6f216b92c3d23550a14ee07abf257c28b373546057 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
0x5d715d67d976577b895a204775bda63961e23a0868680fb497c7c62bcf1ed3ba373545457 days 14 hrs ago0x3b5dd323534659655eeccc642c3e338aabd0b2190x7150331aea81605332270ef6586fef50c641c3c50 Ether
[ Download CSV Export 
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)

Contract Name:
Rates

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No

Runs (Optimizer):
200

Contract Source Code

// File: contracts/generic/Restricted.sol

/*
    Generic contract to authorise calls to certain functions only from a given address.
    The address authorised must be a contract (multisig or not, depending on the permission), except for local test

    deployment works as:
           1. contract deployer account deploys contracts
           2. constructor grants "PermissionGranter" permission to deployer account
           3. deployer account executes initial setup (no multiSig)
           4. deployer account grants PermissionGranter permission for the MultiSig contract
                (e.g. StabilityBoardProxy or PreTokenProxy)
           5. deployer account revokes its own PermissionGranter permission
*/

pragma solidity 0.4.24;


contract Restricted {

    // NB: using bytes32 rather than the string type because it's cheaper gas-wise:
    mapping (address => mapping (bytes32 => bool)) public permissions;

    event PermissionGranted(address indexed agent, bytes32 grantedPermission);
    event PermissionRevoked(address indexed agent, bytes32 revokedPermission);

    modifier restrict(bytes32 requiredPermission) {
        require(permissions[msg.sender][requiredPermission], "msg.sender must have permission");
        _;
    }

    constructor(address permissionGranterContract) public {
        require(permissionGranterContract != address(0), "permissionGranterContract must be set");
        permissions[permissionGranterContract]["PermissionGranter"] = true;
        emit PermissionGranted(permissionGranterContract, "PermissionGranter");
    }

    function grantPermission(address agent, bytes32 requiredPermission) public {
        require(permissions[msg.sender]["PermissionGranter"],
            "msg.sender must have PermissionGranter permission");
        permissions[agent][requiredPermission] = true;
        emit PermissionGranted(agent, requiredPermission);
    }

    function grantMultiplePermissions(address agent, bytes32[] requiredPermissions) public {
        require(permissions[msg.sender]["PermissionGranter"],
            "msg.sender must have PermissionGranter permission");
        uint256 length = requiredPermissions.length;
        for (uint256 i = 0; i < length; i++) {
            grantPermission(agent, requiredPermissions[i]);
        }
    }

    function revokePermission(address agent, bytes32 requiredPermission) public {
        require(permissions[msg.sender]["PermissionGranter"],
            "msg.sender must have PermissionGranter permission");
        permissions[agent][requiredPermission] = false;
        emit PermissionRevoked(agent, requiredPermission);
    }

    function revokeMultiplePermissions(address agent, bytes32[] requiredPermissions) public {
        uint256 length = requiredPermissions.length;
        for (uint256 i = 0; i < length; i++) {
            revokePermission(agent, requiredPermissions[i]);
        }
    }

}

// File: contracts/generic/SafeMath.sol

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

    TODO: check against ds-math: https://blog.dapphub.com/ds-math/
    TODO: move roundedDiv to a sep lib? (eg. Math.sol)
    TODO: more unit tests!
*/
pragma solidity 0.4.24;


library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a * b;
        require(a == 0 || c / a == b, "mul overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "div by 0"); // Solidity automatically throws for div by 0 but require to emit reason
        uint256 c = a / b;
        // require(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "sub underflow");
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "add overflow");
        return c;
    }

    // Division, round to nearest integer, round half up
    function roundedDiv(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "div by 0"); // Solidity automatically throws for div by 0 but require to emit reason
        uint256 halfB = (b % 2 == 0) ? (b / 2) : (b / 2 + 1);
        return (a % b >= halfB) ? (a / b + 1) : (a / b);
    }

    // Division, always rounds up
    function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "div by 0"); // Solidity automatically throws for div by 0 but require to emit reason
        return (a % b != 0) ? (a / b + 1) : (a / b);
    }

    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }

    function max(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? b : a;
    }    
}

// File: contracts/Rates.sol

/*
 Generic symbol / WEI rates contract.
 only callable by trusted price oracles.
 Being regularly called by a price oracle
    TODO: trustless/decentrilezed price Oracle
    TODO: shall we use blockNumber instead of now for lastUpdated?
    TODO: consider if we need storing rates with variable decimals instead of fixed 4
    TODO: could we emit 1 RateChanged event from setMultipleRates (symbols and newrates arrays)?
*/
pragma solidity 0.4.24;




contract Rates is Restricted {
    using SafeMath for uint256;

    struct RateInfo {
        uint rate; // how much 1 WEI worth 1 unit , i.e. symbol/ETH rate
                    // 0 rate means no rate info available
        uint lastUpdated;
    }

    // mapping currency symbol => rate. all rates are stored with 2 decimals. i.e. EUR/ETH = 989.12 then rate = 98912
    mapping(bytes32 => RateInfo) public rates;

    event RateChanged(bytes32 symbol, uint newRate);

    constructor(address permissionGranterContract) public Restricted(permissionGranterContract) {} // solhint-disable-line no-empty-blocks

    function setRate(bytes32 symbol, uint newRate) external restrict("RatesFeeder") {
        rates[symbol] = RateInfo(newRate, now);
        emit RateChanged(symbol, newRate);
    }

    function setMultipleRates(bytes32[] symbols, uint[] newRates) external restrict("RatesFeeder") {
        require(symbols.length == newRates.length, "symobls and newRates lengths must be equal");
        for (uint256 i = 0; i < symbols.length; i++) {
            rates[symbols[i]] = RateInfo(newRates[i], now);
            emit RateChanged(symbols[i], newRates[i]);
        }
    }

    function convertFromWei(bytes32 bSymbol, uint weiValue) external view returns(uint value) {
        require(rates[bSymbol].rate > 0, "rates[bSymbol] must be > 0");
        return weiValue.mul(rates[bSymbol].rate).roundedDiv(1000000000000000000);
    }

    function convertToWei(bytes32 bSymbol, uint value) external view returns(uint weiValue) {
        // next line would revert with div by zero but require to emit reason
        require(rates[bSymbol].rate > 0, "rates[bSymbol] must be > 0");
        /* TODO: can we make this not loosing max scale? */
        return value.mul(1000000000000000000).roundedDiv(rates[bSymbol].rate);
    }

}

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"permissions","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"bSymbol","type":"bytes32"},{"name":"value","type":"uint256"}],"name":"convertToWei","outputs":[{"name":"weiValue","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"agent","type":"address"},{"name":"requiredPermission","type":"bytes32"}],"name":"revokePermission","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"symbol","type":"bytes32"},{"name":"newRate","type":"uint256"}],"name":"setRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"agent","type":"address"},{"name":"requiredPermissions","type":"bytes32[]"}],"name":"revokeMultiplePermissions","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"bSymbol","type":"bytes32"},{"name":"weiValue","type":"uint256"}],"name":"convertFromWei","outputs":[{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"agent","type":"address"},{"name":"requiredPermissions","type":"bytes32[]"}],"name":"grantMultiplePermissions","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"rates","outputs":[{"name":"rate","type":"uint256"},{"name":"lastUpdated","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"symbols","type":"bytes32[]"},{"name":"newRates","type":"uint256[]"}],"name":"setMultipleRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"agent","type":"address"},{"name":"requiredPermission","type":"bytes32"}],"name":"grantPermission","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"permissionGranterContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"symbol","type":"bytes32"},{"indexed":false,"name":"newRate","type":"uint256"}],"name":"RateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"agent","type":"address"},{"indexed":false,"name":"grantedPermission","type":"bytes32"}],"name":"PermissionGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"agent","type":"address"},{"indexed":false,"name":"revokedPermission","type":"bytes32"}],"name":"PermissionRevoked","type":"event"}]

Contract Creation Code

608060405234801561001057600080fd5b506040516020806113d18339810180604052810190808051906020019092919050505080600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156100ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001807f7065726d697373696f6e4772616e746572436f6e7472616374206d757374206281526020017f652073657400000000000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b60016000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007f5065726d697373696f6e4772616e74657200000000000000000000000000000060001916815260200190815260200160002060006101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fc65937e3dbcb9fb30f646815dd67a3dbd09ba17718cbcb54efbe3635f8e0a6fe60405180807f5065726d697373696f6e4772616e746572000000000000000000000000000000815250602001905060405180910390a250506111c78061020a6000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680635b225526146100a95780635c481d8b146101125780635fe0701314610161578063680819eb146101b25780637ea46993146101ed57806382f5e31b146102735780639ac3317b146102c2578063dc72620514610348578063dd17eaec14610394578063f38a8262146103e7575b600080fd5b3480156100b557600080fd5b506100f8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190505050610438565b604051808215151515815260200191505060405180910390f35b34801561011e57600080fd5b5061014b600480360381019080803560001916906020019092919080359060200190929190505050610467565b6040518082815260200191505060405180910390f35b34801561016d57600080fd5b506101b0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190505050610551565b005b3480156101be57600080fd5b506101eb600480360381019080803560001916906020019092919080359060200190929190505050610736565b005b3480156101f957600080fd5b50610271600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506108c3565b005b34801561027f57600080fd5b506102ac60048036038101908080356000191690602001909291908035906020019092919050505061090b565b6040518082815260200191505060405180910390f35b3480156102ce57600080fd5b50610346600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091929192905050506109f5565b005b34801561035457600080fd5b506103776004803603810190808035600019169060200190929190505050610b58565b604051808381526020018281526020019250505060405180910390f35b3480156103a057600080fd5b506103e5600480360381019080803590602001908201803590602001919091929391929390803590602001908201803590602001919091929391929390505050610b7c565b005b3480156103f357600080fd5b50610436600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035600019169060200190929190505050610e26565b005b60006020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b600080600160008560001916600019168152602001908152602001600020600001541115156104fe576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f72617465735b6253796d626f6c5d206d757374206265203e203000000000000081525060200191505060405180910390fd5b6105496001600085600019166000191681526020019081526020016000206000015461053b670de0b6b3a76400008561100b90919063ffffffff16565b6110aa90919063ffffffff16565b905092915050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007f5065726d697373696f6e4772616e74657200000000000000000000000000000060001916815260200190815260200160002060009054906101000a900460ff16151561066c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001807f6d73672e73656e646572206d7573742068617665205065726d697373696f6e4781526020017f72616e746572207065726d697373696f6e00000000000000000000000000000081525060400191505060405180910390fd5b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f789770131846de4d1f28418f0f957cdf4fcabe5eccf70067083e20ecece69a348260405180826000191660001916815260200191505060405180910390a25050565b7f52617465734665656465720000000000000000000000000000000000000000006000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826000191660001916815260200190815260200160002060009054906101000a900460ff161515610830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6d73672e73656e646572206d7573742068617665207065726d697373696f6e0081525060200191505060405180910390fd5b60408051908101604052808381526020014281525060016000856000191660001916815260200190815260200160002060008201518160000155602082015181600101559050507f9de72aa82d2cf62928e15749581b4bb9120a74b0de039e0908d84c73a28c82d783836040518083600019166000191681526020018281526020019250505060405180910390a1505050565b60008082519150600090505b81811015610905576108f88484838151811015156108e957fe5b90602001906020020151610551565b80806001019150506108cf565b50505050565b600080600160008560001916600019168152602001908152602001600020600001541115156109a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f72617465735b6253796d626f6c5d206d757374206265203e203000000000000081525060200191505060405180910390fd5b6109ed670de0b6b3a76400006109df600160008760001916600019168152602001908152602001600020600001548561100b90919063ffffffff16565b6110aa90919063ffffffff16565b905092915050565b6000806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007f5065726d697373696f6e4772616e74657200000000000000000000000000000060001916815260200190815260200160002060009054906101000a900460ff161515610b13576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001807f6d73672e73656e646572206d7573742068617665205065726d697373696f6e4781526020017f72616e746572207065726d697373696f6e00000000000000000000000000000081525060400191505060405180910390fd5b82519150600090505b81811015610b5257610b45848483815181101515610b3657fe5b90602001906020020151610e26565b8080600101915050610b1c565b50505050565b60016020528060005260406000206000915090508060000154908060010154905082565b60007f52617465734665656465720000000000000000000000000000000000000000006000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826000191660001916815260200190815260200160002060009054906101000a900460ff161515610c78576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f6d73672e73656e646572206d7573742068617665207065726d697373696f6e0081525060200191505060405180910390fd5b8383905086869050141515610d1b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001807f73796d6f626c7320616e64206e65775261746573206c656e67746873206d757381526020017f7420626520657175616c0000000000000000000000000000000000000000000081525060400191505060405180910390fd5b600091505b85859050821015610e1e5760408051908101604052808585858181101515610d4457fe5b90506020020135815260200142815250600160008888868181101515610d6657fe5b90506020020135600019166000191660001916815260200190815260200160002060008201518160000155602082015181600101559050507f9de72aa82d2cf62928e15749581b4bb9120a74b0de039e0908d84c73a28c82d78686848181101515610dcd57fe5b90506020020135600019168585858181101515610de657fe5b905060200201356040518083600019166000191681526020018281526020019250505060405180910390a18180600101925050610d20565b505050505050565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007f5065726d697373696f6e4772616e74657200000000000000000000000000000060001916815260200190815260200160002060009054906101000a900460ff161515610f41576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260318152602001807f6d73672e73656e646572206d7573742068617665205065726d697373696f6e4781526020017f72616e746572207065726d697373696f6e00000000000000000000000000000081525060400191505060405180910390fd5b60016000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fc65937e3dbcb9fb30f646815dd67a3dbd09ba17718cbcb54efbe3635f8e0a6fe8260405180826000191660001916815260200191505060405180910390a25050565b6000808284029050600084148061102c575082848281151561102957fe5b04145b15156110a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f6d756c206f766572666c6f77000000000000000000000000000000000000000081525060200191505060405180910390fd5b8091505092915050565b600080600083111515611125576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260088152602001807f646976206279203000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b600060028481151561113357fe5b061461114e57600160028481151561114757fe5b040161115c565b60028381151561115a57fe5b045b905080838581151561116a57fe5b06101561118257828481151561117c57fe5b04611192565b6001838581151561118f57fe5b04015b915050929150505600a165627a7a7230582009b2aac94fb2df5c8e348e468e6e54b4bfa7d16dd7e85574bac8ac7d0676db56002900000000000000000000000064a31038dfd0a085a51c8695329680564cb19c0a

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

00000000000000000000000064a31038dfd0a085a51c8695329680564cb19c0a

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000064a31038dfd0a085a51c8695329680564cb19c0a

Swarm Source

bzzr://09b2aac94fb2df5c8e348e468e6e54b4bfa7d16dd7e85574bac8ac7d0676db56
Block Age Transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward