OP Sepolia Testnet

Contract

0xD4c8b3710d399c1810e48365727FD28bD4ec0314
Source Code Source Code

Overview

ETH Balance

0 ETH

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount

There are no matching entries

Please try again later

Parent Transaction Hash Block From To Amount
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Events

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 800 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

// SPDX-License-Identifier: MIT
pragma solidity 0.8.18;

import {ICopyWallet, IEvents} from "./interfaces/IEvents.sol";
import {IFactory} from "./interfaces/IFactory.sol";

contract Events is IEvents {
    address public immutable factory;

    modifier onlyCopyWallets() {
        if (!IFactory(factory).accounts(msg.sender)) {
            revert OnlyCopyWallets();
        }
        _;
    }

    constructor(address _factory) {
        factory = _factory;
    }

    function emitDeposit(
        address user,
        uint256 amount
    ) external override onlyCopyWallets {
        emit Deposit({user: user, account: msg.sender, amount: amount});
    }

    function emitWithdraw(
        address user,
        uint256 amount
    ) external override onlyCopyWallets {
        emit Withdraw({user: user, account: msg.sender, amount: amount});
    }

    function emitEthWithdraw(
        address user,
        uint256 amount
    ) external override onlyCopyWallets {
        emit EthWithdraw({user: user, account: msg.sender, amount: amount});
    }

    function emitChargeExecutorFee(
        address executor,
        address receiver,
        uint256 fee,
        uint256 feeUsd
    ) external override onlyCopyWallets {
        emit ChargeExecutorFee({
            executor: executor,
            receiver: receiver,
            copyWallet: msg.sender,
            fee: fee,
            feeUsd: feeUsd
        });
    }

    function emitChargeProtocolFee(
        address receiver,
        uint256 sizeDelta,
        uint256 price,
        uint256 feeUsd
    ) external override onlyCopyWallets {
        emit ChargeProtocolFee({
            receiver: receiver,
            copyWallet: msg.sender,
            sizeDelta: sizeDelta,
            price: price,
            feeUsd: feeUsd
        });
    }

    function emitCreateGelatoTask(
        uint256 taskId,
        bytes32 gelatoTaskId,
        ICopyWallet.TaskCommand command,
        address source,
        uint256 market,
        int256 collateralDelta,
        int256 sizeDelta,
        uint256 triggerPrice,
        uint256 acceptablePrice,
        address referrer
    ) external override onlyCopyWallets {
        emit CreateGelatoTask({
            copyWallet: msg.sender,
            taskId: taskId,
            gelatoTaskId: gelatoTaskId,
            command: command,
            source: source,
            market: market,
            collateralDelta: collateralDelta,
            sizeDelta: sizeDelta,
            triggerPrice: triggerPrice,
            acceptablePrice: acceptablePrice,
            referrer: referrer
        });
    }

    function emitUpdateGelatoTask(
        uint256 taskId,
        bytes32 gelatoTaskId,
        int256 collateralDelta,
        int256 sizeDelta,
        uint256 triggerPrice,
        uint256 acceptablePrice
    ) external override onlyCopyWallets {
        emit UpdateGelatoTask({
            copyWallet: msg.sender,
            taskId: taskId,
            gelatoTaskId: gelatoTaskId,
            collateralDelta: collateralDelta,
            sizeDelta: sizeDelta,
            triggerPrice: triggerPrice,
            acceptablePrice: acceptablePrice
        });
    }

    function emitCancelGelatoTask(
        uint256 taskId,
        bytes32 gelatoTaskId,
        bytes32 reason
    ) external override onlyCopyWallets {
        emit CancelGelatoTask({
            copyWallet: msg.sender,
            taskId: taskId,
            gelatoTaskId: gelatoTaskId,
            reason: reason
        });
    }

    function emitGelatoTaskRunned(
        uint256 taskId,
        bytes32 gelatoTaskId,
        uint256 fillPrice,
        uint256 fee
    ) external override onlyCopyWallets {
        emit GelatoTaskRunned({
            account: msg.sender,
            taskId: taskId,
            gelatoTaskId: gelatoTaskId,
            fillPrice: fillPrice,
            fee: fee
        });
    }
}

// SPDX-License-Identifier: MIT
pragma solidity 0.8.18;

import {ICopyWallet} from "./ICopyWallet.sol";

interface IEvents {
    error OnlyCopyWallets();

    function factory() external view returns (address);

    function emitDeposit(address user, uint256 amount) external;

    event Deposit(
        address indexed user,
        address indexed account,
        uint256 amount
    );

    function emitWithdraw(address user, uint256 amount) external;

    event Withdraw(
        address indexed user,
        address indexed account,
        uint256 amount
    );

    function emitEthWithdraw(address user, uint256 amount) external;

    event EthWithdraw(
        address indexed user,
        address indexed account,
        uint256 amount
    );

    function emitChargeExecutorFee(
        address executor,
        address receiver,
        uint256 fee,
        uint256 feeUsd
    ) external;

    event ChargeExecutorFee(
        address indexed executor,
        address indexed receiver,
        address indexed copyWallet,
        uint256 fee,
        uint256 feeUsd
    );

    function emitChargeProtocolFee(
        address receiver,
        uint256 sizeDelta,
        uint256 price,
        uint256 feeUsd
    ) external;

    event ChargeProtocolFee(
        address indexed receiver,
        address indexed copyWallet,
        uint256 sizeDelta,
        uint256 price,
        uint256 feeUsd
    );

    function emitCreateGelatoTask(
        uint256 taskId,
        bytes32 gelatoTaskId,
        ICopyWallet.TaskCommand command,
        address source,
        uint256 market,
        int256 collateralDelta,
        int256 sizeDelta,
        uint256 triggerPrice,
        uint256 acceptablePrice,
        address referrer
    ) external;

    event CreateGelatoTask(
        address indexed copyWallet,
        uint256 indexed taskId,
        bytes32 indexed gelatoTaskId,
        ICopyWallet.TaskCommand command,
        address source,
        uint256 market,
        int256 collateralDelta,
        int256 sizeDelta,
        uint256 triggerPrice,
        uint256 acceptablePrice,
        address referrer
    );

    function emitUpdateGelatoTask(
        uint256 taskId,
        bytes32 gelatoTaskId,
        int256 collateralDelta,
        int256 sizeDelta,
        uint256 triggerPrice,
        uint256 acceptablePrice
    ) external;

    event UpdateGelatoTask(
        address indexed copyWallet,
        uint256 indexed taskId,
        bytes32 indexed gelatoTaskId,
        int256 collateralDelta,
        int256 sizeDelta,
        uint256 triggerPrice,
        uint256 acceptablePrice
    );

    function emitCancelGelatoTask(
        uint256 taskId,
        bytes32 gelatoTaskId,
        bytes32 reason
    ) external;

    event CancelGelatoTask(
        address indexed copyWallet,
        uint256 indexed taskId,
        bytes32 indexed gelatoTaskId,
        bytes32 reason
    );

    function emitGelatoTaskRunned(
        uint256 taskId,
        bytes32 gelatoTaskId,
        uint256 fillPrice,
        uint256 fee
    ) external;

    event GelatoTaskRunned(
        address indexed account,
        uint256 indexed taskId,
        bytes32 indexed gelatoTaskId,
        uint256 fillPrice,
        uint256 fee
    );
}

// SPDX-License-Identifier: MIT
pragma solidity 0.8.18;

interface IFactory {
    event NewCopyWallet(
        address indexed creator,
        address indexed account,
        bytes32 version
    );

    event CopyWalletImplementationUpgraded(address implementation);

    error FailedToInitCopyWallet(bytes data);

    error CopyWalletFailedToFetchVersion(bytes data);

    error CannotUpgrade();

    error CopyWalletDoesNotExist();

    function canUpgrade() external view returns (bool);

    function implementation() external view returns (address);

    function accounts(address _account) external view returns (bool);

    function getCopyWalletOwner(
        address _account
    ) external view returns (address);

    function getCopyWalletsOwnedBy(
        address _owner
    ) external view returns (address[] memory);

    function updateCopyWalletOwnership(
        address _newOwner,
        address _oldOwner
    ) external;

    function newCopyWallet(
        address initialExecutor
    ) external returns (address payable accountAddress);

    /// @dev this *will* impact all existing accounts
    /// @dev future accounts will also point to this new implementation (until
    /// upgradeCopyWalletImplementation() is called again with a newer implementation)
    /// @dev *DANGER* this function does not check the new implementation for validity,
    /// thus, a bad upgrade could result in severe consequences.
    function upgradeCopyWalletImplementation(address _implementation) external;

    /// @dev cannot be undone
    function removeUpgradability() external;
}

// SPDX-License-Identifier: MIT
pragma solidity 0.8.18;

interface ICopyWallet {
    enum Command {
        OWNER_MODIFY_FUND, //0
        OWNER_WITHDRAW_ETH, //1
        OWNER_WITHDRAW_TOKEN, //2
        PERP_CREATE_ACCOUNT, //3
        PERP_MODIFY_COLLATERAL, //4
        PERP_PLACE_ORDER, //5
        PERP_CLOSE_ORDER, //6
        PERP_CANCEL_ORDER, //7
        PERP_WITHDRAW_ALL_MARGIN, //8
        GELATO_CREATE_TASK, //9
        GELATO_UPDATE_TASK, //10
        GELETO_CANCEL_TASK //11
    }

    enum TaskCommand {
        STOP_ORDER, //0
        LIMIT_ORDER //1
    }

    struct CopyWalletConstructorParams {
        address factory;
        address events;
        address configs;
        address usdAsset;
        address automate;
        address taskCreator;
    }

    struct Position {
        address source;
        uint256 lastSize;
        uint256 lastSizeDelta;
        uint256 lastPrice;
        uint256 lastFees;
    }

    struct Task {
        bytes32 gelatoTaskId;
        TaskCommand command;
        address source;
        uint256 market;
        int256 collateralDelta;
        int256 sizeDelta;
        uint256 triggerPrice;
        uint256 acceptablePrice;
        address referrer;
    }

    error LengthMismatch();

    error InvalidCommandType(uint256 commandType);

    error ZeroSizeDelta();

    error InsufficientAvailableFund(uint256 available, uint256 required);

    error EthWithdrawalFailed();

    error NoOrderFound();

    error NoTaskFound();

    error CannotExecuteTask(uint256 taskId, address executor);

    function VERSION() external view returns (bytes32);

    function lockedFund() external view returns (uint256);

    function lockedFundD18() external view returns (uint256);

    function executorUsdFee(uint256 _fee) external view returns (uint256);

    function availableFund() external view returns (uint256);

    function availableFundD18() external view returns (uint256);

    function checker(
        uint256 _taskId
    ) external view returns (bool canExec, bytes memory execPayload);

    function getTask(uint256 _taskId) external view returns (Task memory);

    function init(address _owner, address _executor) external;

    function execute(
        Command[] calldata _commands,
        bytes[] calldata _inputs
    ) external payable;

    function executeTask(uint256 _taskId) external;
}

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

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_factory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"OnlyCopyWallets","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"copyWallet","type":"address"},{"indexed":true,"internalType":"uint256","name":"taskId","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"gelatoTaskId","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"reason","type":"bytes32"}],"name":"CancelGelatoTask","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"executor","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"copyWallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"feeUsd","type":"uint256"}],"name":"ChargeExecutorFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"copyWallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"sizeDelta","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"feeUsd","type":"uint256"}],"name":"ChargeProtocolFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"copyWallet","type":"address"},{"indexed":true,"internalType":"uint256","name":"taskId","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"gelatoTaskId","type":"bytes32"},{"indexed":false,"internalType":"enum ICopyWallet.TaskCommand","name":"command","type":"uint8"},{"indexed":false,"internalType":"address","name":"source","type":"address"},{"indexed":false,"internalType":"uint256","name":"market","type":"uint256"},{"indexed":false,"internalType":"int256","name":"collateralDelta","type":"int256"},{"indexed":false,"internalType":"int256","name":"sizeDelta","type":"int256"},{"indexed":false,"internalType":"uint256","name":"triggerPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"acceptablePrice","type":"uint256"},{"indexed":false,"internalType":"address","name":"referrer","type":"address"}],"name":"CreateGelatoTask","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"EthWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"uint256","name":"taskId","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"gelatoTaskId","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"fillPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fee","type":"uint256"}],"name":"GelatoTaskRunned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"copyWallet","type":"address"},{"indexed":true,"internalType":"uint256","name":"taskId","type":"uint256"},{"indexed":true,"internalType":"bytes32","name":"gelatoTaskId","type":"bytes32"},{"indexed":false,"internalType":"int256","name":"collateralDelta","type":"int256"},{"indexed":false,"internalType":"int256","name":"sizeDelta","type":"int256"},{"indexed":false,"internalType":"uint256","name":"triggerPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"acceptablePrice","type":"uint256"}],"name":"UpdateGelatoTask","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[{"internalType":"uint256","name":"taskId","type":"uint256"},{"internalType":"bytes32","name":"gelatoTaskId","type":"bytes32"},{"internalType":"bytes32","name":"reason","type":"bytes32"}],"name":"emitCancelGelatoTask","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"executor","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"uint256","name":"feeUsd","type":"uint256"}],"name":"emitChargeExecutorFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"sizeDelta","type":"uint256"},{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"feeUsd","type":"uint256"}],"name":"emitChargeProtocolFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taskId","type":"uint256"},{"internalType":"bytes32","name":"gelatoTaskId","type":"bytes32"},{"internalType":"enum ICopyWallet.TaskCommand","name":"command","type":"uint8"},{"internalType":"address","name":"source","type":"address"},{"internalType":"uint256","name":"market","type":"uint256"},{"internalType":"int256","name":"collateralDelta","type":"int256"},{"internalType":"int256","name":"sizeDelta","type":"int256"},{"internalType":"uint256","name":"triggerPrice","type":"uint256"},{"internalType":"uint256","name":"acceptablePrice","type":"uint256"},{"internalType":"address","name":"referrer","type":"address"}],"name":"emitCreateGelatoTask","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emitDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emitEthWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taskId","type":"uint256"},{"internalType":"bytes32","name":"gelatoTaskId","type":"bytes32"},{"internalType":"uint256","name":"fillPrice","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"}],"name":"emitGelatoTaskRunned","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taskId","type":"uint256"},{"internalType":"bytes32","name":"gelatoTaskId","type":"bytes32"},{"internalType":"int256","name":"collateralDelta","type":"int256"},{"internalType":"int256","name":"sizeDelta","type":"int256"},{"internalType":"uint256","name":"triggerPrice","type":"uint256"},{"internalType":"uint256","name":"acceptablePrice","type":"uint256"}],"name":"emitUpdateGelatoTask","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emitWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60a060405234801561001057600080fd5b50604051610d73380380610d7383398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610ca96100ca60003960008181610162015281816101c8015281816102b7015281816103b00152818161049b0152818161058501528181610680015281816107620152818161084f01526109310152610ca96000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c806379a4952711610076578063b014da211161005b578063b014da211461014a578063c45a01551461015d578063dc8b5094146101a057600080fd5b806379a49527146101245780639f4db6951461013757600080fd5b806325711414116100a757806325711414146100eb57806328ba84ca146100fe578063558adfb41461011157600080fd5b80630657e982146100c35780631e012c16146100d8575b600080fd5b6100d66100d1366004610a1e565b6101b3565b005b6100d66100e6366004610a66565b6102a2565b6100d66100f9366004610a9f565b61039b565b6100d661010c366004610ad1565b610486565b6100d661011f366004610afb565b610570565b6100d6610132366004610ad1565b61066b565b6100d6610145366004610b3e565b61074d565b6100d6610158366004610ad1565b61083a565b6101847f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100d66101ae366004610b80565b61091c565b604051632f2e037160e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635e5c06e290602401602060405180830381865afa158015610217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023b9190610c0f565b61025857604051631247dd1b60e21b815260040160405180910390fd5b8183336001600160a01b03167fd92e7da6aabdcd2662af1be839e328a696ee3e8fa3113b58054d7260d4ad82558460405161029591815260200190565b60405180910390a4505050565b604051632f2e037160e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635e5c06e290602401602060405180830381865afa158015610306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032a9190610c0f565b61034757604051631247dd1b60e21b815260040160405180910390fd5b604080518481526020810184905290810182905233906001600160a01b038616907fc7d95d0476b259a9aeae5d7b0c266e1a9fa1ada5906fc101efffe54aa0ec404b9060600160405180910390a350505050565b604051632f2e037160e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635e5c06e290602401602060405180830381865afa1580156103ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104239190610c0f565b61044057604051631247dd1b60e21b815260040160405180910390fd5b60408051838152602081018390528491869133917fc19a88a669aef35650456490f17dc765992bcb6a63f510226099ec8f51df2d0491015b60405180910390a450505050565b604051632f2e037160e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635e5c06e290602401602060405180830381865afa1580156104ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050e9190610c0f565b61052b57604051631247dd1b60e21b815260040160405180910390fd5b60405181815233906001600160a01b038416907f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f62906020015b60405180910390a35050565b604051632f2e037160e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635e5c06e290602401602060405180830381865afa1580156105d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f89190610c0f565b61061557604051631247dd1b60e21b815260040160405180910390fd5b6040805185815260208101859052908101839052606081018290528590879033907f7e4a393b04124adf34c016848cf6716b7acfc2ebc1def7f91095b1704c3f549d9060800160405180910390a4505050505050565b604051632f2e037160e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635e5c06e290602401602060405180830381865afa1580156106cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f39190610c0f565b61071057604051631247dd1b60e21b815260040160405180910390fd5b60405181815233906001600160a01b038416907f4ffc5e5909c5e9b0ea91efeaddb04bf70a58475f0c5f62d0314e6636ddb9ae9690602001610564565b604051632f2e037160e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635e5c06e290602401602060405180830381865afa1580156107b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d59190610c0f565b6107f257604051631247dd1b60e21b815260040160405180910390fd5b604080518381526020810183905233916001600160a01b0386811692908816917f0bca2ce0f1a4a417caa2829bfdaa144d9c0add7356d4436e7d2606eac45fe2e19101610478565b604051632f2e037160e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635e5c06e290602401602060405180830381865afa15801561089e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c29190610c0f565b6108df57604051631247dd1b60e21b815260040160405180910390fd5b60405181815233906001600160a01b038416907f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb90602001610564565b604051632f2e037160e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635e5c06e290602401602060405180830381865afa158015610980573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a49190610c0f565b6109c157604051631247dd1b60e21b815260040160405180910390fd5b888a336001600160a01b03167fb43286d1d3d57183f0362c8b308b0a008a305813bb629485a2028a24bf695e3e8b8b8b8b8b8b8b8b604051610a0a989796959493929190610c38565b60405180910390a450505050505050505050565b600080600060608486031215610a3357600080fd5b505081359360208301359350604090920135919050565b80356001600160a01b0381168114610a6157600080fd5b919050565b60008060008060808587031215610a7c57600080fd5b610a8585610a4a565b966020860135965060408601359560600135945092505050565b60008060008060808587031215610ab557600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215610ae457600080fd5b610aed83610a4a565b946020939093013593505050565b60008060008060008060c08789031215610b1457600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060008060808587031215610b5457600080fd5b610b5d85610a4a565b9350610b6b60208601610a4a565b93969395505050506040820135916060013590565b6000806000806000806000806000806101408b8d031215610ba057600080fd5b8a35995060208b0135985060408b013560028110610bbd57600080fd5b9750610bcb60608c01610a4a565b965060808b0135955060a08b0135945060c08b0135935060e08b013592506101008b01359150610bfe6101208c01610a4a565b90509295989b9194979a5092959850565b600060208284031215610c2157600080fd5b81518015158114610c3157600080fd5b9392505050565b610100810160028a10610c5b57634e487b7160e01b600052602160045260246000fd5b9881526001600160a01b03978816602082015260408101969096526060860194909452608085019290925260a084015260c083015290911660e0909101529056fea164736f6c6343000812000a000000000000000000000000329b3599e51b992879349c0388d29a5b06861b0b

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100be5760003560e01c806379a4952711610076578063b014da211161005b578063b014da211461014a578063c45a01551461015d578063dc8b5094146101a057600080fd5b806379a49527146101245780639f4db6951461013757600080fd5b806325711414116100a757806325711414146100eb57806328ba84ca146100fe578063558adfb41461011157600080fd5b80630657e982146100c35780631e012c16146100d8575b600080fd5b6100d66100d1366004610a1e565b6101b3565b005b6100d66100e6366004610a66565b6102a2565b6100d66100f9366004610a9f565b61039b565b6100d661010c366004610ad1565b610486565b6100d661011f366004610afb565b610570565b6100d6610132366004610ad1565b61066b565b6100d6610145366004610b3e565b61074d565b6100d6610158366004610ad1565b61083a565b6101847f000000000000000000000000329b3599e51b992879349c0388d29a5b06861b0b81565b6040516001600160a01b03909116815260200160405180910390f35b6100d66101ae366004610b80565b61091c565b604051632f2e037160e11b81523360048201527f000000000000000000000000329b3599e51b992879349c0388d29a5b06861b0b6001600160a01b031690635e5c06e290602401602060405180830381865afa158015610217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023b9190610c0f565b61025857604051631247dd1b60e21b815260040160405180910390fd5b8183336001600160a01b03167fd92e7da6aabdcd2662af1be839e328a696ee3e8fa3113b58054d7260d4ad82558460405161029591815260200190565b60405180910390a4505050565b604051632f2e037160e11b81523360048201527f000000000000000000000000329b3599e51b992879349c0388d29a5b06861b0b6001600160a01b031690635e5c06e290602401602060405180830381865afa158015610306573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032a9190610c0f565b61034757604051631247dd1b60e21b815260040160405180910390fd5b604080518481526020810184905290810182905233906001600160a01b038616907fc7d95d0476b259a9aeae5d7b0c266e1a9fa1ada5906fc101efffe54aa0ec404b9060600160405180910390a350505050565b604051632f2e037160e11b81523360048201527f000000000000000000000000329b3599e51b992879349c0388d29a5b06861b0b6001600160a01b031690635e5c06e290602401602060405180830381865afa1580156103ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104239190610c0f565b61044057604051631247dd1b60e21b815260040160405180910390fd5b60408051838152602081018390528491869133917fc19a88a669aef35650456490f17dc765992bcb6a63f510226099ec8f51df2d0491015b60405180910390a450505050565b604051632f2e037160e11b81523360048201527f000000000000000000000000329b3599e51b992879349c0388d29a5b06861b0b6001600160a01b031690635e5c06e290602401602060405180830381865afa1580156104ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050e9190610c0f565b61052b57604051631247dd1b60e21b815260040160405180910390fd5b60405181815233906001600160a01b038416907f5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f62906020015b60405180910390a35050565b604051632f2e037160e11b81523360048201527f000000000000000000000000329b3599e51b992879349c0388d29a5b06861b0b6001600160a01b031690635e5c06e290602401602060405180830381865afa1580156105d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f89190610c0f565b61061557604051631247dd1b60e21b815260040160405180910390fd5b6040805185815260208101859052908101839052606081018290528590879033907f7e4a393b04124adf34c016848cf6716b7acfc2ebc1def7f91095b1704c3f549d9060800160405180910390a4505050505050565b604051632f2e037160e11b81523360048201527f000000000000000000000000329b3599e51b992879349c0388d29a5b06861b0b6001600160a01b031690635e5c06e290602401602060405180830381865afa1580156106cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f39190610c0f565b61071057604051631247dd1b60e21b815260040160405180910390fd5b60405181815233906001600160a01b038416907f4ffc5e5909c5e9b0ea91efeaddb04bf70a58475f0c5f62d0314e6636ddb9ae9690602001610564565b604051632f2e037160e11b81523360048201527f000000000000000000000000329b3599e51b992879349c0388d29a5b06861b0b6001600160a01b031690635e5c06e290602401602060405180830381865afa1580156107b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d59190610c0f565b6107f257604051631247dd1b60e21b815260040160405180910390fd5b604080518381526020810183905233916001600160a01b0386811692908816917f0bca2ce0f1a4a417caa2829bfdaa144d9c0add7356d4436e7d2606eac45fe2e19101610478565b604051632f2e037160e11b81523360048201527f000000000000000000000000329b3599e51b992879349c0388d29a5b06861b0b6001600160a01b031690635e5c06e290602401602060405180830381865afa15801561089e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c29190610c0f565b6108df57604051631247dd1b60e21b815260040160405180910390fd5b60405181815233906001600160a01b038416907f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb90602001610564565b604051632f2e037160e11b81523360048201527f000000000000000000000000329b3599e51b992879349c0388d29a5b06861b0b6001600160a01b031690635e5c06e290602401602060405180830381865afa158015610980573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a49190610c0f565b6109c157604051631247dd1b60e21b815260040160405180910390fd5b888a336001600160a01b03167fb43286d1d3d57183f0362c8b308b0a008a305813bb629485a2028a24bf695e3e8b8b8b8b8b8b8b8b604051610a0a989796959493929190610c38565b60405180910390a450505050505050505050565b600080600060608486031215610a3357600080fd5b505081359360208301359350604090920135919050565b80356001600160a01b0381168114610a6157600080fd5b919050565b60008060008060808587031215610a7c57600080fd5b610a8585610a4a565b966020860135965060408601359560600135945092505050565b60008060008060808587031215610ab557600080fd5b5050823594602084013594506040840135936060013592509050565b60008060408385031215610ae457600080fd5b610aed83610a4a565b946020939093013593505050565b60008060008060008060c08789031215610b1457600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b60008060008060808587031215610b5457600080fd5b610b5d85610a4a565b9350610b6b60208601610a4a565b93969395505050506040820135916060013590565b6000806000806000806000806000806101408b8d031215610ba057600080fd5b8a35995060208b0135985060408b013560028110610bbd57600080fd5b9750610bcb60608c01610a4a565b965060808b0135955060a08b0135945060c08b0135935060e08b013592506101008b01359150610bfe6101208c01610a4a565b90509295989b9194979a5092959850565b600060208284031215610c2157600080fd5b81518015158114610c3157600080fd5b9392505050565b610100810160028a10610c5b57634e487b7160e01b600052602160045260246000fd5b9881526001600160a01b03978816602082015260408101969096526060860194909452608085019290925260a084015260c083015290911660e0909101529056fea164736f6c6343000812000a

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

000000000000000000000000329b3599e51b992879349c0388d29a5b06861b0b

-----Decoded View---------------
Arg [0] : _factory (address): 0x329b3599e51B992879349C0388D29a5B06861B0B

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000329b3599e51b992879349c0388d29a5b06861b0b


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
0xD4c8b3710d399c1810e48365727FD28bD4ec0314
Loading...
Loading
Loading...
Loading

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.