BERA Price: $3.66 (-0.60%)

Contract

0x27393e8a6f8f2e32B870903279999C820E984DC7

Overview

BERA Balance

Berachain LogoBerachain LogoBerachain Logo0 BERA

BERA Value

$0.00

Multichain Info

No addresses found
Amount:Between 0-1
Reset Filter

Transaction Hash
Method
Block
From
To

There are no matching entries

Update your filters to view other transactions

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

Contract Source Code Verified (Exact Match)

Contract Name:
MetaBeraborrowCore

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
cancun EvmVersion
File 1 of 2 : MetaBeraborrowCore.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.26;

import {IMetaBeraborrowCore} from "src/interfaces/core/IMetaBeraborrowCore.sol";

/**
    @title Beraborrow Core
    @notice Single source of truth for system-wide values and contract ownership.
            Other ownable Beraborrow contracts inherit their ownership from this contract
            using `BeraborrowOwnable`, relayed by BeraborrowCore.
    @dev Named Meta, since Beraborrow will consist of multiple protocol instances
 */
contract MetaBeraborrowCore is IMetaBeraborrowCore {
    // We enforce a three day delay between committing and applying
    // an ownership change, as a sanity check on a proposed new owner
    // and to give users time to react in case the act is malicious.
    uint256 public constant OWNERSHIP_TRANSFER_DELAY = 3 days;

    uint16 public constant DEFAULT_FLASH_LOAN_FEE = 5; // 0.05%

    // During bootstrap period sNect redemptions are not allowed
    uint64 public lspBootstrapPeriod;
    address public priceFeed;
    address public nect;
    // System-wide pause. When true, disables den adjustments across all collaterals.
    bool public paused;
    address public owner;
    address public pendingOwner;
    uint256 public ownershipTransferDeadline;
    address public manager;
    address public guardian;
    address public feeReceiver;
    uint16 public lspEntryFee;
    uint16 public lspExitFee;

    // Beacon-looked by NECT to determine fee reduction given to periphery contract for flash loans/mints
    mapping(address peripheryContract => FeeInfo fee) internal peripheryFlashLoanFee;
    mapping(address => RebalancerFeeInfo fee) internal rebalancerFee;

    constructor(address _owner, address _guardian, address _priceFeed, address _nect, address _feeReceiver, uint16 _lspEntryFee, uint16 _lspExitFee, uint64 _lspBootstrapPeriod) {
        if (_owner == address(0) || _guardian == address(0) || _priceFeed == address(0) || _nect == address(0) || _feeReceiver == address(0)) {
            revert("MetaBeraborrowCore: 0 address");
        }

        owner = _owner;
        guardian = _guardian;
        priceFeed = _priceFeed;
        nect = _nect;
        feeReceiver = _feeReceiver;
        lspEntryFee = _lspEntryFee;
        lspExitFee = _lspExitFee;
        lspBootstrapPeriod = _lspBootstrapPeriod;

        emit GuardianSet(_guardian);
        emit PriceFeedSet(_priceFeed);
        emit FeeReceiverSet(_feeReceiver);             
        emit EntryFeeSet(_lspEntryFee);
        emit ExitFeeSet(_lspExitFee);
        emit LSPBootstrapPeriodSet(_lspBootstrapPeriod);
    }

    modifier onlyOwner() {
        require(msg.sender == owner, "Only owner");
        _;
    }

    /**
     * @notice Sets the global pause state of the protocol
     *         Pausing is used to mitigate risks in exceptional circumstances
     *         Functionalities affected by pausing are:
     *         - New borrowing is not possible
     *         - New collateral deposits are not possible
     *         - New stability pool deposits are not possible
     * @param _paused If true the protocol is paused
     */
    function setPaused(bool _paused) external {
        require((_paused && msg.sender == guardian) || msg.sender == owner, "Unauthorized");
        paused = _paused;
        if (_paused) {
            emit Paused();
        } else {
            emit Unpaused();
        }
    }

    /**
     * @notice Set the receiver of all fees across the protocol
     * @param _feeReceiver Address of the fee's recipient
     */
    function setFeeReceiver(address _feeReceiver) external onlyOwner {
        feeReceiver = _feeReceiver;
        emit FeeReceiverSet(_feeReceiver);
    }

    /**
     * @notice Set the price feed used in the protocol
     * @param _priceFeed Price feed address
     */
    function setPriceFeed(address _priceFeed) external onlyOwner {
        priceFeed = _priceFeed;
        emit PriceFeedSet(_priceFeed);
    }

    /**
     * @notice Set the guardian address
               The guardian can execute some emergency actions
     * @param _guardian Guardian address
     */
    function setGuardian(address _guardian) external onlyOwner {
        guardian = _guardian;
        emit GuardianSet(_guardian);
    }

    /**
     * @notice Usable for deployment tasks
     * @param _manager Manager address
     */
    function setManager(address _manager) external onlyOwner {
        manager = _manager;
        emit ManagerSet(_manager);
    }

    /// @notice Bootstrap period is added to current timestamp
    function setLspBootstrapPeriod(uint64 _bootstrapPeriod) external onlyOwner {
        lspBootstrapPeriod = uint64(block.timestamp) + _bootstrapPeriod;

        emit LSPBootstrapPeriodSet(_bootstrapPeriod);
    }

    function setRebalancerFee(address _rebalancer, uint16 _entryFee, uint16 _exitFee) external onlyOwner {
        require(_entryFee <= 1e4 && _exitFee <= 1e4, "Fee too high");
        rebalancerFee[_rebalancer] = RebalancerFeeInfo({exists: true, entryFee: _entryFee, exitFee: _exitFee});
        emit RebalancerFees(_rebalancer, _entryFee, _exitFee);
    }

    function setEntryFee(uint16 _fee) external onlyOwner {
        require(_fee <= 1e4, "Fee too high");
        lspEntryFee = _fee;
        emit EntryFeeSet(_fee);
    }

    function setExitFee(uint16 _fee) external onlyOwner {
        require(_fee <= 1e4, "Fee too high");
        lspExitFee = _fee;
        emit ExitFeeSet(_fee);
    }

    function setPeripheryFlashLoanFee(address _periphery, uint16 _nectFee, bool _existsForNect) external onlyOwner {
        require(_nectFee <= 1e4, "Fee too high");

        peripheryFlashLoanFee[_periphery] = FeeInfo({
            existsForNect: _existsForNect,
            nectFee: _nectFee
        });

        emit PeripheryFlashLoanFee(_periphery, _nectFee);
    }

    function commitTransferOwnership(address newOwner) external onlyOwner {
        pendingOwner = newOwner;
        ownershipTransferDeadline = block.timestamp + OWNERSHIP_TRANSFER_DELAY;

        emit NewOwnerCommitted(msg.sender, newOwner, block.timestamp + OWNERSHIP_TRANSFER_DELAY);
    }

    function acceptTransferOwnership() external {
        require(msg.sender == pendingOwner, "Only new owner");
        require(block.timestamp >= ownershipTransferDeadline, "Deadline not passed");

        emit NewOwnerAccepted(owner, msg.sender);

        owner = pendingOwner;
        pendingOwner = address(0);
        ownershipTransferDeadline = 0;
    }

    function revokeTransferOwnership() external onlyOwner {
        emit NewOwnerRevoked(msg.sender, pendingOwner);

        pendingOwner = address(0);
        ownershipTransferDeadline = 0;
    }

    function getPeripheryFlashLoanFee(address periphery) external view returns (uint16) {
        FeeInfo memory info = peripheryFlashLoanFee[periphery];

        if (msg.sender == nect) {
            if (info.existsForNect) {
                return info.nectFee;
            }
        }

        return DEFAULT_FLASH_LOAN_FEE;
    }

    function getLspEntryFee(address rebalancer) external view returns (uint16) {
        if (rebalancerFee[rebalancer].exists) {
            return rebalancerFee[rebalancer].entryFee;
        } else {
            return lspEntryFee;
        }
    }

    function getLspExitFee(address rebalancer) external view returns (uint16) {
        if (rebalancerFee[rebalancer].exists) {
            return rebalancerFee[rebalancer].exitFee;
        } else {
            return lspExitFee;
        }
    }
}

File 2 of 2 : IMetaBeraborrowCore.sol
// SPDX-License-Identifier: MIT

pragma solidity 0.8.26;

interface IMetaBeraborrowCore {
    // ---------------------------------
    // Structures
    // ---------------------------------
    struct FeeInfo {
        bool existsForNect;
        uint16 nectFee;
    }

    struct RebalancerFeeInfo {
        bool exists;
        uint16 entryFee;
        uint16 exitFee;
    }

    // ---------------------------------
    // Public constants
    // ---------------------------------
    function OWNERSHIP_TRANSFER_DELAY() external view returns (uint256);
    function DEFAULT_FLASH_LOAN_FEE() external view returns (uint16);

    // ---------------------------------
    // Public state variables
    // ---------------------------------
    function nect() external view returns (address);
    function lspEntryFee() external view returns (uint16);
    function lspExitFee() external view returns (uint16);

    function feeReceiver() external view returns (address);
    function priceFeed() external view returns (address);
    function owner() external view returns (address);
    function pendingOwner() external view returns (address);
    function ownershipTransferDeadline() external view returns (uint256);
    function manager() external view returns (address);
    function guardian() external view returns (address);
    function paused() external view returns (bool);
    function lspBootstrapPeriod() external view returns (uint64);

    // ---------------------------------
    // External functions
    // ---------------------------------
    function setFeeReceiver(address _feeReceiver) external;
    function setPriceFeed(address _priceFeed) external;
    function setGuardian(address _guardian) external;
    function setManager(address _manager) external;

    /**
     * @notice Global pause/unpause
     *         Pausing halts new deposits/borrowing across the protocol
     */
    function setPaused(bool _paused) external;

    /**
     * @notice Extend or change the LSP bootstrap period,
     *         after which certain protocol mechanics change
     */
    function setLspBootstrapPeriod(uint64 _bootstrapPeriod) external;

    /**
     * @notice Set a custom flash-loan fee for a given periphery contract
     * @param _periphery Target contract that will get this custom fee
     * @param _nectFee Fee in basis points (bp)
     * @param _existsForNect Whether this custom fee is used when the caller = `nect`
     */
    function setPeripheryFlashLoanFee(address _periphery, uint16 _nectFee, bool _existsForNect) external;

    /**
     * @notice Begin the ownership transfer process
     * @param newOwner The address proposed to be the new owner
     */
    function commitTransferOwnership(address newOwner) external;

    /**
     * @notice Finish the ownership transfer, after the mandatory delay
     */
    function acceptTransferOwnership() external;

    /**
     * @notice Revoke a pending ownership transfer
     */
    function revokeTransferOwnership() external;

    /**
     * @notice Look up a custom flash-loan fee for a specific periphery contract
     * @param peripheryContract The contract that might have a custom fee
     * @return The flash-loan fee in basis points
     */
    function getPeripheryFlashLoanFee(address peripheryContract) external view returns (uint16);

    /**
     * @notice Set / override entry & exit fees for a special rebalancer contract
     */
    function setRebalancerFee(address _rebalancer, uint16 _entryFee, uint16 _exitFee) external;

    /**
     * @notice Set the LSP entry fee globally
     * @param _fee Fee in basis points
     */
    function setEntryFee(uint16 _fee) external;

    /**
     * @notice Set the LSP exit fee globally
     * @param _fee Fee in basis points
     */
    function setExitFee(uint16 _fee) external;

    /**
     * @notice Look up the LSP entry fee for a rebalancer
     * @param rebalancer Possibly has a special fee
     * @return The entry fee in basis points
     */
    function getLspEntryFee(address rebalancer) external view returns (uint16);

    /**
     * @notice Look up the LSP exit fee for a rebalancer
     * @param rebalancer Possibly has a special fee
     * @return The exit fee in basis points
     */
    function getLspExitFee(address rebalancer) external view returns (uint16);

    // ---------------------------------
    // Events
    // ---------------------------------
    event NewOwnerCommitted(address indexed owner, address indexed pendingOwner, uint256 deadline);
    event NewOwnerAccepted(address indexed oldOwner, address indexed newOwner);
    event NewOwnerRevoked(address indexed owner, address indexed revokedOwner);

    event FeeReceiverSet(address indexed feeReceiver);
    event PriceFeedSet(address indexed priceFeed);
    event GuardianSet(address indexed guardian);
    event ManagerSet(address indexed manager);
    event PeripheryFlashLoanFee(address indexed periphery, uint16 nectFee);
    event LSPBootstrapPeriodSet(uint64 bootstrapPeriod);
    event RebalancerFees(address indexed rebalancer, uint16 entryFee, uint16 exitFee);
    event EntryFeeSet(uint16 fee);
    event ExitFeeSet(uint16 fee);
    event Paused();
    event Unpaused();
}

Settings
{
  "remappings": [
    "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
    "@openzeppelin-upgradeable/contracts/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "solady/=lib/solady/src/",
    "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
    "chimera/=lib/chimera/src/",
    "ds-test/=lib/chimera/lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
    "forge-std/=lib/forge-std/src/",
    "halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/",
    "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "cancun",
  "viaIR": false,
  "libraries": {}
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_guardian","type":"address"},{"internalType":"address","name":"_priceFeed","type":"address"},{"internalType":"address","name":"_nect","type":"address"},{"internalType":"address","name":"_feeReceiver","type":"address"},{"internalType":"uint16","name":"_lspEntryFee","type":"uint16"},{"internalType":"uint16","name":"_lspExitFee","type":"uint16"},{"internalType":"uint64","name":"_lspBootstrapPeriod","type":"uint64"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"fee","type":"uint16"}],"name":"EntryFeeSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint16","name":"fee","type":"uint16"}],"name":"ExitFeeSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"feeReceiver","type":"address"}],"name":"FeeReceiverSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guardian","type":"address"}],"name":"GuardianSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"bootstrapPeriod","type":"uint64"}],"name":"LSPBootstrapPeriodSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"manager","type":"address"}],"name":"ManagerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"NewOwnerAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"pendingOwner","type":"address"},{"indexed":false,"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"NewOwnerCommitted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"revokedOwner","type":"address"}],"name":"NewOwnerRevoked","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"periphery","type":"address"},{"indexed":false,"internalType":"uint16","name":"nectFee","type":"uint16"}],"name":"PeripheryFlashLoanFee","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"priceFeed","type":"address"}],"name":"PriceFeedSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"rebalancer","type":"address"},{"indexed":false,"internalType":"uint16","name":"entryFee","type":"uint16"},{"indexed":false,"internalType":"uint16","name":"exitFee","type":"uint16"}],"name":"RebalancerFees","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"inputs":[],"name":"DEFAULT_FLASH_LOAN_FEE","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OWNERSHIP_TRANSFER_DELAY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptTransferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"commitTransferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"rebalancer","type":"address"}],"name":"getLspEntryFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"rebalancer","type":"address"}],"name":"getLspExitFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"periphery","type":"address"}],"name":"getPeripheryFlashLoanFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"guardian","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lspBootstrapPeriod","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lspEntryFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lspExitFee","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nect","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownershipTransferDeadline","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"priceFeed","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"revokeTransferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_fee","type":"uint16"}],"name":"setEntryFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint16","name":"_fee","type":"uint16"}],"name":"setExitFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_feeReceiver","type":"address"}],"name":"setFeeReceiver","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_guardian","type":"address"}],"name":"setGuardian","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint64","name":"_bootstrapPeriod","type":"uint64"}],"name":"setLspBootstrapPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_manager","type":"address"}],"name":"setManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_paused","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_periphery","type":"address"},{"internalType":"uint16","name":"_nectFee","type":"uint16"},{"internalType":"bool","name":"_existsForNect","type":"bool"}],"name":"setPeripheryFlashLoanFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_priceFeed","type":"address"}],"name":"setPriceFeed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_rebalancer","type":"address"},{"internalType":"uint16","name":"_entryFee","type":"uint16"},{"internalType":"uint16","name":"_exitFee","type":"uint16"}],"name":"setRebalancerFee","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405234801561000f575f80fd5b5060405161138f38038061138f83398101604081905261002e916102f6565b6001600160a01b038816158061004b57506001600160a01b038716155b8061005d57506001600160a01b038616155b8061006f57506001600160a01b038516155b8061008157506001600160a01b038416155b156100d25760405162461bcd60e51b815260206004820152601d60248201527f4d65746142657261626f72726f77436f72653a20302061646472657373000000604482015260640160405180910390fd5b600280546001600160a01b03808b166001600160a01b031992831617909255600680548a841690831681179091555f8054600180548b87169516949094179093556007805461ffff888116600160b01b0261ffff60b01b19918b16600160a01b026001600160b01b03199093168c89161792909217161790556001600160401b0385166001600160401b0319948b166801000000000000000002949094166001600160e01b0319909316929092179290921781556040517fe6c09ffe4572dc9ceaa5ddde4ae41befa655d6fdfe8052077af0970f700e942e9190a26040516001600160a01b038716907f40d8738b990e6ff9a2f56f11247e657a1e7070472260b020a4fc3ab1844787bd905f90a26040516001600160a01b038516907fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d905f90a260405161ffff841681527f7c89a32178359844630b51111ebedda6f72e783c647ca3f35ed04a4733ed1ccc9060200160405180910390a160405161ffff831681527fecc8064941690044bb65ba7231fedda584279242d2b661b28363305a2642ad019060200160405180910390a16040516001600160401b03821681527f4ad74b3bfd3237da2040000e3e384a25c259b4ebc856e2f19a4c14ed020cb8169060200160405180910390a15050505050505050610398565b80516001600160a01b03811681146102e0575f80fd5b919050565b805161ffff811681146102e0575f80fd5b5f805f805f805f80610100898b03121561030e575f80fd5b610317896102ca565b975061032560208a016102ca565b965061033360408a016102ca565b955061034160608a016102ca565b945061034f60808a016102ca565b935061035d60a08a016102e5565b925061036b60c08a016102e5565b60e08a01519092506001600160401b0381168114610387575f80fd5b809150509295985092959890939650565b610fea806103a55f395ff3fe608060405234801561000f575f80fd5b50600436106101d1575f3560e01c80637433ae7a116100fe578063b3f006741161009e578063e30c39781161006e578063e30c397814610403578063e6da51a414610416578063efdcd97414610429578063f75b04041461043c575f80fd5b8063b3f00674146103b5578063cd83becd146103c8578063d0ebdbe7146103dd578063e1cebf0b146103f0575f80fd5b80638da5cb5b116100d95780638da5cb5b146103675780639c81ffcd1461037a5780639f00b8f91461038d578063a6554992146103a2575f80fd5b80637433ae7a146103425780637b3711071461034c5780638a0dac4a14610354575f80fd5b8063481c6a75116101745780636034d9f5116101445780636034d9f5146102fb5780636cd550cd1461030e578063724e78da14610316578063741bef1a14610329575f80fd5b8063481c6a751461029e57806355c5fc3b146102b1578063591ac140146102c45780635c975abb146102d7575f80fd5b806320bde782116101af57806320bde782146102195780632f7292e01461023457806341ba27eb1461025f578063452a93201461028b575f80fd5b806315112f11146101d557806316c38b3c146101f1578063181be0e214610206575b5f80fd5b6101de60045481565b6040519081526020015b60405180910390f35b6102046101ff366004610e06565b61044f565b005b610204610214366004610e4d565b610533565b610221600581565b60405161ffff90911681526020016101e8565b600154610247906001600160a01b031681565b6040516001600160a01b0390911681526020016101e8565b5f546102729067ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101e8565b600654610247906001600160a01b031681565b600554610247906001600160a01b031681565b6102046102bf366004610e8d565b610650565b6102216102d2366004610ea6565b6106f7565b6001546102eb90600160a01b900460ff1681565b60405190151581526020016101e8565b610221610309366004610ea6565b610755565b6102046107ac565b610204610324366004610ea6565b610825565b5f5461024790600160401b90046001600160a01b031681565b6101de6203f48081565b6102046108a7565b610204610362366004610ea6565b61099c565b600254610247906001600160a01b031681565b610204610388366004610ebf565b610a0f565b60075461022190600160b01b900461ffff1681565b6102046103b0366004610ef6565b610ae8565b600754610247906001600160a01b031681565b60075461022190600160a01b900461ffff1681565b6102046103eb366004610ea6565b610b6b565b6102046103fe366004610ea6565b610bde565b600354610247906001600160a01b031681565b610221610424366004610ea6565b610c80565b610204610437366004610ea6565b610ce4565b61020461044a366004610e8d565b610d57565b80801561046657506006546001600160a01b031633145b8061047b57506002546001600160a01b031633145b6104bb5760405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b60448201526064015b60405180910390fd5b6001805482158015600160a01b0260ff60a01b1990921691909117909155610508576040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e752905f90a150565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d16933905f90a150565b6002546001600160a01b0316331461055d5760405162461bcd60e51b81526004016104b290610f1d565b6127108261ffff161115801561057957506127108161ffff1611155b6105955760405162461bcd60e51b81526004016104b290610f41565b604080516060810182526001815261ffff84811660208084018281528684168587018181526001600160a01b038b165f818152600986528990209751885494519251881663010000000264ffff00000019939098166101000262ffff00199115159190911662ffffff1990951694909417939093171694909417909455845191825281019190915290917f1e67314935d25345ac58eec0e687d562f25b8c60ccfc5410873772e4188ab5c091015b60405180910390a2505050565b6002546001600160a01b0316331461067a5760405162461bcd60e51b81526004016104b290610f1d565b6127108161ffff1611156106a05760405162461bcd60e51b81526004016104b290610f41565b6007805461ffff60a01b1916600160a01b61ffff8416908102919091179091556040519081527f7c89a32178359844630b51111ebedda6f72e783c647ca3f35ed04a4733ed1ccc906020015b60405180910390a150565b6001600160a01b0381165f9081526009602052604081205460ff161561073d57506001600160a01b03165f908152600960205260409020546301000000900461ffff1690565b5050600754600160b01b900461ffff1690565b919050565b6001600160a01b0381165f9081526009602052604081205460ff161561079957506001600160a01b03165f90815260096020526040902054610100900461ffff1690565b5050600754600160a01b900461ffff1690565b6002546001600160a01b031633146107d65760405162461bcd60e51b81526004016104b290610f1d565b6003546040516001600160a01b039091169033907fd6176b30539d20b54c946c7ca9dca5950b2f1090fc2bfc55cc77a4025a8a78ae905f90a3600380546001600160a01b03191690555f600455565b6002546001600160a01b0316331461084f5760405162461bcd60e51b81526004016104b290610f1d565b5f805468010000000000000000600160e01b031916600160401b6001600160a01b03841690810291909117825560405190917f40d8738b990e6ff9a2f56f11247e657a1e7070472260b020a4fc3ab1844787bd91a250565b6003546001600160a01b031633146108f25760405162461bcd60e51b815260206004820152600e60248201526d27b7363c903732bb9037bbb732b960911b60448201526064016104b2565b60045442101561093a5760405162461bcd60e51b8152602060048201526013602482015272111958591b1a5b99481b9bdd081c185cdcd959606a1b60448201526064016104b2565b60025460405133916001600160a01b0316907f5cd6b24c0149d980c82592262b3a81294b39f8f6e3c004126aaf0828c787d554905f90a360038054600280546001600160a01b03199081166001600160a01b038416179091551690555f600455565b6002546001600160a01b031633146109c65760405162461bcd60e51b81526004016104b290610f1d565b600680546001600160a01b0319166001600160a01b0383169081179091556040517fe6c09ffe4572dc9ceaa5ddde4ae41befa655d6fdfe8052077af0970f700e942e905f90a250565b6002546001600160a01b03163314610a395760405162461bcd60e51b81526004016104b290610f1d565b6127108261ffff161115610a5f5760405162461bcd60e51b81526004016104b290610f41565b604080518082018252821515815261ffff84811660208084018281526001600160a01b0389165f8181526008845287902095518654925162ffffff1990931690151562ffff001916176101009290951691909102939093179093559251928352917f984bf420abc39253029aadc4fbb0905dc95b6039bca25648c17a0175f8b584739101610643565b6002546001600160a01b03163314610b125760405162461bcd60e51b81526004016104b290610f1d565b610b1c8142610f7b565b5f805467ffffffffffffffff191667ffffffffffffffff92831617905560405190821681527f4ad74b3bfd3237da2040000e3e384a25c259b4ebc856e2f19a4c14ed020cb816906020016106ec565b6002546001600160a01b03163314610b955760405162461bcd60e51b81526004016104b290610f1d565b600580546001600160a01b0319166001600160a01b0383169081179091556040517f60a0f5b9f9e81e98216071b85826681c796256fe3d1354ecb675580fba64fa69905f90a250565b6002546001600160a01b03163314610c085760405162461bcd60e51b81526004016104b290610f1d565b600380546001600160a01b0319166001600160a01b038316179055610c306203f48042610fa1565b6004556001600160a01b038116337f4c743940588d40b308f73f5275a4e608b25c5374f40e4839fb00467e238acfac610c6c6203f48042610fa1565b60405190815260200160405180910390a350565b6001600160a01b038181165f90815260086020908152604080832081518083019092525460ff811615158252610100900461ffff169181019190915260015491929091163303610cdb57805115610cdb576020015192915050565b50600592915050565b6002546001600160a01b03163314610d0e5760405162461bcd60e51b81526004016104b290610f1d565b600780546001600160a01b0319166001600160a01b0383169081179091556040517fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d905f90a250565b6002546001600160a01b03163314610d815760405162461bcd60e51b81526004016104b290610f1d565b6127108161ffff161115610da75760405162461bcd60e51b81526004016104b290610f41565b6007805461ffff60b01b1916600160b01b61ffff8416908102919091179091556040519081527fecc8064941690044bb65ba7231fedda584279242d2b661b28363305a2642ad01906020016106ec565b80358015158114610750575f80fd5b5f60208284031215610e16575f80fd5b610e1f82610df7565b9392505050565b80356001600160a01b0381168114610750575f80fd5b803561ffff81168114610750575f80fd5b5f805f60608486031215610e5f575f80fd5b610e6884610e26565b9250610e7660208501610e3c565b9150610e8460408501610e3c565b90509250925092565b5f60208284031215610e9d575f80fd5b610e1f82610e3c565b5f60208284031215610eb6575f80fd5b610e1f82610e26565b5f805f60608486031215610ed1575f80fd5b610eda84610e26565b9250610ee860208501610e3c565b9150610e8460408501610df7565b5f60208284031215610f06575f80fd5b813567ffffffffffffffff81168114610e1f575f80fd5b6020808252600a908201526927b7363c9037bbb732b960b11b604082015260600190565b6020808252600c908201526b08ccaca40e8dede40d0d2ced60a31b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b67ffffffffffffffff8181168382160190811115610f9b57610f9b610f67565b92915050565b80820180821115610f9b57610f9b610f6756fea2646970667358221220f5a115c1bca818316687aa172dbccebb2d7d08bc446955a68bfbc4219c1d7cf164736f6c634300081a0033000000000000000000000000ce7d3fd53c0510325b3cebb96298522e6c538753000000000000000000000000ce7d3fd53c0510325b3cebb96298522e6c538753000000000000000000000000000000000000000000000000000000000000dead0000000000000000000000001ce0a25d13ce4d52071ae7e02cf1f6606f4c79d3000000000000000000000000ce7d3fd53c0510325b3cebb96298522e6c538753000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561000f575f80fd5b50600436106101d1575f3560e01c80637433ae7a116100fe578063b3f006741161009e578063e30c39781161006e578063e30c397814610403578063e6da51a414610416578063efdcd97414610429578063f75b04041461043c575f80fd5b8063b3f00674146103b5578063cd83becd146103c8578063d0ebdbe7146103dd578063e1cebf0b146103f0575f80fd5b80638da5cb5b116100d95780638da5cb5b146103675780639c81ffcd1461037a5780639f00b8f91461038d578063a6554992146103a2575f80fd5b80637433ae7a146103425780637b3711071461034c5780638a0dac4a14610354575f80fd5b8063481c6a75116101745780636034d9f5116101445780636034d9f5146102fb5780636cd550cd1461030e578063724e78da14610316578063741bef1a14610329575f80fd5b8063481c6a751461029e57806355c5fc3b146102b1578063591ac140146102c45780635c975abb146102d7575f80fd5b806320bde782116101af57806320bde782146102195780632f7292e01461023457806341ba27eb1461025f578063452a93201461028b575f80fd5b806315112f11146101d557806316c38b3c146101f1578063181be0e214610206575b5f80fd5b6101de60045481565b6040519081526020015b60405180910390f35b6102046101ff366004610e06565b61044f565b005b610204610214366004610e4d565b610533565b610221600581565b60405161ffff90911681526020016101e8565b600154610247906001600160a01b031681565b6040516001600160a01b0390911681526020016101e8565b5f546102729067ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016101e8565b600654610247906001600160a01b031681565b600554610247906001600160a01b031681565b6102046102bf366004610e8d565b610650565b6102216102d2366004610ea6565b6106f7565b6001546102eb90600160a01b900460ff1681565b60405190151581526020016101e8565b610221610309366004610ea6565b610755565b6102046107ac565b610204610324366004610ea6565b610825565b5f5461024790600160401b90046001600160a01b031681565b6101de6203f48081565b6102046108a7565b610204610362366004610ea6565b61099c565b600254610247906001600160a01b031681565b610204610388366004610ebf565b610a0f565b60075461022190600160b01b900461ffff1681565b6102046103b0366004610ef6565b610ae8565b600754610247906001600160a01b031681565b60075461022190600160a01b900461ffff1681565b6102046103eb366004610ea6565b610b6b565b6102046103fe366004610ea6565b610bde565b600354610247906001600160a01b031681565b610221610424366004610ea6565b610c80565b610204610437366004610ea6565b610ce4565b61020461044a366004610e8d565b610d57565b80801561046657506006546001600160a01b031633145b8061047b57506002546001600160a01b031633145b6104bb5760405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b60448201526064015b60405180910390fd5b6001805482158015600160a01b0260ff60a01b1990921691909117909155610508576040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e752905f90a150565b6040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d16933905f90a150565b6002546001600160a01b0316331461055d5760405162461bcd60e51b81526004016104b290610f1d565b6127108261ffff161115801561057957506127108161ffff1611155b6105955760405162461bcd60e51b81526004016104b290610f41565b604080516060810182526001815261ffff84811660208084018281528684168587018181526001600160a01b038b165f818152600986528990209751885494519251881663010000000264ffff00000019939098166101000262ffff00199115159190911662ffffff1990951694909417939093171694909417909455845191825281019190915290917f1e67314935d25345ac58eec0e687d562f25b8c60ccfc5410873772e4188ab5c091015b60405180910390a2505050565b6002546001600160a01b0316331461067a5760405162461bcd60e51b81526004016104b290610f1d565b6127108161ffff1611156106a05760405162461bcd60e51b81526004016104b290610f41565b6007805461ffff60a01b1916600160a01b61ffff8416908102919091179091556040519081527f7c89a32178359844630b51111ebedda6f72e783c647ca3f35ed04a4733ed1ccc906020015b60405180910390a150565b6001600160a01b0381165f9081526009602052604081205460ff161561073d57506001600160a01b03165f908152600960205260409020546301000000900461ffff1690565b5050600754600160b01b900461ffff1690565b919050565b6001600160a01b0381165f9081526009602052604081205460ff161561079957506001600160a01b03165f90815260096020526040902054610100900461ffff1690565b5050600754600160a01b900461ffff1690565b6002546001600160a01b031633146107d65760405162461bcd60e51b81526004016104b290610f1d565b6003546040516001600160a01b039091169033907fd6176b30539d20b54c946c7ca9dca5950b2f1090fc2bfc55cc77a4025a8a78ae905f90a3600380546001600160a01b03191690555f600455565b6002546001600160a01b0316331461084f5760405162461bcd60e51b81526004016104b290610f1d565b5f805468010000000000000000600160e01b031916600160401b6001600160a01b03841690810291909117825560405190917f40d8738b990e6ff9a2f56f11247e657a1e7070472260b020a4fc3ab1844787bd91a250565b6003546001600160a01b031633146108f25760405162461bcd60e51b815260206004820152600e60248201526d27b7363c903732bb9037bbb732b960911b60448201526064016104b2565b60045442101561093a5760405162461bcd60e51b8152602060048201526013602482015272111958591b1a5b99481b9bdd081c185cdcd959606a1b60448201526064016104b2565b60025460405133916001600160a01b0316907f5cd6b24c0149d980c82592262b3a81294b39f8f6e3c004126aaf0828c787d554905f90a360038054600280546001600160a01b03199081166001600160a01b038416179091551690555f600455565b6002546001600160a01b031633146109c65760405162461bcd60e51b81526004016104b290610f1d565b600680546001600160a01b0319166001600160a01b0383169081179091556040517fe6c09ffe4572dc9ceaa5ddde4ae41befa655d6fdfe8052077af0970f700e942e905f90a250565b6002546001600160a01b03163314610a395760405162461bcd60e51b81526004016104b290610f1d565b6127108261ffff161115610a5f5760405162461bcd60e51b81526004016104b290610f41565b604080518082018252821515815261ffff84811660208084018281526001600160a01b0389165f8181526008845287902095518654925162ffffff1990931690151562ffff001916176101009290951691909102939093179093559251928352917f984bf420abc39253029aadc4fbb0905dc95b6039bca25648c17a0175f8b584739101610643565b6002546001600160a01b03163314610b125760405162461bcd60e51b81526004016104b290610f1d565b610b1c8142610f7b565b5f805467ffffffffffffffff191667ffffffffffffffff92831617905560405190821681527f4ad74b3bfd3237da2040000e3e384a25c259b4ebc856e2f19a4c14ed020cb816906020016106ec565b6002546001600160a01b03163314610b955760405162461bcd60e51b81526004016104b290610f1d565b600580546001600160a01b0319166001600160a01b0383169081179091556040517f60a0f5b9f9e81e98216071b85826681c796256fe3d1354ecb675580fba64fa69905f90a250565b6002546001600160a01b03163314610c085760405162461bcd60e51b81526004016104b290610f1d565b600380546001600160a01b0319166001600160a01b038316179055610c306203f48042610fa1565b6004556001600160a01b038116337f4c743940588d40b308f73f5275a4e608b25c5374f40e4839fb00467e238acfac610c6c6203f48042610fa1565b60405190815260200160405180910390a350565b6001600160a01b038181165f90815260086020908152604080832081518083019092525460ff811615158252610100900461ffff169181019190915260015491929091163303610cdb57805115610cdb576020015192915050565b50600592915050565b6002546001600160a01b03163314610d0e5760405162461bcd60e51b81526004016104b290610f1d565b600780546001600160a01b0319166001600160a01b0383169081179091556040517fbdf37c276f641820b141429d245add2552b4118c0866e5a78638e3de5ef18d9d905f90a250565b6002546001600160a01b03163314610d815760405162461bcd60e51b81526004016104b290610f1d565b6127108161ffff161115610da75760405162461bcd60e51b81526004016104b290610f41565b6007805461ffff60b01b1916600160b01b61ffff8416908102919091179091556040519081527fecc8064941690044bb65ba7231fedda584279242d2b661b28363305a2642ad01906020016106ec565b80358015158114610750575f80fd5b5f60208284031215610e16575f80fd5b610e1f82610df7565b9392505050565b80356001600160a01b0381168114610750575f80fd5b803561ffff81168114610750575f80fd5b5f805f60608486031215610e5f575f80fd5b610e6884610e26565b9250610e7660208501610e3c565b9150610e8460408501610e3c565b90509250925092565b5f60208284031215610e9d575f80fd5b610e1f82610e3c565b5f60208284031215610eb6575f80fd5b610e1f82610e26565b5f805f60608486031215610ed1575f80fd5b610eda84610e26565b9250610ee860208501610e3c565b9150610e8460408501610df7565b5f60208284031215610f06575f80fd5b813567ffffffffffffffff81168114610e1f575f80fd5b6020808252600a908201526927b7363c9037bbb732b960b11b604082015260600190565b6020808252600c908201526b08ccaca40e8dede40d0d2ced60a31b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b67ffffffffffffffff8181168382160190811115610f9b57610f9b610f67565b92915050565b80820180821115610f9b57610f9b610f6756fea2646970667358221220f5a115c1bca818316687aa172dbccebb2d7d08bc446955a68bfbc4219c1d7cf164736f6c634300081a0033

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

000000000000000000000000ce7d3fd53c0510325b3cebb96298522e6c538753000000000000000000000000ce7d3fd53c0510325b3cebb96298522e6c538753000000000000000000000000000000000000000000000000000000000000dead0000000000000000000000001ce0a25d13ce4d52071ae7e02cf1f6606f4c79d3000000000000000000000000ce7d3fd53c0510325b3cebb96298522e6c538753000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _owner (address): 0xCE7d3fd53C0510325B3CEbB96298522e6c538753
Arg [1] : _guardian (address): 0xCE7d3fd53C0510325B3CEbB96298522e6c538753
Arg [2] : _priceFeed (address): 0x000000000000000000000000000000000000dEaD
Arg [3] : _nect (address): 0x1cE0a25D13CE4d52071aE7e02Cf1F6606F4C79d3
Arg [4] : _feeReceiver (address): 0xCE7d3fd53C0510325B3CEbB96298522e6c538753
Arg [5] : _lspEntryFee (uint16): 50
Arg [6] : _lspExitFee (uint16): 50
Arg [7] : _lspBootstrapPeriod (uint64): 0

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 000000000000000000000000ce7d3fd53c0510325b3cebb96298522e6c538753
Arg [1] : 000000000000000000000000ce7d3fd53c0510325b3cebb96298522e6c538753
Arg [2] : 000000000000000000000000000000000000000000000000000000000000dead
Arg [3] : 0000000000000000000000001ce0a25d13ce4d52071ae7e02cf1f6606f4c79d3
Arg [4] : 000000000000000000000000ce7d3fd53c0510325b3cebb96298522e6c538753
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000032
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000032
Arg [7] : 0000000000000000000000000000000000000000000000000000000000000000


Block Transaction 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

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.