More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 7,998 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Unstake | 19270818 | 276 days ago | IN | 0 ETH | 0.00323408 | ||||
Unstake | 19196996 | 287 days ago | IN | 0 ETH | 0.00274228 | ||||
Unstake | 19149234 | 293 days ago | IN | 0 ETH | 0.00171197 | ||||
Unstake | 19147225 | 294 days ago | IN | 0 ETH | 0.00135684 | ||||
Unstake | 19140845 | 295 days ago | IN | 0 ETH | 0.00178309 | ||||
Unstake | 19133294 | 296 days ago | IN | 0 ETH | 0.00161689 | ||||
Stake | 19116235 | 298 days ago | IN | 0 ETH | 0.00188231 | ||||
Unstake | 19112737 | 298 days ago | IN | 0 ETH | 0.00114411 | ||||
Unstake | 19108372 | 299 days ago | IN | 0 ETH | 0.00068628 | ||||
Stake | 19094273 | 301 days ago | IN | 0 ETH | 0.00145258 | ||||
Stake | 19057966 | 306 days ago | IN | 0 ETH | 0.00183815 | ||||
Unstake | 19056194 | 306 days ago | IN | 0 ETH | 0.00178128 | ||||
Unstake | 19040605 | 309 days ago | IN | 0 ETH | 0.00205897 | ||||
Unstake | 19035659 | 309 days ago | IN | 0 ETH | 0.00343262 | ||||
Unstake | 18999914 | 314 days ago | IN | 0 ETH | 0.00172502 | ||||
Stake | 18991273 | 316 days ago | IN | 0 ETH | 0.00386171 | ||||
Stake | 18983548 | 317 days ago | IN | 0 ETH | 0.00317181 | ||||
Unstake | 18959591 | 320 days ago | IN | 0 ETH | 0.0027858 | ||||
Unstake | 18940102 | 323 days ago | IN | 0 ETH | 0.00142359 | ||||
Unstake | 18934865 | 323 days ago | IN | 0 ETH | 0.00300354 | ||||
Rebase | 18919387 | 326 days ago | IN | 0 ETH | 0.00161013 | ||||
Rebase | 18919387 | 326 days ago | IN | 0 ETH | 0.00161013 | ||||
Rebase | 18919387 | 326 days ago | IN | 0 ETH | 0.00161013 | ||||
Rebase | 18919387 | 326 days ago | IN | 0 ETH | 0.00161013 | ||||
Rebase | 18919387 | 326 days ago | IN | 0 ETH | 0.00161013 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
FloorStaking
Compiler Version
v0.7.5+commit.eb77ed08
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.7.5; import "./libraries/SafeMath.sol"; import "./libraries/SafeERC20.sol"; import "./interfaces/IERC20.sol"; import "./interfaces/IsFLOOR.sol"; import "./interfaces/IgFLOOR.sol"; import "./interfaces/IDistributor.sol"; import "./types/FloorAccessControlled.sol"; contract FloorStaking is FloorAccessControlled { /* ========== DEPENDENCIES ========== */ using SafeMath for uint256; using SafeERC20 for IERC20; using SafeERC20 for IsFLOOR; using SafeERC20 for IgFLOOR; /* ========== EVENTS ========== */ event DistributorSet(address distributor); event WarmupSet(uint256 warmup); /* ========== DATA STRUCTURES ========== */ struct Epoch { uint256 length; // in seconds uint256 number; // since inception uint256 end; // timestamp uint256 distribute; // amount } struct Claim { uint256 deposit; // if forfeiting uint256 gons; // staked balance uint256 expiry; // end of warmup period bool lock; // prevents malicious delays for claim } /* ========== STATE VARIABLES ========== */ IERC20 public immutable FLOOR; IsFLOOR public immutable sFLOOR; IgFLOOR public immutable gFLOOR; Epoch public epoch; IDistributor public distributor; mapping(address => Claim) public warmupInfo; uint256 public warmupPeriod; uint256 private gonsInWarmup; /* ========== CONSTRUCTOR ========== */ constructor( address _floor, address _sFLOOR, address _gFLOOR, uint256 _epochLength, uint256 _firstEpochNumber, uint256 _firstEpochTime, address _authority ) FloorAccessControlled(IFloorAuthority(_authority)) { require(_floor != address(0), "Zero address: FLOOR"); FLOOR = IERC20(_floor); require(_sFLOOR != address(0), "Zero address: sFLOOR"); sFLOOR = IsFLOOR(_sFLOOR); require(_gFLOOR != address(0), "Zero address: gFLOOR"); gFLOOR = IgFLOOR(_gFLOOR); epoch = Epoch({length: _epochLength, number: _firstEpochNumber, end: _firstEpochTime, distribute: 0}); } /* ========== MUTATIVE FUNCTIONS ========== */ /** * @notice stake FLOOR to enter warmup * @param _to address * @param _amount uint * @param _claim bool * @param _rebasing bool * @return uint */ function stake( address _to, uint256 _amount, bool _rebasing, bool _claim ) external returns (uint256) { FLOOR.safeTransferFrom(msg.sender, address(this), _amount); _amount = _amount.add(rebase()); // add bounty if rebase occurred if (_claim && warmupPeriod == 0) { return _send(_to, _amount, _rebasing); } else { Claim memory info = warmupInfo[_to]; if (!info.lock) { require(_to == msg.sender, "External deposits for account are locked"); } warmupInfo[_to] = Claim({ deposit: info.deposit.add(_amount), gons: info.gons.add(sFLOOR.gonsForBalance(_amount)), expiry: epoch.number.add(warmupPeriod), lock: info.lock }); gonsInWarmup = gonsInWarmup.add(sFLOOR.gonsForBalance(_amount)); return _amount; } } /** * @notice retrieve stake from warmup * @param _to address * @param _rebasing bool * @return uint */ function claim(address _to, bool _rebasing) public returns (uint256) { Claim memory info = warmupInfo[_to]; if (!info.lock) { require(_to == msg.sender, "External claims for account are locked"); } if (epoch.number >= info.expiry && info.expiry != 0) { delete warmupInfo[_to]; gonsInWarmup = gonsInWarmup.sub(info.gons); return _send(_to, sFLOOR.balanceForGons(info.gons), _rebasing); } return 0; } /** * @notice forfeit stake and retrieve FLOOR * @return uint */ function forfeit() external returns (uint256) { Claim memory info = warmupInfo[msg.sender]; delete warmupInfo[msg.sender]; gonsInWarmup = gonsInWarmup.sub(info.gons); FLOOR.safeTransfer(msg.sender, info.deposit); return info.deposit; } /** * @notice prevent new deposits or claims from ext. address (protection from malicious activity) */ function toggleLock() external { warmupInfo[msg.sender].lock = !warmupInfo[msg.sender].lock; } /** * @notice redeem sFLOOR for FLOORs * @param _to address * @param _amount uint * @param _trigger bool * @param _rebasing bool * @return amount_ uint */ function unstake( address _to, uint256 _amount, bool _trigger, bool _rebasing ) external returns (uint256 amount_) { amount_ = _amount; uint256 bounty; if (_trigger) { bounty = rebase(); } if (_rebasing) { sFLOOR.safeTransferFrom(msg.sender, address(this), _amount); amount_ = amount_.add(bounty); } else { gFLOOR.burn(msg.sender, _amount); // amount was given in gFLOOR terms amount_ = gFLOOR.balanceFrom(amount_).add(bounty); // convert amount to FLOOR terms & add bounty } require(amount_ <= FLOOR.balanceOf(address(this)), "Insufficient FLOOR balance in contract"); FLOOR.safeTransfer(_to, amount_); } /** * @notice convert _amount sFLOOR into gBalance_ gFLOOR * @param _to address * @param _amount uint * @return gBalance_ uint */ function wrap(address _to, uint256 _amount) external returns (uint256 gBalance_) { sFLOOR.safeTransferFrom(msg.sender, address(this), _amount); gBalance_ = gFLOOR.balanceTo(_amount); gFLOOR.mint(_to, gBalance_); } /** * @notice convert _amount gFLOOR into sBalance_ sFLOOR * @param _to address * @param _amount uint * @return sBalance_ uint */ function unwrap(address _to, uint256 _amount) external returns (uint256 sBalance_) { gFLOOR.burn(msg.sender, _amount); sBalance_ = gFLOOR.balanceFrom(_amount); sFLOOR.safeTransfer(_to, sBalance_); } /** * @notice trigger rebase if epoch over * @return uint256 */ function rebase() public returns (uint256) { uint256 bounty; if (epoch.end <= block.timestamp) { sFLOOR.rebase(epoch.distribute, epoch.number); epoch.end = epoch.end.add(epoch.length); epoch.number++; if (address(distributor) != address(0)) { distributor.distribute(); bounty = distributor.retrieveBounty(); // Will mint floor for this contract if there exists a bounty } uint256 balance = FLOOR.balanceOf(address(this)); uint256 staked = sFLOOR.circulatingSupply(); if (balance <= staked.add(bounty)) { epoch.distribute = 0; } else { epoch.distribute = balance.sub(staked).sub(bounty); } } return bounty; } /* ========== INTERNAL FUNCTIONS ========== */ /** * @notice send staker their amount as sFLOOR or gFLOOR * @param _to address * @param _amount uint * @param _rebasing bool */ function _send( address _to, uint256 _amount, bool _rebasing ) internal returns (uint256) { if (_rebasing) { sFLOOR.safeTransfer(_to, _amount); // send as sFLOOR (equal unit as FLOOR) return _amount; } else { gFLOOR.mint(_to, gFLOOR.balanceTo(_amount)); // send as gFLOOR (convert units from FLOOR) return gFLOOR.balanceTo(_amount); } } /* ========== VIEW FUNCTIONS ========== */ /** * @notice returns the sFLOOR index, which tracks rebase growth * @return uint */ function index() public view returns (uint256) { return sFLOOR.index(); } /** * @notice total supply in warmup */ function supplyInWarmup() public view returns (uint256) { return sFLOOR.balanceForGons(gonsInWarmup); } /** * @notice seconds until the next epoch begins */ function secondsToNextEpoch() external view returns (uint256) { return epoch.end.sub(block.timestamp); } /* ========== MANAGERIAL FUNCTIONS ========== */ /** * @notice sets the contract address for LP staking * @param _distributor address */ function setDistributor(address _distributor) external onlyGovernor { distributor = IDistributor(_distributor); emit DistributorSet(_distributor); } /** * @notice set warmup period for new stakers * @param _warmupPeriod uint */ function setWarmupLength(uint256 _warmupPeriod) external onlyGovernor { warmupPeriod = _warmupPeriod; emit WarmupSet(_warmupPeriod); } }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.7.5; // TODO(zx): Replace all instances of SafeMath with OZ implementation library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } // Only used in the BondingCalculator.sol function sqrrt(uint256 a) internal pure returns (uint c) { if (a > 3) { c = a; uint b = add( div( a, 2), 1 ); while (b < c) { c = b; b = div( add( div( a, b ), b), 2 ); } } else if (a != 0) { c = 1; } } }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.7.5; import {IERC20} from "../interfaces/IERC20.sol"; /// @notice Safe IERC20 and ETH transfer library that safely handles missing return values. /// @author Modified from Uniswap (https://github.com/Uniswap/uniswap-v3-periphery/blob/main/contracts/libraries/TransferHelper.sol) /// Taken from Solmate library SafeERC20 { function safeTransferFrom( IERC20 token, address from, address to, uint256 amount ) internal { (bool success, bytes memory data) = address(token).call( abi.encodeWithSelector(IERC20.transferFrom.selector, from, to, amount) ); require(success && (data.length == 0 || abi.decode(data, (bool))), "TRANSFER_FROM_FAILED"); } function safeTransfer( IERC20 token, address to, uint256 amount ) internal { (bool success, bytes memory data) = address(token).call( abi.encodeWithSelector(IERC20.transfer.selector, to, amount) ); require(success && (data.length == 0 || abi.decode(data, (bool))), "TRANSFER_FAILED"); } function safeApprove( IERC20 token, address to, uint256 amount ) internal { (bool success, bytes memory data) = address(token).call( abi.encodeWithSelector(IERC20.approve.selector, to, amount) ); require(success && (data.length == 0 || abi.decode(data, (bool))), "APPROVE_FAILED"); } function safeTransferETH(address to, uint256 amount) internal { (bool success, ) = to.call{value: amount}(new bytes(0)); require(success, "ETH_TRANSFER_FAILED"); } }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity >=0.7.5; interface IERC20 { /** * @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 `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, 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 `sender` to `recipient` 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 sender, address recipient, uint256 amount) external returns (bool); /** * @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); }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity >=0.7.5; import "./IERC20.sol"; interface IsFLOOR is IERC20 { function rebase( uint256 floorProfit_, uint epoch_) external returns (uint256); function circulatingSupply() external view returns (uint256); function gonsForBalance( uint amount ) external view returns ( uint ); function balanceForGons( uint gons ) external view returns ( uint ); function index() external view returns ( uint ); function toG(uint amount) external view returns (uint); function fromG(uint amount) external view returns (uint); function changeDebt( uint256 amount, address debtor, bool add ) external; function debtBalances(address _address) external view returns (uint256); }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity >=0.7.5; import "./IERC20.sol"; interface IgFLOOR is IERC20 { function mint(address _to, uint256 _amount) external; function burn(address _from, uint256 _amount) external; function index() external view returns (uint256); function balanceFrom(uint256 _amount) external view returns (uint256); function balanceTo(uint256 _amount) external view returns (uint256); }
// SPDX-License-Identifier: AGPL-3.0 pragma solidity >=0.7.5; interface IDistributor { function distribute() external; function bounty() external view returns (uint256); function retrieveBounty() external returns (uint256); function nextRewardAt(uint256 _rate) external view returns (uint256); function nextRewardFor(address _recipient) external view returns (uint256); function setBounty(uint256 _bounty) external; function addRecipient(address _recipient, uint256 _rewardRate) external; function removeRecipient(uint256 _index) external; function setAdjustment( uint256 _index, bool _add, uint256 _rate, uint256 _target ) external; }
// SPDX-License-Identifier: AGPL-3.0-only pragma solidity >=0.7.5; import "../interfaces/IFloorAuthority.sol"; abstract contract FloorAccessControlled { /* ========== EVENTS ========== */ event AuthorityUpdated(IFloorAuthority indexed authority); string UNAUTHORIZED = "UNAUTHORIZED"; // save gas /* ========== STATE VARIABLES ========== */ IFloorAuthority public authority; /* ========== Constructor ========== */ constructor(IFloorAuthority _authority) { authority = _authority; emit AuthorityUpdated(_authority); } /* ========== MODIFIERS ========== */ modifier onlyGovernor() { require(msg.sender == authority.governor(), UNAUTHORIZED); _; } modifier onlyGuardian() { require(msg.sender == authority.guardian(), UNAUTHORIZED); _; } modifier onlyPolicy() { require(msg.sender == authority.policy(), UNAUTHORIZED); _; } modifier onlyVault() { require(msg.sender == authority.vault(), UNAUTHORIZED); _; } /* ========== GOV ONLY ========== */ function setAuthority(IFloorAuthority _newAuthority) external onlyGovernor { authority = _newAuthority; emit AuthorityUpdated(_newAuthority); } }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity >=0.7.5; interface IFloorAuthority { /* ========== EVENTS ========== */ event GovernorPushed(address indexed from, address indexed to, bool _effectiveImmediately); event GuardianPushed(address indexed from, address indexed to, bool _effectiveImmediately); event PolicyPushed(address indexed from, address indexed to, bool _effectiveImmediately); event VaultPushed(address indexed from, address indexed to, bool _effectiveImmediately); event GovernorPulled(address indexed from, address indexed to); event GuardianPulled(address indexed from, address indexed to); event PolicyPulled(address indexed from, address indexed to); event VaultPulled(address indexed from, address indexed to); /* ========== VIEW ========== */ function governor() external view returns (address); function guardian() external view returns (address); function policy() external view returns (address); function vault() external view returns (address); }
{ "metadata": { "bytecodeHash": "none", "useLiteralContent": true }, "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_floor","type":"address"},{"internalType":"address","name":"_sFLOOR","type":"address"},{"internalType":"address","name":"_gFLOOR","type":"address"},{"internalType":"uint256","name":"_epochLength","type":"uint256"},{"internalType":"uint256","name":"_firstEpochNumber","type":"uint256"},{"internalType":"uint256","name":"_firstEpochTime","type":"uint256"},{"internalType":"address","name":"_authority","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IFloorAuthority","name":"authority","type":"address"}],"name":"AuthorityUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"distributor","type":"address"}],"name":"DistributorSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"warmup","type":"uint256"}],"name":"WarmupSet","type":"event"},{"inputs":[],"name":"FLOOR","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"authority","outputs":[{"internalType":"contract IFloorAuthority","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"bool","name":"_rebasing","type":"bool"}],"name":"claim","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distributor","outputs":[{"internalType":"contract IDistributor","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"epoch","outputs":[{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"uint256","name":"number","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"},{"internalType":"uint256","name":"distribute","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"forfeit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gFLOOR","outputs":[{"internalType":"contract IgFLOOR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"index","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sFLOOR","outputs":[{"internalType":"contract IsFLOOR","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"secondsToNextEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IFloorAuthority","name":"_newAuthority","type":"address"}],"name":"setAuthority","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_distributor","type":"address"}],"name":"setDistributor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_warmupPeriod","type":"uint256"}],"name":"setWarmupLength","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_rebasing","type":"bool"},{"internalType":"bool","name":"_claim","type":"bool"}],"name":"stake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"supplyInWarmup","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"toggleLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bool","name":"_trigger","type":"bool"},{"internalType":"bool","name":"_rebasing","type":"bool"}],"name":"unstake","outputs":[{"internalType":"uint256","name":"amount_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"unwrap","outputs":[{"internalType":"uint256","name":"sBalance_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"warmupInfo","outputs":[{"internalType":"uint256","name":"deposit","type":"uint256"},{"internalType":"uint256","name":"gons","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"bool","name":"lock","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"warmupPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"wrap","outputs":[{"internalType":"uint256","name":"gBalance_","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
610120604052600c60e08190526b15539055551213d49256915160a21b61010090815262000031916000919062000261565b503480156200003f57600080fd5b50604051620021cc380380620021cc833981810160405260e08110156200006557600080fd5b50805160208201516040808401516060850151608086015160a087015160c090970151600180546001600160a01b0319166001600160a01b038316908117909155945196979596939592949193909182917f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90600090a2506001600160a01b03871662000139576040805162461bcd60e51b815260206004820152601360248201527f5a65726f20616464726573733a20464c4f4f5200000000000000000000000000604482015290519081900360640190fd5b6001600160601b0319606088901b166080526001600160a01b038616620001a7576040805162461bcd60e51b815260206004820152601460248201527f5a65726f20616464726573733a2073464c4f4f52000000000000000000000000604482015290519081900360640190fd5b6001600160601b0319606087901b1660a0526001600160a01b03851662000215576040805162461bcd60e51b815260206004820152601460248201527f5a65726f20616464726573733a2067464c4f4f52000000000000000000000000604482015290519081900360640190fd5b506001600160601b0319606094851b1660c052604080516080810182528481526020810184905290810182905260009401849052600292909255600355600455600555506200030d9050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620002995760008555620002e4565b82601f10620002b457805160ff1916838001178555620002e4565b82800160010185558215620002e4579182015b82811115620002e4578251825591602001919060010190620002c7565b50620002f2929150620002f6565b5090565b5b80821115620002f25760008155600101620002f7565b60805160601c60a05160601c60c05160601c611e0c620003c0600039806104b252806105415280610c9f5280610d045280610eaa528061123252806112ec528061194a528061197a5280611a705250806103be528061045752806105de5280610b595280610c3f5280610edc528061114c528061120852806114aa52806115cf528061165e528061191a5250806108e75280610dbb5280610e7852806110955280611381528061170e5250611e0c6000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063990966d5116100b8578063bfe109281161007c578063bfe1092814610356578063d866c9d81461035e578063deac361a1461039a578063f36080f1146103a2578063f3d86e4a146103aa578063ff9413d8146103b257610142565b8063990966d5146102d6578063aad7a74c14610312578063af14052c1461031a578063bf376c7a14610322578063bf7e214f1461034e57610142565b80637a9e5e4b1161010a5780637a9e5e4b1461020b57806384b3d8e914610231578063900cf0cf146102555780639238d5921461028357806392fd2daf146102a05780639483c1d7146102ce57610142565b806320138641146101475780632986c0e51461016157806339f47693146101695780636746f4c21461019557806375619ab5146101e3575b600080fd5b61014f6103ba565b60408051918252519081900360200190f35b61014f610453565b61014f6004803603604081101561017f57600080fd5b506001600160a01b0381351690602001356104ae565b6101bb600480360360208110156101ab57600080fd5b50356001600160a01b031661060b565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b610209600480360360208110156101f957600080fd5b50356001600160a01b0316610635565b005b6102096004803603602081101561022157600080fd5b50356001600160a01b03166107af565b6102396108e5565b604080516001600160a01b039092168252519081900360200190f35b61025d610909565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6102096004803603602081101561029957600080fd5b5035610918565b61014f600480360360408110156102b657600080fd5b506001600160a01b0381351690602001351515610a3f565b61014f610c03565b61014f600480360360808110156102ec57600080fd5b506001600160a01b03813516906020810135906040810135151590606001351515610c18565b610239610ea8565b61014f610ecc565b61014f6004803603604081101561033857600080fd5b506001600160a01b0381351690602001356111f9565b610239611354565b610239611363565b61014f6004803603608081101561037457600080fd5b506001600160a01b03813516906020810135906040810135151590606001351515611372565b61014f611656565b61023961165c565b61014f611680565b61020961173c565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637965d56d6009546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561042257600080fd5b505afa158015610436573d6000803e3d6000fd5b505050506040513d602081101561044c57600080fd5b5051905090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632986c0e56040518163ffffffff1660e01b815260040160206040518083038186803b15801561042257600080fd5b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561052757600080fd5b505af115801561053b573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a8248768836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156105a357600080fd5b505afa1580156105b7573d6000803e3d6000fd5b505050506040513d60208110156105cd57600080fd5b505190506106056001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168483611760565b92915050565b60076020526000908152604090208054600182015460028301546003909301549192909160ff1684565b600160009054906101000a90046001600160a01b03166001600160a01b0316630c340a246040518163ffffffff1660e01b815260040160206040518083038186803b15801561068357600080fd5b505afa158015610697573d6000803e3d6000fd5b505050506040513d60208110156106ad57600080fd5b50516000906001600160a01b0316331461075a5760405162461bcd60e51b815260206004820190815282546002600019610100600184161502019091160460248301819052909182916044909101908490801561074b5780601f106107205761010080835404028352916020019161074b565b820191906000526020600020905b81548152906001019060200180831161072e57829003601f168201915b50509250505060405180910390fd5b50600680546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f86719c518c7d99ac94b3d405d462ea876ba5cd0a978461dc9a7c9862a94858869181900360200190a150565b600160009054906101000a90046001600160a01b03166001600160a01b0316630c340a246040518163ffffffff1660e01b815260040160206040518083038186803b1580156107fd57600080fd5b505afa158015610811573d6000803e3d6000fd5b505050506040513d602081101561082757600080fd5b50516000906001600160a01b0316331461089a5760405162461bcd60e51b815260206004820190815282546002600019610100600184161502019091160460248301819052909182916044909101908490801561074b5780601f106107205761010080835404028352916020019161074b565b50600180546001600160a01b0319166001600160a01b0383169081179091556040517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90600090a250565b7f000000000000000000000000000000000000000000000000000000000000000081565b60025460035460045460055484565b600160009054906101000a90046001600160a01b03166001600160a01b0316630c340a246040518163ffffffff1660e01b815260040160206040518083038186803b15801561096657600080fd5b505afa15801561097a573d6000803e3d6000fd5b505050506040513d602081101561099057600080fd5b50516000906001600160a01b03163314610a035760405162461bcd60e51b815260206004820190815282546002600019610100600184161502019091160460248301819052909182916044909101908490801561074b5780601f106107205761010080835404028352916020019161074b565b5060088190556040805182815290517fac17d51c35ac71d3eddc155985908430e88946d51e2f6093e93c1c0aba08f6c49181900360200190a150565b6000610a49611d61565b506001600160a01b03831660009081526007602090815260409182902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16151560608201819052610ae7576001600160a01b0384163314610ae75760405162461bcd60e51b8152600401808060200182810382526026815260200180611db46026913960400191505060405180910390fd5b604081015160035410801590610b005750604081015115155b15610bf9576001600160a01b038416600090815260076020908152604082208281556001810183905560028101929092556003909101805460ff19169055810151600954610b4d916118bc565b600981905550610bf1847f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637965d56d84602001516040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610bbf57600080fd5b505afa158015610bd3573d6000803e3d6000fd5b505050506040513d6020811015610be957600080fd5b505185611905565b915050610605565b5060009392505050565b600454600090610c1390426118bc565b905090565b8260008315610c2c57610c29610ecc565b90505b8215610c7857610c676001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333088611b06565b610c718282611c70565b9150610d9b565b60408051632770a7eb60e21b81523360048201526024810187905290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691639dc29fac91604480830192600092919082900301818387803b158015610ce657600080fd5b505af1158015610cfa573d6000803e3d6000fd5b50505050610d98817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a8248768856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d6657600080fd5b505afa158015610d7a573d6000803e3d6000fd5b505050506040513d6020811015610d9057600080fd5b505190611c70565b91505b604080516370a0823160e01b815230600482015290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b158015610e0157600080fd5b505afa158015610e15573d6000803e3d6000fd5b505050506040513d6020811015610e2b57600080fd5b5051821115610e6b5760405162461bcd60e51b8152600401808060200182810382526026815260200180611dda6026913960400191505060405180910390fd5b610e9f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168784611760565b50949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008042600280015411610c13577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663058ecdb46002600301546002600101546040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b158015610f5257600080fd5b505af1158015610f66573d6000803e3d6000fd5b505050506040513d6020811015610f7c57600080fd5b5050600254600454610f8d91611c70565b6004556003805460010190556006546001600160a01b03161561109157600660009054906101000a90046001600160a01b03166001600160a01b031663e4fc6b6d6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610ffa57600080fd5b505af115801561100e573d6000803e3d6000fd5b50505050600660009054906101000a90046001600160a01b03166001600160a01b031663e7187e8a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561106257600080fd5b505af1158015611076573d6000803e3d6000fd5b505050506040513d602081101561108c57600080fd5b505190505b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561110057600080fd5b505afa158015611114573d6000803e3d6000fd5b505050506040513d602081101561112a57600080fd5b505160408051639358928b60e01b815290519192506000916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691639358928b916004808301926020929190829003018186803b15801561119257600080fd5b505afa1580156111a6573d6000803e3d6000fd5b505050506040513d60208110156111bc57600080fd5b505190506111ca8184611c70565b82116111da5760006005556111f2565b6111ee836111e884846118bc565b906118bc565b6005555b5050905090565b60006112306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333085611b06565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366a5236c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561129457600080fd5b505afa1580156112a8573d6000803e3d6000fd5b505050506040513d60208110156112be57600080fd5b5051604080516340c10f1960e01b81526001600160a01b0386811660048301526024820184905291519293507f0000000000000000000000000000000000000000000000000000000000000000909116916340c10f199160448082019260009290919082900301818387803b15801561133657600080fd5b505af115801561134a573d6000803e3d6000fd5b5050505092915050565b6001546001600160a01b031681565b6006546001600160a01b031681565b60006113a96001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333087611b06565b6113bb6113b4610ecc565b8590611c70565b93508180156113ca5750600854155b156113e1576113da858585611905565b905061164e565b6113e9611d61565b506001600160a01b03851660009081526007602090815260409182902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16151560608201819052611487576001600160a01b03861633146114875760405162461bcd60e51b8152600401808060200182810382526028815260200180611d8c6028913960400191505060405180910390fd5b6040805160808101909152815181906114a09088611c70565b81526020016115437f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631bd39674896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561150c57600080fd5b505afa158015611520573d6000803e3d6000fd5b505050506040513d602081101561153657600080fd5b5051602085015190611c70565b815260085460035460209092019161155a91611c70565b815260608381015115156020928301526001600160a01b038981166000908152600784526040908190208551815585850151600182015585820151600282015594909201516003909401805460ff19169415159490941790935580516306f4e59d60e21b8152600481018990529051611646937f00000000000000000000000000000000000000000000000000000000000000001692631bd396749260248082019391829003018186803b15801561161157600080fd5b505afa158015611625573d6000803e3d6000fd5b505050506040513d602081101561163b57600080fd5b505160095490611c70565b600955508390505b949350505050565b60085481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061168a611d61565b503360008181526007602081815260408084208151608081018352815481526001820180548286019081526002840180549584019590955260038401805460ff81161515606086015299895296909552918690559085905593905560ff19909316905590516009546116fb916118bc565b6009558051611736906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016903390611760565b51905090565b336000908152600760205260409020600301805460ff19811660ff90911615179055565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b602083106117dd5780518252601f1990920191602091820191016117be565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461183f576040519150601f19603f3d011682016040523d82523d6000602084013e611844565b606091505b5091509150818015611872575080511580611872575080806020019051602081101561186f57600080fd5b50515b6118b5576040805162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b604482015290519081900360640190fd5b5050505050565b60006118fe83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cca565b9392505050565b60008115611948576119416001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168585611760565b50816118fe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166340c10f19857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366a5236c876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156119dc57600080fd5b505afa1580156119f0573d6000803e3d6000fd5b505050506040513d6020811015611a0657600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015611a5657600080fd5b505af1158015611a6a573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366a5236c846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611ad257600080fd5b505afa158015611ae6573d6000803e3d6000fd5b505050506040513d6020811015611afc57600080fd5b5051949350505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17815292518251600094606094938a169392918291908083835b60208310611b8b5780518252601f199092019160209182019101611b6c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611bed576040519150601f19603f3d011682016040523d82523d6000602084013e611bf2565b606091505b5091509150818015611c20575080511580611c205750808060200190516020811015611c1d57600080fd5b50515b611c68576040805162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b604482015290519081900360640190fd5b505050505050565b6000828201838110156118fe576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115611d595760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d1e578181015183820152602001611d06565b50505050905090810190601f168015611d4b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6040518060800160405280600081526020016000815260200160008152602001600015158152509056fe45787465726e616c206465706f7369747320666f72206163636f756e7420617265206c6f636b656445787465726e616c20636c61696d7320666f72206163636f756e7420617265206c6f636b6564496e73756666696369656e7420464c4f4f522062616c616e636520696e20636f6e7472616374a164736f6c6343000705000a000000000000000000000000f59257e961883636290411c11ec5ae622d19455e000000000000000000000000164afe96912099543bc2c48bb9358a095db8e784000000000000000000000000b1cc59fc717b8d4783d41f952725177298b5619d0000000000000000000000000000000000000000000000000000000000007080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000621e7b40000000000000000000000000618907e21898d0357f0a0bf0b112949b1530cbc1
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101425760003560e01c8063990966d5116100b8578063bfe109281161007c578063bfe1092814610356578063d866c9d81461035e578063deac361a1461039a578063f36080f1146103a2578063f3d86e4a146103aa578063ff9413d8146103b257610142565b8063990966d5146102d6578063aad7a74c14610312578063af14052c1461031a578063bf376c7a14610322578063bf7e214f1461034e57610142565b80637a9e5e4b1161010a5780637a9e5e4b1461020b57806384b3d8e914610231578063900cf0cf146102555780639238d5921461028357806392fd2daf146102a05780639483c1d7146102ce57610142565b806320138641146101475780632986c0e51461016157806339f47693146101695780636746f4c21461019557806375619ab5146101e3575b600080fd5b61014f6103ba565b60408051918252519081900360200190f35b61014f610453565b61014f6004803603604081101561017f57600080fd5b506001600160a01b0381351690602001356104ae565b6101bb600480360360208110156101ab57600080fd5b50356001600160a01b031661060b565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b610209600480360360208110156101f957600080fd5b50356001600160a01b0316610635565b005b6102096004803603602081101561022157600080fd5b50356001600160a01b03166107af565b6102396108e5565b604080516001600160a01b039092168252519081900360200190f35b61025d610909565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6102096004803603602081101561029957600080fd5b5035610918565b61014f600480360360408110156102b657600080fd5b506001600160a01b0381351690602001351515610a3f565b61014f610c03565b61014f600480360360808110156102ec57600080fd5b506001600160a01b03813516906020810135906040810135151590606001351515610c18565b610239610ea8565b61014f610ecc565b61014f6004803603604081101561033857600080fd5b506001600160a01b0381351690602001356111f9565b610239611354565b610239611363565b61014f6004803603608081101561037457600080fd5b506001600160a01b03813516906020810135906040810135151590606001351515611372565b61014f611656565b61023961165c565b61014f611680565b61020961173c565b60007f000000000000000000000000164afe96912099543bc2c48bb9358a095db8e7846001600160a01b0316637965d56d6009546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561042257600080fd5b505afa158015610436573d6000803e3d6000fd5b505050506040513d602081101561044c57600080fd5b5051905090565b60007f000000000000000000000000164afe96912099543bc2c48bb9358a095db8e7846001600160a01b0316632986c0e56040518163ffffffff1660e01b815260040160206040518083038186803b15801561042257600080fd5b60007f000000000000000000000000b1cc59fc717b8d4783d41f952725177298b5619d6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561052757600080fd5b505af115801561053b573d6000803e3d6000fd5b505050507f000000000000000000000000b1cc59fc717b8d4783d41f952725177298b5619d6001600160a01b031663a8248768836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156105a357600080fd5b505afa1580156105b7573d6000803e3d6000fd5b505050506040513d60208110156105cd57600080fd5b505190506106056001600160a01b037f000000000000000000000000164afe96912099543bc2c48bb9358a095db8e784168483611760565b92915050565b60076020526000908152604090208054600182015460028301546003909301549192909160ff1684565b600160009054906101000a90046001600160a01b03166001600160a01b0316630c340a246040518163ffffffff1660e01b815260040160206040518083038186803b15801561068357600080fd5b505afa158015610697573d6000803e3d6000fd5b505050506040513d60208110156106ad57600080fd5b50516000906001600160a01b0316331461075a5760405162461bcd60e51b815260206004820190815282546002600019610100600184161502019091160460248301819052909182916044909101908490801561074b5780601f106107205761010080835404028352916020019161074b565b820191906000526020600020905b81548152906001019060200180831161072e57829003601f168201915b50509250505060405180910390fd5b50600680546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f86719c518c7d99ac94b3d405d462ea876ba5cd0a978461dc9a7c9862a94858869181900360200190a150565b600160009054906101000a90046001600160a01b03166001600160a01b0316630c340a246040518163ffffffff1660e01b815260040160206040518083038186803b1580156107fd57600080fd5b505afa158015610811573d6000803e3d6000fd5b505050506040513d602081101561082757600080fd5b50516000906001600160a01b0316331461089a5760405162461bcd60e51b815260206004820190815282546002600019610100600184161502019091160460248301819052909182916044909101908490801561074b5780601f106107205761010080835404028352916020019161074b565b50600180546001600160a01b0319166001600160a01b0383169081179091556040517f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90600090a250565b7f000000000000000000000000f59257e961883636290411c11ec5ae622d19455e81565b60025460035460045460055484565b600160009054906101000a90046001600160a01b03166001600160a01b0316630c340a246040518163ffffffff1660e01b815260040160206040518083038186803b15801561096657600080fd5b505afa15801561097a573d6000803e3d6000fd5b505050506040513d602081101561099057600080fd5b50516000906001600160a01b03163314610a035760405162461bcd60e51b815260206004820190815282546002600019610100600184161502019091160460248301819052909182916044909101908490801561074b5780601f106107205761010080835404028352916020019161074b565b5060088190556040805182815290517fac17d51c35ac71d3eddc155985908430e88946d51e2f6093e93c1c0aba08f6c49181900360200190a150565b6000610a49611d61565b506001600160a01b03831660009081526007602090815260409182902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16151560608201819052610ae7576001600160a01b0384163314610ae75760405162461bcd60e51b8152600401808060200182810382526026815260200180611db46026913960400191505060405180910390fd5b604081015160035410801590610b005750604081015115155b15610bf9576001600160a01b038416600090815260076020908152604082208281556001810183905560028101929092556003909101805460ff19169055810151600954610b4d916118bc565b600981905550610bf1847f000000000000000000000000164afe96912099543bc2c48bb9358a095db8e7846001600160a01b0316637965d56d84602001516040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610bbf57600080fd5b505afa158015610bd3573d6000803e3d6000fd5b505050506040513d6020811015610be957600080fd5b505185611905565b915050610605565b5060009392505050565b600454600090610c1390426118bc565b905090565b8260008315610c2c57610c29610ecc565b90505b8215610c7857610c676001600160a01b037f000000000000000000000000164afe96912099543bc2c48bb9358a095db8e78416333088611b06565b610c718282611c70565b9150610d9b565b60408051632770a7eb60e21b81523360048201526024810187905290516001600160a01b037f000000000000000000000000b1cc59fc717b8d4783d41f952725177298b5619d1691639dc29fac91604480830192600092919082900301818387803b158015610ce657600080fd5b505af1158015610cfa573d6000803e3d6000fd5b50505050610d98817f000000000000000000000000b1cc59fc717b8d4783d41f952725177298b5619d6001600160a01b031663a8248768856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d6657600080fd5b505afa158015610d7a573d6000803e3d6000fd5b505050506040513d6020811015610d9057600080fd5b505190611c70565b91505b604080516370a0823160e01b815230600482015290516001600160a01b037f000000000000000000000000f59257e961883636290411c11ec5ae622d19455e16916370a08231916024808301926020929190829003018186803b158015610e0157600080fd5b505afa158015610e15573d6000803e3d6000fd5b505050506040513d6020811015610e2b57600080fd5b5051821115610e6b5760405162461bcd60e51b8152600401808060200182810382526026815260200180611dda6026913960400191505060405180910390fd5b610e9f6001600160a01b037f000000000000000000000000f59257e961883636290411c11ec5ae622d19455e168784611760565b50949350505050565b7f000000000000000000000000b1cc59fc717b8d4783d41f952725177298b5619d81565b60008042600280015411610c13577f000000000000000000000000164afe96912099543bc2c48bb9358a095db8e7846001600160a01b031663058ecdb46002600301546002600101546040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b158015610f5257600080fd5b505af1158015610f66573d6000803e3d6000fd5b505050506040513d6020811015610f7c57600080fd5b5050600254600454610f8d91611c70565b6004556003805460010190556006546001600160a01b03161561109157600660009054906101000a90046001600160a01b03166001600160a01b031663e4fc6b6d6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610ffa57600080fd5b505af115801561100e573d6000803e3d6000fd5b50505050600660009054906101000a90046001600160a01b03166001600160a01b031663e7187e8a6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561106257600080fd5b505af1158015611076573d6000803e3d6000fd5b505050506040513d602081101561108c57600080fd5b505190505b60007f000000000000000000000000f59257e961883636290411c11ec5ae622d19455e6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561110057600080fd5b505afa158015611114573d6000803e3d6000fd5b505050506040513d602081101561112a57600080fd5b505160408051639358928b60e01b815290519192506000916001600160a01b037f000000000000000000000000164afe96912099543bc2c48bb9358a095db8e7841691639358928b916004808301926020929190829003018186803b15801561119257600080fd5b505afa1580156111a6573d6000803e3d6000fd5b505050506040513d60208110156111bc57600080fd5b505190506111ca8184611c70565b82116111da5760006005556111f2565b6111ee836111e884846118bc565b906118bc565b6005555b5050905090565b60006112306001600160a01b037f000000000000000000000000164afe96912099543bc2c48bb9358a095db8e78416333085611b06565b7f000000000000000000000000b1cc59fc717b8d4783d41f952725177298b5619d6001600160a01b03166366a5236c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561129457600080fd5b505afa1580156112a8573d6000803e3d6000fd5b505050506040513d60208110156112be57600080fd5b5051604080516340c10f1960e01b81526001600160a01b0386811660048301526024820184905291519293507f000000000000000000000000b1cc59fc717b8d4783d41f952725177298b5619d909116916340c10f199160448082019260009290919082900301818387803b15801561133657600080fd5b505af115801561134a573d6000803e3d6000fd5b5050505092915050565b6001546001600160a01b031681565b6006546001600160a01b031681565b60006113a96001600160a01b037f000000000000000000000000f59257e961883636290411c11ec5ae622d19455e16333087611b06565b6113bb6113b4610ecc565b8590611c70565b93508180156113ca5750600854155b156113e1576113da858585611905565b905061164e565b6113e9611d61565b506001600160a01b03851660009081526007602090815260409182902082516080810184528154815260018201549281019290925260028101549282019290925260039091015460ff16151560608201819052611487576001600160a01b03861633146114875760405162461bcd60e51b8152600401808060200182810382526028815260200180611d8c6028913960400191505060405180910390fd5b6040805160808101909152815181906114a09088611c70565b81526020016115437f000000000000000000000000164afe96912099543bc2c48bb9358a095db8e7846001600160a01b0316631bd39674896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561150c57600080fd5b505afa158015611520573d6000803e3d6000fd5b505050506040513d602081101561153657600080fd5b5051602085015190611c70565b815260085460035460209092019161155a91611c70565b815260608381015115156020928301526001600160a01b038981166000908152600784526040908190208551815585850151600182015585820151600282015594909201516003909401805460ff19169415159490941790935580516306f4e59d60e21b8152600481018990529051611646937f000000000000000000000000164afe96912099543bc2c48bb9358a095db8e7841692631bd396749260248082019391829003018186803b15801561161157600080fd5b505afa158015611625573d6000803e3d6000fd5b505050506040513d602081101561163b57600080fd5b505160095490611c70565b600955508390505b949350505050565b60085481565b7f000000000000000000000000164afe96912099543bc2c48bb9358a095db8e78481565b600061168a611d61565b503360008181526007602081815260408084208151608081018352815481526001820180548286019081526002840180549584019590955260038401805460ff81161515606086015299895296909552918690559085905593905560ff19909316905590516009546116fb916118bc565b6009558051611736906001600160a01b037f000000000000000000000000f59257e961883636290411c11ec5ae622d19455e16903390611760565b51905090565b336000908152600760205260409020600301805460ff19811660ff90911615179055565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b602083106117dd5780518252601f1990920191602091820191016117be565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461183f576040519150601f19603f3d011682016040523d82523d6000602084013e611844565b606091505b5091509150818015611872575080511580611872575080806020019051602081101561186f57600080fd5b50515b6118b5576040805162461bcd60e51b815260206004820152600f60248201526e1514905394d1915497d19052531151608a1b604482015290519081900360640190fd5b5050505050565b60006118fe83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611cca565b9392505050565b60008115611948576119416001600160a01b037f000000000000000000000000164afe96912099543bc2c48bb9358a095db8e784168585611760565b50816118fe565b7f000000000000000000000000b1cc59fc717b8d4783d41f952725177298b5619d6001600160a01b03166340c10f19857f000000000000000000000000b1cc59fc717b8d4783d41f952725177298b5619d6001600160a01b03166366a5236c876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156119dc57600080fd5b505afa1580156119f0573d6000803e3d6000fd5b505050506040513d6020811015611a0657600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152602483019190915251604480830192600092919082900301818387803b158015611a5657600080fd5b505af1158015611a6a573d6000803e3d6000fd5b505050507f000000000000000000000000b1cc59fc717b8d4783d41f952725177298b5619d6001600160a01b03166366a5236c846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611ad257600080fd5b505afa158015611ae6573d6000803e3d6000fd5b505050506040513d6020811015611afc57600080fd5b5051949350505050565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17815292518251600094606094938a169392918291908083835b60208310611b8b5780518252601f199092019160209182019101611b6c565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611bed576040519150601f19603f3d011682016040523d82523d6000602084013e611bf2565b606091505b5091509150818015611c20575080511580611c205750808060200190516020811015611c1d57600080fd5b50515b611c68576040805162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b604482015290519081900360640190fd5b505050505050565b6000828201838110156118fe576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008184841115611d595760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d1e578181015183820152602001611d06565b50505050905090810190601f168015611d4b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6040518060800160405280600081526020016000815260200160008152602001600015158152509056fe45787465726e616c206465706f7369747320666f72206163636f756e7420617265206c6f636b656445787465726e616c20636c61696d7320666f72206163636f756e7420617265206c6f636b6564496e73756666696369656e7420464c4f4f522062616c616e636520696e20636f6e7472616374a164736f6c6343000705000a
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000f59257e961883636290411c11ec5ae622d19455e000000000000000000000000164afe96912099543bc2c48bb9358a095db8e784000000000000000000000000b1cc59fc717b8d4783d41f952725177298b5619d0000000000000000000000000000000000000000000000000000000000007080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000621e7b40000000000000000000000000618907e21898d0357f0a0bf0b112949b1530cbc1
-----Decoded View---------------
Arg [0] : _floor (address): 0xf59257E961883636290411c11ec5Ae622d19455e
Arg [1] : _sFLOOR (address): 0x164AFe96912099543BC2c48bb9358a095Db8e784
Arg [2] : _gFLOOR (address): 0xb1Cc59Fc717b8D4783D41F952725177298B5619d
Arg [3] : _epochLength (uint256): 28800
Arg [4] : _firstEpochNumber (uint256): 0
Arg [5] : _firstEpochTime (uint256): 1646164800
Arg [6] : _authority (address): 0x618907E21898D0357f0a0BF0B112949b1530Cbc1
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 000000000000000000000000f59257e961883636290411c11ec5ae622d19455e
Arg [1] : 000000000000000000000000164afe96912099543bc2c48bb9358a095db8e784
Arg [2] : 000000000000000000000000b1cc59fc717b8d4783d41f952725177298b5619d
Arg [3] : 0000000000000000000000000000000000000000000000000000000000007080
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [5] : 00000000000000000000000000000000000000000000000000000000621e7b40
Arg [6] : 000000000000000000000000618907e21898d0357f0a0bf0b112949b1530cbc1
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $4.77 | 748,917.8081 | $3,572,337.94 |
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.