Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
23968816 | 19 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Name:
WalletProxyHook
Compiler Version
v0.8.18+commit.87f61d96
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: Apache-2.0 pragma solidity 0.8.18; import {IWalletProxy} from './interfaces/IWalletProxy.sol'; import {Implementation} from '../modules/commons/Implementation.sol'; contract WalletProxyHook is IWalletProxy, Implementation { /// @inheritdoc IWalletProxy function PROXY_getImplementation() public view returns (address) { return _getImplementation(); } }
// Copyright Immutable Pty Ltd 2018 - 2023 // SPDX-License-Identifier: Apache 2.0 // https://github.com/immutable/contracts/blob/a04f7ecb8a79ad8f1b67f73f770e0545deb6cba2/contracts/allowlist/IWalletProxy.sol pragma solidity 0.8.18; // Interface to retrieve the implemention stored inside the Proxy contract /// Interface for Passport Wallet's proxy contract. interface IWalletProxy { // Returns the current implementation address used by the proxy contract // solhint-disable-next-line func-name-mixedcase function PROXY_getImplementation() external view returns (address); }
// SPDX-License-Identifier: Apache-2.0 pragma solidity 0.8.18; /** * @dev Allows modules to access the implementation slot */ contract Implementation { /** * @notice Updates the Wallet implementation * @param _imp New implementation address * @dev The wallet implementation is stored on the storage slot * defined by the address of the wallet itself * WARNING updating this value may break the wallet and users * must be confident that the new implementation is safe. */ function _setImplementation(address _imp) internal { assembly { sstore(address(), _imp) } } /** * @notice Returns the Wallet implementation * @return _imp The address of the current Wallet implementation */ function _getImplementation() internal view returns (address _imp) { assembly { _imp := sload(address()) } } }
{ "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "evmVersion": "paris", "libraries": {}, "remappings": [ "@ensdomains/=node_modules/@ensdomains/", "ds-test/=lib/forge-std/lib/ds-test/src/", "eth-gas-reporter/=node_modules/eth-gas-reporter/", "forge-std/=lib/forge-std/src/", "foundry-huff/=lib/foundry-huff/src/", "hardhat/=node_modules/hardhat/", "solidity-stringutils/=lib/foundry-huff/lib/solidity-stringutils/", "stringutils/=lib/foundry-huff/lib/solidity-stringutils/" ], "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract ABI
API[{"inputs":[],"name":"PROXY_getImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
6080604052348015600f57600080fd5b5060938061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80639061112714602d575b600080fd5b6033604f565b6040516001600160a01b03909116815260200160405180910390f35b60006058305490565b90509056fea26469706673582212205e5b3dcc81089fa0894293288dd67392e8f0fc11d103648a44d034698b9883ae64736f6c63430008120033
Deployed Bytecode
0x6080604052348015600f57600080fd5b506004361060285760003560e01c80639061112714602d575b600080fd5b6033604f565b6040516001600160a01b03909116815260200160405180910390f35b60006058305490565b90509056fea26469706673582212205e5b3dcc81089fa0894293288dd67392e8f0fc11d103648a44d034698b9883ae64736f6c63430008120033
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.