// SPDX-License-Identifier: LGPL-3.0-only
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 - <stefan@gnosis.io>
* @author Richard Meissner - <richard@gnosis.io>
*/
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 := and(sload(0), 0xffffffffffffffffffffffffffffffffffffffff)
// 0xa619486e == keccak("masterCopy()"). The value is right padded to 32-bytes with 0s
if eq(calldataload(0), 0xa619486e00000000000000000000000000000000000000000000000000000000) {
mstore(0, _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())
}
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "_singleton",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"type": "fallback",
"stateMutability": "payable"
}
]0x608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea264697066735822122003d1488ee65e08fa41e58e888a9865554c535f2c77126a82cb4c0f917f31441364736f6c63430007060033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| no internal transactions found for this address yet (traced blocks + on-demand) | ||||||||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x857691…e0567c | execTransaction | 39,117,447 | 8 hrs agoMon, 17 Aug 2026 20:17:30 UTC | 0x6c57…4f29 | IN | SafeProxy | $0.000 ETH | 0.00001470 | |
| 0x5bff93…031d2d | approveHash | 39,117,447 | 8 hrs agoMon, 17 Aug 2026 20:17:30 UTC | 0x6c57…4f29 | IN | SafeProxy | $0.000 ETH | 0.00000108 | |
| 0xc9eff6…9da282 | approveHash | 39,117,225 | 8 hrs agoMon, 17 Aug 2026 20:17:08 UTC | 0x6c57…4f29 | IN | SafeProxy | $0.000 ETH | 0.00000107 | |
| 0x6f7c90…75efed | execTransaction | 39,117,225 | 8 hrs agoMon, 17 Aug 2026 20:17:08 UTC | 0x6c57…4f29 | IN | SafeProxy | $0.000 ETH | 0.00000486 | |
| 0xa6f2d4…fa7a51 | execTransaction | 39,032,441 | 11 hrs agoMon, 17 Aug 2026 17:55:21 UTC | 0x6c57…4f29 | IN | SafeProxy | $0.000 ETH | 0.00000480 | |
| 0x04df4c…bdf84b | execTransaction | 39,032,416 | 11 hrs agoMon, 17 Aug 2026 17:55:19 UTC | 0x6c57…4f29 | IN | SafeProxy | $0.000 ETH | 0.00000261 | |
| 0xb71291…aaf6cf | execTransaction | 39,030,584 | 11 hrs agoMon, 17 Aug 2026 17:52:15 UTC | 0x6c57…4f29 | IN | SafeProxy | $0.000 ETH | 0.00001115 | |
| 0x33f11b…736692 | approveHash | 39,030,543 | 11 hrs agoMon, 17 Aug 2026 17:52:11 UTC | 0x6c57…4f29 | IN | SafeProxy | $0.000 ETH | 0.00000106 | |
| 0x639fc5…10719f | execTransaction | 39,030,414 | 11 hrs agoMon, 17 Aug 2026 17:51:58 UTC | 0x6c57…4f29 | IN | SafeProxy | $0.000 ETH | 0.00000260 | |
| 0x85fe89…671581 | approveHash | 39,030,377 | 11 hrs agoMon, 17 Aug 2026 17:51:55 UTC | 0x6c57…4f29 | IN | SafeProxy | $0.000 ETH | 0.00000105 | |
| 0xadf82e…186e94 | execTransaction | 38,979,514 | 12 hrs agoMon, 17 Aug 2026 16:26:56 UTC | 0x6c57…4f29 | IN | SafeProxy | $0.000 ETH | 0.00000214 | |
| 0x647705…8f789c | execTransaction | 38,979,216 | 12 hrs agoMon, 17 Aug 2026 16:26:26 UTC | 0x6c57…4f29 | IN | SafeProxy | $0.000 ETH | 0.00000246 |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x857691…e0567c | 8 hrs agoMon, 17 Aug 2026 20:17:30 UTC | 0x442e71…556e | [0] 0x83b01b6c8ecb…9fe733f5 data: 0x000000000000000000…00000000 |
| 0x857691…e0567c | 8 hrs agoMon, 17 Aug 2026 20:17:30 UTC | 0x66753c…1bed | data: 0x000000000000000000…00000001 |
| 0x5bff93…031d2d | 8 hrs agoMon, 17 Aug 2026 20:17:30 UTC | 0xf2a0eb…4d9c | [0] 0x83b01b6c8ecb…9fe733f5 [1] 0x000000000000…d7704f29 |
| 0x6f7c90…75efed | 8 hrs agoMon, 17 Aug 2026 20:17:08 UTC | 0x442e71…556e | [0] 0x22ec86641311…530c789d data: 0x000000000000000000…00000000 |
| 0x6f7c90…75efed | 8 hrs agoMon, 17 Aug 2026 20:17:08 UTC | 0x66753c…1bed | data: 0x000000000000000000…00000001 |
| 0xc9eff6…9da282 | 8 hrs agoMon, 17 Aug 2026 20:17:08 UTC | 0xf2a0eb…4d9c | [0] 0x22ec86641311…530c789d [1] 0x000000000000…d7704f29 |
| 0xa6f2d4…fa7a51 | 11 hrs agoMon, 17 Aug 2026 17:55:21 UTC | 0x442e71…556e | [0] 0x01db0eab8f01…40ad6390 data: 0x000000000000000000…00000000 |
| 0xa6f2d4…fa7a51 | 11 hrs agoMon, 17 Aug 2026 17:55:21 UTC | 0x66753c…1bed | data: 0x000000000000000000…00000001 |
| 0x04df4c…bdf84b | 11 hrs agoMon, 17 Aug 2026 17:55:19 UTC | 0x442e71…556e | [0] 0x2a7dd9e873c6…48495e14 data: 0x000000000000000000…00000000 |
| 0x04df4c…bdf84b | 11 hrs agoMon, 17 Aug 2026 17:55:19 UTC | 0x66753c…1bed | data: 0x000000000000000000…00000001 |
| 0xb71291…aaf6cf | 11 hrs agoMon, 17 Aug 2026 17:52:15 UTC | 0x442e71…556e | [0] 0xb7f8b8d6d875…06e85f4a data: 0x000000000000000000…00000000 |
| 0xb71291…aaf6cf | 11 hrs agoMon, 17 Aug 2026 17:52:15 UTC | 0x66753c…1bed | data: 0x000000000000000000…00000001 |
| 0x33f11b…736692 | 11 hrs agoMon, 17 Aug 2026 17:52:11 UTC | 0xf2a0eb…4d9c | [0] 0xb7f8b8d6d875…06e85f4a [1] 0x000000000000…d7704f29 |
| 0x639fc5…10719f | 11 hrs agoMon, 17 Aug 2026 17:51:58 UTC | 0x442e71…556e | [0] 0x42579d4270bf…da1b7d58 data: 0x000000000000000000…00000000 |
| 0x639fc5…10719f | 11 hrs agoMon, 17 Aug 2026 17:51:58 UTC | 0x66753c…1bed | data: 0x000000000000000000…00000001 |
| 0x85fe89…671581 | 11 hrs agoMon, 17 Aug 2026 17:51:55 UTC | 0xf2a0eb…4d9c | [0] 0x42579d4270bf…da1b7d58 [1] 0x000000000000…d7704f29 |
| 0xadf82e…186e94 | 12 hrs agoMon, 17 Aug 2026 16:26:56 UTC | 0x442e71…556e | [0] 0x6d06c97a76c5…87ab231b data: 0x000000000000000000…00000000 |
| 0xadf82e…186e94 | 12 hrs agoMon, 17 Aug 2026 16:26:56 UTC | 0x66753c…1bed | data: 0x000000000000000000…00000001 |
| 0x647705…8f789c | 12 hrs agoMon, 17 Aug 2026 16:26:26 UTC | 0x442e71…556e | [0] 0xd48a1d0db06d…ce886a11 data: 0x000000000000000000…00000000 |
| 0x647705…8f789c | 12 hrs agoMon, 17 Aug 2026 16:26:26 UTC | 0x66753c…1bed | data: 0x000000000000000000…00000001 |
| 0xcb2652…697e23 | 13 hrs agoMon, 17 Aug 2026 15:53:12 UTC | 0x141df8…a1a8 | [0] 0x000000000000…f820ec67 data: 0x000000000000000000…d7704f29 |