Contract 0xf399d101fb4d3466f70e2ec25467721eaec8b460 2

 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xd4ea9bafc12e2af7b6f8f0eff8f4724185cdadf29776d8a5f2ee0894322c19aeWithdraw519176082022-12-05 12:53:451 hr 20 mins ago0x515e095e93ac17fa133b39de2d7807f43a39af47 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.142371995567
0x781a5ae909bd8d3987ca5c32845ae4732b5e3d3ae29e6139f68f5b9b26fd9d0fGet Reward519175762022-12-05 12:52:081 hr 21 mins ago0x515e095e93ac17fa133b39de2d7807f43a39af47 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.034352436593
0x7131adc03f37208f18a304975b8435fd66f4350f884f0f03e441d9c6371275cbWithdraw518790862022-12-04 16:14:4121 hrs 59 mins ago0x0d85e717b08025728ffb03d94c2fa4fcd17f52d4 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.002670597991
0x6e4f0832906cfbf66bf00992fc3538d46acdb2f351a4169551ab07086c311160Get Reward518790782022-12-04 16:14:3121 hrs 59 mins ago0x0d85e717b08025728ffb03d94c2fa4fcd17f52d4 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.002156855992
0xf5cdcc4862ac69a3df64a453cd9224c2f94b2662be3428b8f377c10478b0de3dWithdraw508892572022-11-14 23:01:2920 days 15 hrs ago0x8b30fd6f841eaa6011c1098403c091ae88558e2e IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.008761834023
0x8f777bfd2dd9b85d215d6236e4d2793ed63b8781fd284a2c9ff8ee38b3a13a15Get Reward508892382022-11-14 23:01:1020 days 15 hrs ago0x8b30fd6f841eaa6011c1098403c091ae88558e2e IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.008172915612
0xfe0c64e74c52c916db6e3e96140ba1f2311ce8489b63e481667ce1c61a5c5527Withdraw504439942022-11-04 4:53:3031 days 9 hrs ago0xabb3e40e3262d842e9f83a59f7ee36d226a0c585 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.130338541952
0x5bc1457fc3edbb7048cc1be4a226e8a8418f180d128bc0ee348fd6a52631ac2cWithdraw501827232022-10-28 19:12:2537 days 19 hrs ago0xd129b9128457305c35914d9449dca212f68e3ac0 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.001272498569
0x217033338cf84639aeab0c1688249d68c2edb797a87728aec86639e55782ab4dWithdraw490129712022-10-12 14:16:1953 days 23 hrs ago0x3d7c89adab71c20f544210a81b2dd470851b3c8a IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.000161500266
0xeb655f39125f591170fdbce8f86930576cef4548b6c171ac4079a2f7304dda90Get Reward489237302022-10-11 9:52:4355 days 4 hrs ago0x3d7c89adab71c20f544210a81b2dd470851b3c8a IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.000113161769
0x82af8a8eebd0677996faaa5531c895437d103b240bf5a6fd95ebe7f2cd271c2bWithdraw486512612022-10-07 19:25:0158 days 18 hrs ago0x73b7ab3f9ecab3903070df8ed949e13cfca23e8b IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.000128016044
0x9bbc86c68e42ddc55941c8bdc4142ab9f383ce4ad7c75d9d6bc2ea0faa15870bGet Reward486512312022-10-07 19:24:3158 days 18 hrs ago0x73b7ab3f9ecab3903070df8ed949e13cfca23e8b IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.000112932047
0x34d6954c3085c20974c196f18c527425a43fe7a6e2d2819cca50447920266a30Withdraw484423722022-10-05 2:57:2361 days 11 hrs ago0x945f6cb22546af82c552cd2937a36bef9414df41 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.000312002942
0xb4a794ae350bac44f36bdafc6fd1c726fd249a6f44240d8d50f08a73e6a027b3Withdraw477263662022-09-25 16:38:4870 days 21 hrs ago0x64f030e303a63c80d0cd720fdfbdff77723d7dad IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.00016915234
0x1a10f23613a193b66a5a998822afe08911c3ba4874b874d2358c431c926b0bdeGet Reward476053792022-09-24 3:05:0672 days 11 hrs ago0xd129b9128457305c35914d9449dca212f68e3ac0 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.00012009408
0x861261f25cfcfe11b3cb09104418d585615b515a8f6311fd06b7b309a6eaada1Withdraw474539842022-09-22 3:24:0374 days 10 hrs ago0xedc4b495f85104fac53be93cfc34bad7d84664a9 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.000282311108
0x33c15d0b974dcf08affe1fb074674403ca4384f084dea3158408306611e28f15Get Reward474539132022-09-22 3:22:5374 days 10 hrs ago0xedc4b495f85104fac53be93cfc34bad7d84664a9 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.000560588375
0x1777641b61ff0db89c6f34537a4d406013ff4b6cc32a04cdd7d3183ed0161e90Withdraw473909742022-09-21 6:32:1475 days 7 hrs ago0xb901ae9bf76c176a026963748c1d6903d40587ac IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.359345795036
0xf1f954ae59704cb745f0ec2e1bd067bc97c18e927f52cb4f3471119a3c346eaeGet Reward473909382022-09-21 6:31:1575 days 7 hrs ago0xb901ae9bf76c176a026963748c1d6903d40587ac IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.314641578542
0xf56184bf1b2c4c8db4204d0f8a9bf24756131b6b3c7d40f92ae104bfe4755f1cWithdraw473456622022-09-20 16:11:4175 days 22 hrs ago0xa6cf05db9e019a33f81f4b359681cfda468ab31f IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.000145785312
0x27871ec05790eac8a0ffc0c1631aa2440684d428b5df180617043ba6deadf046Get Reward473453382022-09-20 16:05:3975 days 22 hrs ago0xa6cf05db9e019a33f81f4b359681cfda468ab31f IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.001485340656
0xd6c648ec3c5be9b8e52cfa11c432a40e4ce66dc14c74270c0cd6d1c0671b5892Withdraw470809692022-09-16 23:22:3179 days 14 hrs ago0xd3b71a36b711df320bda9ef2c816273ca2aebf87 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.000456795701
0x48f27b5f5444c214106a4a84f18fc6c85b094a9248d3f6a71da7af4efda0fe27Withdraw469501512022-09-14 20:42:2481 days 17 hrs ago0x60a2fd0ccb3545808597afc1b56b5acb554d6af7 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.000285037431
0xa72681e055c291f5aee900b0f4c6b69f9af83a8d18e9141b99816e2976a29e1fGet Reward469501292022-09-14 20:41:5081 days 17 hrs ago0x60a2fd0ccb3545808597afc1b56b5acb554d6af7 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.000214562303
0x8750bdaa12722ec8f96683cf44470c584abfdf4bfaf614425c26e6d9bf608e27Withdraw468319602022-09-12 18:26:5083 days 19 hrs ago0x785595c97f86f7b6e2e9a7ad9d15db25fca09000 IN  0xf399d101fb4d3466f70e2ec25467721eaec8b4600 FTM0.00026781255
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x10d977355c283bc9d6532d86352a122502747a5b05ed8052af783f27dbb55c6c255480802021-12-20 21:01:47349 days 17 hrs ago SpiritSwap: Gauge Proxy  Contract Creation0 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Gauge

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at FtmScan.com on 2022-01-15
*/

pragma solidity ^0.6.7;


// 
//^0.7.5;
library SafeMath {
    function add(uint a, uint b) internal pure returns (uint) {
        uint c = a + b;
        require(c >= a, "add: +");

        return c;
    }
    function add(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        uint c = a + b;
        require(c >= a, errorMessage);

        return c;
    }
    function sub(uint a, uint b) internal pure returns (uint) {
        return sub(a, b, "sub: -");
    }
    function sub(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        require(b <= a, errorMessage);
        uint c = a - b;

        return c;
    }
    function mul(uint a, uint b) internal pure returns (uint) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint c = a * b;
        require(c / a == b, "mul: *");

        return c;
    }
    function mul(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        if (a == 0) {
            return 0;
        }

        uint c = a * b;
        require(c / a == b, errorMessage);

        return c;
    }
    function div(uint a, uint b) internal pure returns (uint) {
        return div(a, b, "div: /");
    }
    function div(uint a, uint b, string memory errorMessage) internal pure returns (uint) {
        require(b > 0, errorMessage);
        uint c = a / b;

        return c;
    }
}

library Address {
    function isContract(address account) internal view returns (bool) {
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly { codehash := extcodehash(account) }
        return (codehash != 0x0 && codehash != accountHash);
    }
    function toPayable(address account) internal pure returns (address payable) {
        return address(uint160(account));
    }
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-call-value
        (bool success, ) = recipient.call{value:amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}

library SafeERC20 {
    using SafeMath for uint256;
    using Address for address;

    function safeTransfer(IERC20 token, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
    }

    function safeTransferFrom(IERC20 token, address from, address to, uint256 value) internal {
        callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
    }

    function safeApprove(IERC20 token, address spender, uint256 value) internal {
        require((value == 0) || (token.allowance(address(this), spender) == 0),
            "SafeERC20: approve from non-zero to non-zero allowance"
        );
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
    }

    function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).add(value);
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }

    function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
        uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
        callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
    }
    function callOptionalReturn(IERC20 token, bytes memory data) private {
        require(address(token).isContract(), "SafeERC20: call to non-contract");

        // solhint-disable-next-line avoid-low-level-calls
        (bool success, bytes memory returndata) = address(token).call(data);
        require(success, "SafeERC20: low-level call failed");

        if (returndata.length > 0) { // Return data is optional
            // solhint-disable-next-line max-line-length
            require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed");
        }
    }
}

library Math {
    /**
     * @dev Returns the largest of two numbers.
     */
    function max(uint256 a, uint256 b) internal pure returns (uint256) {
        return a >= b ? a : b;
    }

    /**
     * @dev Returns the smallest of two numbers.
     */
    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }

    /**
     * @dev Returns the average of two numbers. The result is rounded towards
     * zero.
     */
    function average(uint256 a, uint256 b) internal pure returns (uint256) {
        // (a + b) / 2 can overflow, so we distribute
        return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2);
    }
}

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor () public {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and make it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;

        _;

        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

interface IGaugeProxy {
    function getTreasury() external view returns (address);
    function getDepositFeeRate() external view returns (uint256);
}

contract Gauge is ReentrancyGuard {
    using SafeMath for uint256;
    using SafeERC20 for IERC20;

    IERC20 public SPIRIT;
    IERC20 public inSPIRIT;

    IERC20 public immutable TOKEN;
    address public immutable DISTRIBUTION;
    uint256 public constant DURATION = 7 days;

    uint256 public periodFinish = 0;
    uint256 public rewardRate = 0;
    uint256 public lastUpdateTime;
    uint256 public rewardPerTokenStored;

    modifier onlyDistribution() {
        require(msg.sender == DISTRIBUTION, "Caller is not RewardsDistribution contract");
        _;
    }

    mapping(address => uint256) public userRewardPerTokenPaid;
    mapping(address => uint256) public rewards;

    uint256 private _totalSupply;
    uint public derivedSupply;
    mapping(address => uint256) private _balances;
    mapping(address => uint256) public derivedBalances;
    mapping(address => uint) private _base;

    constructor(address _spirit, address _inSpirit, address _token) public {
        SPIRIT = IERC20(_spirit);
        inSPIRIT = IERC20(_inSpirit);
        TOKEN = IERC20(_token);
        DISTRIBUTION = msg.sender;
    }

    function totalSupply() external view returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) external view returns (uint256) {
        return _balances[account];
    }

    function lastTimeRewardApplicable() public view returns (uint256) {
        return Math.min(block.timestamp, periodFinish);
    }

    function rewardPerToken() public view returns (uint256) {
        if (derivedSupply == 0) {
            return 0;
        }

        if (_totalSupply == 0) {
            return rewardPerTokenStored;
        }
        return
            rewardPerTokenStored.add(
                lastTimeRewardApplicable().sub(lastUpdateTime).mul(rewardRate).mul(1e18).div(derivedSupply)
            );
    }

    function derivedBalance(address account) public view returns (uint) {
        if(inSPIRIT.totalSupply() == 0) return 0;
        uint _balance = _balances[account];
        uint _derived = _balance.mul(40).div(100);
        uint _adjusted = (_totalSupply.mul(inSPIRIT.balanceOf(account)).div(inSPIRIT.totalSupply())).mul(60).div(100);
        return Math.min(_derived.add(_adjusted), _balance);
    }

    function kick(address account) public {
        uint _derivedBalance = derivedBalances[account];
        derivedSupply = derivedSupply.sub(_derivedBalance);
        _derivedBalance = derivedBalance(account);
        derivedBalances[account] = _derivedBalance;
        derivedSupply = derivedSupply.add(_derivedBalance);
    }

    function earned(address account) public view returns (uint256) {
        return derivedBalances[account].mul(rewardPerToken().sub(userRewardPerTokenPaid[account])).div(1e18).add(rewards[account]);
    }

    function getRewardForDuration() external view returns (uint256) {
        return rewardRate.mul(DURATION);
    }

    function depositAll() external {
        _deposit(TOKEN.balanceOf(msg.sender), msg.sender);
    }

    function deposit(uint256 amount) external {
        _deposit(amount, msg.sender);
    }

    function depositFor(uint256 amount, address account) external {
        _deposit(amount, account);
    }

    function _deposit(uint amount, address account) internal nonReentrant updateReward(account) {
        IGaugeProxy guageProxy = IGaugeProxy(DISTRIBUTION);
        address treasury = guageProxy.getTreasury();
        uint256 depositFeeRate = guageProxy.getDepositFeeRate();

        require(treasury != address(0x0), "deposit(Gauge): treasury haven't been set");
        require(amount > 0, "deposit(Gauge): cannot stake 0");

        uint256 feeAmount = amount.mul(depositFeeRate).div(10000);
        uint256 userAmount = amount.sub(feeAmount);

        _balances[account] = _balances[account].add(userAmount);
        _totalSupply = _totalSupply.add(userAmount);

        TOKEN.safeTransferFrom(account, address(this), amount);
        TOKEN.safeTransfer(treasury, feeAmount);

        emit Staked(account, userAmount);
    }

    function withdrawAll() external {
        _withdraw(_balances[msg.sender]);
    }

    function withdraw(uint256 amount) external {
        _withdraw(amount);
    }

    function _withdraw(uint amount) internal nonReentrant updateReward(msg.sender) {
        require(amount > 0, "Cannot withdraw 0");
        _totalSupply = _totalSupply.sub(amount);
        _balances[msg.sender] = _balances[msg.sender].sub(amount);
        TOKEN.safeTransfer(msg.sender, amount);
        emit Withdrawn(msg.sender, amount);
    }

    function getReward() public nonReentrant updateReward(msg.sender) {
        uint256 reward = rewards[msg.sender];
        if (reward > 0) {
            rewards[msg.sender] = 0;
            SPIRIT.safeTransfer(msg.sender, reward);
            emit RewardPaid(msg.sender, reward);
        }
    }

    function exit() external {
       _withdraw(_balances[msg.sender]);
        getReward();
    }

    function notifyRewardAmount(uint256 reward) external onlyDistribution updateReward(address(0)) {
        SPIRIT.safeTransferFrom(DISTRIBUTION, address(this), reward);
        if (block.timestamp >= periodFinish) {
            rewardRate = reward.div(DURATION);
        } else {
            uint256 remaining = periodFinish.sub(block.timestamp);
            uint256 leftover = remaining.mul(rewardRate);
            rewardRate = reward.add(leftover).div(DURATION);
        }

        // Ensure the provided reward amount is not more than the balance in the contract.
        // This keeps the reward rate in the right range, preventing overflows due to
        // very high values of rewardRate in the earned and rewardsPerToken functions;
        // Reward + leftover must be less than 2^256 / 10^18 to avoid overflow.
        uint balance = SPIRIT.balanceOf(address(this));
        require(rewardRate <= balance.div(DURATION), "Provided reward too high");

        lastUpdateTime = block.timestamp;
        periodFinish = block.timestamp.add(DURATION);
        emit RewardAdded(reward);
    }

    modifier updateReward(address account) {
        rewardPerTokenStored = rewardPerToken();
        lastUpdateTime = lastTimeRewardApplicable();
        if (account != address(0)) {
            rewards[account] = earned(account);
            userRewardPerTokenPaid[account] = rewardPerTokenStored;
        }
        _;
        if (account != address(0)) {
            kick(account);
        }
    }

    event RewardAdded(uint256 reward);
    event Staked(address indexed user, uint256 amount);
    event Withdrawn(address indexed user, uint256 amount);
    event RewardPaid(address indexed user, uint256 reward);
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_spirit","type":"address"},{"internalType":"address","name":"_inSpirit","type":"address"},{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"reward","type":"uint256"}],"name":"RewardPaid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Staked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[],"name":"DISTRIBUTION","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DURATION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SPIRIT","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TOKEN","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"depositAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"depositFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"derivedBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"derivedBalances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"derivedSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"earned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getRewardForDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inSPIRIT","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"kick","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastTimeRewardApplicable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastUpdateTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"reward","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"periodFinish","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPerToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPerTokenStored","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userRewardPerTokenPaid","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawAll","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60c06040526000600355600060045534801561001a57600080fd5b506040516129f43803806129f48339818101604052606081101561003d57600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050600160008190555082600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b815250503373ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b8152505050505060805160601c60a05160601c61284b6101a9600039806108a55280610a3152806110605280611db152508061109752806115cf5280611b6c52806120d2528061211e525061284b6000f3fe608060405234801561001057600080fd5b50600436106101ce5760003560e01c806382bfefc811610104578063cd3daf9d116100a2578063df136d6511610071578063df136d65146106a9578063e9fad8ee146106c7578063ebe2b12b146106d1578063f05cc5b6146106ef576101ce565b8063cd3daf9d1461060b578063d35e254414610629578063d7da4bb014610681578063de5f62681461069f576101ce565b806396c55175116100de57806396c5517514610547578063a7fa806b1461058b578063b6b55f25146105bf578063c8f33c91146105ed576101ce565b806382bfefc8146104b1578063853828b6146104e55780638b876347146104ef576101ce565b80633c6b16ab1161017157806370a082311161014b57806370a08231146103e95780637b0a47ee146104415780637c91e4eb1461045f57806380faa57d14610493576101ce565b80633c6b16ab146103595780633d18b9121461038757806363fb415b14610391576101ce565b80631be05289116101ad5780631be05289146102a15780631c1f78eb146102bf5780632e1a7d4d146102dd57806336efd16f1461030b576101ce565b80628cc262146101d35780630700037d1461022b57806318160ddd14610283575b600080fd5b610215600480360360208110156101e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610723565b6040518082815260200191505060405180910390f35b61026d6004803603602081101561024157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610841565b6040518082815260200191505060405180910390f35b61028b610859565b6040518082815260200191505060405180910390f35b6102a9610863565b6040518082815260200191505060405180910390f35b6102c761086a565b6040518082815260200191505060405180910390f35b610309600480360360208110156102f357600080fd5b8101908080359060200190929190505050610889565b005b6103576004803603604081101561032157600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610895565b005b6103856004803603602081101561036f57600080fd5b81019080803590602001909291905050506108a3565b005b61038f610d1a565b005b6103d3600480360360208110156103a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ff7565b6040518082815260200191505060405180910390f35b61042b600480360360208110156103ff57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061100f565b6040518082815260200191505060405180910390f35b610449611058565b6040518082815260200191505060405180910390f35b61046761105e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61049b611082565b6040518082815260200191505060405180910390f35b6104b9611095565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ed6110b9565b005b6105316004803603602081101561050557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611103565b6040518082815260200191505060405180910390f35b6105896004803603602081101561055d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061111b565b005b6105936111e8565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105eb600480360360208110156105d557600080fd5b810190808035906020019092919050505061120e565b005b6105f561121b565b6040518082815260200191505060405180910390f35b610613611221565b6040518082815260200191505060405180910390f35b61066b6004803603602081101561063f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112c3565b6040518082815260200191505060405180910390f35b6106896115c4565b6040518082815260200191505060405180910390f35b6106a76115ca565b005b6106b1611697565b6040518082815260200191505060405180910390f35b6106cf61169d565b005b6106d96116ef565b6040518082815260200191505060405180910390f35b6106f76116f5565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061083a600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461082c670de0b6b3a764000061081e6107d0600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546107c2611221565b61171b90919063ffffffff16565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461176590919063ffffffff16565b61180890919063ffffffff16565b61185290919063ffffffff16565b9050919050565b60086020528060005260406000206000915090505481565b6000600954905090565b62093a8081565b600061088462093a8060045461176590919063ffffffff16565b905090565b610892816118da565b50565b61089f8282611c48565b5050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610947576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806127c2602a913960400191505060405180910390fd5b6000610951611221565b60068190555061095f611082565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a2c576109a281610723565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600654600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610a9b7f00000000000000000000000000000000000000000000000000000000000000003084600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16612200909392919063ffffffff16565b6003544210610ac557610aba62093a808361180890919063ffffffff16565b600481905550610b28565b6000610adc4260035461171b90919063ffffffff16565b90506000610af56004548361176590919063ffffffff16565b9050610b1f62093a80610b11838761185290919063ffffffff16565b61180890919063ffffffff16565b60048190555050505b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610bb357600080fd5b505afa158015610bc7573d6000803e3d6000fd5b505050506040513d6020811015610bdd57600080fd5b81019080805190602001909291905050509050610c0662093a808261180890919063ffffffff16565b6004541115610c7d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f50726f76696465642072657761726420746f6f2068696768000000000000000081525060200191505060405180910390fd5b42600581905550610c9a62093a804261185290919063ffffffff16565b6003819055507fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d836040518082815260200191505060405180910390a150600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d1657610d158161111b565b5b5050565b60026000541415610d93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b600260008190555033610da4611221565b600681905550610db2611082565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610e7f57610df581610723565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600654600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115610fad576000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f5e3382600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166122c19092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486826040518082815260200191505060405180910390a25b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fec57610feb8161111b565b5b506001600081905550565b600c6020528060005260406000206000915090505481565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60045481565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061109042600354612363565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b611101600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118da565b565b60076020528060005260406000206000915090505481565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061117481600a5461171b90919063ffffffff16565b600a81905550611183826112c3565b905080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506111de81600a5461185290919063ffffffff16565b600a819055505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112188133611c48565b50565b60055481565b600080600a54141561123657600090506112c0565b6000600954141561124b5760065490506112c0565b6112bd6112ac600a5461129e670de0b6b3a7640000611290600454611282600554611274611082565b61171b90919063ffffffff16565b61176590919063ffffffff16565b61176590919063ffffffff16565b61180890919063ffffffff16565b60065461185290919063ffffffff16565b90505b90565b600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561132e57600080fd5b505afa158015611342573d6000803e3d6000fd5b505050506040513d602081101561135857600080fd5b8101908080519060200190929190505050141561137857600090506115bf565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006113e560646113d760288561176590919063ffffffff16565b61180890919063ffffffff16565b9050600061159b606461158d603c61157f600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561145e57600080fd5b505afa158015611472573d6000803e3d6000fd5b505050506040513d602081101561148857600080fd5b8101908080519060200190929190505050611571600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a082318d6040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561152557600080fd5b505afa158015611539573d6000803e3d6000fd5b505050506040513d602081101561154f57600080fd5b810190808051906020019092919050505060095461176590919063ffffffff16565b61180890919063ffffffff16565b61176590919063ffffffff16565b61180890919063ffffffff16565b90506115b96115b3828461185290919063ffffffff16565b84612363565b93505050505b919050565b600a5481565b6116957f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561165457600080fd5b505afa158015611668573d6000803e3d6000fd5b505050506040513d602081101561167e57600080fd5b810190808051906020019092919050505033611c48565b565b60065481565b6116e5600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118da565b6116ed610d1a565b565b60035481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061175d83836040518060400160405280600681526020017f7375623a202d000000000000000000000000000000000000000000000000000081525061237c565b905092915050565b6000808314156117785760009050611802565b600082840290508284828161178957fe5b04146117fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f6d756c3a202a000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b809150505b92915050565b600061184a83836040518060400160405280600681526020017f6469763a202f000000000000000000000000000000000000000000000000000081525061243c565b905092915050565b6000808284019050838110156118d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260068152602001807f6164643a202b000000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b8091505092915050565b60026000541415611953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b600260008190555033611964611221565b600681905550611972611082565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611a3f576119b581610723565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600654600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60008211611ab5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f43616e6e6f74207769746864726177203000000000000000000000000000000081525060200191505060405180910390fd5b611aca8260095461171b90919063ffffffff16565b600981905550611b2282600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461171b90919063ffffffff16565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bb033837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166122c19092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5836040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611c3c57611c3b8161111b565b5b50600160008190555050565b60026000541415611cc1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0081525060200191505060405180910390fd5b600260008190555080611cd2611221565b600681905550611ce0611082565b600581905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611dad57611d2381610723565b600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600654600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60007f0000000000000000000000000000000000000000000000000000000000000000905060008173ffffffffffffffffffffffffffffffffffffffff16633b19e84a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e1a57600080fd5b505afa158015611e2e573d6000803e3d6000fd5b505050506040513d6020811015611e4457600080fd5b8101908080519060200190929190505050905060008273ffffffffffffffffffffffffffffffffffffffff1663d7459b996040518163ffffffff1660e01b815260040160206040518083038186803b158015611e9f57600080fd5b505afa158015611eb3573d6000803e3d6000fd5b505050506040513d6020811015611ec957600080fd5b81019080805190602001909291905050509050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f62576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806127996029913960400191505060405180910390fd5b60008611611fd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f6465706f736974284761756765293a2063616e6e6f74207374616b652030000081525060200191505060405180910390fd5b6000612001612710611ff3848a61176590919063ffffffff16565b61180890919063ffffffff16565b90506000612018828961171b90919063ffffffff16565b905061206c81600b60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461185290919063ffffffff16565b600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120c48160095461185290919063ffffffff16565b60098190555061211787308a7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16612200909392919063ffffffff16565b61216284837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166122c19092919063ffffffff16565b8673ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d826040518082815260200191505060405180910390a25050505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146121f3576121f28161111b565b5b5060016000819055505050565b6122bb846323b872dd60e01b858585604051602401808473ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612502565b50505050565b61235e8363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612502565b505050565b60008183106123725781612374565b825b905092915050565b6000838311158290612429576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123ee5780820151818401526020810190506123d3565b50505050905090810190601f16801561241b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600080831182906124e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156124ad578082015181840152602081019050612492565b50505050905090810190601f1680156124da5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816124f457fe5b049050809150509392505050565b6125218273ffffffffffffffffffffffffffffffffffffffff1661274d565b612593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e74726163740081525060200191505060405180910390fd5b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b602083106125e257805182526020820191506020810190506020830392506125bf565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612644576040519150601f19603f3d011682016040523d82523d6000602084013e612649565b606091505b5091509150816126c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656481525060200191505060405180910390fd5b600081511115612747578080602001905160208110156126e057600080fd5b8101908080519060200190929190505050612746576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806127ec602a913960400191505060405180910390fd5b5b50505050565b60008060007fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47060001b9050833f91506000801b821415801561278f5750808214155b9250505091905056fe6465706f736974284761756765293a20747265617375727920686176656e2774206265656e2073657443616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212207ef151f0814dc644efac582786d2d40d93a0ff777ee6c5447f8eac660e9decb364736f6c634300060c00330000000000000000000000005cc61a78f164885776aa610fb0fe1257df78e59b0000000000000000000000002fbff41a9efaeae77538bd63f1ea489494acdc08000000000000000000000000782b3e90d85b72fdd3a15de534fd0dc9d5ae46e7

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

0000000000000000000000005cc61a78f164885776aa610fb0fe1257df78e59b0000000000000000000000002fbff41a9efaeae77538bd63f1ea489494acdc08000000000000000000000000782b3e90d85b72fdd3a15de534fd0dc9d5ae46e7

-----Decoded View---------------
Arg [0] : _spirit (address): 0x5cc61a78f164885776aa610fb0fe1257df78e59b
Arg [1] : _inSpirit (address): 0x2fbff41a9efaeae77538bd63f1ea489494acdc08
Arg [2] : _token (address): 0x782b3e90d85b72fdd3a15de534fd0dc9d5ae46e7

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000005cc61a78f164885776aa610fb0fe1257df78e59b
Arg [1] : 0000000000000000000000002fbff41a9efaeae77538bd63f1ea489494acdc08
Arg [2] : 000000000000000000000000782b3e90d85b72fdd3a15de534fd0dc9d5ae46e7


Deployed ByteCode Sourcemap

8649:6893:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11338:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9312:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9816:93;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8896:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11550:114;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12932:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11876:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13791:1113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13377:301;;;:::i;:::-;;9482:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9917:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8984:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8852:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10037:131;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8816:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12841:83;;;:::i;:::-;;9248:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10999:331;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8758:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11779:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9020:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10176:402;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10586:405;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9398:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11672:99;;;:::i;:::-;;9056:35;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13686:97;;;:::i;:::-;;8946:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8785:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11338:204;11392:7;11419:115;11517:7;:16;11525:7;11517:16;;;;;;;;;;;;;;;;11419:93;11507:4;11419:83;11448:53;11469:22;:31;11492:7;11469:31;;;;;;;;;;;;;;;;11448:16;:14;:16::i;:::-;:20;;:53;;;;:::i;:::-;11419:15;:24;11435:7;11419:24;;;;;;;;;;;;;;;;:28;;:83;;;;:::i;:::-;:87;;:93;;;;:::i;:::-;:97;;:115;;;;:::i;:::-;11412:122;;11338:204;;;:::o;9312:42::-;;;;;;;;;;;;;;;;;:::o;9816:93::-;9862:7;9889:12;;9882:19;;9816:93;:::o;8896:41::-;8931:6;8896:41;:::o;11550:114::-;11605:7;11632:24;8931:6;11632:10;;:14;;:24;;;;:::i;:::-;11625:31;;11550:114;:::o;12932:79::-;12986:17;12996:6;12986:9;:17::i;:::-;12932:79;:::o;11876:106::-;11949:25;11958:6;11966:7;11949:8;:25::i;:::-;11876:106;;:::o;13791:1113::-;9161:12;9147:26;;:10;:26;;;9139:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13882:1:::1;14985:16;:14;:16::i;:::-;14962:20;:39;;;;15029:26;:24;:26::i;:::-;15012:14;:43;;;;15089:1;15070:21;;:7;:21;;;15066:157;;15127:15;15134:7;15127:6;:15::i;:::-;15108:7;:16;15116:7;15108:16;;;;;;;;;;;;;;;:34;;;;15191:20;;15157:22;:31;15180:7;15157:31;;;;;;;;;;;;;;;:54;;;;15066:157;13897:60:::2;13921:12;13943:4;13950:6;13897;;;;;;;;;;;:23;;;;:60;;;;;;:::i;:::-;13991:12;;13972:15;:31;13968:304;;14033:20;8931:6;14033;:10;;:20;;;;:::i;:::-;14020:10;:33;;;;13968:304;;;14086:17;14106:33;14123:15;14106:12;;:16;;:33;;;;:::i;:::-;14086:53;;14154:16;14173:25;14187:10;;14173:9;:13;;:25;;;;:::i;:::-;14154:44;;14226:34;8931:6;14226:20;14237:8;14226:6;:10;;:20;;;;:::i;:::-;:24;;:34;;;;:::i;:::-;14213:10;:47;;;;13968:304;;;14632:12;14647:6;;;;;;;;;;;:16;;;14672:4;14647:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;14632:46;;14711:21;8931:6;14711:7;:11;;:21;;;;:::i;:::-;14697:10;;:35;;14689:72;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;14791:15;14774:14;:32;;;;14832:29;8931:6;14832:15;:19;;:29;;;;:::i;:::-;14817:12;:44;;;;14877:19;14889:6;14877:19;;;;;;;;;;;;;;;;;;15233:1;15268::::1;15249:21;;:7;:21;;;15245:67;;15287:13;15292:7;15287:4;:13::i;:::-;15245:67;9231:1;13791:1113:::0;:::o;13377:301::-;7538:1;8142:7;;:19;;8134:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7538:1;8275:7;:18;;;;13431:10:::1;14985:16;:14;:16::i;:::-;14962:20;:39;;;;15029:26;:24;:26::i;:::-;15012:14;:43;;;;15089:1;15070:21;;:7;:21;;;15066:157;;15127:15;15134:7;15127:6;:15::i;:::-;15108:7;:16;15116:7;15108:16;;;;;;;;;;;;;;;:34;;;;15191:20;;15157:22;:31;15180:7;15157:31;;;;;;;;;;;;;;;:54;;;;15066:157;13454:14:::2;13471:7;:19;13479:10;13471:19;;;;;;;;;;;;;;;;13454:36;;13514:1;13505:6;:10;13501:170;;;13554:1;13532:7;:19;13540:10;13532:19;;;;;;;;;;;;;;;:23;;;;13570:39;13590:10;13602:6;13570;;;;;;;;;;;:19;;;;:39;;;;;:::i;:::-;13640:10;13629:30;;;13652:6;13629:30;;;;;;;;;;;;;;;;;;13501:170;15233:1;15268::::1;15249:21;;:7;:21;;;15245:67;;15287:13;15292:7;15287:4;:13::i;:::-;15245:67;8306:1;7494::::0;8454:7;:22;;;;13377:301::o;9482:50::-;;;;;;;;;;;;;;;;;:::o;9917:112::-;9976:7;10003:9;:18;10013:7;10003:18;;;;;;;;;;;;;;;;9996:25;;9917:112;;;:::o;8984:29::-;;;;:::o;8852:37::-;;;:::o;10037:131::-;10094:7;10121:39;10130:15;10147:12;;10121:8;:39::i;:::-;10114:46;;10037:131;:::o;8816:29::-;;;:::o;12841:83::-;12884:32;12894:9;:21;12904:10;12894:21;;;;;;;;;;;;;;;;12884:9;:32::i;:::-;12841:83::o;9248:57::-;;;;;;;;;;;;;;;;;:::o;10999:331::-;11048:20;11071:15;:24;11087:7;11071:24;;;;;;;;;;;;;;;;11048:47;;11122:34;11140:15;11122:13;;:17;;:34;;;;:::i;:::-;11106:13;:50;;;;11185:23;11200:7;11185:14;:23::i;:::-;11167:41;;11246:15;11219;:24;11235:7;11219:24;;;;;;;;;;;;;;;:42;;;;11288:34;11306:15;11288:13;;:17;;:34;;;;:::i;:::-;11272:13;:50;;;;10999:331;;:::o;8758:20::-;;;;;;;;;;;;;:::o;11779:89::-;11832:28;11841:6;11849:10;11832:8;:28::i;:::-;11779:89;:::o;9020:29::-;;;;:::o;10176:402::-;10223:7;10264:1;10247:13;;:18;10243:59;;;10289:1;10282:8;;;;10243:59;10334:1;10318:12;;:17;10314:77;;;10359:20;;10352:27;;;;10314:77;10421:149;10464:91;10541:13;;10464:72;10531:4;10464:62;10515:10;;10464:46;10495:14;;10464:26;:24;:26::i;:::-;:30;;:46;;;;:::i;:::-;:50;;:62;;;;:::i;:::-;:66;;:72;;;;:::i;:::-;:76;;:91;;;;:::i;:::-;10421:20;;:24;;:149;;;;:::i;:::-;10401:169;;10176:402;;:::o;10586:405::-;10648:4;10694:1;10668:8;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:27;10665:40;;;10704:1;10697:8;;;;10665:40;10716:13;10732:9;:18;10742:7;10732:18;;;;;;;;;;;;;;;;10716:34;;10761:13;10777:25;10798:3;10777:16;10790:2;10777:8;:12;;:16;;;;:::i;:::-;:20;;:25;;;;:::i;:::-;10761:41;;10813:14;10830:92;10918:3;10830:83;10910:2;10831:73;10881:8;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10831:45;10848:8;;;;;;;;;;;:18;;;10867:7;10848:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10831:12;;:16;;:45;;;;:::i;:::-;:49;;:73;;;;:::i;:::-;10830:79;;:83;;;;:::i;:::-;:87;;:92;;;;:::i;:::-;10813:109;;10940:43;10949:23;10962:9;10949:8;:12;;:23;;;;:::i;:::-;10974:8;10940;:43::i;:::-;10933:50;;;;;10586:405;;;;:::o;9398:25::-;;;;:::o;11672:99::-;11714:49;11723:5;:15;;;11739:10;11723:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11752:10;11714:8;:49::i;:::-;11672:99::o;9056:35::-;;;;:::o;13686:97::-;13721:32;13731:9;:21;13741:10;13731:21;;;;;;;;;;;;;;;;13721:9;:32::i;:::-;13764:11;:9;:11::i;:::-;13686:97::o;8946:31::-;;;;:::o;8785:22::-;;;;;;;;;;;;;:::o;409:103::-;461:4;485:19;489:1;492;485:19;;;;;;;;;;;;;;;;;:3;:19::i;:::-;478:26;;409:103;;;;:::o;704:432::-;756:4;1003:1;998;:6;994:47;;;1028:1;1021:8;;;;994:47;1053:6;1066:1;1062;:5;1053:14;;1095:1;1090;1086;:5;;;;;;:10;1078:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1127:1;1120:8;;;704:432;;;;;:::o;1391:103::-;1443:4;1467:19;1471:1;1474;1467:19;;;;;;;;;;;;;;;;;:3;:19::i;:::-;1460:26;;1391:103;;;;:::o;69:148::-;121:4;138:6;151:1;147;:5;138:14;;176:1;171;:6;;163:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;208:1;201:8;;;69:148;;;;:::o;13019:350::-;7538:1;8142:7;;:19;;8134:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7538:1;8275:7;:18;;;;13086:10:::1;14985:16;:14;:16::i;:::-;14962:20;:39;;;;15029:26;:24;:26::i;:::-;15012:14;:43;;;;15089:1;15070:21;;:7;:21;;;15066:157;;15127:15;15134:7;15127:6;:15::i;:::-;15108:7;:16;15116:7;15108:16;;;;;;;;;;;;;;;:34;;;;15191:20;;15157:22;:31;15180:7;15157:31;;;;;;;;;;;;;;;:54;;;;15066:157;13126:1:::2;13117:6;:10;13109:40;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;13175:24;13192:6;13175:12;;:16;;:24;;;;:::i;:::-;13160:12;:39;;;;13234:33;13260:6;13234:9;:21;13244:10;13234:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;13210:9;:21;13220:10;13210:21;;;;;;;;;;;;;;;:57;;;;13278:38;13297:10;13309:6;13278:5;:18;;;;:38;;;;;:::i;:::-;13342:10;13332:29;;;13354:6;13332:29;;;;;;;;;;;;;;;;;;15268:1:::1;15249:21;;:7;:21;;;15245:67;;15287:13;15292:7;15287:4;:13::i;:::-;15245:67;8306:1;7494::::0;8454:7;:22;;;;13019:350;:::o;11990:843::-;7538:1;8142:7;;:19;;8134:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7538:1;8275:7;:18;;;;12073:7:::1;14985:16;:14;:16::i;:::-;14962:20;:39;;;;15029:26;:24;:26::i;:::-;15012:14;:43;;;;15089:1;15070:21;;:7;:21;;;15066:157;;15127:15;15134:7;15127:6;:15::i;:::-;15108:7;:16;15116:7;15108:16;;;;;;;;;;;;;;;:34;;;;15191:20;;15157:22;:31;15180:7;15157:31;;;;;;;;;;;;;;;:54;;;;15066:157;12093:22:::2;12130:12;12093:50;;12154:16;12173:10;:22;;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;12154:43;;12208:22;12233:10;:28;;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;12208:55;;12304:3;12284:24;;:8;:24;;;;12276:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12382:1;12373:6;:10;12365:53;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;12431:17;12451:37;12482:5;12451:26;12462:14;12451:6;:10;;:26;;;;:::i;:::-;:30;;:37;;;;:::i;:::-;12431:57;;12499:18;12520:21;12531:9;12520:6;:10;;:21;;;;:::i;:::-;12499:42;;12575:34;12598:10;12575:9;:18;12585:7;12575:18;;;;;;;;;;;;;;;;:22;;:34;;;;:::i;:::-;12554:9;:18;12564:7;12554:18;;;;;;;;;;;;;;;:55;;;;12635:28;12652:10;12635:12;;:16;;:28;;;;:::i;:::-;12620:12;:43;;;;12676:54;12699:7;12716:4;12723:6;12676:5;:22;;;;:54;;;;;;:::i;:::-;12741:39;12760:8;12770:9;12741:5;:18;;;;:39;;;;;:::i;:::-;12805:7;12798:27;;;12814:10;12798:27;;;;;;;;;;;;;;;;;;15233:1;;;;;15268::::1;15249:21;;:7;:21;;;15245:67;;15287:13;15292:7;15287:4;:13::i;:::-;15245:67;8306:1;7494::::0;8454:7;:22;;;;11990:843;;:::o;3391:204::-;3492:95;3511:5;3541:27;;;3570:4;3576:2;3580:5;3518:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3492:18;:95::i;:::-;3391:204;;;;:::o;3207:176::-;3290:85;3309:5;3339:23;;;3364:2;3368:5;3316:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3290:18;:85::i;:::-;3207:176;;;:::o;5462:106::-;5520:7;5551:1;5547;:5;:13;;5559:1;5547:13;;;5555:1;5547:13;5540:20;;5462:106;;;;:::o;518:180::-;598:4;628:1;623;:6;;631:12;615:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;655:6;668:1;664;:5;655:14;;689:1;682:8;;;518:180;;;;;:::o;1500:179::-;1580:4;1609:1;1605;:5;1612:12;1597:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1636:6;1649:1;1645;:5;;;;;;1636:14;;1670:1;1663:8;;;1500:179;;;;;:::o;4587:598::-;4675:27;4683:5;4675:25;;;:27::i;:::-;4667:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4812:12;4826:23;4861:5;4853:19;;4873:4;4853:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4811:67;;;;4897:7;4889:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4978:1;4958:10;:17;:21;4954:224;;;5100:10;5089:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5081:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4954:224;4587:598;;;;:::o;1709:374::-;1769:4;1786:16;1813:19;1835:66;1813:88;;;;2004:7;1992:20;1980:32;;2044:3;2032:15;;:8;:15;;:42;;;;;2063:11;2051:8;:23;;2032:42;2024:51;;;;1709:374;;;:::o

Swarm Source

ipfs://7ef151f0814dc644efac582786d2d40d93a0ff777ee6c5447f8eac660e9decb3
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.