Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
11347841 | 1349 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Name:
Voting
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-11-28 */ // File: contracts/zeppelin/ownership/Ownable.sol 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; } } // File: contracts/interfaces/HydroInterface.sol pragma solidity ^0.5.0; 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; } // File: contracts/interfaces/SnowflakeInterface.sol pragma solidity ^0.5.0; 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 addResolverAsProvider( uint ein, 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; } // File: contracts/interfaces/SnowflakeResolverInterface.sol pragma solidity ^0.5.0; 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); } // File: contracts/SnowflakeResolver.sol pragma solidity ^0.5.0; 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." ); } } // File: contracts/interfaces/IdentityRegistryInterface.sol pragma solidity ^0.5.0; 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; } // File: contracts/resolvers/Voting.sol pragma solidity ^0.5.0; contract Voting is SnowflakeResolver { mapping(uint=>Candidate) public candidates; mapping(uint=>bool) public aParticipant; mapping(uint=>bool) public aCandidate; mapping(uint=>bool) private hasVoted; struct Candidate{ uint voteCount; } //uint256 candidateFee= 20000000000000000000;//200tokens uint256 regFee= 100000000000000000000;//100tokens //this is the routed address where all fees will go to be later burned address public FEEWALLET; uint256 burnAmount=1000000000000000000000;//1000tokens uint maxNoOfCandidates=2; address _snowflakeAddress; uint deadlineInDays; uint[] candidateEINs; uint[] voterEINs; //requires that the ein is a registered candidate modifier isCandidate(uint ein){ require(aCandidate[ein]==true,'This EIN has not registered as a candidate'); _; } //requires that the ein has set this contract a resolver modifier isParticipant(uint _ein){ require(aParticipant[_ein]==true, 'this EIN has not registered as a participant'); _; } //requires that the entered ein is not a candidate yet modifier isNotCandidate(uint _ein){ require(aParticipant[_ein]==true && aCandidate[_ein]==false,"you are a candidate"); _; } //requires that the target does not have a hydroId yet modifier noIdYet(address target){ require(checkforReg(target)==false); _; } modifier HasEIN(address target){ require(checkforReg(target)==true); _; } //requires that the deadline hasn't passed modifier voteStillValid(){ require (now<=deadlineInDays,"this election has expired"); _; } event voted(uint _candidate); event becameCandidate(uint _candidateEIN); event registeredAsVoter(uint voterEin); event newDeadlineSet(uint _newDeadline); constructor (address snowflakeAddress,string memory _name,string memory _description,uint _days,address feeOwner) SnowflakeResolver(_name, _description, snowflakeAddress, true, false) public { snowflakeAddress=_snowflakeAddress; deadlineInDays=now+_days*1 days; FEEWALLET=feeOwner; } //sets the maximum no of candidates for this resolver //can only be set by contract owner function setMaxCandidacy(uint _max) public voteStillValid() onlyOwner(){ maxNoOfCandidates=_max; } //check if address interacting with contract already has an ein function checkforReg(address _target) public returns(bool){ SnowflakeInterface snowfl = SnowflakeInterface(snowflakeAddress); IdentityRegistryInterface idRegistry= IdentityRegistryInterface(snowfl.identityRegistryAddress()); _target=msg.sender; bool hasId=idRegistry.hasIdentity(msg.sender); return hasId; } //basic check to return ein of the specific address function checkEIN(address _address) public returns(uint){ SnowflakeInterface snowfl = SnowflakeInterface(snowflakeAddress); IdentityRegistryInterface idRegistry= IdentityRegistryInterface(snowfl.identityRegistryAddress()); uint Ein=idRegistry.getEIN(_address); return Ein; } /** //implement create Identity function //might not be needed for now function createId(address recoveryAddress) public returns(uint ein){ SnowflakeInterface snowfl = SnowflakeInterface(snowflakeAddress); IdentityRegistryInterface idRegistry= IdentityRegistryInterface(snowfl.identityRegistryAddress()); address[] memory _providers = new address [](2); address[] memory _resolvers= new address [](1); _providers[0]= address(this); _providers[1]= _snowflakeAddress; _resolvers[0]= address(this); return idRegistry.createIdentity(recoveryAddress,_providers,_resolvers); } **/ //called to register any new actor in the system //makes the ein to be a participant in the system //a fee of 100 tokens is required function onAddition(uint ein,uint /**allocation**/,bytes memory) public senderIsSnowflake() returns (bool){ SnowflakeInterface snowfl = SnowflakeInterface(snowflakeAddress); snowfl.withdrawSnowflakeBalanceFrom(ein, FEEWALLET, regFee ); aParticipant[ein]=true; emit registeredAsVoter(ein); return true; } function onRemoval(uint, bytes memory) public senderIsSnowflake() returns (bool) {} //anyone who wants to become a candidate //1000 hydro tokens are deducted from the ein of msg.sender and sent to FEEWALLET function becomeCandidate(uint ein) public isParticipant(ein) voteStillValid() isNotCandidate(ein){ SnowflakeInterface snowfl=SnowflakeInterface(snowflakeAddress); uint candidateCount= candidateEINs.length; require(candidateCount<=maxNoOfCandidates,"candidate limit reached!"); snowfl.withdrawSnowflakeBalanceFrom(ein,FEEWALLET, burnAmount); aCandidate[ein]=true; candidateEINs.push(ein); emit becameCandidate(ein); } //main vote function function vote(uint _ein) public HasEIN(msg.sender) isCandidate(_ein) voteStillValid() returns(bool){ SnowflakeInterface snowfl=SnowflakeInterface(snowflakeAddress); IdentityRegistryInterface idRegistry= IdentityRegistryInterface(snowfl.identityRegistryAddress()); uint ein=checkEIN(msg.sender); require(aParticipant[ein]==true,'you are not a voter,register first'); require (aCandidate[ein]==false,"you are a candidate"); require(idRegistry.isResolverFor(ein,address(this)),"This EIN has not set this resolver."); require (hasVoted[ein]==false,"you have already voted"); candidates[_ein].voteCount++; hasVoted[ein]=true; emit voted(_ein); return (true); } //return the current max number of candidates function getMaxCandidates() public view returns(uint[] memory,uint){ return(candidateEINs,maxNoOfCandidates); } function withdrawFees(address to) public onlyOwner { SnowflakeInterface snowfl = SnowflakeInterface(snowflakeAddress); HydroInterface hydro = HydroInterface(snowfl.hydroTokenAddress()); withdrawHydroBalanceTo(to, hydro.balanceOf(address(this))); } function setNewDeadline(uint _newDays) public onlyOwner voteStillValid returns(uint){ deadlineInDays=now+_newDays*1 days; emit newDeadlineSet(deadlineInDays); return deadlineInDays; } function getDeadline() public view returns(uint){ return deadlineInDays; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"snowflakeAddress","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_description","type":"string"},{"internalType":"uint256","name":"_days","type":"uint256"},{"internalType":"address","name":"feeOwner","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":"_candidateEIN","type":"uint256"}],"name":"becameCandidate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_newDeadline","type":"uint256"}],"name":"newDeadlineSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"voterEin","type":"uint256"}],"name":"registeredAsVoter","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_candidate","type":"uint256"}],"name":"voted","type":"event"},{"constant":true,"inputs":[],"name":"FEEWALLET","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"aCandidate","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"aParticipant","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"ein","type":"uint256"}],"name":"becomeCandidate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"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":"","type":"uint256"}],"name":"candidates","outputs":[{"internalType":"uint256","name":"voteCount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"checkEIN","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_target","type":"address"}],"name":"checkforReg","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMaxCandidates","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256","name":"","type":"uint256"}],"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":"uint256","name":"_max","type":"uint256"}],"name":"setMaxCandidacy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_newDays","type":"uint256"}],"name":"setNewDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":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":"uint256","name":"_ein","type":"uint256"}],"name":"vote","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"withdrawFees","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405268056bc75e2d63100000600855683635c9adc5dea00000600a556002600b553480156200003057600080fd5b5060405162001a2738038062001a27833981810160405260a08110156200005657600080fd5b8151602083018051604051929492938301929190846401000000008211156200007e57600080fd5b9083019060208201858111156200009457600080fd5b8251640100000000811182820188101715620000af57600080fd5b82525081516020918201929091019080838360005b83811015620000de578181015183820152602001620000c4565b50505050905090810190601f1680156200010c5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200013057600080fd5b9083019060208201858111156200014657600080fd5b82516401000000008111828201881017156200016157600080fd5b82525081516020918201929091019080838360005b838110156200019057818101518382015260200162000176565b50505050905090810190601f168015620001be5780820380516001836020036101000a031916815260200191505b5060408181526020830151920151600080546001600160a01b031916331780825593955090935086928692899260019290916001600160a01b03919091169082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a38451620002399060019060208801906200031f565b5083516200024f9060029060208701906200031f565b5062000264836001600160e01b03620002ce16565b6003805460ff60a01b1916600160a01b931515939093029290921760ff60a81b1916600160a81b9115159190910217905550505062015180919091024201600d55600980546001600160a01b0319166001600160a01b0390921691909117905550620003c1915050565b620002e16001600160e01b036200030d16565b620002eb57600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633145b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200036257805160ff191683800117855562000392565b8280016001018555821562000392579182015b828111156200039257825182559160200191906001019062000375565b50620003a0929150620003a4565b5090565b6200031c91905b80821115620003a05760008155600101620003ab565b61165680620003d16000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806376acf1b6116100de5780639182621a11610097578063f2de669911610071578063f2de66991461051e578063f2fde38b14610581578063f9f451b8146105a7578063ff89edd9146105af57610173565b80639182621a1461042e578063c3241931146104db578063c979b05a146104f857610173565b806376acf1b6146102df57806388cdab941461035c5780638da5cb5b146103645780638f06492d1461036c5780638f32d59b1461037457806390bfaf401461037c57610173565b80635f8d96de116101305780635f8d96de1461026057806363399041146102685780636cb74fa61461028e5780636ef52ceb146102ab578063715018a6146102cf57806371790251146102d757610173565b80630121b93f14610178578063164e68de146101a95780632b7799a2146101d157806330c1286e146101ee5780633477ee2e1461021d5780635bd057351461023a575b600080fd5b6101956004803603602081101561018e57600080fd5b50356105cc565b604080519115158252519081900360200190f35b6101cf600480360360208110156101bf57600080fd5b50356001600160a01b0316610941565b005b6101cf600480360360208110156101e757600080fd5b5035610a4f565b61020b6004803603602081101561020457600080fd5b5035610cda565b60408051918252519081900360200190f35b61020b6004803603602081101561023357600080fd5b5035610d87565b61020b6004803603602081101561025057600080fd5b50356001600160a01b0316610d99565b61020b610e94565b6101956004803603602081101561027e57600080fd5b50356001600160a01b0316610e9a565b6101cf600480360360208110156102a457600080fd5b5035610f62565b6102b3610fcb565b604080516001600160a01b039092168252519081900360200190f35b6101cf610fda565b610195611035565b6102e7611045565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610321578181015183820152602001610309565b50505050905090810190601f16801561034e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e76110d0565b6102b361112a565b610195611139565b610195611149565b6101956004803603606081101561039257600080fd5b8135916020810135918101906060810160408201356401000000008111156103b957600080fd5b8201836020820111156103cb57600080fd5b803590602001918460018302840111640100000000831117156103ed57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061115a945050505050565b6101956004803603604081101561044457600080fd5b8135919081019060408101602082013564010000000081111561046657600080fd5b82018360208201111561047857600080fd5b8035906020019184600183028401116401000000008311171561049a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061127b945050505050565b610195600480360360208110156104f157600080fd5b50356112cd565b6101cf6004803603602081101561050e57600080fd5b50356001600160a01b03166112e2565b610526611315565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561056c578181015183820152602001610554565b50505050905001935050505060405180910390f35b6101cf6004803603602081101561059757600080fd5b50356001600160a01b0316611378565b6102b3611395565b610195600480360360208110156105c557600080fd5b50356113a4565b6000336105d881610e9a565b15156001146105e657600080fd5b600083815260066020526040902054839060ff16151560011461063a5760405162461bcd60e51b815260040180806020018281038252602a815260200180611592602a913960400191505060405180910390fd5b600d5442111561068d576040805162461bcd60e51b81526020600482015260196024820152781d1a1a5cc8195b1958dd1a5bdb881a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b6003546040805163a759ee6f60e01b815290516001600160a01b0390921691600091839163a759ee6f9160048082019260209290919082900301818787803b1580156106d857600080fd5b505af11580156106ec573d6000803e3d6000fd5b505050506040513d602081101561070257600080fd5b50519050600061071133610d99565b60008181526005602052604090205490915060ff1615156001146107665760405162461bcd60e51b81526004018080602001828103825260228152602001806116006022913960400191505060405180910390fd5b60008181526006602052604090205460ff16156107c0576040805162461bcd60e51b8152602060048201526013602482015272796f752061726520612063616e64696461746560681b604482015290519081900360640190fd5b6040805163352c737360e21b81526004810183905230602482015290516001600160a01b0384169163d4b1cdcc916044808301926020929190829003018186803b15801561080d57600080fd5b505afa158015610821573d6000803e3d6000fd5b505050506040513d602081101561083757600080fd5b50516108745760405162461bcd60e51b81526004018080602001828103825260238152602001806115bc6023913960400191505060405180910390fd5b60008181526007602052604090205460ff16156108d1576040805162461bcd60e51b81526020600482015260166024820152751e5bdd481a185d9948185b1c9958591e481d9bdd195960521b604482015290519081900360640190fd5b6000878152600460209081526040808320805460019081019091558484526007835292819020805460ff1916909317909255815189815291517f8fbb38ff86a5b319c33b22609be0afce04335d5db18c6bd100767e251d4028cc9281900390910190a15060019695505050505050565b610949611149565b61095257600080fd5b600354604080516375d7e4bd60e01b815290516001600160a01b039092169160009183916375d7e4bd9160048082019260209290919082900301818787803b15801561099d57600080fd5b505af11580156109b1573d6000803e3d6000fd5b505050506040513d60208110156109c757600080fd5b5051604080516370a0823160e01b81523060048201529051919250610a4a9185916001600160a01b038516916370a0823191602480820192602092909190829003018186803b158015610a1957600080fd5b505afa158015610a2d573d6000803e3d6000fd5b505050506040513d6020811015610a4357600080fd5b50516113b9565b505050565b600081815260056020526040902054819060ff161515600114610aa35760405162461bcd60e51b815260040180806020018281038252602c815260200180611566602c913960400191505060405180910390fd5b600d54421115610af6576040805162461bcd60e51b81526020600482015260196024820152781d1a1a5cc8195b1958dd1a5bdb881a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b600082815260056020526040902054829060ff1615156001148015610b2a575060008181526006602052604090205460ff16155b610b71576040805162461bcd60e51b8152602060048201526013602482015272796f752061726520612063616e64696461746560681b604482015290519081900360640190fd5b600354600e54600b546001600160a01b0390921691811115610bda576040805162461bcd60e51b815260206004820152601860248201527f63616e646964617465206c696d69742072656163686564210000000000000000604482015290519081900360640190fd5b600954600a546040805163edda781560e01b8152600481018990526001600160a01b0393841660248201526044810192909252519184169163edda78159160648082019260009290919082900301818387803b158015610c3957600080fd5b505af1158015610c4d573d6000803e3d6000fd5b5050506000868152600660209081526040808320805460ff19166001908117909155600e805491820181559093527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd909201889055815188815291517fc3bc01c61c169f82d0d375d875473fc98c64a3bb2d798f6a26ade58226b1c5169350918290030190a15050505050565b6000610ce4611149565b610ced57600080fd5b600d54421115610d40576040805162461bcd60e51b81526020600482015260196024820152781d1a1a5cc8195b1958dd1a5bdb881a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b4262015180830201600d81905560408051918252517fcee1d3b8199912e1b22938382a24a6c1d38b707934106fa995e6797c13ffd9c19181900360200190a15050600d5490565b60046020526000908152604090205481565b6003546040805163a759ee6f60e01b815290516000926001600160a01b0316918391839163a759ee6f91600480830192602092919082900301818787803b158015610de357600080fd5b505af1158015610df7573d6000803e3d6000fd5b505050506040513d6020811015610e0d57600080fd5b5051604080516305c62c2f60e01b81526001600160a01b0387811660048301529151929350600092918416916305c62c2f91602480820192602092909190829003018186803b158015610e5f57600080fd5b505afa158015610e73573d6000803e3d6000fd5b505050506040513d6020811015610e8957600080fd5b505195945050505050565b600d5490565b6003546040805163a759ee6f60e01b815290516000926001600160a01b0316918391839163a759ee6f91600480830192602092919082900301818787803b158015610ee457600080fd5b505af1158015610ef8573d6000803e3d6000fd5b505050506040513d6020811015610f0e57600080fd5b50516040805163237f1a2160e01b8152336004820181905291519196509192506000916001600160a01b0384169163237f1a2191602480820192602092909190829003018186803b158015610e5f57600080fd5b600d54421115610fb5576040805162461bcd60e51b81526020600482015260196024820152781d1a1a5cc8195b1958dd1a5bdb881a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b610fbd611149565b610fc657600080fd5b600b55565b6009546001600160a01b031681565b610fe2611149565b610feb57600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600354600160a01b900460ff1681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156110c85780601f1061109d576101008083540402835291602001916110c8565b820191906000526020600020905b8154815290600101906020018083116110ab57829003601f168201915b505050505081565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156110c85780601f1061109d576101008083540402835291602001916110c8565b6000546001600160a01b031690565b600354600160a81b900460ff1681565b6000546001600160a01b0316331490565b6003546000906001600160a01b031633146111a65760405162461bcd60e51b81526004018080602001828103825260218152602001806115df6021913960400191505060405180910390fd5b6003546009546008546040805163edda781560e01b8152600481018990526001600160a01b0393841660248201526044810192909252519190921691829163edda78159160648082019260009290919082900301818387803b15801561120b57600080fd5b505af115801561121f573d6000803e3d6000fd5b505050600086815260056020908152604091829020805460ff19166001179055815188815291517f951576958569db926d87f0c263b82ab8c4fe48aa20496c0ac2629620514465129350918290030190a1506001949350505050565b6003546000906001600160a01b031633146112c75760405162461bcd60e51b81526004018080602001828103825260218152602001806115df6021913960400191505060405180910390fd5b92915050565b60066020526000908152604090205460ff1681565b6112ea611149565b6112f357600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60606000600e600b548180548060200260200160405190810160405280929190818152602001828054801561136957602002820191906000526020600020905b815481526020019060010190808311611355575b50505050509150915091509091565b611380611149565b61138957600080fd5b611392816114f7565b50565b6003546001600160a01b031681565b60056020526000908152604090205460ff1681565b600354604080516375d7e4bd60e01b815290516000926001600160a01b0316916375d7e4bd91600480830192602092919082900301818787803b1580156113ff57600080fd5b505af1158015611413573d6000803e3d6000fd5b505050506040513d602081101561142957600080fd5b50516040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820186905291519293509083169163a9059cbb916044808201926020929091908290030181600087803b15801561148157600080fd5b505af1158015611495573d6000803e3d6000fd5b505050506040513d60208110156114ab57600080fd5b5051610a4a576040805162461bcd60e51b81526020600482015260166024820152752ab739bab1b1b2b9b9b33ab6103a3930b739b332b91760511b604482015290519081900360640190fd5b6001600160a01b03811661150a57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe746869732045494e20686173206e6f7420726567697374657265642061732061207061727469636970616e74546869732045494e20686173206e6f74207265676973746572656420617320612063616e646964617465546869732045494e20686173206e6f74207365742074686973207265736f6c7665722e446964206e6f74206f726967696e6174652066726f6d20536e6f77666c616b652e796f7520617265206e6f74206120766f7465722c7265676973746572206669727374a265627a7a72315820614453bf8e5d1f759d6f441100f4c4bbc90d297fe2721d80a7e77a7b69403cf664736f6c6343000511003200000000000000000000000032c927d1d1df373c3fae1dc32338570e85f1d4e500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000002000000000000000000000000011d4620d850e1e152fe82ef90c26268b1a78aa40000000000000000000000000000000000000000000000000000000000000004257686f20697320746865206d6f73742062756c6c69736820687964726f20737570706f7274657220666f7220746865206d6f6e7468206f6620446563656d6265723f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f5468697320697320612073757276657920746f2066696e64206f75742077686f20697320746865206d6f73742062756c6c69736820687964726f20737570706f7274657220666f7220746865206d6f6e7468206f6620646563656d6265722100
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101735760003560e01c806376acf1b6116100de5780639182621a11610097578063f2de669911610071578063f2de66991461051e578063f2fde38b14610581578063f9f451b8146105a7578063ff89edd9146105af57610173565b80639182621a1461042e578063c3241931146104db578063c979b05a146104f857610173565b806376acf1b6146102df57806388cdab941461035c5780638da5cb5b146103645780638f06492d1461036c5780638f32d59b1461037457806390bfaf401461037c57610173565b80635f8d96de116101305780635f8d96de1461026057806363399041146102685780636cb74fa61461028e5780636ef52ceb146102ab578063715018a6146102cf57806371790251146102d757610173565b80630121b93f14610178578063164e68de146101a95780632b7799a2146101d157806330c1286e146101ee5780633477ee2e1461021d5780635bd057351461023a575b600080fd5b6101956004803603602081101561018e57600080fd5b50356105cc565b604080519115158252519081900360200190f35b6101cf600480360360208110156101bf57600080fd5b50356001600160a01b0316610941565b005b6101cf600480360360208110156101e757600080fd5b5035610a4f565b61020b6004803603602081101561020457600080fd5b5035610cda565b60408051918252519081900360200190f35b61020b6004803603602081101561023357600080fd5b5035610d87565b61020b6004803603602081101561025057600080fd5b50356001600160a01b0316610d99565b61020b610e94565b6101956004803603602081101561027e57600080fd5b50356001600160a01b0316610e9a565b6101cf600480360360208110156102a457600080fd5b5035610f62565b6102b3610fcb565b604080516001600160a01b039092168252519081900360200190f35b6101cf610fda565b610195611035565b6102e7611045565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610321578181015183820152602001610309565b50505050905090810190601f16801561034e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e76110d0565b6102b361112a565b610195611139565b610195611149565b6101956004803603606081101561039257600080fd5b8135916020810135918101906060810160408201356401000000008111156103b957600080fd5b8201836020820111156103cb57600080fd5b803590602001918460018302840111640100000000831117156103ed57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061115a945050505050565b6101956004803603604081101561044457600080fd5b8135919081019060408101602082013564010000000081111561046657600080fd5b82018360208201111561047857600080fd5b8035906020019184600183028401116401000000008311171561049a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061127b945050505050565b610195600480360360208110156104f157600080fd5b50356112cd565b6101cf6004803603602081101561050e57600080fd5b50356001600160a01b03166112e2565b610526611315565b6040518080602001838152602001828103825284818151815260200191508051906020019060200280838360005b8381101561056c578181015183820152602001610554565b50505050905001935050505060405180910390f35b6101cf6004803603602081101561059757600080fd5b50356001600160a01b0316611378565b6102b3611395565b610195600480360360208110156105c557600080fd5b50356113a4565b6000336105d881610e9a565b15156001146105e657600080fd5b600083815260066020526040902054839060ff16151560011461063a5760405162461bcd60e51b815260040180806020018281038252602a815260200180611592602a913960400191505060405180910390fd5b600d5442111561068d576040805162461bcd60e51b81526020600482015260196024820152781d1a1a5cc8195b1958dd1a5bdb881a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b6003546040805163a759ee6f60e01b815290516001600160a01b0390921691600091839163a759ee6f9160048082019260209290919082900301818787803b1580156106d857600080fd5b505af11580156106ec573d6000803e3d6000fd5b505050506040513d602081101561070257600080fd5b50519050600061071133610d99565b60008181526005602052604090205490915060ff1615156001146107665760405162461bcd60e51b81526004018080602001828103825260228152602001806116006022913960400191505060405180910390fd5b60008181526006602052604090205460ff16156107c0576040805162461bcd60e51b8152602060048201526013602482015272796f752061726520612063616e64696461746560681b604482015290519081900360640190fd5b6040805163352c737360e21b81526004810183905230602482015290516001600160a01b0384169163d4b1cdcc916044808301926020929190829003018186803b15801561080d57600080fd5b505afa158015610821573d6000803e3d6000fd5b505050506040513d602081101561083757600080fd5b50516108745760405162461bcd60e51b81526004018080602001828103825260238152602001806115bc6023913960400191505060405180910390fd5b60008181526007602052604090205460ff16156108d1576040805162461bcd60e51b81526020600482015260166024820152751e5bdd481a185d9948185b1c9958591e481d9bdd195960521b604482015290519081900360640190fd5b6000878152600460209081526040808320805460019081019091558484526007835292819020805460ff1916909317909255815189815291517f8fbb38ff86a5b319c33b22609be0afce04335d5db18c6bd100767e251d4028cc9281900390910190a15060019695505050505050565b610949611149565b61095257600080fd5b600354604080516375d7e4bd60e01b815290516001600160a01b039092169160009183916375d7e4bd9160048082019260209290919082900301818787803b15801561099d57600080fd5b505af11580156109b1573d6000803e3d6000fd5b505050506040513d60208110156109c757600080fd5b5051604080516370a0823160e01b81523060048201529051919250610a4a9185916001600160a01b038516916370a0823191602480820192602092909190829003018186803b158015610a1957600080fd5b505afa158015610a2d573d6000803e3d6000fd5b505050506040513d6020811015610a4357600080fd5b50516113b9565b505050565b600081815260056020526040902054819060ff161515600114610aa35760405162461bcd60e51b815260040180806020018281038252602c815260200180611566602c913960400191505060405180910390fd5b600d54421115610af6576040805162461bcd60e51b81526020600482015260196024820152781d1a1a5cc8195b1958dd1a5bdb881a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b600082815260056020526040902054829060ff1615156001148015610b2a575060008181526006602052604090205460ff16155b610b71576040805162461bcd60e51b8152602060048201526013602482015272796f752061726520612063616e64696461746560681b604482015290519081900360640190fd5b600354600e54600b546001600160a01b0390921691811115610bda576040805162461bcd60e51b815260206004820152601860248201527f63616e646964617465206c696d69742072656163686564210000000000000000604482015290519081900360640190fd5b600954600a546040805163edda781560e01b8152600481018990526001600160a01b0393841660248201526044810192909252519184169163edda78159160648082019260009290919082900301818387803b158015610c3957600080fd5b505af1158015610c4d573d6000803e3d6000fd5b5050506000868152600660209081526040808320805460ff19166001908117909155600e805491820181559093527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd909201889055815188815291517fc3bc01c61c169f82d0d375d875473fc98c64a3bb2d798f6a26ade58226b1c5169350918290030190a15050505050565b6000610ce4611149565b610ced57600080fd5b600d54421115610d40576040805162461bcd60e51b81526020600482015260196024820152781d1a1a5cc8195b1958dd1a5bdb881a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b4262015180830201600d81905560408051918252517fcee1d3b8199912e1b22938382a24a6c1d38b707934106fa995e6797c13ffd9c19181900360200190a15050600d5490565b60046020526000908152604090205481565b6003546040805163a759ee6f60e01b815290516000926001600160a01b0316918391839163a759ee6f91600480830192602092919082900301818787803b158015610de357600080fd5b505af1158015610df7573d6000803e3d6000fd5b505050506040513d6020811015610e0d57600080fd5b5051604080516305c62c2f60e01b81526001600160a01b0387811660048301529151929350600092918416916305c62c2f91602480820192602092909190829003018186803b158015610e5f57600080fd5b505afa158015610e73573d6000803e3d6000fd5b505050506040513d6020811015610e8957600080fd5b505195945050505050565b600d5490565b6003546040805163a759ee6f60e01b815290516000926001600160a01b0316918391839163a759ee6f91600480830192602092919082900301818787803b158015610ee457600080fd5b505af1158015610ef8573d6000803e3d6000fd5b505050506040513d6020811015610f0e57600080fd5b50516040805163237f1a2160e01b8152336004820181905291519196509192506000916001600160a01b0384169163237f1a2191602480820192602092909190829003018186803b158015610e5f57600080fd5b600d54421115610fb5576040805162461bcd60e51b81526020600482015260196024820152781d1a1a5cc8195b1958dd1a5bdb881a185cc8195e1c1a5c9959603a1b604482015290519081900360640190fd5b610fbd611149565b610fc657600080fd5b600b55565b6009546001600160a01b031681565b610fe2611149565b610feb57600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600354600160a01b900460ff1681565b6002805460408051602060018416156101000260001901909316849004601f810184900484028201840190925281815292918301828280156110c85780601f1061109d576101008083540402835291602001916110c8565b820191906000526020600020905b8154815290600101906020018083116110ab57829003601f168201915b505050505081565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156110c85780601f1061109d576101008083540402835291602001916110c8565b6000546001600160a01b031690565b600354600160a81b900460ff1681565b6000546001600160a01b0316331490565b6003546000906001600160a01b031633146111a65760405162461bcd60e51b81526004018080602001828103825260218152602001806115df6021913960400191505060405180910390fd5b6003546009546008546040805163edda781560e01b8152600481018990526001600160a01b0393841660248201526044810192909252519190921691829163edda78159160648082019260009290919082900301818387803b15801561120b57600080fd5b505af115801561121f573d6000803e3d6000fd5b505050600086815260056020908152604091829020805460ff19166001179055815188815291517f951576958569db926d87f0c263b82ab8c4fe48aa20496c0ac2629620514465129350918290030190a1506001949350505050565b6003546000906001600160a01b031633146112c75760405162461bcd60e51b81526004018080602001828103825260218152602001806115df6021913960400191505060405180910390fd5b92915050565b60066020526000908152604090205460ff1681565b6112ea611149565b6112f357600080fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60606000600e600b548180548060200260200160405190810160405280929190818152602001828054801561136957602002820191906000526020600020905b815481526020019060010190808311611355575b50505050509150915091509091565b611380611149565b61138957600080fd5b611392816114f7565b50565b6003546001600160a01b031681565b60056020526000908152604090205460ff1681565b600354604080516375d7e4bd60e01b815290516000926001600160a01b0316916375d7e4bd91600480830192602092919082900301818787803b1580156113ff57600080fd5b505af1158015611413573d6000803e3d6000fd5b505050506040513d602081101561142957600080fd5b50516040805163a9059cbb60e01b81526001600160a01b0386811660048301526024820186905291519293509083169163a9059cbb916044808201926020929091908290030181600087803b15801561148157600080fd5b505af1158015611495573d6000803e3d6000fd5b505050506040513d60208110156114ab57600080fd5b5051610a4a576040805162461bcd60e51b81526020600482015260166024820152752ab739bab1b1b2b9b9b33ab6103a3930b739b332b91760511b604482015290519081900360640190fd5b6001600160a01b03811661150a57600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b039290921691909117905556fe746869732045494e20686173206e6f7420726567697374657265642061732061207061727469636970616e74546869732045494e20686173206e6f74207265676973746572656420617320612063616e646964617465546869732045494e20686173206e6f74207365742074686973207265736f6c7665722e446964206e6f74206f726967696e6174652066726f6d20536e6f77666c616b652e796f7520617265206e6f74206120766f7465722c7265676973746572206669727374a265627a7a72315820614453bf8e5d1f759d6f441100f4c4bbc90d297fe2721d80a7e77a7b69403cf664736f6c63430005110032
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000032c927d1d1df373c3fae1dc32338570e85f1d4e500000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000002000000000000000000000000011d4620d850e1e152fe82ef90c26268b1a78aa40000000000000000000000000000000000000000000000000000000000000004257686f20697320746865206d6f73742062756c6c69736820687964726f20737570706f7274657220666f7220746865206d6f6e7468206f6620446563656d6265723f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f5468697320697320612073757276657920746f2066696e64206f75742077686f20697320746865206d6f73742062756c6c69736820687964726f20737570706f7274657220666f7220746865206d6f6e7468206f6620646563656d6265722100
-----Decoded View---------------
Arg [0] : snowflakeAddress (address): 0x32c927D1d1dF373c3FAe1dc32338570e85F1d4e5
Arg [1] : _name (string): Who is the most bullish hydro supporter for the month of December?
Arg [2] : _description (string): This is a survey to find out who is the most bullish hydro supporter for the month of december!
Arg [3] : _days (uint256): 32
Arg [4] : feeOwner (address): 0x11d4620D850e1E152fE82Ef90C26268b1a78Aa40
-----Encoded View---------------
13 Constructor Arguments found :
Arg [0] : 00000000000000000000000032c927d1d1df373c3fae1dc32338570e85f1d4e5
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000120
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000020
Arg [4] : 00000000000000000000000011d4620d850e1e152fe82ef90c26268b1a78aa40
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000042
Arg [6] : 57686f20697320746865206d6f73742062756c6c69736820687964726f207375
Arg [7] : 70706f7274657220666f7220746865206d6f6e7468206f6620446563656d6265
Arg [8] : 723f000000000000000000000000000000000000000000000000000000000000
Arg [9] : 000000000000000000000000000000000000000000000000000000000000005f
Arg [10] : 5468697320697320612073757276657920746f2066696e64206f75742077686f
Arg [11] : 20697320746865206d6f73742062756c6c69736820687964726f20737570706f
Arg [12] : 7274657220666f7220746865206d6f6e7468206f6620646563656d6265722100
Deployed Bytecode Sourcemap
13885:6384:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13885:6384:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18789:691;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18789:691:0;;:::i;:::-;;;;;;;;;;;;;;;;;;19658:279;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19658:279:0;-1:-1:-1;;;;;19658:279:0;;:::i;:::-;;18307:454;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18307:454:0;;:::i;19949:215::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19949:215:0;;:::i;:::-;;;;;;;;;;;;;;;;13925:42;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13925:42:0;;:::i;16647:308::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16647:308:0;-1:-1:-1;;;;;16647:308:0;;:::i;20176:88::-;;;:::i;16253:334::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16253:334:0;-1:-1:-1;;;;;16253:334:0;;:::i;16081:105::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16081:105:0;;:::i;14323:24::-;;;:::i;:::-;;;;-1:-1:-1;;;;;14323:24:0;;;;;;;;;;;;;;1451:140;;;:::i;7250:26::-;;;:::i;7167:34::-;;;:::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;7167:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7133:27;;;:::i;749:78::-;;;:::i;7283:25::-;;;:::i;1079:91::-;;;:::i;17751:335::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17751:335:0;;;;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;17751:335:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;17751:335: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;17751:335:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;17751:335:0;;-1:-1:-1;17751:335:0;;-1:-1:-1;;;;;17751:335:0:i;18091:83::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18091:83:0;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;18091:83:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;18091: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;18091:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;18091:83:0;;-1:-1:-1;18091:83:0;;-1:-1:-1;;;;;18091:83:0:i;14012:37::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14012:37:0;;:::i;8028:128::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;8028:128:0;-1:-1:-1;;;;;8028:128:0;;:::i;19529:117::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;19529:117:0;;;;;;;;;;;;;;;;;;1765:109;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1765:109:0;-1:-1:-1;;;;;1765:109:0;;:::i;7210:31::-;;;:::i;13970:39::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13970:39:0;;:::i;18789:691::-;18885:4;18829:10;15294:19;15306:6;15294:11;:19::i;:::-;:25;;15315:4;15294:25;15286:34;;;;;;14629:15;;;;:10;:15;;;;;;18853:4;;14629:15;;:21;;:15;:21;14621:75;;;;-1:-1:-1;;;14621:75:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15426:14;;15421:3;:19;;15412:57;;;;;-1:-1:-1;;;15412:57:0;;;;;;;;;;;;-1:-1:-1;;;15412:57:0;;;;;;;;;;;;;;;18939:16;;19024:32;;;-1:-1:-1;;;19024:32:0;;;;-1:-1:-1;;;;;18939:16:0;;;;18894:25;;18939:16;;19024:30;;:32;;;;;;;;;;;;;;;18894:25;18939:16;19024:32;;;5:2:-1;;;;30:1;27;20:12;5:2;19024:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19024:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19024:32:0;;-1:-1:-1;19061:8:0;19070:20;19079:10;19070:8;:20::i;:::-;19105:17;;;;:12;:17;;;;;;19061:29;;-1:-1:-1;19105:17:0;;:23;;:17;:23;19097:69;;;;-1:-1:-1;;;19097:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19179:15;;;;:10;:15;;;;;;;;:22;19170:54;;;;;-1:-1:-1;;;19170:54:0;;;;;;;;;;;;-1:-1:-1;;;19170:54:0;;;;;;;;;;;;;;;19236:43;;;-1:-1:-1;;;19236:43:0;;;;;;;;19273:4;19236:43;;;;;;-1:-1:-1;;;;;19236:24:0;;;;;:43;;;;;;;;;;;;;;:24;:43;;;5:2:-1;;;;30:1;27;20:12;5:2;19236:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19236:43:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19236:43:0;19228:90;;;;-1:-1:-1;;;19228:90:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19331:13;;;;:8;:13;;;;;;;;:20;19322:55;;;;;-1:-1:-1;;;19322:55:0;;;;;;;;;;;;-1:-1:-1;;;19322:55:0;;;;;;;;;;;;;;;19384:16;;;;:10;:16;;;;;;;;:28;;;;;;;;;19416:13;;;:8;:13;;;;;;:18;;-1:-1:-1;;19416:18:0;;;;;;;19444:11;;;;;;;;;;;;;;;;;-1:-1:-1;19467:4:0;;18789:691;-1:-1:-1;;;;;;18789:691:0:o;19658:279::-;958:9;:7;:9::i;:::-;950:18;;;;;;19767:16;;19833:26;;;-1:-1:-1;;;19833:26:0;;;;-1:-1:-1;;;;;19767:16:0;;;;19720:25;;19767:16;;19833:24;;:26;;;;;;;;;;;;;;;19720:25;19767:16;19833:26;;;5:2:-1;;;;30:1;27;20:12;5:2;19833:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19833:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19833:26:0;19898:30;;;-1:-1:-1;;;19898:30:0;;19922:4;19898:30;;;;;;19833:26;;-1:-1:-1;19871:58:0;;19894:2;;-1:-1:-1;;;;;19898:15:0;;;;;:30;;;;;19833:26;;19898:30;;;;;;;;:15;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;19898:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19898:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19898:30:0;19871:22;:58::i;:::-;979:1;;19658:279;:::o;18307:454::-;14818:18;;;;:12;:18;;;;;;18363:3;;14818:18;;:24;;:18;:24;14810:81;;;;-1:-1:-1;;;14810:81:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15426:14;;15421:3;:19;;15412:57;;;;;-1:-1:-1;;;15412:57:0;;;;;;;;;;;;-1:-1:-1;;;15412:57:0;;;;;;;;;;;;;;;15012:18;;;;:12;:18;;;;;;18401:3;;15012:18;;:24;;:18;:24;:51;;;;-1:-1:-1;15040:16:0;;;;:10;:16;;;;;;;;:23;15012:51;15004:82;;;;;-1:-1:-1;;;15004:82:0;;;;;;;;;;;;-1:-1:-1;;;15004:82:0;;;;;;;;;;;;;;;18458:16;;18502:13;:20;18553:17;;-1:-1:-1;;;;;18458:16:0;;;;18537:33;;;18529:69;;;;;-1:-1:-1;;;18529:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;18645:9;;18656:10;;18605:62;;;-1:-1:-1;;;18605:62:0;;;;;;;;-1:-1:-1;;;;;18645:9:0;;;18605:62;;;;;;;;;;;;:35;;;;;;:62;;;;;18645:9;;18605:62;;;;;;;;18645:9;18605:35;:62;;;5:2:-1;;;;30:1;27;20:12;5:2;18605:62:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;18674:15:0;;;;:10;:15;;;;;;;;:20;;-1:-1:-1;;18674:20:0;18690:4;18674:20;;;;;;18701:13;27:10:-1;;23:18;;;45:23;;18701::0;;;;;;;;;;18736:20;;;;;;;;;-1:-1:-1;18736:20:0;;;;;;;15093:1;;15476;18307:454;;:::o;19949:215::-;20028:4;958:9;:7;:9::i;:::-;950:18;;;;;;15426:14;;15421:3;:19;;15412:57;;;;;-1:-1:-1;;;15412:57:0;;;;;;;;;;;;-1:-1:-1;;;15412:57:0;;;;;;;;;;;;;;;20059:3;20072:6;20063:15;;20059:19;20044:14;:34;;;20094:30;;;;;;;;;;;;;;;;-1:-1:-1;;20142:14:0;;;19949:215::o;13925:42::-;;;;;;;;;;;;;:::o;16647:308::-;16761:16;;16849:32;;;-1:-1:-1;;;16849:32:0;;;;16698:4;;-1:-1:-1;;;;;16761:16:0;;16698:4;;16761:16;;16849:30;;:32;;;;;;;;;;;;;;16698:4;16761:16;16849:32;;;5:2:-1;;;;30:1;27;20:12;5:2;16849:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16849:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16849:32:0;16901:27;;;-1:-1:-1;;;16901:27:0;;-1:-1:-1;;;;;16901:27:0;;;;;;;;;16849:32;;-1:-1:-1;16892:8:0;;16901:17;;;;;;:27;;;;;16849:32;;16901:27;;;;;;;;:17;:27;;;5:2:-1;;;;30:1;27;20:12;5:2;16901:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16901:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16901:27:0;;16647:308;-1:-1:-1;;;;;16647:308:0:o;20176:88::-;20242:14;;20176:88;:::o;16253:334::-;16366:16;;16454:32;;;-1:-1:-1;;;16454:32:0;;;;16307:4;;-1:-1:-1;;;;;16366:16:0;;16307:4;;16366:16;;16454:30;;:32;;;;;;;;;;;;;;16307:4;16366:16;16454:32;;;5:2:-1;;;;30:1;27;20:12;5:2;16454:32:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16454:32:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16454:32:0;16530:34;;;-1:-1:-1;;;16530:34:0;;16502:10;16530:34;;;;;;;;16502:10;;-1:-1:-1;16454:32:0;;-1:-1:-1;16519:10:0;;-1:-1:-1;;;;;16530:22:0;;;;;:34;;;;;16454:32;;16530:34;;;;;;;;:22;:34;;;5:2:-1;;;;30:1;27;20:12;16081:105:0;15426:14;;15421:3;:19;;15412:57;;;;;-1:-1:-1;;;15412:57:0;;;;;;;;;;;;-1:-1:-1;;;15412:57:0;;;;;;;;;;;;;;;958:9;:7;:9::i;:::-;950:18;;;;;;16160:17;:22;16081:105::o;14323:24::-;;;-1:-1:-1;;;;;14323:24:0;;:::o;1451:140::-;958:9;:7;:9::i;:::-;950:18;;;;;;1550:1;1534:6;;1513:40;;-1:-1:-1;;;;;1534:6:0;;;;1513:40;;1550:1;;1513:40;1581:1;1564:19;;-1:-1:-1;;;;;;1564:19:0;;;1451:140::o;7250:26::-;;;-1:-1:-1;;;7250:26:0;;;;;:::o;7167:34::-;;;;;;;;;;;;;;-1:-1:-1;;7167:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7133:27::-;;;;;;;;;;;;;;;-1:-1:-1;;7133:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;749:78;786:7;813:6;-1:-1:-1;;;;;813:6:0;749:78;:::o;7283:25::-;;;-1:-1:-1;;;7283:25:0;;;;;:::o;1079:91::-;1118:4;1156:6;-1:-1:-1;;;;;1156:6:0;1142:10;:20;;1079:91::o;17751:335::-;7832:16;;17852:4;;-1:-1:-1;;;;;7832:16:0;7818:10;:30;7810:76;;;;-1:-1:-1;;;7810:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17911:16;;17976:9;;17987:6;;17935:60;;;-1:-1:-1;;;17935:60:0;;;;;;;;-1:-1:-1;;;;;17976:9:0;;;17935:60;;;;;;;;;;;;17911:16;;;;;;;17935:35;;:60;;;;;17864:25;;17935:60;;;;;;;;17864:25;17911:16;17935:60;;;5:2:-1;;;;30:1;27;20:12;5:2;17935:60:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;18002:17:0;;;;:12;:17;;;;;;;;;:22;;-1:-1:-1;;18002:22:0;18020:4;18002:22;;;18037;;;;;;;;;-1:-1:-1;18037:22:0;;;;;;;-1:-1:-1;18073:4:0;;17751:335;-1:-1:-1;;;;17751:335:0:o;18091:83::-;7832:16;;18166:4;;-1:-1:-1;;;;;7832:16:0;7818:10;:30;7810:76;;;;-1:-1:-1;;;7810:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18091:83;;;;:::o;14012:37::-;;;;;;;;;;;;;;;:::o;8028:128::-;958:9;:7;:9::i;:::-;950:18;;;;;;8112:16;:36;;-1:-1:-1;;;;;;8112:36:0;-1:-1:-1;;;;;8112:36:0;;;;;;;;;;8028:128::o;19529:117::-;19577:13;19591:4;19610:13;19624:17;;19603:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19529:117;;:::o;1765:109::-;958:9;:7;:9::i;:::-;950:18;;;;;;1838:28;1857:8;1838:18;:28::i;:::-;1765:109;:::o;7210:31::-;;;-1:-1:-1;;;;;7210:31:0;;:::o;13970:39::-;;;;;;;;;;;;;;;:::o;9254:252::-;9388:16;;9369:56;;;-1:-1:-1;;;9369:56:0;;;;9331:20;;-1:-1:-1;;;;;9388:16:0;;9369:54;;:56;;;;;;;;;;;;;;9331:20;9388:16;9369:56;;;5:2:-1;;;;30:1;27;20:12;5:2;9369:56:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9369:56:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9369:56:0;9445:26;;;-1:-1:-1;;;9445:26:0;;-1:-1:-1;;;;;9445:26:0;;;;;;;;;;;;;;;9369:56;;-1:-1:-1;9445:14:0;;;;;;:26;;;;;9369:56;;9445:26;;;;;;;;-1:-1:-1;9445:14:0;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;9445:26:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9445:26:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;9445:26:0;9437:61;;;;;-1:-1:-1;;;9437:61:0;;;;;;;;;;;;-1:-1:-1;;;9437:61:0;;;;;;;;;;;;;;2021:187;-1:-1:-1;;;;;2095:22:0;;2087:31;;;;;;2155:6;;;2134:38;;-1:-1:-1;;;;;2134:38:0;;;;2155:6;;;2134:38;;;2183:6;:17;;-1:-1:-1;;;;;;2183:17:0;-1:-1:-1;;;;;2183:17:0;;;;;;;;;;2021:187::o
Swarm Source
bzzr://614453bf8e5d1f759d6f441100f4c4bbc90d297fe2721d80a7e77a7b69403cf6
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.