Showing the last 6 transactions (View Advanced Filter)
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Exec Transaction | 24500601 | 33 hrs ago | IN | 0 ETH | 0.00000551 | ||||
| Exec Transaction | 24400523 | 15 days ago | IN | 0 ETH | 0.0000231 | ||||
| Exec Transaction | 24400037 | 15 days ago | IN | 0 ETH | 0.00002355 | ||||
| Exec Transaction | 24371362 | 19 days ago | IN | 0 ETH | 0.00021006 | ||||
| Transfer | 24359988 | 21 days ago | IN | 679 wei | 0.00000217 | ||||
| Transfer | 24270919 | 33 days ago | IN | 0.000001 ETH | 0.00000133 |
Showing the last 2 internal transactions (View Advanced Filter)
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 24400037 | 15 days ago | 115 ETH | ||||
| Transfer | 24281625 | 31 days ago | 0.00001389 ETH |
Cross-Chain Transactions
Latest 25 blocks (From a total of 75 blocks with 0.29 Ether produced)
| Block | Transaction | Difficulty | Gas Used | Reward | |
|---|---|---|---|---|---|
| 24504530 | 20 hrs ago | 162 | 0.00 TH | 10,317,526 (17.20%) | 0.001251580411448608 ETH |
| 24500971 | 32 hrs ago | 323 | 0.00 TH | 29,943,668 (49.91%) | 0.010417572621029165 ETH |
| 24485175 | 3 days ago | 122 | 0.00 TH | 11,147,538 (18.58%) | 0.006086172063123007 ETH |
| 24470621 | 5 days ago | 72 | 0.00 TH | 5,054,569 (8.42%) | 0.002102590853797381 ETH |
| 24461091 | 6 days ago | 57 | 0.00 TH | 4,387,154 (7.31%) | 0.0024674278482354 ETH |
| 24448595 | 8 days ago | 112 | 0.00 TH | 8,255,131 (13.76%) | 0.003235550068867508 ETH |
| 24436503 | 10 days ago | 62 | 0.00 TH | 4,551,992 (7.59%) | 0.001836579719319409 ETH |
| 24434772 | 10 days ago | 359 | 0.00 TH | 25,194,425 (41.99%) | 0.019566486203051075 ETH |
| 24284178 | 31 days ago | 126 | 0.00 TH | 11,365,978 (18.94%) | 0.004640597051847832 ETH |
| 24281625 | 31 days ago | 60 | 0.00 TH | 4,926,679 (8.21%) | 0.003061208312435189 ETH |
| 24273759 | 33 days ago | 49 | 0.00 TH | 5,192,464 (8.65%) | 0.001280163030311131 ETH |
| 24266254 | 34 days ago | 123 | 0.00 TH | 5,851,839 (9.75%) | 0.001823252649998424 ETH |
| 24254395 | 35 days ago | 86 | 0.00 TH | 5,310,751 (8.85%) | 0.001239982993716234 ETH |
| 24249274 | 36 days ago | 58 | 0.00 TH | 12,794,652 (21.32%) | 0.003797439709637964 ETH |
| 24202514 | 42 days ago | 32 | 0.00 TH | 41,886,882 (69.81%) | 0.000601240900129857 ETH |
| 24188724 | 44 days ago | 52 | 0.00 TH | 2,706,040 (4.51%) | 0.002629921316689925 ETH |
| 24180542 | 46 days ago | 96 | 0.00 TH | 6,553,093 (10.92%) | 0.002919299176869377 ETH |
| 24179010 | 46 days ago | 219 | 0.00 TH | 58,798,090 (98.00%) | 0.002863743358423427 ETH |
| 24133563 | 52 days ago | 185 | 0.00 TH | 12,652,572 (21.09%) | 0.00850990946673047 ETH |
| 24105059 | 56 days ago | 47 | 0.00 TH | 3,784,588 (6.31%) | 0.001148805684382255 ETH |
| 24099264 | 57 days ago | 62 | 0.00 TH | 2,616,136 (4.36%) | 0.001074604073764271 ETH |
| 24096956 | 57 days ago | 53 | 0.00 TH | 4,606,670 (7.68%) | 0.00272078275490584 ETH |
| 24093299 | 58 days ago | 173 | 0.00 TH | 7,579,569 (12.63%) | 0.002387820535730428 ETH |
| 24084823 | 59 days ago | 102 | 0.00 TH | 6,412,323 (10.69%) | 0.003970823389887797 ETH |
| 24048897 | 64 days ago | 66 | 0.00 TH | 3,745,740 (6.24%) | 0.001705420981910732 ETH |
Latest 25 from a total of 1392 withdrawals (119.639003359 ETH withdrawn)
| Validator Index | Block | Amount | |
|---|---|---|---|
| 2154159 | 24507693 | 9 hrs ago | 0.000159254 ETH |
| 2121985 | 24505836 | 16 hrs ago | 0.062244935 ETH |
| 2121984 | 24505836 | 16 hrs ago | 0.000112168 ETH |
| 2084755 | 24503781 | 22 hrs ago | 0.014123663 ETH |
| 2084749 | 24503781 | 22 hrs ago | 0.045710124 ETH |
| 2084747 | 24503781 | 22 hrs ago | 0.046642033 ETH |
| 2084734 | 24503781 | 22 hrs ago | 0.046957244 ETH |
| 2084505 | 24503780 | 22 hrs ago | 0.045814589 ETH |
| 2084400 | 24503775 | 22 hrs ago | 0.043599176 ETH |
| 2121985 | 24446170 | 8 days ago | 0.033143385 ETH |
| 2084755 | 24444113 | 9 days ago | 0.03325658 ETH |
| 2121989 | 24326229 | 25 days ago | 0.000126517 ETH |
| 2121988 | 24326229 | 25 days ago | 0.000053314 ETH |
| 2121986 | 24326229 | 25 days ago | 0.000213471 ETH |
| 2121985 | 24326229 | 25 days ago | 0.00012029 ETH |
| 2121984 | 24326229 | 25 days ago | 0.000133815 ETH |
| 2121983 | 24326229 | 25 days ago | 0.047314698 ETH |
| 2084767 | 24324157 | 26 days ago | 0.001105597 ETH |
| 2084766 | 24324157 | 26 days ago | 0.00093616 ETH |
| 2084765 | 24324157 | 26 days ago | 0.001115624 ETH |
| 2084764 | 24324157 | 26 days ago | 0.001155163 ETH |
| 2084763 | 24324157 | 26 days ago | 0.001121125 ETH |
| 2084762 | 24324157 | 26 days ago | 0.001087333 ETH |
| 2084761 | 24324157 | 26 days ago | 0.001001978 ETH |
| 2084760 | 24324157 | 26 days ago | 0.001108914 ETH |
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xDaB5dc22...0ba42d2a6 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-07-09
*/
// SPDX-License-Identifier: LGPL-3.0-only
pragma solidity >=0.7.0 <0.9.0;
/// @title IProxy - Helper interface to access masterCopy of the Proxy on-chain
/// @author Richard Meissner - <richard@gnosis.io>
interface IProxy {
function masterCopy() external view returns (address);
}
/// @title GnosisSafeProxy - 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 GnosisSafeProxy {
// 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;
/// @dev 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())
}
}
}
/// @title Proxy Factory - Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
/// @author Stefan George - <stefan@gnosis.pm>
contract GnosisSafeProxyFactory {
event ProxyCreation(GnosisSafeProxy proxy, address singleton);
/// @dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
/// @param singleton Address of singleton contract.
/// @param data Payload for message call sent to new proxy contract.
function createProxy(address singleton, bytes memory data) public returns (GnosisSafeProxy proxy) {
proxy = new GnosisSafeProxy(singleton);
if (data.length > 0)
// solhint-disable-next-line no-inline-assembly
assembly {
if eq(call(gas(), proxy, 0, add(data, 0x20), mload(data), 0, 0), 0) {
revert(0, 0)
}
}
emit ProxyCreation(proxy, singleton);
}
/// @dev Allows to retrieve the runtime code of a deployed Proxy. This can be used to check that the expected Proxy was deployed.
function proxyRuntimeCode() public pure returns (bytes memory) {
return type(GnosisSafeProxy).runtimeCode;
}
/// @dev Allows to retrieve the creation code used for the Proxy deployment. With this it is easily possible to calculate predicted address.
function proxyCreationCode() public pure returns (bytes memory) {
return type(GnosisSafeProxy).creationCode;
}
/// @dev Allows to create new proxy contact using CREATE2 but it doesn't run the initializer.
/// This method is only meant as an utility to be called from other methods
/// @param _singleton Address of singleton contract.
/// @param initializer Payload for message call sent to new proxy contract.
/// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
function deployProxyWithNonce(
address _singleton,
bytes memory initializer,
uint256 saltNonce
) internal returns (GnosisSafeProxy proxy) {
// If the initializer changes the proxy address should change too. Hashing the initializer data is cheaper than just concatinating it
bytes32 salt = keccak256(abi.encodePacked(keccak256(initializer), saltNonce));
bytes memory deploymentData = abi.encodePacked(type(GnosisSafeProxy).creationCode, uint256(uint160(_singleton)));
// solhint-disable-next-line no-inline-assembly
assembly {
proxy := create2(0x0, add(0x20, deploymentData), mload(deploymentData), salt)
}
require(address(proxy) != address(0), "Create2 call failed");
}
/// @dev Allows to create new proxy contact and execute a message call to the new proxy within one transaction.
/// @param _singleton Address of singleton contract.
/// @param initializer Payload for message call sent to new proxy contract.
/// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
function createProxyWithNonce(
address _singleton,
bytes memory initializer,
uint256 saltNonce
) public returns (GnosisSafeProxy proxy) {
proxy = deployProxyWithNonce(_singleton, initializer, saltNonce);
if (initializer.length > 0)
// solhint-disable-next-line no-inline-assembly
assembly {
if eq(call(gas(), proxy, 0, add(initializer, 0x20), mload(initializer), 0, 0), 0) {
revert(0, 0)
}
}
emit ProxyCreation(proxy, _singleton);
}
/// @dev Allows to create new proxy contact, execute a message call to the new proxy and call a specified callback within one transaction
/// @param _singleton Address of singleton contract.
/// @param initializer Payload for message call sent to new proxy contract.
/// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
/// @param callback Callback that will be invoced after the new proxy contract has been successfully deployed and initialized.
function createProxyWithCallback(
address _singleton,
bytes memory initializer,
uint256 saltNonce,
IProxyCreationCallback callback
) public returns (GnosisSafeProxy proxy) {
uint256 saltNonceWithCallback = uint256(keccak256(abi.encodePacked(saltNonce, callback)));
proxy = createProxyWithNonce(_singleton, initializer, saltNonceWithCallback);
if (address(callback) != address(0)) callback.proxyCreated(proxy, _singleton, initializer, saltNonce);
}
/// @dev Allows to get the address for a new proxy contact created via `createProxyWithNonce`
/// This method is only meant for address calculation purpose when you use an initializer that would revert,
/// therefore the response is returned with a revert. When calling this method set `from` to the address of the proxy factory.
/// @param _singleton Address of singleton contract.
/// @param initializer Payload for message call sent to new proxy contract.
/// @param saltNonce Nonce that will be used to generate the salt to calculate the address of the new proxy contract.
function calculateCreateProxyWithNonceAddress(
address _singleton,
bytes calldata initializer,
uint256 saltNonce
) external returns (GnosisSafeProxy proxy) {
proxy = deployProxyWithNonce(_singleton, initializer, saltNonce);
revert(string(abi.encodePacked(proxy)));
}
}
interface IProxyCreationCallback {
function proxyCreated(
GnosisSafeProxy proxy,
address _singleton,
bytes calldata initializer,
uint256 saltNonce
) external;
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_singleton","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"}]Contract Creation Code
0x608060405234801561001057600080fd5b506040516101e63803806101e68339818101604052602081101561003357600080fd5b8101908080519060200190929190505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156100ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806101c46022913960400191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060ab806101196000396000f3fe608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033496e76616c69642073696e676c65746f6e20616464726573732070726f7669646564000000000000000000000000d9db270c1b5e3bd161e8c8503c55ceabee709552
Deployed Bytecode
0x608060405273ffffffffffffffffffffffffffffffffffffffff600054167fa619486e0000000000000000000000000000000000000000000000000000000060003514156050578060005260206000f35b3660008037600080366000845af43d6000803e60008114156070573d6000fd5b3d6000f3fea2646970667358221220d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b955264736f6c63430007060033
Deployed Bytecode Sourcemap
524:1528:0:-:0;;;1376:42;1372:1;1366:8;1362:57;1556:66;1552:1;1539:15;1536:87;1533:2;;;1653:10;1650:1;1643:21;1692:4;1689:1;1682:15;1533:2;1745:14;1742:1;1739;1726:34;1843:1;1840;1824:14;1821:1;1809:10;1802:5;1789:56;1880:16;1877:1;1874;1859:38;1926:1;1917:7;1914:14;1911:2;;;1958:16;1955:1;1948:27;1911:2;2014:16;2011:1;2004:27
Swarm Source
ipfs://d1429297349653a4918076d650332de1a1068c5f3e07c5c82360c277770b9552
Net Worth in USD
Net Worth in ETH
Token Allocations
Multichain Portfolio | 34 Chains
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.