Contract 0x933492b6B7038A7e4f14b64DEFe40463F9bc3508 1

 
Txn Hash
Method
Block
From
To
Value
0x838560f4e6f7ef41b0b994644c94e18ce629f3f6942352112a95f15f11c55ee8Set Approval For...152376342022-07-29 13:28:1818 days 18 hrs ago0xc8f73fbc5a8f832ae4c106191269b2a1be93e83a IN  OG Passport : OGPToken0 Ether0.‍00075335 14.‍74901582
0x7aba954ac4c3bd4297a266525072a55eeb32f5fe733a77dc2845c4500c5f07f0Set Approval For...152130062022-07-25 17:23:5122 days 14 hrs ago0xb91b0e319af35145871a364f24d55f01f30c615f IN  OG Passport : OGPToken0 Ether0.‍00332482 65.‍09305552
0x5f428632ba582781721e48349dcbf7d79d6b90004ca6536310aaa1d1fc2ac890Set Approval For...152127332022-07-25 16:21:1522 days 15 hrs ago0x91a9b4da163a1f248c92dbd262ad3e95e042c87e IN  OG Passport : OGPToken0 Ether0.‍0021855 42.‍78763141
0x6167d53a1d566611261c71a26e31bd9fef166b785ae401a9d4cb77ddb5da9a16Set Approval For...150433662022-06-29 5:01:3249 days 2 hrs ago0x67857af40f0474a310dc05a3cf882f0f7dec2b33 IN  OG Passport : OGPToken0 Ether0.‍00192474 37.‍62060282
0x75d1567a9c1098640773e5a66f14722201e1b5ae3dbe46a007cbccb7eb92b6efSet Approval For...149940742022-06-20 2:15:1658 days 5 hrs ago0xfc541cd48e0795f042cc58dd730923fcd099e31d IN  OG Passport : OGPToken0 Ether0.‍00115077 22.‍4928329
0x21b2142280b2c77f590d4ab359d3afd95129bca3518b3be8047c715c1b76fab3Transfer From149035742022-06-04 13:51:1673 days 17 hrs ago0x4dba22c61b8818c94de797680840d25b1e2623b4 IN  OG Passport : OGPToken0 Ether0.‍00650856 58.‍84248232
0x5219bd1909d6701c59f7b77c64b425ceff640b6d3a707e2ca7849890b0caf37dSet Approval For...149035592022-06-04 13:46:5573 days 18 hrs agoENS Name nathias.eth IN  OG Passport : OGPToken0 Ether0.‍0034278567
0x010a9803515bf966a8cef0444349a8078aceae7dd515efde1a99a380c2a6de9eSet Approval For...148616742022-05-28 17:43:2080 days 14 hrs ago0x5cb1d4b99f972ccdeccefcfec638d72f9629b5d0 IN  OG Passport : OGPToken0 Ether0.‍00087773 17.‍15597321
0xc476b5831c26b640aca175f9c90354ede3da898f6d35275d5a9dc23e71e36d49Set Approval For...148616332022-05-28 17:35:2880 days 14 hrs ago0x7b1800b20e87e607b2791282dff9e069bb18493c IN  OG Passport : OGPToken0 Ether0.‍00131146 25.‍63364
0x9c80e933126116de14ff6c9a59630ebfd98fe7693505564c7949c3b35d5768bdSet Approval For...148615612022-05-28 17:19:5280 days 14 hrs ago0xa5fec37d68171781fb3f93702a30905ef75dd22e IN  OG Passport : OGPToken0 Ether0.‍00171739 33.‍56776483
0x719a3295cf50cc1850f9728ebeea75460820e36ff48a6724642fd06dc3885034Set Approval For...148098902022-05-20 7:55:1788 days 23 hrs agoENS Name bluerheart.eth IN  OG Passport : OGPToken0 Ether0.‍00097575 19.‍07177787
0x1bfc627c2627ead115e88b12280f251c709652cfb93264bd1eb66c5a10d9f827Set Approval For...148098902022-05-20 7:55:1788 days 23 hrs agoENS Name bluerheart.eth IN  OG Passport : OGPToken0 Ether0.‍00097575 19.‍07177787
0x2306cbc0a30ddd2d83f3611df3cc831deec42f8570c2699a62c2c9aca8321d14Set Approval For...148098902022-05-20 7:55:1788 days 23 hrs agoENS Name bluerheart.eth IN  OG Passport : OGPToken0 Ether0.‍00097575 19.‍07177787
0xb81b9b127cd7358d6152cf829a4c1c20ec268dae27fc0423e884332f408338f9Safe Transfer Fr...147840682022-05-16 4:04:4193 days 3 hrs agoENS Name xpollinate.eth IN  OG Passport : OGPToken0 Ether0.‍00195923 17.‍68741572
0x0fe3b52f7e67943fb0518e4d74961fff0cf39f18f8a8c67ecbf5a275d40d9e7dSet Approval For...147620182022-05-12 16:05:1496 days 15 hrs ago0xff26ccf9058b9bd8facfb6a8876864fec193285d IN  OG Passport : OGPToken0 Ether0.‍00826197 161.‍48655441
0x6b0fddd16683e09f64222a7c34ce41f38092ec8055e6941cf14f1b434fe18e35Set Approval For...147275562022-05-07 3:49:49102 days 3 hrs agoENS Name ayuayu.eth IN  OG Passport : OGPToken0 Ether0.‍00158019 30.‍88620113
0xe2083cbf0b9c31e85eeb1cd1f3d669488fcf25d8a3d13cd6d8e5f56f83416a65Transfer From147091892022-05-04 5:51:43105 days 1 hr agoENS Name adamclarke.eth IN  OG Passport : OGPToken0 Ether0.‍00421097 39.‍03748055
0xd5370cdd2b87fbbfe71ce019ae1141ee60b6685bae44af7189b82137df5f3cc7Safe Transfer Fr...146853082022-04-30 11:21:34108 days 20 hrs agoENS Name choccy.eth IN  OG Passport : OGPToken0 Ether0.‍00314667 28.‍41033944
0xe797313bd49c140faa05fa7036f1cdfd4d35b1cd7e204ec5052c685e0520d206Safe Transfer Fr...146471452022-04-24 11:15:26114 days 20 hrs agoGitcoin Grants: LTokens IN  OG Passport : OGPToken0 Ether0.‍00252329 22.‍77955203
0xeaf81574bdd1727a38ae3733d38823fa9df58af6bfebd2519574563b277f37bdTransfer From146375792022-04-22 23:19:38116 days 8 hrs ago0xa9d89a5caf6480496acc8f4096fe254f24329ef0 IN  OG Passport : OGPToken0 Ether0.‍00555062 51.‍47954525
0xe3fe76296a35cf1ef4ae3fc6e77a7ad7e27f904c28ab4580d3d7b7872f50a72fSet Approval For...146321892022-04-22 3:09:47117 days 4 hrs ago0xe7a049dd7a9a6439ae70372d6bb8b815b0c8930f IN  OG Passport : OGPToken0 Ether0.‍0031742 62.‍04226035
0xcd9e9ab642bdb6ffc0d6a01ee7a4218c12b6891f4acb36804a13c625ddd63a28Set Approval For...146279142022-04-21 10:59:28117 days 20 hrs agoENS Name 16661888.eth IN  OG Passport : OGPToken0 Ether0.‍00119951 38.‍36963691
0x01647ab40ecae929dc3d60946fcd186254154347526fc5c8738286403abd4373Set Approval For...146278912022-04-21 10:54:46117 days 20 hrs agoENS Name 16661888.eth IN  OG Passport : OGPToken0 Ether0.‍00270348 52.‍84170786
0x6d2c1a4d1c791f8b7202d5704256ba82740162493426dc19edadb5e5a0fcad85Set Approval For...145631382022-04-11 7:47:37127 days 23 hrs agoENS Name msaki.eth IN  OG Passport : OGPToken0 Ether0.‍00130738 25.‍55384427
0xd7c39628ab29a3c8c863ebf7a746db1d33c6bd8beaf3bd3352e52c68bd401fffTransfer From144405532022-03-23 4:55:56147 days 2 hrs agoENS Name newbility.eth IN  OG Passport : OGPToken0 Ether0.‍0029123626.‍99586951
[ Download CSV Export 

OVERVIEW

DeFi Passports powered by on-chain identity.

View more zero value Internal Transactions in Advanced View mode
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ArcProxy

Compiler Version
v0.5.16+commit.9c3226ce

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : ArcProxy.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.5.16;

contract ArcProxy {

    /**
    * @dev Emitted when the implementation is upgraded.
    * @param implementation Address of the new implementation.
    */
    event Upgraded(address indexed implementation);

    /**
    * @dev Emitted when the administration has been transferred.
    * @param previousAdmin Address of the previous admin.
    * @param newAdmin Address of the new admin.
    */
    event AdminChanged(address previousAdmin, address newAdmin);

    /**
    * @dev Storage slot with the admin of the contract.
    * This is the keccak-256 hash of "eip1967.proxy.admin" subtracted by 1, and is
    * validated in the constructor.
    */

    /* solium-disable-next-line */
    bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;

    /**
    * @dev Storage slot with the address of the current implementation.
    * This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
    * validated in the constructor.
    */

    /* solium-disable-next-line */
    bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;

    /**
    * @dev Modifier to check whether the `msg.sender` is the admin.
    * If it is, it will run the function. Otherwise, it will delegate the call
    * to the implementation.
    */
    modifier ifAdmin() {
        if (msg.sender == _admin()) {
            _;
        } else {
            _fallback();
        }
    }

    /**
    * Contract constructor.
    * @param _logic address of the initial implementation.
    * @param _admin Address of the proxy administrator.
    * @param _data Data to send as msg.data to the implementation to initialize the proxied contract.
    * It should include the signature and the parameters of the function to be called, as described in
    * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
    * This parameter is optional, if no data is given the initialization call to proxied contract will be skipped.
    */
    constructor(
        address _logic,
        address _admin,
        bytes memory _data
    )
        public
        payable
    {
        assert(
            IMPLEMENTATION_SLOT == bytes32(
                uint256(keccak256("eip1967.proxy.implementation")) - 1
            )
        );

        _setImplementation(_logic);

        if (_data.length > 0) {
            /* solium-disable-next-line */
            (bool success,) = _logic.delegatecall(_data);
            /* solium-disable-next-line */
            require(success);
        }

        assert(
            ADMIN_SLOT == bytes32(
                uint256(keccak256("eip1967.proxy.admin")) - 1
            )
        );

        _setAdmin(_admin);
    }

    /**
     * @dev Fallback function.
     * Implemented entirely in `_fallback`.
     */
    function () external payable {
        _fallback();
    }

    /**
     * @dev fallback implementation.
     * Extracted to enable manual triggering.
     */
    function _fallback() internal {
        _delegate(_implementation());
    }

    /**
     * @dev Delegates execution to an implementation contract.
     * This is a low level function that doesn't return to its internal call site.
     * It will return to the external caller whatever the implementation returns.
     * @param implementation Address to delegate.
     */
    function _delegate(address implementation) internal {
        /* solium-disable-next-line */
        assembly {
            // Copy msg.data. We take full control of memory in this inline assembly
            // block because it will not return to Solidity code. We overwrite the
            // Solidity scratch pad at memory position 0.
            calldatacopy(0, 0, calldatasize)

            // Call the implementation.
            // out and outsize are 0 because we don't know the size yet.
            let result := delegatecall(gas, implementation, 0, calldatasize, 0, 0)

            // Copy the returned data.
            returndatacopy(0, 0, returndatasize)

            switch result
            // delegatecall returns 0 on error.
            case 0 { revert(0, returndatasize) }
            default { return(0, returndatasize) }
        }
    }

    /**
     * Returns whether the target address is a contract
     * @dev This function will return false if invoked during the constructor of a contract,
     * as the code is not actually created until after the constructor finishes.
     * @param account address of the account to check
     * @return whether the target address is a contract
     */
    function isContract(address account) internal view returns (bool) {
        uint256 size;
        // XXX Currently there is no better way to check if there is a contract in an address
        // than to check the size of the code at that address.
        // See https://ethereum.stackexchange.com/a/14016/36603
        // for more details about how this works.
        // TODO Check this again before the Serenity release, because all addresses will be
        // contracts then.
        /* solium-disable-next-line */
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    /**
    * @dev Returns the current implementation.
    * @return Address of the current implementation
    */
    function _implementation() internal view returns (address impl) {
        bytes32 slot = IMPLEMENTATION_SLOT;
        /* solium-disable-next-line */
        assembly {
            impl := sload(slot)
        }
    }

    /**
    * @dev Upgrades the proxy to a new implementation.
    * @param newImplementation Address of the new implementation.
    */
    function _upgradeTo(address newImplementation) internal {
        _setImplementation(newImplementation);
        emit Upgraded(newImplementation);
    }

    /**
    * @dev Sets the implementation address of the proxy.
    * @param newImplementation Address of the new implementation.
    */
    function _setImplementation(address newImplementation) internal {
        require(
            isContract(newImplementation),
            "Cannot set a proxy implementation to a non-contract address"
        );

        bytes32 slot = IMPLEMENTATION_SLOT;

        /* solium-disable-next-line */
        assembly {
            sstore(slot, newImplementation)
        }
    }

    /**
    * @return The address of the proxy admin.
    */
    function admin() external ifAdmin returns (address) {
        return _admin();
    }

    /**
    * @return The address of the implementation.
    */
    function implementation() external ifAdmin returns (address) {
        return _implementation();
    }

    /**
    * @dev Changes the admin of the proxy.
    * Only the current admin can call this function.
    * @param newAdmin Address to transfer proxy administration to.
    */
    function changeAdmin(address newAdmin) external ifAdmin {
        require(
            newAdmin != address(0),
            "Cannot change the admin of a proxy to the zero address"
        );

        emit AdminChanged(_admin(), newAdmin);
        _setAdmin(newAdmin);
    }

    /**
    * @dev Upgrade the backing implementation of the proxy.
    * Only the admin can call this function.
    * @param newImplementation Address of the new implementation.
    */
    function upgradeTo(address newImplementation) external ifAdmin {
        _upgradeTo(newImplementation);
    }

    /**
    * @dev Upgrade the backing implementation of the proxy and call a function
    * on the new implementation.
    * This is useful to initialize the proxied contract.
    * @param newImplementation Address of the new implementation.
    * @param data Data to send as msg.data in the low level call.
    * It should include the signature and the parameters of the function to be called, as described in
    * https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
    */
    function upgradeToAndCall(
        address newImplementation,
        bytes calldata data
    )
        external
        payable
        ifAdmin
    {
        _upgradeTo(newImplementation);
        /* solium-disable-next-line */
        (bool success,) = newImplementation.delegatecall(data);
        /* solium-disable-next-line */
        require(success);
    }

    /**
    * @return The admin slot.
    */
    function _admin() internal view returns (address adm) {
        bytes32 slot = ADMIN_SLOT;

        /* solium-disable-next-line */
        assembly {
            adm := sload(slot)
        }
    }

    /**
    * @dev Sets the address of the proxy admin.
    * @param newAdmin Address of the new proxy admin.
    */
    function _setAdmin(address newAdmin) internal {
        bytes32 slot = ADMIN_SLOT;

        /* solium-disable-next-line */
        assembly {
            sstore(slot, newAdmin)
        }
    }

}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_logic","type":"address"},{"internalType":"address","name":"_admin","type":"address"},{"internalType":"bytes","name":"_data","type":"bytes"}],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"AdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newAdmin","type":"address"}],"name":"changeAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"upgradeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"payable":true,"stateMutability":"payable","type":"function"}]

60806040526040516108e23803806108e28339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b5060408181527f656970313936372e70726f78792e696d706c656d656e746174696f6e0000000082525190819003601c01902060008051602061088783398151915260001990910114925061012e91505057fe5b610140836001600160e01b0361026016565b8051156101f8576000836001600160a01b0316826040518082805190602001908083835b602083106101835780518252601f199092019160209182019101610164565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101e3576040519150601f19603f3d011682016040523d82523d6000602084013e6101e8565b606091505b50509050806101f657600080fd5b505b604080517f656970313936372e70726f78792e61646d696e00000000000000000000000000815290519081900360130190206000805160206108678339815191526000199091011461024657fe5b610258826001600160e01b036102bf16565b5050506102d7565b610272816001600160e01b036102d116565b6102ad5760405162461bcd60e51b815260040180806020018281038252603b8152602001806108a7603b913960400191505060405180910390fd5b60008051602061088783398151915255565b60008051602061086783398151915255565b3b151590565b610581806102e66000396000f3fe60806040526004361061004a5760003560e01c80633659cfe6146100545780634f1ef286146100875780635c60da1b146101075780638f28397014610138578063f851a4401461016b575b610052610180565b005b34801561006057600080fd5b506100526004803603602081101561007757600080fd5b50356001600160a01b0316610192565b6100526004803603604081101561009d57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100c857600080fd5b8201836020820111156100da57600080fd5b803590602001918460018302840111640100000000831117156100fc57600080fd5b5090925090506101cc565b34801561011357600080fd5b5061011c610279565b604080516001600160a01b039092168252519081900360200190f35b34801561014457600080fd5b506100526004803603602081101561015b57600080fd5b50356001600160a01b03166102b6565b34801561017757600080fd5b5061011c610370565b61019061018b61039b565b6103c0565b565b61019a6103e4565b6001600160a01b0316336001600160a01b031614156101c1576101bc81610409565b6101c9565b6101c9610180565b50565b6101d46103e4565b6001600160a01b0316336001600160a01b0316141561026c576101f683610409565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d8060008114610253576040519150601f19603f3d011682016040523d82523d6000602084013e610258565b606091505b505090508061026657600080fd5b50610274565b610274610180565b505050565b60006102836103e4565b6001600160a01b0316336001600160a01b031614156102ab576102a461039b565b90506102b3565b6102b3610180565b90565b6102be6103e4565b6001600160a01b0316336001600160a01b031614156101c1576001600160a01b03811661031c5760405162461bcd60e51b81526004018080602001828103825260368152602001806104dc6036913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6103456103e4565b604080516001600160a01b03928316815291841660208301528051918290030190a16101bc81610449565b600061037a6103e4565b6001600160a01b0316336001600160a01b031614156102ab576102a46103e4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103df573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104128161046d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610476816104d5565b6104b15760405162461bcd60e51b815260040180806020018281038252603b815260200180610512603b913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3b15159056fe43616e6e6f74206368616e6765207468652061646d696e206f6620612070726f787920746f20746865207a65726f206164647265737343616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e74726163742061646472657373a265627a7a72315820adaa171b0dadd83f811d79d98a406b53316f23f1a2f295fa933b7d36108ebfcf64736f6c63430005100032b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc43616e6e6f742073657420612070726f787920696d706c656d656e746174696f6e20746f2061206e6f6e2d636f6e7472616374206164647265737300000000000000000000000027b76e100b63731a7cf9386c1decb918e6f547560000000000000000000000009c767178528c8a205df63305ebda4bb6b147889b00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

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

00000000000000000000000027b76e100b63731a7cf9386c1decb918e6f547560000000000000000000000009c767178528c8a205df63305ebda4bb6b147889b00000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _logic (address): 0x27b76e100b63731a7cf9386c1decb918e6f54756
Arg [1] : _admin (address): 0x9c767178528c8a205df63305ebda4bb6b147889b
Arg [2] : _data (bytes): 0x

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 00000000000000000000000027b76e100b63731a7cf9386c1decb918e6f54756
Arg [1] : 0000000000000000000000009c767178528c8a205df63305ebda4bb6b147889b
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000


Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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.