More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 76,391 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Revoke True Proo... | 9589615 | 1676 days ago | IN | 0 ETH | 0.00029965 | ||||
Revoke True Proo... | 9589615 | 1676 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9589615 | 1676 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9589615 | 1676 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9589613 | 1676 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9589613 | 1676 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9589609 | 1676 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9589609 | 1676 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9589599 | 1676 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9589598 | 1676 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9499333 | 1689 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9499333 | 1689 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9336541 | 1714 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9336541 | 1714 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9336536 | 1714 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9336536 | 1714 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9278331 | 1723 days ago | IN | 0 ETH | 0.00041212 | ||||
Revoke True Proo... | 9278331 | 1723 days ago | IN | 0 ETH | 0.00041212 | ||||
Revoke True Proo... | 9277694 | 1723 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9277692 | 1723 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9277692 | 1723 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9277692 | 1723 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9277689 | 1723 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9277689 | 1723 days ago | IN | 0 ETH | 0.00029973 | ||||
Revoke True Proo... | 9277687 | 1723 days ago | IN | 0 ETH | 0.00029973 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TrueProfileLogic
Compiler Version
v0.4.20+commit.3155dd80
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-08-07 */ pragma solidity 0.4.20; contract Accessible { /** Access Right Management ** * Copyright 2019 * Florian Weigand * Synalytix UG, Munich * florian(at)synalytix.de */ address public owner; mapping(address => bool) public accessAllowed; function Accessible() public { owner = msg.sender; } modifier ownership() { require(owner == msg.sender); _; } modifier accessible() { require(accessAllowed[msg.sender]); _; } function allowAccess(address _address) ownership public { if (_address != address(0)) { accessAllowed[_address] = true; } } function denyAccess(address _address) ownership public { if (_address != address(0)) { accessAllowed[_address] = false; } } function transferOwnership(address _address) ownership public { if (_address != address(0)) { owner = _address; } } } contract TrueProfileStorage is Accessible { /** Data Storage Contract ** * Copyright 2019 * Florian Weigand * Synalytix UG, Munich * florian(at)synalytix.de */ /**** signature struct ****/ struct Signature { uint8 v; bytes32 r; bytes32 s; uint8 revocationReasonId; bool isValue; } /**** signature storage ****/ mapping(bytes32 => Signature) public signatureStorage; /**** general storage of non-struct data which might be needed for further development of main contract ****/ mapping(bytes32 => uint256) public uIntStorage; mapping(bytes32 => string) public stringStorage; mapping(bytes32 => address) public addressStorage; mapping(bytes32 => bytes) public bytesStorage; mapping(bytes32 => bool) public boolStorage; mapping(bytes32 => int256) public intStorage; /**** CRUD for Signature storage ****/ function getSignature(bytes32 _key) external view returns (uint8 v, bytes32 r, bytes32 s, uint8 revocationReasonId) { Signature memory tempSignature = signatureStorage[_key]; if (tempSignature.isValue) { return(tempSignature.v, tempSignature.r, tempSignature.s, tempSignature.revocationReasonId); } else { return(0, bytes32(0), bytes32(0), 0); } } function setSignature(bytes32 _key, uint8 _v, bytes32 _r, bytes32 _s, uint8 _revocationReasonId) accessible external { require(ecrecover(_key, _v, _r, _s) != 0x0); Signature memory tempSignature = Signature({ v: _v, r: _r, s: _s, revocationReasonId: _revocationReasonId, isValue: true }); signatureStorage[_key] = tempSignature; } function deleteSignature(bytes32 _key) accessible external { require(signatureStorage[_key].isValue); Signature memory tempSignature = Signature({ v: 0, r: bytes32(0), s: bytes32(0), revocationReasonId: 0, isValue: false }); signatureStorage[_key] = tempSignature; } /**** Get Methods for additional storage ****/ function getAddress(bytes32 _key) external view returns (address) { return addressStorage[_key]; } function getUint(bytes32 _key) external view returns (uint) { return uIntStorage[_key]; } function getString(bytes32 _key) external view returns (string) { return stringStorage[_key]; } function getBytes(bytes32 _key) external view returns (bytes) { return bytesStorage[_key]; } function getBool(bytes32 _key) external view returns (bool) { return boolStorage[_key]; } function getInt(bytes32 _key) external view returns (int) { return intStorage[_key]; } /**** Set Methods for additional storage ****/ function setAddress(bytes32 _key, address _value) accessible external { addressStorage[_key] = _value; } function setUint(bytes32 _key, uint _value) accessible external { uIntStorage[_key] = _value; } function setString(bytes32 _key, string _value) accessible external { stringStorage[_key] = _value; } function setBytes(bytes32 _key, bytes _value) accessible external { bytesStorage[_key] = _value; } function setBool(bytes32 _key, bool _value) accessible external { boolStorage[_key] = _value; } function setInt(bytes32 _key, int _value) accessible external { intStorage[_key] = _value; } /**** Delete Methods for additional storage ****/ function deleteAddress(bytes32 _key) accessible external { delete addressStorage[_key]; } function deleteUint(bytes32 _key) accessible external { delete uIntStorage[_key]; } function deleteString(bytes32 _key) accessible external { delete stringStorage[_key]; } function deleteBytes(bytes32 _key) accessible external { delete bytesStorage[_key]; } function deleteBool(bytes32 _key) accessible external { delete boolStorage[_key]; } function deleteInt(bytes32 _key) accessible external { delete intStorage[_key]; } } contract TrueProfileLogic is Accessible { /** Logic Contract (updatable) ** * Copyright 2019 * Florian Weigand * Synalytix UG, Munich * florian(at)synalytix.de */ TrueProfileStorage trueProfileStorage; function TrueProfileLogic(address _trueProfileStorage) public { trueProfileStorage = TrueProfileStorage(_trueProfileStorage); } /**** Signature logic methods ****/ // add or update TrueProof // if not present add to array // if present the old TrueProof can be replaced with a new TrueProof function addTrueProof(bytes32 _key, uint8 _v, bytes32 _r, bytes32 _s) accessible external { require(accessAllowed[ecrecover(_key, _v, _r, _s)]); // the certifcate is valid, so set the revokationReasonId to 0 uint8 revokationReasonId = 0; trueProfileStorage.setSignature(_key, _v, _r, _s, revokationReasonId); } // if the TrueProof was issued by error it can be revoked // for revocation a reason id needs to be given function revokeTrueProof(bytes32 _key, uint8 _revocationReasonId) accessible external { require(_revocationReasonId != 0); uint8 v; bytes32 r; bytes32 s; uint8 oldRevocationReasonId; (v, r, s, oldRevocationReasonId) = trueProfileStorage.getSignature(_key); require(v != 0); // set the revokation reason id to the new value trueProfileStorage.setSignature(_key, v, r, s, _revocationReasonId); } function isValidTrueProof(bytes32 _key) external view returns (bool) { // needs to be not revoked AND needs to have a valid signature if (this.isValidSignatureTrueProof(_key) && this.isNotRevokedTrueProof(_key)) { return true; } else { return false; } } function isValidSignatureTrueProof(bytes32 _key) external view returns (bool) { uint8 v; bytes32 r; bytes32 s; uint8 revocationReasonId; (v, r, s, revocationReasonId) = trueProfileStorage.getSignature(_key); // needs to have a valid signature if (accessAllowed[ecrecover(_key, v, r, s)]) { return true; } else { return false; } } function isNotRevokedTrueProof(bytes32 _key) external view returns (bool) { uint8 v; bytes32 r; bytes32 s; uint8 revocationReasonId; (v, r, s, revocationReasonId) = trueProfileStorage.getSignature(_key); // needs to be not revoked if (revocationReasonId == 0) { return true; } else { return false; } } function getSignature(bytes32 _key) external view returns (uint8 v, bytes32 r, bytes32 s, uint8 revocationReasonId) { return trueProfileStorage.getSignature(_key); } function getRevocationReasonId(bytes32 _key) external view returns (uint8) { uint8 v; bytes32 r; bytes32 s; uint8 revocationReasonId; (v, r, s, revocationReasonId) = trueProfileStorage.getSignature(_key); return revocationReasonId; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"_key","type":"bytes32"}],"name":"getRevocationReasonId","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_key","type":"bytes32"}],"name":"isValidSignatureTrueProof","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_key","type":"bytes32"}],"name":"isNotRevokedTrueProof","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"denyAccess","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"accessAllowed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"allowAccess","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_key","type":"bytes32"}],"name":"getSignature","outputs":[{"name":"v","type":"uint8"},{"name":"r","type":"bytes32"},{"name":"s","type":"bytes32"},{"name":"revocationReasonId","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_key","type":"bytes32"},{"name":"_revocationReasonId","type":"uint8"}],"name":"revokeTrueProof","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_key","type":"bytes32"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"addTrueProof","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_key","type":"bytes32"}],"name":"isValidTrueProof","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_trueProfileStorage","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]
Contract Creation Code
6060604052341561000f57600080fd5b604051602080610a9f8339810160405280805160008054600160a060020a03338116600160a060020a031992831617909255600280549290931691161790555050610a408061005f6000396000f30060606040526004361061009f5763ffffffff60e060020a600035041662d2d89e81146100a457806339b2a61f146100d05780633a44ab56146100fa57806361afd5ac1461011057806372501976146101315780638da5cb5b14610150578063c4a85bc11461017f578063c4b14e0b1461019e578063dcffcdc9146101e2578063e5595ac5146101fe578063f2fde38b14610220578063f3258da11461023f575b600080fd5b34156100af57600080fd5b6100ba600435610255565b60405160ff909116815260200160405180910390f35b34156100db57600080fd5b6100e66004356102f3565b604051901515815260200160405180910390f35b341561010557600080fd5b6100e660043561042b565b341561011b57600080fd5b61012f600160a060020a03600435166104d0565b005b341561013c57600080fd5b6100e6600160a060020a036004351661051e565b341561015b57600080fd5b610163610533565b604051600160a060020a03909116815260200160405180910390f35b341561018a57600080fd5b61012f600160a060020a0360043516610542565b34156101a957600080fd5b6101b4600435610593565b60405160ff948516815260208101939093526040808401929092529092166060820152608001905180910390f35b34156101ed57600080fd5b61012f60043560ff60243516610628565b341561020957600080fd5b61012f60043560ff60243516604435606435610780565b341561022b57600080fd5b61012f600160a060020a03600435166108c9565b341561024a57600080fd5b6100e6600435610920565b6002546000908190819081908190600160a060020a031663c4b14e0b87836040516080015260405160e060020a63ffffffff84160281526004810191909152602401608060405180830381600087803b15156102b057600080fd5b6102c65a03f115156102c157600080fd5b505050604051805190602001805190602001805190602001805198509296509094509250859150505b50505050919050565b6002546000908190819081908190600160a060020a031663c4b14e0b87836040516080015260405160e060020a63ffffffff84160281526004810191909152602401608060405180830381600087803b151561034e57600080fd5b6102c65a03f1151561035f57600080fd5b5050506040518051906020018051906020018051906020018051939750919550935090915060019050600081888787876040516000815260200160405260006040516020015260405193845260ff90921660208085019190915260408085019290925260608401929092526080909201915160208103908084039060008661646e5a03f115156103ee57600080fd5b505060206040510351600160a060020a0316815260208101919091526040016000205460ff161561042257600194506102ea565b600094506102ea565b6002546000908190819081908190600160a060020a031663c4b14e0b87836040516080015260405160e060020a63ffffffff84160281526004810191909152602401608060405180830381600087803b151561048657600080fd5b6102c65a03f1151561049757600080fd5b505050604051805190602001805190602001805190602001805193975091955093509091505060ff8116151561042257600194506102ea565b60005433600160a060020a039081169116146104eb57600080fd5b600160a060020a0381161561051b57600160a060020a0381166000908152600160205260409020805460ff191690555b50565b60016020526000908152604090205460ff1681565b600054600160a060020a031681565b60005433600160a060020a0390811691161461055d57600080fd5b600160a060020a0381161561051b57600160a060020a03166000908152600160208190526040909120805460ff19169091179055565b600254600090819081908190600160a060020a031663c4b14e0b86836040516080015260405160e060020a63ffffffff84160281526004810191909152602401608060405180830381600087803b15156105ec57600080fd5b6102c65a03f115156105fd57600080fd5b5050506040518051906020018051906020018051906020018051905093509350935093509193509193565b600160a060020a03331660009081526001602052604081205481908190819060ff16151561065557600080fd5b60ff8516151561066457600080fd5b600254600160a060020a031663c4b14e0b8760006040516080015260405160e060020a63ffffffff84160281526004810191909152602401608060405180830381600087803b15156106b557600080fd5b6102c65a03f115156106c657600080fd5b505050604051805190602001805190602001805190602001805193975091955093509091505060ff841615156106fb57600080fd5b600254600160a060020a031663f68921b2878686868a60405160e060020a63ffffffff8816028152600481019590955260ff93841660248601526044850192909252606484015216608482015260a401600060405180830381600087803b151561076457600080fd5b6102c65a03f1151561077557600080fd5b505050505050505050565b600160a060020a03331660009081526001602052604081205460ff1615156107a757600080fd5b600160006001878787876040516000815260200160405260006040516020015260405193845260ff90921660208085019190915260408085019290925260608401929092526080909201915160208103908084039060008661646e5a03f1151561081057600080fd5b505060206040510351600160a060020a0316815260208101919091526040016000205460ff16151561084157600080fd5b50600254600090600160a060020a031663f68921b2868686868660405160e060020a63ffffffff8816028152600481019590955260ff93841660248601526044850192909252606484015216608482015260a401600060405180830381600087803b15156108ae57600080fd5b6102c65a03f115156108bf57600080fd5b5050505050505050565b60005433600160a060020a039081169116146108e457600080fd5b600160a060020a0381161561051b5760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b600030600160a060020a03166339b2a61f8360006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561097157600080fd5b6102c65a03f1151561098257600080fd5b5050506040518051905080156109fe575030600160a060020a0316633a44ab568360006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156109e257600080fd5b6102c65a03f115156109f357600080fd5b505050604051805190505b15610a0b57506001610a0f565b5060005b9190505600a165627a7a72305820a08716105a19a27b7de63e465320a2e27ac77536337b7d32cc210e29b84841690029000000000000000000000000ddf251ffd75478892a721e196eacc6e38e8ac4dd
Deployed Bytecode
0x60606040526004361061009f5763ffffffff60e060020a600035041662d2d89e81146100a457806339b2a61f146100d05780633a44ab56146100fa57806361afd5ac1461011057806372501976146101315780638da5cb5b14610150578063c4a85bc11461017f578063c4b14e0b1461019e578063dcffcdc9146101e2578063e5595ac5146101fe578063f2fde38b14610220578063f3258da11461023f575b600080fd5b34156100af57600080fd5b6100ba600435610255565b60405160ff909116815260200160405180910390f35b34156100db57600080fd5b6100e66004356102f3565b604051901515815260200160405180910390f35b341561010557600080fd5b6100e660043561042b565b341561011b57600080fd5b61012f600160a060020a03600435166104d0565b005b341561013c57600080fd5b6100e6600160a060020a036004351661051e565b341561015b57600080fd5b610163610533565b604051600160a060020a03909116815260200160405180910390f35b341561018a57600080fd5b61012f600160a060020a0360043516610542565b34156101a957600080fd5b6101b4600435610593565b60405160ff948516815260208101939093526040808401929092529092166060820152608001905180910390f35b34156101ed57600080fd5b61012f60043560ff60243516610628565b341561020957600080fd5b61012f60043560ff60243516604435606435610780565b341561022b57600080fd5b61012f600160a060020a03600435166108c9565b341561024a57600080fd5b6100e6600435610920565b6002546000908190819081908190600160a060020a031663c4b14e0b87836040516080015260405160e060020a63ffffffff84160281526004810191909152602401608060405180830381600087803b15156102b057600080fd5b6102c65a03f115156102c157600080fd5b505050604051805190602001805190602001805190602001805198509296509094509250859150505b50505050919050565b6002546000908190819081908190600160a060020a031663c4b14e0b87836040516080015260405160e060020a63ffffffff84160281526004810191909152602401608060405180830381600087803b151561034e57600080fd5b6102c65a03f1151561035f57600080fd5b5050506040518051906020018051906020018051906020018051939750919550935090915060019050600081888787876040516000815260200160405260006040516020015260405193845260ff90921660208085019190915260408085019290925260608401929092526080909201915160208103908084039060008661646e5a03f115156103ee57600080fd5b505060206040510351600160a060020a0316815260208101919091526040016000205460ff161561042257600194506102ea565b600094506102ea565b6002546000908190819081908190600160a060020a031663c4b14e0b87836040516080015260405160e060020a63ffffffff84160281526004810191909152602401608060405180830381600087803b151561048657600080fd5b6102c65a03f1151561049757600080fd5b505050604051805190602001805190602001805190602001805193975091955093509091505060ff8116151561042257600194506102ea565b60005433600160a060020a039081169116146104eb57600080fd5b600160a060020a0381161561051b57600160a060020a0381166000908152600160205260409020805460ff191690555b50565b60016020526000908152604090205460ff1681565b600054600160a060020a031681565b60005433600160a060020a0390811691161461055d57600080fd5b600160a060020a0381161561051b57600160a060020a03166000908152600160208190526040909120805460ff19169091179055565b600254600090819081908190600160a060020a031663c4b14e0b86836040516080015260405160e060020a63ffffffff84160281526004810191909152602401608060405180830381600087803b15156105ec57600080fd5b6102c65a03f115156105fd57600080fd5b5050506040518051906020018051906020018051906020018051905093509350935093509193509193565b600160a060020a03331660009081526001602052604081205481908190819060ff16151561065557600080fd5b60ff8516151561066457600080fd5b600254600160a060020a031663c4b14e0b8760006040516080015260405160e060020a63ffffffff84160281526004810191909152602401608060405180830381600087803b15156106b557600080fd5b6102c65a03f115156106c657600080fd5b505050604051805190602001805190602001805190602001805193975091955093509091505060ff841615156106fb57600080fd5b600254600160a060020a031663f68921b2878686868a60405160e060020a63ffffffff8816028152600481019590955260ff93841660248601526044850192909252606484015216608482015260a401600060405180830381600087803b151561076457600080fd5b6102c65a03f1151561077557600080fd5b505050505050505050565b600160a060020a03331660009081526001602052604081205460ff1615156107a757600080fd5b600160006001878787876040516000815260200160405260006040516020015260405193845260ff90921660208085019190915260408085019290925260608401929092526080909201915160208103908084039060008661646e5a03f1151561081057600080fd5b505060206040510351600160a060020a0316815260208101919091526040016000205460ff16151561084157600080fd5b50600254600090600160a060020a031663f68921b2868686868660405160e060020a63ffffffff8816028152600481019590955260ff93841660248601526044850192909252606484015216608482015260a401600060405180830381600087803b15156108ae57600080fd5b6102c65a03f115156108bf57600080fd5b5050505050505050565b60005433600160a060020a039081169116146108e457600080fd5b600160a060020a0381161561051b5760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b600030600160a060020a03166339b2a61f8360006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561097157600080fd5b6102c65a03f1151561098257600080fd5b5050506040518051905080156109fe575030600160a060020a0316633a44ab568360006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b15156109e257600080fd5b6102c65a03f115156109f357600080fd5b505050604051805190505b15610a0b57506001610a0f565b5060005b9190505600a165627a7a72305820a08716105a19a27b7de63e465320a2e27ac77536337b7d32cc210e29b84841690029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000ddf251ffd75478892a721e196eacc6e38e8ac4dd
-----Decoded View---------------
Arg [0] : _trueProfileStorage (address): 0xDDf251FFd75478892a721E196EACC6e38e8Ac4dd
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ddf251ffd75478892a721e196eacc6e38e8ac4dd
Deployed Bytecode Sourcemap
5477:3240:0:-;;;;;;;;;-1:-1:-1;;;5477:3240:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8420:294;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7356:446;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7810:415;;;;;;;;;;;;;;718:159;;;;;;;;;;-1:-1:-1;;;;;718:159:0;;;;;;;236:49;;;;;;;;;;-1:-1:-1;;;;;236:49:0;;;;;204:25;;;;;;;;;;;;;;;-1:-1:-1;;;;;204:25:0;;;;;;;;;;;;;;551:159;;;;;;;;;;-1:-1:-1;;;;;551:159:0;;;;;8233:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6532:485;;;;;;;;;;;;;;;;;;6057:351;;;;;;;;;;;;;;;;;;;;;;885:151;;;;;;;;;;-1:-1:-1;;;;;885:151:0;;;;;7025:323;;;;;;;;;;;;;;8420:294;8631:18;;8488:5;;;;;;;;;;-1:-1:-1;;;;;8631:18:0;:31;8663:4;8488:5;8631:37;;;;;;;-1:-1:-1;;;8631:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8599:69:0;;-1:-1:-1;8599:69:0;;-1:-1:-1;8599:69:0;-1:-1:-1;8631:37:0;;-1:-1:-1;;8420:294:0;;;;;;;;:::o;7356:446::-;7570:18;;7428:4;;;;;;;;;;-1:-1:-1;;;;;7570:18:0;:31;7602:4;7428;7570:37;;;;;;;-1:-1:-1;;;7570:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7538:69;;-1:-1:-1;7538:69:0;;-1:-1:-1;7538:69:0;-1:-1:-1;7570:37:0;;-1:-1:-1;7668:13:0;;-1:-1:-1;7668:39:0;:13;7692:4;7538:69;;;7682:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7668:39:0;;;;;;;;;;;;-1:-1:-1;7668:39:0;;;;7664:131;;;7731:4;7724:11;;;;7664:131;7775:5;7768:12;;;;7810:415;8020:18;;7878:4;;;;;;;;;;-1:-1:-1;;;;;8020:18:0;:31;8052:4;7878;8020:37;;;;;;;-1:-1:-1;;;8020:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7988:69;;-1:-1:-1;7988:69:0;;-1:-1:-1;7988:69:0;-1:-1:-1;8020:37:0;;-1:-1:-1;;8110:23:0;;;;8106:112;;;8157:4;8150:11;;;;718:159;408:5;;417:10;-1:-1:-1;;;;;408:19:0;;;:5;;:19;400:28;;;;;;-1:-1:-1;;;;;788:22:0;;;784:86;;-1:-1:-1;;;;;827:23:0;;853:5;827:23;;;:13;:23;;;;;:31;;-1:-1:-1;;827:31:0;;;784:86;718:159;:::o;236:49::-;;;;;;;;;;;;;;;:::o;204:25::-;;;-1:-1:-1;;;;;204:25:0;;:::o;551:159::-;408:5;;417:10;-1:-1:-1;;;;;408:19:0;;;:5;;:19;400:28;;;;;;-1:-1:-1;;;;;622:22:0;;;618:85;;-1:-1:-1;;;;;661:23:0;;;;;687:4;661:23;;;;;;;;:30;;-1:-1:-1;;661:30:0;;;;;;551:159::o;8233:179::-;8367:18;;8292:7;;;;;;;;-1:-1:-1;;;;;8367:18:0;:31;8399:4;8292:7;8367:37;;;;;;;-1:-1:-1;;;8367:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8360:44;;;;;;;;8233:179;;;;;:::o;6532:485::-;-1:-1:-1;;;;;511:10:0;497:25;6675:7;497:25;;;:13;:25;;;;;;6675:7;;;;;;497:25;;489:34;;;;;;;;6637:24;;;;;6629:33;;;;;;6806:18;;-1:-1:-1;;;;;6806:18:0;:31;6838:4;6806:18;:37;;;;;;;-1:-1:-1;;;6806:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6771:72;;-1:-1:-1;6771:72:0;;-1:-1:-1;6771:72:0;-1:-1:-1;6806:37:0;;-1:-1:-1;;6864:6:0;;;;;6856:15;;;;;;6942:18;;-1:-1:-1;;;;;6942:18:0;:31;6974:4;6980:1;6983;6986;6989:19;6942:67;;-1:-1:-1;;;6942:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6532:485;;;;;;:::o;6057:351::-;-1:-1:-1;;;;;511:10:0;497:25;6292:24;497:25;;;:13;:25;;;;;;;;489:34;;;;;;;;6166:13;:42;6180:27;6190:4;6196:2;6200;6204;6180:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6166:42:0;;;;;;;;;;;;-1:-1:-1;6166:42:0;;;;6158:51;;;;;;;;-1:-1:-1;6331:18:0;;6319:1;;-1:-1:-1;;;;;6331:18:0;:31;6363:4;6369:2;6373;6377;6319:1;6331:69;;-1:-1:-1;;;6331:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6057:351;;;;;:::o;885:151::-;408:5;;417:10;-1:-1:-1;;;;;408:19:0;;;:5;;:19;400:28;;;;;;-1:-1:-1;;;;;962:22:0;;;958:71;;1001:5;:16;;-1:-1:-1;;;;;1001:16:0;;-1:-1:-1;;1001:16:0;;;;;;885:151;:::o;7025:323::-;7088:4;7181;-1:-1:-1;;;;;7181:30:0;;7212:4;7181:36;;;;;;;;-1:-1:-1;;;7181:36:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:72;;;;;7221:4;-1:-1:-1;;;;;7221:26:0;;7248:4;7221:32;;;;;;;;-1:-1:-1;;;7221:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7181:72;7177:164;;;-1:-1:-1;7277:4:0;7270:11;;7177:164;-1:-1:-1;7321:5:0;7177:164;7025:323;;;:::o
Swarm Source
bzzr://a08716105a19a27b7de63e465320a2e27ac77536337b7d32cc210e29b8484169
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.