Contract 0x57e3Ae47722c5653A05d3EcE1F026E35A358507D

Contract Overview

Balance:
0 Ether
Txn Hash
Method
Block
From
To
Value
0x14242f394a7fc92d9e5545bc44d31a606eeb3a31027e5ca09b4e1ed1036531350xd1c58bdd106983452022-05-18 16:19:411 day 17 hrs ago0x8b82f13f1c5c70caed42480872ce397d357489e0 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.11741067390
0x7a808e98df1ef29599371727278cdef671401c666aa2f6e0c7943e81899b6f48Set Approval For...106983432022-05-18 16:19:111 day 17 hrs ago0x8b82f13f1c5c70caed42480872ce397d357489e0 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.0000560759961.199999931
0x754e1a5149d204664e77c3457928d89e23772aff0378f7e7193aa22be0a333a00xd1c58bdd106983272022-05-18 16:15:111 day 17 hrs ago0xd06cfccc5f7cb533ad0452bf84cc7f1a39702e35 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.12407967 390
0x0f316b09c4178f4540f961bda360b9c698e3661bfc8801c615f072c659992ae0Set Approval For...106983252022-05-18 16:14:411 day 17 hrs ago0xd06cfccc5f7cb533ad0452bf84cc7f1a39702e35 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.000116825 2.500000012
0x6e63a9b36e11e5cde8b525553febf907060be243132ef23e321eda24aa5705f00xd1c58bdd106924232022-05-17 15:29:312 days 18 hrs ago0xd18057b5789bb77dd1f78c3f802669a272de13c9 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.12407499390
0xd7985e5de36d762c3cfd3f3aefbbd463b93bb46455229bfc22b3e8fcf8138559Set Approval For...106924232022-05-17 15:29:312 days 18 hrs ago0xd18057b5789bb77dd1f78c3f802669a272de13c9 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.0000615507981.317158114
0xd238f356d909cb144b11377473a30635ff09a8501c628d104672a76edf8877600xd1c58bdd106921822022-05-17 14:28:362 days 19 hrs ago0xdbd6fcaac493bd5bbe639b764b99d1aa98597b17 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.12407967 390
0xbbbee4695070e469f8cedfe29402cb308d08d4f42766e914db2867f485173970Set Approval For...106921802022-05-17 14:28:062 days 19 hrs ago0xdbd6fcaac493bd5bbe639b764b99d1aa98597b17 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.000159685105 3.417186072
0xb94739cd1dfbefb04498661d70a8e9b5e7bd57e5a9c4638762bb234a244ad4a50xd1c58bdd106905452022-05-17 7:37:023 days 2 hrs ago0x88457d70f920ce8483e71f6eb2c8a5f4ae11ca89 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.000602106049 2.000000166
0x94644097488b85828b4bec5b9b81a274fb263560f14348dff7ec050c7267c96b0xd1c58bdd106860492022-05-16 12:49:013 days 21 hrs ago0x88457d70f920ce8483e71f6eb2c8a5f4ae11ca89 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.00101839164 3.38303499
0x178c7ff48fed1da021a70914f6117c1f4bbf0a3d23a1440d00e247d2b3b8506c0xd1c58bdd106860092022-05-16 12:38:593 days 21 hrs ago0x88457d70f920ce8483e71f6eb2c8a5f4ae11ca89 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.001033616224 3.433336403
0x2e2013cbe9e64afae5deb1c4dd943d428e75525b60ec2a6ae47c92f0ff50cf730xd1c58bdd106678202022-05-13 8:08:107 days 1 hr ago0x984a688cdc470c00558cc728f011f163ba222a4d IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.000451588222 1.500028974
0xe4b5ec231887984e7b3ed16e1114a35d049fa0d52fa5db7124560fce2440d9190xd1c58bdd106637992022-05-12 15:09:547 days 18 hrs ago0x984a688cdc470c00558cc728f011f163ba222a4d IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.000960981886 3.192068793
0xa2e59826c221d7eeda29565385656c03d61bcb68441683c6d8dc69c79485a536Set Approval For...106630692022-05-12 12:05:267 days 21 hrs ago0x88457d70f920ce8483e71f6eb2c8a5f4ae11ca89 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.000150287933 3.216091014
0x8d1b1df86b75f6da2a5cd8251b552c77aef3c92662dd0d8f01bccafe95b36f19Set Approval For...106277072022-05-06 7:21:1214 days 2 hrs ago0x2a925cfc847be21d4db4b35f2d688ba3291596ea IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.0018692 40
0x155be41ea2c28f3153a0d49358a2be7ee335fe1c7657467c85320f327207b6ee0xd1c58bdd106176972022-05-04 13:24:3315 days 20 hrs ago0x2c32aa1cbb90393eff597645d6fdee7bb3511f20 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.00301523842 10.015639838
0x9d307e45c2d0388e691bfa811c7717726f0de8fd1b7eac9399474b8fcbaa03550xd1c58bdd106174552022-05-04 12:23:5715 days 21 hrs ago0x88457d70f920ce8483e71f6eb2c8a5f4ae11ca89 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.11740599 390
0x04c3618ccf9e6a20f65b0797bb02f2a846123f73cd48d9a3cc3c384a81b3504f0xd1c58bdd106174402022-05-04 12:20:1115 days 21 hrs ago0x2c32aa1cbb90393eff597645d6fdee7bb3511f20 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.004328720079 14.378598052
0x9945a8f5e6c6c10c79a7c3ec96efe4e50ad2e527cce404936f64016ba6cf6c030xd1c58bdd105648842022-04-25 8:24:2425 days 1 hr ago0x88457d70f920ce8483e71f6eb2c8a5f4ae11ca89 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.000602106008 2.000000027
0x1a3c41d955915c376e55c938799286a4af9d5b80d233dbe8fe27bcaa80a6dd120xd1c58bdd105648712022-04-25 8:21:0925 days 1 hr ago0x2c32aa1cbb90393eff597645d6fdee7bb3511f20 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.000602106008 2.000000027
0xbca5d400ce92b47d767e1349516c0cd26ae1bfe97569911b2c1942289d150e400xd1c58bdd105593292022-04-24 9:10:5826 days 38 mins ago0xb711c2a17066da6289520c8d70f59d867239656b IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.1272612 400
0x6bad7e3a2c5b7ededd89d5490138576b6268fc52580c4a7046036b04dfea6e56Set Approval For...105592502022-04-24 8:51:0726 days 58 mins ago0xc7fdb8e887168dcd0c07c88fc8f1491a94528cb1 IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.000116825001 2.500000038
0x59b285699978818488ad74861a044ad578d0c1f771544aed39e7a62a3fbae1a50xd1c58bdd105591682022-04-24 8:30:3626 days 1 hr ago0xb711c2a17066da6289520c8d70f59d867239656b IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.12407967 390
0xcf13da03b67d3f63483800b8223c3d3f2605020f4051d3e547fbd60bf1b7f351Burn105591352022-04-24 8:22:1926 days 1 hr ago0xb711c2a17066da6289520c8d70f59d867239656b IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.000172592502 2.500000041
0xe02290e67c76dbc74d40e6fdccde5407910a40d2047e60445cab66a013c7c2c20xd1c58bdd105591322022-04-24 8:21:3426 days 1 hr ago0xb711c2a17066da6289520c8d70f59d867239656b IN  0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether0.1272564 400
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x14242f394a7fc92d9e5545bc44d31a606eeb3a31027e5ca09b4e1ed103653135106983452022-05-18 16:19:411 day 17 hrs ago 0x57e3ae47722c5653a05d3ece1f026e35a358507d0x00000000000000000000000000000000000000010 Ether
0x754e1a5149d204664e77c3457928d89e23772aff0378f7e7193aa22be0a333a0106983272022-05-18 16:15:111 day 17 hrs ago 0x57e3ae47722c5653a05d3ece1f026e35a358507d0x00000000000000000000000000000000000000010 Ether
0x431baf3267e759e1dcf61207cd14098bfe11d901bd428ee483394fc19d7b21ce106924542022-05-17 15:37:182 days 18 hrs ago 0x1e58c09e3ce74b44d4173d4cae1bd95fbf381fe1 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0x431baf3267e759e1dcf61207cd14098bfe11d901bd428ee483394fc19d7b21ce106924542022-05-17 15:37:182 days 18 hrs ago 0x749512bdbbc8938e0adb6e4b619c0f407405002e 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0x431baf3267e759e1dcf61207cd14098bfe11d901bd428ee483394fc19d7b21ce106924542022-05-17 15:37:182 days 18 hrs ago 0x749512bdbbc8938e0adb6e4b619c0f407405002e 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0x6e63a9b36e11e5cde8b525553febf907060be243132ef23e321eda24aa5705f0106924232022-05-17 15:29:312 days 18 hrs ago 0x57e3ae47722c5653a05d3ece1f026e35a358507d0x00000000000000000000000000000000000000010 Ether
0xd238f356d909cb144b11377473a30635ff09a8501c628d104672a76edf887760106921822022-05-17 14:28:362 days 19 hrs ago 0x57e3ae47722c5653a05d3ece1f026e35a358507d0x00000000000000000000000000000000000000010 Ether
0x0e5b9befeb6aa4d138f2fa7ffb6233f4c5fc22f1fb8ec296ce81bc578e196ca5106905532022-05-17 7:39:033 days 2 hrs ago 0x1e58c09e3ce74b44d4173d4cae1bd95fbf381fe1 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0x0e5b9befeb6aa4d138f2fa7ffb6233f4c5fc22f1fb8ec296ce81bc578e196ca5106905532022-05-17 7:39:033 days 2 hrs ago 0x749512bdbbc8938e0adb6e4b619c0f407405002e 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0x0e5b9befeb6aa4d138f2fa7ffb6233f4c5fc22f1fb8ec296ce81bc578e196ca5106905532022-05-17 7:39:033 days 2 hrs ago 0x749512bdbbc8938e0adb6e4b619c0f407405002e 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0xb94739cd1dfbefb04498661d70a8e9b5e7bd57e5a9c4638762bb234a244ad4a5106905452022-05-17 7:37:023 days 2 hrs ago 0x57e3ae47722c5653a05d3ece1f026e35a358507d0x00000000000000000000000000000000000000010 Ether
0xc1c477319644542e038ea15a5651fa1f3079048f082ad1bf78766d2b8aa87ff2106860742022-05-16 12:55:183 days 20 hrs ago 0x1e58c09e3ce74b44d4173d4cae1bd95fbf381fe1 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0xc1c477319644542e038ea15a5651fa1f3079048f082ad1bf78766d2b8aa87ff2106860742022-05-16 12:55:183 days 20 hrs ago 0x749512bdbbc8938e0adb6e4b619c0f407405002e 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0xc1c477319644542e038ea15a5651fa1f3079048f082ad1bf78766d2b8aa87ff2106860742022-05-16 12:55:183 days 20 hrs ago 0x749512bdbbc8938e0adb6e4b619c0f407405002e 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0x94644097488b85828b4bec5b9b81a274fb263560f14348dff7ec050c7267c96b106860492022-05-16 12:49:013 days 21 hrs ago 0x57e3ae47722c5653a05d3ece1f026e35a358507d0x00000000000000000000000000000000000000010 Ether
0xd85ec12f0cab573bf07f3549a9188e0f6307f62d2fb855f1e44c2321820d2dda106860322022-05-16 12:44:453 days 21 hrs ago 0x1e58c09e3ce74b44d4173d4cae1bd95fbf381fe1 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0xd85ec12f0cab573bf07f3549a9188e0f6307f62d2fb855f1e44c2321820d2dda106860322022-05-16 12:44:453 days 21 hrs ago 0x749512bdbbc8938e0adb6e4b619c0f407405002e 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0xd85ec12f0cab573bf07f3549a9188e0f6307f62d2fb855f1e44c2321820d2dda106860322022-05-16 12:44:453 days 21 hrs ago 0x749512bdbbc8938e0adb6e4b619c0f407405002e 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0x9ec62e51e221ad0d1a95b1c5006028e9d71ea8e8d7de16e845a307865f4b234a106860182022-05-16 12:41:143 days 21 hrs ago 0x1e58c09e3ce74b44d4173d4cae1bd95fbf381fe1 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0x9ec62e51e221ad0d1a95b1c5006028e9d71ea8e8d7de16e845a307865f4b234a106860182022-05-16 12:41:143 days 21 hrs ago 0x749512bdbbc8938e0adb6e4b619c0f407405002e 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0x9ec62e51e221ad0d1a95b1c5006028e9d71ea8e8d7de16e845a307865f4b234a106860182022-05-16 12:41:143 days 21 hrs ago 0x749512bdbbc8938e0adb6e4b619c0f407405002e 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
0x178c7ff48fed1da021a70914f6117c1f4bbf0a3d23a1440d00e247d2b3b8506c106860092022-05-16 12:38:593 days 21 hrs ago 0x57e3ae47722c5653a05d3ece1f026e35a358507d0x00000000000000000000000000000000000000010 Ether
0x2e2013cbe9e64afae5deb1c4dd943d428e75525b60ec2a6ae47c92f0ff50cf73106678202022-05-13 8:08:107 days 1 hr ago 0x57e3ae47722c5653a05d3ece1f026e35a358507d0x00000000000000000000000000000000000000010 Ether
0xe4b5ec231887984e7b3ed16e1114a35d049fa0d52fa5db7124560fce2440d919106637992022-05-12 15:09:547 days 18 hrs ago 0x57e3ae47722c5653a05d3ece1f026e35a358507d0x00000000000000000000000000000000000000010 Ether
0x29ce940f91c8b2da3053fe5d34e88e44677cb5a50c755dda18192a941b876b09106576992022-05-11 13:03:128 days 20 hrs ago 0x1e58c09e3ce74b44d4173d4cae1bd95fbf381fe1 0x57e3ae47722c5653a05d3ece1f026e35a358507d0 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
paradoxNFT721V3

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
byzantium EvmVersion
File 1 of 1 : BafNft721.sol
// SPDX-License-Identifier:UNLICENSED
pragma solidity ^0.8.4;

library Strings {

    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);
        uint256 index = digits - 1;
        temp = value;
        while (temp != 0) {
            buffer[index--] = bytes1(uint8(48 + temp % 10));
            temp /= 10;
        }
        return string(buffer);
    }
}

library EnumerableMap {

    struct MapEntry {
        bytes32 _key;
        bytes32 _value;
    }

    struct Map {
        MapEntry[] _entries;

        mapping (bytes32 => uint256) _indexes;
    }

    function _set(Map storage map, bytes32 key, bytes32 value) private returns (bool) {
        uint256 keyIndex = map._indexes[key];

        if (keyIndex == 0) { // Equivalent to !contains(map, key)
            map._entries.push(MapEntry({ _key: key, _value: value }));
            map._indexes[key] = map._entries.length;
            return true;
        } else {
            map._entries[keyIndex - 1]._value = value;
            return false;
        }
    }

    function _remove(Map storage map, bytes32 key) private returns (bool) {
        uint256 keyIndex = map._indexes[key];

        if (keyIndex != 0) { // Equivalent to contains(map, key)
            uint256 toDeleteIndex = keyIndex - 1;
            uint256 lastIndex = map._entries.length - 1;
            MapEntry storage lastEntry = map._entries[lastIndex];

            map._entries[toDeleteIndex] = lastEntry;
            map._indexes[lastEntry._key] = toDeleteIndex + 1; // All indexes are 1-based

            map._entries.pop();

            delete map._indexes[key];

            return true;
        } else {
            return false;
        }
    }

    function _contains(Map storage map, bytes32 key) private view returns (bool) {
        return map._indexes[key] != 0;
    }

    function _length(Map storage map) private view returns (uint256) {
        return map._entries.length;
    }

    function _at(Map storage map, uint256 index) private view returns (bytes32, bytes32) {
        require(map._entries.length > index, "EnumerableMap: index out of bounds");

        MapEntry storage entry = map._entries[index];
        return (entry._key, entry._value);
    }

    function _get(Map storage map, bytes32 key, string memory errorMessage) private view returns (bytes32) {
        uint256 keyIndex = map._indexes[key];
        require(keyIndex != 0, errorMessage); // Equivalent to contains(map, key)
        return map._entries[keyIndex - 1]._value; // All indexes are 1-based
    }

    struct UintToAddressMap {
        Map _inner;
    }

    function set(UintToAddressMap storage map, uint256 key, address value) internal returns (bool) {
        return _set(map._inner, bytes32(key), bytes32(uint256(uint160(value))));
    }

    function remove(UintToAddressMap storage map, uint256 key) internal returns (bool) {
        return _remove(map._inner, bytes32(key));
    }

    function contains(UintToAddressMap storage map, uint256 key) internal view returns (bool) {
        return _contains(map._inner, bytes32(key));
    }

    function length(UintToAddressMap storage map) internal view returns (uint256) {
        return _length(map._inner);
    }

    function at(UintToAddressMap storage map, uint256 index) internal view returns (uint256, address) {
        (bytes32 key, bytes32 value) = _at(map._inner, index);
        return (uint256(key), address(uint160(uint256(value))));
    }

    function get(UintToAddressMap storage map, uint256 key, string memory errorMessage) internal view returns (address) {
        return address(uint160(uint256(_get(map._inner, bytes32(key), errorMessage))));
    }
}

library EnumerableSet {
    struct Set {
        bytes32[] _values;
        mapping (bytes32 => uint256) _indexes;
    }

    function _add(Set storage set, bytes32 value) private returns (bool) {
        if (!_contains(set, value)) {
            set._values.push(value);
            set._indexes[value] = set._values.length;
            return true;
        } else {
            return false;
        }
    }

    function _remove(Set storage set, bytes32 value) private returns (bool) {
        uint256 valueIndex = set._indexes[value];

        if (valueIndex != 0) { // Equivalent to contains(set, value)
            uint256 toDeleteIndex = valueIndex - 1;
            uint256 lastIndex = set._values.length - 1;
            bytes32 lastvalue = set._values[lastIndex];

            set._values[toDeleteIndex] = lastvalue;
            set._indexes[lastvalue] = toDeleteIndex + 1; // All indexes are 1-based

            set._values.pop();

            delete set._indexes[value];

            return true;
        } else {
            return false;
        }
    }

    function _contains(Set storage set, bytes32 value) private view returns (bool) {
        return set._indexes[value] != 0;
    }

    function _length(Set storage set) private view returns (uint256) {
        return set._values.length;
    }

    function _at(Set storage set, uint256 index) private view returns (bytes32) {
        require(set._values.length > index, "EnumerableSet: index out of bounds");
        return set._values[index];
    }

    struct Bytes32Set {
        Set _inner;
    }

    function add(Bytes32Set storage set, bytes32 value) internal {
        _add(set._inner, value);
    }

    function remove(Bytes32Set storage set, bytes32 value) internal{
        _remove(set._inner, value);
    }

    function contains(Bytes32Set storage set, bytes32 value) internal view {
        _contains(set._inner, value);
    }

    function length(Bytes32Set storage set) internal view {
        _length(set._inner);
    }

    function at(Bytes32Set storage set, uint256 index) internal view {
        _at(set._inner, index);
    }

    struct UintSet {
        Set _inner;
    }

    function add(UintSet storage set, uint256 value) internal {
        _add(set._inner, bytes32(value));
    }

    function remove(UintSet storage set, uint256 value) internal {
        _remove(set._inner, bytes32(value));
    }

    function contains(UintSet storage set, uint256 value) internal view {
        _contains(set._inner, bytes32(value));
    }

    function length(UintSet storage set) internal view returns (uint256) {
        return _length(set._inner);
    }

    function at(UintSet storage set, uint256 index) internal view returns (uint256) {
        return uint256(_at(set._inner, index));
    }
}

library Address {

    function isContract(address account) internal view returns (bool) {
        uint256 size;
        assembly { size := extcodesize(account) }
        return size > 0;
    }

    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, 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 _verifyCallResult(bool success, bytes memory returndata, string memory errorMessage) private 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);
            }
        }
    }
} 

interface IERC165 {

    /**
     * @dev Returns true if this contract implements the interface defined by
     * `interfaceId`. See the corresponding
     * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
     * to learn more about how these ids are created.
     *
     * This function call must use less than 30 000 gas.
     */ 

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

abstract contract ERC165 is IERC165 {

    bytes4 private constant _INTERFACE_ID_ERC165 = 0x01ffc9a7;

    mapping(bytes4 => bool) private _supportedInterfaces;

    constructor () {
        _registerInterface(_INTERFACE_ID_ERC165);
    }

    function supportsInterface(bytes4 interfaceId) external view virtual override returns (bool) {
        return _supportedInterfaces[interfaceId];
    }

    function _registerInterface(bytes4 interfaceId) internal virtual {
        require(interfaceId != 0xffffffff, "ERC165: invalid interface id");
        _supportedInterfaces[interfaceId] = true;
    }
}

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);

    event URI(string value, uint256 indexed id);

    event tokenBaseURI(string value);

    function balanceOf(address owner) external view returns (uint256 balance);

    function royaltyFee(uint256 tokenId) external view  returns(uint256);
        
    function getCreator(uint256 tokenId) external view returns(address);

    function ownerOf(uint256 tokenId) external view returns (address owner);

    function contractOwner() external view returns(address owner);

    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 getApproved(uint256 tokenId) external view returns (address operator);

    function setApprovalForAll(address operator, bool _approved) external;

    function isApprovedForAll(address owner, address operator) external view returns (bool);

    function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;

    function mintAndTransfer(address from, address to, uint256 itemId, uint256 fee, string memory _tokenURI, bytes memory data)external returns(uint256);
}


interface IERC721Receiver {

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

interface IERC721Enumerable is IERC721 {

    function totalSupply() external view returns (uint256);

    function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId);

    function tokenByIndex(uint256 index) external view returns (uint256);
}

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);
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }
}

contract ERC721 is Context, ERC165, IERC721, IERC721Metadata, IERC721Enumerable {
    using Address for address;
    using EnumerableSet for EnumerableSet.UintSet;
    using EnumerableMap for EnumerableMap.UintToAddressMap;
    using Strings for uint256;

    bytes4 private constant _ERC721_RECEIVED = 0x150b7a02;

    // Mapping from token ID to account balances

    mapping (address => EnumerableSet.UintSet) private _holderTokens;

    EnumerableMap.UintToAddressMap private _tokenOwners;

     // Mapping from tokenId to operator approvals

    mapping (uint256 => address) private _tokenApprovals;

    // Mapping from account to operator approvals

    mapping (address => mapping (address => bool)) private _operatorApprovals;

    string private _name;

    string private _symbol;

    // mapping for token URIs

    mapping (uint256 => string) private _tokenURIs;

   // mapping for token royaltyFee    

    mapping(uint256 => uint256) private _royaltyFee;

  // mapping for token creator

    mapping (uint256 => address) private _creator;

    string private _baseURI = "https://gateway.pinata.cloud/ipfs/";

    address public owner;

    address public transferProxy;

    uint256 public tokenCounter;

    bytes4 private constant _INTERFACE_ID_ERC721 = 0x80ac58cd;

    bytes4 private constant _INTERFACE_ID_ERC721_METADATA = 0x5b5e139f;

    bytes4 private constant _INTERFACE_ID_ERC721_ENUMERABLE = 0x780e9d63;

    constructor (string memory name_, string memory symbol_, address _transferProxy) {
        _name = name_;
        _symbol = symbol_;
        owner = msg.sender;
        transferProxy = _transferProxy;
        tokenCounter = 1;

        _registerInterface(_INTERFACE_ID_ERC721);
        _registerInterface(_INTERFACE_ID_ERC721_METADATA);
        _registerInterface(_INTERFACE_ID_ERC721_ENUMERABLE);
    }

    /**
        @notice Get the Token balance of an account's.
        @param owner  The address of the token holder
        @return        The account's balance of the Token type requested
     */

    function balanceOf(address owner) external view virtual override returns (uint256) {
        require(owner != address(0), "ERC721: balance query for the zero address");
        return _holderTokens[owner].length();
    }

    /**
        @notice Get the owner of tokenId.
        @param tokenId  The tokenId of the token holder
        @return        The current owner of the requested tokenId
     */

    function ownerOf(uint256 tokenId) public view virtual override returns (address) {
        return _tokenOwners.get(tokenId, "ERC721: owner query for nonexistent token");
    }

    function name() external view virtual override returns (string memory) {
        return _name;
    }

    function symbol() external view virtual override returns (string memory) {
        return _symbol;
    }

    function contractOwner() public view virtual override returns(address){
        return owner;
    }

    function tokenURI(uint256 tokenId) external view virtual override returns (string memory) {
        require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token");

        string memory _tokenURI = _tokenURIs[tokenId];
        string memory base = baseURI();

        if (bytes(base).length == 0) {
            return _tokenURI;
        }
        if (bytes(_tokenURI).length > 0) {
            return string(abi.encodePacked(base, _tokenURI));
        }
        return string(abi.encodePacked(base, tokenId.toString()));
    }

    function baseURI() public view virtual returns (string memory) {
        return _baseURI;
    }

    function royaltyFee(uint256 tokenId) external view override returns(uint256) {
        return _royaltyFee[tokenId];
    }

    function getCreator(uint256 tokenId) external view override returns(address) {
        return _creator[tokenId];
    }

    function tokenOfOwnerByIndex(address owner, uint256 index) external view virtual override returns (uint256) {
        return _holderTokens[owner].at(index);
    }

    function totalSupply() external view virtual override returns (uint256) {
        return _tokenOwners.length();
    }

    function tokenByIndex(uint256 index) external view virtual override returns (uint256) {
        (uint256 tokenId, ) = _tokenOwners.at(index);
        return tokenId;
    }

    function approve(address to, uint256 tokenId) external virtual override {
        address owner = ERC721.ownerOf(tokenId);
        require(to != owner, "ERC721: approval to current owner");

        require(_msgSender() == owner || ERC721.isApprovedForAll(owner, _msgSender()),
            "ERC721: approve caller is not owner nor approved for all"
        );

        _approve(to, tokenId);
    }

    function getApproved(uint256 tokenId) public view virtual override returns (address) {
        require(_exists(tokenId), "ERC721: approved query for nonexistent token");

        return _tokenApprovals[tokenId];
    }

    /**
        @notice Enable or disable approval for a third party ("operator") to manage all of the caller's tokens.
        @dev MUST emit the ApprovalForAll event on success.
        @param operator  Address to add to the set of authorized operators
        @param approved  True if the operator is approved, false to revoke approval
    */

    function setApprovalForAll(address operator, bool approved) external virtual override {
        require(operator != _msgSender(), "ERC721: approve to caller");

        _operatorApprovals[_msgSender()][operator] = approved;
        emit ApprovalForAll(_msgSender(), operator, approved);
    }

    /**
        @notice Queries the approval status of an operator for a given owner.
        @param owner     The owner of the Tokens
        @param operator  Address of authorized operator
        @return           True if the operator is approved, false if not
    */

    function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) {
        return _operatorApprovals[owner][operator];
    }

    function transferFrom(address from, address to, uint256 tokenId) external virtual override {
        require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved");

        _transfer(from, to, tokenId);
    }

    function safeTransferFrom(address from, address to, uint256 tokenId) external virtual override {
        safeTransferFrom(from, to, tokenId, "");
    }


    /**
        @notice Transfers `_value` amount of an `_id` from the `_from` address to the `_to` address specified (with safety call).
        @dev Caller must be approved to manage the tokens being transferred out of the `_from` account (see "Approval" section of the standard).
        MUST revert if `_to` is the zero address.
        MUST revert if balance of holder for token `_id` is lower than the `_value` sent.
        MUST revert on any other error.
        MUST emit the `TransferSingle` event to reflect the balance change (see "Safe Transfer Rules" section of the standard).
        After the above conditions are met, this function MUST check if `_to` is a smart contract (e.g. code size > 0). If so, it MUST call `onERC1155Received` on `_to` and act appropriately (see "Safe Transfer Rules" section of the standard).
        @param from    Source address
        @param to      Target address
        @param tokenId      ID of the token type.
        @param _data    Additional data with no specified format, MUST be sent unaltered in call to `onERC1155Received` on `_to`
    */

    function safeTransferFrom(address from, address to, uint256 tokenId, bytes memory _data) public virtual override {
        require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not 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 _tokenOwners.contains(tokenId);
    }

    function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) {
        require(_exists(tokenId), "ERC721: operator query for nonexistent token");
        address owner = ERC721.ownerOf(tokenId);
        return (spender == owner || getApproved(tokenId) == spender || ERC721.isApprovedForAll(owner, spender));
    }

    function _safeMint(address to, uint256 tokenId, uint256 fee) internal virtual {
        _safeMint(to, tokenId, fee, "");
    }

    function _safeMint(address to, uint256 tokenId, uint256 fee, bytes memory _data) internal virtual {
        _mint(to, tokenId, fee);
        require(_checkOnERC721Received(address(0), to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer");
    }

    function _mint(address to, uint256 tokenId, uint256 fee) internal virtual {
        require(to != address(0), "ERC721: mint to the zero address");
        require(!_exists(tokenId), "ERC721: token already minted");

        _beforeTokenTransfer(address(0), to, tokenId);

        _holderTokens[to].add(tokenId);

        _tokenOwners.set(tokenId, to);
        _creator[tokenId] = msg.sender;
        _royaltyFee[tokenId] = fee;

        emit Transfer(address(0), to, tokenId);
       
    }

     /**
     * @dev Internal function to burn a specific token.
     * Reverts if the token does not exist.
     * Deprecated, use {ERC721-_burn} instead.
     * required msg.sender must be owner of the token.
     * @param tokenId uint256 Token being burned
     */

    function _burn(uint256 tokenId) internal virtual {
        require(msg.sender == ownerOf(tokenId),"caller not owner");
        address owner = ERC721.ownerOf(tokenId); // internal owner

        _beforeTokenTransfer(owner, address(0), tokenId);

        _approve(address(0), tokenId);

        if (bytes(_tokenURIs[tokenId]).length != 0) {
            delete _tokenURIs[tokenId];
        }

        _holderTokens[owner].remove(tokenId);

        _tokenOwners.remove(tokenId);

        emit Transfer(owner, address(0), tokenId);
    }

    function _transfer(address from, address to, uint256 tokenId) internal virtual {
        require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer of token that is not own"); // internal owner
        require(to != address(0), "ERC721: transfer to the zero address");

        _beforeTokenTransfer(from, to, tokenId);

        _approve(address(0), tokenId);

        _holderTokens[from].remove(tokenId);
        _holderTokens[to].add(tokenId);

        _tokenOwners.set(tokenId, to);

        emit Transfer(from, to, tokenId);
    }

     /**
     * @dev Internal function to set the token URI for a given token.
     * Reverts if the token ID does not exist.
     * @param tokenId uint256 ID of the token to set its URI
     * @param _tokenURI string URI to assign
     */

    function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual {
        require(_exists(tokenId), "ERC721Metadata: URI set of nonexistent token");
        _tokenURIs[tokenId] = _tokenURI;
         emit URI(_tokenURI, tokenId);
    }

    function _setBaseURI(string memory baseURI_) internal virtual {
        _baseURI = baseURI_;
        emit tokenBaseURI(baseURI_);
    }

    function _checkOnERC721Received(address from, address to, uint256 tokenId, bytes memory _data)
        private returns (bool)
    {
        if (!to.isContract()) {
            return true;
        }
        bytes memory returndata = to.functionCall(abi.encodeWithSelector(
            IERC721Receiver(to).onERC721Received.selector,
            _msgSender(),
            from,
            tokenId,
            _data
        ), "ERC721: transfer to non ERC721Receiver implementer");
        bytes4 retval = abi.decode(returndata, (bytes4));
        return (retval == _ERC721_RECEIVED);
    }

    function _approve(address to, uint256 tokenId) internal virtual {
        _tokenApprovals[tokenId] = to;
        emit Approval(ERC721.ownerOf(tokenId), to, tokenId); // internal owner
    }

    function mintAndTransfer(address from, address to, uint256 itemId, uint256 fee, string memory _tokenURI, bytes memory data) public virtual override returns(uint256){
        require(msg.sender == transferProxy,"ERC721: caller is not Approved");
        itemId = tokenCounter;
        _safeMint(from, itemId, fee);
        _setTokenURI(itemId, _tokenURI);
        _safeTransfer(from, to, itemId, data);
        tokenCounter += 1;
        return itemId;

    }

    function _beforeTokenTransfer(address from, address to, uint256 tokenId) internal virtual { }
}

contract paradoxNFT721V3 is ERC721 {
    mapping(uint256 => bool) private usedNonce;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    struct Sign {
        uint8 v;
        bytes32 r;
        bytes32 s;
        uint256 nonce;
    }

    constructor (string memory tokenName, string memory tokenSymbol, address _transferProxy) ERC721 (tokenName, tokenSymbol, _transferProxy){
    }

    modifier onlyOwner() {
        require(owner == msg.sender, "Ownable: caller is not the owner");
        _;
    }

    function transferOwnership(address newOwner) external onlyOwner returns(bool){
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        owner = newOwner;
        emit OwnershipTransferred(owner, newOwner);
        return true;
    }

    function verifySign(string memory tokenURI, address caller, Sign memory sign) internal view {
        bytes32 hash = keccak256(abi.encodePacked(this, caller, tokenURI, sign.nonce));
        require(owner == ecrecover(keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash)), sign.v, sign.r, sign.s), "Owner sign verification failed");
    }

    
    /**
     * @dev Internal function to mint a new token.
     * Reverts if the given token ID already exists.
     * @param sign struct combination of uint8, bytes32, bytes32 are v, r, s.
     * @param tokenURI string memory URI of the token to be minted.
     * @param fee uint256 royalty of the token to be minted.
     */

    function createCollectible(string memory tokenURI, uint256 fee, Sign memory sign) external returns (uint256) {
        require(!usedNonce[sign.nonce], "Nonce : Invalid Nonce");
        usedNonce[sign.nonce] = true;
        uint256 newItemId = tokenCounter;
        verifySign(tokenURI, msg.sender, sign);
        _safeMint(msg.sender, newItemId, fee);
        _setTokenURI(newItemId, tokenURI);
        tokenCounter = tokenCounter + 1;
        return newItemId;
    }

    function setBaseURI(string memory _baseURI) external onlyOwner{
        _setBaseURI(_baseURI);
    }
    
    function burn(uint256 tokenId) external {
        require(_exists(tokenId), "ERC721: nonexistent token");
        _burn(tokenId);
    }
}

Settings
{
  "remappings": [],
  "optimizer": {
    "enabled": false,
    "runs": 200
  },
  "evmVersion": "byzantium",
  "libraries": {},
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract ABI

[{"inputs":[{"internalType":"string","name":"tokenName","type":"string"},{"internalType":"string","name":"tokenSymbol","type":"string"},{"internalType":"address","name":"_transferProxy","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"approved","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"operator","type":"address"},{"indexed":false,"internalType":"bool","name":"approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"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":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"URI","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"value","type":"string"}],"name":"tokenBaseURI","type":"event"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"tokenURI","type":"string"},{"internalType":"uint256","name":"fee","type":"uint256"},{"components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"internalType":"struct paradoxNFT721V3.Sign","name":"sign","type":"tuple"}],"name":"createCollectible","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getCreator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"fee","type":"uint256"},{"internalType":"string","name":"_tokenURI","type":"string"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"mintAndTransfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"royaltyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"bool","name":"approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_baseURI","type":"string"}],"name":"setBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenCounter","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferProxy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

6080604052604051806060016040528060228152602001620050ba60229139600b9080519060200190620000359291906200031c565b503480156200004357600080fd5b50604051620050dc380380620050dc833981810160405281019062000069919062000455565b828282620000a96301ffc9a77c01000000000000000000000000000000000000000000000000000000000262000228640100000000026401000000009004565b8260069080519060200190620000c19291906200031c565b508160079080519060200190620000da9291906200031c565b5033600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e81905550620001a26380ac58cd7c01000000000000000000000000000000000000000000000000000000000262000228640100000000026401000000009004565b620001df635b5e139f7c01000000000000000000000000000000000000000000000000000000000262000228640100000000026401000000009004565b6200021c63780e9d637c01000000000000000000000000000000000000000000000000000000000262000228640100000000026401000000009004565b5050505050506200071e565b63ffffffff7c010000000000000000000000000000000000000000000000000000000002817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161415620002b0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002a79062000504565b60405180910390fd5b6001600080837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b8280546200032a9062000600565b90600052602060002090601f0160209004810192826200034e57600085556200039a565b82601f106200036957805160ff19168380011785556200039a565b828001600101855582156200039a579182015b82811115620003995782518255916020019190600101906200037c565b5b509050620003a99190620003ad565b5090565b5b80821115620003c8576000816000905550600101620003ae565b5090565b6000620003e3620003dd846200054f565b62000526565b905082815260208101848484011115620003fc57600080fd5b62000409848285620005ca565b509392505050565b600081519050620004228162000704565b92915050565b600082601f8301126200043a57600080fd5b81516200044c848260208601620003cc565b91505092915050565b6000806000606084860312156200046b57600080fd5b600084015167ffffffffffffffff8111156200048657600080fd5b620004948682870162000428565b935050602084015167ffffffffffffffff811115620004b257600080fd5b620004c08682870162000428565b9250506040620004d38682870162000411565b9150509250925092565b6000620004ec601c8362000585565b9150620004f982620006db565b602082019050919050565b600060208201905081810360008301526200051f81620004dd565b9050919050565b60006200053262000545565b905062000540828262000636565b919050565b6000604051905090565b600067ffffffffffffffff8211156200056d576200056c6200069b565b5b6200057882620006ca565b9050602081019050919050565b600082825260208201905092915050565b6000620005a382620005aa565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60005b83811015620005ea578082015181840152602081019050620005cd565b83811115620005fa576000848401525b50505050565b600060028204905060018216806200061957607f821691505b6020821081141562000630576200062f6200066c565b5b50919050565b6200064182620006ca565b810181811067ffffffffffffffff821117156200066357620006626200069b565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4552433136353a20696e76616c696420696e7465726661636520696400000000600082015250565b6200070f8162000596565b81146200071b57600080fd5b50565b61498c806200072e6000396000f3fe608060405234801561001057600080fd5b50600436106101e1576000357c0100000000000000000000000000000000000000000000000000000000900480636e667db311610116578063c87b56dd116100b4578063d1c58bdd1161008e578063d1c58bdd1461054a578063d48e638a1461057a578063e985e9c5146105aa578063f2fde38b146105da576101e1565b8063c87b56dd146104de578063ce606ee01461050e578063d082e3811461052c576101e1565b806395d89b41116100f057806395d89b4114610458578063a22cb46514610476578063b88d4fde14610492578063c57dc235146104ae576101e1565b80636e667db3146103ec57806370a082311461040a5780638da5cb5b1461043a576101e1565b806342842e0e1161018357806355f804b31161015d57806355f804b3146103525780636352211e1461036e57806366e575d01461039e5780636c0360eb146103ce576101e1565b806342842e0e146102ea57806342966c68146103065780634f6ccce714610322576101e1565b8063095ea7b3116101bf578063095ea7b31461026457806318160ddd1461028057806323b872dd1461029e5780632f745c59146102ba576101e1565b806301ffc9a7146101e657806306fdde0314610216578063081812fc14610234575b600080fd5b61020060048036038101906101fb919061324b565b61060a565b60405161020d9190613998565b60405180910390f35b61021e610671565b60405161022b91906139f8565b60405180910390f35b61024e60048036038101906102499190613345565b610703565b60405161025b9190613931565b60405180910390f35b61027e6004803603810190610279919061320f565b610788565b005b6102886108a0565b6040516102959190613d3a565b60405180910390f35b6102b860048036038101906102b39190613050565b6108b1565b005b6102d460048036038101906102cf919061320f565b610911565b6040516102e19190613d3a565b60405180910390f35b61030460048036038101906102ff9190613050565b61096c565b005b610320600480360381019061031b9190613345565b61098c565b005b61033c60048036038101906103379190613345565b6109e0565b6040516103499190613d3a565b60405180910390f35b61036c6004803603810190610367919061329d565b610a03565b005b61038860048036038101906103839190613345565b610a9f565b6040516103959190613931565b60405180910390f35b6103b860048036038101906103b3919061311a565b610ad6565b6040516103c59190613d3a565b60405180910390f35b6103d6610bb5565b6040516103e391906139f8565b60405180910390f35b6103f4610c47565b6040516104019190613931565b60405180910390f35b610424600480360381019061041f9190612feb565b610c6d565b6040516104319190613d3a565b60405180910390f35b610442610d2c565b60405161044f9190613931565b60405180910390f35b610460610d52565b60405161046d91906139f8565b60405180910390f35b610490600480360381019061048b91906131d3565b610de4565b005b6104ac60048036038101906104a7919061309f565b610f65565b005b6104c860048036038101906104c39190613345565b610fc7565b6040516104d59190613d3a565b60405180910390f35b6104f860048036038101906104f39190613345565b610fe4565b60405161050591906139f8565b60405180910390f35b610516611157565b6040516105239190613931565b60405180910390f35b610534611181565b6040516105419190613d3a565b60405180910390f35b610564600480360381019061055f91906132de565b611187565b6040516105719190613d3a565b60405180910390f35b610594600480360381019061058f9190613345565b611265565b6040516105a19190613931565b60405180910390f35b6105c460048036038101906105bf9190613014565b6112a2565b6040516105d19190613998565b60405180910390f35b6105f460048036038101906105ef9190612feb565b611336565b6040516106019190613998565b60405180910390f35b6000806000837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190815260200160002060009054906101000a900460ff169050919050565b60606006805461068090614012565b80601f01602080910402602001604051908101604052809291908181526020018280546106ac90614012565b80156106f95780601f106106ce576101008083540402835291602001916106f9565b820191906000526020600020905b8154815290600101906020018083116106dc57829003601f168201915b5050505050905090565b600061070e826114fe565b61074d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074490613bda565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061079382610a9f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fb90613c9a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661082361151b565b73ffffffffffffffffffffffffffffffffffffffff16148061085257506108518161084c61151b565b6112a2565b5b610891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088890613b3a565b60405180910390fd5b61089b8383611523565b505050565b60006108ac60026115dc565b905090565b6108c26108bc61151b565b826115f1565b610901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f890613cba565b60405180910390fd5b61090c8383836116cf565b505050565b600061096482600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206118e490919063ffffffff16565b905092915050565b61098783838360405180602001604052806000815250610f65565b505050565b610995816114fe565b6109d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cb90613c7a565b60405180910390fd5b6109dd816118ff565b50565b6000806109f7836002611aa690919063ffffffff16565b50905080915050919050565b3373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8a90613c1a565b60405180910390fd5b610a9c81611ad4565b50565b6000610acf8260405180606001604052806029815260200161492e602991396002611b259092919063ffffffff16565b9050919050565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5f90613d1a565b60405180910390fd5b600e549450610b78878686611b45565b610b828584611b65565b610b8e87878785611c11565b6001600e6000828254610ba19190613e2a565b925050819055508490509695505050505050565b6060600b8054610bc490614012565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf090614012565b8015610c3d5780601f10610c1257610100808354040283529160200191610c3d565b820191906000526020600020905b815481529060010190602001808311610c2057829003601f168201915b5050505050905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd590613b5a565b60405180910390fd5b610d25600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611c6d565b9050919050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060078054610d6190614012565b80601f0160208091040260200160405190810160405280929190818152602001828054610d8d90614012565b8015610dda5780601f10610daf57610100808354040283529160200191610dda565b820191906000526020600020905b815481529060010190602001808311610dbd57829003601f168201915b5050505050905090565b610dec61151b565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5190613ada565b60405180910390fd5b8060056000610e6761151b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610f1461151b565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610f599190613998565b60405180910390a35050565b610f76610f7061151b565b836115f1565b610fb5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fac90613cba565b60405180910390fd5b610fc184848484611c11565b50505050565b600060096000838152602001908152602001600020549050919050565b6060610fef826114fe565b61102e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102590613c5a565b60405180910390fd5b600060086000848152602001908152602001600020805461104e90614012565b80601f016020809104026020016040519081016040528092919081815260200182805461107a90614012565b80156110c75780601f1061109c576101008083540402835291602001916110c7565b820191906000526020600020905b8154815290600101906020018083116110aa57829003601f168201915b5050505050905060006110d8610bb5565b90506000815114156110ee578192505050611152565b60008251111561112357808260405160200161110b9291906138e7565b60405160208183030381529060405292505050611152565b8061112d85611c82565b60405160200161113e9291906138e7565b604051602081830303815290604052925050505b919050565b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b6000600f60008360600151815260200190815260200160002060009054906101000a900460ff16156111ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e590613cfa565b60405180910390fd5b6001600f60008460600151815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600e549050611230853385611e60565b61123b338286611b45565b6112458186611b65565b6001600e546112549190613e2a565b600e81905550809150509392505050565b6000600a600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60003373ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bf90613c1a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611438576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142f90613a5a565b60405180910390fd5b81600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360019050919050565b6000611514826002611fab90919063ffffffff16565b9050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661159683610a9f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006115ea82600001611fc5565b9050919050565b60006115fc826114fe565b61163b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163290613b1a565b60405180910390fd5b600061164683610a9f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116b557508373ffffffffffffffffffffffffffffffffffffffff1661169d84610703565b73ffffffffffffffffffffffffffffffffffffffff16145b806116c657506116c581856112a2565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166116ef82610a9f565b73ffffffffffffffffffffffffffffffffffffffff1614611745576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161173c90613c3a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ac90613aba565b60405180910390fd5b6117c0838383611fd6565b6117cb600082611523565b61181c81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611fdb90919063ffffffff16565b61186d81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611ff090919063ffffffff16565b611883818360026120059092919063ffffffff16565b50808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b60006118f3836000018361203a565b60019004905092915050565b61190881610a9f565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611975576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161196c90613a9a565b60405180910390fd5b600061198082610a9f565b905061198e81600084611fd6565b611999600083611523565b60006008600084815260200190815260200160002080546119b990614012565b9050146119e0576008600083815260200190815260200160002060006119df9190612d31565b5b611a3182600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611fdb90919063ffffffff16565b611a458260026120d490919063ffffffff16565b5081600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080600080611ab986600001866120ee565b91509150816001900481600190049350935050509250929050565b80600b9080519060200190611aea929190612d71565b507f5514cc7324ac64a875ba50a1849367d39c8b030fe0f563c3c7142984552bc30681604051611b1a91906139f8565b60405180910390a150565b6000611b3884600001846001028461219e565b6001900490509392505050565b611b6083838360405180602001604052806000815250612265565b505050565b611b6e826114fe565b611bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba490613bfa565b60405180910390fd5b80600860008481526020019081526020016000209080519060200190611bd4929190612d71565b50817f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b82604051611c0591906139f8565b60405180910390a25050565b611c1c8484846116cf565b611c28848484846122c2565b611c67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5e90613a3a565b60405180910390fd5b50505050565b6000611c7b8260000161245e565b9050919050565b60606000821415611cca576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611e5b565b600082905060005b60008214611cfc578080611ce590614075565b915050600a82611cf59190613e80565b9150611cd2565b60008167ffffffffffffffff811115611d3e577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611d705781602001600182028036833780820191505090505b5090506000600183611d829190613eb1565b90508593505b60008414611e5357600a84611d9d91906140f6565b6030611da99190613e2a565b7f010000000000000000000000000000000000000000000000000000000000000002828280611dd790613fe8565b935081518110611e10577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a84611e4c9190613e80565b9350611d88565b819450505050505b919050565b60003083858460600151604051602001611e7d949392919061389d565b604051602081830303815290604052805190602001209050600181604051602001611ea8919061390b565b6040516020818303038152906040528051906020012083600001518460200151856040015160405160008152602001604052604051611eea94939291906139b3565b6020604051602081039080840390855afa158015611f0c573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff16600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611fa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9c90613b7a565b60405180910390fd5b50505050565b6000611fbd836000018360010261246f565b905092915050565b600081600001805490509050919050565b505050565b611feb8260000182600102612492565b505050565b612000826000018260010261261c565b505050565b600061203184600001846001028473ffffffffffffffffffffffffffffffffffffffff1660010261268c565b90509392505050565b600081836000018054905011612085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207c90613a1a565b60405180910390fd5b8260000182815481106120c1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905092915050565b60006120e6836000018360010261279e565b905092915050565b6000808284600001805490501161213a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213190613b9a565b60405180910390fd5b6000846000018481548110612178577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020190508060000154816001015492509250509250929050565b60008084600101600085815260200190815260200160002054905060008114158390612200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121f791906139f8565b60405180910390fd5b50846000016001826122129190613eb1565b81548110612249577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201600101549150509392505050565b612270848484612959565b61227d60008585846122c2565b6122bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122b390613a3a565b60405180910390fd5b50505050565b60006122e38473ffffffffffffffffffffffffffffffffffffffff16612b51565b6122f05760019050612456565b60006123d363150b7a027c01000000000000000000000000000000000000000000000000000000000261232161151b565b888787604051602401612337949392919061394c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518060600160405280603281526020016148fc603291398773ffffffffffffffffffffffffffffffffffffffff16612b649092919063ffffffff16565b90506000818060200190518101906123eb9190613274565b905063150b7a027c0100000000000000000000000000000000000000000000000000000000027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614925050505b949350505050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b600080836001016000848152602001908152602001600020549050600081146126105760006001826124c49190613eb1565b90506000600186600001805490506124dc9190613eb1565b9050600086600001828154811061251c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080876000018481548110612566577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001819055506001836125819190613e2a565b87600101600083815260200190815260200160002081905550866000018054806125d4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050612616565b60009150505b92915050565b60006126288383612b7c565b612681578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050612686565b600090505b92915050565b600080846001016000858152602001908152602001600020549050600081141561273357846000016040518060400160405280868152602001858152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550508460000180549050856001016000868152602001908152602001600020819055506001915050612797565b82856000016001836127459190613eb1565b8154811061277c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002090600202016001018190555060009150505b9392505050565b6000808360010160008481526020019081526020016000205490506000811461294d5760006001826127d09190613eb1565b90506000600186600001805490506127e89190613eb1565b90506000866000018281548110612828577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000209060020201905080876000018481548110612875577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020906002020160008201548160000155600182015481600101559050506001836128a79190613e2a565b8760010160008360000154815260200190815260200160002081905550866000018054806128fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000209060020201600080820160009055600182016000905550509055866001016000878152602001908152602001600020600090556001945050505050612953565b60009150505b92915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156129c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129c090613bba565b60405180910390fd5b6129d2826114fe565b15612a12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0990613a7a565b60405180910390fd5b612a1e60008484611fd6565b612a6f82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611ff090919063ffffffff16565b612a85828460026120059092919063ffffffff16565b5033600a600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806009600084815260200190815260200160002081905550818373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600080823b905060008111915050919050565b6060612b738484600085612b9f565b90509392505050565b600080836001016000848152602001908152602001600020541415905092915050565b6060823073ffffffffffffffffffffffffffffffffffffffff16311015612bfb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bf290613afa565b60405180910390fd5b612c0485612b51565b612c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c3a90613cda565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612c6c9190613886565b60006040518083038185875af1925050503d8060008114612ca9576040519150601f19603f3d011682016040523d82523d6000602084013e612cae565b606091505b5091509150612cbe828286612cca565b92505050949350505050565b60608315612cda57829050612d2a565b600083511115612ced5782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2191906139f8565b60405180910390fd5b9392505050565b508054612d3d90614012565b6000825580601f10612d4f5750612d6e565b601f016020900490600052602060002090810190612d6d9190612df7565b5b50565b828054612d7d90614012565b90600052602060002090601f016020900481019282612d9f5760008555612de6565b82601f10612db857805160ff1916838001178555612de6565b82800160010185558215612de6579182015b82811115612de5578251825591602001919060010190612dca565b5b509050612df39190612df7565b5090565b5b80821115612e10576000816000905550600101612df8565b5090565b6000612e27612e2284613d7a565b613d55565b905082815260208101848484011115612e3f57600080fd5b612e4a848285613fa6565b509392505050565b6000612e65612e6084613dab565b613d55565b905082815260208101848484011115612e7d57600080fd5b612e88848285613fa6565b509392505050565b600081359050612e9f81614871565b92915050565b600081359050612eb481614888565b92915050565b600081359050612ec98161489f565b92915050565b600081359050612ede816148b6565b92915050565b600081519050612ef3816148b6565b92915050565b600082601f830112612f0a57600080fd5b8135612f1a848260208601612e14565b91505092915050565b600082601f830112612f3457600080fd5b8135612f44848260208601612e52565b91505092915050565b600060808284031215612f5f57600080fd5b612f696080613d55565b90506000612f7984828501612fd6565b6000830152506020612f8d84828501612eba565b6020830152506040612fa184828501612eba565b6040830152506060612fb584828501612fc1565b60608301525092915050565b600081359050612fd0816148cd565b92915050565b600081359050612fe5816148e4565b92915050565b600060208284031215612ffd57600080fd5b600061300b84828501612e90565b91505092915050565b6000806040838503121561302757600080fd5b600061303585828601612e90565b925050602061304685828601612e90565b9150509250929050565b60008060006060848603121561306557600080fd5b600061307386828701612e90565b935050602061308486828701612e90565b925050604061309586828701612fc1565b9150509250925092565b600080600080608085870312156130b557600080fd5b60006130c387828801612e90565b94505060206130d487828801612e90565b93505060406130e587828801612fc1565b925050606085013567ffffffffffffffff81111561310257600080fd5b61310e87828801612ef9565b91505092959194509250565b60008060008060008060c0878903121561313357600080fd5b600061314189828a01612e90565b965050602061315289828a01612e90565b955050604061316389828a01612fc1565b945050606061317489828a01612fc1565b935050608087013567ffffffffffffffff81111561319157600080fd5b61319d89828a01612f23565b92505060a087013567ffffffffffffffff8111156131ba57600080fd5b6131c689828a01612ef9565b9150509295509295509295565b600080604083850312156131e657600080fd5b60006131f485828601612e90565b925050602061320585828601612ea5565b9150509250929050565b6000806040838503121561322257600080fd5b600061323085828601612e90565b925050602061324185828601612fc1565b9150509250929050565b60006020828403121561325d57600080fd5b600061326b84828501612ecf565b91505092915050565b60006020828403121561328657600080fd5b600061329484828501612ee4565b91505092915050565b6000602082840312156132af57600080fd5b600082013567ffffffffffffffff8111156132c957600080fd5b6132d584828501612f23565b91505092915050565b600080600060c084860312156132f357600080fd5b600084013567ffffffffffffffff81111561330d57600080fd5b61331986828701612f23565b935050602061332a86828701612fc1565b925050604061333b86828701612f4d565b9150509250925092565b60006020828403121561335757600080fd5b600061336584828501612fc1565b91505092915050565b61337781613ef7565b82525050565b61338681613ee5565b82525050565b61339d61339882613ee5565b6140be565b82525050565b6133ac81613f09565b82525050565b6133bb81613f15565b82525050565b6133d26133cd82613f15565b6140d0565b82525050565b60006133e382613ddc565b6133ed8185613df2565b93506133fd818560208601613fb5565b613406816141e3565b840191505092915050565b600061341c82613ddc565b6134268185613e03565b9350613436818560208601613fb5565b80840191505092915050565b61345361344e82613f82565b6140be565b82525050565b600061346482613de7565b61346e8185613e0e565b935061347e818560208601613fb5565b613487816141e3565b840191505092915050565b600061349d82613de7565b6134a78185613e1f565b93506134b7818560208601613fb5565b80840191505092915050565b60006134d0602283613e0e565b91506134db8261420d565b604082019050919050565b60006134f3601c83613e1f565b91506134fe8261425c565b601c82019050919050565b6000613516603283613e0e565b915061352182614285565b604082019050919050565b6000613539602683613e0e565b9150613544826142d4565b604082019050919050565b600061355c601c83613e0e565b915061356782614323565b602082019050919050565b600061357f601083613e0e565b915061358a8261434c565b602082019050919050565b60006135a2602483613e0e565b91506135ad82614375565b604082019050919050565b60006135c5601983613e0e565b91506135d0826143c4565b602082019050919050565b60006135e8602683613e0e565b91506135f3826143ed565b604082019050919050565b600061360b602c83613e0e565b91506136168261443c565b604082019050919050565b600061362e603883613e0e565b91506136398261448b565b604082019050919050565b6000613651602a83613e0e565b915061365c826144da565b604082019050919050565b6000613674601e83613e0e565b915061367f82614529565b602082019050919050565b6000613697602283613e0e565b91506136a282614552565b604082019050919050565b60006136ba602083613e0e565b91506136c5826145a1565b602082019050919050565b60006136dd602c83613e0e565b91506136e8826145ca565b604082019050919050565b6000613700602c83613e0e565b915061370b82614619565b604082019050919050565b6000613723602083613e0e565b915061372e82614668565b602082019050919050565b6000613746602983613e0e565b915061375182614691565b604082019050919050565b6000613769602f83613e0e565b9150613774826146e0565b604082019050919050565b600061378c601983613e0e565b91506137978261472f565b602082019050919050565b60006137af602183613e0e565b91506137ba82614758565b604082019050919050565b60006137d2603183613e0e565b91506137dd826147a7565b604082019050919050565b60006137f5601d83613e0e565b9150613800826147f6565b602082019050919050565b6000613818601583613e0e565b91506138238261481f565b602082019050919050565b600061383b601e83613e0e565b915061384682614848565b602082019050919050565b61385a81613f6b565b82525050565b61387161386c82613f6b565b6140ec565b82525050565b61388081613f75565b82525050565b60006138928284613411565b915081905092915050565b60006138a98287613442565b6014820191506138b9828661338c565b6014820191506138c98285613492565b91506138d58284613860565b60208201915081905095945050505050565b60006138f38285613492565b91506138ff8284613492565b91508190509392505050565b6000613916826134e6565b915061392282846133c1565b60208201915081905092915050565b6000602082019050613946600083018461337d565b92915050565b6000608082019050613961600083018761336e565b61396e602083018661337d565b61397b6040830185613851565b818103606083015261398d81846133d8565b905095945050505050565b60006020820190506139ad60008301846133a3565b92915050565b60006080820190506139c860008301876133b2565b6139d56020830186613877565b6139e260408301856133b2565b6139ef60608301846133b2565b95945050505050565b60006020820190508181036000830152613a128184613459565b905092915050565b60006020820190508181036000830152613a33816134c3565b9050919050565b60006020820190508181036000830152613a5381613509565b9050919050565b60006020820190508181036000830152613a738161352c565b9050919050565b60006020820190508181036000830152613a938161354f565b9050919050565b60006020820190508181036000830152613ab381613572565b9050919050565b60006020820190508181036000830152613ad381613595565b9050919050565b60006020820190508181036000830152613af3816135b8565b9050919050565b60006020820190508181036000830152613b13816135db565b9050919050565b60006020820190508181036000830152613b33816135fe565b9050919050565b60006020820190508181036000830152613b5381613621565b9050919050565b60006020820190508181036000830152613b7381613644565b9050919050565b60006020820190508181036000830152613b9381613667565b9050919050565b60006020820190508181036000830152613bb38161368a565b9050919050565b60006020820190508181036000830152613bd3816136ad565b9050919050565b60006020820190508181036000830152613bf3816136d0565b9050919050565b60006020820190508181036000830152613c13816136f3565b9050919050565b60006020820190508181036000830152613c3381613716565b9050919050565b60006020820190508181036000830152613c5381613739565b9050919050565b60006020820190508181036000830152613c738161375c565b9050919050565b60006020820190508181036000830152613c938161377f565b9050919050565b60006020820190508181036000830152613cb3816137a2565b9050919050565b60006020820190508181036000830152613cd3816137c5565b9050919050565b60006020820190508181036000830152613cf3816137e8565b9050919050565b60006020820190508181036000830152613d138161380b565b9050919050565b60006020820190508181036000830152613d338161382e565b9050919050565b6000602082019050613d4f6000830184613851565b92915050565b6000613d5f613d70565b9050613d6b8282614044565b919050565b6000604051905090565b600067ffffffffffffffff821115613d9557613d946141b4565b5b613d9e826141e3565b9050602081019050919050565b600067ffffffffffffffff821115613dc657613dc56141b4565b5b613dcf826141e3565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000613e3582613f6b565b9150613e4083613f6b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613e7557613e74614127565b5b828201905092915050565b6000613e8b82613f6b565b9150613e9683613f6b565b925082613ea657613ea5614156565b5b828204905092915050565b6000613ebc82613f6b565b9150613ec783613f6b565b925082821015613eda57613ed9614127565b5b828203905092915050565b6000613ef082613f4b565b9050919050565b6000613f0282613f4b565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613f8d82613f94565b9050919050565b6000613f9f82613f4b565b9050919050565b82818337600083830152505050565b60005b83811015613fd3578082015181840152602081019050613fb8565b83811115613fe2576000848401525b50505050565b6000613ff382613f6b565b9150600082141561400757614006614127565b5b600182039050919050565b6000600282049050600182168061402a57607f821691505b6020821081141561403e5761403d614185565b5b50919050565b61404d826141e3565b810181811067ffffffffffffffff8211171561406c5761406b6141b4565b5b80604052505050565b600061408082613f6b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156140b3576140b2614127565b5b600182019050919050565b60006140c9826140da565b9050919050565b6000819050919050565b60006140e5826141f4565b9050919050565b6000819050919050565b600061410182613f6b565b915061410c83613f6b565b92508261411c5761411b614156565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60006c0100000000000000000000000082029050919050565b7f456e756d657261626c655365743a20696e646578206f7574206f6620626f756e60008201527f6473000000000000000000000000000000000000000000000000000000000000602082015250565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f63616c6c6572206e6f74206f776e657200000000000000000000000000000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4f776e6572207369676e20766572696669636174696f6e206661696c65640000600082015250565b7f456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e60008201527f6473000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920736574206f66206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4552433732313a206e6f6e6578697374656e7420746f6b656e00000000000000600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f4e6f6e6365203a20496e76616c6964204e6f6e63650000000000000000000000600082015250565b7f4552433732313a2063616c6c6572206973206e6f7420417070726f7665640000600082015250565b61487a81613ee5565b811461488557600080fd5b50565b61489181613f09565b811461489c57600080fd5b50565b6148a881613f15565b81146148b357600080fd5b50565b6148bf81613f1f565b81146148ca57600080fd5b50565b6148d681613f6b565b81146148e157600080fd5b50565b6148ed81613f75565b81146148f857600080fd5b5056fe4552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656ea264697066735822122089f0b7f3e20b819987344059c8e9e004644cec4e7545156fb602f1b4f5ebd6d964736f6c6343000804003368747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001e58c09e3ce74b44d4173d4cae1bd95fbf381fe1000000000000000000000000000000000000000000000000000000000000000d70617261646f784e465437323100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d70617261646f784e465437323100000000000000000000000000000000000000

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000001e58c09e3ce74b44d4173d4cae1bd95fbf381fe1000000000000000000000000000000000000000000000000000000000000000d70617261646f784e465437323100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d70617261646f784e465437323100000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : tokenName (string): paradoxNFT721
Arg [1] : tokenSymbol (string): paradoxNFT721
Arg [2] : _transferProxy (address): 0x1e58c09e3ce74b44d4173d4cae1bd95fbf381fe1

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000001e58c09e3ce74b44d4173d4cae1bd95fbf381fe1
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000d
Arg [4] : 70617261646f784e465437323100000000000000000000000000000000000000
Arg [5] : 000000000000000000000000000000000000000000000000000000000000000d
Arg [6] : 70617261646f784e465437323100000000000000000000000000000000000000


Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.