Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 7 from a total of 7 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 7956611 | 2164 days ago | IN | 0.00407172 ETH | 0.00024623 | ||||
Create Poll | 6198201 | 2459 days ago | IN | 0 ETH | 0.00475921 | ||||
Create Poll | 6198194 | 2459 days ago | IN | 0 ETH | 0.00475889 | ||||
Create Poll | 6198185 | 2459 days ago | IN | 0 ETH | 0.00475921 | ||||
Create Poll | 6198182 | 2459 days ago | IN | 0 ETH | 0.00475921 | ||||
Create Poll | 6198159 | 2459 days ago | IN | 0 ETH | 0.00475921 | ||||
Create Poll | 6197977 | 2459 days ago | IN | 0 ETH | 0.00483421 |
Latest 6 internal transactions
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Transfer | 6198201 | 2459 days ago | Contract Creation | 0 ETH | |||
Transfer | 6198194 | 2459 days ago | Contract Creation | 0 ETH | |||
Transfer | 6198185 | 2459 days ago | Contract Creation | 0 ETH | |||
Transfer | 6198182 | 2459 days ago | Contract Creation | 0 ETH | |||
Transfer | 6198159 | 2459 days ago | Contract Creation | 0 ETH | |||
Transfer | 6197977 | 2459 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Name:
VotingCenter
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-08-19 */ pragma solidity 0.4.24; /** * @title IPFS hash handler * * @dev IPFS multihash handler. Does a small check to validate that a multihash is * correct by validating the digest size byte of the hash. For example, the IPFS * Multihash "QmPtkU87jX1SnyhjAgUwnirmabAmeASQ4wGfwxviJSA4wf" is the base58 * encoded form of the following data: * * ┌────┬────┬───────────────────────────────────────────────────────────────────┐ * │byte│byte│ variable length hash based on digest size │ * ├────┼────┼───────────────────────────────────────────────────────────────────┤ * │0x12│0x20│0x1714c8d0fa5dbe9e6c04059ddac50c3860fb0370d67af53f2bd51a4def656526 │ * └────┴────┴───────────────────────────────────────────────────────────────────┘ * ▲ ▲ ▲ * │ └───────────┐ │ * hash function digest size hash value * * we still store the data as `bytes` since it is inherently a variable length structure. * * @dev See multihash format: https://git.io/vbooc */ contract DependentOnIPFS { /** * @dev Validate a multihash bytes value */ function isValidIPFSMultihash(bytes _multihashBytes) internal pure returns (bool) { require(_multihashBytes.length > 2); uint8 _size; // There isn't another way to extract only this byte into a uint8 // solhint-disable no-inline-assembly assembly { // Seek forward 33 bytes beyond the solidity length value and the hash function byte _size := byte(0, mload(add(_multihashBytes, 33))) } return (_multihashBytes.length == _size + 2); } } /** * @title Voteable poll with associated IPFS data * * A poll records votes on a variable number of choices. A poll specifies * a window during which users can vote. Information like the poll title and * the descriptions for each option are stored on IPFS. */ contract Poll is DependentOnIPFS { // There isn't a way around using time to determine when votes can be cast // solhint-disable not-rely-on-time bytes public pollDataMultihash; uint16 public numChoices; uint256 public startTime; uint256 public endTime; address public author; address public pollAdmin; AccountRegistryInterface public registry; SigningLogicInterface public signingLogic; mapping(uint256 => uint16) public votes; mapping (bytes32 => bool) public usedSignatures; event VoteCast(address indexed voter, uint16 indexed choice); constructor( bytes _ipfsHash, uint16 _numChoices, uint256 _startTime, uint256 _endTime, address _author, AccountRegistryInterface _registry, SigningLogicInterface _signingLogic, address _pollAdmin ) public { require(_startTime >= now && _endTime > _startTime); require(isValidIPFSMultihash(_ipfsHash)); numChoices = _numChoices; startTime = _startTime; endTime = _endTime; pollDataMultihash = _ipfsHash; author = _author; registry = _registry; signingLogic = _signingLogic; pollAdmin = _pollAdmin; } function vote(uint16 _choice) external { voteForUser(_choice, msg.sender); } function voteFor(uint16 _choice, address _voter, bytes32 _nonce, bytes _delegationSig) external onlyPollAdmin { require(!usedSignatures[keccak256(abi.encodePacked(_delegationSig))], "Signature not unique"); usedSignatures[keccak256(abi.encodePacked(_delegationSig))] = true; bytes32 _delegationDigest = signingLogic.generateVoteForDelegationSchemaHash( _choice, _voter, _nonce, this ); require(_voter == signingLogic.recoverSigner(_delegationDigest, _delegationSig)); voteForUser(_choice, _voter); } /** * @dev Cast or change your vote * @param _choice The index of the option in the corresponding IPFS document. */ function voteForUser(uint16 _choice, address _voter) internal duringPoll { // Choices are indexed from 1 since the mapping returns 0 for "no vote cast" require(_choice <= numChoices && _choice > 0); uint256 _voterId = registry.accountIdForAddress(_voter); votes[_voterId] = _choice; emit VoteCast(_voter, _choice); } modifier duringPoll { require(now >= startTime && now <= endTime); _; } modifier onlyPollAdmin { require(msg.sender == pollAdmin); _; } } interface AccountRegistryInterface { function accountIdForAddress(address _address) public view returns (uint256); function addressBelongsToAccount(address _address) public view returns (bool); function createNewAccount(address _newUser) external; function addAddressToAccount( address _newAddress, address _sender ) external; function removeAddressFromAccount(address _addressToRemove) external; } contract SigningLogicInterface { function recoverSigner(bytes32 _hash, bytes _sig) external pure returns (address); function generateRequestAttestationSchemaHash( address _subject, address _attester, address _requester, bytes32 _dataHash, uint256[] _typeIds, bytes32 _nonce ) external view returns (bytes32); function generateAttestForDelegationSchemaHash( address _subject, address _requester, uint256 _reward, bytes32 _paymentNonce, bytes32 _dataHash, uint256[] _typeIds, bytes32 _requestNonce ) external view returns (bytes32); function generateContestForDelegationSchemaHash( address _requester, uint256 _reward, bytes32 _paymentNonce ) external view returns (bytes32); function generateStakeForDelegationSchemaHash( address _subject, uint256 _value, bytes32 _paymentNonce, bytes32 _dataHash, uint256[] _typeIds, bytes32 _requestNonce, uint256 _stakeDuration ) external view returns (bytes32); function generateRevokeStakeForDelegationSchemaHash( uint256 _subjectId, uint256 _attestationId ) external view returns (bytes32); function generateAddAddressSchemaHash( address _senderAddress, bytes32 _nonce ) external view returns (bytes32); function generateVoteForDelegationSchemaHash( uint16 _choice, address _voter, bytes32 _nonce, address _poll ) external view returns (bytes32); function generateReleaseTokensSchemaHash( address _sender, address _receiver, uint256 _amount, bytes32 _uuid ) external view returns (bytes32); function generateLockupTokensDelegationSchemaHash( address _sender, uint256 _amount, bytes32 _nonce ) external view returns (bytes32); } /* * @title Bloom voting center * @dev The voting center is the home of all polls conducted within the Bloom network. * Anyone can create a new poll and there is no "owner" of the network. The Bloom dApp * assumes that all polls are in the `polls` field so any Bloom poll should be created * through the `createPoll` function. */ contract VotingCenter { Poll[] public polls; event PollCreated(address indexed poll, address indexed author); /** * @dev create a poll and store the address of the poll in this contract * @param _ipfsHash Multihash for IPFS file containing poll information * @param _numOptions Number of choices in this poll * @param _startTime Time after which a user can cast a vote in the poll * @param _endTime Time after which the poll no longer accepts new votes * @return The address of the new Poll */ function createPoll( bytes _ipfsHash, uint16 _numOptions, uint256 _startTime, uint256 _endTime, AccountRegistryInterface _registry, SigningLogicInterface _signingLogic, address _pollAdmin ) public returns (address) { Poll newPoll = new Poll( _ipfsHash, _numOptions, _startTime, _endTime, msg.sender, _registry, _signingLogic, _pollAdmin ); polls.push(newPoll); emit PollCreated(newPoll, msg.sender); return newPoll; } function allPolls() view public returns (Poll[]) { return polls; } function numPolls() view public returns (uint256) { return polls.length; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"_ipfsHash","type":"bytes"},{"name":"_numOptions","type":"uint16"},{"name":"_startTime","type":"uint256"},{"name":"_endTime","type":"uint256"},{"name":"_registry","type":"address"},{"name":"_signingLogic","type":"address"},{"name":"_pollAdmin","type":"address"}],"name":"createPoll","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numPolls","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"polls","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allPolls","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"poll","type":"address"},{"indexed":true,"name":"author","type":"address"}],"name":"PollCreated","type":"event"}]
Contract Creation Code
608060405234801561001057600080fd5b506115e3806100206000396000f300608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632d7ab7b714610067578063842ff2bd14610192578063ac2f0074146101bd578063be82fffe1461022a575b600080fd5b34801561007357600080fd5b50610150600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803561ffff1690602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610296565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019e57600080fd5b506101a76104ef565b6040518082815260200191505060405180910390f35b3480156101c957600080fd5b506101e8600480360381019080803590602001909291905050506104fb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023657600080fd5b5061023f610539565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610282578082015181840152602081019050610267565b505050509050019250505060405180910390f35b60008088888888338989896102a96105c7565b80806020018961ffff1661ffff1681526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182810382528a818151815260200191508051906020019080838360005b838110156103c85780820151818401526020810190506103ad565b50505050905090810190601f1680156103f55780820380516001836020036101000a031916815260200191505b509950505050505050505050604051809103906000f08015801561041d573d6000803e3d6000fd5b50905060008190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f5b850d927499bc55df3941f7c4ae97ab6fce34a21f4df0ab30694f24353445b260405160405180910390a380915050979650505050505050565b60008080549050905090565b60008181548110151561050a57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060008054806020026020016040519081016040528092919081815260200182805480156105bd57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610573575b5050505050905090565b604051610fe0806105d883390190560060806040523480156200001157600080fd5b5060405162000fe038038062000fe083398101806040528101908080518201929190602001805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050504286101580156200008f57508585115b15156200009b57600080fd5b620000b58862000217640100000000026401000000009004565b1515620000c157600080fd5b86600160006101000a81548161ffff021916908361ffff160217905550856002819055508460038190555087600090805190602001906200010492919062000247565b5083600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505050620002f6565b600080600283511115156200022b57600080fd5b602183015160001a90506002810160ff16835114915050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028a57805160ff1916838001178555620002bb565b82800160010185558215620002bb579182015b82811115620002ba5782518255916020019190600101906200029d565b5b509050620002ca9190620002ce565b5090565b620002f391905b80821115620002ef576000816000905550600101620002d5565b5090565b90565b610cda80620003066000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631066cd3c146100bf5780633197cbb61461013657806344d0afbc146101615780635df81330146101b857806378e97925146102015780637b1039991461022c5780637d131158146102835780638bb36848146102da578063a6c3e6b91461036a578063a9092c11146103c1578063ddb6e116146103f4578063f978fd6114610425575b600080fd5b3480156100cb57600080fd5b50610134600480360381019080803561ffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919080359060200190820180359060200191909192939192939050505061046e565b005b34801561014257600080fd5b5061014b61093d565b6040518082815260200191505060405180910390f35b34801561016d57600080fd5b50610176610943565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c457600080fd5b506101e360048036038101908080359060200190929190505050610969565b604051808261ffff1661ffff16815260200191505060405180910390f35b34801561020d57600080fd5b5061021661098a565b6040518082815260200191505060405180910390f35b34801561023857600080fd5b50610241610990565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028f57600080fd5b506102986109b6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e657600080fd5b506102ef6109dc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561032f578082015181840152602081019050610314565b50505050905090810190601f16801561035c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561037657600080fd5b5061037f610a7a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103cd57600080fd5b506103d6610aa0565b604051808261ffff1661ffff16815260200191505060405180910390f35b34801561040057600080fd5b50610423600480360381019080803561ffff169060200190929190505050610ab4565b005b34801561043157600080fd5b506104546004803603810190808035600019169060200190929190505050610ac1565b604051808215151515815260200191505060405180910390f35b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156104cc57600080fd5b600960008484604051602001808383808284378201915050925050506040516020818303038152906040526040518082805190602001908083835b60208310151561052c5780518252602082019150602081019050602083039250610507565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515156105f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5369676e6174757265206e6f7420756e6971756500000000000000000000000081525060200191505060405180910390fd5b6001600960008585604051602001808383808284378201915050925050506040516020818303038152906040526040518082805190602001908083835b602083101515610654578051825260208201915060208101905060208303925061062f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c83126ed878787306040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808561ffff1661ffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050602060405180830381600087803b1580156107bf57600080fd5b505af11580156107d3573d6000803e3d6000fd5b505050506040513d60208110156107e957600080fd5b81019080805190602001909291905050509050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397aba7f98285856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018060200182810382528484828181526020019250808284378201915050945050505050602060405180830381600087803b1580156108b757600080fd5b505af11580156108cb573d6000803e3d6000fd5b505050506040513d60208110156108e157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151561092b57600080fd5b6109358686610ae1565b505050505050565b60035481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915054906101000a900461ffff1681565b60025481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a725780601f10610a4757610100808354040283529160200191610a72565b820191906000526020600020905b815481529060010190602001808311610a5557829003601f168201915b505050505081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900461ffff1681565b610abe8133610ae1565b50565b60096020528060005260406000206000915054906101000a900460ff1681565b60006002544210158015610af757506003544211155b1515610b0257600080fd5b600160009054906101000a900461ffff1661ffff168361ffff1611158015610b2e575060008361ffff16115b1515610b3957600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631a5b70ad836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610bf657600080fd5b505af1158015610c0a573d6000803e3d6000fd5b505050506040513d6020811015610c2057600080fd5b81019080805190602001909291905050509050826008600083815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055508261ffff168273ffffffffffffffffffffffffffffffffffffffff167f2fed3c9ea3d003e94f3c55c5c6ae89aaaee93e8f058f0565d089c3b32b5b328660405160405180910390a35050505600a165627a7a723058207db58744725063945b871a6967792f04d7522592366325ad5e8a0c238f97b9f10029a165627a7a7230582020de18bb83a734e005165161032e6fb4eec1c254ba405bb916f56ae75fb5c39a0029
Deployed Bytecode
0x608060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680632d7ab7b714610067578063842ff2bd14610192578063ac2f0074146101bd578063be82fffe1461022a575b600080fd5b34801561007357600080fd5b50610150600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803561ffff1690602001909291908035906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610296565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561019e57600080fd5b506101a76104ef565b6040518082815260200191505060405180910390f35b3480156101c957600080fd5b506101e8600480360381019080803590602001909291905050506104fb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023657600080fd5b5061023f610539565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b83811015610282578082015181840152602081019050610267565b505050509050019250505060405180910390f35b60008088888888338989896102a96105c7565b80806020018961ffff1661ffff1681526020018881526020018781526020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182810382528a818151815260200191508051906020019080838360005b838110156103c85780820151818401526020810190506103ad565b50505050905090810190601f1680156103f55780820380516001836020036101000a031916815260200191505b509950505050505050505050604051809103906000f08015801561041d573d6000803e3d6000fd5b50905060008190806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f5b850d927499bc55df3941f7c4ae97ab6fce34a21f4df0ab30694f24353445b260405160405180910390a380915050979650505050505050565b60008080549050905090565b60008181548110151561050a57fe5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060008054806020026020016040519081016040528092919081815260200182805480156105bd57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610573575b5050505050905090565b604051610fe0806105d883390190560060806040523480156200001157600080fd5b5060405162000fe038038062000fe083398101806040528101908080518201929190602001805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050504286101580156200008f57508585115b15156200009b57600080fd5b620000b58862000217640100000000026401000000009004565b1515620000c157600080fd5b86600160006101000a81548161ffff021916908361ffff160217905550856002819055508460038190555087600090805190602001906200010492919062000247565b5083600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505050620002f6565b600080600283511115156200022b57600080fd5b602183015160001a90506002810160ff16835114915050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028a57805160ff1916838001178555620002bb565b82800160010185558215620002bb579182015b82811115620002ba5782518255916020019190600101906200029d565b5b509050620002ca9190620002ce565b5090565b620002f391905b80821115620002ef576000816000905550600101620002d5565b5090565b90565b610cda80620003066000396000f3006080604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631066cd3c146100bf5780633197cbb61461013657806344d0afbc146101615780635df81330146101b857806378e97925146102015780637b1039991461022c5780637d131158146102835780638bb36848146102da578063a6c3e6b91461036a578063a9092c11146103c1578063ddb6e116146103f4578063f978fd6114610425575b600080fd5b3480156100cb57600080fd5b50610134600480360381019080803561ffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560001916906020019092919080359060200190820180359060200191909192939192939050505061046e565b005b34801561014257600080fd5b5061014b61093d565b6040518082815260200191505060405180910390f35b34801561016d57600080fd5b50610176610943565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101c457600080fd5b506101e360048036038101908080359060200190929190505050610969565b604051808261ffff1661ffff16815260200191505060405180910390f35b34801561020d57600080fd5b5061021661098a565b6040518082815260200191505060405180910390f35b34801561023857600080fd5b50610241610990565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561028f57600080fd5b506102986109b6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102e657600080fd5b506102ef6109dc565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561032f578082015181840152602081019050610314565b50505050905090810190601f16801561035c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561037657600080fd5b5061037f610a7a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103cd57600080fd5b506103d6610aa0565b604051808261ffff1661ffff16815260200191505060405180910390f35b34801561040057600080fd5b50610423600480360381019080803561ffff169060200190929190505050610ab4565b005b34801561043157600080fd5b506104546004803603810190808035600019169060200190929190505050610ac1565b604051808215151515815260200191505060405180910390f35b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156104cc57600080fd5b600960008484604051602001808383808284378201915050925050506040516020818303038152906040526040518082805190602001908083835b60208310151561052c5780518252602082019150602081019050602083039250610507565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff161515156105f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f5369676e6174757265206e6f7420756e6971756500000000000000000000000081525060200191505060405180910390fd5b6001600960008585604051602001808383808284378201915050925050506040516020818303038152906040526040518082805190602001908083835b602083101515610654578051825260208201915060208101905060208303925061062f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c83126ed878787306040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808561ffff1661ffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183600019166000191681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001945050505050602060405180830381600087803b1580156107bf57600080fd5b505af11580156107d3573d6000803e3d6000fd5b505050506040513d60208110156107e957600080fd5b81019080805190602001909291905050509050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397aba7f98285856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018084600019166000191681526020018060200182810382528484828181526020019250808284378201915050945050505050602060405180830381600087803b1580156108b757600080fd5b505af11580156108cb573d6000803e3d6000fd5b505050506040513d60208110156108e157600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151561092b57600080fd5b6109358686610ae1565b505050505050565b60035481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60086020528060005260406000206000915054906101000a900461ffff1681565b60025481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a725780601f10610a4757610100808354040283529160200191610a72565b820191906000526020600020905b815481529060010190602001808311610a5557829003601f168201915b505050505081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900461ffff1681565b610abe8133610ae1565b50565b60096020528060005260406000206000915054906101000a900460ff1681565b60006002544210158015610af757506003544211155b1515610b0257600080fd5b600160009054906101000a900461ffff1661ffff168361ffff1611158015610b2e575060008361ffff16115b1515610b3957600080fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631a5b70ad836040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610bf657600080fd5b505af1158015610c0a573d6000803e3d6000fd5b505050506040513d6020811015610c2057600080fd5b81019080805190602001909291905050509050826008600083815260200190815260200160002060006101000a81548161ffff021916908361ffff1602179055508261ffff168273ffffffffffffffffffffffffffffffffffffffff167f2fed3c9ea3d003e94f3c55c5c6ae89aaaee93e8f058f0565d089c3b32b5b328660405160405180910390a35050505600a165627a7a723058207db58744725063945b871a6967792f04d7522592366325ad5e8a0c238f97b9f10029a165627a7a7230582020de18bb83a734e005165161032e6fb4eec1c254ba405bb916f56ae75fb5c39a0029
Swarm Source
bzzr://20de18bb83a734e005165161032e6fb4eec1c254ba405bb916f56ae75fb5c39a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
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.