ETH Price: $3,385.97 (-2.73%)
Gas: 1 Gwei

Contract

0x03797bf119D76A8B400Ff6770bFF3EA45fbf2CD6
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Bulk Update Opti...201836532024-06-27 14:34:3534 hrs ago1719498875IN
0x03797bf1...45fbf2CD6
0 ETH0.0033528911.79412699
Bulk Update Opti...201836522024-06-27 14:34:2334 hrs ago1719498863IN
0x03797bf1...45fbf2CD6
0 ETH0.0032702210.48398625
Bulk Update Opti...201836512024-06-27 14:34:1134 hrs ago1719498851IN
0x03797bf1...45fbf2CD6
0 ETH0.0035042510.78478853
Bulk Update Opti...201836502024-06-27 14:33:5934 hrs ago1719498839IN
0x03797bf1...45fbf2CD6
0 ETH0.0033557210.9172423
Bulk Set Trade D...201836242024-06-27 14:28:3534 hrs ago1719498515IN
0x03797bf1...45fbf2CD6
0 ETH0.006444111.493058
Bulk Set Trade D...201836232024-06-27 14:28:2334 hrs ago1719498503IN
0x03797bf1...45fbf2CD6
0 ETH0.0106384911.49617022
Bulk Process Dep...201823122024-06-27 10:05:1139 hrs ago1719482711IN
0x03797bf1...45fbf2CD6
0 ETH0.000298074.88600578
Bulk Process Dep...201823112024-06-27 10:04:5939 hrs ago1719482699IN
0x03797bf1...45fbf2CD6
0 ETH0.000600374.99232053
Bulk Process Dep...201823102024-06-27 10:04:4739 hrs ago1719482687IN
0x03797bf1...45fbf2CD6
0 ETH0.000609915.01184566
Bulk Process Dep...201823082024-06-27 10:04:2339 hrs ago1719482663IN
0x03797bf1...45fbf2CD6
0 ETH0.001280654.61853978
Bulk Process Dep...201823072024-06-27 10:04:1139 hrs ago1719482651IN
0x03797bf1...45fbf2CD6
0 ETH0.000566824.83895842
Bulk Process Dep...201823062024-06-27 10:03:5939 hrs ago1719482639IN
0x03797bf1...45fbf2CD6
0 ETH0.000546544.63255096
Bulk Open Vault ...201822872024-06-27 10:00:1139 hrs ago1719482411IN
0x03797bf1...45fbf2CD6
0 ETH0.000816295.26911653
Bulk Open Vault ...201822862024-06-27 9:59:5939 hrs ago1719482399IN
0x03797bf1...45fbf2CD6
0 ETH0.001252555.0296244
Bulk Process Wit...201795992024-06-27 1:00:232 days ago1719450023IN
0x03797bf1...45fbf2CD6
0 ETH0.000642264.29384803
Bulk Rollover Va...201765502024-06-26 14:45:592 days ago1719413159IN
0x03797bf1...45fbf2CD6
0 ETH0.0043673216.95732715
Bulk Rollover Va...201765492024-06-26 14:45:472 days ago1719413147IN
0x03797bf1...45fbf2CD6
0 ETH0.0071345317.09619038
Bulk Process Wit...201765232024-06-26 14:40:352 days ago1719412835IN
0x03797bf1...45fbf2CD6
0 ETH0.0026080119.68845409
Bulk Process Wit...201765222024-06-26 14:40:232 days ago1719412823IN
0x03797bf1...45fbf2CD6
0 ETH0.0036551618.9494728
Bulk Process Wit...201765202024-06-26 14:39:592 days ago1719412799IN
0x03797bf1...45fbf2CD6
0 ETH0.0023661419.7585423
Bulk Process Wit...201765192024-06-26 14:39:472 days ago1719412787IN
0x03797bf1...45fbf2CD6
0 ETH0.0071289720.03798376
Bulk Process Wit...201765182024-06-26 14:39:352 days ago1719412775IN
0x03797bf1...45fbf2CD6
0 ETH0.0024085520.09054571
Bulk Process Wit...201765172024-06-26 14:39:232 days ago1719412763IN
0x03797bf1...45fbf2CD6
0 ETH0.0036687819.43891896
Bulk Collect Fee...201765082024-06-26 14:37:352 days ago1719412655IN
0x03797bf1...45fbf2CD6
0 ETH0.0080365419.27135432
Bulk Collect Fee...201765062024-06-26 14:37:112 days ago1719412631IN
0x03797bf1...45fbf2CD6
0 ETH0.0127462619.53903508
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BulkActionsEntry

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 8 : BulkActionsEntry.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

import { IBulkActionsEntry } from "./interfaces/IBulkActionsEntry.sol";
import { ICegaState } from "./interfaces/ICegaState.sol";
import { IProduct } from "./interfaces/IProduct.sol";
import { IFCNVault } from "./interfaces/IFCNVault.sol";
import { FCNVaultMetadata, VaultStatus } from "./Structs.sol";

contract BulkActionsEntry is IBulkActionsEntry {
    // IMMUTABLES

    bytes32 public constant TRADER_ADMIN_ROLE = keccak256("TRADER_ADMIN_ROLE");

    ICegaState public immutable cegaState;

    // MODIFIERS

    modifier onlyTraderAdmin() {
        require(cegaState.isTraderAdmin(msg.sender), "403:TA");
        _;
    }

    // CONSTRUCTOR

    constructor(address _cegaState) {
        cegaState = ICegaState(_cegaState);
    }

    // EXTERNAL FUNCTIONS

    function bulkOpenVaultDeposits(address[] calldata vaultAddresses) external onlyTraderAdmin {
        for (uint256 i = 0; i < vaultAddresses.length; i++) {
            _getProduct(vaultAddresses[i]).openVaultDeposits(vaultAddresses[i]);
        }
    }

    function bulkProcessDepositQueues(ProcessQueueParams[] calldata params) external onlyTraderAdmin {
        for (uint256 i = 0; i < params.length; i++) {
            _getProduct(params[i].vaultAddress).processDepositQueue(params[i].vaultAddress, params[i].maxProcessCount);
        }
    }

    function bulkSetTradeData(SetTradeDataParams[] calldata params) external onlyTraderAdmin {
        for (uint256 i = 0; i < params.length; i++) {
            _getProduct(params[i].vaultAddress).setTradeData(
                params[i].vaultAddress,
                params[i].tradeDate,
                params[i].tradeExpiry,
                params[i].aprBps,
                params[i].tenorInDays
            );
        }
    }

    function bulkUpdateOptionBarriers(UpdateOptionBarrierParams[] calldata params) external onlyTraderAdmin {
        for (uint256 i = 0; i < params.length; i++) {
            _getProduct(params[i].vaultAddress).updateOptionBarrier(
                params[i].vaultAddress,
                params[i].index,
                params[i].asset,
                params[i].strikeAbsoluteValue,
                params[i].barrierAbsoluteValue
            );
        }
    }

    function bulkSendAssetsToTrade(SendAssetsToTradeParams[] calldata params) external onlyTraderAdmin {
        for (uint256 i = 0; i < params.length; i++) {
            FCNVaultMetadata memory metadata = _getProduct(params[i].vaultAddress).getVaultMetadata(
                params[i].vaultAddress
            );

            require(metadata.vaultStatus == VaultStatus.NotTraded, "500:WS");

            _getProduct(params[i].vaultAddress).sendAssetsToTrade(
                params[i].vaultAddress,
                params[i].receiver,
                metadata.underlyingAmount
            );
        }
    }

    function bulkCheckBarriers(address[] calldata vaultAddresses) external {
        for (uint256 i = 0; i < vaultAddresses.length; i++) {
            _getProduct(vaultAddresses[i]).checkBarriers(vaultAddresses[i]);
        }
    }

    function bulkCalculateCurrentYield(address[] calldata vaultAddresses) external {
        for (uint256 i = 0; i < vaultAddresses.length; i++) {
            _getProduct(vaultAddresses[i]).calculateCurrentYield(vaultAddresses[i]);
        }
    }

    function bulkCalculateVaultFinalPayoffs(address[] calldata vaultAddresses) external {
        for (uint256 i = 0; i < vaultAddresses.length; i++) {
            _getProduct(vaultAddresses[i]).calculateVaultFinalPayoff(vaultAddresses[i]);
        }
    }

    function bulkMoveAssetsToProducts(MoveAssetsToProductParams[] calldata params) external onlyTraderAdmin {
        for (uint256 i = 0; i < params.length; i++) {
            FCNVaultMetadata memory metadata = _getProduct(params[i].vaultAddress).getVaultMetadata(
                params[i].vaultAddress
            );
            require(metadata.vaultStatus == VaultStatus.PayoffCalculated, "500:WS");
            require(params[i].amount + metadata.currentAssetAmount <= metadata.vaultFinalPayoff, "400:IncorrectAmount");

            cegaState.moveAssetsToProduct(params[i].productName, params[i].vaultAddress, params[i].amount);
        }
    }

    function bulkCollectFees(address[] calldata vaultAddresses) external onlyTraderAdmin {
        for (uint256 i = 0; i < vaultAddresses.length; i++) {
            _getProduct(vaultAddresses[i]).collectFees(vaultAddresses[i]);
        }
    }

    function bulkProcessWithdrawalQueues(ProcessQueueParams[] calldata params) external onlyTraderAdmin {
        for (uint256 i = 0; i < params.length; i++) {
            _getProduct(params[i].vaultAddress).processWithdrawalQueue(
                params[i].vaultAddress,
                params[i].maxProcessCount
            );
        }
    }

    function bulkRolloverVaults(address[] calldata vaultAddresses) external onlyTraderAdmin {
        for (uint256 i = 0; i < vaultAddresses.length; i++) {
            _getProduct(vaultAddresses[i]).rolloverVault(vaultAddresses[i]);
        }
    }

    // INTERNAL FUNCTIONS

    function _getProduct(address vaultAddress) internal view returns (IProduct) {
        return IProduct(IFCNVault(vaultAddress).fcnProduct());
    }
}

File 2 of 8 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (interfaces/IERC20.sol)

pragma solidity ^0.8.0;

import "../token/ERC20/IERC20.sol";

File 3 of 8 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address from,
        address to,
        uint256 amount
    ) external returns (bool);
}

File 4 of 8 : IBulkActionsEntry.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

interface IBulkActionsEntry {
    // STRUCTS

    struct ProcessQueueParams {
        address vaultAddress;
        uint256 maxProcessCount;
    }

    struct SetTradeDataParams {
        address vaultAddress;
        uint256 tradeDate;
        uint256 tradeExpiry;
        uint256 aprBps;
        uint256 tenorInDays;
    }

    struct UpdateOptionBarrierParams {
        address vaultAddress;
        uint256 index;
        string asset;
        uint256 strikeAbsoluteValue;
        uint256 barrierAbsoluteValue;
    }

    struct SendAssetsToTradeParams {
        address vaultAddress;
        address receiver;
        uint256 amount;
    }

    struct MoveAssetsToProductParams {
        string productName;
        address vaultAddress;
        uint256 amount;
    }

    // FUNCTIONS

    function bulkOpenVaultDeposits(address[] calldata vaultAddresses) external;

    function bulkProcessDepositQueues(ProcessQueueParams[] calldata params) external;

    function bulkSetTradeData(SetTradeDataParams[] calldata params) external;

    function bulkUpdateOptionBarriers(UpdateOptionBarrierParams[] calldata params) external;

    function bulkSendAssetsToTrade(SendAssetsToTradeParams[] calldata params) external;

    function bulkCheckBarriers(address[] calldata vaultAddresses) external;

    function bulkCalculateCurrentYield(address[] calldata vaultAddresses) external;

    function bulkCalculateVaultFinalPayoffs(address[] calldata vaultAddresses) external;

    function bulkMoveAssetsToProducts(MoveAssetsToProductParams[] calldata params) external;

    function bulkCollectFees(address[] calldata vaultAddresses) external;

    function bulkProcessWithdrawalQueues(ProcessQueueParams[] calldata params) external;

    function bulkRolloverVaults(address[] calldata vaultAddresses) external;
}

File 5 of 8 : ICegaState.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

interface ICegaState {
    function marketMakerAllowList(address marketMaker) external view returns (bool);

    function products(string memory productName) external view returns (address);

    function oracleAddresses(string memory oracleName) external view returns (address);

    function oracleNames() external view returns (string[] memory);

    function productNames() external view returns (string[] memory);

    function feeRecipient() external view returns (address);

    function isDefaultAdmin(address sender) external view returns (bool);

    function isTraderAdmin(address sender) external view returns (bool);

    function isOperatorAdmin(address sender) external view returns (bool);

    function isServiceAdmin(address sender) external view returns (bool);

    function getOracleNames() external view returns (string[] memory);

    function addOracle(string memory oracleName, address oracleAddress) external;

    function removeOracle(string memory oracleName) external;

    function getProductNames() external view returns (string[] memory);

    function addProduct(string memory productName, address product) external;

    function removeProduct(string memory productName) external;

    function updateMarketMakerPermission(address marketMaker, bool allow) external;

    function setFeeRecipient(address _feeRecipient) external;

    function moveAssetsToProduct(string memory productName, address vaultAddress, uint256 amount) external;
}

File 6 of 8 : IFCNVault.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

import { IERC20 } from "@openzeppelin/contracts/interfaces/IERC20.sol";

interface IFCNVault is IERC20 {
    function asset() external view returns (address);

    function owner() external view returns (address);

    function fcnProduct() external view returns (address);

    function totalAssets() external view returns (uint256);

    function convertToAssets(uint256 shares) external view returns (uint256);

    function convertToShares(uint256 assets) external view returns (uint256);

    function deposit(uint256 assets, address receiver) external returns (uint256);

    function redeem(uint256 shares) external returns (uint256);
}

File 7 of 8 : IProduct.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

import { Deposit, FCNVaultMetadata, OptionBarrierType, OptionBarrier, VaultStatus, Withdrawal } from "../Structs.sol";

interface IProduct {
    // View functions
    function asset() external view returns (address);

    function cegaState() external view returns (address);

    function getVaultMetadata(address vaultAddress) external view returns (FCNVaultMetadata memory);

    function managementFeeBps() external view returns (uint256);

    function minDepositAmount() external view returns (uint256);

    function minWithdrawalAmount() external view returns (uint256);

    function name() external view returns (string memory);

    function vaults(
        address vaultAddress
    )
        external
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            address,
            VaultStatus,
            bool
        );

    function withdrawalQueues(address vaultAddress, uint256 index) external view returns (Withdrawal memory);

    function yieldFeeBps() external view returns (uint256);

    // External functions

    function addOptionBarrier(address vaultAddress, OptionBarrier calldata optionBarrier) external;

    function addToWithdrawalQueue(address vaultAddress, uint256 amountShares, address receiver) external;

    function calculateCurrentYield(address vaultAddress) external;

    function calculateVaultFinalPayoff(address vaultAddress) external returns (uint256 vaultFinalPayoff);

    function checkBarriers(address vaultAddress) external;

    function collectFees(address vaultAddress) external;

    function openVaultDeposits(address vaultAddress) external;

    function processDepositQueue(address vaultAddress, uint256 maxProcessCount) external;

    function processWithdrawalQueue(address vaultAddress, uint256 maxProcessCount) external;

    function receiveAssetsFromCegaState(address vaultAddress, uint256 amount) external;

    function removeOptionBarrier(address vaultAddress, uint256 index, string calldata _asset) external;

    function removeVault(uint256 index) external;

    function rolloverVault(address vaultAddress) external;

    function sendAssetsToTrade(address vaultAddress, address receiver, uint256 amount) external;

    function setIsDepositQueueOpen(bool _isDepositQueueOpen) external;

    function setKnockInStatus(address vaultAddress, bool newState) external;

    function setManagementFeeBps(uint256 _managementFeeBps) external;

    function setMaxDepositAmountLimit(uint256 _maxDepositAmountLimit) external;

    function setMinDepositAmount(uint256 _minDepositAmount) external;

    function setMinWithdrawalAmount(uint256 _minWithdrawalAmount) external;

    function setTradeData(
        address vaultAddress,
        uint256 _tradeDate,
        uint256 _tradeExpiry,
        uint256 _aprBps,
        uint256 _tenorInDays
    ) external;

    function setVaultMetadata(address vaultAddress, FCNVaultMetadata calldata metadata) external;

    function setVaultStatus(address vaultAddress, VaultStatus _vaultStatus) external;

    function setYieldFeeBps(uint256 _yieldFeeBps) external;

    function updateOptionBarrier(
        address vaultAddress,
        uint256 index,
        string calldata _asset,
        uint256 _strikeAbsoluteValue,
        uint256 _barrierAbsoluteValue
    ) external;

    function updateOptionBarrierOracle(
        address vaultAddress,
        uint256 index,
        string calldata _asset,
        string memory newOracleName
    ) external;
}

File 8 of 8 : Structs.sol
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.17;

enum OptionBarrierType {
    None,
    KnockIn
}

struct Deposit {
    uint256 amount;
    address receiver;
}

struct Withdrawal {
    uint256 amountShares;
    address receiver;
}

enum VaultStatus {
    DepositsClosed,
    DepositsOpen,
    NotTraded,
    Traded,
    TradeExpired,
    PayoffCalculated,
    FeesCollected,
    WithdrawalQueueProcessed,
    Zombie
}

struct OptionBarrier {
    uint256 barrierBps;
    uint256 barrierAbsoluteValue;
    uint256 strikeBps;
    uint256 strikeAbsoluteValue;
    string asset;
    string oracleName;
    OptionBarrierType barrierType;
}

struct FCNVaultMetadata {
    uint256 vaultStart;
    uint256 tradeDate;
    uint256 tradeExpiry;
    uint256 aprBps;
    uint256 tenorInDays;
    uint256 underlyingAmount; // This is how many assets were ever deposited into the vault
    uint256 currentAssetAmount; // This is how many assets are currently allocated for the vault (not sent for trade)
    uint256 totalCouponPayoff;
    uint256 vaultFinalPayoff;
    uint256 queuedWithdrawalsSharesAmount;
    uint256 queuedWithdrawalsCount;
    uint256 optionBarriersCount;
    uint256 leverage;
    address vaultAddress;
    VaultStatus vaultStatus;
    bool isKnockedIn;
    OptionBarrier[] optionBarriers;
}

struct RoundData {
    int256 answer;
    uint256 startedAt;
    uint256 updatedAt;
    uint80 answeredInRound;
}

struct LeverageMetadata {
    bool isAllowed;
    bool isDepositQueueOpen;
    uint256 maxDepositAmountLimit;
    uint256 sumVaultUnderlyingAmounts;
    uint256 queuedDepositsTotalAmount;
    address[] vaultAddresses;
}

struct FCNVaultAssetInfo {
    address vaultAddress;
    uint256 totalAssets;
    uint256 totalSupply;
    uint256 inputAssets;
    uint256 outputShares;
    uint256 inputShares;
    uint256 outputAssets;
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_cegaState","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"TRADER_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"vaultAddresses","type":"address[]"}],"name":"bulkCalculateCurrentYield","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"vaultAddresses","type":"address[]"}],"name":"bulkCalculateVaultFinalPayoffs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"vaultAddresses","type":"address[]"}],"name":"bulkCheckBarriers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"vaultAddresses","type":"address[]"}],"name":"bulkCollectFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"string","name":"productName","type":"string"},{"internalType":"address","name":"vaultAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBulkActionsEntry.MoveAssetsToProductParams[]","name":"params","type":"tuple[]"}],"name":"bulkMoveAssetsToProducts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"vaultAddresses","type":"address[]"}],"name":"bulkOpenVaultDeposits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"vaultAddress","type":"address"},{"internalType":"uint256","name":"maxProcessCount","type":"uint256"}],"internalType":"struct IBulkActionsEntry.ProcessQueueParams[]","name":"params","type":"tuple[]"}],"name":"bulkProcessDepositQueues","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"vaultAddress","type":"address"},{"internalType":"uint256","name":"maxProcessCount","type":"uint256"}],"internalType":"struct IBulkActionsEntry.ProcessQueueParams[]","name":"params","type":"tuple[]"}],"name":"bulkProcessWithdrawalQueues","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"vaultAddresses","type":"address[]"}],"name":"bulkRolloverVaults","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"vaultAddress","type":"address"},{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct IBulkActionsEntry.SendAssetsToTradeParams[]","name":"params","type":"tuple[]"}],"name":"bulkSendAssetsToTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"vaultAddress","type":"address"},{"internalType":"uint256","name":"tradeDate","type":"uint256"},{"internalType":"uint256","name":"tradeExpiry","type":"uint256"},{"internalType":"uint256","name":"aprBps","type":"uint256"},{"internalType":"uint256","name":"tenorInDays","type":"uint256"}],"internalType":"struct IBulkActionsEntry.SetTradeDataParams[]","name":"params","type":"tuple[]"}],"name":"bulkSetTradeData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"vaultAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"string","name":"asset","type":"string"},{"internalType":"uint256","name":"strikeAbsoluteValue","type":"uint256"},{"internalType":"uint256","name":"barrierAbsoluteValue","type":"uint256"}],"internalType":"struct IBulkActionsEntry.UpdateOptionBarrierParams[]","name":"params","type":"tuple[]"}],"name":"bulkUpdateOptionBarriers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cegaState","outputs":[{"internalType":"contract ICegaState","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60a0346100ab57601f61188338819003918201601f19168301916001600160401b038311848410176100b0578084926020946040528339810103126100ab57516001600160a01b038116908190036100ab576080526040516117bc90816100c7823960805181818161011901528181610468015281816106000152818161080e0152818161092a01528181610a8a01528181610b8301528181610c0101528181610ebc01526110680152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816304519a2a14610ff6575080631615a38614610e4857806322cbb4ba14610bb25780632f87045c14610b6e57838163753a78dc14610a315781638340bc6f146108f25781638aa20521146107b55781639ae2dd4d1461070b5781639d0ee11d146105c857508063a115a37c14610412578063c6134df2146103d357838163ea5498211461031b57508063efdc64f41461023c5763f1a346e8146100c157600080fd5b8291346102385760203660031901126102385781356001600160401b038111610233576100f19036908401611220565b8251630ddd3b3160e21b815233858201529094916001600160a01b03916024919060208184817f000000000000000000000000000000000000000000000000000000000000000088165afa80156102295785906101eb575b61015391506112f8565b835b878110610160578480f35b8361017c610177610172848c87611352565b611378565b611732565b1661018b610172838b86611352565b90803b156101e757875163a480ca7960e01b8152918616828a0152869082908690829084905af180156101dd57906101c992916101ce575b5061132d565b610155565b6101d7906112a1565b386101c3565b87513d88823e3d90fd5b8680fd5b506020813d8211610221575b81610204602093836112ca565b8101031261021d57610218610153916112eb565b610149565b8480fd5b3d91506101f7565b86513d87823e3d90fd5b505050fd5b5050fd5b503461031757602090816003193601126103135780356001600160401b03811161021d5761026d9036908301611220565b9390855b85811061027c578680f35b6001600160a01b038581610297610177610172868c89611352565b169160246102a9610172868c89611352565b8b8851958694859363bcd0fb2f60e01b8552168b8401525af18015610309579086916102e0575b50506102db9061132d565b610271565b813d8311610302575b6102f381836112ca565b810103126101e75784386102d0565b503d6102e9565b84513d8a823e3d90fd5b8380fd5b8280fd5b929050346102385760203660031901126102385781356001600160401b0381116102335761034c9036908401611220565b8491945b81811061035b578280f35b6001600160a01b038061037561017761017285878c611352565b169061038561017284868b611352565b90823b156103cf5760248692838951958694859363b379e0bf60e01b8552168c8401525af180156103c557906103c092916101ce575061132d565b610350565b85513d86823e3d90fd5b8580fd5b50503461040e578160031936011261040e57602090517f264001e901c3e181f17cd2c6cec22c2e23d9dd662da12dcafc2619e16b7cd0248152f35b5080fd5b50346103175760209182600319360112610313578382356001600160401b03811161040e576104449036908501611220565b8351630ddd3b3160e21b81523381870152602495926001600160a01b0391888189817f000000000000000000000000000000000000000000000000000000000000000087165afa80156101dd578690610592575b6104a291506112f8565b845b8381106104af578580f35b826104c16101776101728488876113ac565b166104d06101728387866113ac565b8a6104dc8488876113ac565b0135916104f66104ed8589886113ac565b8b8101906113ce565b6060610506878b8a9695966113ac565b0135946080610516888c8b6113ac565b013594833b1561058e578e968d968f8e978d968a9661055a93519c8d9b8c9a8b99638fef16d560e01b8b52169089015287015260a0604487015260a4860191611400565b916064840152608483015203925af18015610584579061057f92916101ce575061132d565b6104a4565b88513d89823e3d90fd5b8c80fd5b508881813d83116105c1575b6105a881836112ca565b810103126103cf576105bc6104a2916112eb565b610498565b503d61059e565b92905034610238576105d936611255565b8251630ddd3b3160e21b815233858201526001600160a01b039592919060209081816024817f00000000000000000000000000000000000000000000000000000000000000008c165afa80156102295785906106d5575b61063a91506112f8565b835b828110610647578480f35b8761065961017761017284878961138c565b1661066861017283868861138c565b8361067484878961138c565b0135823b156106d157885163f14c1b7960e01b81526001600160a01b03909216828b0190815260208101919091529091879183919082908490829060400103925af180156101dd57906106cc92916101ce575061132d565b61063c565b8780fd5b508181813d8311610704575b6106eb81836112ca565b8101031261021d576106ff61063a916112eb565b610630565b503d6106e1565b929050346102385760203660031901126102385781356001600160401b0381116102335761073c9036908401611220565b8491945b81811061074b578280f35b6001600160a01b038061076561017761017285878c611352565b169061077561017284868b611352565b90823b156103cf5760248692838951958694859363b732f2f160e01b8552168c8401525af180156103c557906107b092916101ce575061132d565b610740565b929050346102385760203660031901126102385781356001600160401b038111610233576107e69036908401611220565b8251630ddd3b3160e21b815233858201529094916001600160a01b03916024919060208184817f000000000000000000000000000000000000000000000000000000000000000088165afa80156102295785906108b8575b61084891506112f8565b835b878110610855578480f35b83610867610177610172848c87611352565b16610876610172838b86611352565b90803b156101e7578751632bd492a160e11b8152918616828a0152869082908690829084905af180156101dd57906108b392916101ce575061132d565b61084a565b506020813d82116108ea575b816108d1602093836112ca565b8101031261021d576108e5610848916112eb565b61083e565b3d91506108c4565b929050346102385761090336611255565b8251630ddd3b3160e21b815233858201526001600160a01b039592919060209081816024817f00000000000000000000000000000000000000000000000000000000000000008c165afa80156102295785906109fb575b61096491506112f8565b835b828110610971578480f35b8761098361017761017284878961138c565b1661099261017283868861138c565b8361099e84878961138c565b0135823b156106d15788516340e8d70360e01b81526001600160a01b03909216828b0190815260208101919091529091879183919082908490829060400103925af180156101dd57906109f692916101ce575061132d565b610966565b508181813d8311610a2a575b610a1181836112ca565b8101031261021d57610a25610964916112eb565b61095a565b503d610a07565b929050346102385760203660031901126102385781356001600160401b03811161023357610a629036908401611220565b8251630ddd3b3160e21b815233858201529094916001600160a01b03916024919060208184817f000000000000000000000000000000000000000000000000000000000000000088165afa8015610229578590610b34575b610ac491506112f8565b835b878110610ad1578480f35b83610ae3610177610172848c87611352565b16610af2610172838b86611352565b90803b156101e7578751632d367ead60e21b8152918616828a0152869082908690829084905af180156101dd5790610b2f92916101ce575061132d565b610ac6565b506020813d8211610b66575b81610b4d602093836112ca565b8101031261021d57610b61610ac4916112eb565b610aba565b3d9150610b40565b50503461040e578160031936011261040e57517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50903461031757602090816003193601126103135782356001600160401b03811161021d57610be49036908501611220565b8251630ddd3b3160e21b8152338682015290946001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169360249391929187818681895afa8015610e3e578a90610e04575b610c4791506112f8565b885b89898210610c545780f35b89908587610c828c610c748785610c7a61017785610c74858f8e90611710565b01611378565b16978a611710565b8b51948593849263dc4f1e4960e01b845216898301525afa908115610d7c578b91610de2575b506101c08101516009811015610dd0576005610cc491146116db565b87610cd0838c86611710565b01359060c08101518201809211610dbe57610100015110610d8657888a89610d188a610d1f86610d0a610d0482898c611710565b806113ce565b949095610c74838a8d611710565b9689611710565b0135938a3b15610313578b5163ba4fe16560e01b815260608982015294859384938b91610d50916064870191611400565b92168b84015260448301520381838b5af18015610d7c5790610d7792916101ce575061132d565b610c49565b88513d8d823e3d90fd5b865162461bcd60e51b8152808401899052601381870152720d0c0c0e925b98dbdc9c9958dd105b5bdd5b9d606a1b6044820152606490fd5b634e487b7160e01b8c5260118552868cfd5b634e487b7160e01b8c5260218552868cfd5b610dfe91503d808d833e610df681836112ca565b8101906114b5565b38610ca8565b508781813d8311610e37575b610e1a81836112ca565b81010312610e3357610e2e610c47916112eb565b610c3d565b8980fd5b503d610e10565b87513d8c823e3d90fd5b5034610317576020918260031936011261031357838235936001600160401b039485811161031757366023820112156103175780850135958611610317576024918282019183369160a08a02010111610313578451630ddd3b3160e21b815233878201526001600160a01b039390828183817f000000000000000000000000000000000000000000000000000000000000000089165afa80156101dd578690610fc0575b610ef691506112f8565b845b888110610f03578580f35b84610f15610177610172848d8961139c565b16878a86866080610f60876060610f578288610f3561017283838c61139c565b97610f4183838c61139c565b01359a610f4f83838c61139c565b01359861139c565b0135958c61139c565b013593853b15610fbc578d958c958c958f95889460a497519a8b998a98638e575a8560e01b8a5216908801528c8701526044860152606485015260848401525af180156105845790610fb792916101ce575061132d565b610ef8565b8b80fd5b508281813d8311610fef575b610fd681836112ca565b810103126103cf57610fea610ef6916112eb565b610eec565b503d610fcc565b90508391346103175760209384600319360112610313576001600160401b039282358481116103cf57366023820112156103cf57808401359485116103cf5760249081810190823691606089020101116101e757630ddd3b3160e21b835233858401526001600160a01b0392888184817f000000000000000000000000000000000000000000000000000000000000000088165afa80156112165788906111e0575b6110a291506112f8565b865b8681106110af578780f35b836110c1610177610172848b87611421565b168885856110d3610172868d89611421565b8951948593849263dc4f1e4960e01b8452168c8301525afa9081156111aa5789916111c6575b506101c081015160098110156111b4579061111760028a93146116db565b85611129610177610172868689611421565b169060a061114a8d610c7487611143610172828a8d611421565b978a611421565b91015190823b15610fbc57885163010d690960e31b8152938816848b0152871686840152604483015289908290606490829084905af180156111aa5790611196929161119b575061132d565b6110a4565b6111a4906112a1565b8a6101c3565b86513d8b823e3d90fd5b634e487b7160e01b8a5260218852848afd5b6111da91503d808b833e610df681836112ca565b8a6110f9565b508881813d831161120f575b6111f681836112ca565b810103126106d15761120a6110a2916112eb565b611098565b503d6111ec565b85513d8a823e3d90fd5b9181601f84011215611250578235916001600160401b038311611250576020808501948460051b01011161125057565b600080fd5b906020600319830112611250576004356001600160401b039283821161125057806023830112156112505781600401359384116112505760248460061b83010111611250576024019190565b6001600160401b0381116112b457604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b038211176112b457604052565b5190811515820361125057565b156112ff57565b60405162461bcd60e51b81526020600482015260066024820152653430333a544160d01b6044820152606490fd5b600019811461133c5760010190565b634e487b7160e01b600052601160045260246000fd5b91908110156113625760051b0190565b634e487b7160e01b600052603260045260246000fd5b356001600160a01b03811681036112505790565b91908110156113625760061b0190565b91908110156113625760a0020190565b91908110156113625760051b81013590609e1981360301821215611250570190565b903590601e198136030182121561125057018035906001600160401b0382116112505760200191813603831361125057565b908060209392818452848401376000828201840152601f01601f1916010190565b9190811015611362576060020190565b51906001600160a01b038216820361125057565b919080601f84011215611250578251906001600160401b0382116112b4576040519160209161147d601f8301601f19168401856112ca565b8184528282870101116112505760005b8181106114a257508260009394955001015290565b858101830151848201840152820161148d565b90602080838303126112505782516001600160401b03938482116112505701906102209384838503126112505760408051958601868110838211176112b457815283518652828401518387015280840151818701526060908185015182880152608090818601518289015260a080870151818a015260c09384880151858b015260e09182890151838c0152610100808a0151908c0152610120808a0151908c0152610140808a0151908c0152610160808a0151908c0152610180808a0151908c01526101a0611585818b01611431565b908c01526101c0808a0151906009821015611250578c01526101e06115ab818b016112eb565b908c01526102009889810151908882116112505701968a601f890112156112505787519a818c116112b4578b60051b968a8088519e8f906115ee838d01836112ca565b815201988b010199828b11611250578b8101985b8b8a1061161c575050505050505050505050505082015290565b89518581116112505782019088601f19838703011261125057895191898301838110888211176116c6578f908c528082015184528b82015190840152888101518b840152848101518984015287810151878111611250578f879061168292840101611445565b858401528c81015190878211611250578f876116a2918d94840101611445565b89850152015190600282101561125057828f93928e85940152815201990198611602565b60246000634e487b7160e01b81526041600452fd5b156116e257565b60405162461bcd60e51b81526020600482015260066024820152653530303a575360d01b6044820152606490fd5b91908110156113625760051b81013590605e1981360301821215611250570190565b604051631634c6a360e31b81526001600160a01b03916020908290600490829086165afa9081156117a35760009161176957501690565b906020823d821161179b575b81611782602093836112ca565b81010312611798575061179490611431565b1690565b80fd5b3d9150611775565b6040513d6000823e3d90fdfea164736f6c6343000811000a0000000000000000000000000730aa138062d8cc54510aa939b533ba7c30f26b

Deployed Bytecode

0x6080604081815260048036101561001557600080fd5b600092833560e01c90816304519a2a14610ff6575080631615a38614610e4857806322cbb4ba14610bb25780632f87045c14610b6e57838163753a78dc14610a315781638340bc6f146108f25781638aa20521146107b55781639ae2dd4d1461070b5781639d0ee11d146105c857508063a115a37c14610412578063c6134df2146103d357838163ea5498211461031b57508063efdc64f41461023c5763f1a346e8146100c157600080fd5b8291346102385760203660031901126102385781356001600160401b038111610233576100f19036908401611220565b8251630ddd3b3160e21b815233858201529094916001600160a01b03916024919060208184817f0000000000000000000000000730aa138062d8cc54510aa939b533ba7c30f26b88165afa80156102295785906101eb575b61015391506112f8565b835b878110610160578480f35b8361017c610177610172848c87611352565b611378565b611732565b1661018b610172838b86611352565b90803b156101e757875163a480ca7960e01b8152918616828a0152869082908690829084905af180156101dd57906101c992916101ce575b5061132d565b610155565b6101d7906112a1565b386101c3565b87513d88823e3d90fd5b8680fd5b506020813d8211610221575b81610204602093836112ca565b8101031261021d57610218610153916112eb565b610149565b8480fd5b3d91506101f7565b86513d87823e3d90fd5b505050fd5b5050fd5b503461031757602090816003193601126103135780356001600160401b03811161021d5761026d9036908301611220565b9390855b85811061027c578680f35b6001600160a01b038581610297610177610172868c89611352565b169160246102a9610172868c89611352565b8b8851958694859363bcd0fb2f60e01b8552168b8401525af18015610309579086916102e0575b50506102db9061132d565b610271565b813d8311610302575b6102f381836112ca565b810103126101e75784386102d0565b503d6102e9565b84513d8a823e3d90fd5b8380fd5b8280fd5b929050346102385760203660031901126102385781356001600160401b0381116102335761034c9036908401611220565b8491945b81811061035b578280f35b6001600160a01b038061037561017761017285878c611352565b169061038561017284868b611352565b90823b156103cf5760248692838951958694859363b379e0bf60e01b8552168c8401525af180156103c557906103c092916101ce575061132d565b610350565b85513d86823e3d90fd5b8580fd5b50503461040e578160031936011261040e57602090517f264001e901c3e181f17cd2c6cec22c2e23d9dd662da12dcafc2619e16b7cd0248152f35b5080fd5b50346103175760209182600319360112610313578382356001600160401b03811161040e576104449036908501611220565b8351630ddd3b3160e21b81523381870152602495926001600160a01b0391888189817f0000000000000000000000000730aa138062d8cc54510aa939b533ba7c30f26b87165afa80156101dd578690610592575b6104a291506112f8565b845b8381106104af578580f35b826104c16101776101728488876113ac565b166104d06101728387866113ac565b8a6104dc8488876113ac565b0135916104f66104ed8589886113ac565b8b8101906113ce565b6060610506878b8a9695966113ac565b0135946080610516888c8b6113ac565b013594833b1561058e578e968d968f8e978d968a9661055a93519c8d9b8c9a8b99638fef16d560e01b8b52169089015287015260a0604487015260a4860191611400565b916064840152608483015203925af18015610584579061057f92916101ce575061132d565b6104a4565b88513d89823e3d90fd5b8c80fd5b508881813d83116105c1575b6105a881836112ca565b810103126103cf576105bc6104a2916112eb565b610498565b503d61059e565b92905034610238576105d936611255565b8251630ddd3b3160e21b815233858201526001600160a01b039592919060209081816024817f0000000000000000000000000730aa138062d8cc54510aa939b533ba7c30f26b8c165afa80156102295785906106d5575b61063a91506112f8565b835b828110610647578480f35b8761065961017761017284878961138c565b1661066861017283868861138c565b8361067484878961138c565b0135823b156106d157885163f14c1b7960e01b81526001600160a01b03909216828b0190815260208101919091529091879183919082908490829060400103925af180156101dd57906106cc92916101ce575061132d565b61063c565b8780fd5b508181813d8311610704575b6106eb81836112ca565b8101031261021d576106ff61063a916112eb565b610630565b503d6106e1565b929050346102385760203660031901126102385781356001600160401b0381116102335761073c9036908401611220565b8491945b81811061074b578280f35b6001600160a01b038061076561017761017285878c611352565b169061077561017284868b611352565b90823b156103cf5760248692838951958694859363b732f2f160e01b8552168c8401525af180156103c557906107b092916101ce575061132d565b610740565b929050346102385760203660031901126102385781356001600160401b038111610233576107e69036908401611220565b8251630ddd3b3160e21b815233858201529094916001600160a01b03916024919060208184817f0000000000000000000000000730aa138062d8cc54510aa939b533ba7c30f26b88165afa80156102295785906108b8575b61084891506112f8565b835b878110610855578480f35b83610867610177610172848c87611352565b16610876610172838b86611352565b90803b156101e7578751632bd492a160e11b8152918616828a0152869082908690829084905af180156101dd57906108b392916101ce575061132d565b61084a565b506020813d82116108ea575b816108d1602093836112ca565b8101031261021d576108e5610848916112eb565b61083e565b3d91506108c4565b929050346102385761090336611255565b8251630ddd3b3160e21b815233858201526001600160a01b039592919060209081816024817f0000000000000000000000000730aa138062d8cc54510aa939b533ba7c30f26b8c165afa80156102295785906109fb575b61096491506112f8565b835b828110610971578480f35b8761098361017761017284878961138c565b1661099261017283868861138c565b8361099e84878961138c565b0135823b156106d15788516340e8d70360e01b81526001600160a01b03909216828b0190815260208101919091529091879183919082908490829060400103925af180156101dd57906109f692916101ce575061132d565b610966565b508181813d8311610a2a575b610a1181836112ca565b8101031261021d57610a25610964916112eb565b61095a565b503d610a07565b929050346102385760203660031901126102385781356001600160401b03811161023357610a629036908401611220565b8251630ddd3b3160e21b815233858201529094916001600160a01b03916024919060208184817f0000000000000000000000000730aa138062d8cc54510aa939b533ba7c30f26b88165afa8015610229578590610b34575b610ac491506112f8565b835b878110610ad1578480f35b83610ae3610177610172848c87611352565b16610af2610172838b86611352565b90803b156101e7578751632d367ead60e21b8152918616828a0152869082908690829084905af180156101dd5790610b2f92916101ce575061132d565b610ac6565b506020813d8211610b66575b81610b4d602093836112ca565b8101031261021d57610b61610ac4916112eb565b610aba565b3d9150610b40565b50503461040e578160031936011261040e57517f0000000000000000000000000730aa138062d8cc54510aa939b533ba7c30f26b6001600160a01b03168152602090f35b50903461031757602090816003193601126103135782356001600160401b03811161021d57610be49036908501611220565b8251630ddd3b3160e21b8152338682015290946001600160a01b037f0000000000000000000000000730aa138062d8cc54510aa939b533ba7c30f26b81169360249391929187818681895afa8015610e3e578a90610e04575b610c4791506112f8565b885b89898210610c545780f35b89908587610c828c610c748785610c7a61017785610c74858f8e90611710565b01611378565b16978a611710565b8b51948593849263dc4f1e4960e01b845216898301525afa908115610d7c578b91610de2575b506101c08101516009811015610dd0576005610cc491146116db565b87610cd0838c86611710565b01359060c08101518201809211610dbe57610100015110610d8657888a89610d188a610d1f86610d0a610d0482898c611710565b806113ce565b949095610c74838a8d611710565b9689611710565b0135938a3b15610313578b5163ba4fe16560e01b815260608982015294859384938b91610d50916064870191611400565b92168b84015260448301520381838b5af18015610d7c5790610d7792916101ce575061132d565b610c49565b88513d8d823e3d90fd5b865162461bcd60e51b8152808401899052601381870152720d0c0c0e925b98dbdc9c9958dd105b5bdd5b9d606a1b6044820152606490fd5b634e487b7160e01b8c5260118552868cfd5b634e487b7160e01b8c5260218552868cfd5b610dfe91503d808d833e610df681836112ca565b8101906114b5565b38610ca8565b508781813d8311610e37575b610e1a81836112ca565b81010312610e3357610e2e610c47916112eb565b610c3d565b8980fd5b503d610e10565b87513d8c823e3d90fd5b5034610317576020918260031936011261031357838235936001600160401b039485811161031757366023820112156103175780850135958611610317576024918282019183369160a08a02010111610313578451630ddd3b3160e21b815233878201526001600160a01b039390828183817f0000000000000000000000000730aa138062d8cc54510aa939b533ba7c30f26b89165afa80156101dd578690610fc0575b610ef691506112f8565b845b888110610f03578580f35b84610f15610177610172848d8961139c565b16878a86866080610f60876060610f578288610f3561017283838c61139c565b97610f4183838c61139c565b01359a610f4f83838c61139c565b01359861139c565b0135958c61139c565b013593853b15610fbc578d958c958c958f95889460a497519a8b998a98638e575a8560e01b8a5216908801528c8701526044860152606485015260848401525af180156105845790610fb792916101ce575061132d565b610ef8565b8b80fd5b508281813d8311610fef575b610fd681836112ca565b810103126103cf57610fea610ef6916112eb565b610eec565b503d610fcc565b90508391346103175760209384600319360112610313576001600160401b039282358481116103cf57366023820112156103cf57808401359485116103cf5760249081810190823691606089020101116101e757630ddd3b3160e21b835233858401526001600160a01b0392888184817f0000000000000000000000000730aa138062d8cc54510aa939b533ba7c30f26b88165afa80156112165788906111e0575b6110a291506112f8565b865b8681106110af578780f35b836110c1610177610172848b87611421565b168885856110d3610172868d89611421565b8951948593849263dc4f1e4960e01b8452168c8301525afa9081156111aa5789916111c6575b506101c081015160098110156111b4579061111760028a93146116db565b85611129610177610172868689611421565b169060a061114a8d610c7487611143610172828a8d611421565b978a611421565b91015190823b15610fbc57885163010d690960e31b8152938816848b0152871686840152604483015289908290606490829084905af180156111aa5790611196929161119b575061132d565b6110a4565b6111a4906112a1565b8a6101c3565b86513d8b823e3d90fd5b634e487b7160e01b8a5260218852848afd5b6111da91503d808b833e610df681836112ca565b8a6110f9565b508881813d831161120f575b6111f681836112ca565b810103126106d15761120a6110a2916112eb565b611098565b503d6111ec565b85513d8a823e3d90fd5b9181601f84011215611250578235916001600160401b038311611250576020808501948460051b01011161125057565b600080fd5b906020600319830112611250576004356001600160401b039283821161125057806023830112156112505781600401359384116112505760248460061b83010111611250576024019190565b6001600160401b0381116112b457604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b038211176112b457604052565b5190811515820361125057565b156112ff57565b60405162461bcd60e51b81526020600482015260066024820152653430333a544160d01b6044820152606490fd5b600019811461133c5760010190565b634e487b7160e01b600052601160045260246000fd5b91908110156113625760051b0190565b634e487b7160e01b600052603260045260246000fd5b356001600160a01b03811681036112505790565b91908110156113625760061b0190565b91908110156113625760a0020190565b91908110156113625760051b81013590609e1981360301821215611250570190565b903590601e198136030182121561125057018035906001600160401b0382116112505760200191813603831361125057565b908060209392818452848401376000828201840152601f01601f1916010190565b9190811015611362576060020190565b51906001600160a01b038216820361125057565b919080601f84011215611250578251906001600160401b0382116112b4576040519160209161147d601f8301601f19168401856112ca565b8184528282870101116112505760005b8181106114a257508260009394955001015290565b858101830151848201840152820161148d565b90602080838303126112505782516001600160401b03938482116112505701906102209384838503126112505760408051958601868110838211176112b457815283518652828401518387015280840151818701526060908185015182880152608090818601518289015260a080870151818a015260c09384880151858b015260e09182890151838c0152610100808a0151908c0152610120808a0151908c0152610140808a0151908c0152610160808a0151908c0152610180808a0151908c01526101a0611585818b01611431565b908c01526101c0808a0151906009821015611250578c01526101e06115ab818b016112eb565b908c01526102009889810151908882116112505701968a601f890112156112505787519a818c116112b4578b60051b968a8088519e8f906115ee838d01836112ca565b815201988b010199828b11611250578b8101985b8b8a1061161c575050505050505050505050505082015290565b89518581116112505782019088601f19838703011261125057895191898301838110888211176116c6578f908c528082015184528b82015190840152888101518b840152848101518984015287810151878111611250578f879061168292840101611445565b858401528c81015190878211611250578f876116a2918d94840101611445565b89850152015190600282101561125057828f93928e85940152815201990198611602565b60246000634e487b7160e01b81526041600452fd5b156116e257565b60405162461bcd60e51b81526020600482015260066024820152653530303a575360d01b6044820152606490fd5b91908110156113625760051b81013590605e1981360301821215611250570190565b604051631634c6a360e31b81526001600160a01b03916020908290600490829086165afa9081156117a35760009161176957501690565b906020823d821161179b575b81611782602093836112ca565b81010312611798575061179490611431565b1690565b80fd5b3d9150611775565b6040513d6000823e3d90fdfea164736f6c6343000811000a

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

0000000000000000000000000730aa138062d8cc54510aa939b533ba7c30f26b

-----Decoded View---------------
Arg [0] : _cegaState (address): 0x0730AA138062D8Cc54510aa939b533ba7c30f26B

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000730aa138062d8cc54510aa939b533ba7c30f26b


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  ]

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.