Mumbai Testnet

Contract

0xf7A97A135372aE075AC9f6B9c11b932985B59C3A

Overview

MATIC Balance

Token Holdings

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Value
Approve Recovery...481286082024-04-11 14:38:2195 days ago1712846301IN
0xf7A97A13...985B59C3A
0 MATIC0.001263299.29599199
Approve Recovery...481281172024-04-11 14:19:5395 days ago1712845193IN
0xf7A97A13...985B59C3A
0 MATIC0.003954629.10000001
Approve Recovery...481219592024-04-11 10:40:2595 days ago1712832025IN
0xf7A97A13...985B59C3A
0 MATIC0.000767195.6454
Approve Recovery...480816632024-04-10 10:26:0596 days ago1712744765IN
0xf7A97A13...985B59C3A
0 MATIC0.001977314.55000001
Approve Recovery...480815362024-04-10 10:21:3596 days ago1712744495IN
0xf7A97A13...985B59C3A
0 MATIC0.000679485
Approve Recovery...480814512024-04-10 10:18:3396 days ago1712744313IN
0xf7A97A13...985B59C3A
0 MATIC0.000679485
Approve Recovery...480420722024-04-09 10:18:5097 days ago1712657930IN
0xf7A97A13...985B59C3A
0 MATIC0.000982317.22837016
Approve Recovery...480385462024-04-09 8:13:1897 days ago1712650398IN
0xf7A97A13...985B59C3A
0 MATIC0.000234511.7256485
Approve Recovery...480384572024-04-09 8:09:2797 days ago1712650167IN
0xf7A97A13...985B59C3A
0 MATIC0.000297672.19041521
Approve Recovery...480367602024-04-09 7:04:0898 days ago1712646248IN
0xf7A97A13...985B59C3A
0 MATIC0.000240611.77058562
Approve Recovery...480070962024-04-08 12:56:3298 days ago1712580992IN
0xf7A97A13...985B59C3A
0 MATIC0.001036476.77447999
Execute Free Met...478903932024-04-05 10:03:47101 days ago1712311427IN
0xf7A97A13...985B59C3A
0 MATIC0.0040297831.04970001

Latest 1 internal transaction

Parent Transaction Hash Block From To Value
478903852024-04-05 10:03:31101 days ago1712311411  Contract Creation0 MATIC
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0x548f9925...9bF75Aaf5
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
WalletProxy

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 99999999 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : walletproxy.sol
// SPDX-License-Identifier: LBUSL-1.1-or-later
// Taken from: https://github.com/gnosis/safe-contracts/blob/development/contracts/proxies/GnosisSafeProxy.sol
pragma solidity >=0.7.0;

/// @title IWalletProxyImplementation - Helper interface to access masterCopy of the Proxy on-chain
/// @author Richard Meissner - <[email protected]>
interface IWalletProxyImplementation {
	function masterCopy() external view returns (address);

	function walletFactory() external view returns (address);

	function version() external view returns (uint256);

	function upgradeMasterCopy(address newMasterCopy) external;

	function initialize(
		address resolver_,
		string[2] calldata domain_,
		address owner_,
		address feeRecipient,
		uint256 feeAmount
	) external;
}

/// @title WalletProxy - 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 WalletProxy {
	// masterCopy and walletFactory always need to be the first declared variables, to ensure that they are 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 masterCopy;
	address internal walletFactory;

	/// @dev Constructor function sets the address of walletFactory contract
	constructor() {
		walletFactory = msg.sender;
	}

	/// @param _masterCopy Master copy address.
	function initializeFromWalletFactory(address _masterCopy) external {
		require(msg.sender == walletFactory, "WalletProxy: Forbidden");
		require(
			_masterCopy != address(0),
			"Invalid master copy address provided"
		);
		masterCopy = _masterCopy;
	}

	/// @dev Fallback function forwards all transactions and returns all received return data.
	fallback() external payable {
		assembly {
			let _masterCopy := and(
				sload(0),
				0xffffffffffffffffffffffffffffffffffffffff
			)
			// 0xa619486e == keccak("masterCopy()"). The value is right padded to 32-bytes with 0s
			if eq(
				calldataload(0),
				0xa619486e00000000000000000000000000000000000000000000000000000000
			) {
				mstore(0, _masterCopy)
				return(0, 0x20)
			}
			calldatacopy(0, 0, calldatasize())
			let success := delegatecall(
				gas(),
				_masterCopy,
				0,
				calldatasize(),
				0,
				0
			)
			returndatacopy(0, 0, returndatasize())
			if eq(success, 0) {
				revert(0, returndatasize())
			}
			return(0, returndatasize())
		}
	}
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 99999999
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "metadata": {
    "useLiteralContent": true
  },
  "libraries": {}
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"stateMutability":"payable","type":"fallback"},{"inputs":[{"internalType":"address","name":"_masterCopy","type":"address"}],"name":"initializeFromWalletFactory","outputs":[],"stateMutability":"nonpayable","type":"function"}]

Deployed Bytecode

0x60806040526004361061001e5760003560e01c806334b6748614610088575b600073ffffffffffffffffffffffffffffffffffffffff8154167fa619486e000000000000000000000000000000000000000000000000000000008235141561006957808252602082f35b3682833781823684845af490503d82833e80610083573d82fd5b503d81f35b34801561009457600080fd5b506100a86100a3366004610219565b6100aa565b005b60015473ffffffffffffffffffffffffffffffffffffffff163314610130576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f57616c6c657450726f78793a20466f7262696464656e0000000000000000000060448201526064015b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff81166101d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f496e76616c6964206d617374657220636f707920616464726573732070726f7660448201527f69646564000000000000000000000000000000000000000000000000000000006064820152608401610127565b600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006020828403121561022a578081fd5b813573ffffffffffffffffffffffffffffffffffffffff8116811461024d578182fd5b939250505056fea26469706673582212201c9723d8ac5d1f9666ba24ddc1ed181a581798dbfb2bd50a67563c5a23f093f864736f6c63430008040033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ 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.