Contract 0x7bcae79200de7e5a50225948c2899d0b6c5262bb

Contract Overview

Balance:
4,846.002 CRO

CRO Value:
$312.57 (@ $0.06/CRO)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xa845cfe03a88020849cba66f33112c6e4f9f5c4d5ae7daa90842b12398d76bb5Claim Royalties58295802022-12-02 10:52:4021 hrs 56 mins ago0x31fb2c6d7498d69a9bd3cc146507a73eecef0172 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO1.401589239521 4,863.876484913
0xb6376f8177b13504a018c5ce35c993560d5fe7d6a4d28e4680d695577fb319d1Claim Royalties58166292022-12-01 14:26:481 day 18 hrs ago0xcc9c77e059431bc8d30e4c9b5ca036bdb6ce2879 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO2.2447597712060
0x1e239bc6e7e365980473641150c8654fd78959850c486c529e5049eaac6faf35Claim Royalties58084272022-12-01 1:32:492 days 7 hrs ago0x1ace1b6e0e6389505006b2780b73ce15b1f928e7 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO0.2815289915950
0xcc96dc4495d5e752660e8848c1e416520ed3d46e19be51509cc52939b08be225Claim Royalties57778792022-11-29 1:07:014 days 7 hrs ago0x923806f6233c5af304b077dc26f481d659040281 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO0.8891531486230
0x9d3e05a0799ef2eadfbeea94015442903d20d3d30120c5dd3ee851df03815871Claim Royalties57768702022-11-28 23:30:474 days 9 hrs ago0x428abeadbb9728c7b583ca9eb9c1cd2ce061ddac IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO0.743172424209 4,866.305374675
0x167df0f32bcbb592da9bcebbd85efc00d58f1254cc8f14772296b63d5be5d3ccClaim Royalties57760102022-11-28 22:08:404 days 10 hrs ago0xf496198c4eaf7f008877dadd0a5cb74f434b39c5 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO23.6723514984560
0x070ae0436b445eacede09a87aaf95ee41364083a33d2dccad1469fc051d4323eClaim Royalties57754002022-11-28 21:10:264 days 11 hrs ago0x6e9497fad34b9c554a7926989051b20d681abce2 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO4.3405081544510
0xdcaea7e22d39f3f99012fb59ff8bcaa6adfca386216bec5887a46caaf16f633fClaim Royalties57752072022-11-28 20:52:004 days 11 hrs ago0x73bd1810c8ff1caeee8f45caa4c92ff75fdaa2c7 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO6.8932643292560
0x4cd27727226a4824bef5c6c20149867a6eb3b09b0920a41eb77179bfb56949f4Claim Royalties57752022022-11-28 20:51:324 days 11 hrs ago0x904999df01af8c8b20a1c4f75bb56f90dfc267aa IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO2.3244129285940
0x566767730cbe8bec5b9e43010f8015ad4232c6a08085290c7d700c1041d55b31Claim Royalties57744532022-11-28 19:40:094 days 13 hrs ago0x09ed414b70a961a4f13b980c2a094ee4a8c813cd IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO1.064056711048 4,866.417158918
0xedb0af656dbc9d2077575556ac03e7b658f49ce7e9e2594901c4ea278c1bc6dbClaim Royalties57668782022-11-28 7:37:095 days 1 hr ago0x75df879aca540cc6312a20ce54927e16194d2c05 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO1.300845406798 4,868.178339454
0x47ac4495b5e41afe3201f52dfda5b3ff92e2949fa388e40d300258fe675bb17bClaim Royalties57656452022-11-28 5:39:245 days 3 hrs ago0x69f8dc7c0e67851ec01f881703bcf2a3779a3de5 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO4.082459410869 4,866.826345701
0xe3303b6dc77a188c8154f5cbfa9a00b5281627ec85a7ebafd9f5d29c0fa01869Claim Royalties57636062022-11-28 2:24:405 days 6 hrs ago0xc324719b0916656d178940462b8e9b8cee432ef0 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO1.221728689519 4,866.921444782
0x4f029761a4550dd0a26cc90704ba455f10e8dd2df478ec5d53ad731920a1bb37Claim Royalties57585912022-11-27 18:25:095 days 14 hrs ago0xed14b8097d13d7b81345145d153b8b3fde78f42d IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO2.088421585083 4,867.151228971
0x2255e928a7f6ad8065795ea7c6583a577f5e2730eb73e323699f711797572ad6Claim Royalties57540022022-11-27 11:07:025 days 21 hrs ago0x4756612a149f8bd3bc3f25e10b370634cde204b7 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO0.670323465021 4,867.362763193
0x93b806e68b98b1bdf8a02887703d37e671e8e63721bb5a0f24154bbdc0527928Claim Royalties57482162022-11-27 1:55:566 days 6 hrs ago0xa9cf1a9bbed7924ef9588b81c855bae4f6bc3b50 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO2.3250105255760
0x99805e129080afe68503961e722f79c39d4aa22a0c5793b0880b3bb8c1a3bc69Claim Royalties57463552022-11-26 22:58:366 days 9 hrs ago0x39deccee4cc61daba664fa8eda488abbb4eb4a92 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO3.992859187753 4,867.719878325
0x7e5c923dd710d69c2dee8f1025962605dd9290da438a6a43ffc4b1e237ebac1bClaim Royalties57378402022-11-26 9:31:556 days 23 hrs ago0x617a5f6b4fd3111976106933ee56bc008532282f IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO4.3684757846480
0x7aa674a8c5abb9800d239f98f022451222991901dbe47b71110c4e3b4ff0d48cClaim Royalties57332092022-11-26 2:13:537 days 6 hrs ago0xb35c3726cd0a74c6bc5bc9382c11eef1a037a469 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO1.2220827141560
0x276974d9d6850cfe0bcfbfe0dc8ee6af74a374447cdb5668b8028fd45ab60765Claim Royalties57306492022-11-25 22:11:137 days 10 hrs ago0x327c76fc9cbef970b454344ecc0f107d2b3d2517 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO3.7323534109940
0x713bcfc41103a1a302a7ce203e741f54dee088dfb064dd876bd5bb7c98233dbdClaim Royalties57113062022-11-24 15:36:488 days 17 hrs ago0xd93f65a4171e83b9d15f5f28ee3ffd5bf5144ebc IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO2.878458444198 4,870.842454186
0x9b16c7f9045fe51d212d6ce12af923570829437ef6b7274084fb6d387c536294Claim Royalties57054832022-11-24 6:26:069 days 2 hrs ago0x018b3fde52dc0a2e73f3a2adb491f77b9274835b IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO0.591809070586 4,869.614095056
0x423e9474c1dd833509d02b5672c2d60f0f25f183ef6a0c8883ec5e56955f6919Claim Royalties57054572022-11-24 6:23:389 days 2 hrs ago0x17ff436078a758b89fdb792fba89a5ac1fb48df7 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO0.6706336954470
0x7792b30f0775e0855c5dbbf28074c0b9d163a5f27315ea95374bbd70880ba435Claim Royalties57029922022-11-24 2:31:069 days 6 hrs ago0x77d3f2e648f89a44589ba5d64c17e5e05dc7c3e1 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO1.8092849246540
0xe445f617fb0844951a4c813c8268c962f0a69091c4fcea2f1a7f480977d0236aClaim Royalties57002592022-11-23 22:13:069 days 10 hrs ago0x6e7d19f6ee1e2a027b79d364936c6f964e5a7935 IN  0x7bcae79200de7e5a50225948c2899d0b6c5262bb0 CRO0.985980150559 4,869.855435279
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xa845cfe03a88020849cba66f33112c6e4f9f5c4d5ae7daa90842b12398d76bb558295802022-12-02 10:52:4021 hrs 56 mins ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x31fb2c6d7498d69a9bd3cc146507a73eecef01723.741 CRO
0xb6376f8177b13504a018c5ce35c993560d5fe7d6a4d28e4680d695577fb319d158166292022-12-01 14:26:481 day 18 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0xcc9c77e059431bc8d30e4c9b5ca036bdb6ce287915.6 CRO
0xcc96dc4495d5e752660e8848c1e416520ed3d46e19be51509cc52939b08be22557778792022-11-29 1:07:014 days 7 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x923806f6233c5af304b077dc26f481d6590402817.025 CRO
0x9d3e05a0799ef2eadfbeea94015442903d20d3d30120c5dd3ee851df0381587157768702022-11-28 23:30:474 days 9 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x428abeadbb9728c7b583ca9eb9c1cd2ce061ddac4.941 CRO
0x167df0f32bcbb592da9bcebbd85efc00d58f1254cc8f14772296b63d5be5d3cc57760102022-11-28 22:08:404 days 10 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0xf496198c4eaf7f008877dadd0a5cb74f434b39c5178.8 CRO
0x070ae0436b445eacede09a87aaf95ee41364083a33d2dccad1469fc051d4323e57754002022-11-28 21:10:264 days 11 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x6e9497fad34b9c554a7926989051b20d681abce233.308 CRO
0xdcaea7e22d39f3f99012fb59ff8bcaa6adfca386216bec5887a46caaf16f633f57752072022-11-28 20:52:004 days 11 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x73bd1810c8ff1caeee8f45caa4c92ff75fdaa2c759.67 CRO
0x4cd27727226a4824bef5c6c20149867a6eb3b09b0920a41eb77179bfb56949f457752022022-11-28 20:51:324 days 11 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x904999df01af8c8b20a1c4f75bb56f90dfc267aa26.604 CRO
0x566767730cbe8bec5b9e43010f8015ad4232c6a08085290c7d700c1041d55b3157744532022-11-28 19:40:094 days 13 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x09ed414b70a961a4f13b980c2a094ee4a8c813cd10.047 CRO
0xedb0af656dbc9d2077575556ac03e7b658f49ce7e9e2594901c4ea278c1bc6db57668782022-11-28 7:37:095 days 1 hr ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x75df879aca540cc6312a20ce54927e16194d2c058.4 CRO
0x47ac4495b5e41afe3201f52dfda5b3ff92e2949fa388e40d300258fe675bb17b57656452022-11-28 5:39:245 days 3 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x69f8dc7c0e67851ec01f881703bcf2a3779a3de540.981 CRO
0xe3303b6dc77a188c8154f5cbfa9a00b5281627ec85a7ebafd9f5d29c0fa0186957636062022-11-28 2:24:405 days 6 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0xc324719b0916656d178940462b8e9b8cee432ef07.8 CRO
0x4f029761a4550dd0a26cc90704ba455f10e8dd2df478ec5d53ad731920a1bb3757585912022-11-27 18:25:095 days 14 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0xed14b8097d13d7b81345145d153b8b3fde78f42d14.4 CRO
0x2255e928a7f6ad8065795ea7c6583a577f5e2730eb73e323699f711797572ad657540022022-11-27 11:07:025 days 21 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x4756612a149f8bd3bc3f25e10b370634cde204b73.6 CRO
0x93b806e68b98b1bdf8a02887703d37e671e8e63721bb5a0f24154bbdc052792857482162022-11-27 1:55:566 days 6 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0xa9cf1a9bbed7924ef9588b81c855bae4f6bc3b5016.812 CRO
0x99805e129080afe68503961e722f79c39d4aa22a0c5793b0880b3bb8c1a3bc6957463552022-11-26 22:58:366 days 9 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x39deccee4cc61daba664fa8eda488abbb4eb4a9238.675 CRO
0x7e5c923dd710d69c2dee8f1025962605dd9290da438a6a43ffc4b1e237ebac1b57378402022-11-26 9:31:556 days 23 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x617a5f6b4fd3111976106933ee56bc008532282f28.335 CRO
0x7aa674a8c5abb9800d239f98f022451222991901dbe47b71110c4e3b4ff0d48c57332092022-11-26 2:13:537 days 6 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0xb35c3726cd0a74c6bc5bc9382c11eef1a037a4697.8 CRO
0x276974d9d6850cfe0bcfbfe0dc8ee6af74a374447cdb5668b8028fd45ab6076557306492022-11-25 22:11:137 days 10 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x327c76fc9cbef970b454344ecc0f107d2b3d251729.125 CRO
0x713bcfc41103a1a302a7ce203e741f54dee088dfb064dd876bd5bb7c98233dbd57113062022-11-24 15:36:488 days 17 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0xd93f65a4171e83b9d15f5f28ee3ffd5bf5144ebc20.4 CRO
0x9b16c7f9045fe51d212d6ce12af923570829437ef6b7274084fb6d387c53629457054832022-11-24 6:26:069 days 2 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x018b3fde52dc0a2e73f3a2adb491f77b9274835b3 CRO
0x423e9474c1dd833509d02b5672c2d60f0f25f183ef6a0c8883ec5e56955f691957054572022-11-24 6:23:389 days 2 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x17ff436078a758b89fdb792fba89a5ac1fb48df73.6 CRO
0x7792b30f0775e0855c5dbbf28074c0b9d163a5f27315ea95374bbd70880ba43557029922022-11-24 2:31:069 days 6 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x77d3f2e648f89a44589ba5d64c17e5e05dc7c3e110.447 CRO
0xe445f617fb0844951a4c813c8268c962f0a69091c4fcea2f1a7f480977d0236a57002592022-11-23 22:13:069 days 10 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x6e7d19f6ee1e2a027b79d364936c6f964e5a79357.168 CRO
0x74535a9c4909b307b3aceb51cd50fa49c6e643f723445b2b8e196e489b005f5556945822022-11-23 13:16:549 days 19 hrs ago 0x7bcae79200de7e5a50225948c2899d0b6c5262bb0x0744b39db009aab62aaf4c832ca4ad82e19887ee27 CRO
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Croodle_Ape_Royalty_Contract

Compiler Version
v0.8.16+commit.07a7930e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at cronoscan.com on 2022-08-24
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.0;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor() {
        _transferOwnership(_msgSender());
    }
    modifier onlyOwner() {
        _checkOwner();
        _;
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IERC165 {
    function supportsInterface(bytes4 interfaceId) external view returns (bool);
}

interface IERC721 is IERC165 {
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event ApprovalForAll(address indexed owner, address indexed operator, bool approved);
    function balanceOf(address owner) external view returns (uint256 balance);
    function ownerOf(uint256 tokenId) external view returns (address owner);
    function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;
    function safeTransferFrom(address from, address to, uint256 tokenId) external;
    function transferFrom(address from, address to, uint256 tokenId) external;
    function approve(address to, uint256 tokenId) external;
    function setApprovalForAll(address operator, bool _approved) external;
    function getApproved(uint256 tokenId) external view returns (address operator);
    function isApprovedForAll(address owner, address operator) external view returns (bool);
}

interface IERC721Receiver {
    function onERC721Received(address operator, address from, uint256 tokenId, bytes calldata data) external returns (bytes4);
}

interface IERC721Metadata is IERC721 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function tokenURI(uint256 tokenId) external view returns (string memory);
}

library Address {
    function isContract(address account) internal view returns (bool) {
        return account.code.length > 0;
    }
    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");
        (bool success, ) = recipient.call{value: amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }
    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }
    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return functionCallWithValue(target, data, 0, errorMessage);
    }
    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        require(isContract(target), "Address: call to non-contract");
        (bool success, bytes memory returndata) = target.call{value: value}(data);
        return verifyCallResult(success, returndata, errorMessage);
    }
    function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {
        return functionStaticCall(target, data, "Address: low-level static call failed");
    }
    function functionStaticCall(address target, bytes memory data, string memory errorMessage) internal view returns (bytes memory) {
        require(isContract(target), "Address: static call to non-contract");
        (bool success, bytes memory returndata) = target.staticcall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }
    function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionDelegateCall(target, data, "Address: low-level delegate call failed");
    }
    function functionDelegateCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        require(isContract(target), "Address: delegate call to non-contract");
        (bool success, bytes memory returndata) = target.delegatecall(data);
        return verifyCallResult(success, returndata, errorMessage);
    }
    function verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) internal pure returns (bytes memory) {
        if (success) {
            return returndata;
        } else {
            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

library Strings {
    bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";
    uint8 private constant _ADDRESS_LENGTH = 20;
    function toString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0";
        }
        uint256 temp = value;
        uint256 digits;
        while (temp != 0) {
            digits++;
            temp /= 10;
        }
        bytes memory buffer = new bytes(digits);
        while (value != 0) {
            digits -= 1;
            buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
            value /= 10;
        }
        return string(buffer);
    }
    function toHexString(uint256 value) internal pure returns (string memory) {
        if (value == 0) {
            return "0x00";
        }
        uint256 temp = value;
        uint256 length = 0;
        while (temp != 0) {
            length++;
            temp >>= 8;
        }
        return toHexString(value, length);
    }
    function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
        bytes memory buffer = new bytes(2 * length + 2);
        buffer[0] = "0";
        buffer[1] = "x";
        for (uint256 i = 2 * length + 1; i > 1; --i) {
            buffer[i] = _HEX_SYMBOLS[value & 0xf];
            value >>= 4;
        }
        require(value == 0, "Strings: hex length insufficient");
        return string(buffer);
    }
    function toHexString(address addr) internal pure returns (string memory) {
        return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);
    }
}

abstract contract ERC165 is IERC165 {
    function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {
        return interfaceId == type(IERC165).interfaceId;
    }
}

contract ERC721 is Context, ERC165, IERC721, IERC721Metadata {
    using Address for address;
    using Strings for uint256;
    string private _name;
    string private _symbol;
    mapping(uint256 => address) private _owners;
    mapping(address => uint256) private _balances;
    mapping(uint256 => address) private _tokenApprovals;
    mapping(address => mapping(address => bool)) private _operatorApprovals;
    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }
    function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {
        return interfaceId == type(IERC721).interfaceId || interfaceId == type(IERC721Metadata).interfaceId || super.supportsInterface(interfaceId);
    }
    function balanceOf(address owner) public view virtual override returns (uint256) {
        require(owner != address(0), "ERC721: address zero is not a valid owner");
        return _balances[owner];
    }
    function ownerOf(uint256 tokenId) public view virtual override returns (address) {
        address owner = _owners[tokenId];
        require(owner != address(0), "ERC721: invalid token ID");
        return owner;
    }
    function name() public view virtual override returns (string memory) {
        return _name;
    }
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
    function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {
        _requireMinted(tokenId);
        string memory baseURI = _baseURI();
        return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : "";
    }
    function _baseURI() internal view virtual returns (string memory) {
        return "";
    }
    function approve(address to, uint256 tokenId) public virtual override {
        address owner = ERC721.ownerOf(tokenId);
        require(to != owner, "ERC721: approval to current owner");
        require(_msgSender() == owner || isApprovedForAll(owner, _msgSender()),"ERC721: approve caller is not token owner nor approved for all");
        _approve(to, tokenId);
    }
    function getApproved(uint256 tokenId) public view virtual override returns (address) {
        _requireMinted(tokenId);
        return _tokenApprovals[tokenId];
    }
    function setApprovalForAll(address operator, bool approved) public virtual override {
        _setApprovalForAll(_msgSender(), operator, approved);
    }
    function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {
        return _operatorApprovals[owner][operator];
    }
    function transferFrom(address from, address to, uint256 tokenId) public virtual override {
        require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: caller is not token owner nor approved");
        _transfer(from, to, tokenId);
    }
    function safeTransferFrom(address from, address to, uint256 tokenId) public virtual override {
        safeTransferFrom(from, to, tokenId, "");
    }
    function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory data) public virtual override {
        require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: caller is not token owner nor approved");
        _safeTransfer(from, to, tokenId, data);
    }
    function _safeTransfer(address from, address to, uint256 tokenId, bytes memory data) internal virtual {
        _transfer(from, to, tokenId);
        require(_checkOnERC721Received(from, to, tokenId, data), "ERC721: transfer to non ERC721Receiver implementer");
    }
    function _exists(uint256 tokenId) internal view virtual returns (bool) {
        return _owners[tokenId] != address(0);
    }
    function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {
        address owner = ERC721.ownerOf(tokenId);
        return (spender == owner || isApprovedForAll(owner, spender) || getApproved(tokenId) == spender);
    }
    function _safeMint(address to, uint256 tokenId) internal virtual {
        _safeMint(to, tokenId, "");
    }
    function _safeMint(address to, uint256 tokenId, bytes memory data) internal virtual {
        _mint(to, tokenId);
        require(_checkOnERC721Received(address(0), to, tokenId, data), "ERC721: transfer to non ERC721Receiver implementer");
    }
    function _mint(address to, uint256 tokenId) internal virtual {
        require(to != address(0), "ERC721: mint to the zero address");
        require(!_exists(tokenId), "ERC721: token already minted");
        _beforeTokenTransfer(address(0), to, tokenId);
        _balances[to] += 1;
        _owners[tokenId] = to;
        emit Transfer(address(0), to, tokenId);
        _afterTokenTransfer(address(0), to, tokenId);
    }
    function _burn(uint256 tokenId) internal virtual {
        address owner = ERC721.ownerOf(tokenId);
        _beforeTokenTransfer(owner, address(0), tokenId);
        _approve(address(0), tokenId);
        _balances[owner] -= 1;
        delete _owners[tokenId];
        emit Transfer(owner, address(0), tokenId);
        _afterTokenTransfer(owner, address(0), tokenId);
    }
    function _transfer(address from, address to, uint256 tokenId) internal virtual {
        require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer from incorrect owner");
        require(to != address(0), "ERC721: transfer to the zero address");
        _beforeTokenTransfer(from, to, tokenId);
        _approve(address(0), tokenId);
        _balances[from] -= 1;
        _balances[to] += 1;
        _owners[tokenId] = to;
        emit Transfer(from, to, tokenId);
        _afterTokenTransfer(from, to, tokenId);
    }
    function _approve(address to, uint256 tokenId) internal virtual {
        _tokenApprovals[tokenId] = to;
        emit Approval(ERC721.ownerOf(tokenId), to, tokenId);
    }
    function _setApprovalForAll(address owner, address operator, bool approved) internal virtual {
        require(owner != operator, "ERC721: approve to caller");
        _operatorApprovals[owner][operator] = approved;
        emit ApprovalForAll(owner, operator, approved);
    }
    function _requireMinted(uint256 tokenId) internal view virtual {
        require(_exists(tokenId), "ERC721: invalid token ID");
    }
    function _checkOnERC721Received(address from, address to, uint256 tokenId, bytes memory data) private returns (bool) {
        if (to.isContract()) {
            try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, data) returns (bytes4 retval) {
                return retval == IERC721Receiver.onERC721Received.selector;
            } catch (bytes memory reason) {
                if (reason.length == 0) {
                    revert("ERC721: transfer to non ERC721Receiver implementer");
                } else {
                    assembly {
                        revert(add(32, reason), mload(reason))
                    }
                }
            }
        } else {
            return true;
        }
    }
    function _beforeTokenTransfer(address from, address to, uint256 tokenId) internal virtual {}
    function _afterTokenTransfer(address from, address to, uint256 tokenId) internal virtual {}
}

interface IERC721Enumerable is IERC721 {
    function totalSupply() external view returns (uint256);
    function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256);
    function tokenByIndex(uint256 index) external view returns (uint256);
}

abstract contract ERC721Enumerable is ERC721, IERC721Enumerable {
    mapping(address => mapping(uint256 => uint256)) private _ownedTokens;
    mapping(uint256 => uint256) private _ownedTokensIndex;
    uint256[] private _allTokens;
    mapping(uint256 => uint256) private _allTokensIndex;
    function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC721) returns (bool) {
        return interfaceId == type(IERC721Enumerable).interfaceId || super.supportsInterface(interfaceId);
    }
    function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual override returns (uint256) {
        require(index < ERC721.balanceOf(owner), "ERC721Enumerable: owner index out of bounds");
        return _ownedTokens[owner][index];
    }
    function totalSupply() public view virtual override returns (uint256) {
        return _allTokens.length;
    }
    function tokenByIndex(uint256 index) public view virtual override returns (uint256) {
        require(index < ERC721Enumerable.totalSupply(), "ERC721Enumerable: global index out of bounds");
        return _allTokens[index];
    }
    function _beforeTokenTransfer(address from, address to, uint256 tokenId) internal virtual override {
        super._beforeTokenTransfer(from, to, tokenId);
        if (from == address(0)) {
            _addTokenToAllTokensEnumeration(tokenId);
        } else if (from != to) {
            _removeTokenFromOwnerEnumeration(from, tokenId);
        }
        if (to == address(0)) {
            _removeTokenFromAllTokensEnumeration(tokenId);
        } else if (to != from) {
            _addTokenToOwnerEnumeration(to, tokenId);
        }
    }
    function _addTokenToOwnerEnumeration(address to, uint256 tokenId) private {
        uint256 length = ERC721.balanceOf(to);
        _ownedTokens[to][length] = tokenId;
        _ownedTokensIndex[tokenId] = length;
    }
    function _addTokenToAllTokensEnumeration(uint256 tokenId) private {
        _allTokensIndex[tokenId] = _allTokens.length;
        _allTokens.push(tokenId);
    }
    function _removeTokenFromOwnerEnumeration(address from, uint256 tokenId) private {
        uint256 lastTokenIndex = ERC721.balanceOf(from) - 1;
        uint256 tokenIndex = _ownedTokensIndex[tokenId];
        if (tokenIndex != lastTokenIndex) {
            uint256 lastTokenId = _ownedTokens[from][lastTokenIndex];
            _ownedTokens[from][tokenIndex] = lastTokenId;
            _ownedTokensIndex[lastTokenId] = tokenIndex;
        }
        delete _ownedTokensIndex[tokenId];
        delete _ownedTokens[from][lastTokenIndex];
    }
    function _removeTokenFromAllTokensEnumeration(uint256 tokenId) private {
        uint256 lastTokenIndex = _allTokens.length - 1;
        uint256 tokenIndex = _allTokensIndex[tokenId];
        uint256 lastTokenId = _allTokens[lastTokenIndex];
        _allTokens[tokenIndex] = lastTokenId;
        _allTokensIndex[lastTokenId] = tokenIndex;
        delete _allTokensIndex[tokenId];
        _allTokens.pop();
    }
}

contract Croodle_Ape_Royalty_Contract is Ownable {
    address public croodleAddress;
    uint256 private currentRoyalties = 0;
    uint256 public totalRoyalties = 0;
    mapping(uint256 => uint256) public claimedRoyalties;
    event addRoyalty(uint256 amount);
    event royaltiesClaimed(uint256 amount);
    uint private totalNftsSupply = 10000;
    constructor(address _croodleAddress) {
        croodleAddress = _croodleAddress;
    }
    function addRoyalties() public payable {
        addRewards(msg.value);
    }
    function addRewards(uint256 amount) private {
        require(amount > 0, "Amount must be greater than 0");
        totalRoyalties = totalRoyalties + amount;
        uint256 splitted = amount;
        currentRoyalties += splitted / totalNftsSupply;
        emit addRoyalty(amount);
    }
    function nftsBalance(address nftAddress, address userAddress) private view returns (uint) {
        return ERC721Enumerable(nftAddress).balanceOf(userAddress);
    }
    function nftsBalanceOfUser(address userAddress) public view returns (uint) {
        return ERC721Enumerable(croodleAddress).balanceOf(userAddress);
    }
    function getRewardsToken(uint256 id) public view returns (uint256 rewards) {
        rewards += currentRoyalties - claimedRoyalties[id];
    }
    function getRoyalties() public view returns (uint256) {
        uint256 balance = 0;
        uint count = nftsBalance(croodleAddress, msg.sender);
        for (uint i = 0; i < count; i++) {
            uint tokenId = ERC721Enumerable(croodleAddress).tokenOfOwnerByIndex(msg.sender, i);
            balance += (getRewardsToken(tokenId));
        }
        return balance;
    }
    function getRoyaltiesOfUser(address userAddress) public view returns (uint256) {
        uint256 rewards = 0;
        uint count = nftsBalance(croodleAddress, userAddress);
        for (uint i = 0; i < count; i++) {
            uint tokenId = ERC721Enumerable(croodleAddress).tokenOfOwnerByIndex(userAddress, i);
            rewards += (getRewardsToken(tokenId));
        }
        return rewards;
    }
    function claimRoyalties() public {
        uint256 rewards = 0;
        uint count = nftsBalance(croodleAddress, msg.sender);
        for (uint i = 0; i < count; i++) {
            uint tokenId = ERC721Enumerable(croodleAddress).tokenOfOwnerByIndex(msg.sender, i);
            rewards += (getRewardsToken(tokenId));
            claimedRoyalties[tokenId] = currentRoyalties;
        }
        payable(msg.sender).transfer(rewards);
        emit royaltiesClaimed(rewards);
    }
}

Contract ABI

[{"inputs":[{"internalType":"address","name":"_croodleAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addRoyalty","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"royaltiesClaimed","type":"event"},{"inputs":[],"name":"addRoyalties","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"claimRoyalties","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"claimedRoyalties","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"croodleAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"id","type":"uint256"}],"name":"getRewardsToken","outputs":[{"internalType":"uint256","name":"rewards","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRoyalties","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getRoyaltiesOfUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"nftsBalanceOfUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalRoyalties","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526000600255600060035561271060055534801561002057600080fd5b50604051610a13380380610a1383398101604081905261003f916100bd565b6100483361006d565b600180546001600160a01b0319166001600160a01b03929092169190911790556100ed565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100cf57600080fd5b81516001600160a01b03811681146100e657600080fd5b9392505050565b610917806100fc6000396000f3fe6080604052600436106100a75760003560e01c80638da5cb5b116100645780638da5cb5b14610163578063b7319b6814610195578063c8a63208146101b5578063db4f6d31146101d5578063e5e7ec9b146101dd578063f2fde38b146101fd57600080fd5b8063069b7820146100ac57806333df048e146100c35780633cd972ac146100eb5780635e2e6eb01461010b578063715018a61461013857806386d026081461014d575b600080fd5b3480156100b857600080fd5b506100c161021d565b005b3480156100cf57600080fd5b506100d861035f565b6040519081526020015b60405180910390f35b3480156100f757600080fd5b506100d861010636600461080f565b610430565b34801561011757600080fd5b506100d861012636600461080f565b60046020526000908152604090205481565b34801561014457600080fd5b506100c161045c565b34801561015957600080fd5b506100d860035481565b34801561016f57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016100e2565b3480156101a157600080fd5b5060015461017d906001600160a01b031681565b3480156101c157600080fd5b506100d86101d0366004610828565b610470565b6100c1610544565b3480156101e957600080fd5b506100d86101f8366004610828565b61054d565b34801561020957600080fd5b506100c1610218366004610828565b6105bc565b6001546000908190610238906001600160a01b03163361063a565b905060005b818110156102f857600154604051632f745c5960e01b8152336004820152602481018390526000916001600160a01b031690632f745c5990604401602060405180830381865afa158015610295573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b99190610851565b90506102c481610430565b6102ce9085610880565b600254600092835260046020526040909220919091559250806102f081610893565b91505061023d565b50604051339083156108fc029084906000818181858888f19350505050158015610326573d6000803e3d6000fd5b506040518281527fcd216841adf185beb9b19eaef4409cbaba4724f01b8330179708d5242de3ea5b906020015b60405180910390a15050565b6001546000908190819061037c906001600160a01b03163361063a565b905060005b8181101561042857600154604051632f745c5960e01b8152336004820152602481018390526000916001600160a01b031690632f745c5990604401602060405180830381865afa1580156103d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fd9190610851565b905061040881610430565b6104129085610880565b935050808061042090610893565b915050610381565b509092915050565b60008181526004602052604081205460025461044c91906108ac565b6104569082610880565b92915050565b6104646106af565b61046e6000610709565b565b6001546000908190819061048d906001600160a01b03168561063a565b905060005b8181101561053b57600154604051632f745c5960e01b81526001600160a01b038781166004830152602482018490526000921690632f745c5990604401602060405180830381865afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105109190610851565b905061051b81610430565b6105259085610880565b935050808061053390610893565b915050610492565b50909392505050565b61046e34610759565b6001546040516370a0823160e01b81526001600160a01b03838116600483015260009216906370a0823190602401602060405180830381865afa158015610598573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104569190610851565b6105c46106af565b6001600160a01b03811661062e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61063781610709565b50565b6040516370a0823160e01b81526001600160a01b038281166004830152600091908416906370a0823190602401602060405180830381865afa158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a89190610851565b9392505050565b6000546001600160a01b0316331461046e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610625565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081116107a95760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610625565b806003546107b79190610880565b60035560055481906107c990826108bf565b600260008282546107da9190610880565b90915550506040518281527fad73e2ae84ae4d0ffa0d3da98850e5bfa9b1e1e681a6c8eec1b889e4d6e8783a90602001610353565b60006020828403121561082157600080fd5b5035919050565b60006020828403121561083a57600080fd5b81356001600160a01b03811681146106a857600080fd5b60006020828403121561086357600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156104565761045661086a565b6000600182016108a5576108a561086a565b5060010190565b818103818111156104565761045661086a565b6000826108dc57634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212205319c2e214099832175818aef6f991a3b141674f0ee6d18a695eee7f76ee43d164736f6c63430008100033000000000000000000000000f3a7baeadf59f6900c0202a4680d958b9ad4b713

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

000000000000000000000000f3a7baeadf59f6900c0202a4680d958b9ad4b713

-----Decoded View---------------
Arg [0] : _croodleAddress (address): 0xf3a7baeadf59f6900c0202a4680d958b9ad4b713

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000f3a7baeadf59f6900c0202a4680d958b9ad4b713


Deployed ByteCode Sourcemap

18770:2619:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20900:486;;;;;;;;;;;;;:::i;:::-;;20093:384;;;;;;;;;;;;;:::i;:::-;;;160:25:1;;;148:2;133:18;20093:384:0;;;;;;;;19943:144;;;;;;;;;;-1:-1:-1;19943:144:0;;;;;:::i;:::-;;:::i;18945:51::-;;;;;;;;;;-1:-1:-1;18945:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;843:103;;;;;;;;;;;;;:::i;18905:33::-;;;;;;;;;;;;;;;;612:87;;;;;;;;;;-1:-1:-1;658:7:0;685:6;-1:-1:-1;;;;;685:6:0;612:87;;;-1:-1:-1;;;;;545:32:1;;;527:51;;515:2;500:18;612:87:0;381:203:1;18826:29:0;;;;;;;;;;-1:-1:-1;18826:29:0;;;;-1:-1:-1;;;;;18826:29:0;;;20483:411;;;;;;;;;;-1:-1:-1;20483:411:0;;;;;:::i;:::-;;:::i;19224:79::-;;;:::i;19781:156::-;;;;;;;;;;-1:-1:-1;19781:156:0;;;;;:::i;:::-;;:::i;952:201::-;;;;;;;;;;-1:-1:-1;952:201:0;;;;;:::i;:::-;;:::i;20900:486::-;20999:14;;20944:15;;;;20987:39;;-1:-1:-1;;;;;20999:14:0;21015:10;20987:11;:39::i;:::-;20974:52;;21042:6;21037:253;21058:5;21054:1;:9;21037:253;;;21117:14;;21100:67;;-1:-1:-1;;;21100:67:0;;21153:10;21100:67;;;1054:51:1;1121:18;;;1114:34;;;21085:12:0;;-1:-1:-1;;;;;21117:14:0;;21100:52;;1027:18:1;;21100:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21085:82;;21194:24;21210:7;21194:15;:24::i;:::-;21182:37;;;;:::i;:::-;21262:16;;21234:25;;;;:16;:25;;;;;;:44;;;;21182:37;-1:-1:-1;21065:3:0;;;;:::i;:::-;;;;21037:253;;;-1:-1:-1;21300:37:0;;21308:10;;21300:37;;;;;21329:7;;21300:37;;;;21329:7;21308:10;21300:37;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21353:25:0;;160::1;;;21353::0;;148:2:1;133:18;21353:25:0;;;;;;;;20933:453;;20900:486::o;20093:384::-;20213:14;;20138:7;;;;;;20201:39;;-1:-1:-1;;;;;20213:14:0;20229:10;20201:11;:39::i;:::-;20188:52;;20256:6;20251:194;20272:5;20268:1;:9;20251:194;;;20331:14;;20314:67;;-1:-1:-1;;;20314:67:0;;20367:10;20314:67;;;1054:51:1;1121:18;;;1114:34;;;20299:12:0;;-1:-1:-1;;;;;20331:14:0;;20314:52;;1027:18:1;;20314:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20299:82;;20408:24;20424:7;20408:15;:24::i;:::-;20396:37;;;;:::i;:::-;;;20284:161;20279:3;;;;;:::i;:::-;;;;20251:194;;;-1:-1:-1;20462:7:0;;20093:384;-1:-1:-1;;20093:384:0:o;19943:144::-;20001:15;20059:20;;;:16;:20;;;;;;20040:16;;:39;;20059:20;20040:39;:::i;:::-;20029:50;;;;:::i;:::-;;19943:144;-1:-1:-1;;19943:144:0:o;843:103::-;573:13;:11;:13::i;:::-;908:30:::1;935:1;908:18;:30::i;:::-;843:103::o:0;20483:411::-;20628:14;;20553:7;;;;;;20616:40;;-1:-1:-1;;;;;20628:14:0;20644:11;20616;:40::i;:::-;20603:53;;20672:6;20667:195;20688:5;20684:1;:9;20667:195;;;20747:14;;20730:68;;-1:-1:-1;;;20730:68:0;;-1:-1:-1;;;;;1072:32:1;;;20730:68:0;;;1054:51:1;1121:18;;;1114:34;;;20715:12:0;;20747:14;;20730:52;;1027:18:1;;20730:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;20715:83;;20825:24;20841:7;20825:15;:24::i;:::-;20813:37;;;;:::i;:::-;;;20700:162;20695:3;;;;;:::i;:::-;;;;20667:195;;;-1:-1:-1;20879:7:0;;20483:411;-1:-1:-1;;;20483:411:0:o;19224:79::-;19274:21;19285:9;19274:10;:21::i;19781:156::-;19891:14;;19874:55;;-1:-1:-1;;;19874:55:0;;-1:-1:-1;;;;;545:32:1;;;19874:55:0;;;527:51:1;19850:4:0;;19891:14;;19874:42;;500:18:1;;19874:55:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;952:201::-;573:13;:11;:13::i;:::-;-1:-1:-1;;;;;1041:22:0;::::1;1033:73;;;::::0;-1:-1:-1;;;1033:73:0;;2085:2:1;1033:73:0::1;::::0;::::1;2067:21:1::0;2124:2;2104:18;;;2097:30;2163:34;2143:18;;;2136:62;-1:-1:-1;;;2214:18:1;;;2207:36;2260:19;;1033:73:0::1;;;;;;;;;1117:28;1136:8;1117:18;:28::i;:::-;952:201:::0;:::o;19608:167::-;19716:51;;-1:-1:-1;;;19716:51:0;;-1:-1:-1;;;;;545:32:1;;;19716:51:0;;;527::1;19692:4:0;;19716:38;;;;;;500:18:1;;19716:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19709:58;19608:167;-1:-1:-1;;;19608:167:0:o;705:132::-;658:7;685:6;-1:-1:-1;;;;;685:6:0;175:10;769:23;761:68;;;;-1:-1:-1;;;761:68:0;;2492:2:1;761:68:0;;;2474:21:1;;;2511:18;;;2504:30;2570:34;2550:18;;;2543:62;2622:18;;761:68:0;2290:356:1;1159:191:0;1233:16;1252:6;;-1:-1:-1;;;;;1269:17:0;;;-1:-1:-1;;;;;;1269:17:0;;;;;;1302:40;;1252:6;;;;;;;1302:40;;1233:16;1302:40;1222:128;1159:191;:::o;19309:293::-;19381:1;19372:6;:10;19364:52;;;;-1:-1:-1;;;19364:52:0;;2853:2:1;19364:52:0;;;2835:21:1;2892:2;2872:18;;;2865:30;2931:31;2911:18;;;2904:59;2980:18;;19364:52:0;2651:353:1;19364:52:0;19461:6;19444:14;;:23;;;;:::i;:::-;19427:14;:40;19545:15;;19497:6;;19534:26;;19497:6;19534:26;:::i;:::-;19514:16;;:46;;;;;;;:::i;:::-;;;;-1:-1:-1;;19576:18:0;;160:25:1;;;19576:18:0;;148:2:1;133:18;19576::0;14:177:1;196:180;255:6;308:2;296:9;287:7;283:23;279:32;276:52;;;324:1;321;314:12;276:52;-1:-1:-1;347:23:1;;196:180;-1:-1:-1;196:180:1:o;589:286::-;648:6;701:2;689:9;680:7;676:23;672:32;669:52;;;717:1;714;707:12;669:52;743:23;;-1:-1:-1;;;;;795:31:1;;785:42;;775:70;;841:1;838;831:12;1159:184;1229:6;1282:2;1270:9;1261:7;1257:23;1253:32;1250:52;;;1298:1;1295;1288:12;1250:52;-1:-1:-1;1321:16:1;;1159:184;-1:-1:-1;1159:184:1:o;1348:127::-;1409:10;1404:3;1400:20;1397:1;1390:31;1440:4;1437:1;1430:15;1464:4;1461:1;1454:15;1480:125;1545:9;;;1566:10;;;1563:36;;;1579:18;;:::i;1610:135::-;1649:3;1670:17;;;1667:43;;1690:18;;:::i;:::-;-1:-1:-1;1737:1:1;1726:13;;1610:135::o;1750:128::-;1817:9;;;1838:11;;;1835:37;;;1852:18;;:::i;3009:217::-;3049:1;3075;3065:132;;3119:10;3114:3;3110:20;3107:1;3100:31;3154:4;3151:1;3144:15;3182:4;3179:1;3172:15;3065:132;-1:-1:-1;3211:9:1;;3009:217::o

Swarm Source

ipfs://5319c2e214099832175818aef6f991a3b141674f0ee6d18a695eee7f76ee43d1
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.