Proxy

0xaa95b07e0cba6ff25fe13daeefcbb4e007bb8de0

Verification
Verified
v0.8.27+commit.40a35a09
Type
Contract
181 bytes
ABI entries
3
0 read · 0 write
License
none

Contract information

Address
0xaa95b07e0cba6ff25fe13daeefcbb4e007bb8de0
Chain
Robinhood Chain (4663)
Compiler
v0.8.27+commit.40a35a09
Optimization
Enabled
Creation tx
0xb5c00c72f5…8d66082b28

Token

Not a token

This contract does not expose ERC-20 metadata.

Read contract (0)

No read functions

The ABI is unavailable or exposes no view functions.

ABI

[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "implementation",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "stateMutability": "payable",
    "type": "fallback"
  },
  {
    "stateMutability": "payable",
    "type": "receive"
  }
]

Source code

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.4;

contract Proxy {

    // keccak256("eip1967.proxy.implementation") = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc

    constructor(address implementation) {
        assembly {
            sstore(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc, implementation)
        }

        // web3.utils.sha3("initialize()").substr(0, 10) = 0x8129fc1c
        (bool success, bytes memory result) = implementation.delegatecall(abi.encodePacked(uint32(0x8129fc1c)));
        require(success, "Constructor call failed!");
    }

    function _delegate() internal virtual {
        assembly {
            let implementation := sload(0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc)
            calldatacopy(0, 0, calldatasize())
            let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)
            returndatacopy(0, 0, returndatasize())
            switch result
            case 0 {
                revert(0, returndatasize())
            }
            default {
                return(0, returndatasize())
            }
        }
    }

    fallback() external payable virtual {
        _delegate();
    }

    receive() external payable virtual {
        _delegate();
    }

}
Chain explorer3660msChain node73ms