Contract 0xe1fe8b5c3f5b592613305fc6ff551c67cbe40e17

Tarot 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0x4ddd9271ec52dfc5ee727ba06bc71668a32f8c5eebf7654a09ec6b17a0a481f9Claim544029442023-01-25 12:28:572 days 22 hrs ago0xae3a86cae35d5fdd4091ad294433da5ff49d00bb IN  Tarot: Early Borrower0 FTM0.106847009372
0xdc72e0ad9bdb2b8793711501bb22bf58b205ec4916ac06caef160ae91665e22fClaim543621942023-01-24 19:03:573 days 15 hrs ago0xf0b18fddad37b6a3b6f3c762aca6008e27774e54 IN  Tarot: Early Borrower0 FTM0.0266424
0x8c75dfba6264f2908790ca4aec46acae23ce05211cb45d31ba331c23c28985ffClaim542048552023-01-22 12:45:455 days 21 hrs ago0x57ed694d912079c27496a5edbd296b1fe21afda7 IN  Tarot: Early Borrower0 FTM0.003356525424
0x7bf159c930a5b5e0a3fa61ea6bcbd7ef3bd05f0526bb8a111436034a3853ab38Claim536851752023-01-13 9:57:3115 days 46 mins ago0xa9d70bb24772b7eecac54041d2138e0328c15e92 IN  Tarot: Early Borrower0 FTM0.003854153012
0x8fcec8ab0a85fe0735acfef3b2b4a219ff303ae9944814dd42f6d0ec8a6e2a29Claim535402722023-01-10 16:00:4617 days 18 hrs ago0xabd7c850d8b29cf4c75b40c5e6cc8328208c3430 IN  Tarot: Early Borrower0 FTM0.002974127274
0xafcc232933e8c1449113c6fd18643168da5184e9a53e89b0e411b99802f3379fClaim535170782023-01-10 2:33:1918 days 8 hrs ago0x6680ee1074094326dd35505f190857e42859d63e IN  Tarot: Early Borrower0 FTM0.003615450128
0x59c02277397b4f2d600bd5c38b865fd77efc1183e71ea21508c6cc05201b2f00Claim532628732023-01-05 8:38:4823 days 2 hrs ago0x0ae4cc61196507815eb50e97374539e675200418 IN  Tarot: Early Borrower0 FTM0.002754059834
0x092f318451d6e5471b1911e3205e46d36e4e2893da01d8fcd0cad1066a39a5e6Claim532456932023-01-05 1:11:1323 days 9 hrs ago0x9df2531ebed8ebd44dd0c9780f90bc2815cea6bb IN  Tarot: Early Borrower0 FTM0.003170262052
0x86152e1ebfae07ef68fcdfb83c73a93956cd0354154f76f61fcd3376418aff65Claim531967302023-01-04 5:09:2624 days 5 hrs ago0xefa4c696ea2505ec038c9ddc849b1bf817d7f69d IN  Tarot: Early Borrower0 FTM0.003357454879
0x6109017ec376ac07f5bca4cab3dd46e9f4877421caa31e908831f49a281a591aClaim530579682022-12-31 17:26:0327 days 17 hrs ago0x683afccd9336dbea4f9abb571c9445ba9b853455 IN  Tarot: Early Borrower0 FTM0.010210887906
0xff4e95cdff72431eb97e9582819ddf5b8ead638bd3e3f8a73faa33adad662fc0Claim530057922022-12-29 9:31:0130 days 1 hr ago0x19b299a8878df209e274233a709673376cf4052e IN  Tarot: Early Borrower0 FTM0.00270782478
0x8f90fa2966fb76bfc23982243b8fd58965c325f370a77ac015dc0ae0ede1b1c1Claim523368722022-12-14 16:29:5144 days 18 hrs ago0x006734473b8ae6f50a2e42e28c9ca56f1bdc17aa IN  Tarot: Early Borrower0 FTM0.001413922996
0x6259566c33293f4c8b81f0edaed07d30ada4394f7b33823d8e2abd727302c73dClaim519728972022-12-07 1:21:2452 days 9 hrs ago0x326e90ebe2957eb593cd4210ab7e314c719acaa2 IN  Tarot: Early Borrower0 FTM0.0092903
0xd74b5c94b36ff536cdb1f8d632088611129c9a5473fd58576467f5b0f39caa9aClaim519727532022-12-07 1:16:2652 days 9 hrs ago0x326e90ebe2957eb593cd4210ab7e314c719acaa2 IN  Tarot: Early Borrower0 FTM0.0111818
0x9e5b599ed372f605ef880e5435632b78fd002521157329ae2589bd2ea9102b0aClaim517870452022-12-02 17:59:2156 days 16 hrs ago0x5e1ac38fd8e24aae6968cb066cb73fc9b5167ad0 IN  Tarot: Early Borrower0 FTM0.001963385053
0x6942be8667d4a5bc779141132e2d8463adc5877c053bca3ce262b61c21e602f0Claim515665562022-11-28 20:06:4560 days 14 hrs ago0x1c8915f70850873a03df2d6cdba71b226bcdfeb3 IN  Tarot: Early Borrower0 FTM0.003131773798
0x6556036e56220f1d1efe98715363fbdeebbefa416dbdacf57aa840d257c92ceaClaim512621852022-11-21 23:03:5167 days 11 hrs ago0xbbc02dbd39941fffa605171a977d44c6baf915c2 IN  Tarot: Early Borrower0 FTM0.00454229491
0x6307f7c17198d9806f2951c52542a59d63be9c79015b67e258fde5099e3ac236Claim510591032022-11-18 3:01:1471 days 7 hrs ago0xfc2409d354aecf18b179153eb76e00efb64c25ad IN  Tarot: Early Borrower0 FTM0.007860242429
0x4e349b80edfcdc3b469e1e90e888d9831d2ac4574c4cece5c9267b0488322bc2Claim503987442022-11-02 17:17:4486 days 17 hrs ago0x25908476112081fff90380187599d572ba8a8117 IN  Tarot: Early Borrower0 FTM0.004615188168
0x52c083ffd3fe56fdefe95e94236c57a82f5fd8ccec1bc2eb1689f946188701b9Claim503289062022-11-01 0:57:4888 days 9 hrs ago0xf4aff362c70fa1686573cdd4555a40dbe018edf1 IN  Tarot: Early Borrower0 FTM0.004537155516
0x550f53f5455af53a6f8cd548f5102d1d108247d28c8bbd3fe9b1be1defd5d54cClaim502689052022-10-30 15:16:3989 days 19 hrs ago0xdc19cded2b4f3472b37b43c001d048754fe74b03 IN  Tarot: Early Borrower0 FTM0.001981070762
0x6fc0839fe2f46fb7ddad1b13924a4632083f602f2ed01ef97c21f5aba8c18ac6Claim500932102022-10-27 9:38:3793 days 1 hr ago0x542e8c9aab990ad65e2fc75bf59a59afb835b2dd IN  Tarot: Early Borrower0 FTM0.000293803781
0xeee656c3e5be9268d8e2d86f0ab5897d010196bfb09e6207aaeca33121a25351Claim498616922022-10-23 22:33:3996 days 12 hrs ago0x41ad88db3627204eae966371fea9ea6a08041633 IN  Tarot: Early Borrower0 FTM0.000313130035
0x0bc4b8ec71b2d47689109477e8813d3da65259609484534a70cc39040738b218Claim488050472022-10-09 19:09:16110 days 15 hrs ago0x1d9275c0c7917449dd6666ca50d64f25248550bf IN  Tarot: Early Borrower0 FTM0.01855257488
0xd4598979ff4e94f31e8fd6010f9666be6454148629699fe5bcb928012cfc8b6eClaim485703982022-10-06 18:19:34113 days 16 hrs ago0x1c8915f70850873a03df2d6cdba71b226bcdfeb3 IN  Tarot: Early Borrower0 FTM0.000228911365
[ Download CSV Export 
Latest 1 internal transaction
Parent Txn Hash Block From To Value
0x4eafe4b84060b4bd5015d976ffc58bc5b43c475b5050f2bf8ceee8159fe9e50f146728662021-08-15 17:47:28530 days 16 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"}]

60c06040526003805460ff1916600117905534801561001d57600080fd5b50604051610b07380380610b078339818101604052606081101561004057600080fd5b5080516020820151604090920151606082811b6001600160601b03199081166080529084901b1660a05260038054610100600160a81b0319166101006001600160a01b03938416021790559081169116610a506100b76000398061041552806104a852508061033152806107ab5250610a506000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063704b6c0211610071578063704b6c0214610148578063af38d7571461016e578063b260187d14610176578063c56ad1ad1461017e578063eb82031214610186578063f851a440146101ca576100a9565b80633a98ef39146100ae57806345c08718146100c85780634674a930146100ee5780634e71d92d1461011c5780636d5360c114610124575b600080fd5b6100b66101d2565b60408051918252519081900360200190f35b6100b6600480360360208110156100de57600080fd5b50356001600160a01b03166101d8565b61011a6004803603604081101561010457600080fd5b506001600160a01b0381351690602001356102ad565b005b6100b661031f565b61012c61032f565b604080516001600160a01b039092168252519081900360200190f35b61011a6004803603602081101561015e57600080fd5b50356001600160a01b0316610353565b61012c610413565b6100b6610437565b6100b66105c7565b6101ac6004803603602081101561019c57600080fd5b50356001600160a01b03166105cd565b60408051938452602084019290925282820152519081900360600190f35b61012c6105ee565b60015481565b6000806101e3610437565b9050806101f45760009150506102a8565b6001600160a01b038316600090815260208190526040902080546001820154600160a01b9161023a9161022e90869063ffffffff61060216565b9063ffffffff61064d16565b8161024157fe5b048160020154019250818160010181905550828160020181905550836001600160a01b03167ff7240857a4f83123f14a7bc3f77cd32d0ae71ede635c92ebdcc14d5ea8ed018a8385604051808381526020018281526020019250505060405180910390a250505b919050565b60035461010090046001600160a01b03163314610311576040805162461bcd60e51b815260206004820152601e60248201527f4f776e65644469737472696275746f723a20554e415554484f52495a45440000604482015290519081900360640190fd5b61031b82826106a6565b5050565b600061032a3361075a565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035461010090046001600160a01b031633146103b7576040805162461bcd60e51b815260206004820152601e60248201527f4f776e65644469737472696275746f723a20554e415554484f52495a45440000604482015290519081900360640190fd5b600380546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a19181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60035460009060ff1661048a576040805162461bcd60e51b8152602060048201526016602482015275111a5cdd1c9a589d5d1bdc8e8814915153951154915160521b604482015290519081900360640190fd5b6003805460ff191690556001546104a457506002546105b7565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634e71d92d6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561050157600080fd5b505af1158015610515573d6000803e3d6000fd5b505050506040513d602081101561052b57600080fd5b505190508061053e5750506002546105b7565b61057960025461056d600154610561600160a01b8661064d90919063ffffffff16565b9063ffffffff61086116565b9063ffffffff6108a316565b60028190556040805182815290519193507f8cae7c5b456d193882de6985578f406aefb641501192211706c5aa0a32612fec919081900360200190a1505b6003805460ff1916600117905590565b60025481565b60006020819052908152604090208054600182015460029092015490919083565b60035461010090046001600160a01b031681565b600061064483836040518060400160405280601f81526020017f536166654d6174683a207375627472616374696f6e20756e646572666c6f77008152506108fd565b90505b92915050565b60008261065c57506000610647565b8282028284828161066957fe5b04146106445760405162461bcd60e51b81526004018080602001828103825260218152602001806109fa6021913960400191505060405180910390fd5b6106af826101d8565b506001600160a01b0382166000908152602081905260408120805490918184116106ed576001546106e89085840363ffffffff61060216565b610702565b6001546107029083860363ffffffff6108a316565b6001819055848455604080518681526020810183905281519293506001600160a01b038816927fff3664f5f2f8f85ecd8d30ef2aa6773d8a8448219c7421dcbb67957fb3fafba1929181900390910190a25050505050565b6000610765826101d8565b905080156102a8576001600160a01b03808316600081815260208181526040808320600201839055805163a9059cbb60e01b8152600481019490945260248401869052517f00000000000000000000000000000000000000000000000000000000000000009094169363a9059cbb93604480820194918390030190829087803b1580156107f157600080fd5b505af1158015610805573d6000803e3d6000fd5b505050506040513d602081101561081b57600080fd5b50506040805182815290516001600160a01b038416917f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4919081900360200190a2919050565b600061064483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610994565b600082820183811015610644576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000818484111561098c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610951578181015183820152602001610939565b50505050905090810190601f16801561097e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836109e35760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610951578181015183820152602001610939565b5060008385816109ef57fe5b049594505050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220068a46d9a7d7a89ca6d98d267d3827e93fb126c5e031a8967b7d9adbe06d408864736f6c63430006060033000000000000000000000000c5e2b037d30a390e62180970b3aa4e91868764cd000000000000000000000000da6489f35d58ecf4e152701c3e72f42e24466e0c0000000000000000000000005b0390bccca1f040d8993eb6e4ce8ded93721765

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

000000000000000000000000c5e2b037d30a390e62180970b3aa4e91868764cd000000000000000000000000da6489f35d58ecf4e152701c3e72f42e24466e0c0000000000000000000000005b0390bccca1f040d8993eb6e4ce8ded93721765

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

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