Era2Deployer4Deployer

0xc864bc7d0197d6234e9e432505978b7b787cedfc

Verification
Verified
v0.8.28+commit.7893614a
Type
Contract
193 bytes
ABI entries
3
2 read · 0 write
License
none

Contract information

Address
0xc864bc7d0197d6234e9e432505978b7b787cedfc
Chain
Robinhood Chain (4663)
Compiler
v0.8.28+commit.7893614a
Optimization
Enabled
Creation tx
0x20a5895e63…92227f99b4

Token

Not a token

This contract does not expose ERC-20 metadata.

Read contract (2)

era2Deployer4()address
self()address

ABI

[
  {
    "inputs": [],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "era2Deployer4",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "self",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]

Source code

// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity 0.8.28;

import {VAULT_V2_FACTORY_INIT_CODE} from "../libraries/BytecodesLib.sol";
import {UtilsLib} from "../libraries/UtilsLib.sol";
import {IVaultV2Factory} from "../../lib/vault-v2/src/interfaces/IVaultV2Factory.sol";
import {DummyERC20} from "../era-1/Deployer3.sol";

contract Era2Deployer4 {
    // For Etherscan verification: disambiguate the contract's deployed code.
    address public immutable self = address(this);

    address public immutable vaultV2Factory;
    address public immutable dummyERC20;
    address public immutable dummyVaultV2;

    constructor(uint256 chainId) {
        // Prevent deploying at the same address on another chain.
        require(chainId == block.chainid, "Invalid chain ID");

        // Deploy VaultV2Factory.
        vaultV2Factory = UtilsLib.deploy(VAULT_V2_FACTORY_INIT_CODE, hex"");

        // Deploy dummy ERC20.
        dummyERC20 = address(new DummyERC20());

        // Deploy dummy VaultV2.
        dummyVaultV2 = IVaultV2Factory(vaultV2Factory).createVaultV2(address(0), dummyERC20, bytes32(0));
    }
}

contract Era2Deployer4Deployer {
    // For Etherscan verification: disambiguate the contract's deployed code.
    address public immutable self = address(this);

    address public immutable era2Deployer4;

    constructor() {
        era2Deployer4 = address(new Era2Deployer4{salt: 0}(block.chainid));
    }
}
Chain explorer3430msChain node82ms