ETH Price: $2,390.83 (-3.81%)

Contract

0x000D2d31815990FCA6f69dFD978C4d4A56B2Ed6b
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Revoke True Proo...95896152020-03-02 4:57:451676 days ago1583125065IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299656
Revoke True Proo...95896152020-03-02 4:57:451676 days ago1583125065IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...95896152020-03-02 4:57:451676 days ago1583125065IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...95896152020-03-02 4:57:451676 days ago1583125065IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...95896132020-03-02 4:57:401676 days ago1583125060IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...95896132020-03-02 4:57:401676 days ago1583125060IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...95896092020-03-02 4:56:531676 days ago1583125013IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...95896092020-03-02 4:56:531676 days ago1583125013IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...95895992020-03-02 4:54:281676 days ago1583124868IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...95895982020-03-02 4:54:161676 days ago1583124856IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...94993332020-02-17 7:38:151689 days ago1581925095IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...94993332020-02-17 7:38:151689 days ago1581925095IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...93365412020-01-23 7:28:081714 days ago1579764488IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...93365412020-01-23 7:28:081714 days ago1579764488IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...93365362020-01-23 7:25:591714 days ago1579764359IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...93365362020-01-23 7:25:591714 days ago1579764359IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...92783312020-01-14 9:25:451723 days ago1578993945IN
0x000D2d31...A56B2Ed6b
0 ETH0.000412128.25
Revoke True Proo...92783312020-01-14 9:25:451723 days ago1578993945IN
0x000D2d31...A56B2Ed6b
0 ETH0.000412128.25
Revoke True Proo...92776942020-01-14 7:02:191723 days ago1578985339IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...92776922020-01-14 7:02:111723 days ago1578985331IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...92776922020-01-14 7:02:111723 days ago1578985331IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...92776922020-01-14 7:02:111723 days ago1578985331IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...92776892020-01-14 7:01:501723 days ago1578985310IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...92776892020-01-14 7:01:501723 days ago1578985310IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
Revoke True Proo...92776872020-01-14 7:01:271723 days ago1578985287IN
0x000D2d31...A56B2Ed6b
0 ETH0.000299736
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
TrueProfileLogic

Compiler Version
v0.4.20+commit.3155dd80

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

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

Contract ABI

[{"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"}]

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

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.