Contract 0x3303a565741d0d41d026c12259ff2d4772d3622e 1

Tarot 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x19e249573067b23ddc39e7366948f7b9de9cf6c49b2c97b219e15afb5daa5bd1Claim544558692023-01-26 7:21:032 days 3 hrs ago0x19dde5f247155293fb8c905d4a400021c12fb6f0 IN  Tarot: LGE Bonus0 FTM0.008539277198
0xf7767fdc6f8d588843fac91e54607554e64d53b7052793bfbef6b1e18980004cClaim543621982023-01-24 19:04:173 days 15 hrs ago0xf0b18fddad37b6a3b6f3c762aca6008e27774e54 IN  Tarot: LGE Bonus0 FTM0.0225384
0xbcc0e176c66a936b968f513e990116a3a313b29efc5f967d57908d85295e3e8bClaim543530182023-01-24 15:33:473 days 19 hrs ago0xeac9360f031c9702a6b6590adbe9e2015b663ec0 IN  Tarot: LGE Bonus0 FTM0.003644954144
0x2c6d48ee58504bb07dcc5b39ab2f8375724b97bcd2ef7209562e827c11336636Claim542296692023-01-22 20:57:355 days 13 hrs ago0xd870e0af031778d00d53943bd55e00eed0d3013e IN  Tarot: LGE Bonus0 FTM0.014488467433
0x3575be1e1b58335f3b7c2fa96ed47482f4341582b8753661f8161c6d2c7ebf9dClaim542048502023-01-22 12:45:415 days 22 hrs ago0x57ed694d912079c27496a5edbd296b1fe21afda7 IN  Tarot: LGE Bonus0 FTM0.003082418246
0xa750ce9140cfc3ce6e55dde2dd318b51aee41a9e091102ce0ae7e64f3d1a323aClaim537637842023-01-14 16:21:3613 days 18 hrs ago0xd06fee44914f8047525cdc726f2b805fb409a3cd IN  Tarot: LGE Bonus0 FTM0.008334760056
0xadfe0869259718ddd2f24093fc47f6704da0c1f21b8b09d1220af8d019f4b0aeClaim536852052023-01-13 9:59:0015 days 58 mins ago0xa9d70bb24772b7eecac54041d2138e0328c15e92 IN  Tarot: LGE Bonus0 FTM0.006077549232
0x64d11440eac5f4330ef8f6c7e6f31da0b6b1aac983ac6399b0debdb295f1f853Claim535625422023-01-11 4:48:1817 days 6 hrs ago0xa91483bca21d07fbb1b3aa45a3b0bdf264c5b497 IN  Tarot: LGE Bonus0 FTM0.003487682786
0xd25fc6c376186c87300a50cc32210c5d719bd02492f289de3a8a5f322c0e4f6eClaim535176722023-01-10 2:48:4018 days 8 hrs ago0xfc8acf3cbbf75fb0e53ccecea657b31723be51fd IN  Tarot: LGE Bonus0 FTM0.004019797002
0x8836e067490cb1f9912ea0bf95ee9b657e8c88183ef362de85e99b8667a0a790Claim535171442023-01-10 2:35:4618 days 8 hrs ago0x6680ee1074094326dd35505f190857e42859d63e IN  Tarot: LGE Bonus0 FTM0.004200837583
0xb45d37c41d95ed58ddcc764f4df233924e84b39ff26a2ed2837b0ee473107a6cClaim534751232023-01-09 8:16:3519 days 2 hrs ago0xd186214e1b12414a2bdd499960a3e39fb8626714 IN  Tarot: LGE Bonus0 FTM0.00326944213
0x53f0521295e7ac9274bbb830c76d7425d3c372f2982400dc3e8075eb0035f970Claim533561322023-01-06 23:30:5421 days 11 hrs ago0x27adfbdb9a913ffdf886b4f76eca80ab8f189bef IN  Tarot: LGE Bonus0 FTM0.003053166631
0x1ef3dd65d41501d977adcbb5057c6f84bd190d574d97455f79768c669bcb373cClaim532628932023-01-05 8:39:3223 days 2 hrs ago0x0ae4cc61196507815eb50e97374539e675200418 IN  Tarot: LGE Bonus0 FTM0.003043860002
0x9835cdc4dd6db949a06e6e4e7918cf1f7eea688209c915788d227b03f223bb6aClaim532456862023-01-05 1:11:0223 days 9 hrs ago0x9df2531ebed8ebd44dd0c9780f90bc2815cea6bb IN  Tarot: LGE Bonus0 FTM0.00318908499
0x5f899734f435752028df60ff94c507a30a160b3d4b1e65e7b35840d5c7bfb968Claim530058052022-12-29 9:31:3230 days 1 hr ago0x19b299a8878df209e274233a709673376cf4052e IN  Tarot: LGE Bonus0 FTM0.003611594192
0x6b3bd920a9fb4fe4e1c360534eaa843bfd86c8caa13378f7563715544b143c6fClaim526158632022-12-21 8:27:2838 days 2 hrs ago0xce66c6a88bd7bec215aa04fda4cf7c81055521d0 IN  Tarot: LGE Bonus0 FTM0.001821629935
0x33c7cba36eb6eb65e287e489ebb27f6a29d5492c69ed696e93108bbaaa4f8733Claim523889082022-12-15 13:49:5043 days 21 hrs ago0xe120be880d79aded4cdbf6f2f9ef880987c82dc8 IN  Tarot: LGE Bonus0 FTM0.002419186
0xe922f892dbafa79ad7790d0b066919dc8159168936db1e79b6089b22a03a0325Claim521702372022-12-11 17:29:2547 days 17 hrs ago0x196a37946c3d93e9a5309f539ae28b774a32411f IN  Tarot: LGE Bonus0 FTM0.001145438544
0x0ca67568b52f3ce6cc058498d0c82eedb6f809679382ea7e58b31be5f4289ce2Claim519728862022-12-07 1:20:5952 days 9 hrs ago0x326e90ebe2957eb593cd4210ab7e314c719acaa2 IN  Tarot: LGE Bonus0 FTM0.0092903
0x0b4eb6b5e88c067bccb3d07417b18139052d607ace62e66bdea1f471f2f2344bClaim519727372022-12-07 1:15:4452 days 9 hrs ago0x326e90ebe2957eb593cd4210ab7e314c719acaa2 IN  Tarot: LGE Bonus0 FTM0.0111818
0x8885aea417da366022dc32c04ed7d3d6eb19f586d3ed02300ccccacbf0afeea9Claim517870552022-12-02 17:59:3456 days 16 hrs ago0x5e1ac38fd8e24aae6968cb066cb73fc9b5167ad0 IN  Tarot: LGE Bonus0 FTM0.00164580778
0xb03bff6fc21cdfec2edaad71c947906209d5b791f3e8ac5c807585d4d468704aClaim515665582022-11-28 20:06:5260 days 14 hrs ago0x1c8915f70850873a03df2d6cdba71b226bcdfeb3 IN  Tarot: LGE Bonus0 FTM0.003131773798
0x1f214b6f0b4fc0429a1fcabbab90d8a87bbe47a2d9cea99c70d1a0d8071eea9cClaim510820622022-11-18 14:06:0970 days 20 hrs ago0xf54eeeb761f18da84a0c8162484ed32b7d490716 IN  Tarot: LGE Bonus0 FTM0.006420302819
0xf65a544cf3cc25aedf50af3cb55cecf6c1ab3bd12a9b32cb583db0856f32bcabClaim510591212022-11-18 3:01:3871 days 7 hrs ago0xfc2409d354aecf18b179153eb76e00efb64c25ad IN  Tarot: LGE Bonus0 FTM0.006461308429
0x3f7727291d1dd312dfc2263231a770a9ddb1b1fe654c4ef8e8ce570cb2004d4cClaim509764722022-11-16 14:33:4972 days 20 hrs ago0xa0faa58e05f32d11637005f342b58f2f3e30ffb8 IN  Tarot: LGE Bonus0 FTM0.005887331123
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xa93ff62be7d574f306acec45855293b9eba47bdd457154db5f1d11a5e0d73c36146727592021-08-15 17:45:39530 days 17 hrs ago Tarot: Deployer  Contract Creation0 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OwnedDistributor

Compiler Version
v0.6.6+commit.6c089d02

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 5 : OwnedDistributor.sol
pragma solidity =0.6.6;

import "./Distributor.sol";

contract OwnedDistributor is Distributor {
    address public admin;

    event SetAdmin(address newAdmin);

    constructor(
        address tarot_,
        address claimable_,
        address admin_
    ) public Distributor(tarot_, claimable_) {
        admin = admin_;
    }

    function editRecipient(address account, uint shares) public virtual {
        require(msg.sender == admin, "OwnedDistributor: UNAUTHORIZED");
        editRecipientInternal(account, shares);
    }

    function setAdmin(address admin_) public virtual {
        require(msg.sender == admin, "OwnedDistributor: UNAUTHORIZED");
        admin = admin_;
        emit SetAdmin(admin_);
    }
}

File 2 of 5 : Distributor.sol
pragma solidity =0.6.6;

import "./libraries/SafeMath.sol";
import "./interfaces/ITarot.sol";
import "./interfaces/IClaimable.sol";

abstract contract Distributor is IClaimable {
    using SafeMath for uint;

    address public immutable tarot;
    address public immutable claimable;

    struct Recipient {
        uint shares;
        uint lastShareIndex;
        uint credit;
    }
    mapping(address => Recipient) public recipients;

    uint public totalShares;
    uint public shareIndex;

    event UpdateShareIndex(uint shareIndex);
    event UpdateCredit(address indexed account, uint lastShareIndex, uint credit);
    event Claim(address indexed account, uint amount);
    event EditRecipient(address indexed account, uint shares, uint totalShares);

    constructor(address tarot_, address claimable_) public {
        tarot = tarot_;
        claimable = claimable_;
    }

    function updateShareIndex() public virtual nonReentrant returns (uint _shareIndex) {
        if (totalShares == 0) return shareIndex;
        uint amount = IClaimable(claimable).claim();
        if (amount == 0) return shareIndex;
        _shareIndex = amount.mul(2**160).div(totalShares).add(shareIndex);
        shareIndex = _shareIndex;
        emit UpdateShareIndex(_shareIndex);
    }

    function updateCredit(address account) public returns (uint credit) {
        uint _shareIndex = updateShareIndex();
        if (_shareIndex == 0) return 0;
        Recipient storage recipient = recipients[account];
        credit = recipient.credit + _shareIndex.sub(recipient.lastShareIndex).mul(recipient.shares) / 2**160;
        recipient.lastShareIndex = _shareIndex;
        recipient.credit = credit;
        emit UpdateCredit(account, _shareIndex, credit);
    }

    function claimInternal(address account) internal virtual returns (uint amount) {
        amount = updateCredit(account);
        if (amount > 0) {
            recipients[account].credit = 0;
            ITarot(tarot).transfer(account, amount);
            emit Claim(account, amount);
        }
    }

    function claim() external virtual override returns (uint amount) {
        return claimInternal(msg.sender);
    }

    function editRecipientInternal(address account, uint shares) internal {
        updateCredit(account);
        Recipient storage recipient = recipients[account];
        uint prevShares = recipient.shares;
        uint _totalShares = shares > prevShares
            ? totalShares.add(shares - prevShares)
            : totalShares.sub(prevShares - shares);
        totalShares = _totalShares;
        recipient.shares = shares;
        emit EditRecipient(account, shares, _totalShares);
    }

    // Prevents a contract from calling itself, directly or indirectly.
    bool internal _notEntered = true;
    modifier nonReentrant() {
        require(_notEntered, "Distributor: REENTERED");
        _notEntered = false;
        _;
        _notEntered = true;
    }
}

File 3 of 5 : SafeMath.sol
pragma solidity =0.6.6;

// From https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/Math.sol
// Subject to the MIT license.

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the addition of two unsigned integers, reverting with custom message on overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, errorMessage);

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on underflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot underflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction underflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on underflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot underflow.
     */
    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // 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;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        // 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;
        }

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

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers.
     * Reverts on division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers.
     * Reverts with custom message on division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        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;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

File 4 of 5 : ITarot.sol
pragma solidity =0.6.6;

//IERC20
interface ITarot {
    function balanceOf(address account) external view returns (uint);

    function transfer(address dst, uint rawAmount) external returns (bool);
}

File 5 of 5 : IClaimable.sol
pragma solidity =0.6.6;

interface IClaimable {
    function claim() external returns (uint amount);

    event Claim(address indexed account, uint amount);
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  },
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"tarot_","type":"address"},{"internalType":"address","name":"claimable_","type":"address"},{"internalType":"address","name":"admin_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claim","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalShares","type":"uint256"}],"name":"EditRecipient","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newAdmin","type":"address"}],"name":"SetAdmin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"lastShareIndex","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"credit","type":"uint256"}],"name":"UpdateCredit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"shareIndex","type":"uint256"}],"name":"UpdateShareIndex","type":"event"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"claimable","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"name":"editRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"recipients","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"uint256","name":"lastShareIndex","type":"uint256"},{"internalType":"uint256","name":"credit","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"admin_","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"shareIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tarot","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"updateCredit","outputs":[{"internalType":"uint256","name":"credit","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updateShareIndex","outputs":[{"internalType":"uint256","name":"_shareIndex","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]

60c06040526003805460ff1916600117905534801561001d57600080fd5b50604051610b07380380610b078339818101604052606081101561004057600080fd5b5080516020820151604090920151606082811b6001600160601b03199081166080529084901b1660a05260038054610100600160a81b0319166101006001600160a01b03938416021790559081169116610a506100b76000398061041552806104a852508061033152806107ab5250610a506000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063704b6c0211610071578063704b6c0214610148578063af38d7571461016e578063b260187d14610176578063c56ad1ad1461017e578063eb82031214610186578063f851a440146101ca576100a9565b80633a98ef39146100ae57806345c08718146100c85780634674a930146100ee5780634e71d92d1461011c5780636d5360c114610124575b600080fd5b6100b66101d2565b60408051918252519081900360200190f35b6100b6600480360360208110156100de57600080fd5b50356001600160a01b03166101d8565b61011a6004803603604081101561010457600080fd5b506001600160a01b0381351690602001356102ad565b005b6100b661031f565b61012c61032f565b604080516001600160a01b039092168252519081900360200190f35b61011a6004803603602081101561015e57600080fd5b50356001600160a01b0316610353565b61012c610413565b6100b6610437565b6100b66105c7565b6101ac6004803603602081101561019c57600080fd5b50356001600160a01b03166105cd565b60408051938452602084019290925282820152519081900360600190f35b61012c6105ee565b60015481565b6000806101e3610437565b9050806101f45760009150506102a8565b6001600160a01b038316600090815260208190526040902080546001820154600160a01b9161023a9161022e90869063ffffffff61060216565b9063ffffffff61064d16565b8161024157fe5b048160020154019250818160010181905550828160020181905550836001600160a01b03167ff7240857a4f83123f14a7bc3f77cd32d0ae71ede635c92ebdcc14d5ea8ed018a8385604051808381526020018281526020019250505060405180910390a250505b919050565b60035461010090046001600160a01b03163314610311576040805162461bcd60e51b815260206004820152601e60248201527f4f776e65644469737472696275746f723a20554e415554484f52495a45440000604482015290519081900360640190fd5b61031b82826106a6565b5050565b600061032a3361075a565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035461010090046001600160a01b031633146103b7576040805162461bcd60e51b815260206004820152601e60248201527f4f776e65644469737472696275746f723a20554e415554484f52495a45440000604482015290519081900360640190fd5b600380546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a19181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035460009060ff1661048a576040805162461bcd60e51b8152602060048201526016602482015275111a5cdd1c9a589d5d1bdc8e8814915153951154915160521b604482015290519081900360640190fd5b6003805460ff191690556001546104a457506002546105b7565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634e71d92d6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561050157600080fd5b505af1158015610515573d6000803e3d6000fd5b505050506040513d602081101561052b57600080fd5b505190508061053e5750506002546105b7565b61057960025461056d600154610561600160a01b8661064d90919063ffffffff16565b9063ffffffff61086116565b9063ffffffff6108a316565b60028190556040805182815290519193507f8cae7c5b456d193882de6985578f406aefb641501192211706c5aa0a32612fec919081900360200190a1505b6003805460ff1916600117905590565b60025481565b60006020819052908152604090208054600182015460029092015490919083565b60035461010090046001600160a01b031681565b600061064483836040518060400160405280601f81526020017f536166654d6174683a207375627472616374696f6e20756e646572666c6f77008152506108fd565b90505b92915050565b60008261065c57506000610647565b8282028284828161066957fe5b04146106445760405162461bcd60e51b81526004018080602001828103825260218152602001806109fa6021913960400191505060405180910390fd5b6106af826101d8565b506001600160a01b0382166000908152602081905260408120805490918184116106ed576001546106e89085840363ffffffff61060216565b610702565b6001546107029083860363ffffffff6108a316565b6001819055848455604080518681526020810183905281519293506001600160a01b038816927fff3664f5f2f8f85ecd8d30ef2aa6773d8a8448219c7421dcbb67957fb3fafba1929181900390910190a25050505050565b6000610765826101d8565b905080156102a8576001600160a01b03808316600081815260208181526040808320600201839055805163a9059cbb60e01b8152600481019490945260248401869052517f00000000000000000000000000000000000000000000000000000000000000009094169363a9059cbb93604480820194918390030190829087803b1580156107f157600080fd5b505af1158015610805573d6000803e3d6000fd5b505050506040513d602081101561081b57600080fd5b50506040805182815290516001600160a01b038416917f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4919081900360200190a2919050565b600061064483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610994565b600082820183811015610644576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000818484111561098c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610951578181015183820152602001610939565b50505050905090810190601f16801561097e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836109e35760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610951578181015183820152602001610939565b5060008385816109ef57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220068a46d9a7d7a89ca6d98d267d3827e93fb126c5e031a8967b7d9adbe06d408864736f6c63430006060033000000000000000000000000c5e2b037d30a390e62180970b3aa4e91868764cd0000000000000000000000006eab113770a6a3a86b2e9a93ad64717d7c5393cb0000000000000000000000005b0390bccca1f040d8993eb6e4ce8ded93721765

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

000000000000000000000000c5e2b037d30a390e62180970b3aa4e91868764cd0000000000000000000000006eab113770a6a3a86b2e9a93ad64717d7c5393cb0000000000000000000000005b0390bccca1f040d8993eb6e4ce8ded93721765

-----Decoded View---------------
Arg [0] : tarot_ (address): 0xc5e2b037d30a390e62180970b3aa4e91868764cd
Arg [1] : claimable_ (address): 0x6eab113770a6a3a86b2e9a93ad64717d7c5393cb
Arg [2] : admin_ (address): 0x5b0390bccca1f040d8993eb6e4ce8ded93721765

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000c5e2b037d30a390e62180970b3aa4e91868764cd
Arg [1] : 0000000000000000000000006eab113770a6a3a86b2e9a93ad64717d7c5393cb
Arg [2] : 0000000000000000000000005b0390bccca1f040d8993eb6e4ce8ded93721765


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.