Overview
BERA Balance
BERA Value
$0.00More Info
Private Name Tags
ContractCreator
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
Contract Source Code (Solidity Standard Json-Input format)
// 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; } } }
// 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(); }
{ "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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]
Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.