Mumbai Testnet

Contract

0xFaA5c0b14d1bED5C888Ca655B9a8A5911F78eF4A
Transaction Hash
Method
Block
From
To
Value
Deploy436151652023-12-15 22:15:35215 days ago1702678535IN
0xFaA5c0b1...11F78eF4A
0 MATIC0.000132691.61740613
Deploy370898522023-06-20 22:54:23393 days ago1687301663IN
0xFaA5c0b1...11F78eF4A
0 MATIC0.000123041.50000001
Deploy370822662023-06-20 18:07:35393 days ago1687284455IN
0xFaA5c0b1...11F78eF4A
0 MATIC0.000123041.50000001
Deploy340498842023-04-06 19:52:01468 days ago1680810721IN
0xFaA5c0b1...11F78eF4A
0 MATIC0.01230495150
Deploy340439982023-04-06 16:23:33468 days ago1680798213IN
0xFaA5c0b1...11F78eF4A
0 MATIC0.01230495150

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To Value
481313812024-04-11 16:25:0797 days ago1712852707
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
481300342024-04-11 15:33:0797 days ago1712849587
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
481298642024-04-11 15:26:3397 days ago1712849193
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
481255812024-04-11 12:49:3497 days ago1712839774
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
481240322024-04-11 11:54:0497 days ago1712836444
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
481236382024-04-11 11:40:0597 days ago1712835605
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
481163282024-04-11 7:20:1998 days ago1712820019
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
481070342024-04-11 1:49:3298 days ago1712800172
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480906612024-04-10 15:47:1898 days ago1712764038
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480880732024-04-10 14:14:3198 days ago1712758471
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480822692024-04-10 10:47:4299 days ago1712746062
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480802452024-04-10 9:35:2899 days ago1712741728
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480757352024-04-10 6:50:2799 days ago1712731827
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480696062024-04-10 2:58:0199 days ago1712717881
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480669722024-04-10 1:24:1199 days ago1712712251
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480636512024-04-09 23:26:2199 days ago1712705181
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480554502024-04-09 18:34:2099 days ago1712687660
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480495752024-04-09 14:59:3899 days ago1712674778
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480447852024-04-09 11:55:3599 days ago1712663735
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480447852024-04-09 11:55:3599 days ago1712663735
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480438572024-04-09 11:22:3799 days ago1712661757
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480406052024-04-09 9:26:43100 days ago1712654803
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480383872024-04-09 8:06:59100 days ago1712650019
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480378122024-04-09 7:44:51100 days ago1712648691
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
480378122024-04-09 7:44:51100 days ago1712648691
0xFaA5c0b1...11F78eF4A
 Contract Creation0 MATIC
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Factory

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 500000 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 2 : Factory.sol
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.18;

import "./Wallet.sol";


contract Factory {
  error DeployFailed(address _mainModule, bytes32 _salt);

  /**
   * @notice Will deploy a new wallet instance
   * @param _mainModule Address of the main module to be used by the wallet
   * @param _salt Salt used to generate the wallet, which is the imageHash
   *       of the wallet's configuration.
   * @dev It is recommended to not have more than 200 signers as opcode repricing
   *      could make transactions impossible to execute as all the signers must be
   *      passed for each transaction.
   */
  function deploy(address _mainModule, bytes32 _salt) public payable returns (address _contract) {
    bytes memory code = abi.encodePacked(Wallet.creationCode, uint256(uint160(_mainModule)));
    assembly { _contract := create2(callvalue(), add(code, 32), mload(code), _salt) }
    if (_contract == address(0)) revert DeployFailed(_mainModule, _salt);
  }
}

File 2 of 2 : Wallet.sol
// SPDX-License-Identifier: Apache-2.0
pragma solidity 0.8.18;

/**
    Minimal upgradeable proxy implementation, delegates all calls to the address
    defined by the storage slot matching the wallet address.

    Inspired by EIP-1167 Implementation (https://eips.ethereum.org/EIPS/eip-1167)

    deployed code:

        0x00    0x36         0x36      CALLDATASIZE      cds
        0x01    0x3d         0x3d      RETURNDATASIZE    0 cds
        0x02    0x3d         0x3d      RETURNDATASIZE    0 0 cds
        0x03    0x37         0x37      CALLDATACOPY
        0x04    0x3d         0x3d      RETURNDATASIZE    0
        0x05    0x3d         0x3d      RETURNDATASIZE    0 0
        0x06    0x3d         0x3d      RETURNDATASIZE    0 0 0
        0x07    0x36         0x36      CALLDATASIZE      cds 0 0 0
        0x08    0x3d         0x3d      RETURNDATASIZE    0 cds 0 0 0
        0x09    0x30         0x30      ADDRESS           addr 0 cds 0 0 0
        0x0A    0x54         0x54      SLOAD             imp 0 cds 0 0 0
        0x0B    0x5a         0x5a      GAS               gas imp 0 cds 0 0 0
        0x0C    0xf4         0xf4      DELEGATECALL      suc 0
        0x0D    0x3d         0x3d      RETURNDATASIZE    rds suc 0
        0x0E    0x82         0x82      DUP3              0 rds suc 0
        0x0F    0x80         0x80      DUP1              0 0 rds suc 0
        0x10    0x3e         0x3e      RETURNDATACOPY    suc 0
        0x11    0x90         0x90      SWAP1             0 suc
        0x12    0x3d         0x3d      RETURNDATASIZE    rds 0 suc
        0x13    0x91         0x91      SWAP2             suc 0 rds
        0x14    0x60 0x18    0x6018    PUSH1             0x18 suc 0 rds
    /-- 0x16    0x57         0x57      JUMPI             0 rds
    |   0x17    0xfd         0xfd      REVERT
    \-> 0x18    0x5b         0x5b      JUMPDEST          0 rds
        0x19    0xf3         0xf3      RETURN

    flat deployed code: 0x363d3d373d3d3d363d30545af43d82803e903d91601857fd5bf3

    deploy function:

        0x00    0x60 0x3a    0x603a    PUSH1             0x3a
        0x02    0x60 0x0e    0x600e    PUSH1             0x0e 0x3a
        0x04    0x3d         0x3d      RETURNDATASIZE    0 0x0e 0x3a
        0x05    0x39         0x39      CODECOPY
        0x06    0x60 0x1a    0x601a    PUSH1             0x1a
        0x08    0x80         0x80      DUP1              0x1a 0x1a
        0x09    0x51         0x51      MLOAD             imp 0x1a
        0x0A    0x30         0x30      ADDRESS           addr imp 0x1a
        0x0B    0x55         0x55      SSTORE            0x1a
        0x0C    0x3d         0x3d      RETURNDATASIZE    0 0x1a
        0x0D    0xf3         0xf3      RETURN
        [...deployed code]

    flat deploy function: 0x603a600e3d39601a805130553df3363d3d373d3d3d363d30545af43d82803e903d91601857fd5bf3
*/
library Wallet {
  bytes internal constant creationCode = hex"603a600e3d39601a805130553df3363d3d373d3d3d363d30545af43d82803e903d91601857fd5bf3";
}

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

Contract ABI

[{"inputs":[{"internalType":"address","name":"_mainModule","type":"address"},{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"DeployFailed","type":"error"},{"inputs":[{"internalType":"address","name":"_mainModule","type":"address"},{"internalType":"bytes32","name":"_salt","type":"bytes32"}],"name":"deploy","outputs":[{"internalType":"address","name":"_contract","type":"address"}],"stateMutability":"payable","type":"function"}]

608060405234801561001057600080fd5b5061020b806100206000396000f3fe60806040526004361061001e5760003560e01c806332c02a1414610023575b600080fd5b610036610031366004610136565b61005f565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6000806040518060600160405280602881526020016101ae602891398473ffffffffffffffffffffffffffffffffffffffff166040516020016100a392919061017b565b60405160208183030381529060405290508281516020830134f5915073ffffffffffffffffffffffffffffffffffffffff821661012f576040517f8caac80500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024810184905260440160405180910390fd5b5092915050565b6000806040838503121561014957600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461016d57600080fd5b946020939093013593505050565b6000835160005b8181101561019c5760208187018101518583015201610182565b50919091019182525060200191905056fe603a600e3d39601a805130553df3363d3d373d3d3d363d30545af43d82803e903d91601857fd5bf3a26469706673582212203e46c5b0f3a6bebab844eb5e4594ebb07eac1ae451f779e533ead5e744b1a2a664736f6c63430008120033

Deployed Bytecode

0x60806040526004361061001e5760003560e01c806332c02a1414610023575b600080fd5b610036610031366004610136565b61005f565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b6000806040518060600160405280602881526020016101ae602891398473ffffffffffffffffffffffffffffffffffffffff166040516020016100a392919061017b565b60405160208183030381529060405290508281516020830134f5915073ffffffffffffffffffffffffffffffffffffffff821661012f576040517f8caac80500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201526024810184905260440160405180910390fd5b5092915050565b6000806040838503121561014957600080fd5b823573ffffffffffffffffffffffffffffffffffffffff8116811461016d57600080fd5b946020939093013593505050565b6000835160005b8181101561019c5760208187018101518583015201610182565b50919091019182525060200191905056fe603a600e3d39601a805130553df3363d3d373d3d3d363d30545af43d82803e903d91601857fd5bf3a26469706673582212203e46c5b0f3a6bebab844eb5e4594ebb07eac1ae451f779e533ead5e744b1a2a664736f6c63430008120033

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.