Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 12 from a total of 12 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Exec Transaction | 17641670 | 41 days ago | IN | 0 ETH | 0.000003070305 | ||||
Exec Transaction | 17344156 | 48 days ago | IN | 0 ETH | 0.000053094798 | ||||
Exec Transaction | 17342973 | 48 days ago | IN | 0 ETH | 0.000133664938 | ||||
Exec Transaction | 17339763 | 48 days ago | IN | 0 ETH | 0.000092780351 | ||||
Exec Transaction | 17337926 | 48 days ago | IN | 0 ETH | 0.000111820065 | ||||
Exec Transaction | 17218492 | 51 days ago | IN | 0 ETH | 0.000000690879 | ||||
Exec Transaction | 17217344 | 51 days ago | IN | 0 ETH | 0.00017644156 | ||||
Exec Transaction | 17170230 | 52 days ago | IN | 0 ETH | 0.001821302386 | ||||
Exec Transaction | 16742672 | 62 days ago | IN | 0 ETH | 0.000109277904 | ||||
Exec Transaction | 14147948 | 122 days ago | IN | 0 ETH | 0.0000220253 | ||||
Setup | 14140273 | 122 days ago | IN | 0 ETH | 0.000033059767 | ||||
0x60806040 | 14140229 | 122 days ago | IN | 0 ETH | 0.000024266474 |
Loading...
Loading
Contract Name:
SafeProxy
Compiler Version
v0.7.6+commit.7338295f
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: LGPL-3.0-only /* solhint-disable one-contract-per-file */ pragma solidity >=0.7.0 <0.9.0; /** * @title IProxy - Helper interface to access the singleton address of the Proxy on-chain. * @author Richard Meissner - @rmeissner */ interface IProxy { function masterCopy() external view returns (address); } /** * @title SafeProxy - Generic proxy contract allows to execute all transactions applying the code of a master contract. * @author Stefan George - <[email protected]> * @author Richard Meissner - <[email protected]> */ contract SafeProxy { // Singleton always needs to be first declared variable, to ensure that it is at the same location in the contracts to which calls are delegated. // To reduce deployment costs this variable is internal and needs to be retrieved via `getStorageAt` address internal singleton; /** * @notice Constructor function sets address of singleton contract. * @param _singleton Singleton address. */ constructor(address _singleton) { require(_singleton != address(0), "Invalid singleton address provided"); singleton = _singleton; } /// @dev Fallback function forwards all transactions and returns all received return data. fallback() external payable { // solhint-disable-next-line no-inline-assembly assembly { let _singleton := sload(0) // 0xa619486e == keccak("masterCopy()"). The value is right padded to 32-bytes with 0s if eq(calldataload(0), 0xa619486e00000000000000000000000000000000000000000000000000000000) { mstore(0, shr(12, shl(12, _singleton))) return(0, 0x20) } calldatacopy(0, 0, calldatasize()) let success := delegatecall(gas(), _singleton, 0, calldatasize(), 0, 0) returndatacopy(0, 0, returndatasize()) if eq(success, 0) { revert(0, returndatasize()) } return(0, returndatasize()) } } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
[{"inputs":[{"internalType":"address","name":"_singleton","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516101d63803806101d68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101b46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050609b806101196000396000f3fe60806040526000547fa619486e00000000000000000000000000000000000000000000000000000000600035141560405780600c1b600c1c60005260206000f35b3660008037600080366000845af43d6000803e60008114156060573d6000fd5b3d6000f3fea26469706673582212202e41211bdb667439982896550e729674fcd1cd7419e1f0c9242dadd3ce5adc4b64736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564000000000000000000000000e1ed13dd60b85a072401a3c4fc7d2eaa678092f8
Deployed Bytecode
0x60806040526000547fa619486e00000000000000000000000000000000000000000000000000000000600035141560405780600c1b600c1c60005260206000f35b3660008037600080366000845af43d6000803e60008114156060573d6000fd5b3d6000f3fea26469706673582212202e41211bdb667439982896550e729674fcd1cd7419e1f0c9242dadd3ce5adc4b64736f6c63430007060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000e1ed13dd60b85a072401a3c4fc7d2eaa678092f8
-----Decoded View---------------
Arg [0] : _singleton (address): 0xe1Ed13Dd60b85a072401a3C4Fc7d2EaA678092F8
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000e1ed13dd60b85a072401a3c4fc7d2eaa678092f8
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.