ETH Price: $1,969.45 (+2.33%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Status103452722020-06-27 2:49:242072 days ago1593226164IN
0xc8697fDA...128CD09Cd
0 ETH0.0021672624.31201016

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Status

Compiler Version
v0.5.15+commit.6a57276f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2019-12-30
*/

pragma solidity ^0.5.0;

/**
* @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 private _owner;

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

    /**
    * @dev The Ownable constructor sets the original `owner` of the contract to the sender
    * account.
    */
    constructor() public {
        _owner = msg.sender;
        emit OwnershipTransferred(address(0), _owner);
    }

    /**
    * @return the address of the owner.
    */
    function owner() public view returns(address) {
        return _owner;
    }

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

    /**
    * @return true if `msg.sender` is the owner of the contract.
    */
    function isOwner() public view returns(bool) {
        return msg.sender == _owner;
    }

    /**
    * @dev Allows the current owner to relinquish control of the contract.
    * @notice Renouncing to ownership will leave the contract without an owner.
    * It will not be possible to call the functions with the `onlyOwner`
    * modifier anymore.
    */
    function renounceOwnership() public onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    /**
    * @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 {
        _transferOwnership(newOwner);
    }

    /**
    * @dev Transfers control of the contract to a newOwner.
    * @param newOwner The address to transfer ownership to.
    */
    function _transferOwnership(address newOwner) internal {
        require(newOwner != address(0));
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface SnowflakeResolverInterface {
    function callOnAddition() external view returns (bool);
    function callOnRemoval() external view returns (bool);
    function onAddition(uint ein, uint allowance, bytes calldata extraData) external returns (bool);
    function onRemoval(uint ein, bytes calldata extraData) external returns (bool);
}

contract SnowflakeResolver is Ownable {
    string public snowflakeName;
    string public snowflakeDescription;

    address public snowflakeAddress;

    bool public callOnAddition;
    bool public callOnRemoval;

    constructor(
        string memory _snowflakeName, string memory _snowflakeDescription,
        address _snowflakeAddress,
        bool _callOnAddition, bool _callOnRemoval
    )
        public
    {
        snowflakeName = _snowflakeName;
        snowflakeDescription = _snowflakeDescription;

        setSnowflakeAddress(_snowflakeAddress);

        callOnAddition = _callOnAddition;
        callOnRemoval = _callOnRemoval;
    }

    modifier senderIsSnowflake() {
        require(msg.sender == snowflakeAddress, "Did not originate from Snowflake.");
        _;
    }

    // this can be overriden to initialize other variables, such as e.g. an ERC20 object to wrap the HYDRO token
    function setSnowflakeAddress(address _snowflakeAddress) public onlyOwner {
        snowflakeAddress = _snowflakeAddress;
    }

    // if callOnAddition is true, onAddition is called every time a user adds the contract as a resolver
    // this implementation **must** use the senderIsSnowflake modifier
    // returning false will disallow users from adding the contract as a resolver
    function onAddition(uint ein, uint allowance, bytes memory extraData) public returns (bool);

    // if callOnRemoval is true, onRemoval is called every time a user removes the contract as a resolver
    // this function **must** use the senderIsSnowflake modifier
    // returning false soft prevents users from removing the contract as a resolver
    // however, note that they can force remove the resolver, bypassing onRemoval
    function onRemoval(uint ein, bytes memory extraData) public returns (bool);

    function transferHydroBalanceTo(uint einTo, uint amount) internal {
        HydroInterface hydro = HydroInterface(SnowflakeInterface(snowflakeAddress).hydroTokenAddress());
        require(hydro.approveAndCall(snowflakeAddress, amount, abi.encode(einTo)), "Unsuccessful approveAndCall.");
    }

    function withdrawHydroBalanceTo(address to, uint amount) internal {
        HydroInterface hydro = HydroInterface(SnowflakeInterface(snowflakeAddress).hydroTokenAddress());
        require(hydro.transfer(to, amount), "Unsuccessful transfer.");
    }

    function transferHydroBalanceToVia(address via, uint einTo, uint amount, bytes memory snowflakeCallBytes) internal {
        HydroInterface hydro = HydroInterface(SnowflakeInterface(snowflakeAddress).hydroTokenAddress());
        require(
            hydro.approveAndCall(
                snowflakeAddress, amount, abi.encode(true, address(this), via, einTo, snowflakeCallBytes)
            ),
            "Unsuccessful approveAndCall."
        );
    }

    function withdrawHydroBalanceToVia(address via, address to, uint amount, bytes memory snowflakeCallBytes) internal {
        HydroInterface hydro = HydroInterface(SnowflakeInterface(snowflakeAddress).hydroTokenAddress());
        require(
            hydro.approveAndCall(
                snowflakeAddress, amount, abi.encode(false, address(this), via, to, snowflakeCallBytes)
            ),
            "Unsuccessful approveAndCall."
        );
    }
}

interface IdentityRegistryInterface {
    function isSigned(address _address, bytes32 messageHash, uint8 v, bytes32 r, bytes32 s)
        external pure returns (bool);

    // Identity View Functions /////////////////////////////////////////////////////////////////////////////////////////
    function identityExists(uint ein) external view returns (bool);
    function hasIdentity(address _address) external view returns (bool);
    function getEIN(address _address) external view returns (uint ein);
    function isAssociatedAddressFor(uint ein, address _address) external view returns (bool);
    function isProviderFor(uint ein, address provider) external view returns (bool);
    function isResolverFor(uint ein, address resolver) external view returns (bool);
    function getIdentity(uint ein) external view returns (
        address recoveryAddress,
        address[] memory associatedAddresses, address[] memory providers, address[] memory resolvers
    );

    // Identity Management Functions ///////////////////////////////////////////////////////////////////////////////////
    function createIdentity(address recoveryAddress, address[] calldata providers, address[] calldata resolvers)
        external returns (uint ein);
    function createIdentityDelegated(
        address recoveryAddress, address associatedAddress, address[] calldata providers, address[] calldata resolvers,
        uint8 v, bytes32 r, bytes32 s, uint timestamp
    ) external returns (uint ein);
    function addAssociatedAddress(
        address approvingAddress, address addressToAdd, uint8 v, bytes32 r, bytes32 s, uint timestamp
    ) external;
    function addAssociatedAddressDelegated(
        address approvingAddress, address addressToAdd,
        uint8[2] calldata v, bytes32[2] calldata r, bytes32[2] calldata s, uint[2] calldata timestamp
    ) external;
    function removeAssociatedAddress() external;
    function removeAssociatedAddressDelegated(address addressToRemove, uint8 v, bytes32 r, bytes32 s, uint timestamp)
        external;
    function addProviders(address[] calldata providers) external;
    function addProvidersFor(uint ein, address[] calldata providers) external;
    function removeProviders(address[] calldata providers) external;
    function removeProvidersFor(uint ein, address[] calldata providers) external;
    function addResolvers(address[] calldata resolvers) external;
    function addResolversFor(uint ein, address[] calldata resolvers) external;
    function removeResolvers(address[] calldata resolvers) external;
    function removeResolversFor(uint ein, address[] calldata resolvers) external;

    // Recovery Management Functions ///////////////////////////////////////////////////////////////////////////////////
    function triggerRecoveryAddressChange(address newRecoveryAddress) external;
    function triggerRecoveryAddressChangeFor(uint ein, address newRecoveryAddress) external;
    function triggerRecovery(uint ein, address newAssociatedAddress, uint8 v, bytes32 r, bytes32 s, uint timestamp)
        external;
    function triggerDestruction(
        uint ein, address[] calldata firstChunk, address[] calldata lastChunk, bool resetResolvers
    ) external;
}

interface HydroInterface {
    function balances(address) external view returns (uint);
    function allowed(address, address) external view returns (uint);
    function transfer(address _to, uint256 _amount) external returns (bool success);
    function transferFrom(address _from, address _to, uint256 _amount) external returns (bool success);
    function balanceOf(address _owner) external view returns (uint256 balance);
    function approve(address _spender, uint256 _amount) external returns (bool success);
    function approveAndCall(address _spender, uint256 _value, bytes calldata _extraData)
        external returns (bool success);
    function allowance(address _owner, address _spender) external view returns (uint256 remaining);
    function totalSupply() external view returns (uint);

    function authenticate(uint _value, uint _challenge, uint _partnerId) external;
}

interface SnowflakeInterface {
    function deposits(uint) external view returns (uint);
    function resolverAllowances(uint, address) external view returns (uint);

    function identityRegistryAddress() external returns (address);
    function hydroTokenAddress() external returns (address);
    function clientRaindropAddress() external returns (address);

    function setAddresses(address _identityRegistryAddress, address _hydroTokenAddress) external;
    function setClientRaindropAddress(address _clientRaindropAddress) external;

    function createIdentityDelegated(
        address recoveryAddress, address associatedAddress, address[] calldata providers, string calldata casedHydroId,
        uint8 v, bytes32 r, bytes32 s, uint timestamp
    ) external returns (uint ein);
    function addProvidersFor(
        address approvingAddress, address[] calldata providers, uint8 v, bytes32 r, bytes32 s, uint timestamp
    ) external;
    function removeProvidersFor(
        address approvingAddress, address[] calldata providers, uint8 v, bytes32 r, bytes32 s, uint timestamp
    ) external;
    function upgradeProvidersFor(
        address approvingAddress, address[] calldata newProviders, address[] calldata oldProviders,
        uint8[2] calldata v, bytes32[2] calldata r, bytes32[2] calldata s, uint[2] calldata timestamp
    ) external;
    function addResolver(address resolver, bool isSnowflake, uint withdrawAllowance, bytes calldata extraData) external;
    function addResolverFor(
        address approvingAddress, address resolver, bool isSnowflake, uint withdrawAllowance, bytes calldata extraData,
        uint8 v, bytes32 r, bytes32 s, uint timestamp
    ) external;
    function changeResolverAllowances(address[] calldata resolvers, uint[] calldata withdrawAllowances) external;
    function changeResolverAllowancesDelegated(
        address approvingAddress, address[] calldata resolvers, uint[] calldata withdrawAllowances,
        uint8 v, bytes32 r, bytes32 s
    ) external;
    function removeResolver(address resolver, bool isSnowflake, bytes calldata extraData) external;
    function removeResolverFor(
        address approvingAddress, address resolver, bool isSnowflake, bytes calldata extraData,
        uint8 v, bytes32 r, bytes32 s, uint timestamp
    ) external;

    function triggerRecoveryAddressChangeFor(
        address approvingAddress, address newRecoveryAddress, uint8 v, bytes32 r, bytes32 s
    ) external;

    function transferSnowflakeBalance(uint einTo, uint amount) external;
    function withdrawSnowflakeBalance(address to, uint amount) external;
    function transferSnowflakeBalanceFrom(uint einFrom, uint einTo, uint amount) external;
    function withdrawSnowflakeBalanceFrom(uint einFrom, address to, uint amount) external;
    function transferSnowflakeBalanceFromVia(uint einFrom, address via, uint einTo, uint amount, bytes calldata _bytes)
        external;
    function withdrawSnowflakeBalanceFromVia(uint einFrom, address via, address to, uint amount, bytes calldata _bytes)
        external;
}

contract Status is SnowflakeResolver {
    mapping (uint => string) private statuses;

    uint signUpFee = 1000000000000000000;
    string firstStatus = "My first status 😎";

    constructor (address snowflakeAddress)
        SnowflakeResolver("Status", "Set your status.", snowflakeAddress, true, false) public
    {}

    // implement signup function
    function onAddition(uint ein, uint, bytes memory) public senderIsSnowflake() returns (bool) {
        SnowflakeInterface snowflake = SnowflakeInterface(snowflakeAddress);
        snowflake.withdrawSnowflakeBalanceFrom(ein, owner(), signUpFee);

        statuses[ein] = firstStatus;

        emit StatusSignUp(ein);

        return true;
    }

    function onRemoval(uint, bytes memory) public senderIsSnowflake() returns (bool) {}

    function getStatus(uint ein) public view returns (string memory) {
        return statuses[ein];
    }

    function setStatus(string memory status) public {
        SnowflakeInterface snowflake = SnowflakeInterface(snowflakeAddress);
        IdentityRegistryInterface identityRegistry = IdentityRegistryInterface(snowflake.identityRegistryAddress());

        uint ein = identityRegistry.getEIN(msg.sender);
        require(identityRegistry.isResolverFor(ein, address(this)), "The EIN has not set this resolver.");

        statuses[ein] = status;

        emit StatusUpdated(ein, status);
    }

    function withdrawFees(address to) public onlyOwner() {
        SnowflakeInterface snowflake = SnowflakeInterface(snowflakeAddress);
        HydroInterface hydro = HydroInterface(snowflake.hydroTokenAddress());
        withdrawHydroBalanceTo(to, hydro.balanceOf(address(this)));
    }

    event StatusSignUp(uint ein);
    event StatusUpdated(uint ein, string status);
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"snowflakeAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"ein","type":"uint256"}],"name":"StatusSignUp","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"ein","type":"uint256"},{"indexed":false,"internalType":"string","name":"status","type":"string"}],"name":"StatusUpdated","type":"event"},{"constant":true,"inputs":[],"name":"callOnAddition","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"callOnRemoval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"ein","type":"uint256"}],"name":"getStatus","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"ein","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onAddition","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onRemoval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_snowflakeAddress","type":"address"}],"name":"setSnowflakeAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"string","name":"status","type":"string"}],"name":"setStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"snowflakeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"snowflakeDescription","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"snowflakeName","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"withdrawFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

670de0b6b3a764000060055560c0604052601460808190527f4d792066697273742073746174757320f09f988e00000000000000000000000060a09081526200004c9160069190620001e7565b503480156200005a57600080fd5b50604051620011d3380380620011d3833981810160405260208110156200008057600080fd5b5051604080518082018252600681526553746174757360d01b60208281019190915282518084018452601081526f29b2ba103cb7bab91039ba30ba3ab99760811b91810191909152600080546001600160a01b03191633178082559351929391928592600192916001600160a01b03919091169082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3845162000130906001906020880190620001e7565b50835162000146906002906020870190620001e7565b506200015b836001600160e01b036200019616565b60038054911515600160a81b0260ff60a81b19931515600160a01b0260ff60a01b199093169290921792909216179055506200028992505050565b620001a96001600160e01b03620001d516565b620001b357600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633145b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200022a57805160ff19168380011785556200025a565b828001600101855582156200025a579182015b828111156200025a5782518255916020019190600101906200023d565b50620002689291506200026c565b5090565b620001e491905b8082111562000268576000815560010162000273565b610f3a80620002996000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b116100975780639182621a116100665780639182621a14610374578063c979b05a14610421578063f2fde38b14610447578063f9f451b81461046d576100f5565b80638da5cb5b1461028e5780638f06492d146102b25780638f32d59b146102ba57806390bfaf40146102c2576100f5565b806371790251116100d357806371790251146101bc57806376acf1b6146101d85780637d2211d6146101e057806388cdab9414610286576100f5565b8063164e68de146100fa5780635c622a0e14610122578063715018a6146101b4575b600080fd5b6101206004803603602081101561011057600080fd5b50356001600160a01b0316610475565b005b61013f6004803603602081101561013857600080fd5b5035610583565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610179578181015183820152602001610161565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610120610624565b6101c461067f565b604080519115158252519081900360200190f35b61013f61068f565b610120600480360360208110156101f657600080fd5b81019060208101813564010000000081111561021157600080fd5b82018360208201111561022357600080fd5b8035906020019184600183028401116401000000008311171561024557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061071a945050505050565b61013f610988565b6102966109e2565b604080516001600160a01b039092168252519081900360200190f35b6101c46109f2565b6101c4610a02565b6101c4600480360360608110156102d857600080fd5b8135916020810135918101906060810160408201356401000000008111156102ff57600080fd5b82018360208201111561031157600080fd5b8035906020019184600183028401116401000000008311171561033357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a13945050505050565b6101c46004803603604081101561038a57600080fd5b813591908101906040810160208201356401000000008111156103ac57600080fd5b8201836020820111156103be57600080fd5b803590602001918460018302840111640100000000831117156103e057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b58945050505050565b6101206004803603602081101561043757600080fd5b50356001600160a01b0316610baa565b6101206004803603602081101561045d57600080fd5b50356001600160a01b0316610bdd565b610296610bfa565b61047d610a02565b61048657600080fd5b600354604080516375d7e4bd60e01b815290516001600160a01b039092169160009183916375d7e4bd9160048082019260209290919082900301818787803b1580156104d157600080fd5b505af11580156104e5573d6000803e3d6000fd5b505050506040513d60208110156104fb57600080fd5b5051604080516370a0823160e01b8152306004820152905191925061057e9185916001600160a01b038516916370a0823191602480820192602092909190829003018186803b15801561054d57600080fd5b505afa158015610561573d6000803e3d6000fd5b505050506040513d602081101561057757600080fd5b5051610c09565b505050565b60008181526004602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156106185780601f106105ed57610100808354040283529160200191610618565b820191906000526020600020905b8154815290600101906020018083116105fb57829003601f168201915b50505050509050919050565b61062c610a02565b61063557600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600354600160a01b900460ff1681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107125780601f106106e757610100808354040283529160200191610712565b820191906000526020600020905b8154815290600101906020018083116106f557829003601f168201915b505050505081565b6003546040805163a759ee6f60e01b815290516001600160a01b0390921691600091839163a759ee6f9160048082019260209290919082900301818787803b15801561076557600080fd5b505af1158015610779573d6000803e3d6000fd5b505050506040513d602081101561078f57600080fd5b5051604080516305c62c2f60e01b815233600482015290519192506000916001600160a01b038416916305c62c2f916024808301926020929190829003018186803b1580156107dd57600080fd5b505afa1580156107f1573d6000803e3d6000fd5b505050506040513d602081101561080757600080fd5b50516040805163352c737360e21b81526004810183905230602482015290519192506001600160a01b0384169163d4b1cdcc91604480820192602092909190829003018186803b15801561085a57600080fd5b505afa15801561086e573d6000803e3d6000fd5b505050506040513d602081101561088457600080fd5b50516108c15760405162461bcd60e51b8152600401808060200182810382526022815260200180610ec36022913960400191505060405180910390fd5b600081815260046020908152604090912085516108e092870190610db5565b507fdc280875b120650ffe3edf5f724f07fd086361a32c2a387fe34b495f5679e77d81856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561094757818101518382015260200161092f565b50505050905090810190601f1680156109745780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107125780601f106106e757610100808354040283529160200191610712565b6000546001600160a01b03165b90565b600354600160a81b900460ff1681565b6000546001600160a01b0316331490565b6003546000906001600160a01b03163314610a5f5760405162461bcd60e51b8152600401808060200182810382526021815260200180610ee56021913960400191505060405180910390fd5b6003546001600160a01b03168063edda781586610a7a6109e2565b6005546040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015610ad357600080fd5b505af1158015610ae7573d6000803e3d6000fd5b505050600086815260046020526040902060068054610b19935060026000196101006001841615020190911604610e33565b506040805186815290517fc252650b912104c77e420095a00de9a62cf950c897f73a39629aee5df63f97759181900360200190a1506001949350505050565b6003546000906001600160a01b03163314610ba45760405162461bcd60e51b8152600401808060200182810382526021815260200180610ee56021913960400191505060405180910390fd5b92915050565b610bb2610a02565b610bbb57600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b610be5610a02565b610bee57600080fd5b610bf781610d47565b50565b6003546001600160a01b031681565b600354604080516375d7e4bd60e01b815290516000926001600160a01b0316916375d7e4bd91600480830192602092919082900301818787803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b505050506040513d6020811015610c7957600080fd5b50516040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820186905291519293509083169163a9059cbb916044808201926020929091908290030181600087803b158015610cd157600080fd5b505af1158015610ce5573d6000803e3d6000fd5b505050506040513d6020811015610cfb57600080fd5b505161057e576040805162461bcd60e51b81526020600482015260166024820152752ab739bab1b1b2b9b9b33ab6103a3930b739b332b91760511b604482015290519081900360640190fd5b6001600160a01b038116610d5a57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610df657805160ff1916838001178555610e23565b82800160010185558215610e23579182015b82811115610e23578251825591602001919060010190610e08565b50610e2f929150610ea8565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e6c5780548555610e23565b82800160010185558215610e2357600052602060002091601f016020900482015b82811115610e23578254825591600101919060010190610e8d565b6109ef91905b80821115610e2f5760008155600101610eae56fe5468652045494e20686173206e6f74207365742074686973207265736f6c7665722e446964206e6f74206f726967696e6174652066726f6d20536e6f77666c616b652ea265627a7a723158202a263a2d22b63187a8f9e6509993e25518459cc735067bab80eac5a44b6a4a6f64736f6c634300050f003200000000000000000000000032c927d1d1df373c3fae1dc32338570e85f1d4e5

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b116100975780639182621a116100665780639182621a14610374578063c979b05a14610421578063f2fde38b14610447578063f9f451b81461046d576100f5565b80638da5cb5b1461028e5780638f06492d146102b25780638f32d59b146102ba57806390bfaf40146102c2576100f5565b806371790251116100d357806371790251146101bc57806376acf1b6146101d85780637d2211d6146101e057806388cdab9414610286576100f5565b8063164e68de146100fa5780635c622a0e14610122578063715018a6146101b4575b600080fd5b6101206004803603602081101561011057600080fd5b50356001600160a01b0316610475565b005b61013f6004803603602081101561013857600080fd5b5035610583565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610179578181015183820152602001610161565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610120610624565b6101c461067f565b604080519115158252519081900360200190f35b61013f61068f565b610120600480360360208110156101f657600080fd5b81019060208101813564010000000081111561021157600080fd5b82018360208201111561022357600080fd5b8035906020019184600183028401116401000000008311171561024557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061071a945050505050565b61013f610988565b6102966109e2565b604080516001600160a01b039092168252519081900360200190f35b6101c46109f2565b6101c4610a02565b6101c4600480360360608110156102d857600080fd5b8135916020810135918101906060810160408201356401000000008111156102ff57600080fd5b82018360208201111561031157600080fd5b8035906020019184600183028401116401000000008311171561033357600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610a13945050505050565b6101c46004803603604081101561038a57600080fd5b813591908101906040810160208201356401000000008111156103ac57600080fd5b8201836020820111156103be57600080fd5b803590602001918460018302840111640100000000831117156103e057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610b58945050505050565b6101206004803603602081101561043757600080fd5b50356001600160a01b0316610baa565b6101206004803603602081101561045d57600080fd5b50356001600160a01b0316610bdd565b610296610bfa565b61047d610a02565b61048657600080fd5b600354604080516375d7e4bd60e01b815290516001600160a01b039092169160009183916375d7e4bd9160048082019260209290919082900301818787803b1580156104d157600080fd5b505af11580156104e5573d6000803e3d6000fd5b505050506040513d60208110156104fb57600080fd5b5051604080516370a0823160e01b8152306004820152905191925061057e9185916001600160a01b038516916370a0823191602480820192602092909190829003018186803b15801561054d57600080fd5b505afa158015610561573d6000803e3d6000fd5b505050506040513d602081101561057757600080fd5b5051610c09565b505050565b60008181526004602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156106185780601f106105ed57610100808354040283529160200191610618565b820191906000526020600020905b8154815290600101906020018083116105fb57829003601f168201915b50505050509050919050565b61062c610a02565b61063557600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600354600160a01b900460ff1681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156107125780601f106106e757610100808354040283529160200191610712565b820191906000526020600020905b8154815290600101906020018083116106f557829003601f168201915b505050505081565b6003546040805163a759ee6f60e01b815290516001600160a01b0390921691600091839163a759ee6f9160048082019260209290919082900301818787803b15801561076557600080fd5b505af1158015610779573d6000803e3d6000fd5b505050506040513d602081101561078f57600080fd5b5051604080516305c62c2f60e01b815233600482015290519192506000916001600160a01b038416916305c62c2f916024808301926020929190829003018186803b1580156107dd57600080fd5b505afa1580156107f1573d6000803e3d6000fd5b505050506040513d602081101561080757600080fd5b50516040805163352c737360e21b81526004810183905230602482015290519192506001600160a01b0384169163d4b1cdcc91604480820192602092909190829003018186803b15801561085a57600080fd5b505afa15801561086e573d6000803e3d6000fd5b505050506040513d602081101561088457600080fd5b50516108c15760405162461bcd60e51b8152600401808060200182810382526022815260200180610ec36022913960400191505060405180910390fd5b600081815260046020908152604090912085516108e092870190610db5565b507fdc280875b120650ffe3edf5f724f07fd086361a32c2a387fe34b495f5679e77d81856040518083815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561094757818101518382015260200161092f565b50505050905090810190601f1680156109745780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107125780601f106106e757610100808354040283529160200191610712565b6000546001600160a01b03165b90565b600354600160a81b900460ff1681565b6000546001600160a01b0316331490565b6003546000906001600160a01b03163314610a5f5760405162461bcd60e51b8152600401808060200182810382526021815260200180610ee56021913960400191505060405180910390fd5b6003546001600160a01b03168063edda781586610a7a6109e2565b6005546040518463ffffffff1660e01b815260040180848152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015610ad357600080fd5b505af1158015610ae7573d6000803e3d6000fd5b505050600086815260046020526040902060068054610b19935060026000196101006001841615020190911604610e33565b506040805186815290517fc252650b912104c77e420095a00de9a62cf950c897f73a39629aee5df63f97759181900360200190a1506001949350505050565b6003546000906001600160a01b03163314610ba45760405162461bcd60e51b8152600401808060200182810382526021815260200180610ee56021913960400191505060405180910390fd5b92915050565b610bb2610a02565b610bbb57600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b610be5610a02565b610bee57600080fd5b610bf781610d47565b50565b6003546001600160a01b031681565b600354604080516375d7e4bd60e01b815290516000926001600160a01b0316916375d7e4bd91600480830192602092919082900301818787803b158015610c4f57600080fd5b505af1158015610c63573d6000803e3d6000fd5b505050506040513d6020811015610c7957600080fd5b50516040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820186905291519293509083169163a9059cbb916044808201926020929091908290030181600087803b158015610cd157600080fd5b505af1158015610ce5573d6000803e3d6000fd5b505050506040513d6020811015610cfb57600080fd5b505161057e576040805162461bcd60e51b81526020600482015260166024820152752ab739bab1b1b2b9b9b33ab6103a3930b739b332b91760511b604482015290519081900360640190fd5b6001600160a01b038116610d5a57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610df657805160ff1916838001178555610e23565b82800160010185558215610e23579182015b82811115610e23578251825591602001919060010190610e08565b50610e2f929150610ea8565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e6c5780548555610e23565b82800160010185558215610e2357600052602060002091601f016020900482015b82811115610e23578254825591600101919060010190610e8d565b6109ef91905b80821115610e2f5760008155600101610eae56fe5468652045494e20686173206e6f74207365742074686973207265736f6c7665722e446964206e6f74206f726967696e6174652066726f6d20536e6f77666c616b652ea265627a7a723158202a263a2d22b63187a8f9e6509993e25518459cc735067bab80eac5a44b6a4a6f64736f6c634300050f0032

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

00000000000000000000000032c927d1d1df373c3fae1dc32338570e85f1d4e5

-----Decoded View---------------
Arg [0] : snowflakeAddress (address): 0x32c927D1d1dF373c3FAe1dc32338570e85F1d4e5

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000032c927d1d1df373c3fae1dc32338570e85f1d4e5


Deployed Bytecode Sourcemap

13172:1818:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13172:1818:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14612:287;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14612:287:0;-1:-1:-1;;;;;14612:287:0;;:::i;:::-;;13994:104;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13994:104:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;13994:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1398:140;;;:::i;2677:26::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;2594:34;;;:::i;14106:498::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14106:498:0;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;14106:498:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14106:498:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;14106:498:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;14106:498:0;;-1:-1:-1;14106:498:0;;-1:-1:-1;;;;;14106:498:0:i;2560:27::-;;;:::i;696:78::-;;;:::i;:::-;;;;-1:-1:-1;;;;;696:78:0;;;;;;;;;;;;;;2710:25;;;:::i;1026:91::-;;;:::i;13544:351::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13544:351:0;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;13544:351:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;13544:351:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;13544:351:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;13544:351:0;;-1:-1:-1;13544:351:0;;-1:-1:-1;;;;;13544:351:0:i;13903:83::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13903:83:0;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;13903:83:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;13903:83:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;13903:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;13903:83:0;;-1:-1:-1;13903:83:0;;-1:-1:-1;;;;;13903:83:0:i;3455:128::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3455:128:0;-1:-1:-1;;;;;3455:128:0;;:::i;1712:109::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1712:109:0;-1:-1:-1;;;;;1712:109:0;;:::i;2637:31::-;;;:::i;14612:287::-;905:9;:7;:9::i;:::-;897:18;;;;;;14726:16;;14792:29;;;-1:-1:-1;;;14792:29:0;;;;-1:-1:-1;;;;;14726:16:0;;;;14676:28;;14726:16;;14792:27;;:29;;;;;;;;;;;;;;;14676:28;14726:16;14792:29;;;5:2:-1;;;;30:1;27;20:12;5:2;14792:29:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14792:29:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14792:29:0;14860:30;;;-1:-1:-1;;;14860:30:0;;14884:4;14860:30;;;;;;14792:29;;-1:-1:-1;14833:58:0;;14856:2;;-1:-1:-1;;;;;14860:15:0;;;;;:30;;;;;14792:29;;14860:30;;;;;;;;:15;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;14860:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14860:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14860:30:0;14833:22;:58::i;:::-;926:1;;14612:287;:::o;13994:104::-;14077:13;;;;:8;:13;;;;;;;;;14070:20;;;;;;-1:-1:-1;;14070:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14044:13;;14070:20;;;14077:13;14070:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13994:104;;;:::o;1398:140::-;905:9;:7;:9::i;:::-;897:18;;;;;;1497:1;1481:6;;1460:40;;-1:-1:-1;;;;;1481:6:0;;;;1460:40;;1497:1;;1460:40;1528:1;1511:19;;-1:-1:-1;;;;;;1511:19:0;;;1398:140::o;2677:26::-;;;-1:-1:-1;;;2677:26:0;;;;;:::o;2594:34::-;;;;;;;;;;;;;;-1:-1:-1;;2594:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14106:498::-;14215:16;;14314:35;;;-1:-1:-1;;;14314:35:0;;;;-1:-1:-1;;;;;14215:16:0;;;;14165:28;;14215:16;;14314:33;;:35;;;;;;;;;;;;;;;14165:28;14215:16;14314:35;;;5:2:-1;;;;30:1;27;20:12;5:2;14314:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14314:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14314:35:0;14374;;;-1:-1:-1;;;14374:35:0;;14398:10;14374:35;;;;;;14314;;-1:-1:-1;14363:8:0;;-1:-1:-1;;;;;14374:23:0;;;;;:35;;;;;14314;;14374;;;;;;;:23;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;14374:35:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14374:35:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14374:35:0;14428:50;;;-1:-1:-1;;;14428:50:0;;;;;;;;14472:4;14428:50;;;;;;14374:35;;-1:-1:-1;;;;;;14428:30:0;;;;;:50;;;;;14374:35;;14428:50;;;;;;;;:30;:50;;;5:2:-1;;;;30:1;27;20:12;5:2;14428:50:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14428:50:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14428:50:0;14420:97;;;;-1:-1:-1;;;14420:97:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14530:13;;;;:8;:13;;;;;;;;:22;;;;;;;;:::i;:::-;;14570:26;14584:3;14589:6;14570:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;14570:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14106:498;;;;:::o;2560:27::-;;;;;;;;;;;;;;;-1:-1:-1;;2560:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;696:78;733:7;760:6;-1:-1:-1;;;;;760:6:0;696:78;;:::o;2710:25::-;;;-1:-1:-1;;;2710:25:0;;;;;:::o;1026:91::-;1065:4;1103:6;-1:-1:-1;;;;;1103:6:0;1089:10;:20;;1026:91::o;13544:351::-;3259:16;;13630:4;;-1:-1:-1;;;;;3259:16:0;3245:10;:30;3237:76;;;;-1:-1:-1;;;3237:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13697:16;;-1:-1:-1;;;;;13697:16:0;;13725:38;13764:3;13769:7;:5;:7::i;:::-;13778:9;;13725:63;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13725:63:0;-1:-1:-1;;;;;13725:63:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13725:63:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;13801:13:0;;;;:8;:13;;;;;13817:11;13801:27;;;;-1:-1:-1;13801:27:0;-1:-1:-1;;13801:27:0;;;;;;;;;;;;:::i;:::-;-1:-1:-1;13846:17:0;;;;;;;;;;;;;;;;;-1:-1:-1;13883:4:0;;13544:351;-1:-1:-1;;;;13544:351:0:o;13903:83::-;3259:16;;13978:4;;-1:-1:-1;;;;;3259:16:0;3245:10;:30;3237:76;;;;-1:-1:-1;;;3237:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13903:83;;;;:::o;3455:128::-;905:9;:7;:9::i;:::-;897:18;;;;;;3539:16;:36;;-1:-1:-1;;;;;;3539:36:0;-1:-1:-1;;;;;3539:36:0;;;;;;;;;;3455:128::o;1712:109::-;905:9;:7;:9::i;:::-;897:18;;;;;;1785:28;1804:8;1785:18;:28::i;:::-;1712:109;:::o;2637:31::-;;;-1:-1:-1;;;;;2637:31:0;;:::o;4681:252::-;4815:16;;4796:56;;;-1:-1:-1;;;4796:56:0;;;;4758:20;;-1:-1:-1;;;;;4815:16:0;;4796:54;;:56;;;;;;;;;;;;;;4758:20;4815:16;4796:56;;;5:2:-1;;;;30:1;27;20:12;5:2;4796:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4796:56:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4796:56:0;4872:26;;;-1:-1:-1;;;4872:26:0;;-1:-1:-1;;;;;4872:26:0;;;;;;;;;;;;;;;4796:56;;-1:-1:-1;4872:14:0;;;;;;:26;;;;;4796:56;;4872:26;;;;;;;;-1:-1:-1;4872:14:0;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;4872:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4872:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4872:26:0;4864:61;;;;;-1:-1:-1;;;4864:61:0;;;;;;;;;;;;-1:-1:-1;;;4864:61:0;;;;;;;;;;;;;;1968:187;-1:-1:-1;;;;;2042:22:0;;2034:31;;;;;;2102:6;;;2081:38;;-1:-1:-1;;;;;2081:38:0;;;;2102:6;;;2081:38;;;2130:6;:17;;-1:-1:-1;;;;;;2130:17:0;-1:-1:-1;;;;;2130:17:0;;;;;;;;;;1968:187::o;13172:1818::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13172:1818:0;;;-1:-1:-1;13172:1818:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

bzzr://2a263a2d22b63187a8f9e6509993e25518459cc735067bab80eac5a44b6a4a6f

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.