Contract 0xd4fcd1d1252bf4a3134e0e848479ad90a60979ef 1

Tarot 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x2a50243387677387cc231088680931dac180a492fdd6882e9985b58ea5591578Claim390984832022-05-26 12:06:262 hrs 47 mins ago0x2ddbb811f1b310efc1d7c31b426f82d6dcf584f4 IN  Tarot: Tarot LGE0 FTM0.010189313075
0x8e3134633098767f8f21bf8b3b304ae7f3bc7c98da25bdfbd72a24089cadd873Claim390933482022-05-26 10:23:094 hrs 30 mins ago0xe73f51013d52b206df6d3184ccc46ea3d46b059f IN  Tarot: Tarot LGE0 FTM0.010313744332
0xda75fb595dea6ddf7054768e3198a178f135647a7839410daf309bbf61b16673Claim390913072022-05-26 9:42:545 hrs 10 mins ago0xd8cffd57e8f1c435aa9a1c8fab3978f6ca26cba6 IN  Tarot: Tarot LGE0 FTM0.018142097418
0xca17b00f565911d2af00aabfb12d22e495a610aacc4f3802816e92543d650e20Claim390814662022-05-26 6:21:488 hrs 31 mins ago0x03a2113a0db182611b26cb9cc1e7993245cd6194 IN  Tarot: Tarot LGE0 FTM0.011471517359
0x32327d7d3ab8955ddadb9a9fbe020f4faf5565280e86e60a81d534fe8bb9af52Claim390774552022-05-26 4:50:4910 hrs 2 mins ago0xcd1d40f62f2c413f318b4b96e9588c7ef5cf9331 IN  Tarot: Tarot LGE0 FTM0.002576616957
0xf322a79b41fab5e3b4968608ec78420cdab4159360af955b67d75f81d89db301Claim390771832022-05-26 4:45:4810 hrs 7 mins ago0xf5bf3b7b7d03efd34ba1e1bcf1694080975d8a1c IN  Tarot: Tarot LGE0 FTM0.004447066822
0x87e4f71e6a182169b32d20b5378ba8069c63f7b81d07d577373047dfc55f96fbClaim390619582022-05-25 23:58:3614 hrs 55 mins ago0x2ddbb811f1b310efc1d7c31b426f82d6dcf584f4 IN  Tarot: Tarot LGE0 FTM0.002918119967
0x531f1799c4ba3d2ff9391f3f7b050af993d67acae1399e8b7b35b82a80e44a74Claim390613782022-05-25 23:47:2815 hrs 6 mins ago0x5920ca4a51d93052f111e90c387f70bcf723ea3f IN  Tarot: Tarot LGE0 FTM0.0105752
0x8acfc223d3c1fb1dffa9b20125c324aea666cf948635ca331827739b9df6be2eClaim390536342022-05-25 21:20:2017 hrs 33 mins ago0xa14a711e5d6f38bccf81d703cb8a949f9a1d3cbb IN  Tarot: Tarot LGE0 FTM0.007338014322
0x45892a3c47f07d93cb0603bd153d83af0d8a9b35417f57e57db50351b67fd3f3Claim390434402022-05-25 18:00:3120 hrs 53 mins ago0xe87a10d5b212d169ccbc9a50cf5e23dd3da27cb6 IN  Tarot: Tarot LGE0 FTM0.002954674399
0xb3876bd9925491701a93fd0fe38259a01120c59eb39503e9376182c09c7d4fd3Claim390425982022-05-25 17:44:5121 hrs 8 mins ago0xd186214e1b12414a2bdd499960a3e39fb8626714 IN  Tarot: Tarot LGE0 FTM0.003242945792
0x1f671d4ed8c6ee199bebc6c5749d5c975c058e4257a336c30908ab7321006d87Claim390409312022-05-25 17:14:0521 hrs 39 mins ago0x6f8b82d2838790270b45d46657f0d75d6aece59d IN  Tarot: Tarot LGE0 FTM0.004162851673
0x9d2805538512af49beb93362c5b00470feee84784d6f54103ae9d1989b09e90aClaim390369972022-05-25 16:00:3922 hrs 53 mins ago0x8410fb2d0cb776b9b6a6a3c911c220267b7f24d4 IN  Tarot: Tarot LGE0 FTM0.008125873703
0x3a6280c3edb7aab32c0a74ad673278945dbf5b37643093f099d37154e8a0b1ddClaim390310462022-05-25 14:08:171 day 45 mins ago0x41ad88db3627204eae966371fea9ea6a08041633 IN  Tarot: Tarot LGE0 FTM0.007820614664
0x6f6f385a6964146564f2f65174913564df35c81cdf2cda66d2c7bf0f8967594bClaim390251752022-05-25 12:13:091 day 2 hrs ago0x9665b6f0cf162792851a902e452248b16f2f4b5a IN  Tarot: Tarot LGE0 FTM0.005768328722
0xb7945db49cbf7432061c0ce813438b8caa1563a6948a8c11531a5990252c420bClaim390219282022-05-25 10:57:551 day 3 hrs ago0xee650f5599bd48f27b29b254a4c45322a755c6b4 IN  Tarot: Tarot LGE0 FTM0.003629615706
0x5ff0b65651d0efa51e5c10340c2c66425ce3b9a600ff8711de6af3e1595e7678Claim390176802022-05-25 9:34:591 day 5 hrs ago0x57ed694d912079c27496a5edbd296b1fe21afda7 IN  Tarot: Tarot LGE0 FTM0.003098031184
0x1f2744bbbf0ac4dce3132fc6e78277fc8f19184a59043846afe2f03916a38055Claim390089612022-05-25 6:46:121 day 8 hrs ago0xaea2119432b4401f106379cdaab0f728ab7efd17 IN  Tarot: Tarot LGE0 FTM0.004019597893
0x282ed0ee8096c1e2fade7d6ae0039b5dd42bb695c0bf9eb0caa879204556cea4Claim390031442022-05-25 4:51:421 day 10 hrs ago0xdeba0e5653f6966b5411e57e44109eb5834927da IN  Tarot: Tarot LGE0 FTM0.003018500524
0x00200ee57c53f2f7367566474662d0f819d5e3b308a372f820110f52623cc26cClaim390018402022-05-25 4:27:171 day 10 hrs ago0x2ddbb811f1b310efc1d7c31b426f82d6dcf584f4 IN  Tarot: Tarot LGE0 FTM0.003107841327
0xcf3b6c6af0116266407e7a5bb197a8bd53a8a3fb0f441ef7a7c3677d8ff280d6Claim390016992022-05-25 4:24:371 day 10 hrs ago0xf796d9658653b9e4ca1d888a7e806c7030f9d0e2 IN  Tarot: Tarot LGE0 FTM0.002590536
0x2efbca9566356be19ff677cf540c4c532dbba8b4879971297aa28325098f5b68Claim390012172022-05-25 4:14:581 day 10 hrs ago0x09fa38eba245bb68354b8950fa2fe71f02863393 IN  Tarot: Tarot LGE0 FTM0.003384064
0x48a025a5958ed4ac7a78612a642ffb3d38531cae5295bcb8d882c03ea476d254Claim389954832022-05-25 2:28:471 day 12 hrs ago0x326e90ebe2957eb593cd4210ab7e314c719acaa2 IN  Tarot: Tarot LGE0 FTM0.006618281702
0xd3ed52b82dd296f7d00036d118e9d508f24d098b161b1121b40fc92b00260098Claim389924832022-05-25 1:32:361 day 13 hrs ago0x694208f12c6bff64c4aba19a16dd444c4e2b4ada IN  Tarot: Tarot LGE0 FTM0.005214508078
0x52fb9319b1b2e3fcae6ff51d55da14b8e6518f90bb1b6e280ce7f4df1d93a6e4Claim389747912022-05-24 19:50:211 day 19 hrs ago0x8ea274c7717ffa1f4056a7396ba3104d27e1e88e IN  Tarot: Tarot LGE0 FTM0.01697319765
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0xba668a26976d77f584c85f7dc9332ccfe89122ca08d92a35d1d0e7ec9c6d69f1146727212021-08-15 17:44:49283 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"}]

60c06040526003805460ff1916600117905534801561001d57600080fd5b50604051610b07380380610b078339818101604052606081101561004057600080fd5b5080516020820151604090920151606082811b6001600160601b03199081166080529084901b1660a05260038054610100600160a81b0319166101006001600160a01b03938416021790559081169116610a506100b76000398061041552806104a852508061033152806107ab5250610a506000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063704b6c0211610071578063704b6c0214610148578063af38d7571461016e578063b260187d14610176578063c56ad1ad1461017e578063eb82031214610186578063f851a440146101ca576100a9565b80633a98ef39146100ae57806345c08718146100c85780634674a930146100ee5780634e71d92d1461011c5780636d5360c114610124575b600080fd5b6100b66101d2565b60408051918252519081900360200190f35b6100b6600480360360208110156100de57600080fd5b50356001600160a01b03166101d8565b61011a6004803603604081101561010457600080fd5b506001600160a01b0381351690602001356102ad565b005b6100b661031f565b61012c61032f565b604080516001600160a01b039092168252519081900360200190f35b61011a6004803603602081101561015e57600080fd5b50356001600160a01b0316610353565b61012c610413565b6100b6610437565b6100b66105c7565b6101ac6004803603602081101561019c57600080fd5b50356001600160a01b03166105cd565b60408051938452602084019290925282820152519081900360600190f35b61012c6105ee565b60015481565b6000806101e3610437565b9050806101f45760009150506102a8565b6001600160a01b038316600090815260208190526040902080546001820154600160a01b9161023a9161022e90869063ffffffff61060216565b9063ffffffff61064d16565b8161024157fe5b048160020154019250818160010181905550828160020181905550836001600160a01b03167ff7240857a4f83123f14a7bc3f77cd32d0ae71ede635c92ebdcc14d5ea8ed018a8385604051808381526020018281526020019250505060405180910390a250505b919050565b60035461010090046001600160a01b03163314610311576040805162461bcd60e51b815260206004820152601e60248201527f4f776e65644469737472696275746f723a20554e415554484f52495a45440000604482015290519081900360640190fd5b61031b82826106a6565b5050565b600061032a3361075a565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035461010090046001600160a01b031633146103b7576040805162461bcd60e51b815260206004820152601e60248201527f4f776e65644469737472696275746f723a20554e415554484f52495a45440000604482015290519081900360640190fd5b600380546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a19181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035460009060ff1661048a576040805162461bcd60e51b8152602060048201526016602482015275111a5cdd1c9a589d5d1bdc8e8814915153951154915160521b604482015290519081900360640190fd5b6003805460ff191690556001546104a457506002546105b7565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634e71d92d6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561050157600080fd5b505af1158015610515573d6000803e3d6000fd5b505050506040513d602081101561052b57600080fd5b505190508061053e5750506002546105b7565b61057960025461056d600154610561600160a01b8661064d90919063ffffffff16565b9063ffffffff61086116565b9063ffffffff6108a316565b60028190556040805182815290519193507f8cae7c5b456d193882de6985578f406aefb641501192211706c5aa0a32612fec919081900360200190a1505b6003805460ff1916600117905590565b60025481565b60006020819052908152604090208054600182015460029092015490919083565b60035461010090046001600160a01b031681565b600061064483836040518060400160405280601f81526020017f536166654d6174683a207375627472616374696f6e20756e646572666c6f77008152506108fd565b90505b92915050565b60008261065c57506000610647565b8282028284828161066957fe5b04146106445760405162461bcd60e51b81526004018080602001828103825260218152602001806109fa6021913960400191505060405180910390fd5b6106af826101d8565b506001600160a01b0382166000908152602081905260408120805490918184116106ed576001546106e89085840363ffffffff61060216565b610702565b6001546107029083860363ffffffff6108a316565b6001819055848455604080518681526020810183905281519293506001600160a01b038816927fff3664f5f2f8f85ecd8d30ef2aa6773d8a8448219c7421dcbb67957fb3fafba1929181900390910190a25050505050565b6000610765826101d8565b905080156102a8576001600160a01b03808316600081815260208181526040808320600201839055805163a9059cbb60e01b8152600481019490945260248401869052517f00000000000000000000000000000000000000000000000000000000000000009094169363a9059cbb93604480820194918390030190829087803b1580156107f157600080fd5b505af1158015610805573d6000803e3d6000fd5b505050506040513d602081101561081b57600080fd5b50506040805182815290516001600160a01b038416917f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4919081900360200190a2919050565b600061064483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610994565b600082820183811015610644576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000818484111561098c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610951578181015183820152602001610939565b50505050905090810190601f16801561097e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836109e35760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610951578181015183820152602001610939565b5060008385816109ef57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220068a46d9a7d7a89ca6d98d267d3827e93fb126c5e031a8967b7d9adbe06d408864736f6c63430006060033000000000000000000000000c5e2b037d30a390e62180970b3aa4e91868764cd000000000000000000000000b4cfb6409accd99b0ce161524ffe5e65529de2370000000000000000000000005b0390bccca1f040d8993eb6e4ce8ded93721765

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

000000000000000000000000c5e2b037d30a390e62180970b3aa4e91868764cd000000000000000000000000b4cfb6409accd99b0ce161524ffe5e65529de2370000000000000000000000005b0390bccca1f040d8993eb6e4ce8ded93721765

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

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 000000000000000000000000c5e2b037d30a390e62180970b3aa4e91868764cd
Arg [1] : 000000000000000000000000b4cfb6409accd99b0ce161524ffe5e65529de237
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.