Contract 0x3303a565741d0d41d026c12259ff2d4772d3622e 1

Tarot 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x1cdfdaa3c19ace71ccee879caab1a989bc5eb628a4fbd3bafac76cda08e95e27Claim390933212022-05-26 10:22:244 hrs 56 mins ago0xe73f51013d52b206df6d3184ccc46ea3d46b059f IN  Tarot: LGE Bonus0 FTM0.013475280902
0x1cacc08c4a8e0e5045392263167ffd1df34bf2c58d5278b202563cf5451be229Claim390913152022-05-26 9:43:035 hrs 35 mins ago0xd8cffd57e8f1c435aa9a1c8fab3978f6ca26cba6 IN  Tarot: LGE Bonus0 FTM0.038365332371
0xfc1682b0ab6120ebb7abc393af039a368b750f5300a98740fa9f92a0969ada90Claim390816502022-05-26 6:25:138 hrs 53 mins ago0x03a2113a0db182611b26cb9cc1e7993245cd6194 IN  Tarot: LGE Bonus0 FTM0.035965149559
0x309b3bfe5b7010591b14678863702fb8d301e2084158b65732f8509fe05d2b69Claim390774072022-05-26 4:49:5510 hrs 28 mins ago0xcd1d40f62f2c413f318b4b96e9588c7ef5cf9331 IN  Tarot: LGE Bonus0 FTM0.00318115481
0x3a18db27ecf26108b2c2268aba872649b3c92e757aedd06e8c34e3e9f11ad996Claim390613692022-05-25 23:47:1915 hrs 31 mins ago0x5920ca4a51d93052f111e90c387f70bcf723ea3f IN  Tarot: LGE Bonus0 FTM0.0108317
0x5fce9f77d56b3a84f0b1363aa0d5ee66db2766aedeafb2ad3a70384fc87e8480Claim390434462022-05-25 18:00:3821 hrs 18 mins ago0xe87a10d5b212d169ccbc9a50cf5e23dd3da27cb6 IN  Tarot: LGE Bonus0 FTM0.00256514213
0x1e661d3dd0392a46be0a8ad01830b379e3213555c37a4bdd4cc972e449c29e29Claim390425532022-05-25 17:44:0421 hrs 34 mins ago0xd186214e1b12414a2bdd499960a3e39fb8626714 IN  Tarot: LGE Bonus0 FTM0.003748010392
0x1743c54c24d005434046b3363227d5a35769b1cad77b0633adb9b36602d9364fClaim390409272022-05-25 17:14:0022 hrs 4 mins ago0x6f8b82d2838790270b45d46657f0d75d6aece59d IN  Tarot: LGE Bonus0 FTM0.005014494445
0x012d647e0f4f214907253e270f149b16e5d071b03bba03d85284186a7fe016e6Claim390310532022-05-25 14:08:351 day 1 hr ago0x41ad88db3627204eae966371fea9ea6a08041633 IN  Tarot: LGE Bonus0 FTM0.007820614664
0x7dffc2f83c79b94c4994b8ca062ac7d846724001d04c04f80dffbd2a2de3a2f7Claim390251812022-05-25 12:13:171 day 3 hrs ago0x9665b6f0cf162792851a902e452248b16f2f4b5a IN  Tarot: LGE Bonus0 FTM0.005002813504
0xc98dae58b35f3008b7bf7c1eb3e4d4b22f7e42d13707f2cf8b95f586c9c76ccdClaim390219482022-05-25 10:58:201 day 4 hrs ago0xee650f5599bd48f27b29b254a4c45322a755c6b4 IN  Tarot: LGE Bonus0 FTM0.003068410218
0xbba01ff5678b3e1197195f5a0d0f6add81ab1f4b17e5720077177770eb8b4e4fClaim390176702022-05-25 9:34:471 day 5 hrs ago0x57ed694d912079c27496a5edbd296b1fe21afda7 IN  Tarot: LGE Bonus0 FTM0.003094655303
0x4f76df21f11ae0c9eadc97f34be4ce8a52b4703741dab87111aabb7e271824b0Claim390031442022-05-25 4:51:421 day 10 hrs ago0xdeba0e5653f6966b5411e57e44109eb5834927da IN  Tarot: LGE Bonus0 FTM0.002681283769
0xa4f25ea91478666da801fbf9444c0a9b9110a34d8c35436da1b6b821b00979feClaim389954942022-05-25 2:28:571 day 12 hrs ago0x326e90ebe2957eb593cd4210ab7e314c719acaa2 IN  Tarot: LGE Bonus0 FTM0.004559847889
0x6ea1072f4b9dc5aa9f1dedf1e3f346f03ed1d9540d938d38d3e42ad2c78d0ce5Claim389924732022-05-25 1:32:231 day 13 hrs ago0x694208f12c6bff64c4aba19a16dd444c4e2b4ada IN  Tarot: LGE Bonus0 FTM0.004262285259
0x6354ea4ccf5537109f5ec41b1fe5a6028a98d29f607dad3637d684a374ade78aClaim389693112022-05-24 18:05:361 day 21 hrs ago0xa3eee02f8a71992546889c7f22d759b2f6e8c2a1 IN  Tarot: LGE Bonus0 FTM0.024101190982
0xf9a28ac70610eb8d0c2d3c6fdfc55221818f2e38808140cc0bf5429f6316140bClaim389668202022-05-24 17:11:191 day 22 hrs ago0x03a2113a0db182611b26cb9cc1e7993245cd6194 IN  Tarot: LGE Bonus0 FTM0.070690606004
0x49e941553828820ec6ef49e45d3339a3459e609438c684f1986e136fe00fa4f9Claim389506642022-05-24 11:51:022 days 3 hrs ago0x4c577eefed29b1002b66188d6895cdc15b94eca5 IN  Tarot: LGE Bonus0 FTM0.013142114453
0xf1102acae65a5da0a72fe015ff088139caec65ee551725de86bbf67d4d82da0dClaim389440632022-05-24 9:42:022 days 5 hrs ago0xc6904755e237739c8ebd376511392659ea3294eb IN  Tarot: LGE Bonus0 FTM0.011981792458
0x8daf7108eed96ab04e462f9e2af78a467097f0a558f1a248b88a81117c10a078Claim389413842022-05-24 8:41:302 days 6 hrs ago0x5cdb526e3024e5d4de0212c8e02d92e504f63c4c IN  Tarot: LGE Bonus0 FTM0.005708036375
0xd72db46c880035b89e7367f19ee166d56969919a279c37eec3c96944aeb850daClaim389406632022-05-24 8:25:412 days 6 hrs ago0xdc84dd573f7eefca64070ea6de63e73654608f23 IN  Tarot: LGE Bonus0 FTM0.004899676314
0xe62bc96f42107abb20fe8390fbc3f5078cf1bb7961feb82b1f256b0b2cc76a76Claim389381262022-05-24 7:37:422 days 7 hrs ago0xce6c0bd926a76d715c829be4965ad064447d754f IN  Tarot: LGE Bonus0 FTM0.01161396784
0x80a61cb3081222411a017a03a6c68b6f0696b0dd0ff9882f1f6ffaf3be28d0b7Claim389288782022-05-24 4:44:212 days 10 hrs ago0x78b05688beb478a03160cd757806d0893407bdc1 IN  Tarot: LGE Bonus0 FTM0.017784192272
0x2935710eb6a15830ddab1fe3a87568dbb004fdf0d6291b647d6660162112aa96Claim389222792022-05-24 2:30:452 days 12 hrs ago0xced3fc4610761f79242d7d8a72fe86f3a1c626b4 IN  Tarot: LGE Bonus0 FTM0.033008850149
0x421d783f541ce4e7cfcc92774cc5ec3feddbb10a15b7f24a80f823c912e6d82cClaim389199152022-05-24 1:44:262 days 13 hrs ago0x7d374fe73fd8358a93c53e978477f7ba4129be0c IN  Tarot: LGE Bonus0 FTM0.017163126712
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xa93ff62be7d574f306acec45855293b9eba47bdd457154db5f1d11a5e0d73c36146727592021-08-15 17:45:39283 days 21 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.