ETH Price: $2,672.02 (-0.87%)

Contract

0x84654bE796DAD370032391D5479F8f1FD9Ddd14e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Deploy New Insta...208523132024-09-28 23:07:4731 mins ago1727564867IN
0x84654bE7...FD9Ddd14e
0 ETH0.000709810.61592074
Deploy New Insta...208518072024-09-28 21:25:472 hrs ago1727558747IN
0x84654bE7...FD9Ddd14e
0 ETH0.000688410.29780739
Deploy New Insta...208504962024-09-28 17:01:476 hrs ago1727542907IN
0x84654bE7...FD9Ddd14e
0 ETH0.0009217813.78631985
Deploy New Insta...208501182024-09-28 15:45:597 hrs ago1727538359IN
0x84654bE7...FD9Ddd14e
0 ETH0.0009066113.5595367
Deploy New Insta...208498932024-09-28 15:00:478 hrs ago1727535647IN
0x84654bE7...FD9Ddd14e
0 ETH0.0010763716.09842228
Deploy New Insta...208495492024-09-28 13:51:479 hrs ago1727531507IN
0x84654bE7...FD9Ddd14e
0 ETH0.0009284313.88585336
Deploy New Insta...208492252024-09-28 12:46:4710 hrs ago1727527607IN
0x84654bE7...FD9Ddd14e
0 ETH0.000970414.51359838
Deploy New Insta...208491752024-09-28 12:36:4711 hrs ago1727527007IN
0x84654bE7...FD9Ddd14e
0 ETH0.0010607115.86424723
Deploy New Insta...208491602024-09-28 12:33:4711 hrs ago1727526827IN
0x84654bE7...FD9Ddd14e
0 ETH0.001092916.34562831
Deploy New Insta...208489672024-09-28 11:54:4711 hrs ago1727524487IN
0x84654bE7...FD9Ddd14e
0 ETH0.0008542612.77651162
Deploy New Insta...208488772024-09-28 11:36:4712 hrs ago1727523407IN
0x84654bE7...FD9Ddd14e
0 ETH0.0008778413.12917521
Deploy New Insta...208488372024-09-28 11:28:4712 hrs ago1727522927IN
0x84654bE7...FD9Ddd14e
0 ETH0.0009614114.379151
Deploy New Insta...208488222024-09-28 11:25:4712 hrs ago1727522747IN
0x84654bE7...FD9Ddd14e
0 ETH0.0007309610.93240789
Deploy New Insta...208487782024-09-28 11:16:5912 hrs ago1727522219IN
0x84654bE7...FD9Ddd14e
0 ETH0.0008339512.47280643
Deploy New Insta...208487772024-09-28 11:16:4712 hrs ago1727522207IN
0x84654bE7...FD9Ddd14e
0 ETH0.0008339512.47280643
Deploy New Insta...208487072024-09-28 11:02:4712 hrs ago1727521367IN
0x84654bE7...FD9Ddd14e
0 ETH0.0008692113.0001188
Deploy New Insta...208485282024-09-28 10:26:4713 hrs ago1727519207IN
0x84654bE7...FD9Ddd14e
0 ETH0.000927513.87195369
Deploy New Insta...208483982024-09-28 10:00:4713 hrs ago1727517647IN
0x84654bE7...FD9Ddd14e
0 ETH0.0008713.01197102
Deploy New Insta...208481742024-09-28 9:15:4714 hrs ago1727514947IN
0x84654bE7...FD9Ddd14e
0 ETH0.0012453718.62597654
Deploy New Insta...208477452024-09-28 7:49:4715 hrs ago1727509787IN
0x84654bE7...FD9Ddd14e
0 ETH0.0008005911.97383348
Deploy New Insta...208473062024-09-28 6:21:4717 hrs ago1727504507IN
0x84654bE7...FD9Ddd14e
0 ETH0.0009799714.65672191
Deploy New Insta...208472272024-09-28 6:05:4717 hrs ago1727503547IN
0x84654bE7...FD9Ddd14e
0 ETH0.0008610912.87872085
Deploy New Insta...208471422024-09-28 5:48:4717 hrs ago1727502527IN
0x84654bE7...FD9Ddd14e
0 ETH0.0008473612.67331764
Deploy New Insta...208465572024-09-28 3:50:4719 hrs ago1727495447IN
0x84654bE7...FD9Ddd14e
0 ETH0.0009472414.16969404
Deploy New Insta...208465472024-09-28 3:48:4719 hrs ago1727495327IN
0x84654bE7...FD9Ddd14e
0 ETH0.0009117113.63579679
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
208523132024-09-28 23:07:4731 mins ago1727564867
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208518072024-09-28 21:25:472 hrs ago1727558747
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208504962024-09-28 17:01:476 hrs ago1727542907
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208501182024-09-28 15:45:597 hrs ago1727538359
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208498932024-09-28 15:00:478 hrs ago1727535647
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208495492024-09-28 13:51:479 hrs ago1727531507
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208492252024-09-28 12:46:4710 hrs ago1727527607
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208491752024-09-28 12:36:4711 hrs ago1727527007
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208491602024-09-28 12:33:4711 hrs ago1727526827
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208489672024-09-28 11:54:4711 hrs ago1727524487
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208488772024-09-28 11:36:4712 hrs ago1727523407
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208488372024-09-28 11:28:4712 hrs ago1727522927
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208488222024-09-28 11:25:4712 hrs ago1727522747
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208487782024-09-28 11:16:5912 hrs ago1727522219
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208487772024-09-28 11:16:4712 hrs ago1727522207
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208487072024-09-28 11:02:4712 hrs ago1727521367
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208485282024-09-28 10:26:4713 hrs ago1727519207
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208483982024-09-28 10:00:4713 hrs ago1727517647
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208481742024-09-28 9:15:4714 hrs ago1727514947
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208477452024-09-28 7:49:4715 hrs ago1727509787
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208473062024-09-28 6:21:4717 hrs ago1727504507
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208472272024-09-28 6:05:4717 hrs ago1727503547
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208471422024-09-28 5:48:4717 hrs ago1727502527
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208465572024-09-28 3:50:4719 hrs ago1727495447
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
208465472024-09-28 3:48:4719 hrs ago1727495327
0x84654bE7...FD9Ddd14e
 Contract Creation0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ProxyFactory

Compiler Version
v0.6.11+commit.5ef660b1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Audited
File 1 of 1 : ProxyFactory.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.6.11;

contract ProxyFactory {
    /// @dev See comment below for explanation of the proxy INIT_CODE
    bytes private constant INIT_CODE =
        hex'604080600a3d393df3fe'
        hex'7300000000000000000000000000000000000000003d36602557'
        hex'3d3d3d3d34865af1603156'
        hex'5b363d3d373d3d363d855af4'
        hex'5b3d82803e603c573d81fd5b3d81f3';
    /// @dev The main address that the deployed proxies will forward to.
    address payable public immutable mainAddress;

    constructor(address payable addr) public {
        require(addr != address(0), '0x0 is an invalid address');
        mainAddress = addr;
    }

    /**
     * @dev This deploys an extremely minimalist proxy contract with the
     * mainAddress embedded within.
     * Note: The bytecode is explained in comments below this contract.
     * @return dst The new contract address.
     */
    function deployNewInstance(bytes32 salt) external returns (address dst) {
        // copy init code into memory
        // and immutable ExchangeDeposit address onto stack
        bytes memory initCodeMem = INIT_CODE;
        address payable addrStack = mainAddress;
        assembly {
            // Get the position of the start of init code
            let pos := add(initCodeMem, 0x20)
            // grab the first 32 bytes
            let first32 := mload(pos)
            // shift the address bytes 8 bits left
            let addrBytesShifted := shl(8, addrStack)
            // bitwise OR them and add the address into the init code memory
            mstore(pos, or(first32, addrBytesShifted))
            // create the contract
            dst := create2(
                0, // Send no value to the contract
                pos, // Deploy code starts at pos
                74, // Deploy + runtime code is 74 bytes
                salt // 32 byte salt
            )
            // revert if failed
            if eq(dst, 0) {
                revert(0, 0)
            }
        }
    }
}

/*
    // PROXY CONTRACT EXPLANATION

    // DEPLOY CODE (will not be returned by web3.eth.getCode())
    // STORE CONTRACT CODE IN MEMORY, THEN RETURN IT
    POS | OPCODE |  OPCODE TEXT      |  STACK                               |
    00  |  6040  |  PUSH1 0x40       |  0x40                                |
    02  |  80    |  DUP1             |  0x40 0x40                           |
    03  |  600a  |  PUSH1 0x0a       |  0x0a 0x40 0x40                      |
    05  |  3d    |  RETURNDATASIZE   |  0x0 0x0a 0x40 0x40                  |
    06  |  39    |  CODECOPY         |  0x40                                |
    07  |  3d    |  RETURNDATASIZE   |  0x0 0x40                            |
    08  |  f3    |  RETURN           |                                      |

    09  |  fe    |  INVALID          |                                      |

    // START CONTRACT CODE

    // Push the ExchangeDeposit address on the stack for DUPing later
    // Also pushing a 0x0 for DUPing later. (saves runtime AND deploy gas)
    // Then use the calldata size as the decider for whether to jump or not
    POS | OPCODE |  OPCODE TEXT      |  STACK                               |
    00  |  73... |  PUSH20 ...       |  {ADDR}                              |
    15  |  3d    |  RETURNDATASIZE   |  0x0 {ADDR}                          |
    16  |  36    |  CALLDATASIZE     |  CDS 0x0 {ADDR}                      |
    17  |  6025  |  PUSH1 0x25       |  0x25 CDS 0x0 {ADDR}                 |
    19  |  57    |  JUMPI            |  0x0 {ADDR}                          |

    // If msg.data length === 0, CALL into address
    // This way, the proxy contract address becomes msg.sender and we can use
    // msg.sender in the Deposit Event
    // This also gives us access to our ExchangeDeposit storage (for forwarding address)
    POS | OPCODE |  OPCODE TEXT      |  STACK                                       |
    1A  |  3d    |  RETURNDATASIZE   |  0x0 0x0 {ADDR}                              |
    1B  |  3d    |  RETURNDATASIZE   |  0x0 0x0 0x0 {ADDR}                          |
    1C  |  3d    |  RETURNDATASIZE   |  0x0 0x0 0x0 0x0 {ADDR}                      |
    1D  |  3d    |  RETURNDATASIZE   |  0x0 0x0 0x0 0x0 0x0 {ADDR}                  |
    1E  |  34    |  CALLVALUE        |  VALUE 0x0 0x0 0x0 0x0 0x0 {ADDR}            |
    1F  |  86    |  DUP7             |  {ADDR} VALUE 0x0 0x0 0x0 0x0 0x0 {ADDR}     |
    20  |  5a    |  GAS              |  GAS {ADDR} VALUE 0x0 0x0 0x0 0x0 0x0 {ADDR} |
    21  |  f1    |  CALL             |  {RES} 0x0 {ADDR}                            |
    22  |  6031  |  PUSH1 0x31       |  0x31 {RES} 0x0 {ADDR}                       |
    24  |  56    |  JUMP             |  {RES} 0x0 {ADDR}                            |

    // If msg.data length > 0, DELEGATECALL into address
    // This will allow us to call gatherErc20 using the context of the proxy
    // address itself.
    POS | OPCODE |  OPCODE TEXT      |  STACK                                 |
    25  |  5b    |  JUMPDEST         |  0x0 {ADDR}                            |
    26  |  36    |  CALLDATASIZE     |  CDS 0x0 {ADDR}                        |
    27  |  3d    |  RETURNDATASIZE   |  0x0 CDS 0x0 {ADDR}                    |
    28  |  3d    |  RETURNDATASIZE   |  0x0 0x0 CDS 0x0 {ADDR}                |
    29  |  37    |  CALLDATACOPY     |  0x0 {ADDR}                            |
    2A  |  3d    |  RETURNDATASIZE   |  0x0 0x0 {ADDR}                        |
    2B  |  3d    |  RETURNDATASIZE   |  0x0 0x0 0x0 {ADDR}                    |
    2C  |  36    |  CALLDATASIZE     |  CDS 0x0 0x0 0x0 {ADDR}                |
    2D  |  3d    |  RETURNDATASIZE   |  0x0 CDS 0x0 0x0 0x0 {ADDR}            |
    2E  |  85    |  DUP6             |  {ADDR} 0x0 CDS 0x0 0x0 0x0 {ADDR}     |
    2F  |  5a    |  GAS              |  GAS {ADDR} 0x0 CDS 0x0 0x0 0x0 {ADDR} |
    30  |  f4    |  DELEGATECALL     |  {RES} 0x0 {ADDR}                      |

    // We take the result of the call, load in the returndata,
    // If call result == 0, failure, revert
    // else success, return
    POS | OPCODE |  OPCODE TEXT      |  STACK                               |
    31  |  5b    |  JUMPDEST         |  {RES} 0x0 {ADDR}                    |
    32  |  3d    |  RETURNDATASIZE   |  RDS {RES} 0x0 {ADDR}                |
    33  |  82    |  DUP3             |  0x0 RDS {RES} 0x0 {ADDR}            |
    34  |  80    |  DUP1             |  0x0 0x0 RDS {RES} 0x0 {ADDR}        |
    35  |  3e    |  RETURNDATACOPY   |  {RES} 0x0 {ADDR}                    |
    36  |  603c  |  PUSH1 0x3c       |  0x3c {RES} 0x0 {ADDR}               |
    38  |  57    |  JUMPI            |  0x0 {ADDR}                          |
    39  |  3d    |  RETURNDATASIZE   |  RDS 0x0 {ADDR}                      |
    3A  |  81    |  DUP2             |  0x0 RDS 0x0 {ADDR}                  |
    3B  |  fd    |  REVERT           |  0x0 {ADDR}                          |
    3C  |  5b    |  JUMPDEST         |  0x0 {ADDR}                          |
    3D  |  3d    |  RETURNDATASIZE   |  RDS 0x0 {ADDR}                      |
    3E  |  81    |  DUP2             |  0x0 RDS 0x0 {ADDR}                  |
    3F  |  f3    |  RETURN           |  0x0 {ADDR}                          |
*/

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "evmVersion": "istanbul",
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"addr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"deployNewInstance","outputs":[{"internalType":"address","name":"dst","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mainAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60a060405234801561001057600080fd5b506040516102513803806102518339818101604052602081101561003357600080fd5b50516001600160a01b038116610090576040805162461bcd60e51b815260206004820152601960248201527f30783020697320616e20696e76616c6964206164647265737300000000000000604482015290519081900360640190fd5b606081901b6001600160601b0319166080526001600160a01b031661018c6100c560003980607e528060c5525061018c6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80630cdd42341461003b578063d508e6231461005f575b600080fd5b61004361007c565b604080516001600160a01b039092168252519081900360200190f35b6100436004803603602081101561007557600080fd5b50356100a0565b7f000000000000000000000000000000000000000000000000000000000000000081565b600060606040518060800160405280604a815260200161010d604a91396020810180517f0000000000000000000000000000000000000000000000000000000000000000600881901b909117825291925084604a826000f59350508261010557600080fd5b505091905056fe604080600a3d393df3fe7300000000000000000000000000000000000000003d366025573d3d3d3d34865af16031565b363d3d373d3d363d855af45b3d82803e603c573d81fd5b3d81f3a2646970667358221220461a41af528ee3f9d62d7ce59d78ed1b49049d7b1ae8257c4de2469de42759bc64736f6c634300060b0033000000000000000000000000265c27c849b0e1a62636f6007e8a74dc2a2584aa

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100365760003560e01c80630cdd42341461003b578063d508e6231461005f575b600080fd5b61004361007c565b604080516001600160a01b039092168252519081900360200190f35b6100436004803603602081101561007557600080fd5b50356100a0565b7f000000000000000000000000265c27c849b0e1a62636f6007e8a74dc2a2584aa81565b600060606040518060800160405280604a815260200161010d604a91396020810180517f000000000000000000000000265c27c849b0e1a62636f6007e8a74dc2a2584aa600881901b909117825291925084604a826000f59350508261010557600080fd5b505091905056fe604080600a3d393df3fe7300000000000000000000000000000000000000003d366025573d3d3d3d34865af16031565b363d3d373d3d363d855af45b3d82803e603c573d81fd5b3d81f3a2646970667358221220461a41af528ee3f9d62d7ce59d78ed1b49049d7b1ae8257c4de2469de42759bc64736f6c634300060b0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000265c27c849b0e1a62636f6007e8a74dc2a2584aa

-----Decoded View---------------
Arg [0] : addr (address): 0x265c27C849B0E1a62636f6007e8a74dC2a2584Aa

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000265c27c849b0e1a62636f6007e8a74dc2a2584aa


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

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.