From 403603f6aec82938f7875a0e5bc1f141b7b155f1 Mon Sep 17 00:00:00 2001 From: Marcus Pang Yu Yang Date: Fri, 6 Oct 2023 01:05:43 +0200 Subject: [PATCH] feat: add splits mechanism (#1) --- .gitignore | 1 + .openzeppelin/optimism-goerli.json | 686 +- .openzeppelin/optimism.json | 338 + README.md | 7 + .../Editions/Editions.sol/Editions.dbg.json | 2 +- .../src/Editions/Editions.sol/Editions.json | 52 +- .../EditionsStructs.dbg.json | 2 +- .../EditionsStructs.sol/EditionsStructs.json | 4 +- .../Editions/IEditions.sol/IEditions.dbg.json | 2 +- .../src/Editions/IEditions.sol/IEditions.json | 40 +- .../IRadarEditions.dbg.json | 2 +- .../IRadarEditions.sol/IRadarEditions.json | 40 +- .../RadarEditions.sol/RadarEditions.dbg.json | 2 +- .../src/RadarEditions.sol/RadarEditions.json | 52 +- cache_hardhat/solidity-files-cache.json | 12 +- cache_hardhat/validations.json | 6668 +++++++++++++++++ src/Beliefs/Beliefs.sol | 54 + src/Beliefs/IBeliefs.sol | 13 +- src/Beliefs/LibBeliefs.sol | 44 + src/Editions/Editions.sol | 66 +- src/Editions/IEditions.sol | 3 +- src/IRadarEditions.sol | 5 +- src/RadarEditions.sol | 9 +- typechain-types/common.ts | 129 - typechain-types/factories/index.ts | 5 - typechain-types/factories/lib/index.ts | 5 - .../contracts/access/index.ts | 6 - .../contracts/index.ts | 9 - .../draft-IERC1822Upgradeable.sol/index.ts | 4 - .../contracts/interfaces/index.ts | 6 - .../contracts/proxy/ERC1967/index.ts | 4 - .../contracts/proxy/beacon/index.ts | 4 - .../contracts/proxy/index.ts | 6 - .../contracts/proxy/utils/index.ts | 5 - .../contracts/security/index.ts | 4 - .../token/ERC1155/extensions/index.ts | 6 - .../contracts/token/ERC1155/index.ts | 7 - .../token/ERC721/extensions/index.ts | 5 - .../contracts/token/ERC721/index.ts | 7 - .../contracts/token/index.ts | 5 - .../contracts/utils/index.ts | 5 - .../contracts/utils/introspection/index.ts | 5 - .../index.ts | 4 - .../openzeppelin-contracts/contracts/index.ts | 5 - .../interfaces/draft-IERC1822.sol/index.ts | 4 - .../contracts/interfaces/index.ts | 5 - .../contracts/proxy/ERC1967/index.ts | 4 - .../contracts/proxy/beacon/index.ts | 4 - .../contracts/proxy/index.ts | 6 - .../lib/openzeppelin-contracts/index.ts | 4 - .../src/Beliefs/IBeliefs__factory.ts | 97 - .../factories/src/Beliefs/index.ts | 4 - .../src/Editions/Editions__factory.ts | 1359 ---- .../src/Editions/IEditions__factory.ts | 428 -- .../factories/src/Editions/index.ts | 6 - .../factories/src/IRadarEditions__factory.ts | 470 -- .../factories/src/RadarEditions__factory.ts | 1409 ---- .../factories/src/RadarVideoNFT__factory.ts | 669 -- typechain-types/factories/src/index.ts | 8 - typechain-types/hardhat.d.ts | 711 -- typechain-types/index.ts | 82 - typechain-types/lib/index.ts | 7 - .../contracts/access/index.ts | 6 - .../contracts/index.ts | 15 - .../draft-IERC1822Upgradeable.sol/index.ts | 4 - .../contracts/interfaces/index.ts | 7 - .../contracts/proxy/ERC1967/index.ts | 4 - .../contracts/proxy/beacon/index.ts | 4 - .../contracts/proxy/index.ts | 9 - .../contracts/proxy/utils/index.ts | 5 - .../contracts/security/index.ts | 4 - .../token/ERC1155/extensions/index.ts | 6 - .../contracts/token/ERC1155/index.ts | 8 - .../token/ERC721/extensions/index.ts | 5 - .../contracts/token/ERC721/index.ts | 8 - .../contracts/token/index.ts | 7 - .../contracts/utils/index.ts | 6 - .../contracts/utils/introspection/index.ts | 5 - .../index.ts | 5 - .../openzeppelin-contracts/contracts/index.ts | 7 - .../interfaces/draft-IERC1822.sol/index.ts | 4 - .../contracts/interfaces/index.ts | 6 - .../contracts/proxy/ERC1967/index.ts | 4 - .../contracts/proxy/beacon/index.ts | 4 - .../contracts/proxy/index.ts | 8 - .../lib/openzeppelin-contracts/index.ts | 5 - typechain-types/src/Beliefs/IBeliefs.ts | 193 - typechain-types/src/Beliefs/index.ts | 4 - typechain-types/src/Editions/Editions.ts | 1620 ---- typechain-types/src/Editions/IEditions.ts | 627 -- typechain-types/src/Editions/index.ts | 6 - typechain-types/src/IRadarEditions.ts | 675 -- typechain-types/src/RadarEditions.ts | 1682 ----- typechain-types/src/RadarVideoNFT.ts | 823 -- typechain-types/src/index.ts | 10 - 95 files changed, 7945 insertions(+), 11458 deletions(-) create mode 100644 src/Beliefs/Beliefs.sol create mode 100644 src/Beliefs/LibBeliefs.sol delete mode 100644 typechain-types/common.ts delete mode 100644 typechain-types/factories/index.ts delete mode 100644 typechain-types/factories/lib/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/access/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/security/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/utils/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts-upgradeable/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts/contracts/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts/contracts/interfaces/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts/contracts/proxy/ERC1967/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts/contracts/proxy/beacon/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts/contracts/proxy/index.ts delete mode 100644 typechain-types/factories/lib/openzeppelin-contracts/index.ts delete mode 100644 typechain-types/factories/src/Beliefs/IBeliefs__factory.ts delete mode 100644 typechain-types/factories/src/Beliefs/index.ts delete mode 100644 typechain-types/factories/src/Editions/Editions__factory.ts delete mode 100644 typechain-types/factories/src/Editions/IEditions__factory.ts delete mode 100644 typechain-types/factories/src/Editions/index.ts delete mode 100644 typechain-types/factories/src/IRadarEditions__factory.ts delete mode 100644 typechain-types/factories/src/RadarEditions__factory.ts delete mode 100644 typechain-types/factories/src/RadarVideoNFT__factory.ts delete mode 100644 typechain-types/factories/src/index.ts delete mode 100644 typechain-types/hardhat.d.ts delete mode 100644 typechain-types/index.ts delete mode 100644 typechain-types/lib/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/access/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/security/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/utils/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts-upgradeable/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts/contracts/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts/contracts/interfaces/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts/contracts/proxy/ERC1967/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts/contracts/proxy/beacon/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts/contracts/proxy/index.ts delete mode 100644 typechain-types/lib/openzeppelin-contracts/index.ts delete mode 100644 typechain-types/src/Beliefs/IBeliefs.ts delete mode 100644 typechain-types/src/Beliefs/index.ts delete mode 100644 typechain-types/src/Editions/Editions.ts delete mode 100644 typechain-types/src/Editions/IEditions.ts delete mode 100644 typechain-types/src/Editions/index.ts delete mode 100644 typechain-types/src/IRadarEditions.ts delete mode 100644 typechain-types/src/RadarEditions.ts delete mode 100644 typechain-types/src/RadarVideoNFT.ts delete mode 100644 typechain-types/src/index.ts diff --git a/.gitignore b/.gitignore index 440bbb3..76bafb5 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ artifacts/build-info/ artifacts/lib/ node_modules +typechain-types \ No newline at end of file diff --git a/.openzeppelin/optimism-goerli.json b/.openzeppelin/optimism-goerli.json index 1c1fac0..5b77cee 100644 --- a/.openzeppelin/optimism-goerli.json +++ b/.openzeppelin/optimism-goerli.json @@ -9342,7 +9342,683 @@ "slot": "451", "type": "t_uint256", "contract": "Editions", - "src": "src/Editions/Editions.sol:28" + "src": "src/Editions/Editions.sol:30" + }, + { + "label": "editions", + "offset": 0, + "slot": "452", + "type": "t_mapping(t_uint256,t_struct(Edition)8350_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:32" + }, + { + "label": "editionCounter", + "offset": 0, + "slot": "453", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:34" + }, + { + "label": "maximumEditionFee", + "offset": 0, + "slot": "454", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:36" + }, + { + "label": "_beliefs", + "offset": 0, + "slot": "455", + "type": "t_mapping(t_address,t_struct(BitMap)7289_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:39" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_enum(EditionStatus)8336": { + "label": "enum EditionsStructs.EditionStatus", + "members": [ + "NotCreated", + "Created", + "Launched", + "Stopped" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(BitMap)7289_storage)": { + "label": "mapping(address => struct BitMaps.BitMap)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Edition)8350_storage)": { + "label": "mapping(uint256 => struct EditionsStructs.Edition)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(BitMap)7289_storage": { + "label": "struct BitMaps.BitMap", + "members": [ + { + "label": "_data", + "type": "t_mapping(t_uint256,t_uint256)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Edition)8350_storage": { + "label": "struct EditionsStructs.Edition", + "members": [ + { + "label": "status", + "type": "t_enum(EditionStatus)8336", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "balance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "owner", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "id", + "type": "t_string_storage", + "offset": 0, + "slot": "4" + }, + { + "label": "briefId", + "type": "t_string_storage", + "offset": 0, + "slot": "5" + } + ], + "numberOfBytes": "192" + }, + "t_struct(RoleData)34_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "d0063d348f6bb93e5cdd63a320df2e422b0af15cc073489dde39ef0b3d848e38": { + "address": "0x4Fd3Be3fF7FF66437F967666450E21bDea3c47e2", + "txHash": "0xed49cb3b08946f57c90016d9ee0a6b68d3272fd08a19bc8edcccc1be7f59193f", + "layout": { + "solcVersion": "0.8.19", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_paused", + "offset": 0, + "slot": "201", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1155BurnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:44" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "301", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "302", + "type": "t_array(t_uint256)49_storage", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:76" + }, + { + "label": "__gap", + "offset": 0, + "slot": "351", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "401", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "protocolFee", + "offset": 0, + "slot": "451", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:30" + }, + { + "label": "editions", + "offset": 0, + "slot": "452", + "type": "t_mapping(t_uint256,t_struct(Edition)6901_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:32" + }, + { + "label": "editionCounter", + "offset": 0, + "slot": "453", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:34" + }, + { + "label": "maximumEditionFee", + "offset": 0, + "slot": "454", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:36" + }, + { + "label": "_beliefs", + "offset": 0, + "slot": "455", + "type": "t_mapping(t_address,t_struct(BitMap)5840_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:39" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_enum(EditionStatus)6887": { + "label": "enum EditionsStructs.EditionStatus", + "members": [ + "NotCreated", + "Created", + "Launched", + "Stopped" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(BitMap)5840_storage)": { + "label": "mapping(address => struct BitMaps.BitMap)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Edition)6901_storage)": { + "label": "mapping(uint256 => struct EditionsStructs.Edition)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(BitMap)5840_storage": { + "label": "struct BitMaps.BitMap", + "members": [ + { + "label": "_data", + "type": "t_mapping(t_uint256,t_uint256)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Edition)6901_storage": { + "label": "struct EditionsStructs.Edition", + "members": [ + { + "label": "status", + "type": "t_enum(EditionStatus)6887", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "balance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "owner", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "id", + "type": "t_string_storage", + "offset": 0, + "slot": "4" + }, + { + "label": "briefId", + "type": "t_string_storage", + "offset": 0, + "slot": "5" + } + ], + "numberOfBytes": "192" + }, + "t_struct(RoleData)34_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } + }, + "21bf96314b6ddfa5e83052172ac9ef3c98436bcf6ee5fdc1e524dd42440a0987": { + "address": "0x5dcD2e284114EdD90D8DC7F6b0a30449D7a8e425", + "txHash": "0x209a3805752dbced82fe9b30d5a3ad37d3500149c0bf07bcd133461c9bff77a4", + "layout": { + "solcVersion": "0.8.19", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_paused", + "offset": 0, + "slot": "201", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1155BurnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:44" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "301", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "302", + "type": "t_array(t_uint256)49_storage", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:76" + }, + { + "label": "__gap", + "offset": 0, + "slot": "351", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "401", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "protocolFee", + "offset": 0, + "slot": "451", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:30" }, { "label": "editions", @@ -9350,7 +10026,7 @@ "slot": "452", "type": "t_mapping(t_uint256,t_struct(Edition)6901_storage)", "contract": "Editions", - "src": "src/Editions/Editions.sol:30" + "src": "src/Editions/Editions.sol:32" }, { "label": "editionCounter", @@ -9358,7 +10034,7 @@ "slot": "453", "type": "t_uint256", "contract": "Editions", - "src": "src/Editions/Editions.sol:32" + "src": "src/Editions/Editions.sol:34" }, { "label": "maximumEditionFee", @@ -9366,7 +10042,7 @@ "slot": "454", "type": "t_uint256", "contract": "Editions", - "src": "src/Editions/Editions.sol:34" + "src": "src/Editions/Editions.sol:36" }, { "label": "_beliefs", @@ -9374,7 +10050,7 @@ "slot": "455", "type": "t_mapping(t_address,t_struct(BitMap)5840_storage)", "contract": "Editions", - "src": "src/Editions/Editions.sol:37" + "src": "src/Editions/Editions.sol:39" } ], "types": { diff --git a/.openzeppelin/optimism.json b/.openzeppelin/optimism.json index daa9f9f..9fdc8d2 100644 --- a/.openzeppelin/optimism.json +++ b/.openzeppelin/optimism.json @@ -4309,6 +4309,344 @@ } } } + }, + "d0063d348f6bb93e5cdd63a320df2e422b0af15cc073489dde39ef0b3d848e38": { + "address": "0xe067Fb92D6bef5386a8D8bb40C000276C72f8b8c", + "txHash": "0xc587aa209b438dfa4800ecd100d09dd2e45cfaafe62e4d455bc8f0dc650c2a21", + "layout": { + "solcVersion": "0.8.19", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_paused", + "offset": 0, + "slot": "201", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1155BurnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:44" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "301", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "302", + "type": "t_array(t_uint256)49_storage", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:76" + }, + { + "label": "__gap", + "offset": 0, + "slot": "351", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "401", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "protocolFee", + "offset": 0, + "slot": "451", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:30" + }, + { + "label": "editions", + "offset": 0, + "slot": "452", + "type": "t_mapping(t_uint256,t_struct(Edition)6901_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:32" + }, + { + "label": "editionCounter", + "offset": 0, + "slot": "453", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:34" + }, + { + "label": "maximumEditionFee", + "offset": 0, + "slot": "454", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:36" + }, + { + "label": "_beliefs", + "offset": 0, + "slot": "455", + "type": "t_mapping(t_address,t_struct(BitMap)5840_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:39" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_enum(EditionStatus)6887": { + "label": "enum EditionsStructs.EditionStatus", + "members": [ + "NotCreated", + "Created", + "Launched", + "Stopped" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(BitMap)5840_storage)": { + "label": "mapping(address => struct BitMaps.BitMap)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Edition)6901_storage)": { + "label": "mapping(uint256 => struct EditionsStructs.Edition)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(BitMap)5840_storage": { + "label": "struct BitMaps.BitMap", + "members": [ + { + "label": "_data", + "type": "t_mapping(t_uint256,t_uint256)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Edition)6901_storage": { + "label": "struct EditionsStructs.Edition", + "members": [ + { + "label": "status", + "type": "t_enum(EditionStatus)6887", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "balance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "owner", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "id", + "type": "t_string_storage", + "offset": 0, + "slot": "4" + }, + { + "label": "briefId", + "type": "t_string_storage", + "offset": 0, + "slot": "5" + } + ], + "numberOfBytes": "192" + }, + "t_struct(RoleData)34_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + } + } } } } diff --git a/README.md b/README.md index 8e74322..46191b6 100644 --- a/README.md +++ b/README.md @@ -15,3 +15,10 @@ ```sh PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 forge script script/Deploy.s.sol:Deploy --rpc-url https://optimism.publicnode.com ``` + + +## TODO +- [ ] improve struct packing +- [ ] add tests +- [ ] use USDC instead of ETH +- [ ] implement splits diff --git a/artifacts/src/Editions/Editions.sol/Editions.dbg.json b/artifacts/src/Editions/Editions.sol/Editions.dbg.json index 06d9604..a423360 100644 --- a/artifacts/src/Editions/Editions.sol/Editions.dbg.json +++ b/artifacts/src/Editions/Editions.sol/Editions.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/f04f2c0186a948e9047d499519fbf44b.json" + "buildInfo": "../../../build-info/13babe5f01df716492f3206897c69751.json" } diff --git a/artifacts/src/Editions/Editions.sol/Editions.json b/artifacts/src/Editions/Editions.sol/Editions.json index 80ac68c..6547054 100644 --- a/artifacts/src/Editions/Editions.sol/Editions.json +++ b/artifacts/src/Editions/Editions.sol/Editions.json @@ -206,18 +206,18 @@ "name": "editionId", "type": "uint256" }, - { - "indexed": false, - "internalType": "string", - "name": "briefId", - "type": "string" - }, { "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" }, + { + "indexed": false, + "internalType": "uint96", + "name": "briefId", + "type": "uint96" + }, { "indexed": false, "internalType": "address", @@ -634,14 +634,14 @@ "type": "address" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "name": "createEdition", @@ -699,14 +699,14 @@ "type": "address" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "stateMutability": "view", @@ -744,9 +744,9 @@ { "components": [ { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { "internalType": "uint256", @@ -789,14 +789,14 @@ "type": "address" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "internalType": "struct EditionsStructs.Edition[]", @@ -1198,14 +1198,14 @@ "type": "uint256" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "name": "updateEdition", @@ -1299,8 +1299,8 @@ "type": "receive" } ], - "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161441f6200011f60003960008181610cf801528181610d3801528181610f3201528181610f720152611001015261441f6000f3fe6080604052600436106102315760003560e01c8063790bafc61161012d578063c6fbb712116100b0578063e43990fe11610077578063e43990fe146106b2578063e985e9c5146106d2578063f242432a1461071b578063f5298aca1461073b578063f8c1b2fd1461075b578063fc74efa21461077b57005b8063c6fbb7121461060c578063c84aae1714610623578063d547741f14610650578063d667c9ce14610670578063df6efc6c1461069057005b8063a217fddf116100f4578063a217fddf14610572578063a22cb46514610587578063b0e21e8a146105a7578063b3a44bd6146105be578063bd85b039146105de57005b8063790bafc6146104f55780638129fc1c146105155780638456cb591461052a57806391d148541461053f578063940123da1461055f57005b80633659cfe6116101b557806352d1902d1161017c57806352d1902d146104715780635c975abb146104865780636b20c4541461049e5780636b5cb789146104be5780637357628c146104d557005b80633659cfe6146103cc5780633f4ba83a146103ec5780634e1273f4146104015780634f1ef2861461042e5780634f558e791461044157005b8063248a9ca3116101f9578063248a9ca31461030a578063279c806e1461033a5780632eb2c2d61461036c5780632f2ff15d1461038c57806336568abe146103ac57005b8062fdd58e1461023a57806301ffc9a71461026d5780630a579eca1461029d5780630e89341c146102bd578063155dd5ee146102ea57005b3661023857005b005b34801561024657600080fd5b5061025a610255366004613379565b61079b565b6040519081526020015b60405180910390f35b34801561027957600080fd5b5061028d6102883660046133b9565b610836565b6040519015158152602001610264565b3480156102a957600080fd5b506102386102b83660046133d6565b610841565b3480156102c957600080fd5b506102dd6102d83660046133d6565b610923565b604051610264919061343f565b3480156102f657600080fd5b506102386103053660046133d6565b6109b7565b34801561031657600080fd5b5061025a6103253660046133d6565b60009081526097602052604090206001015490565b34801561034657600080fd5b5061035a6103553660046133d6565b610ab4565b6040516102649695949392919061348a565b34801561037857600080fd5b5061023861038736600461362c565b610c0a565b34801561039857600080fd5b506102386103a73660046136d5565b610c56565b3480156103b857600080fd5b506102386103c73660046136d5565b610c70565b3480156103d857600080fd5b506102386103e7366004613701565b610cee565b3480156103f857600080fd5b50610238610dcd565b34801561040d57600080fd5b5061042161041c36600461371c565b610dff565b6040516102649190613821565b61023861043c366004613834565b610f28565b34801561044d57600080fd5b5061028d61045c3660046133d6565b600090815261012d6020526040902054151590565b34801561047d57600080fd5b5061025a610ff4565b34801561049257600080fd5b5060c95460ff1661028d565b3480156104aa57600080fd5b506102386104b9366004613877565b6110a8565b3480156104ca57600080fd5b5061025a6101c65481565b3480156104e157600080fd5b506102386104f03660046133d6565b6110eb565b34801561050157600080fd5b506102386105103660046138ea565b61118c565b34801561052157600080fd5b50610238611241565b34801561053657600080fd5b5061023861140c565b34801561054b57600080fd5b5061028d61055a3660046136d5565b61143e565b61023861056d36600461391a565b611469565b34801561057e57600080fd5b5061025a600081565b34801561059357600080fd5b506102386105a236600461397a565b61154a565b3480156105b357600080fd5b5061025a6101c35481565b3480156105ca57600080fd5b5061025a6105d93660046139b6565b611555565b3480156105ea57600080fd5b5061025a6105f93660046133d6565b600090815261012d602052604090205490565b34801561061857600080fd5b5061025a6101c55481565b34801561062f57600080fd5b5061064361063e366004613701565b6116af565b6040516102649190613a14565b34801561065c57600080fd5b5061023861066b3660046136d5565b611819565b34801561067c57600080fd5b5061023861068b366004613a8a565b61183e565b34801561069c57600080fd5b506106a5611980565b6040516102649190613aac565b3480156106be57600080fd5b506102386106cd366004613b60565b611bef565b3480156106de57600080fd5b5061028d6106ed366004613bc2565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b34801561072757600080fd5b50610238610736366004613bec565b611c77565b34801561074757600080fd5b50610238610756366004613c50565b611cbc565b34801561076757600080fd5b506102386107763660046133d6565b611cff565b34801561078757600080fd5b506102386107963660046133d6565b611d94565b60006001600160a01b03831661080b5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b600061083082611e6f565b60008181526101c460205260409020600301546001600160a01b0316331480610870575061087060003361143e565b61088d5760405163388f811f60e01b815260040160405180910390fd5b600260008281526101c4602052604090205460ff1660038111156108b3576108b3613452565b146108d157604051631f0fb6fd60e11b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600317905590518281527f591913f977ab242c5871f116f36be231ff67df5e8e0bac1efd91fa8a723aca2b91015b60405180910390a150565b60606067805461093290613c83565b80601f016020809104026020016040519081016040528092919081815260200182805461095e90613c83565b80156109ab5780601f10610980576101008083540402835291602001916109ab565b820191906000526020600020905b81548152906001019060200180831161098e57829003601f168201915b50505050509050919050565b60006109c281611e94565b478211156109e357604051631036b5ad60e31b815260040160405180910390fd5b4760005b6101c554811015610a445760008181526101c46020526040902060020154610a0f9083613ccd565b915083821015610a325760405163156bbc5b60e01b815260040160405180910390fd5b80610a3c81613ce0565b9150506109e7565b50604051600090339085908381818185875af1925050503d8060008114610a87576040519150601f19603f3d011682016040523d82523d6000602084013e610a8c565b606091505b5050905080610aae576040516317f2c34560e31b815260040160405180910390fd5b50505050565b6101c4602052600090815260409020805460018201546002830154600384015460048501805460ff90951695939492936001600160a01b0390921692610af990613c83565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2590613c83565b8015610b725780601f10610b4757610100808354040283529160200191610b72565b820191906000526020600020905b815481529060010190602001808311610b5557829003601f168201915b505050505090806005018054610b8790613c83565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb390613c83565b8015610c005780601f10610bd557610100808354040283529160200191610c00565b820191906000526020600020905b815481529060010190602001808311610be357829003601f168201915b5050505050905086565b6001600160a01b038516331480610c265750610c2685336106ed565b610c425760405162461bcd60e51b815260040161080290613cf9565b610c4f8585858585611e9e565b5050505050565b6000610c6181611e94565b610c6b838361204b565b505050565b6001600160a01b0381163314610ce05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610802565b610cea82826120d1565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d365760405162461bcd60e51b815260040161080290613d47565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610d7f6000805160206143a3833981519152546001600160a01b031690565b6001600160a01b031614610da55760405162461bcd60e51b815260040161080290613d93565b610dae81612138565b60408051600080825260208201909252610dca91839190612162565b50565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610df781611e94565b610dca6122cd565b60608151835114610e645760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610802565b600083516001600160401b03811115610e7f57610e7f6134e3565b604051908082528060200260200182016040528015610ea8578160200160208202803683370190505b50905060005b8451811015610f2057610ef3858281518110610ecc57610ecc613ddf565b6020026020010151858381518110610ee657610ee6613ddf565b602002602001015161079b565b828281518110610f0557610f05613ddf565b6020908102919091010152610f1981613ce0565b9050610eae565b509392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610f705760405162461bcd60e51b815260040161080290613d47565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fb96000805160206143a3833981519152546001600160a01b031690565b6001600160a01b031614610fdf5760405162461bcd60e51b815260040161080290613d93565b610fe882612138565b610cea82826001612162565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110945760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610802565b506000805160206143a38339815191525b90565b6001600160a01b0383163314806110c457506110c483336106ed565b6110e05760405162461bcd60e51b815260040161080290613cf9565b610c6b83838361231f565b60006110f681611e94565b600160008381526101c4602052604090205460ff16600381111561111c5761111c613452565b1461113a5760405163137c9c1f60e31b815260040160405180910390fd5b60008281526101c46020908152604091829020805460ff1916600217905590518381527f8f4352ac8b4aefdd2333162306bbe09dd4f4ff6661e89ccc4e4dcced8794e8f7910160405180910390a15050565b600260008381526101c4602052604090205460ff1660038111156111b2576111b2613452565b146111d05760405163137c9c1f60e31b815260040160405180910390fd5b3360009081526101c760209081526040808320600886901c845290915290208054600160ff85161b179055336001600160a01b0316827f710e220a47c8d9e50587c80fe509f5e762149ef672440eff70798204dd70f5eb83604051611235919061343f565b60405180910390a35050565b600054610100900460ff16158080156112615750600054600160ff909116105b8061127b5750303b15801561127b575060005460ff166001145b6112de5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610802565b6000805460ff191660011790558015611301576000805461ff0019166101001790555b611319604051806020016040528060008152506124be565b6113216124ee565b611329612517565b6113316124ee565b6113396124ee565b6113416124ee565b61134c60003361204b565b6113767f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c3361204b565b6113a07f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a3361204b565b6113ca7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e33361204b565b8015610dca576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610918565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a61143681611e94565b610dca612546565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600260008581526101c4602052604090205460ff16600381111561148f5761148f613452565b146114ad57604051631f0fb6fd60e11b815260040160405180910390fd5b6101c35460008581526101c4602052604090206001015484916114cf91613df5565b6114d99190613e08565b3410156114f957604051631036b5ad60e31b815260040160405180910390fd5b61150582858584612583565b6101c3546115139084613e08565b61151d9034613ccd565b60008581526101c460205260408120600201805490919061153f908490613df5565b909155505050505050565b610cea3383836126a8565b60006101c65486111561157b57604051630f0c4c5f60e41b815260040160405180910390fd5b506101c5546040805160c0810190915280600181526020808201899052600060408084018290526001600160a01b038a1660608501526080840188905260a09093018690528481526101c49091522081518154829060ff191660018360038111156115e8576115e8613452565b0217905550602082015160018201556040820151600282015560608201516003820180546001600160a01b0319166001600160a01b039092169190911790556080820151600482019061163b9082613e65565b5060a082015160058201906116509082613e65565b50506101c580549150600061166483613ce0565b91905055507f3deb71b5a6774038a220621d78241405004043d5a928de9c7956bcc5270416db8183888860405161169e9493929190613f24565b60405180910390a195945050505050565b606060006101c5546001600160401b038111156116ce576116ce6134e3565b60405190808252806020026020018201604052801561171457816020015b6040805180820190915260608152600060208201528152602001906001900390816116ec5790505b50905060005b6101c5548110156118125760405180604001604052806101c46000848152602001908152602001600020600401805461175290613c83565b80601f016020809104026020016040519081016040528092919081815260200182805461177e90613c83565b80156117cb5780601f106117a0576101008083540402835291602001916117cb565b820191906000526020600020905b8154815290600101906020018083116117ae57829003601f168201915b505050505081526020016117df868461079b565b8152508282815181106117f4576117f4613ddf565b6020026020010181905250808061180a90613ce0565b91505061171a565b5092915050565b60008281526097602052604090206001015461183481611e94565b610c6b83836120d1565b60008281526101c460205260409020600301546001600160a01b031633146118795760405163388f811f60e01b815260040160405180910390fd5b60008281526101c460205260409020600201548111156118ac57604051637eafab7d60e01b815260040160405180910390fd5b604051600090339083908381818185875af1925050503d80600081146118ee576040519150601f19603f3d011682016040523d82523d6000602084013e6118f3565b606091505b5050905080611915576040516317f2c34560e31b815260040160405180910390fd5b60008381526101c4602052604081206002018054849290611937908490613ccd565b90915550506040805184815260208101849052338183015290517ff1090e9d5138cd4909542e10e1da576730b07eb291a71a151e63160dde345b949181900360600190a1505050565b606060006101c5546001600160401b0381111561199f5761199f6134e3565b604051908082528060200260200182016040528015611a1357816020015b611a006040805160c081019091528060008152602001600081526020016000815260200160006001600160a01b0316815260200160608152602001606081525090565b8152602001906001900390816119bd5790505b50905060005b6101c554811015611be95760008181526101c4602052604090819020815160c081019092528054829060ff166003811115611a5657611a56613452565b6003811115611a6757611a67613452565b8152600182015460208201526002820154604082015260038201546001600160a01b03166060820152600482018054608090920191611aa590613c83565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad190613c83565b8015611b1e5780601f10611af357610100808354040283529160200191611b1e565b820191906000526020600020905b815481529060010190602001808311611b0157829003601f168201915b50505050508152602001600582018054611b3790613c83565b80601f0160208091040260200160405190810160405280929190818152602001828054611b6390613c83565b8015611bb05780601f10611b8557610100808354040283529160200191611bb0565b820191906000526020600020905b815481529060010190602001808311611b9357829003601f168201915b505050505081525050828281518110611bcb57611bcb613ddf565b60200260200101819052508080611be190613ce0565b915050611a19565b50919050565b6000611bfa81611e94565b600260008581526101c4602052604090205460ff166003811115611c2057611c20613452565b14611c3e5760405163137c9c1f60e31b815260040160405180910390fd5b60008481526101c460205260409020600401611c5a8482613e65565b5060008481526101c460205260409020600501610c4f8382613e65565b6001600160a01b038516331480611c935750611c9385336106ed565b611caf5760405162461bcd60e51b815260040161080290613cf9565b610c4f8585858585612788565b6001600160a01b038316331480611cd85750611cd883336106ed565b611cf45760405162461bcd60e51b815260040161080290613cf9565b610c6b8383836128c4565b3360009081526101c760209081526040808320600885901c84529182905290912054600160ff84161b16611d465760405163423f327760e11b815260040160405180910390fd5b600882901c6000908152602082905260408082208054600160ff87161b1916905551339184917fc6c1c3224e50c3c958e39197695bdfe8457ce7c0014d8d51a4d3aa12c5ac18489190a35050565b60008181526101c460205260409020600301546001600160a01b0316331480611dc35750611dc360003361143e565b611de05760405163388f811f60e01b815260040160405180910390fd5b600360008281526101c4602052604090205460ff166003811115611e0657611e06613452565b14611e245760405163968807a560e01b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600217905590518281527f63bb17c9645a29322601b4fe88d8f3fa84f32229368294f903084be8f5d813ba9101610918565b60006001600160e01b03198216637965db0b60e01b14806108305750610830826129e0565b610dca8133612a30565b8151835114611ebf5760405162461bcd60e51b815260040161080290613f5e565b6001600160a01b038416611ee55760405162461bcd60e51b815260040161080290613fa6565b33611ef4818787878787612a89565b60005b8451811015611fdd576000858281518110611f1457611f14613ddf565b602002602001015190506000858381518110611f3257611f32613ddf565b60209081029190910181015160008481526065835260408082206001600160a01b038e168352909352919091205490915081811015611f835760405162461bcd60e51b815260040161080290613feb565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611fc2908490613df5565b9250508190555050505080611fd690613ce0565b9050611ef7565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161202d929190614035565b60405180910390a4612043818787878787612a9f565b505050505050565b612055828261143e565b610cea5760008281526097602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561208d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6120db828261143e565b15610cea5760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610cea81611e94565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561219557610c6b83612bfa565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156121ef575060408051601f3d908101601f191682019092526121ec91810190614063565b60015b6122525760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610802565b6000805160206143a383398151915281146122c15760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610802565b50610c6b838383612c96565b6122d5612cbb565b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0383166123455760405162461bcd60e51b81526004016108029061407c565b80518251146123665760405162461bcd60e51b815260040161080290613f5e565b600033905061238981856000868660405180602001604052806000815250612a89565b60005b83518110156124515760008482815181106123a9576123a9613ddf565b6020026020010151905060008483815181106123c7576123c7613ddf565b60209081029190910181015160008481526065835260408082206001600160a01b038c1683529093529190912054909150818110156124185760405162461bcd60e51b8152600401610802906140bf565b60009283526065602090815260408085206001600160a01b038b168652909152909220910390558061244981613ce0565b91505061238c565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516124a2929190614035565b60405180910390a4604080516020810190915260009052610aae565b600054610100900460ff166124e55760405162461bcd60e51b815260040161080290614103565b610dca81612d04565b600054610100900460ff166125155760405162461bcd60e51b815260040161080290614103565b565b600054610100900460ff1661253e5760405162461bcd60e51b815260040161080290614103565b612515612d34565b61254e612d67565b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586123023390565b6001600160a01b0384166125e35760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610802565b3360006125ef85612dad565b905060006125fc85612dad565b905061260d83600089858589612a89565b60008681526065602090815260408083206001600160a01b038b1684529091528120805487929061263f908490613df5565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461269f83600089898989612df8565b50505050505050565b816001600160a01b0316836001600160a01b03160361271b5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610802565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166127ae5760405162461bcd60e51b815260040161080290613fa6565b3360006127ba85612dad565b905060006127c785612dad565b90506127d7838989858589612a89565b60008681526065602090815260408083206001600160a01b038c1684529091529020548581101561281a5760405162461bcd60e51b815260040161080290613feb565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290612859908490613df5565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46128b9848a8a8a8a8a612df8565b505050505050505050565b6001600160a01b0383166128ea5760405162461bcd60e51b81526004016108029061407c565b3360006128f684612dad565b9050600061290384612dad565b905061292383876000858560405180602001604052806000815250612a89565b60008581526065602090815260408083206001600160a01b038a168452909152902054848110156129665760405162461bcd60e51b8152600401610802906140bf565b60008681526065602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091526000905261269f565b60006001600160e01b03198216636cdb3d1360e11b1480612a1157506001600160e01b031982166303a24d0760e21b145b8061083057506301ffc9a760e01b6001600160e01b0319831614610830565b612a3a828261143e565b610cea57612a4781612eb3565b612a52836020612ec5565b604051602001612a6392919061414e565b60408051601f198184030181529082905262461bcd60e51b82526108029160040161343f565b612a91612d67565b612043868686868686613067565b6001600160a01b0384163b156120435760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190612ae390899089908890889088906004016141c3565b6020604051808303816000875af1925050508015612b1e575060408051601f3d908101601f19168201909252612b1b91810190614221565b60015b612bca57612b2a61423e565b806308c379a003612b635750612b3e614259565b80612b495750612b65565b8060405162461bcd60e51b8152600401610802919061343f565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610802565b6001600160e01b0319811663bc197c8160e01b1461269f5760405162461bcd60e51b8152600401610802906142e2565b6001600160a01b0381163b612c675760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610802565b6000805160206143a383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612c9f836131e3565b600082511180612cac5750805b15610c6b57610aae8383613223565b60c95460ff166125155760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610802565b600054610100900460ff16612d2b5760405162461bcd60e51b815260040161080290614103565b610dca81613248565b600054610100900460ff16612d5b5760405162461bcd60e51b815260040161080290614103565b60c9805460ff19169055565b60c95460ff16156125155760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610802565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612de757612de7613ddf565b602090810291909101015292915050565b6001600160a01b0384163b156120435760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190612e3c908990899088908890889060040161432a565b6020604051808303816000875af1925050508015612e77575060408051601f3d908101601f19168201909252612e7491810190614221565b60015b612e8357612b2a61423e565b6001600160e01b0319811663f23a6e6160e01b1461269f5760405162461bcd60e51b8152600401610802906142e2565b60606108306001600160a01b03831660145b60606000612ed4836002613e08565b612edf906002613df5565b6001600160401b03811115612ef657612ef66134e3565b6040519080825280601f01601f191660200182016040528015612f20576020820181803683370190505b509050600360fc1b81600081518110612f3b57612f3b613ddf565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612f6a57612f6a613ddf565b60200101906001600160f81b031916908160001a9053506000612f8e846002613e08565b612f99906001613df5565b90505b6001811115613011576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612fcd57612fcd613ddf565b1a60f81b828281518110612fe357612fe3613ddf565b60200101906001600160f81b031916908160001a90535060049490941c9361300a8161436f565b9050612f9c565b5083156130605760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610802565b9392505050565b6001600160a01b0385166130ef5760005b83518110156130ed5782818151811061309357613093613ddf565b602002602001015161012d60008684815181106130b2576130b2613ddf565b6020026020010151815260200190815260200160002060008282546130d79190613df5565b909155506130e6905081613ce0565b9050613078565b505b6001600160a01b0384166120435760005b835181101561269f57600084828151811061311d5761311d613ddf565b60200260200101519050600084838151811061313b5761313b613ddf565b60200260200101519050600061012d6000848152602001908152602001600020549050818110156131bf5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f74604482015267616c537570706c7960c01b6064820152608401610802565b600092835261012d6020526040909220910390556131dc81613ce0565b9050613100565b6131ec81612bfa565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061306083836040518060600160405280602781526020016143c360279139613254565b6067610cea8282613e65565b6060600080856001600160a01b0316856040516132719190614386565b600060405180830381855af49150503d80600081146132ac576040519150601f19603f3d011682016040523d82523d6000602084013e6132b1565b606091505b50915091506132c2868383876132cc565b9695505050505050565b6060831561333b578251600003613334576001600160a01b0385163b6133345760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610802565b5081613345565b613345838361334d565b949350505050565b815115612b495781518083602001fd5b80356001600160a01b038116811461337457600080fd5b919050565b6000806040838503121561338c57600080fd5b6133958361335d565b946020939093013593505050565b6001600160e01b031981168114610dca57600080fd5b6000602082840312156133cb57600080fd5b8135613060816133a3565b6000602082840312156133e857600080fd5b5035919050565b60005b8381101561340a5781810151838201526020016133f2565b50506000910152565b6000815180845261342b8160208601602086016133ef565b601f01601f19169290920160200192915050565b6020815260006130606020830184613413565b634e487b7160e01b600052602160045260246000fd5b6004811061348657634e487b7160e01b600052602160045260246000fd5b9052565b6134948188613468565b85602082015284604082015260018060a01b038416606082015260c0608082015260006134c460c0830185613413565b82810360a08401526134d68185613413565b9998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561351e5761351e6134e3565b6040525050565b60006001600160401b0382111561353e5761353e6134e3565b5060051b60200190565b600082601f83011261355957600080fd5b8135602061356682613525565b60405161357382826134f9565b83815260059390931b850182019282810191508684111561359357600080fd5b8286015b848110156135ae5780358352918301918301613597565b509695505050505050565b600082601f8301126135ca57600080fd5b81356001600160401b038111156135e3576135e36134e3565b6040516135fa601f8301601f1916602001826134f9565b81815284602083860101111561360f57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561364457600080fd5b61364d8661335d565b945061365b6020870161335d565b935060408601356001600160401b038082111561367757600080fd5b61368389838a01613548565b9450606088013591508082111561369957600080fd5b6136a589838a01613548565b935060808801359150808211156136bb57600080fd5b506136c8888289016135b9565b9150509295509295909350565b600080604083850312156136e857600080fd5b823591506136f86020840161335d565b90509250929050565b60006020828403121561371357600080fd5b6130608261335d565b6000806040838503121561372f57600080fd5b82356001600160401b038082111561374657600080fd5b818501915085601f83011261375a57600080fd5b8135602061376782613525565b60405161377482826134f9565b83815260059390931b850182019282810191508984111561379457600080fd5b948201945b838610156137b9576137aa8661335d565b82529482019490820190613799565b965050860135925050808211156137cf57600080fd5b506137dc85828601613548565b9150509250929050565b600081518084526020808501945080840160005b83811015613816578151875295820195908201906001016137fa565b509495945050505050565b60208152600061306060208301846137e6565b6000806040838503121561384757600080fd5b6138508361335d565b915060208301356001600160401b0381111561386b57600080fd5b6137dc858286016135b9565b60008060006060848603121561388c57600080fd5b6138958461335d565b925060208401356001600160401b03808211156138b157600080fd5b6138bd87838801613548565b935060408601359150808211156138d357600080fd5b506138e086828701613548565b9150509250925092565b600080604083850312156138fd57600080fd5b8235915060208301356001600160401b0381111561386b57600080fd5b6000806000806080858703121561393057600080fd5b84359350602085013592506139476040860161335d565b915060608501356001600160401b0381111561396257600080fd5b61396e878288016135b9565b91505092959194509250565b6000806040838503121561398d57600080fd5b6139968361335d565b9150602083013580151581146139ab57600080fd5b809150509250929050565b600080600080600060a086880312156139ce57600080fd5b853594506139de6020870161335d565b93506139ec6040870161335d565b925060608601356001600160401b0380821115613a0857600080fd5b6136a589838a016135b9565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613a7c57888303603f1901855281518051878552613a5f88860182613413565b918901519489019490945294870194925090860190600101613a3b565b509098975050505050505050565b60008060408385031215613a9d57600080fd5b50508035926020909101359150565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613a7c57603f19898403018552815160c0613af3858351613468565b81890151858a015287820151888601526060808301516001600160a01b031690860152608080830151818701839052613b2e83880182613413565b9250505060a08083015192508582038187015250613b4c8183613413565b968901969450505090860190600101613ad3565b600080600060608486031215613b7557600080fd5b8335925060208401356001600160401b0380821115613b9357600080fd5b613b9f878388016135b9565b93506040860135915080821115613bb557600080fd5b506138e0868287016135b9565b60008060408385031215613bd557600080fd5b613bde8361335d565b91506136f86020840161335d565b600080600080600060a08688031215613c0457600080fd5b613c0d8661335d565b9450613c1b6020870161335d565b9350604086013592506060860135915060808601356001600160401b03811115613c4457600080fd5b6136c8888289016135b9565b600080600060608486031215613c6557600080fd5b613c6e8461335d565b95602085013595506040909401359392505050565b600181811c90821680613c9757607f821691505b602082108103611be957634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561083057610830613cb7565b600060018201613cf257613cf2613cb7565b5060010190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b8082018082111561083057610830613cb7565b808202811582820484141761083057610830613cb7565b601f821115610c6b57600081815260208120601f850160051c81016020861015613e465750805b601f850160051c820191505b8181101561204357828155600101613e52565b81516001600160401b03811115613e7e57613e7e6134e3565b613e9281613e8c8454613c83565b84613e1f565b602080601f831160018114613ec75760008415613eaf5750858301515b600019600386901b1c1916600185901b178555612043565b600085815260208120601f198616915b82811015613ef657888601518255948401946001909101908401613ed7565b5085821015613f145787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b848152608060208201526000613f3d6080830186613413565b6040830194909452506001600160a01b039190911660609091015292915050565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60408152600061404860408301856137e6565b828103602084015261405a81856137e6565b95945050505050565b60006020828403121561407557600080fd5b5051919050565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516141868160178501602088016133ef565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516141b78160288401602088016133ef565b01602801949350505050565b6001600160a01b0386811682528516602082015260a0604082018190526000906141ef908301866137e6565b828103606084015261420181866137e6565b905082810360808401526142158185613413565b98975050505050505050565b60006020828403121561423357600080fd5b8151613060816133a3565b600060033d11156110a55760046000803e5060005160e01c90565b600060443d10156142675790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561429657505050505090565b82850191508151818111156142ae5750505050505090565b843d87010160208285010111156142c85750505050505090565b6142d7602082860101876134f9565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061436490830184613413565b979650505050505050565b60008161437e5761437e613cb7565b506000190190565b600082516143988184602087016133ef565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220da130ed039dda045ef956f688a9273e300b1e1286ffcad30d5d2db075c62018664736f6c63430008130033", - "deployedBytecode": "0x6080604052600436106102315760003560e01c8063790bafc61161012d578063c6fbb712116100b0578063e43990fe11610077578063e43990fe146106b2578063e985e9c5146106d2578063f242432a1461071b578063f5298aca1461073b578063f8c1b2fd1461075b578063fc74efa21461077b57005b8063c6fbb7121461060c578063c84aae1714610623578063d547741f14610650578063d667c9ce14610670578063df6efc6c1461069057005b8063a217fddf116100f4578063a217fddf14610572578063a22cb46514610587578063b0e21e8a146105a7578063b3a44bd6146105be578063bd85b039146105de57005b8063790bafc6146104f55780638129fc1c146105155780638456cb591461052a57806391d148541461053f578063940123da1461055f57005b80633659cfe6116101b557806352d1902d1161017c57806352d1902d146104715780635c975abb146104865780636b20c4541461049e5780636b5cb789146104be5780637357628c146104d557005b80633659cfe6146103cc5780633f4ba83a146103ec5780634e1273f4146104015780634f1ef2861461042e5780634f558e791461044157005b8063248a9ca3116101f9578063248a9ca31461030a578063279c806e1461033a5780632eb2c2d61461036c5780632f2ff15d1461038c57806336568abe146103ac57005b8062fdd58e1461023a57806301ffc9a71461026d5780630a579eca1461029d5780630e89341c146102bd578063155dd5ee146102ea57005b3661023857005b005b34801561024657600080fd5b5061025a610255366004613379565b61079b565b6040519081526020015b60405180910390f35b34801561027957600080fd5b5061028d6102883660046133b9565b610836565b6040519015158152602001610264565b3480156102a957600080fd5b506102386102b83660046133d6565b610841565b3480156102c957600080fd5b506102dd6102d83660046133d6565b610923565b604051610264919061343f565b3480156102f657600080fd5b506102386103053660046133d6565b6109b7565b34801561031657600080fd5b5061025a6103253660046133d6565b60009081526097602052604090206001015490565b34801561034657600080fd5b5061035a6103553660046133d6565b610ab4565b6040516102649695949392919061348a565b34801561037857600080fd5b5061023861038736600461362c565b610c0a565b34801561039857600080fd5b506102386103a73660046136d5565b610c56565b3480156103b857600080fd5b506102386103c73660046136d5565b610c70565b3480156103d857600080fd5b506102386103e7366004613701565b610cee565b3480156103f857600080fd5b50610238610dcd565b34801561040d57600080fd5b5061042161041c36600461371c565b610dff565b6040516102649190613821565b61023861043c366004613834565b610f28565b34801561044d57600080fd5b5061028d61045c3660046133d6565b600090815261012d6020526040902054151590565b34801561047d57600080fd5b5061025a610ff4565b34801561049257600080fd5b5060c95460ff1661028d565b3480156104aa57600080fd5b506102386104b9366004613877565b6110a8565b3480156104ca57600080fd5b5061025a6101c65481565b3480156104e157600080fd5b506102386104f03660046133d6565b6110eb565b34801561050157600080fd5b506102386105103660046138ea565b61118c565b34801561052157600080fd5b50610238611241565b34801561053657600080fd5b5061023861140c565b34801561054b57600080fd5b5061028d61055a3660046136d5565b61143e565b61023861056d36600461391a565b611469565b34801561057e57600080fd5b5061025a600081565b34801561059357600080fd5b506102386105a236600461397a565b61154a565b3480156105b357600080fd5b5061025a6101c35481565b3480156105ca57600080fd5b5061025a6105d93660046139b6565b611555565b3480156105ea57600080fd5b5061025a6105f93660046133d6565b600090815261012d602052604090205490565b34801561061857600080fd5b5061025a6101c55481565b34801561062f57600080fd5b5061064361063e366004613701565b6116af565b6040516102649190613a14565b34801561065c57600080fd5b5061023861066b3660046136d5565b611819565b34801561067c57600080fd5b5061023861068b366004613a8a565b61183e565b34801561069c57600080fd5b506106a5611980565b6040516102649190613aac565b3480156106be57600080fd5b506102386106cd366004613b60565b611bef565b3480156106de57600080fd5b5061028d6106ed366004613bc2565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b34801561072757600080fd5b50610238610736366004613bec565b611c77565b34801561074757600080fd5b50610238610756366004613c50565b611cbc565b34801561076757600080fd5b506102386107763660046133d6565b611cff565b34801561078757600080fd5b506102386107963660046133d6565b611d94565b60006001600160a01b03831661080b5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b600061083082611e6f565b60008181526101c460205260409020600301546001600160a01b0316331480610870575061087060003361143e565b61088d5760405163388f811f60e01b815260040160405180910390fd5b600260008281526101c4602052604090205460ff1660038111156108b3576108b3613452565b146108d157604051631f0fb6fd60e11b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600317905590518281527f591913f977ab242c5871f116f36be231ff67df5e8e0bac1efd91fa8a723aca2b91015b60405180910390a150565b60606067805461093290613c83565b80601f016020809104026020016040519081016040528092919081815260200182805461095e90613c83565b80156109ab5780601f10610980576101008083540402835291602001916109ab565b820191906000526020600020905b81548152906001019060200180831161098e57829003601f168201915b50505050509050919050565b60006109c281611e94565b478211156109e357604051631036b5ad60e31b815260040160405180910390fd5b4760005b6101c554811015610a445760008181526101c46020526040902060020154610a0f9083613ccd565b915083821015610a325760405163156bbc5b60e01b815260040160405180910390fd5b80610a3c81613ce0565b9150506109e7565b50604051600090339085908381818185875af1925050503d8060008114610a87576040519150601f19603f3d011682016040523d82523d6000602084013e610a8c565b606091505b5050905080610aae576040516317f2c34560e31b815260040160405180910390fd5b50505050565b6101c4602052600090815260409020805460018201546002830154600384015460048501805460ff90951695939492936001600160a01b0390921692610af990613c83565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2590613c83565b8015610b725780601f10610b4757610100808354040283529160200191610b72565b820191906000526020600020905b815481529060010190602001808311610b5557829003601f168201915b505050505090806005018054610b8790613c83565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb390613c83565b8015610c005780601f10610bd557610100808354040283529160200191610c00565b820191906000526020600020905b815481529060010190602001808311610be357829003601f168201915b5050505050905086565b6001600160a01b038516331480610c265750610c2685336106ed565b610c425760405162461bcd60e51b815260040161080290613cf9565b610c4f8585858585611e9e565b5050505050565b6000610c6181611e94565b610c6b838361204b565b505050565b6001600160a01b0381163314610ce05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610802565b610cea82826120d1565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d365760405162461bcd60e51b815260040161080290613d47565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610d7f6000805160206143a3833981519152546001600160a01b031690565b6001600160a01b031614610da55760405162461bcd60e51b815260040161080290613d93565b610dae81612138565b60408051600080825260208201909252610dca91839190612162565b50565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610df781611e94565b610dca6122cd565b60608151835114610e645760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610802565b600083516001600160401b03811115610e7f57610e7f6134e3565b604051908082528060200260200182016040528015610ea8578160200160208202803683370190505b50905060005b8451811015610f2057610ef3858281518110610ecc57610ecc613ddf565b6020026020010151858381518110610ee657610ee6613ddf565b602002602001015161079b565b828281518110610f0557610f05613ddf565b6020908102919091010152610f1981613ce0565b9050610eae565b509392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610f705760405162461bcd60e51b815260040161080290613d47565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fb96000805160206143a3833981519152546001600160a01b031690565b6001600160a01b031614610fdf5760405162461bcd60e51b815260040161080290613d93565b610fe882612138565b610cea82826001612162565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110945760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610802565b506000805160206143a38339815191525b90565b6001600160a01b0383163314806110c457506110c483336106ed565b6110e05760405162461bcd60e51b815260040161080290613cf9565b610c6b83838361231f565b60006110f681611e94565b600160008381526101c4602052604090205460ff16600381111561111c5761111c613452565b1461113a5760405163137c9c1f60e31b815260040160405180910390fd5b60008281526101c46020908152604091829020805460ff1916600217905590518381527f8f4352ac8b4aefdd2333162306bbe09dd4f4ff6661e89ccc4e4dcced8794e8f7910160405180910390a15050565b600260008381526101c4602052604090205460ff1660038111156111b2576111b2613452565b146111d05760405163137c9c1f60e31b815260040160405180910390fd5b3360009081526101c760209081526040808320600886901c845290915290208054600160ff85161b179055336001600160a01b0316827f710e220a47c8d9e50587c80fe509f5e762149ef672440eff70798204dd70f5eb83604051611235919061343f565b60405180910390a35050565b600054610100900460ff16158080156112615750600054600160ff909116105b8061127b5750303b15801561127b575060005460ff166001145b6112de5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610802565b6000805460ff191660011790558015611301576000805461ff0019166101001790555b611319604051806020016040528060008152506124be565b6113216124ee565b611329612517565b6113316124ee565b6113396124ee565b6113416124ee565b61134c60003361204b565b6113767f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c3361204b565b6113a07f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a3361204b565b6113ca7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e33361204b565b8015610dca576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610918565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a61143681611e94565b610dca612546565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600260008581526101c4602052604090205460ff16600381111561148f5761148f613452565b146114ad57604051631f0fb6fd60e11b815260040160405180910390fd5b6101c35460008581526101c4602052604090206001015484916114cf91613df5565b6114d99190613e08565b3410156114f957604051631036b5ad60e31b815260040160405180910390fd5b61150582858584612583565b6101c3546115139084613e08565b61151d9034613ccd565b60008581526101c460205260408120600201805490919061153f908490613df5565b909155505050505050565b610cea3383836126a8565b60006101c65486111561157b57604051630f0c4c5f60e41b815260040160405180910390fd5b506101c5546040805160c0810190915280600181526020808201899052600060408084018290526001600160a01b038a1660608501526080840188905260a09093018690528481526101c49091522081518154829060ff191660018360038111156115e8576115e8613452565b0217905550602082015160018201556040820151600282015560608201516003820180546001600160a01b0319166001600160a01b039092169190911790556080820151600482019061163b9082613e65565b5060a082015160058201906116509082613e65565b50506101c580549150600061166483613ce0565b91905055507f3deb71b5a6774038a220621d78241405004043d5a928de9c7956bcc5270416db8183888860405161169e9493929190613f24565b60405180910390a195945050505050565b606060006101c5546001600160401b038111156116ce576116ce6134e3565b60405190808252806020026020018201604052801561171457816020015b6040805180820190915260608152600060208201528152602001906001900390816116ec5790505b50905060005b6101c5548110156118125760405180604001604052806101c46000848152602001908152602001600020600401805461175290613c83565b80601f016020809104026020016040519081016040528092919081815260200182805461177e90613c83565b80156117cb5780601f106117a0576101008083540402835291602001916117cb565b820191906000526020600020905b8154815290600101906020018083116117ae57829003601f168201915b505050505081526020016117df868461079b565b8152508282815181106117f4576117f4613ddf565b6020026020010181905250808061180a90613ce0565b91505061171a565b5092915050565b60008281526097602052604090206001015461183481611e94565b610c6b83836120d1565b60008281526101c460205260409020600301546001600160a01b031633146118795760405163388f811f60e01b815260040160405180910390fd5b60008281526101c460205260409020600201548111156118ac57604051637eafab7d60e01b815260040160405180910390fd5b604051600090339083908381818185875af1925050503d80600081146118ee576040519150601f19603f3d011682016040523d82523d6000602084013e6118f3565b606091505b5050905080611915576040516317f2c34560e31b815260040160405180910390fd5b60008381526101c4602052604081206002018054849290611937908490613ccd565b90915550506040805184815260208101849052338183015290517ff1090e9d5138cd4909542e10e1da576730b07eb291a71a151e63160dde345b949181900360600190a1505050565b606060006101c5546001600160401b0381111561199f5761199f6134e3565b604051908082528060200260200182016040528015611a1357816020015b611a006040805160c081019091528060008152602001600081526020016000815260200160006001600160a01b0316815260200160608152602001606081525090565b8152602001906001900390816119bd5790505b50905060005b6101c554811015611be95760008181526101c4602052604090819020815160c081019092528054829060ff166003811115611a5657611a56613452565b6003811115611a6757611a67613452565b8152600182015460208201526002820154604082015260038201546001600160a01b03166060820152600482018054608090920191611aa590613c83565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad190613c83565b8015611b1e5780601f10611af357610100808354040283529160200191611b1e565b820191906000526020600020905b815481529060010190602001808311611b0157829003601f168201915b50505050508152602001600582018054611b3790613c83565b80601f0160208091040260200160405190810160405280929190818152602001828054611b6390613c83565b8015611bb05780601f10611b8557610100808354040283529160200191611bb0565b820191906000526020600020905b815481529060010190602001808311611b9357829003601f168201915b505050505081525050828281518110611bcb57611bcb613ddf565b60200260200101819052508080611be190613ce0565b915050611a19565b50919050565b6000611bfa81611e94565b600260008581526101c4602052604090205460ff166003811115611c2057611c20613452565b14611c3e5760405163137c9c1f60e31b815260040160405180910390fd5b60008481526101c460205260409020600401611c5a8482613e65565b5060008481526101c460205260409020600501610c4f8382613e65565b6001600160a01b038516331480611c935750611c9385336106ed565b611caf5760405162461bcd60e51b815260040161080290613cf9565b610c4f8585858585612788565b6001600160a01b038316331480611cd85750611cd883336106ed565b611cf45760405162461bcd60e51b815260040161080290613cf9565b610c6b8383836128c4565b3360009081526101c760209081526040808320600885901c84529182905290912054600160ff84161b16611d465760405163423f327760e11b815260040160405180910390fd5b600882901c6000908152602082905260408082208054600160ff87161b1916905551339184917fc6c1c3224e50c3c958e39197695bdfe8457ce7c0014d8d51a4d3aa12c5ac18489190a35050565b60008181526101c460205260409020600301546001600160a01b0316331480611dc35750611dc360003361143e565b611de05760405163388f811f60e01b815260040160405180910390fd5b600360008281526101c4602052604090205460ff166003811115611e0657611e06613452565b14611e245760405163968807a560e01b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600217905590518281527f63bb17c9645a29322601b4fe88d8f3fa84f32229368294f903084be8f5d813ba9101610918565b60006001600160e01b03198216637965db0b60e01b14806108305750610830826129e0565b610dca8133612a30565b8151835114611ebf5760405162461bcd60e51b815260040161080290613f5e565b6001600160a01b038416611ee55760405162461bcd60e51b815260040161080290613fa6565b33611ef4818787878787612a89565b60005b8451811015611fdd576000858281518110611f1457611f14613ddf565b602002602001015190506000858381518110611f3257611f32613ddf565b60209081029190910181015160008481526065835260408082206001600160a01b038e168352909352919091205490915081811015611f835760405162461bcd60e51b815260040161080290613feb565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611fc2908490613df5565b9250508190555050505080611fd690613ce0565b9050611ef7565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161202d929190614035565b60405180910390a4612043818787878787612a9f565b505050505050565b612055828261143e565b610cea5760008281526097602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561208d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6120db828261143e565b15610cea5760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610cea81611e94565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561219557610c6b83612bfa565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156121ef575060408051601f3d908101601f191682019092526121ec91810190614063565b60015b6122525760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610802565b6000805160206143a383398151915281146122c15760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610802565b50610c6b838383612c96565b6122d5612cbb565b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0383166123455760405162461bcd60e51b81526004016108029061407c565b80518251146123665760405162461bcd60e51b815260040161080290613f5e565b600033905061238981856000868660405180602001604052806000815250612a89565b60005b83518110156124515760008482815181106123a9576123a9613ddf565b6020026020010151905060008483815181106123c7576123c7613ddf565b60209081029190910181015160008481526065835260408082206001600160a01b038c1683529093529190912054909150818110156124185760405162461bcd60e51b8152600401610802906140bf565b60009283526065602090815260408085206001600160a01b038b168652909152909220910390558061244981613ce0565b91505061238c565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516124a2929190614035565b60405180910390a4604080516020810190915260009052610aae565b600054610100900460ff166124e55760405162461bcd60e51b815260040161080290614103565b610dca81612d04565b600054610100900460ff166125155760405162461bcd60e51b815260040161080290614103565b565b600054610100900460ff1661253e5760405162461bcd60e51b815260040161080290614103565b612515612d34565b61254e612d67565b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586123023390565b6001600160a01b0384166125e35760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610802565b3360006125ef85612dad565b905060006125fc85612dad565b905061260d83600089858589612a89565b60008681526065602090815260408083206001600160a01b038b1684529091528120805487929061263f908490613df5565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461269f83600089898989612df8565b50505050505050565b816001600160a01b0316836001600160a01b03160361271b5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610802565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166127ae5760405162461bcd60e51b815260040161080290613fa6565b3360006127ba85612dad565b905060006127c785612dad565b90506127d7838989858589612a89565b60008681526065602090815260408083206001600160a01b038c1684529091529020548581101561281a5760405162461bcd60e51b815260040161080290613feb565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290612859908490613df5565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46128b9848a8a8a8a8a612df8565b505050505050505050565b6001600160a01b0383166128ea5760405162461bcd60e51b81526004016108029061407c565b3360006128f684612dad565b9050600061290384612dad565b905061292383876000858560405180602001604052806000815250612a89565b60008581526065602090815260408083206001600160a01b038a168452909152902054848110156129665760405162461bcd60e51b8152600401610802906140bf565b60008681526065602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091526000905261269f565b60006001600160e01b03198216636cdb3d1360e11b1480612a1157506001600160e01b031982166303a24d0760e21b145b8061083057506301ffc9a760e01b6001600160e01b0319831614610830565b612a3a828261143e565b610cea57612a4781612eb3565b612a52836020612ec5565b604051602001612a6392919061414e565b60408051601f198184030181529082905262461bcd60e51b82526108029160040161343f565b612a91612d67565b612043868686868686613067565b6001600160a01b0384163b156120435760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190612ae390899089908890889088906004016141c3565b6020604051808303816000875af1925050508015612b1e575060408051601f3d908101601f19168201909252612b1b91810190614221565b60015b612bca57612b2a61423e565b806308c379a003612b635750612b3e614259565b80612b495750612b65565b8060405162461bcd60e51b8152600401610802919061343f565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610802565b6001600160e01b0319811663bc197c8160e01b1461269f5760405162461bcd60e51b8152600401610802906142e2565b6001600160a01b0381163b612c675760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610802565b6000805160206143a383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612c9f836131e3565b600082511180612cac5750805b15610c6b57610aae8383613223565b60c95460ff166125155760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610802565b600054610100900460ff16612d2b5760405162461bcd60e51b815260040161080290614103565b610dca81613248565b600054610100900460ff16612d5b5760405162461bcd60e51b815260040161080290614103565b60c9805460ff19169055565b60c95460ff16156125155760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610802565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612de757612de7613ddf565b602090810291909101015292915050565b6001600160a01b0384163b156120435760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190612e3c908990899088908890889060040161432a565b6020604051808303816000875af1925050508015612e77575060408051601f3d908101601f19168201909252612e7491810190614221565b60015b612e8357612b2a61423e565b6001600160e01b0319811663f23a6e6160e01b1461269f5760405162461bcd60e51b8152600401610802906142e2565b60606108306001600160a01b03831660145b60606000612ed4836002613e08565b612edf906002613df5565b6001600160401b03811115612ef657612ef66134e3565b6040519080825280601f01601f191660200182016040528015612f20576020820181803683370190505b509050600360fc1b81600081518110612f3b57612f3b613ddf565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612f6a57612f6a613ddf565b60200101906001600160f81b031916908160001a9053506000612f8e846002613e08565b612f99906001613df5565b90505b6001811115613011576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612fcd57612fcd613ddf565b1a60f81b828281518110612fe357612fe3613ddf565b60200101906001600160f81b031916908160001a90535060049490941c9361300a8161436f565b9050612f9c565b5083156130605760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610802565b9392505050565b6001600160a01b0385166130ef5760005b83518110156130ed5782818151811061309357613093613ddf565b602002602001015161012d60008684815181106130b2576130b2613ddf565b6020026020010151815260200190815260200160002060008282546130d79190613df5565b909155506130e6905081613ce0565b9050613078565b505b6001600160a01b0384166120435760005b835181101561269f57600084828151811061311d5761311d613ddf565b60200260200101519050600084838151811061313b5761313b613ddf565b60200260200101519050600061012d6000848152602001908152602001600020549050818110156131bf5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f74604482015267616c537570706c7960c01b6064820152608401610802565b600092835261012d6020526040909220910390556131dc81613ce0565b9050613100565b6131ec81612bfa565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061306083836040518060600160405280602781526020016143c360279139613254565b6067610cea8282613e65565b6060600080856001600160a01b0316856040516132719190614386565b600060405180830381855af49150503d80600081146132ac576040519150601f19603f3d011682016040523d82523d6000602084013e6132b1565b606091505b50915091506132c2868383876132cc565b9695505050505050565b6060831561333b578251600003613334576001600160a01b0385163b6133345760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610802565b5081613345565b613345838361334d565b949350505050565b815115612b495781518083602001fd5b80356001600160a01b038116811461337457600080fd5b919050565b6000806040838503121561338c57600080fd5b6133958361335d565b946020939093013593505050565b6001600160e01b031981168114610dca57600080fd5b6000602082840312156133cb57600080fd5b8135613060816133a3565b6000602082840312156133e857600080fd5b5035919050565b60005b8381101561340a5781810151838201526020016133f2565b50506000910152565b6000815180845261342b8160208601602086016133ef565b601f01601f19169290920160200192915050565b6020815260006130606020830184613413565b634e487b7160e01b600052602160045260246000fd5b6004811061348657634e487b7160e01b600052602160045260246000fd5b9052565b6134948188613468565b85602082015284604082015260018060a01b038416606082015260c0608082015260006134c460c0830185613413565b82810360a08401526134d68185613413565b9998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561351e5761351e6134e3565b6040525050565b60006001600160401b0382111561353e5761353e6134e3565b5060051b60200190565b600082601f83011261355957600080fd5b8135602061356682613525565b60405161357382826134f9565b83815260059390931b850182019282810191508684111561359357600080fd5b8286015b848110156135ae5780358352918301918301613597565b509695505050505050565b600082601f8301126135ca57600080fd5b81356001600160401b038111156135e3576135e36134e3565b6040516135fa601f8301601f1916602001826134f9565b81815284602083860101111561360f57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561364457600080fd5b61364d8661335d565b945061365b6020870161335d565b935060408601356001600160401b038082111561367757600080fd5b61368389838a01613548565b9450606088013591508082111561369957600080fd5b6136a589838a01613548565b935060808801359150808211156136bb57600080fd5b506136c8888289016135b9565b9150509295509295909350565b600080604083850312156136e857600080fd5b823591506136f86020840161335d565b90509250929050565b60006020828403121561371357600080fd5b6130608261335d565b6000806040838503121561372f57600080fd5b82356001600160401b038082111561374657600080fd5b818501915085601f83011261375a57600080fd5b8135602061376782613525565b60405161377482826134f9565b83815260059390931b850182019282810191508984111561379457600080fd5b948201945b838610156137b9576137aa8661335d565b82529482019490820190613799565b965050860135925050808211156137cf57600080fd5b506137dc85828601613548565b9150509250929050565b600081518084526020808501945080840160005b83811015613816578151875295820195908201906001016137fa565b509495945050505050565b60208152600061306060208301846137e6565b6000806040838503121561384757600080fd5b6138508361335d565b915060208301356001600160401b0381111561386b57600080fd5b6137dc858286016135b9565b60008060006060848603121561388c57600080fd5b6138958461335d565b925060208401356001600160401b03808211156138b157600080fd5b6138bd87838801613548565b935060408601359150808211156138d357600080fd5b506138e086828701613548565b9150509250925092565b600080604083850312156138fd57600080fd5b8235915060208301356001600160401b0381111561386b57600080fd5b6000806000806080858703121561393057600080fd5b84359350602085013592506139476040860161335d565b915060608501356001600160401b0381111561396257600080fd5b61396e878288016135b9565b91505092959194509250565b6000806040838503121561398d57600080fd5b6139968361335d565b9150602083013580151581146139ab57600080fd5b809150509250929050565b600080600080600060a086880312156139ce57600080fd5b853594506139de6020870161335d565b93506139ec6040870161335d565b925060608601356001600160401b0380821115613a0857600080fd5b6136a589838a016135b9565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613a7c57888303603f1901855281518051878552613a5f88860182613413565b918901519489019490945294870194925090860190600101613a3b565b509098975050505050505050565b60008060408385031215613a9d57600080fd5b50508035926020909101359150565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613a7c57603f19898403018552815160c0613af3858351613468565b81890151858a015287820151888601526060808301516001600160a01b031690860152608080830151818701839052613b2e83880182613413565b9250505060a08083015192508582038187015250613b4c8183613413565b968901969450505090860190600101613ad3565b600080600060608486031215613b7557600080fd5b8335925060208401356001600160401b0380821115613b9357600080fd5b613b9f878388016135b9565b93506040860135915080821115613bb557600080fd5b506138e0868287016135b9565b60008060408385031215613bd557600080fd5b613bde8361335d565b91506136f86020840161335d565b600080600080600060a08688031215613c0457600080fd5b613c0d8661335d565b9450613c1b6020870161335d565b9350604086013592506060860135915060808601356001600160401b03811115613c4457600080fd5b6136c8888289016135b9565b600080600060608486031215613c6557600080fd5b613c6e8461335d565b95602085013595506040909401359392505050565b600181811c90821680613c9757607f821691505b602082108103611be957634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561083057610830613cb7565b600060018201613cf257613cf2613cb7565b5060010190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b8082018082111561083057610830613cb7565b808202811582820484141761083057610830613cb7565b601f821115610c6b57600081815260208120601f850160051c81016020861015613e465750805b601f850160051c820191505b8181101561204357828155600101613e52565b81516001600160401b03811115613e7e57613e7e6134e3565b613e9281613e8c8454613c83565b84613e1f565b602080601f831160018114613ec75760008415613eaf5750858301515b600019600386901b1c1916600185901b178555612043565b600085815260208120601f198616915b82811015613ef657888601518255948401946001909101908401613ed7565b5085821015613f145787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b848152608060208201526000613f3d6080830186613413565b6040830194909452506001600160a01b039190911660609091015292915050565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60408152600061404860408301856137e6565b828103602084015261405a81856137e6565b95945050505050565b60006020828403121561407557600080fd5b5051919050565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516141868160178501602088016133ef565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516141b78160288401602088016133ef565b01602801949350505050565b6001600160a01b0386811682528516602082015260a0604082018190526000906141ef908301866137e6565b828103606084015261420181866137e6565b905082810360808401526142158185613413565b98975050505050505050565b60006020828403121561423357600080fd5b8151613060816133a3565b600060033d11156110a55760046000803e5060005160e01c90565b600060443d10156142675790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561429657505050505090565b82850191508151818111156142ae5750505050505090565b843d87010160208285010111156142c85750505050505090565b6142d7602082860101876134f9565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061436490830184613413565b979650505050505050565b60008161437e5761437e613cb7565b506000190190565b600082516143988184602087016133ef565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220da130ed039dda045ef956f688a9273e300b1e1286ffcad30d5d2db075c62018664736f6c63430008130033", + "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516141476200011f60003960008181610bef01528181610c2f01528181610ec701528181610f070152610f9601526141476000f3fe6080604052600436106102315760003560e01c80637357628c1161012d578063bd85b039116100b0578063df6efc6c11610077578063df6efc6c146106fd578063e985e9c51461071f578063f242432a14610768578063f5298aca14610788578063f8c1b2fd146107a8578063fc74efa2146107c857005b8063bd85b0391461064b578063c6fbb71214610679578063c84aae1714610690578063d547741f146106bd578063d667c9ce146106dd57005b8063940123da116100f4578063940123da146105cc578063a217fddf146105df578063a22cb465146105f4578063a2f89fb614610614578063b0e21e8a1461063457005b80637357628c14610542578063790bafc6146105625780638129fc1c146105825780638456cb591461059757806391d14854146105ac57005b80633659cfe6116101b55780634f558e791161017c5780634f558e79146104ae57806352d1902d146104de5780635c975abb146104f35780636b20c4541461050b5780636b5cb7891461052b57005b80633659cfe6146104195780633f4ba83a146104395780634462486f1461044e5780634e1273f41461046e5780634f1ef2861461049b57005b8063248a9ca3116101f9578063248a9ca31461030a578063279c806e1461033a5780632eb2c2d6146103b95780632f2ff15d146103d957806336568abe146103f957005b8062fdd58e1461023a57806301ffc9a71461026d5780630a579eca1461029d5780630e89341c146102bd578063155dd5ee146102ea57005b3661023857005b005b34801561024657600080fd5b5061025a610255366004613116565b6107e8565b6040519081526020015b60405180910390f35b34801561027957600080fd5b5061028d610288366004613156565b610883565b6040519015158152602001610264565b3480156102a957600080fd5b506102386102b8366004613173565b61088e565b3480156102c957600080fd5b506102dd6102d8366004613173565b610970565b60405161026491906131dc565b3480156102f657600080fd5b50610238610305366004613173565b610a04565b34801561031657600080fd5b5061025a610325366004613173565b60009081526097602052604090206001015490565b34801561034657600080fd5b506103a7610355366004613173565b6101c4602052600090815260409020805460018201546002830154600384015460049094015460ff90931693919290916001600160a01b038116916001600160601b03600160a01b9092048216911686565b60405161026496959493929190613227565b3480156103c557600080fd5b506102386103d43660046133c5565b610b01565b3480156103e557600080fd5b506102386103f436600461346e565b610b4d565b34801561040557600080fd5b5061023861041436600461346e565b610b67565b34801561042557600080fd5b5061023861043436600461349a565b610be5565b34801561044557600080fd5b50610238610cc4565b34801561045a57600080fd5b506102386104693660046134cc565b610cf6565b34801561047a57600080fd5b5061048e610489366004613508565b610d94565b604051610264919061360d565b6102386104a9366004613620565b610ebd565b3480156104ba57600080fd5b5061028d6104c9366004613173565b600090815261012d6020526040902054151590565b3480156104ea57600080fd5b5061025a610f89565b3480156104ff57600080fd5b5060c95460ff1661028d565b34801561051757600080fd5b50610238610526366004613663565b61103d565b34801561053757600080fd5b5061025a6101c65481565b34801561054e57600080fd5b5061023861055d366004613173565b611080565b34801561056e57600080fd5b5061023861057d3660046136d6565b611121565b34801561058e57600080fd5b506102386111d6565b3480156105a357600080fd5b506102386113a1565b3480156105b857600080fd5b5061028d6105c736600461346e565b6113d3565b6102386105da366004613726565b6113fe565b3480156105eb57600080fd5b5061025a600081565b34801561060057600080fd5b5061023861060f366004613786565b6114df565b34801561062057600080fd5b5061025a61062f3660046137c2565b6114ea565b34801561064057600080fd5b5061025a6101c35481565b34801561065757600080fd5b5061025a610666366004613173565b600090815261012d602052604090205490565b34801561068557600080fd5b5061025a6101c55481565b34801561069c57600080fd5b506106b06106ab36600461349a565b611667565b6040516102649190613820565b3480156106c957600080fd5b506102386106d836600461346e565b611752565b3480156106e957600080fd5b506102386106f8366004613878565b611777565b34801561070957600080fd5b506107126118b9565b604051610264919061389a565b34801561072b57600080fd5b5061028d61073a366004613924565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b34801561077457600080fd5b5061023861078336600461394e565b611a14565b34801561079457600080fd5b506102386107a33660046139b2565b611a59565b3480156107b457600080fd5b506102386107c3366004613173565b611a9c565b3480156107d457600080fd5b506102386107e3366004613173565b611b31565b60006001600160a01b0383166108585760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b600061087d82611c0c565b60008181526101c460205260409020600301546001600160a01b03163314806108bd57506108bd6000336113d3565b6108da5760405163388f811f60e01b815260040160405180910390fd5b600260008281526101c4602052604090205460ff166003811115610900576109006131ef565b1461091e57604051631f0fb6fd60e11b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600317905590518281527f591913f977ab242c5871f116f36be231ff67df5e8e0bac1efd91fa8a723aca2b91015b60405180910390a150565b60606067805461097f906139e5565b80601f01602080910402602001604051908101604052809291908181526020018280546109ab906139e5565b80156109f85780601f106109cd576101008083540402835291602001916109f8565b820191906000526020600020905b8154815290600101906020018083116109db57829003601f168201915b50505050509050919050565b6000610a0f81611c31565b47821115610a3057604051631036b5ad60e31b815260040160405180910390fd5b4760005b6101c554811015610a915760008181526101c46020526040902060020154610a5c9083613a2f565b915083821015610a7f5760405163156bbc5b60e01b815260040160405180910390fd5b80610a8981613a42565b915050610a34565b50604051600090339085908381818185875af1925050503d8060008114610ad4576040519150601f19603f3d011682016040523d82523d6000602084013e610ad9565b606091505b5050905080610afb576040516317f2c34560e31b815260040160405180910390fd5b50505050565b6001600160a01b038516331480610b1d5750610b1d853361073a565b610b395760405162461bcd60e51b815260040161084f90613a5b565b610b468585858585611c3b565b5050505050565b6000610b5881611c31565b610b628383611de8565b505050565b6001600160a01b0381163314610bd75760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161084f565b610be18282611e6e565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c2d5760405162461bcd60e51b815260040161084f90613aa9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c766000805160206140cb833981519152546001600160a01b031690565b6001600160a01b031614610c9c5760405162461bcd60e51b815260040161084f90613af5565b610ca581611ed5565b60408051600080825260208201909252610cc191839190611eff565b50565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610cee81611c31565b610cc161206a565b6000610d0181611c31565b60008481526101c4602052604081205460ff166003811115610d2557610d256131ef565b03610d435760405163137c9c1f60e31b815260040160405180910390fd5b5060009283526101c460205260409092206003810180546001600160a01b0316600160a01b6001600160601b039485160217905560040180546bffffffffffffffffffffffff191691909216179055565b60608151835114610df95760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b606482015260840161084f565b600083516001600160401b03811115610e1457610e14613272565b604051908082528060200260200182016040528015610e3d578160200160208202803683370190505b50905060005b8451811015610eb557610e88858281518110610e6157610e61613b41565b6020026020010151858381518110610e7b57610e7b613b41565b60200260200101516107e8565b828281518110610e9a57610e9a613b41565b6020908102919091010152610eae81613a42565b9050610e43565b509392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610f055760405162461bcd60e51b815260040161084f90613aa9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f4e6000805160206140cb833981519152546001600160a01b031690565b6001600160a01b031614610f745760405162461bcd60e51b815260040161084f90613af5565b610f7d82611ed5565b610be182826001611eff565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110295760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161084f565b506000805160206140cb8339815191525b90565b6001600160a01b0383163314806110595750611059833361073a565b6110755760405162461bcd60e51b815260040161084f90613a5b565b610b628383836120bc565b600061108b81611c31565b600160008381526101c4602052604090205460ff1660038111156110b1576110b16131ef565b146110cf5760405163137c9c1f60e31b815260040160405180910390fd5b60008281526101c46020908152604091829020805460ff1916600217905590518381527f8f4352ac8b4aefdd2333162306bbe09dd4f4ff6661e89ccc4e4dcced8794e8f7910160405180910390a15050565b600260008381526101c4602052604090205460ff166003811115611147576111476131ef565b146111655760405163137c9c1f60e31b815260040160405180910390fd5b3360009081526101c760209081526040808320600886901c845290915290208054600160ff85161b179055336001600160a01b0316827f710e220a47c8d9e50587c80fe509f5e762149ef672440eff70798204dd70f5eb836040516111ca91906131dc565b60405180910390a35050565b600054610100900460ff16158080156111f65750600054600160ff909116105b806112105750303b158015611210575060005460ff166001145b6112735760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161084f565b6000805460ff191660011790558015611296576000805461ff0019166101001790555b6112ae6040518060200160405280600081525061225b565b6112b661228b565b6112be6122b4565b6112c661228b565b6112ce61228b565b6112d661228b565b6112e1600033611de8565b61130b7f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c33611de8565b6113357f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33611de8565b61135f7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e333611de8565b8015610cc1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610965565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6113cb81611c31565b610cc16122e3565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600260008581526101c4602052604090205460ff166003811115611424576114246131ef565b1461144257604051631f0fb6fd60e11b815260040160405180910390fd5b6101c35460008581526101c46020526040902060010154849161146491613b57565b61146e9190613b6a565b34101561148e57604051631036b5ad60e31b815260040160405180910390fd5b61149a82858584612320565b6101c3546114a89084613b6a565b6114b29034613a2f565b60008581526101c46020526040812060020180549091906114d4908490613b57565b909155505050505050565b610be1338383612445565b60006101c65486111561151057604051630f0c4c5f60e41b815260040160405180910390fd5b506101c5546040805160c0810190915280600181526020808201899052600060408084018290526001600160a01b038a1660608501526001600160601b038089166080860152871660a0909401939093528481526101c49091522081518154829060ff19166001836003811115611589576115896131ef565b02179055506020820151600182015560408201516002820155606082015160808301516001600160a01b03909116600160a01b6001600160601b039283160217600383015560a090920151600490910180546bffffffffffffffffffffffff1916919092161790556101c5805490600061160283613a42565b909155505060408051828152602081018890526001600160601b038416818301526001600160a01b038716606082015290517f2aa47da5461670f8447338efafce9a1c28b72acd7eed3db3876ad9a1b80c7e919181900360800190a195945050505050565b606060006101c5546001600160401b0381111561168657611686613272565b6040519080825280602002602001820160405280156116cb57816020015b60408051808201909152600080825260208201528152602001906001900390816116a45790505b50905060005b6101c55481101561174b5760408051808201825260008381526101c4602090815292902060030154600160a01b90046001600160601b0316815290810161171886846107e8565b81525082828151811061172d5761172d613b41565b6020026020010181905250808061174390613a42565b9150506116d1565b5092915050565b60008281526097602052604090206001015461176d81611c31565b610b628383611e6e565b60008281526101c460205260409020600301546001600160a01b031633146117b25760405163388f811f60e01b815260040160405180910390fd5b60008281526101c460205260409020600201548111156117e557604051637eafab7d60e01b815260040160405180910390fd5b604051600090339083908381818185875af1925050503d8060008114611827576040519150601f19603f3d011682016040523d82523d6000602084013e61182c565b606091505b505090508061184e576040516317f2c34560e31b815260040160405180910390fd5b60008381526101c4602052604081206002018054849290611870908490613a2f565b90915550506040805184815260208101849052338183015290517ff1090e9d5138cd4909542e10e1da576730b07eb291a71a151e63160dde345b949181900360600190a1505050565b606060006101c5546001600160401b038111156118d8576118d8613272565b60405190808252806020026020018201604052801561193857816020015b6040805160c08101825260008082526020808301829052928201819052606082018190526080820181905260a082015282526000199092019101816118f65790505b50905060005b6101c554811015611a0e5760008181526101c4602052604090819020815160c081019092528054829060ff16600381111561197b5761197b6131ef565b600381111561198c5761198c6131ef565b8152600182015460208201526002820154604082015260038201546001600160a01b03811660608301526001600160601b03600160a01b9091048116608083015260049092015490911660a09091015282518390839081106119f0576119f0613b41565b60200260200101819052508080611a0690613a42565b91505061193e565b50919050565b6001600160a01b038516331480611a305750611a30853361073a565b611a4c5760405162461bcd60e51b815260040161084f90613a5b565b610b468585858585612525565b6001600160a01b038316331480611a755750611a75833361073a565b611a915760405162461bcd60e51b815260040161084f90613a5b565b610b62838383612661565b3360009081526101c760209081526040808320600885901c84529182905290912054600160ff84161b16611ae35760405163423f327760e11b815260040160405180910390fd5b600882901c6000908152602082905260408082208054600160ff87161b1916905551339184917fc6c1c3224e50c3c958e39197695bdfe8457ce7c0014d8d51a4d3aa12c5ac18489190a35050565b60008181526101c460205260409020600301546001600160a01b0316331480611b605750611b606000336113d3565b611b7d5760405163388f811f60e01b815260040160405180910390fd5b600360008281526101c4602052604090205460ff166003811115611ba357611ba36131ef565b14611bc15760405163968807a560e01b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600217905590518281527f63bb17c9645a29322601b4fe88d8f3fa84f32229368294f903084be8f5d813ba9101610965565b60006001600160e01b03198216637965db0b60e01b148061087d575061087d8261277d565b610cc181336127cd565b8151835114611c5c5760405162461bcd60e51b815260040161084f90613b81565b6001600160a01b038416611c825760405162461bcd60e51b815260040161084f90613bc9565b33611c91818787878787612826565b60005b8451811015611d7a576000858281518110611cb157611cb1613b41565b602002602001015190506000858381518110611ccf57611ccf613b41565b60209081029190910181015160008481526065835260408082206001600160a01b038e168352909352919091205490915081811015611d205760405162461bcd60e51b815260040161084f90613c0e565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611d5f908490613b57565b9250508190555050505080611d7390613a42565b9050611c94565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611dca929190613c58565b60405180910390a4611de081878787878761283c565b505050505050565b611df282826113d3565b610be15760008281526097602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611e2a3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611e7882826113d3565b15610be15760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610be181611c31565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f3257610b6283612997565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611f8c575060408051601f3d908101601f19168201909252611f8991810190613c86565b60015b611fef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161084f565b6000805160206140cb833981519152811461205e5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161084f565b50610b62838383612a33565b612072612a58565b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0383166120e25760405162461bcd60e51b815260040161084f90613c9f565b80518251146121035760405162461bcd60e51b815260040161084f90613b81565b600033905061212681856000868660405180602001604052806000815250612826565b60005b83518110156121ee57600084828151811061214657612146613b41565b60200260200101519050600084838151811061216457612164613b41565b60209081029190910181015160008481526065835260408082206001600160a01b038c1683529093529190912054909150818110156121b55760405162461bcd60e51b815260040161084f90613ce2565b60009283526065602090815260408085206001600160a01b038b16865290915290922091039055806121e681613a42565b915050612129565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb868660405161223f929190613c58565b60405180910390a4604080516020810190915260009052610afb565b600054610100900460ff166122825760405162461bcd60e51b815260040161084f90613d26565b610cc181612aa1565b600054610100900460ff166122b25760405162461bcd60e51b815260040161084f90613d26565b565b600054610100900460ff166122db5760405162461bcd60e51b815260040161084f90613d26565b6122b2612ad1565b6122eb612b04565b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861209f3390565b6001600160a01b0384166123805760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b606482015260840161084f565b33600061238c85612b4a565b9050600061239985612b4a565b90506123aa83600089858589612826565b60008681526065602090815260408083206001600160a01b038b168452909152812080548792906123dc908490613b57565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461243c83600089898989612b95565b50505050505050565b816001600160a01b0316836001600160a01b0316036124b85760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b606482015260840161084f565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03841661254b5760405162461bcd60e51b815260040161084f90613bc9565b33600061255785612b4a565b9050600061256485612b4a565b9050612574838989858589612826565b60008681526065602090815260408083206001600160a01b038c168452909152902054858110156125b75760405162461bcd60e51b815260040161084f90613c0e565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906125f6908490613b57565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612656848a8a8a8a8a612b95565b505050505050505050565b6001600160a01b0383166126875760405162461bcd60e51b815260040161084f90613c9f565b33600061269384612b4a565b905060006126a084612b4a565b90506126c083876000858560405180602001604052806000815250612826565b60008581526065602090815260408083206001600160a01b038a168452909152902054848110156127035760405162461bcd60e51b815260040161084f90613ce2565b60008681526065602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091526000905261243c565b60006001600160e01b03198216636cdb3d1360e11b14806127ae57506001600160e01b031982166303a24d0760e21b145b8061087d57506301ffc9a760e01b6001600160e01b031983161461087d565b6127d782826113d3565b610be1576127e481612c50565b6127ef836020612c62565b604051602001612800929190613d71565b60408051601f198184030181529082905262461bcd60e51b825261084f916004016131dc565b61282e612b04565b611de0868686868686612e04565b6001600160a01b0384163b15611de05760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906128809089908990889088908890600401613de6565b6020604051808303816000875af19250505080156128bb575060408051601f3d908101601f191682019092526128b891810190613e44565b60015b612967576128c7613e61565b806308c379a00361290057506128db613e7c565b806128e65750612902565b8060405162461bcd60e51b815260040161084f91906131dc565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606482015260840161084f565b6001600160e01b0319811663bc197c8160e01b1461243c5760405162461bcd60e51b815260040161084f90613f05565b6001600160a01b0381163b612a045760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161084f565b6000805160206140cb83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612a3c83612f80565b600082511180612a495750805b15610b6257610afb8383612fc0565b60c95460ff166122b25760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161084f565b600054610100900460ff16612ac85760405162461bcd60e51b815260040161084f90613d26565b610cc181612fe5565b600054610100900460ff16612af85760405162461bcd60e51b815260040161084f90613d26565b60c9805460ff19169055565b60c95460ff16156122b25760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161084f565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612b8457612b84613b41565b602090810291909101015292915050565b6001600160a01b0384163b15611de05760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190612bd99089908990889088908890600401613f4d565b6020604051808303816000875af1925050508015612c14575060408051601f3d908101601f19168201909252612c1191810190613e44565b60015b612c20576128c7613e61565b6001600160e01b0319811663f23a6e6160e01b1461243c5760405162461bcd60e51b815260040161084f90613f05565b606061087d6001600160a01b03831660145b60606000612c71836002613b6a565b612c7c906002613b57565b6001600160401b03811115612c9357612c93613272565b6040519080825280601f01601f191660200182016040528015612cbd576020820181803683370190505b509050600360fc1b81600081518110612cd857612cd8613b41565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612d0757612d07613b41565b60200101906001600160f81b031916908160001a9053506000612d2b846002613b6a565b612d36906001613b57565b90505b6001811115612dae576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612d6a57612d6a613b41565b1a60f81b828281518110612d8057612d80613b41565b60200101906001600160f81b031916908160001a90535060049490941c93612da781613f92565b9050612d39565b508315612dfd5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161084f565b9392505050565b6001600160a01b038516612e8c5760005b8351811015612e8a57828181518110612e3057612e30613b41565b602002602001015161012d6000868481518110612e4f57612e4f613b41565b602002602001015181526020019081526020016000206000828254612e749190613b57565b90915550612e83905081613a42565b9050612e15565b505b6001600160a01b038416611de05760005b835181101561243c576000848281518110612eba57612eba613b41565b602002602001015190506000848381518110612ed857612ed8613b41565b60200260200101519050600061012d600084815260200190815260200160002054905081811015612f5c5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f74604482015267616c537570706c7960c01b606482015260840161084f565b600092835261012d602052604090922091039055612f7981613a42565b9050612e9d565b612f8981612997565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612dfd83836040518060600160405280602781526020016140eb60279139612ff1565b6067610be18282613fef565b6060600080856001600160a01b03168560405161300e91906140ae565b600060405180830381855af49150503d8060008114613049576040519150601f19603f3d011682016040523d82523d6000602084013e61304e565b606091505b509150915061305f86838387613069565b9695505050505050565b606083156130d85782516000036130d1576001600160a01b0385163b6130d15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161084f565b50816130e2565b6130e283836130ea565b949350505050565b8151156128e65781518083602001fd5b80356001600160a01b038116811461311157600080fd5b919050565b6000806040838503121561312957600080fd5b613132836130fa565b946020939093013593505050565b6001600160e01b031981168114610cc157600080fd5b60006020828403121561316857600080fd5b8135612dfd81613140565b60006020828403121561318557600080fd5b5035919050565b60005b838110156131a757818101518382015260200161318f565b50506000910152565b600081518084526131c881602086016020860161318c565b601f01601f19169290920160200192915050565b602081526000612dfd60208301846131b0565b634e487b7160e01b600052602160045260246000fd5b6004811061322357634e487b7160e01b600052602160045260246000fd5b9052565b60c081016132358289613205565b602082019690965260408101949094526001600160a01b039290921660608401526001600160601b0390811660808401521660a090910152919050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156132ad576132ad613272565b6040525050565b60006001600160401b038211156132cd576132cd613272565b5060051b60200190565b600082601f8301126132e857600080fd5b813560206132f5826132b4565b6040516133028282613288565b83815260059390931b850182019282810191508684111561332257600080fd5b8286015b8481101561333d5780358352918301918301613326565b509695505050505050565b60006001600160401b0383111561336157613361613272565b604051613378601f8501601f191660200182613288565b80915083815284848401111561338d57600080fd5b83836020830137600060208583010152509392505050565b600082601f8301126133b657600080fd5b612dfd83833560208501613348565b600080600080600060a086880312156133dd57600080fd5b6133e6866130fa565b94506133f4602087016130fa565b935060408601356001600160401b038082111561341057600080fd5b61341c89838a016132d7565b9450606088013591508082111561343257600080fd5b61343e89838a016132d7565b9350608088013591508082111561345457600080fd5b50613461888289016133a5565b9150509295509295909350565b6000806040838503121561348157600080fd5b82359150613491602084016130fa565b90509250929050565b6000602082840312156134ac57600080fd5b612dfd826130fa565b80356001600160601b038116811461311157600080fd5b6000806000606084860312156134e157600080fd5b833592506134f1602085016134b5565b91506134ff604085016134b5565b90509250925092565b6000806040838503121561351b57600080fd5b82356001600160401b038082111561353257600080fd5b818501915085601f83011261354657600080fd5b81356020613553826132b4565b6040516135608282613288565b83815260059390931b850182019282810191508984111561358057600080fd5b948201945b838610156135a557613596866130fa565b82529482019490820190613585565b965050860135925050808211156135bb57600080fd5b506135c8858286016132d7565b9150509250929050565b600081518084526020808501945080840160005b83811015613602578151875295820195908201906001016135e6565b509495945050505050565b602081526000612dfd60208301846135d2565b6000806040838503121561363357600080fd5b61363c836130fa565b915060208301356001600160401b0381111561365757600080fd5b6135c8858286016133a5565b60008060006060848603121561367857600080fd5b613681846130fa565b925060208401356001600160401b038082111561369d57600080fd5b6136a9878388016132d7565b935060408601359150808211156136bf57600080fd5b506136cc868287016132d7565b9150509250925092565b600080604083850312156136e957600080fd5b8235915060208301356001600160401b0381111561370657600080fd5b8301601f8101851361371757600080fd5b6135c885823560208401613348565b6000806000806080858703121561373c57600080fd5b8435935060208501359250613753604086016130fa565b915060608501356001600160401b0381111561376e57600080fd5b61377a878288016133a5565b91505092959194509250565b6000806040838503121561379957600080fd5b6137a2836130fa565b9150602083013580151581146137b757600080fd5b809150509250929050565b600080600080600060a086880312156137da57600080fd5b853594506137ea602087016130fa565b93506137f8604087016130fa565b9250613806606087016134b5565b9150613814608087016134b5565b90509295509295909350565b602080825282518282018190526000919060409081850190868401855b8281101561386b57815180516001600160601b0316855286015186850152928401929085019060010161383d565b5091979650505050505050565b6000806040838503121561388b57600080fd5b50508035926020909101359150565b602080825282518282018190526000919060409081850190868401855b8281101561386b5781516138cc858251613205565b808701518588015285810151868601526060808201516001600160a01b0316908601526080808201516001600160601b039081169187019190915260a091820151169085015260c090930192908501906001016138b7565b6000806040838503121561393757600080fd5b613940836130fa565b9150613491602084016130fa565b600080600080600060a0868803121561396657600080fd5b61396f866130fa565b945061397d602087016130fa565b9350604086013592506060860135915060808601356001600160401b038111156139a657600080fd5b613461888289016133a5565b6000806000606084860312156139c757600080fd5b6139d0846130fa565b95602085013595506040909401359392505050565b600181811c908216806139f957607f821691505b602082108103611a0e57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561087d5761087d613a19565b600060018201613a5457613a54613a19565b5060010190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b8082018082111561087d5761087d613a19565b808202811582820484141761087d5761087d613a19565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b604081526000613c6b60408301856135d2565b8281036020840152613c7d81856135d2565b95945050505050565b600060208284031215613c9857600080fd5b5051919050565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613da981601785016020880161318c565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613dda81602884016020880161318c565b01602801949350505050565b6001600160a01b0386811682528516602082015260a060408201819052600090613e12908301866135d2565b8281036060840152613e2481866135d2565b90508281036080840152613e3881856131b0565b98975050505050505050565b600060208284031215613e5657600080fd5b8151612dfd81613140565b600060033d111561103a5760046000803e5060005160e01c90565b600060443d1015613e8a5790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715613eb957505050505090565b8285019150815181811115613ed15750505050505090565b843d8701016020828501011115613eeb5750505050505090565b613efa60208286010187613288565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090613f87908301846131b0565b979650505050505050565b600081613fa157613fa1613a19565b506000190190565b601f821115610b6257600081815260208120601f850160051c81016020861015613fd05750805b601f850160051c820191505b81811015611de057828155600101613fdc565b81516001600160401b0381111561400857614008613272565b61401c8161401684546139e5565b84613fa9565b602080601f83116001811461405157600084156140395750858301515b600019600386901b1c1916600185901b178555611de0565b600085815260208120601f198616915b8281101561408057888601518255948401946001909101908401614061565b508582101561409e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082516140c081846020870161318c565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204d74f9c4a04ccc487fcf7896ccce40b5e17e421a638b4497ee079e511ceb03ae64736f6c63430008130033", + "deployedBytecode": "0x6080604052600436106102315760003560e01c80637357628c1161012d578063bd85b039116100b0578063df6efc6c11610077578063df6efc6c146106fd578063e985e9c51461071f578063f242432a14610768578063f5298aca14610788578063f8c1b2fd146107a8578063fc74efa2146107c857005b8063bd85b0391461064b578063c6fbb71214610679578063c84aae1714610690578063d547741f146106bd578063d667c9ce146106dd57005b8063940123da116100f4578063940123da146105cc578063a217fddf146105df578063a22cb465146105f4578063a2f89fb614610614578063b0e21e8a1461063457005b80637357628c14610542578063790bafc6146105625780638129fc1c146105825780638456cb591461059757806391d14854146105ac57005b80633659cfe6116101b55780634f558e791161017c5780634f558e79146104ae57806352d1902d146104de5780635c975abb146104f35780636b20c4541461050b5780636b5cb7891461052b57005b80633659cfe6146104195780633f4ba83a146104395780634462486f1461044e5780634e1273f41461046e5780634f1ef2861461049b57005b8063248a9ca3116101f9578063248a9ca31461030a578063279c806e1461033a5780632eb2c2d6146103b95780632f2ff15d146103d957806336568abe146103f957005b8062fdd58e1461023a57806301ffc9a71461026d5780630a579eca1461029d5780630e89341c146102bd578063155dd5ee146102ea57005b3661023857005b005b34801561024657600080fd5b5061025a610255366004613116565b6107e8565b6040519081526020015b60405180910390f35b34801561027957600080fd5b5061028d610288366004613156565b610883565b6040519015158152602001610264565b3480156102a957600080fd5b506102386102b8366004613173565b61088e565b3480156102c957600080fd5b506102dd6102d8366004613173565b610970565b60405161026491906131dc565b3480156102f657600080fd5b50610238610305366004613173565b610a04565b34801561031657600080fd5b5061025a610325366004613173565b60009081526097602052604090206001015490565b34801561034657600080fd5b506103a7610355366004613173565b6101c4602052600090815260409020805460018201546002830154600384015460049094015460ff90931693919290916001600160a01b038116916001600160601b03600160a01b9092048216911686565b60405161026496959493929190613227565b3480156103c557600080fd5b506102386103d43660046133c5565b610b01565b3480156103e557600080fd5b506102386103f436600461346e565b610b4d565b34801561040557600080fd5b5061023861041436600461346e565b610b67565b34801561042557600080fd5b5061023861043436600461349a565b610be5565b34801561044557600080fd5b50610238610cc4565b34801561045a57600080fd5b506102386104693660046134cc565b610cf6565b34801561047a57600080fd5b5061048e610489366004613508565b610d94565b604051610264919061360d565b6102386104a9366004613620565b610ebd565b3480156104ba57600080fd5b5061028d6104c9366004613173565b600090815261012d6020526040902054151590565b3480156104ea57600080fd5b5061025a610f89565b3480156104ff57600080fd5b5060c95460ff1661028d565b34801561051757600080fd5b50610238610526366004613663565b61103d565b34801561053757600080fd5b5061025a6101c65481565b34801561054e57600080fd5b5061023861055d366004613173565b611080565b34801561056e57600080fd5b5061023861057d3660046136d6565b611121565b34801561058e57600080fd5b506102386111d6565b3480156105a357600080fd5b506102386113a1565b3480156105b857600080fd5b5061028d6105c736600461346e565b6113d3565b6102386105da366004613726565b6113fe565b3480156105eb57600080fd5b5061025a600081565b34801561060057600080fd5b5061023861060f366004613786565b6114df565b34801561062057600080fd5b5061025a61062f3660046137c2565b6114ea565b34801561064057600080fd5b5061025a6101c35481565b34801561065757600080fd5b5061025a610666366004613173565b600090815261012d602052604090205490565b34801561068557600080fd5b5061025a6101c55481565b34801561069c57600080fd5b506106b06106ab36600461349a565b611667565b6040516102649190613820565b3480156106c957600080fd5b506102386106d836600461346e565b611752565b3480156106e957600080fd5b506102386106f8366004613878565b611777565b34801561070957600080fd5b506107126118b9565b604051610264919061389a565b34801561072b57600080fd5b5061028d61073a366004613924565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b34801561077457600080fd5b5061023861078336600461394e565b611a14565b34801561079457600080fd5b506102386107a33660046139b2565b611a59565b3480156107b457600080fd5b506102386107c3366004613173565b611a9c565b3480156107d457600080fd5b506102386107e3366004613173565b611b31565b60006001600160a01b0383166108585760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b600061087d82611c0c565b60008181526101c460205260409020600301546001600160a01b03163314806108bd57506108bd6000336113d3565b6108da5760405163388f811f60e01b815260040160405180910390fd5b600260008281526101c4602052604090205460ff166003811115610900576109006131ef565b1461091e57604051631f0fb6fd60e11b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600317905590518281527f591913f977ab242c5871f116f36be231ff67df5e8e0bac1efd91fa8a723aca2b91015b60405180910390a150565b60606067805461097f906139e5565b80601f01602080910402602001604051908101604052809291908181526020018280546109ab906139e5565b80156109f85780601f106109cd576101008083540402835291602001916109f8565b820191906000526020600020905b8154815290600101906020018083116109db57829003601f168201915b50505050509050919050565b6000610a0f81611c31565b47821115610a3057604051631036b5ad60e31b815260040160405180910390fd5b4760005b6101c554811015610a915760008181526101c46020526040902060020154610a5c9083613a2f565b915083821015610a7f5760405163156bbc5b60e01b815260040160405180910390fd5b80610a8981613a42565b915050610a34565b50604051600090339085908381818185875af1925050503d8060008114610ad4576040519150601f19603f3d011682016040523d82523d6000602084013e610ad9565b606091505b5050905080610afb576040516317f2c34560e31b815260040160405180910390fd5b50505050565b6001600160a01b038516331480610b1d5750610b1d853361073a565b610b395760405162461bcd60e51b815260040161084f90613a5b565b610b468585858585611c3b565b5050505050565b6000610b5881611c31565b610b628383611de8565b505050565b6001600160a01b0381163314610bd75760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161084f565b610be18282611e6e565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610c2d5760405162461bcd60e51b815260040161084f90613aa9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c766000805160206140cb833981519152546001600160a01b031690565b6001600160a01b031614610c9c5760405162461bcd60e51b815260040161084f90613af5565b610ca581611ed5565b60408051600080825260208201909252610cc191839190611eff565b50565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610cee81611c31565b610cc161206a565b6000610d0181611c31565b60008481526101c4602052604081205460ff166003811115610d2557610d256131ef565b03610d435760405163137c9c1f60e31b815260040160405180910390fd5b5060009283526101c460205260409092206003810180546001600160a01b0316600160a01b6001600160601b039485160217905560040180546bffffffffffffffffffffffff191691909216179055565b60608151835114610df95760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b606482015260840161084f565b600083516001600160401b03811115610e1457610e14613272565b604051908082528060200260200182016040528015610e3d578160200160208202803683370190505b50905060005b8451811015610eb557610e88858281518110610e6157610e61613b41565b6020026020010151858381518110610e7b57610e7b613b41565b60200260200101516107e8565b828281518110610e9a57610e9a613b41565b6020908102919091010152610eae81613a42565b9050610e43565b509392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610f055760405162461bcd60e51b815260040161084f90613aa9565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610f4e6000805160206140cb833981519152546001600160a01b031690565b6001600160a01b031614610f745760405162461bcd60e51b815260040161084f90613af5565b610f7d82611ed5565b610be182826001611eff565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110295760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c0000000000000000606482015260840161084f565b506000805160206140cb8339815191525b90565b6001600160a01b0383163314806110595750611059833361073a565b6110755760405162461bcd60e51b815260040161084f90613a5b565b610b628383836120bc565b600061108b81611c31565b600160008381526101c4602052604090205460ff1660038111156110b1576110b16131ef565b146110cf5760405163137c9c1f60e31b815260040160405180910390fd5b60008281526101c46020908152604091829020805460ff1916600217905590518381527f8f4352ac8b4aefdd2333162306bbe09dd4f4ff6661e89ccc4e4dcced8794e8f7910160405180910390a15050565b600260008381526101c4602052604090205460ff166003811115611147576111476131ef565b146111655760405163137c9c1f60e31b815260040160405180910390fd5b3360009081526101c760209081526040808320600886901c845290915290208054600160ff85161b179055336001600160a01b0316827f710e220a47c8d9e50587c80fe509f5e762149ef672440eff70798204dd70f5eb836040516111ca91906131dc565b60405180910390a35050565b600054610100900460ff16158080156111f65750600054600160ff909116105b806112105750303b158015611210575060005460ff166001145b6112735760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161084f565b6000805460ff191660011790558015611296576000805461ff0019166101001790555b6112ae6040518060200160405280600081525061225b565b6112b661228b565b6112be6122b4565b6112c661228b565b6112ce61228b565b6112d661228b565b6112e1600033611de8565b61130b7f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c33611de8565b6113357f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33611de8565b61135f7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e333611de8565b8015610cc1576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610965565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6113cb81611c31565b610cc16122e3565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600260008581526101c4602052604090205460ff166003811115611424576114246131ef565b1461144257604051631f0fb6fd60e11b815260040160405180910390fd5b6101c35460008581526101c46020526040902060010154849161146491613b57565b61146e9190613b6a565b34101561148e57604051631036b5ad60e31b815260040160405180910390fd5b61149a82858584612320565b6101c3546114a89084613b6a565b6114b29034613a2f565b60008581526101c46020526040812060020180549091906114d4908490613b57565b909155505050505050565b610be1338383612445565b60006101c65486111561151057604051630f0c4c5f60e41b815260040160405180910390fd5b506101c5546040805160c0810190915280600181526020808201899052600060408084018290526001600160a01b038a1660608501526001600160601b038089166080860152871660a0909401939093528481526101c49091522081518154829060ff19166001836003811115611589576115896131ef565b02179055506020820151600182015560408201516002820155606082015160808301516001600160a01b03909116600160a01b6001600160601b039283160217600383015560a090920151600490910180546bffffffffffffffffffffffff1916919092161790556101c5805490600061160283613a42565b909155505060408051828152602081018890526001600160601b038416818301526001600160a01b038716606082015290517f2aa47da5461670f8447338efafce9a1c28b72acd7eed3db3876ad9a1b80c7e919181900360800190a195945050505050565b606060006101c5546001600160401b0381111561168657611686613272565b6040519080825280602002602001820160405280156116cb57816020015b60408051808201909152600080825260208201528152602001906001900390816116a45790505b50905060005b6101c55481101561174b5760408051808201825260008381526101c4602090815292902060030154600160a01b90046001600160601b0316815290810161171886846107e8565b81525082828151811061172d5761172d613b41565b6020026020010181905250808061174390613a42565b9150506116d1565b5092915050565b60008281526097602052604090206001015461176d81611c31565b610b628383611e6e565b60008281526101c460205260409020600301546001600160a01b031633146117b25760405163388f811f60e01b815260040160405180910390fd5b60008281526101c460205260409020600201548111156117e557604051637eafab7d60e01b815260040160405180910390fd5b604051600090339083908381818185875af1925050503d8060008114611827576040519150601f19603f3d011682016040523d82523d6000602084013e61182c565b606091505b505090508061184e576040516317f2c34560e31b815260040160405180910390fd5b60008381526101c4602052604081206002018054849290611870908490613a2f565b90915550506040805184815260208101849052338183015290517ff1090e9d5138cd4909542e10e1da576730b07eb291a71a151e63160dde345b949181900360600190a1505050565b606060006101c5546001600160401b038111156118d8576118d8613272565b60405190808252806020026020018201604052801561193857816020015b6040805160c08101825260008082526020808301829052928201819052606082018190526080820181905260a082015282526000199092019101816118f65790505b50905060005b6101c554811015611a0e5760008181526101c4602052604090819020815160c081019092528054829060ff16600381111561197b5761197b6131ef565b600381111561198c5761198c6131ef565b8152600182015460208201526002820154604082015260038201546001600160a01b03811660608301526001600160601b03600160a01b9091048116608083015260049092015490911660a09091015282518390839081106119f0576119f0613b41565b60200260200101819052508080611a0690613a42565b91505061193e565b50919050565b6001600160a01b038516331480611a305750611a30853361073a565b611a4c5760405162461bcd60e51b815260040161084f90613a5b565b610b468585858585612525565b6001600160a01b038316331480611a755750611a75833361073a565b611a915760405162461bcd60e51b815260040161084f90613a5b565b610b62838383612661565b3360009081526101c760209081526040808320600885901c84529182905290912054600160ff84161b16611ae35760405163423f327760e11b815260040160405180910390fd5b600882901c6000908152602082905260408082208054600160ff87161b1916905551339184917fc6c1c3224e50c3c958e39197695bdfe8457ce7c0014d8d51a4d3aa12c5ac18489190a35050565b60008181526101c460205260409020600301546001600160a01b0316331480611b605750611b606000336113d3565b611b7d5760405163388f811f60e01b815260040160405180910390fd5b600360008281526101c4602052604090205460ff166003811115611ba357611ba36131ef565b14611bc15760405163968807a560e01b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600217905590518281527f63bb17c9645a29322601b4fe88d8f3fa84f32229368294f903084be8f5d813ba9101610965565b60006001600160e01b03198216637965db0b60e01b148061087d575061087d8261277d565b610cc181336127cd565b8151835114611c5c5760405162461bcd60e51b815260040161084f90613b81565b6001600160a01b038416611c825760405162461bcd60e51b815260040161084f90613bc9565b33611c91818787878787612826565b60005b8451811015611d7a576000858281518110611cb157611cb1613b41565b602002602001015190506000858381518110611ccf57611ccf613b41565b60209081029190910181015160008481526065835260408082206001600160a01b038e168352909352919091205490915081811015611d205760405162461bcd60e51b815260040161084f90613c0e565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611d5f908490613b57565b9250508190555050505080611d7390613a42565b9050611c94565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611dca929190613c58565b60405180910390a4611de081878787878761283c565b505050505050565b611df282826113d3565b610be15760008281526097602090815260408083206001600160a01b03851684529091529020805460ff19166001179055611e2a3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611e7882826113d3565b15610be15760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610be181611c31565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611f3257610b6283612997565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611f8c575060408051601f3d908101601f19168201909252611f8991810190613c86565b60015b611fef5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b606482015260840161084f565b6000805160206140cb833981519152811461205e5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b606482015260840161084f565b50610b62838383612a33565b612072612a58565b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0383166120e25760405162461bcd60e51b815260040161084f90613c9f565b80518251146121035760405162461bcd60e51b815260040161084f90613b81565b600033905061212681856000868660405180602001604052806000815250612826565b60005b83518110156121ee57600084828151811061214657612146613b41565b60200260200101519050600084838151811061216457612164613b41565b60209081029190910181015160008481526065835260408082206001600160a01b038c1683529093529190912054909150818110156121b55760405162461bcd60e51b815260040161084f90613ce2565b60009283526065602090815260408085206001600160a01b038b16865290915290922091039055806121e681613a42565b915050612129565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb868660405161223f929190613c58565b60405180910390a4604080516020810190915260009052610afb565b600054610100900460ff166122825760405162461bcd60e51b815260040161084f90613d26565b610cc181612aa1565b600054610100900460ff166122b25760405162461bcd60e51b815260040161084f90613d26565b565b600054610100900460ff166122db5760405162461bcd60e51b815260040161084f90613d26565b6122b2612ad1565b6122eb612b04565b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861209f3390565b6001600160a01b0384166123805760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b606482015260840161084f565b33600061238c85612b4a565b9050600061239985612b4a565b90506123aa83600089858589612826565b60008681526065602090815260408083206001600160a01b038b168452909152812080548792906123dc908490613b57565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461243c83600089898989612b95565b50505050505050565b816001600160a01b0316836001600160a01b0316036124b85760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b606482015260840161084f565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03841661254b5760405162461bcd60e51b815260040161084f90613bc9565b33600061255785612b4a565b9050600061256485612b4a565b9050612574838989858589612826565b60008681526065602090815260408083206001600160a01b038c168452909152902054858110156125b75760405162461bcd60e51b815260040161084f90613c0e565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906125f6908490613b57565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612656848a8a8a8a8a612b95565b505050505050505050565b6001600160a01b0383166126875760405162461bcd60e51b815260040161084f90613c9f565b33600061269384612b4a565b905060006126a084612b4a565b90506126c083876000858560405180602001604052806000815250612826565b60008581526065602090815260408083206001600160a01b038a168452909152902054848110156127035760405162461bcd60e51b815260040161084f90613ce2565b60008681526065602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091526000905261243c565b60006001600160e01b03198216636cdb3d1360e11b14806127ae57506001600160e01b031982166303a24d0760e21b145b8061087d57506301ffc9a760e01b6001600160e01b031983161461087d565b6127d782826113d3565b610be1576127e481612c50565b6127ef836020612c62565b604051602001612800929190613d71565b60408051601f198184030181529082905262461bcd60e51b825261084f916004016131dc565b61282e612b04565b611de0868686868686612e04565b6001600160a01b0384163b15611de05760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906128809089908990889088908890600401613de6565b6020604051808303816000875af19250505080156128bb575060408051601f3d908101601f191682019092526128b891810190613e44565b60015b612967576128c7613e61565b806308c379a00361290057506128db613e7c565b806128e65750612902565b8060405162461bcd60e51b815260040161084f91906131dc565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b606482015260840161084f565b6001600160e01b0319811663bc197c8160e01b1461243c5760405162461bcd60e51b815260040161084f90613f05565b6001600160a01b0381163b612a045760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b606482015260840161084f565b6000805160206140cb83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612a3c83612f80565b600082511180612a495750805b15610b6257610afb8383612fc0565b60c95460ff166122b25760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161084f565b600054610100900460ff16612ac85760405162461bcd60e51b815260040161084f90613d26565b610cc181612fe5565b600054610100900460ff16612af85760405162461bcd60e51b815260040161084f90613d26565b60c9805460ff19169055565b60c95460ff16156122b25760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161084f565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612b8457612b84613b41565b602090810291909101015292915050565b6001600160a01b0384163b15611de05760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190612bd99089908990889088908890600401613f4d565b6020604051808303816000875af1925050508015612c14575060408051601f3d908101601f19168201909252612c1191810190613e44565b60015b612c20576128c7613e61565b6001600160e01b0319811663f23a6e6160e01b1461243c5760405162461bcd60e51b815260040161084f90613f05565b606061087d6001600160a01b03831660145b60606000612c71836002613b6a565b612c7c906002613b57565b6001600160401b03811115612c9357612c93613272565b6040519080825280601f01601f191660200182016040528015612cbd576020820181803683370190505b509050600360fc1b81600081518110612cd857612cd8613b41565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612d0757612d07613b41565b60200101906001600160f81b031916908160001a9053506000612d2b846002613b6a565b612d36906001613b57565b90505b6001811115612dae576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612d6a57612d6a613b41565b1a60f81b828281518110612d8057612d80613b41565b60200101906001600160f81b031916908160001a90535060049490941c93612da781613f92565b9050612d39565b508315612dfd5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161084f565b9392505050565b6001600160a01b038516612e8c5760005b8351811015612e8a57828181518110612e3057612e30613b41565b602002602001015161012d6000868481518110612e4f57612e4f613b41565b602002602001015181526020019081526020016000206000828254612e749190613b57565b90915550612e83905081613a42565b9050612e15565b505b6001600160a01b038416611de05760005b835181101561243c576000848281518110612eba57612eba613b41565b602002602001015190506000848381518110612ed857612ed8613b41565b60200260200101519050600061012d600084815260200190815260200160002054905081811015612f5c5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f74604482015267616c537570706c7960c01b606482015260840161084f565b600092835261012d602052604090922091039055612f7981613a42565b9050612e9d565b612f8981612997565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612dfd83836040518060600160405280602781526020016140eb60279139612ff1565b6067610be18282613fef565b6060600080856001600160a01b03168560405161300e91906140ae565b600060405180830381855af49150503d8060008114613049576040519150601f19603f3d011682016040523d82523d6000602084013e61304e565b606091505b509150915061305f86838387613069565b9695505050505050565b606083156130d85782516000036130d1576001600160a01b0385163b6130d15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161084f565b50816130e2565b6130e283836130ea565b949350505050565b8151156128e65781518083602001fd5b80356001600160a01b038116811461311157600080fd5b919050565b6000806040838503121561312957600080fd5b613132836130fa565b946020939093013593505050565b6001600160e01b031981168114610cc157600080fd5b60006020828403121561316857600080fd5b8135612dfd81613140565b60006020828403121561318557600080fd5b5035919050565b60005b838110156131a757818101518382015260200161318f565b50506000910152565b600081518084526131c881602086016020860161318c565b601f01601f19169290920160200192915050565b602081526000612dfd60208301846131b0565b634e487b7160e01b600052602160045260246000fd5b6004811061322357634e487b7160e01b600052602160045260246000fd5b9052565b60c081016132358289613205565b602082019690965260408101949094526001600160a01b039290921660608401526001600160601b0390811660808401521660a090910152919050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156132ad576132ad613272565b6040525050565b60006001600160401b038211156132cd576132cd613272565b5060051b60200190565b600082601f8301126132e857600080fd5b813560206132f5826132b4565b6040516133028282613288565b83815260059390931b850182019282810191508684111561332257600080fd5b8286015b8481101561333d5780358352918301918301613326565b509695505050505050565b60006001600160401b0383111561336157613361613272565b604051613378601f8501601f191660200182613288565b80915083815284848401111561338d57600080fd5b83836020830137600060208583010152509392505050565b600082601f8301126133b657600080fd5b612dfd83833560208501613348565b600080600080600060a086880312156133dd57600080fd5b6133e6866130fa565b94506133f4602087016130fa565b935060408601356001600160401b038082111561341057600080fd5b61341c89838a016132d7565b9450606088013591508082111561343257600080fd5b61343e89838a016132d7565b9350608088013591508082111561345457600080fd5b50613461888289016133a5565b9150509295509295909350565b6000806040838503121561348157600080fd5b82359150613491602084016130fa565b90509250929050565b6000602082840312156134ac57600080fd5b612dfd826130fa565b80356001600160601b038116811461311157600080fd5b6000806000606084860312156134e157600080fd5b833592506134f1602085016134b5565b91506134ff604085016134b5565b90509250925092565b6000806040838503121561351b57600080fd5b82356001600160401b038082111561353257600080fd5b818501915085601f83011261354657600080fd5b81356020613553826132b4565b6040516135608282613288565b83815260059390931b850182019282810191508984111561358057600080fd5b948201945b838610156135a557613596866130fa565b82529482019490820190613585565b965050860135925050808211156135bb57600080fd5b506135c8858286016132d7565b9150509250929050565b600081518084526020808501945080840160005b83811015613602578151875295820195908201906001016135e6565b509495945050505050565b602081526000612dfd60208301846135d2565b6000806040838503121561363357600080fd5b61363c836130fa565b915060208301356001600160401b0381111561365757600080fd5b6135c8858286016133a5565b60008060006060848603121561367857600080fd5b613681846130fa565b925060208401356001600160401b038082111561369d57600080fd5b6136a9878388016132d7565b935060408601359150808211156136bf57600080fd5b506136cc868287016132d7565b9150509250925092565b600080604083850312156136e957600080fd5b8235915060208301356001600160401b0381111561370657600080fd5b8301601f8101851361371757600080fd5b6135c885823560208401613348565b6000806000806080858703121561373c57600080fd5b8435935060208501359250613753604086016130fa565b915060608501356001600160401b0381111561376e57600080fd5b61377a878288016133a5565b91505092959194509250565b6000806040838503121561379957600080fd5b6137a2836130fa565b9150602083013580151581146137b757600080fd5b809150509250929050565b600080600080600060a086880312156137da57600080fd5b853594506137ea602087016130fa565b93506137f8604087016130fa565b9250613806606087016134b5565b9150613814608087016134b5565b90509295509295909350565b602080825282518282018190526000919060409081850190868401855b8281101561386b57815180516001600160601b0316855286015186850152928401929085019060010161383d565b5091979650505050505050565b6000806040838503121561388b57600080fd5b50508035926020909101359150565b602080825282518282018190526000919060409081850190868401855b8281101561386b5781516138cc858251613205565b808701518588015285810151868601526060808201516001600160a01b0316908601526080808201516001600160601b039081169187019190915260a091820151169085015260c090930192908501906001016138b7565b6000806040838503121561393757600080fd5b613940836130fa565b9150613491602084016130fa565b600080600080600060a0868803121561396657600080fd5b61396f866130fa565b945061397d602087016130fa565b9350604086013592506060860135915060808601356001600160401b038111156139a657600080fd5b613461888289016133a5565b6000806000606084860312156139c757600080fd5b6139d0846130fa565b95602085013595506040909401359392505050565b600181811c908216806139f957607f821691505b602082108103611a0e57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561087d5761087d613a19565b600060018201613a5457613a54613a19565b5060010190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b8082018082111561087d5761087d613a19565b808202811582820484141761087d5761087d613a19565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b604081526000613c6b60408301856135d2565b8281036020840152613c7d81856135d2565b95945050505050565b600060208284031215613c9857600080fd5b5051919050565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613da981601785016020880161318c565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613dda81602884016020880161318c565b01602801949350505050565b6001600160a01b0386811682528516602082015260a060408201819052600090613e12908301866135d2565b8281036060840152613e2481866135d2565b90508281036080840152613e3881856131b0565b98975050505050505050565b600060208284031215613e5657600080fd5b8151612dfd81613140565b600060033d111561103a5760046000803e5060005160e01c90565b600060443d1015613e8a5790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715613eb957505050505090565b8285019150815181811115613ed15750505050505090565b843d8701016020828501011115613eeb5750505050505090565b613efa60208286010187613288565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090613f87908301846131b0565b979650505050505050565b600081613fa157613fa1613a19565b506000190190565b601f821115610b6257600081815260208120601f850160051c81016020861015613fd05750805b601f850160051c820191505b81811015611de057828155600101613fdc565b81516001600160401b0381111561400857614008613272565b61401c8161401684546139e5565b84613fa9565b602080601f83116001811461405157600084156140395750858301515b600019600386901b1c1916600185901b178555611de0565b600085815260208120601f198616915b8281101561408057888601518255948401946001909101908401614061565b508582101561409e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600082516140c081846020870161318c565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204d74f9c4a04ccc487fcf7896ccce40b5e17e421a638b4497ee079e511ceb03ae64736f6c63430008130033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/src/Editions/EditionsStructs.sol/EditionsStructs.dbg.json b/artifacts/src/Editions/EditionsStructs.sol/EditionsStructs.dbg.json index aad7962..a423360 100644 --- a/artifacts/src/Editions/EditionsStructs.sol/EditionsStructs.dbg.json +++ b/artifacts/src/Editions/EditionsStructs.sol/EditionsStructs.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/47689019be09365b249a4c08513fcd32.json" + "buildInfo": "../../../build-info/13babe5f01df716492f3206897c69751.json" } diff --git a/artifacts/src/Editions/EditionsStructs.sol/EditionsStructs.json b/artifacts/src/Editions/EditionsStructs.sol/EditionsStructs.json index 557ab15..b331051 100644 --- a/artifacts/src/Editions/EditionsStructs.sol/EditionsStructs.json +++ b/artifacts/src/Editions/EditionsStructs.sol/EditionsStructs.json @@ -3,8 +3,8 @@ "contractName": "EditionsStructs", "sourceName": "src/Editions/EditionsStructs.sol", "abi": [], - "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208e822fb1ba35a4081e2bceb1d91de33aff3b0efed192d250d550ecfe385d507a64736f6c63430008130033", - "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208e822fb1ba35a4081e2bceb1d91de33aff3b0efed192d250d550ecfe385d507a64736f6c63430008130033", + "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203d7c10c6549e6c5536047607530fbfb0d3feceeae93ae7d2e76eef3e0ad5fc8064736f6c63430008130033", + "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203d7c10c6549e6c5536047607530fbfb0d3feceeae93ae7d2e76eef3e0ad5fc8064736f6c63430008130033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/src/Editions/IEditions.sol/IEditions.dbg.json b/artifacts/src/Editions/IEditions.sol/IEditions.dbg.json index 06d9604..a423360 100644 --- a/artifacts/src/Editions/IEditions.sol/IEditions.dbg.json +++ b/artifacts/src/Editions/IEditions.sol/IEditions.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/f04f2c0186a948e9047d499519fbf44b.json" + "buildInfo": "../../../build-info/13babe5f01df716492f3206897c69751.json" } diff --git a/artifacts/src/Editions/IEditions.sol/IEditions.json b/artifacts/src/Editions/IEditions.sol/IEditions.json index 07bcc76..4b94f9a 100644 --- a/artifacts/src/Editions/IEditions.sol/IEditions.json +++ b/artifacts/src/Editions/IEditions.sol/IEditions.json @@ -94,18 +94,18 @@ "name": "editionId", "type": "uint256" }, - { - "indexed": false, - "internalType": "string", - "name": "briefId", - "type": "string" - }, { "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" }, + { + "indexed": false, + "internalType": "uint96", + "name": "briefId", + "type": "uint96" + }, { "indexed": false, "internalType": "address", @@ -191,14 +191,14 @@ "type": "address" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "name": "createEdition", @@ -225,9 +225,9 @@ { "components": [ { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { "internalType": "uint256", @@ -270,14 +270,14 @@ "type": "address" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "internalType": "struct EditionsStructs.Edition[]", @@ -363,14 +363,14 @@ "type": "uint256" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "name": "updateEdition", diff --git a/artifacts/src/IRadarEditions.sol/IRadarEditions.dbg.json b/artifacts/src/IRadarEditions.sol/IRadarEditions.dbg.json index 0e22288..7618fea 100644 --- a/artifacts/src/IRadarEditions.sol/IRadarEditions.dbg.json +++ b/artifacts/src/IRadarEditions.sol/IRadarEditions.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/f04f2c0186a948e9047d499519fbf44b.json" + "buildInfo": "../../build-info/13babe5f01df716492f3206897c69751.json" } diff --git a/artifacts/src/IRadarEditions.sol/IRadarEditions.json b/artifacts/src/IRadarEditions.sol/IRadarEditions.json index b50771e..a536499 100644 --- a/artifacts/src/IRadarEditions.sol/IRadarEditions.json +++ b/artifacts/src/IRadarEditions.sol/IRadarEditions.json @@ -94,18 +94,18 @@ "name": "editionId", "type": "uint256" }, - { - "indexed": false, - "internalType": "string", - "name": "briefId", - "type": "string" - }, { "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" }, + { + "indexed": false, + "internalType": "uint96", + "name": "briefId", + "type": "uint96" + }, { "indexed": false, "internalType": "address", @@ -191,14 +191,14 @@ "type": "address" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "name": "createEdition", @@ -225,9 +225,9 @@ { "components": [ { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { "internalType": "uint256", @@ -270,14 +270,14 @@ "type": "address" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "internalType": "struct EditionsStructs.Edition[]", @@ -402,14 +402,14 @@ "type": "uint256" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "name": "updateEdition", diff --git a/artifacts/src/RadarEditions.sol/RadarEditions.dbg.json b/artifacts/src/RadarEditions.sol/RadarEditions.dbg.json index 0e22288..7618fea 100644 --- a/artifacts/src/RadarEditions.sol/RadarEditions.dbg.json +++ b/artifacts/src/RadarEditions.sol/RadarEditions.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/f04f2c0186a948e9047d499519fbf44b.json" + "buildInfo": "../../build-info/13babe5f01df716492f3206897c69751.json" } diff --git a/artifacts/src/RadarEditions.sol/RadarEditions.json b/artifacts/src/RadarEditions.sol/RadarEditions.json index d0f23b1..0046105 100644 --- a/artifacts/src/RadarEditions.sol/RadarEditions.json +++ b/artifacts/src/RadarEditions.sol/RadarEditions.json @@ -201,18 +201,18 @@ "name": "editionId", "type": "uint256" }, - { - "indexed": false, - "internalType": "string", - "name": "briefId", - "type": "string" - }, { "indexed": false, "internalType": "uint256", "name": "fee", "type": "uint256" }, + { + "indexed": false, + "internalType": "uint96", + "name": "briefId", + "type": "uint96" + }, { "indexed": false, "internalType": "address", @@ -642,14 +642,14 @@ "type": "address" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "name": "createEdition", @@ -707,14 +707,14 @@ "type": "address" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "stateMutability": "view", @@ -752,9 +752,9 @@ { "components": [ { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { "internalType": "uint256", @@ -797,14 +797,14 @@ "type": "address" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "internalType": "struct EditionsStructs.Edition[]", @@ -1245,14 +1245,14 @@ "type": "uint256" }, { - "internalType": "string", + "internalType": "uint96", "name": "id", - "type": "string" + "type": "uint96" }, { - "internalType": "string", + "internalType": "uint96", "name": "briefId", - "type": "string" + "type": "uint96" } ], "name": "updateEdition", @@ -1346,8 +1346,8 @@ "type": "receive" } ], - "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161475e6200011f60003960008181610d7301528181610db301528181610fad01528181610fed015261107c015261475e6000f3fe60806040526004361061025d5760003560e01c8063790bafc611610143578063c6fbb712116100bb578063e8a3d48511610077578063e8a3d4851461075e578063e985e9c514610773578063f242432a146107bc578063f5298aca146107dc578063f8c1b2fd146107fc578063fc74efa21461081c57005b8063c6fbb71214610698578063c84aae17146106af578063d547741f146106dc578063d667c9ce146106fc578063df6efc6c1461071c578063e43990fe1461073e57005b8063940123da1161010a578063940123da146105eb578063a217fddf146105fe578063a22cb46514610613578063b0e21e8a14610633578063b3a44bd61461064a578063bd85b0391461066a57005b8063790bafc6146105615780637cc74941146105815780638129fc1c146105a15780638456cb59146105b657806391d14854146105cb57005b80633659cfe6116101d657806352d1902d1161019d57806352d1902d146104bd5780635c975abb146104d25780636b20c454146104ea5780636b5cb7891461050a5780637357628c14610521578063787dce3d1461054157005b80633659cfe6146104185780633f4ba83a146104385780634e1273f41461044d5780634f1ef2861461047a5780634f558e791461048d57005b8063155dd5ee11610225578063155dd5ee14610336578063248a9ca314610356578063279c806e146103865780632eb2c2d6146103b85780632f2ff15d146103d857806336568abe146103f857005b8062fdd58e1461026657806301ffc9a71461029957806302fe5305146102c95780630a579eca146102e95780630e89341c1461030957005b3661026457005b005b34801561027257600080fd5b50610286610281366004613631565b61083c565b6040519081526020015b60405180910390f35b3480156102a557600080fd5b506102b96102b4366004613671565b6108d7565b6040519015158152602001610290565b3480156102d557600080fd5b506102646102e4366004613743565b6108e2565b3480156102f557600080fd5b50610264610304366004613777565b610919565b34801561031557600080fd5b50610329610324366004613777565b6109fb565b60405161029091906137e0565b34801561034257600080fd5b50610264610351366004613777565b610a36565b34801561036257600080fd5b50610286610371366004613777565b60009081526097602052604090206001015490565b34801561039257600080fd5b506103a66103a1366004613777565b610b33565b6040516102909695949392919061382b565b3480156103c457600080fd5b506102646103d3366004613918565b610c89565b3480156103e457600080fd5b506102646103f33660046139c1565b610cd5565b34801561040457600080fd5b506102646104133660046139c1565b610cef565b34801561042457600080fd5b506102646104333660046139ed565b610d69565b34801561044457600080fd5b50610264610e48565b34801561045957600080fd5b5061046d610468366004613a08565b610e7a565b6040516102909190613b0d565b610264610488366004613b20565b610fa3565b34801561049957600080fd5b506102b96104a8366004613777565b600090815261012d6020526040902054151590565b3480156104c957600080fd5b5061028661106f565b3480156104de57600080fd5b5060c95460ff166102b9565b3480156104f657600080fd5b50610264610505366004613b63565b611123565b34801561051657600080fd5b506102866101c65481565b34801561052d57600080fd5b5061026461053c366004613777565b611166565b34801561054d57600080fd5b5061026461055c366004613777565b611207565b34801561056d57600080fd5b5061026461057c366004613bd6565b611219565b34801561058d57600080fd5b5061026461059c366004613777565b6112ce565b3480156105ad57600080fd5b506102646112e0565b3480156105c257600080fd5b506102646114ab565b3480156105d757600080fd5b506102b96105e63660046139c1565b6114dd565b6102646105f9366004613c06565b611508565b34801561060a57600080fd5b50610286600081565b34801561061f57600080fd5b5061026461062e366004613c66565b6115e9565b34801561063f57600080fd5b506102866101c35481565b34801561065657600080fd5b50610286610665366004613ca2565b6115f4565b34801561067657600080fd5b50610286610685366004613777565b600090815261012d602052604090205490565b3480156106a457600080fd5b506102866101c55481565b3480156106bb57600080fd5b506106cf6106ca3660046139ed565b61174e565b6040516102909190613d00565b3480156106e857600080fd5b506102646106f73660046139c1565b6118b8565b34801561070857600080fd5b50610264610717366004613d76565b6118dd565b34801561072857600080fd5b50610731611a1f565b6040516102909190613d98565b34801561074a57600080fd5b50610264610759366004613e4c565b611c8e565b34801561076a57600080fd5b50610329611d16565b34801561077f57600080fd5b506102b961078e366004613eae565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156107c857600080fd5b506102646107d7366004613ed8565b611d36565b3480156107e857600080fd5b506102646107f7366004613f3c565b611d7b565b34801561080857600080fd5b50610264610817366004613777565b611dbe565b34801561082857600080fd5b50610264610837366004613777565b611e53565b60006001600160a01b0383166108ac5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b60006108d182611f2e565b7f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c61090c81611f53565b61091582611f5d565b5050565b60008181526101c460205260409020600301546001600160a01b031633148061094857506109486000336114dd565b6109655760405163388f811f60e01b815260040160405180910390fd5b600260008281526101c4602052604090205460ff16600381111561098b5761098b6137f3565b146109a957604051631f0fb6fd60e11b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600317905590518281527f591913f977ab242c5871f116f36be231ff67df5e8e0bac1efd91fa8a723aca2b91015b60405180910390a150565b6060610a0682611f69565b610a0f83611ffd565b604051602001610a20929190613f6f565b6040516020818303038152906040529050919050565b6000610a4181611f53565b47821115610a6257604051631036b5ad60e31b815260040160405180910390fd5b4760005b6101c554811015610ac35760008181526101c46020526040902060020154610a8e9083613fb4565b915083821015610ab15760405163156bbc5b60e01b815260040160405180910390fd5b80610abb81613fc7565b915050610a66565b50604051600090339085908381818185875af1925050503d8060008114610b06576040519150601f19603f3d011682016040523d82523d6000602084013e610b0b565b606091505b5050905080610b2d576040516317f2c34560e31b815260040160405180910390fd5b50505050565b6101c4602052600090815260409020805460018201546002830154600384015460048501805460ff90951695939492936001600160a01b0390921692610b7890613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba490613fe0565b8015610bf15780601f10610bc657610100808354040283529160200191610bf1565b820191906000526020600020905b815481529060010190602001808311610bd457829003601f168201915b505050505090806005018054610c0690613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3290613fe0565b8015610c7f5780601f10610c5457610100808354040283529160200191610c7f565b820191906000526020600020905b815481529060010190602001808311610c6257829003601f168201915b5050505050905086565b6001600160a01b038516331480610ca55750610ca5853361078e565b610cc15760405162461bcd60e51b81526004016108a390614014565b610cce858585858561208f565b5050505050565b6000610ce081611f53565b610cea838361223c565b505050565b6001600160a01b0381163314610d5f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016108a3565b61091582826122c2565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610db15760405162461bcd60e51b81526004016108a390614062565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610dfa6000805160206146be833981519152546001600160a01b031690565b6001600160a01b031614610e205760405162461bcd60e51b81526004016108a3906140ae565b610e2981612329565b60408051600080825260208201909252610e4591839190612353565b50565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610e7281611f53565b610e456124be565b60608151835114610edf5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016108a3565b600083516001600160401b03811115610efa57610efa61368e565b604051908082528060200260200182016040528015610f23578160200160208202803683370190505b50905060005b8451811015610f9b57610f6e858281518110610f4757610f476140fa565b6020026020010151858381518110610f6157610f616140fa565b602002602001015161083c565b828281518110610f8057610f806140fa565b6020908102919091010152610f9481613fc7565b9050610f29565b509392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610feb5760405162461bcd60e51b81526004016108a390614062565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110346000805160206146be833981519152546001600160a01b031690565b6001600160a01b03161461105a5760405162461bcd60e51b81526004016108a3906140ae565b61106382612329565b61091582826001612353565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461110f5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108a3565b506000805160206146be8339815191525b90565b6001600160a01b03831633148061113f575061113f833361078e565b61115b5760405162461bcd60e51b81526004016108a390614014565b610cea838383612510565b600061117181611f53565b600160008381526101c4602052604090205460ff166003811115611197576111976137f3565b146111b55760405163137c9c1f60e31b815260040160405180910390fd5b60008281526101c46020908152604091829020805460ff1916600217905590518381527f8f4352ac8b4aefdd2333162306bbe09dd4f4ff6661e89ccc4e4dcced8794e8f7910160405180910390a15050565b600061121281611f53565b506101c355565b600260008381526101c4602052604090205460ff16600381111561123f5761123f6137f3565b1461125d5760405163137c9c1f60e31b815260040160405180910390fd5b3360009081526101c760209081526040808320600886901c845290915290208054600160ff85161b179055336001600160a01b0316827f710e220a47c8d9e50587c80fe509f5e762149ef672440eff70798204dd70f5eb836040516112c291906137e0565b60405180910390a35050565b60006112d981611f53565b506101c655565b600054610100900460ff16158080156113005750600054600160ff909116105b8061131a5750303b15801561131a575060005460ff166001145b61137d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108a3565b6000805460ff1916600117905580156113a0576000805461ff0019166101001790555b6113b8604051806020016040528060008152506126af565b6113c06126df565b6113c8612708565b6113d06126df565b6113d86126df565b6113e06126df565b6113eb60003361223c565b6114157f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c3361223c565b61143f7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a3361223c565b6114697f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e33361223c565b8015610e45576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016109f0565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6114d581611f53565b610e45612737565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600260008581526101c4602052604090205460ff16600381111561152e5761152e6137f3565b1461154c57604051631f0fb6fd60e11b815260040160405180910390fd5b6101c35460008581526101c46020526040902060010154849161156e91614110565b6115789190614123565b34101561159857604051631036b5ad60e31b815260040160405180910390fd5b6115a482858584612774565b6101c3546115b29084614123565b6115bc9034613fb4565b60008581526101c46020526040812060020180549091906115de908490614110565b909155505050505050565b610915338383612899565b60006101c65486111561161a57604051630f0c4c5f60e41b815260040160405180910390fd5b506101c5546040805160c0810190915280600181526020808201899052600060408084018290526001600160a01b038a1660608501526080840188905260a09093018690528481526101c49091522081518154829060ff19166001836003811115611687576116876137f3565b0217905550602082015160018201556040820151600282015560608201516003820180546001600160a01b0319166001600160a01b03909216919091179055608082015160048201906116da9082614180565b5060a082015160058201906116ef9082614180565b50506101c580549150600061170383613fc7565b91905055507f3deb71b5a6774038a220621d78241405004043d5a928de9c7956bcc5270416db8183888860405161173d949392919061423f565b60405180910390a195945050505050565b606060006101c5546001600160401b0381111561176d5761176d61368e565b6040519080825280602002602001820160405280156117b357816020015b60408051808201909152606081526000602082015281526020019060019003908161178b5790505b50905060005b6101c5548110156118b15760405180604001604052806101c4600084815260200190815260200160002060040180546117f190613fe0565b80601f016020809104026020016040519081016040528092919081815260200182805461181d90613fe0565b801561186a5780601f1061183f5761010080835404028352916020019161186a565b820191906000526020600020905b81548152906001019060200180831161184d57829003601f168201915b5050505050815260200161187e868461083c565b815250828281518110611893576118936140fa565b602002602001018190525080806118a990613fc7565b9150506117b9565b5092915050565b6000828152609760205260409020600101546118d381611f53565b610cea83836122c2565b60008281526101c460205260409020600301546001600160a01b031633146119185760405163388f811f60e01b815260040160405180910390fd5b60008281526101c4602052604090206002015481111561194b57604051637eafab7d60e01b815260040160405180910390fd5b604051600090339083908381818185875af1925050503d806000811461198d576040519150601f19603f3d011682016040523d82523d6000602084013e611992565b606091505b50509050806119b4576040516317f2c34560e31b815260040160405180910390fd5b60008381526101c46020526040812060020180548492906119d6908490613fb4565b90915550506040805184815260208101849052338183015290517ff1090e9d5138cd4909542e10e1da576730b07eb291a71a151e63160dde345b949181900360600190a1505050565b606060006101c5546001600160401b03811115611a3e57611a3e61368e565b604051908082528060200260200182016040528015611ab257816020015b611a9f6040805160c081019091528060008152602001600081526020016000815260200160006001600160a01b0316815260200160608152602001606081525090565b815260200190600190039081611a5c5790505b50905060005b6101c554811015611c885760008181526101c4602052604090819020815160c081019092528054829060ff166003811115611af557611af56137f3565b6003811115611b0657611b066137f3565b8152600182015460208201526002820154604082015260038201546001600160a01b03166060820152600482018054608090920191611b4490613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054611b7090613fe0565b8015611bbd5780601f10611b9257610100808354040283529160200191611bbd565b820191906000526020600020905b815481529060010190602001808311611ba057829003601f168201915b50505050508152602001600582018054611bd690613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054611c0290613fe0565b8015611c4f5780601f10611c2457610100808354040283529160200191611c4f565b820191906000526020600020905b815481529060010190602001808311611c3257829003601f168201915b505050505081525050828281518110611c6a57611c6a6140fa565b60200260200101819052508080611c8090613fc7565b915050611ab8565b50919050565b6000611c9981611f53565b600260008581526101c4602052604090205460ff166003811115611cbf57611cbf6137f3565b14611cdd5760405163137c9c1f60e31b815260040160405180910390fd5b60008481526101c460205260409020600401611cf98482614180565b5060008481526101c460205260409020600501610cce8382614180565b606060405180606001604052806024815260200161470560249139905090565b6001600160a01b038516331480611d525750611d52853361078e565b611d6e5760405162461bcd60e51b81526004016108a390614014565b610cce8585858585612979565b6001600160a01b038316331480611d975750611d97833361078e565b611db35760405162461bcd60e51b81526004016108a390614014565b610cea838383612ab5565b3360009081526101c760209081526040808320600885901c84529182905290912054600160ff84161b16611e055760405163423f327760e11b815260040160405180910390fd5b600882901c6000908152602082905260408082208054600160ff87161b1916905551339184917fc6c1c3224e50c3c958e39197695bdfe8457ce7c0014d8d51a4d3aa12c5ac18489190a35050565b60008181526101c460205260409020600301546001600160a01b0316331480611e825750611e826000336114dd565b611e9f5760405163388f811f60e01b815260040160405180910390fd5b600360008281526101c4602052604090205460ff166003811115611ec557611ec56137f3565b14611ee35760405163968807a560e01b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600217905590518281527f63bb17c9645a29322601b4fe88d8f3fa84f32229368294f903084be8f5d813ba91016109f0565b60006001600160e01b03198216637965db0b60e01b14806108d157506108d182612bd1565b610e458133612c21565b60676109158282614180565b606060678054611f7890613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054611fa490613fe0565b8015611ff15780601f10611fc657610100808354040283529160200191611ff1565b820191906000526020600020905b815481529060010190602001808311611fd457829003601f168201915b50505050509050919050565b6060600061200a83612c7a565b60010190506000816001600160401b038111156120295761202961368e565b6040519080825280601f01601f191660200182016040528015612053576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461205d57509392505050565b81518351146120b05760405162461bcd60e51b81526004016108a390614279565b6001600160a01b0384166120d65760405162461bcd60e51b81526004016108a3906142c1565b336120e5818787878787612d52565b60005b84518110156121ce576000858281518110612105576121056140fa565b602002602001015190506000858381518110612123576121236140fa565b60209081029190910181015160008481526065835260408082206001600160a01b038e1683529093529190912054909150818110156121745760405162461bcd60e51b81526004016108a390614306565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906121b3908490614110565b92505081905550505050806121c790613fc7565b90506120e8565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161221e929190614350565b60405180910390a4612234818787878787612d68565b505050505050565b61224682826114dd565b6109155760008281526097602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561227e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6122cc82826114dd565b156109155760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e361091581611f53565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561238657610cea83612ec3565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156123e0575060408051601f3d908101601f191682019092526123dd9181019061437e565b60015b6124435760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016108a3565b6000805160206146be83398151915281146124b25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016108a3565b50610cea838383612f5f565b6124c6612f84565b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0383166125365760405162461bcd60e51b81526004016108a390614397565b80518251146125575760405162461bcd60e51b81526004016108a390614279565b600033905061257a81856000868660405180602001604052806000815250612d52565b60005b835181101561264257600084828151811061259a5761259a6140fa565b6020026020010151905060008483815181106125b8576125b86140fa565b60209081029190910181015160008481526065835260408082206001600160a01b038c1683529093529190912054909150818110156126095760405162461bcd60e51b81526004016108a3906143da565b60009283526065602090815260408085206001600160a01b038b168652909152909220910390558061263a81613fc7565b91505061257d565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612693929190614350565b60405180910390a4604080516020810190915260009052610b2d565b600054610100900460ff166126d65760405162461bcd60e51b81526004016108a39061441e565b610e4581612fcd565b600054610100900460ff166127065760405162461bcd60e51b81526004016108a39061441e565b565b600054610100900460ff1661272f5760405162461bcd60e51b81526004016108a39061441e565b612706612ffd565b61273f613030565b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586124f33390565b6001600160a01b0384166127d45760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b60648201526084016108a3565b3360006127e085613076565b905060006127ed85613076565b90506127fe83600089858589612d52565b60008681526065602090815260408083206001600160a01b038b16845290915281208054879290612830908490614110565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612890836000898989896130c1565b50505050505050565b816001600160a01b0316836001600160a01b03160361290c5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016108a3565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03841661299f5760405162461bcd60e51b81526004016108a3906142c1565b3360006129ab85613076565b905060006129b885613076565b90506129c8838989858589612d52565b60008681526065602090815260408083206001600160a01b038c16845290915290205485811015612a0b5760405162461bcd60e51b81526004016108a390614306565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290612a4a908490614110565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612aaa848a8a8a8a8a6130c1565b505050505050505050565b6001600160a01b038316612adb5760405162461bcd60e51b81526004016108a390614397565b336000612ae784613076565b90506000612af484613076565b9050612b1483876000858560405180602001604052806000815250612d52565b60008581526065602090815260408083206001600160a01b038a16845290915290205484811015612b575760405162461bcd60e51b81526004016108a3906143da565b60008681526065602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612890565b60006001600160e01b03198216636cdb3d1360e11b1480612c0257506001600160e01b031982166303a24d0760e21b145b806108d157506301ffc9a760e01b6001600160e01b03198316146108d1565b612c2b82826114dd565b61091557612c388161317c565b612c4383602061318e565b604051602001612c54929190614469565b60408051601f198184030181529082905262461bcd60e51b82526108a3916004016137e0565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612cb95772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612ce5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612d0357662386f26fc10000830492506010015b6305f5e1008310612d1b576305f5e100830492506008015b6127108310612d2f57612710830492506004015b60648310612d41576064830492506002015b600a83106108d15760010192915050565b612d5a613030565b612234868686868686613330565b6001600160a01b0384163b156122345760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190612dac90899089908890889088906004016144de565b6020604051808303816000875af1925050508015612de7575060408051601f3d908101601f19168201909252612de49181019061453c565b60015b612e9357612df3614559565b806308c379a003612e2c5750612e07614574565b80612e125750612e2e565b8060405162461bcd60e51b81526004016108a391906137e0565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016108a3565b6001600160e01b0319811663bc197c8160e01b146128905760405162461bcd60e51b81526004016108a3906145fd565b6001600160a01b0381163b612f305760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108a3565b6000805160206146be83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612f68836134ac565b600082511180612f755750805b15610cea57610b2d83836134ec565b60c95460ff166127065760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016108a3565b600054610100900460ff16612ff45760405162461bcd60e51b81526004016108a39061441e565b610e4581611f5d565b600054610100900460ff166130245760405162461bcd60e51b81526004016108a39061441e565b60c9805460ff19169055565b60c95460ff16156127065760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016108a3565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106130b0576130b06140fa565b602090810291909101015292915050565b6001600160a01b0384163b156122345760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906131059089908990889088908890600401614645565b6020604051808303816000875af1925050508015613140575060408051601f3d908101601f1916820190925261313d9181019061453c565b60015b61314c57612df3614559565b6001600160e01b0319811663f23a6e6160e01b146128905760405162461bcd60e51b81526004016108a3906145fd565b60606108d16001600160a01b03831660145b6060600061319d836002614123565b6131a8906002614110565b6001600160401b038111156131bf576131bf61368e565b6040519080825280601f01601f1916602001820160405280156131e9576020820181803683370190505b509050600360fc1b81600081518110613204576132046140fa565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613233576132336140fa565b60200101906001600160f81b031916908160001a9053506000613257846002614123565b613262906001614110565b90505b60018111156132da576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613296576132966140fa565b1a60f81b8282815181106132ac576132ac6140fa565b60200101906001600160f81b031916908160001a90535060049490941c936132d38161468a565b9050613265565b5083156133295760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108a3565b9392505050565b6001600160a01b0385166133b85760005b83518110156133b65782818151811061335c5761335c6140fa565b602002602001015161012d600086848151811061337b5761337b6140fa565b6020026020010151815260200190815260200160002060008282546133a09190614110565b909155506133af905081613fc7565b9050613341565b505b6001600160a01b0384166122345760005b83518110156128905760008482815181106133e6576133e66140fa565b602002602001015190506000848381518110613404576134046140fa565b60200260200101519050600061012d6000848152602001908152602001600020549050818110156134885760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f74604482015267616c537570706c7960c01b60648201526084016108a3565b600092835261012d6020526040909220910390556134a581613fc7565b90506133c9565b6134b581612ec3565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061332983836040518060600160405280602781526020016146de602791396060600080856001600160a01b03168560405161352991906146a1565b600060405180830381855af49150503d8060008114613564576040519150601f19603f3d011682016040523d82523d6000602084013e613569565b606091505b509150915061357a86838387613584565b9695505050505050565b606083156135f35782516000036135ec576001600160a01b0385163b6135ec5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108a3565b50816135fd565b6135fd8383613605565b949350505050565b815115612e125781518083602001fd5b80356001600160a01b038116811461362c57600080fd5b919050565b6000806040838503121561364457600080fd5b61364d83613615565b946020939093013593505050565b6001600160e01b031981168114610e4557600080fd5b60006020828403121561368357600080fd5b81356133298161365b565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156136c9576136c961368e565b6040525050565b600082601f8301126136e157600080fd5b81356001600160401b038111156136fa576136fa61368e565b604051613711601f8301601f1916602001826136a4565b81815284602083860101111561372657600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561375557600080fd5b81356001600160401b0381111561376b57600080fd5b6135fd848285016136d0565b60006020828403121561378957600080fd5b5035919050565b60005b838110156137ab578181015183820152602001613793565b50506000910152565b600081518084526137cc816020860160208601613790565b601f01601f19169290920160200192915050565b60208152600061332960208301846137b4565b634e487b7160e01b600052602160045260246000fd5b6004811061382757634e487b7160e01b600052602160045260246000fd5b9052565b6138358188613809565b85602082015284604082015260018060a01b038416606082015260c06080820152600061386560c08301856137b4565b82810360a084015261387781856137b4565b9998505050505050505050565b60006001600160401b0382111561389d5761389d61368e565b5060051b60200190565b600082601f8301126138b857600080fd5b813560206138c582613884565b6040516138d282826136a4565b83815260059390931b85018201928281019150868411156138f257600080fd5b8286015b8481101561390d57803583529183019183016138f6565b509695505050505050565b600080600080600060a0868803121561393057600080fd5b61393986613615565b945061394760208701613615565b935060408601356001600160401b038082111561396357600080fd5b61396f89838a016138a7565b9450606088013591508082111561398557600080fd5b61399189838a016138a7565b935060808801359150808211156139a757600080fd5b506139b4888289016136d0565b9150509295509295909350565b600080604083850312156139d457600080fd5b823591506139e460208401613615565b90509250929050565b6000602082840312156139ff57600080fd5b61332982613615565b60008060408385031215613a1b57600080fd5b82356001600160401b0380821115613a3257600080fd5b818501915085601f830112613a4657600080fd5b81356020613a5382613884565b604051613a6082826136a4565b83815260059390931b8501820192828101915089841115613a8057600080fd5b948201945b83861015613aa557613a9686613615565b82529482019490820190613a85565b96505086013592505080821115613abb57600080fd5b50613ac8858286016138a7565b9150509250929050565b600081518084526020808501945080840160005b83811015613b0257815187529582019590820190600101613ae6565b509495945050505050565b6020815260006133296020830184613ad2565b60008060408385031215613b3357600080fd5b613b3c83613615565b915060208301356001600160401b03811115613b5757600080fd5b613ac8858286016136d0565b600080600060608486031215613b7857600080fd5b613b8184613615565b925060208401356001600160401b0380821115613b9d57600080fd5b613ba9878388016138a7565b93506040860135915080821115613bbf57600080fd5b50613bcc868287016138a7565b9150509250925092565b60008060408385031215613be957600080fd5b8235915060208301356001600160401b03811115613b5757600080fd5b60008060008060808587031215613c1c57600080fd5b8435935060208501359250613c3360408601613615565b915060608501356001600160401b03811115613c4e57600080fd5b613c5a878288016136d0565b91505092959194509250565b60008060408385031215613c7957600080fd5b613c8283613615565b915060208301358015158114613c9757600080fd5b809150509250929050565b600080600080600060a08688031215613cba57600080fd5b85359450613cca60208701613615565b9350613cd860408701613615565b925060608601356001600160401b0380821115613cf457600080fd5b61399189838a016136d0565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613d6857888303603f1901855281518051878552613d4b888601826137b4565b918901519489019490945294870194925090860190600101613d27565b509098975050505050505050565b60008060408385031215613d8957600080fd5b50508035926020909101359150565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613d6857603f19898403018552815160c0613ddf858351613809565b81890151858a015287820151888601526060808301516001600160a01b031690860152608080830151818701839052613e1a838801826137b4565b9250505060a08083015192508582038187015250613e3881836137b4565b968901969450505090860190600101613dbf565b600080600060608486031215613e6157600080fd5b8335925060208401356001600160401b0380821115613e7f57600080fd5b613e8b878388016136d0565b93506040860135915080821115613ea157600080fd5b50613bcc868287016136d0565b60008060408385031215613ec157600080fd5b613eca83613615565b91506139e460208401613615565b600080600080600060a08688031215613ef057600080fd5b613ef986613615565b9450613f0760208701613615565b9350604086013592506060860135915060808601356001600160401b03811115613f3057600080fd5b6139b4888289016136d0565b600080600060608486031215613f5157600080fd5b613f5a84613615565b95602085013595506040909401359392505050565b60008351613f81818460208801613790565b835190830190613f95818360208801613790565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156108d1576108d1613f9e565b600060018201613fd957613fd9613f9e565b5060010190565b600181811c90821680613ff457607f821691505b602082108103611c8857634e487b7160e01b600052602260045260246000fd5b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b808201808211156108d1576108d1613f9e565b80820281158282048414176108d1576108d1613f9e565b601f821115610cea57600081815260208120601f850160051c810160208610156141615750805b601f850160051c820191505b818110156122345782815560010161416d565b81516001600160401b038111156141995761419961368e565b6141ad816141a78454613fe0565b8461413a565b602080601f8311600181146141e257600084156141ca5750858301515b600019600386901b1c1916600185901b178555612234565b600085815260208120601f198616915b82811015614211578886015182559484019460019091019084016141f2565b508582101561422f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b84815260806020820152600061425860808301866137b4565b6040830194909452506001600160a01b039190911660609091015292915050565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6040815260006143636040830185613ad2565b82810360208401526143758185613ad2565b95945050505050565b60006020828403121561439057600080fd5b5051919050565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516144a1816017850160208801613790565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516144d2816028840160208801613790565b01602801949350505050565b6001600160a01b0386811682528516602082015260a06040820181905260009061450a90830186613ad2565b828103606084015261451c8186613ad2565b9050828103608084015261453081856137b4565b98975050505050505050565b60006020828403121561454e57600080fd5b81516133298161365b565b600060033d11156111205760046000803e5060005160e01c90565b600060443d10156145825790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156145b157505050505090565b82850191508151818111156145c95750505050505090565b843d87010160208285010111156145e35750505050505090565b6145f2602082860101876136a4565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061467f908301846137b4565b979650505050505050565b60008161469957614699613f9e565b506000190190565b600082516146b3818460208701613790565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656468747470733a2f2f72616461726c61756e63682e6170702f6170692f6d65746164617461a26469706673582212204e9f4ea2c648a5f69e7836dd3a4809a230928eeff34e8574a7925e7ab376829e64736f6c63430008130033", - "deployedBytecode": "0x60806040526004361061025d5760003560e01c8063790bafc611610143578063c6fbb712116100bb578063e8a3d48511610077578063e8a3d4851461075e578063e985e9c514610773578063f242432a146107bc578063f5298aca146107dc578063f8c1b2fd146107fc578063fc74efa21461081c57005b8063c6fbb71214610698578063c84aae17146106af578063d547741f146106dc578063d667c9ce146106fc578063df6efc6c1461071c578063e43990fe1461073e57005b8063940123da1161010a578063940123da146105eb578063a217fddf146105fe578063a22cb46514610613578063b0e21e8a14610633578063b3a44bd61461064a578063bd85b0391461066a57005b8063790bafc6146105615780637cc74941146105815780638129fc1c146105a15780638456cb59146105b657806391d14854146105cb57005b80633659cfe6116101d657806352d1902d1161019d57806352d1902d146104bd5780635c975abb146104d25780636b20c454146104ea5780636b5cb7891461050a5780637357628c14610521578063787dce3d1461054157005b80633659cfe6146104185780633f4ba83a146104385780634e1273f41461044d5780634f1ef2861461047a5780634f558e791461048d57005b8063155dd5ee11610225578063155dd5ee14610336578063248a9ca314610356578063279c806e146103865780632eb2c2d6146103b85780632f2ff15d146103d857806336568abe146103f857005b8062fdd58e1461026657806301ffc9a71461029957806302fe5305146102c95780630a579eca146102e95780630e89341c1461030957005b3661026457005b005b34801561027257600080fd5b50610286610281366004613631565b61083c565b6040519081526020015b60405180910390f35b3480156102a557600080fd5b506102b96102b4366004613671565b6108d7565b6040519015158152602001610290565b3480156102d557600080fd5b506102646102e4366004613743565b6108e2565b3480156102f557600080fd5b50610264610304366004613777565b610919565b34801561031557600080fd5b50610329610324366004613777565b6109fb565b60405161029091906137e0565b34801561034257600080fd5b50610264610351366004613777565b610a36565b34801561036257600080fd5b50610286610371366004613777565b60009081526097602052604090206001015490565b34801561039257600080fd5b506103a66103a1366004613777565b610b33565b6040516102909695949392919061382b565b3480156103c457600080fd5b506102646103d3366004613918565b610c89565b3480156103e457600080fd5b506102646103f33660046139c1565b610cd5565b34801561040457600080fd5b506102646104133660046139c1565b610cef565b34801561042457600080fd5b506102646104333660046139ed565b610d69565b34801561044457600080fd5b50610264610e48565b34801561045957600080fd5b5061046d610468366004613a08565b610e7a565b6040516102909190613b0d565b610264610488366004613b20565b610fa3565b34801561049957600080fd5b506102b96104a8366004613777565b600090815261012d6020526040902054151590565b3480156104c957600080fd5b5061028661106f565b3480156104de57600080fd5b5060c95460ff166102b9565b3480156104f657600080fd5b50610264610505366004613b63565b611123565b34801561051657600080fd5b506102866101c65481565b34801561052d57600080fd5b5061026461053c366004613777565b611166565b34801561054d57600080fd5b5061026461055c366004613777565b611207565b34801561056d57600080fd5b5061026461057c366004613bd6565b611219565b34801561058d57600080fd5b5061026461059c366004613777565b6112ce565b3480156105ad57600080fd5b506102646112e0565b3480156105c257600080fd5b506102646114ab565b3480156105d757600080fd5b506102b96105e63660046139c1565b6114dd565b6102646105f9366004613c06565b611508565b34801561060a57600080fd5b50610286600081565b34801561061f57600080fd5b5061026461062e366004613c66565b6115e9565b34801561063f57600080fd5b506102866101c35481565b34801561065657600080fd5b50610286610665366004613ca2565b6115f4565b34801561067657600080fd5b50610286610685366004613777565b600090815261012d602052604090205490565b3480156106a457600080fd5b506102866101c55481565b3480156106bb57600080fd5b506106cf6106ca3660046139ed565b61174e565b6040516102909190613d00565b3480156106e857600080fd5b506102646106f73660046139c1565b6118b8565b34801561070857600080fd5b50610264610717366004613d76565b6118dd565b34801561072857600080fd5b50610731611a1f565b6040516102909190613d98565b34801561074a57600080fd5b50610264610759366004613e4c565b611c8e565b34801561076a57600080fd5b50610329611d16565b34801561077f57600080fd5b506102b961078e366004613eae565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156107c857600080fd5b506102646107d7366004613ed8565b611d36565b3480156107e857600080fd5b506102646107f7366004613f3c565b611d7b565b34801561080857600080fd5b50610264610817366004613777565b611dbe565b34801561082857600080fd5b50610264610837366004613777565b611e53565b60006001600160a01b0383166108ac5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b60006108d182611f2e565b7f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c61090c81611f53565b61091582611f5d565b5050565b60008181526101c460205260409020600301546001600160a01b031633148061094857506109486000336114dd565b6109655760405163388f811f60e01b815260040160405180910390fd5b600260008281526101c4602052604090205460ff16600381111561098b5761098b6137f3565b146109a957604051631f0fb6fd60e11b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600317905590518281527f591913f977ab242c5871f116f36be231ff67df5e8e0bac1efd91fa8a723aca2b91015b60405180910390a150565b6060610a0682611f69565b610a0f83611ffd565b604051602001610a20929190613f6f565b6040516020818303038152906040529050919050565b6000610a4181611f53565b47821115610a6257604051631036b5ad60e31b815260040160405180910390fd5b4760005b6101c554811015610ac35760008181526101c46020526040902060020154610a8e9083613fb4565b915083821015610ab15760405163156bbc5b60e01b815260040160405180910390fd5b80610abb81613fc7565b915050610a66565b50604051600090339085908381818185875af1925050503d8060008114610b06576040519150601f19603f3d011682016040523d82523d6000602084013e610b0b565b606091505b5050905080610b2d576040516317f2c34560e31b815260040160405180910390fd5b50505050565b6101c4602052600090815260409020805460018201546002830154600384015460048501805460ff90951695939492936001600160a01b0390921692610b7890613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba490613fe0565b8015610bf15780601f10610bc657610100808354040283529160200191610bf1565b820191906000526020600020905b815481529060010190602001808311610bd457829003601f168201915b505050505090806005018054610c0690613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3290613fe0565b8015610c7f5780601f10610c5457610100808354040283529160200191610c7f565b820191906000526020600020905b815481529060010190602001808311610c6257829003601f168201915b5050505050905086565b6001600160a01b038516331480610ca55750610ca5853361078e565b610cc15760405162461bcd60e51b81526004016108a390614014565b610cce858585858561208f565b5050505050565b6000610ce081611f53565b610cea838361223c565b505050565b6001600160a01b0381163314610d5f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016108a3565b61091582826122c2565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610db15760405162461bcd60e51b81526004016108a390614062565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610dfa6000805160206146be833981519152546001600160a01b031690565b6001600160a01b031614610e205760405162461bcd60e51b81526004016108a3906140ae565b610e2981612329565b60408051600080825260208201909252610e4591839190612353565b50565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610e7281611f53565b610e456124be565b60608151835114610edf5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016108a3565b600083516001600160401b03811115610efa57610efa61368e565b604051908082528060200260200182016040528015610f23578160200160208202803683370190505b50905060005b8451811015610f9b57610f6e858281518110610f4757610f476140fa565b6020026020010151858381518110610f6157610f616140fa565b602002602001015161083c565b828281518110610f8057610f806140fa565b6020908102919091010152610f9481613fc7565b9050610f29565b509392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610feb5760405162461bcd60e51b81526004016108a390614062565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110346000805160206146be833981519152546001600160a01b031690565b6001600160a01b03161461105a5760405162461bcd60e51b81526004016108a3906140ae565b61106382612329565b61091582826001612353565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461110f5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108a3565b506000805160206146be8339815191525b90565b6001600160a01b03831633148061113f575061113f833361078e565b61115b5760405162461bcd60e51b81526004016108a390614014565b610cea838383612510565b600061117181611f53565b600160008381526101c4602052604090205460ff166003811115611197576111976137f3565b146111b55760405163137c9c1f60e31b815260040160405180910390fd5b60008281526101c46020908152604091829020805460ff1916600217905590518381527f8f4352ac8b4aefdd2333162306bbe09dd4f4ff6661e89ccc4e4dcced8794e8f7910160405180910390a15050565b600061121281611f53565b506101c355565b600260008381526101c4602052604090205460ff16600381111561123f5761123f6137f3565b1461125d5760405163137c9c1f60e31b815260040160405180910390fd5b3360009081526101c760209081526040808320600886901c845290915290208054600160ff85161b179055336001600160a01b0316827f710e220a47c8d9e50587c80fe509f5e762149ef672440eff70798204dd70f5eb836040516112c291906137e0565b60405180910390a35050565b60006112d981611f53565b506101c655565b600054610100900460ff16158080156113005750600054600160ff909116105b8061131a5750303b15801561131a575060005460ff166001145b61137d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108a3565b6000805460ff1916600117905580156113a0576000805461ff0019166101001790555b6113b8604051806020016040528060008152506126af565b6113c06126df565b6113c8612708565b6113d06126df565b6113d86126df565b6113e06126df565b6113eb60003361223c565b6114157f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c3361223c565b61143f7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a3361223c565b6114697f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e33361223c565b8015610e45576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016109f0565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6114d581611f53565b610e45612737565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600260008581526101c4602052604090205460ff16600381111561152e5761152e6137f3565b1461154c57604051631f0fb6fd60e11b815260040160405180910390fd5b6101c35460008581526101c46020526040902060010154849161156e91614110565b6115789190614123565b34101561159857604051631036b5ad60e31b815260040160405180910390fd5b6115a482858584612774565b6101c3546115b29084614123565b6115bc9034613fb4565b60008581526101c46020526040812060020180549091906115de908490614110565b909155505050505050565b610915338383612899565b60006101c65486111561161a57604051630f0c4c5f60e41b815260040160405180910390fd5b506101c5546040805160c0810190915280600181526020808201899052600060408084018290526001600160a01b038a1660608501526080840188905260a09093018690528481526101c49091522081518154829060ff19166001836003811115611687576116876137f3565b0217905550602082015160018201556040820151600282015560608201516003820180546001600160a01b0319166001600160a01b03909216919091179055608082015160048201906116da9082614180565b5060a082015160058201906116ef9082614180565b50506101c580549150600061170383613fc7565b91905055507f3deb71b5a6774038a220621d78241405004043d5a928de9c7956bcc5270416db8183888860405161173d949392919061423f565b60405180910390a195945050505050565b606060006101c5546001600160401b0381111561176d5761176d61368e565b6040519080825280602002602001820160405280156117b357816020015b60408051808201909152606081526000602082015281526020019060019003908161178b5790505b50905060005b6101c5548110156118b15760405180604001604052806101c4600084815260200190815260200160002060040180546117f190613fe0565b80601f016020809104026020016040519081016040528092919081815260200182805461181d90613fe0565b801561186a5780601f1061183f5761010080835404028352916020019161186a565b820191906000526020600020905b81548152906001019060200180831161184d57829003601f168201915b5050505050815260200161187e868461083c565b815250828281518110611893576118936140fa565b602002602001018190525080806118a990613fc7565b9150506117b9565b5092915050565b6000828152609760205260409020600101546118d381611f53565b610cea83836122c2565b60008281526101c460205260409020600301546001600160a01b031633146119185760405163388f811f60e01b815260040160405180910390fd5b60008281526101c4602052604090206002015481111561194b57604051637eafab7d60e01b815260040160405180910390fd5b604051600090339083908381818185875af1925050503d806000811461198d576040519150601f19603f3d011682016040523d82523d6000602084013e611992565b606091505b50509050806119b4576040516317f2c34560e31b815260040160405180910390fd5b60008381526101c46020526040812060020180548492906119d6908490613fb4565b90915550506040805184815260208101849052338183015290517ff1090e9d5138cd4909542e10e1da576730b07eb291a71a151e63160dde345b949181900360600190a1505050565b606060006101c5546001600160401b03811115611a3e57611a3e61368e565b604051908082528060200260200182016040528015611ab257816020015b611a9f6040805160c081019091528060008152602001600081526020016000815260200160006001600160a01b0316815260200160608152602001606081525090565b815260200190600190039081611a5c5790505b50905060005b6101c554811015611c885760008181526101c4602052604090819020815160c081019092528054829060ff166003811115611af557611af56137f3565b6003811115611b0657611b066137f3565b8152600182015460208201526002820154604082015260038201546001600160a01b03166060820152600482018054608090920191611b4490613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054611b7090613fe0565b8015611bbd5780601f10611b9257610100808354040283529160200191611bbd565b820191906000526020600020905b815481529060010190602001808311611ba057829003601f168201915b50505050508152602001600582018054611bd690613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054611c0290613fe0565b8015611c4f5780601f10611c2457610100808354040283529160200191611c4f565b820191906000526020600020905b815481529060010190602001808311611c3257829003601f168201915b505050505081525050828281518110611c6a57611c6a6140fa565b60200260200101819052508080611c8090613fc7565b915050611ab8565b50919050565b6000611c9981611f53565b600260008581526101c4602052604090205460ff166003811115611cbf57611cbf6137f3565b14611cdd5760405163137c9c1f60e31b815260040160405180910390fd5b60008481526101c460205260409020600401611cf98482614180565b5060008481526101c460205260409020600501610cce8382614180565b606060405180606001604052806024815260200161470560249139905090565b6001600160a01b038516331480611d525750611d52853361078e565b611d6e5760405162461bcd60e51b81526004016108a390614014565b610cce8585858585612979565b6001600160a01b038316331480611d975750611d97833361078e565b611db35760405162461bcd60e51b81526004016108a390614014565b610cea838383612ab5565b3360009081526101c760209081526040808320600885901c84529182905290912054600160ff84161b16611e055760405163423f327760e11b815260040160405180910390fd5b600882901c6000908152602082905260408082208054600160ff87161b1916905551339184917fc6c1c3224e50c3c958e39197695bdfe8457ce7c0014d8d51a4d3aa12c5ac18489190a35050565b60008181526101c460205260409020600301546001600160a01b0316331480611e825750611e826000336114dd565b611e9f5760405163388f811f60e01b815260040160405180910390fd5b600360008281526101c4602052604090205460ff166003811115611ec557611ec56137f3565b14611ee35760405163968807a560e01b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600217905590518281527f63bb17c9645a29322601b4fe88d8f3fa84f32229368294f903084be8f5d813ba91016109f0565b60006001600160e01b03198216637965db0b60e01b14806108d157506108d182612bd1565b610e458133612c21565b60676109158282614180565b606060678054611f7890613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054611fa490613fe0565b8015611ff15780601f10611fc657610100808354040283529160200191611ff1565b820191906000526020600020905b815481529060010190602001808311611fd457829003601f168201915b50505050509050919050565b6060600061200a83612c7a565b60010190506000816001600160401b038111156120295761202961368e565b6040519080825280601f01601f191660200182016040528015612053576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461205d57509392505050565b81518351146120b05760405162461bcd60e51b81526004016108a390614279565b6001600160a01b0384166120d65760405162461bcd60e51b81526004016108a3906142c1565b336120e5818787878787612d52565b60005b84518110156121ce576000858281518110612105576121056140fa565b602002602001015190506000858381518110612123576121236140fa565b60209081029190910181015160008481526065835260408082206001600160a01b038e1683529093529190912054909150818110156121745760405162461bcd60e51b81526004016108a390614306565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906121b3908490614110565b92505081905550505050806121c790613fc7565b90506120e8565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161221e929190614350565b60405180910390a4612234818787878787612d68565b505050505050565b61224682826114dd565b6109155760008281526097602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561227e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6122cc82826114dd565b156109155760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e361091581611f53565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561238657610cea83612ec3565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156123e0575060408051601f3d908101601f191682019092526123dd9181019061437e565b60015b6124435760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016108a3565b6000805160206146be83398151915281146124b25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016108a3565b50610cea838383612f5f565b6124c6612f84565b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0383166125365760405162461bcd60e51b81526004016108a390614397565b80518251146125575760405162461bcd60e51b81526004016108a390614279565b600033905061257a81856000868660405180602001604052806000815250612d52565b60005b835181101561264257600084828151811061259a5761259a6140fa565b6020026020010151905060008483815181106125b8576125b86140fa565b60209081029190910181015160008481526065835260408082206001600160a01b038c1683529093529190912054909150818110156126095760405162461bcd60e51b81526004016108a3906143da565b60009283526065602090815260408085206001600160a01b038b168652909152909220910390558061263a81613fc7565b91505061257d565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612693929190614350565b60405180910390a4604080516020810190915260009052610b2d565b600054610100900460ff166126d65760405162461bcd60e51b81526004016108a39061441e565b610e4581612fcd565b600054610100900460ff166127065760405162461bcd60e51b81526004016108a39061441e565b565b600054610100900460ff1661272f5760405162461bcd60e51b81526004016108a39061441e565b612706612ffd565b61273f613030565b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586124f33390565b6001600160a01b0384166127d45760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b60648201526084016108a3565b3360006127e085613076565b905060006127ed85613076565b90506127fe83600089858589612d52565b60008681526065602090815260408083206001600160a01b038b16845290915281208054879290612830908490614110565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612890836000898989896130c1565b50505050505050565b816001600160a01b0316836001600160a01b03160361290c5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016108a3565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03841661299f5760405162461bcd60e51b81526004016108a3906142c1565b3360006129ab85613076565b905060006129b885613076565b90506129c8838989858589612d52565b60008681526065602090815260408083206001600160a01b038c16845290915290205485811015612a0b5760405162461bcd60e51b81526004016108a390614306565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290612a4a908490614110565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612aaa848a8a8a8a8a6130c1565b505050505050505050565b6001600160a01b038316612adb5760405162461bcd60e51b81526004016108a390614397565b336000612ae784613076565b90506000612af484613076565b9050612b1483876000858560405180602001604052806000815250612d52565b60008581526065602090815260408083206001600160a01b038a16845290915290205484811015612b575760405162461bcd60e51b81526004016108a3906143da565b60008681526065602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612890565b60006001600160e01b03198216636cdb3d1360e11b1480612c0257506001600160e01b031982166303a24d0760e21b145b806108d157506301ffc9a760e01b6001600160e01b03198316146108d1565b612c2b82826114dd565b61091557612c388161317c565b612c4383602061318e565b604051602001612c54929190614469565b60408051601f198184030181529082905262461bcd60e51b82526108a3916004016137e0565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612cb95772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612ce5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612d0357662386f26fc10000830492506010015b6305f5e1008310612d1b576305f5e100830492506008015b6127108310612d2f57612710830492506004015b60648310612d41576064830492506002015b600a83106108d15760010192915050565b612d5a613030565b612234868686868686613330565b6001600160a01b0384163b156122345760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190612dac90899089908890889088906004016144de565b6020604051808303816000875af1925050508015612de7575060408051601f3d908101601f19168201909252612de49181019061453c565b60015b612e9357612df3614559565b806308c379a003612e2c5750612e07614574565b80612e125750612e2e565b8060405162461bcd60e51b81526004016108a391906137e0565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016108a3565b6001600160e01b0319811663bc197c8160e01b146128905760405162461bcd60e51b81526004016108a3906145fd565b6001600160a01b0381163b612f305760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108a3565b6000805160206146be83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612f68836134ac565b600082511180612f755750805b15610cea57610b2d83836134ec565b60c95460ff166127065760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016108a3565b600054610100900460ff16612ff45760405162461bcd60e51b81526004016108a39061441e565b610e4581611f5d565b600054610100900460ff166130245760405162461bcd60e51b81526004016108a39061441e565b60c9805460ff19169055565b60c95460ff16156127065760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016108a3565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106130b0576130b06140fa565b602090810291909101015292915050565b6001600160a01b0384163b156122345760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906131059089908990889088908890600401614645565b6020604051808303816000875af1925050508015613140575060408051601f3d908101601f1916820190925261313d9181019061453c565b60015b61314c57612df3614559565b6001600160e01b0319811663f23a6e6160e01b146128905760405162461bcd60e51b81526004016108a3906145fd565b60606108d16001600160a01b03831660145b6060600061319d836002614123565b6131a8906002614110565b6001600160401b038111156131bf576131bf61368e565b6040519080825280601f01601f1916602001820160405280156131e9576020820181803683370190505b509050600360fc1b81600081518110613204576132046140fa565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613233576132336140fa565b60200101906001600160f81b031916908160001a9053506000613257846002614123565b613262906001614110565b90505b60018111156132da576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613296576132966140fa565b1a60f81b8282815181106132ac576132ac6140fa565b60200101906001600160f81b031916908160001a90535060049490941c936132d38161468a565b9050613265565b5083156133295760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108a3565b9392505050565b6001600160a01b0385166133b85760005b83518110156133b65782818151811061335c5761335c6140fa565b602002602001015161012d600086848151811061337b5761337b6140fa565b6020026020010151815260200190815260200160002060008282546133a09190614110565b909155506133af905081613fc7565b9050613341565b505b6001600160a01b0384166122345760005b83518110156128905760008482815181106133e6576133e66140fa565b602002602001015190506000848381518110613404576134046140fa565b60200260200101519050600061012d6000848152602001908152602001600020549050818110156134885760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f74604482015267616c537570706c7960c01b60648201526084016108a3565b600092835261012d6020526040909220910390556134a581613fc7565b90506133c9565b6134b581612ec3565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061332983836040518060600160405280602781526020016146de602791396060600080856001600160a01b03168560405161352991906146a1565b600060405180830381855af49150503d8060008114613564576040519150601f19603f3d011682016040523d82523d6000602084013e613569565b606091505b509150915061357a86838387613584565b9695505050505050565b606083156135f35782516000036135ec576001600160a01b0385163b6135ec5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108a3565b50816135fd565b6135fd8383613605565b949350505050565b815115612e125781518083602001fd5b80356001600160a01b038116811461362c57600080fd5b919050565b6000806040838503121561364457600080fd5b61364d83613615565b946020939093013593505050565b6001600160e01b031981168114610e4557600080fd5b60006020828403121561368357600080fd5b81356133298161365b565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156136c9576136c961368e565b6040525050565b600082601f8301126136e157600080fd5b81356001600160401b038111156136fa576136fa61368e565b604051613711601f8301601f1916602001826136a4565b81815284602083860101111561372657600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561375557600080fd5b81356001600160401b0381111561376b57600080fd5b6135fd848285016136d0565b60006020828403121561378957600080fd5b5035919050565b60005b838110156137ab578181015183820152602001613793565b50506000910152565b600081518084526137cc816020860160208601613790565b601f01601f19169290920160200192915050565b60208152600061332960208301846137b4565b634e487b7160e01b600052602160045260246000fd5b6004811061382757634e487b7160e01b600052602160045260246000fd5b9052565b6138358188613809565b85602082015284604082015260018060a01b038416606082015260c06080820152600061386560c08301856137b4565b82810360a084015261387781856137b4565b9998505050505050505050565b60006001600160401b0382111561389d5761389d61368e565b5060051b60200190565b600082601f8301126138b857600080fd5b813560206138c582613884565b6040516138d282826136a4565b83815260059390931b85018201928281019150868411156138f257600080fd5b8286015b8481101561390d57803583529183019183016138f6565b509695505050505050565b600080600080600060a0868803121561393057600080fd5b61393986613615565b945061394760208701613615565b935060408601356001600160401b038082111561396357600080fd5b61396f89838a016138a7565b9450606088013591508082111561398557600080fd5b61399189838a016138a7565b935060808801359150808211156139a757600080fd5b506139b4888289016136d0565b9150509295509295909350565b600080604083850312156139d457600080fd5b823591506139e460208401613615565b90509250929050565b6000602082840312156139ff57600080fd5b61332982613615565b60008060408385031215613a1b57600080fd5b82356001600160401b0380821115613a3257600080fd5b818501915085601f830112613a4657600080fd5b81356020613a5382613884565b604051613a6082826136a4565b83815260059390931b8501820192828101915089841115613a8057600080fd5b948201945b83861015613aa557613a9686613615565b82529482019490820190613a85565b96505086013592505080821115613abb57600080fd5b50613ac8858286016138a7565b9150509250929050565b600081518084526020808501945080840160005b83811015613b0257815187529582019590820190600101613ae6565b509495945050505050565b6020815260006133296020830184613ad2565b60008060408385031215613b3357600080fd5b613b3c83613615565b915060208301356001600160401b03811115613b5757600080fd5b613ac8858286016136d0565b600080600060608486031215613b7857600080fd5b613b8184613615565b925060208401356001600160401b0380821115613b9d57600080fd5b613ba9878388016138a7565b93506040860135915080821115613bbf57600080fd5b50613bcc868287016138a7565b9150509250925092565b60008060408385031215613be957600080fd5b8235915060208301356001600160401b03811115613b5757600080fd5b60008060008060808587031215613c1c57600080fd5b8435935060208501359250613c3360408601613615565b915060608501356001600160401b03811115613c4e57600080fd5b613c5a878288016136d0565b91505092959194509250565b60008060408385031215613c7957600080fd5b613c8283613615565b915060208301358015158114613c9757600080fd5b809150509250929050565b600080600080600060a08688031215613cba57600080fd5b85359450613cca60208701613615565b9350613cd860408701613615565b925060608601356001600160401b0380821115613cf457600080fd5b61399189838a016136d0565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613d6857888303603f1901855281518051878552613d4b888601826137b4565b918901519489019490945294870194925090860190600101613d27565b509098975050505050505050565b60008060408385031215613d8957600080fd5b50508035926020909101359150565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613d6857603f19898403018552815160c0613ddf858351613809565b81890151858a015287820151888601526060808301516001600160a01b031690860152608080830151818701839052613e1a838801826137b4565b9250505060a08083015192508582038187015250613e3881836137b4565b968901969450505090860190600101613dbf565b600080600060608486031215613e6157600080fd5b8335925060208401356001600160401b0380821115613e7f57600080fd5b613e8b878388016136d0565b93506040860135915080821115613ea157600080fd5b50613bcc868287016136d0565b60008060408385031215613ec157600080fd5b613eca83613615565b91506139e460208401613615565b600080600080600060a08688031215613ef057600080fd5b613ef986613615565b9450613f0760208701613615565b9350604086013592506060860135915060808601356001600160401b03811115613f3057600080fd5b6139b4888289016136d0565b600080600060608486031215613f5157600080fd5b613f5a84613615565b95602085013595506040909401359392505050565b60008351613f81818460208801613790565b835190830190613f95818360208801613790565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156108d1576108d1613f9e565b600060018201613fd957613fd9613f9e565b5060010190565b600181811c90821680613ff457607f821691505b602082108103611c8857634e487b7160e01b600052602260045260246000fd5b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b808201808211156108d1576108d1613f9e565b80820281158282048414176108d1576108d1613f9e565b601f821115610cea57600081815260208120601f850160051c810160208610156141615750805b601f850160051c820191505b818110156122345782815560010161416d565b81516001600160401b038111156141995761419961368e565b6141ad816141a78454613fe0565b8461413a565b602080601f8311600181146141e257600084156141ca5750858301515b600019600386901b1c1916600185901b178555612234565b600085815260208120601f198616915b82811015614211578886015182559484019460019091019084016141f2565b508582101561422f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b84815260806020820152600061425860808301866137b4565b6040830194909452506001600160a01b039190911660609091015292915050565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6040815260006143636040830185613ad2565b82810360208401526143758185613ad2565b95945050505050565b60006020828403121561439057600080fd5b5051919050565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516144a1816017850160208801613790565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516144d2816028840160208801613790565b01602801949350505050565b6001600160a01b0386811682528516602082015260a06040820181905260009061450a90830186613ad2565b828103606084015261451c8186613ad2565b9050828103608084015261453081856137b4565b98975050505050505050565b60006020828403121561454e57600080fd5b81516133298161365b565b600060033d11156111205760046000803e5060005160e01c90565b600060443d10156145825790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156145b157505050505090565b82850191508151818111156145c95750505050505090565b843d87010160208285010111156145e35750505050505090565b6145f2602082860101876136a4565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061467f908301846137b4565b979650505050505050565b60008161469957614699613f9e565b506000190190565b600082516146b3818460208701613790565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656468747470733a2f2f72616461726c61756e63682e6170702f6170692f6d65746164617461a26469706673582212204e9f4ea2c648a5f69e7836dd3a4809a230928eeff34e8574a7925e7ab376829e64736f6c63430008130033", + "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161445c6200011f60003960008181610c6a01528181610caa01528181610f4201528181610f820152611011015261445c6000f3fe60806040526004361061025d5760003560e01c8063787dce3d11610143578063bd85b039116100bb578063e8a3d48511610077578063e8a3d485146107ab578063e985e9c5146107c0578063f242432a14610809578063f5298aca14610829578063f8c1b2fd14610849578063fc74efa21461086957005b8063bd85b039146106d7578063c6fbb71214610705578063c84aae171461071c578063d547741f14610749578063d667c9ce14610769578063df6efc6c1461078957005b806391d148541161010a57806391d1485414610638578063940123da14610658578063a217fddf1461066b578063a22cb46514610680578063a2f89fb6146106a0578063b0e21e8a146106c057005b8063787dce3d146105ae578063790bafc6146105ce5780637cc74941146105ee5780638129fc1c1461060e5780638456cb591461062357005b80633659cfe6116101d65780634f558e791161019d5780634f558e79146104fa57806352d1902d1461052a5780635c975abb1461053f5780636b20c454146105575780636b5cb789146105775780637357628c1461058e57005b80633659cfe6146104655780633f4ba83a146104855780634462486f1461049a5780634e1273f4146104ba5780634f1ef286146104e757005b8063155dd5ee11610225578063155dd5ee14610336578063248a9ca314610356578063279c806e146103865780632eb2c2d6146104055780632f2ff15d1461042557806336568abe1461044557005b8062fdd58e1461026657806301ffc9a71461029957806302fe5305146102c95780630a579eca146102e95780630e89341c1461030957005b3661026457005b005b34801561027257600080fd5b506102866102813660046133ce565b610889565b6040519081526020015b60405180910390f35b3480156102a557600080fd5b506102b96102b436600461340e565b610924565b6040519015158152602001610290565b3480156102d557600080fd5b506102646102e43660046134e0565b61092f565b3480156102f557600080fd5b50610264610304366004613514565b610966565b34801561031557600080fd5b50610329610324366004613514565b610a48565b604051610290919061357d565b34801561034257600080fd5b50610264610351366004613514565b610a83565b34801561036257600080fd5b50610286610371366004613514565b60009081526097602052604090206001015490565b34801561039257600080fd5b506103f36103a1366004613514565b6101c4602052600090815260409020805460018201546002830154600384015460049094015460ff90931693919290916001600160a01b038116916001600160601b03600160a01b9092048216911686565b604051610290969594939291906135c8565b34801561041157600080fd5b506102646104203660046136a7565b610b80565b34801561043157600080fd5b50610264610440366004613750565b610bcc565b34801561045157600080fd5b50610264610460366004613750565b610be6565b34801561047157600080fd5b5061026461048036600461377c565b610c60565b34801561049157600080fd5b50610264610d3f565b3480156104a657600080fd5b506102646104b53660046137ae565b610d71565b3480156104c657600080fd5b506104da6104d53660046137ea565b610e0f565b60405161029091906138ef565b6102646104f5366004613902565b610f38565b34801561050657600080fd5b506102b9610515366004613514565b600090815261012d6020526040902054151590565b34801561053657600080fd5b50610286611004565b34801561054b57600080fd5b5060c95460ff166102b9565b34801561056357600080fd5b50610264610572366004613945565b6110b8565b34801561058357600080fd5b506102866101c65481565b34801561059a57600080fd5b506102646105a9366004613514565b6110fb565b3480156105ba57600080fd5b506102646105c9366004613514565b61119c565b3480156105da57600080fd5b506102646105e93660046139b8565b6111ae565b3480156105fa57600080fd5b50610264610609366004613514565b611263565b34801561061a57600080fd5b50610264611275565b34801561062f57600080fd5b50610264611440565b34801561064457600080fd5b506102b9610653366004613750565b611472565b6102646106663660046139e8565b61149d565b34801561067757600080fd5b50610286600081565b34801561068c57600080fd5b5061026461069b366004613a48565b61157e565b3480156106ac57600080fd5b506102866106bb366004613a84565b611589565b3480156106cc57600080fd5b506102866101c35481565b3480156106e357600080fd5b506102866106f2366004613514565b600090815261012d602052604090205490565b34801561071157600080fd5b506102866101c55481565b34801561072857600080fd5b5061073c61073736600461377c565b611706565b6040516102909190613ae2565b34801561075557600080fd5b50610264610764366004613750565b6117f1565b34801561077557600080fd5b50610264610784366004613b3a565b611816565b34801561079557600080fd5b5061079e611958565b6040516102909190613b5c565b3480156107b757600080fd5b50610329611ab3565b3480156107cc57600080fd5b506102b96107db366004613be6565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b34801561081557600080fd5b50610264610824366004613c10565b611ad3565b34801561083557600080fd5b50610264610844366004613c74565b611b18565b34801561085557600080fd5b50610264610864366004613514565b611b5b565b34801561087557600080fd5b50610264610884366004613514565b611bf0565b60006001600160a01b0383166108f95760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b600061091e82611ccb565b7f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c61095981611cf0565b61096282611cfa565b5050565b60008181526101c460205260409020600301546001600160a01b03163314806109955750610995600033611472565b6109b25760405163388f811f60e01b815260040160405180910390fd5b600260008281526101c4602052604090205460ff1660038111156109d8576109d8613590565b146109f657604051631f0fb6fd60e11b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600317905590518281527f591913f977ab242c5871f116f36be231ff67df5e8e0bac1efd91fa8a723aca2b91015b60405180910390a150565b6060610a5382611d06565b610a5c83611d9a565b604051602001610a6d929190613ca7565b6040516020818303038152906040529050919050565b6000610a8e81611cf0565b47821115610aaf57604051631036b5ad60e31b815260040160405180910390fd5b4760005b6101c554811015610b105760008181526101c46020526040902060020154610adb9083613cec565b915083821015610afe5760405163156bbc5b60e01b815260040160405180910390fd5b80610b0881613cff565b915050610ab3565b50604051600090339085908381818185875af1925050503d8060008114610b53576040519150601f19603f3d011682016040523d82523d6000602084013e610b58565b606091505b5050905080610b7a576040516317f2c34560e31b815260040160405180910390fd5b50505050565b6001600160a01b038516331480610b9c5750610b9c85336107db565b610bb85760405162461bcd60e51b81526004016108f090613d18565b610bc58585858585611e2c565b5050505050565b6000610bd781611cf0565b610be18383611fd9565b505050565b6001600160a01b0381163314610c565760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016108f0565b610962828261205f565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ca85760405162461bcd60e51b81526004016108f090613d66565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610cf16000805160206143bc833981519152546001600160a01b031690565b6001600160a01b031614610d175760405162461bcd60e51b81526004016108f090613db2565b610d20816120c6565b60408051600080825260208201909252610d3c918391906120f0565b50565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610d6981611cf0565b610d3c61225b565b6000610d7c81611cf0565b60008481526101c4602052604081205460ff166003811115610da057610da0613590565b03610dbe5760405163137c9c1f60e31b815260040160405180910390fd5b5060009283526101c460205260409092206003810180546001600160a01b0316600160a01b6001600160601b039485160217905560040180546bffffffffffffffffffffffff191691909216179055565b60608151835114610e745760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016108f0565b600083516001600160401b03811115610e8f57610e8f61342b565b604051908082528060200260200182016040528015610eb8578160200160208202803683370190505b50905060005b8451811015610f3057610f03858281518110610edc57610edc613dfe565b6020026020010151858381518110610ef657610ef6613dfe565b6020026020010151610889565b828281518110610f1557610f15613dfe565b6020908102919091010152610f2981613cff565b9050610ebe565b509392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610f805760405162461bcd60e51b81526004016108f090613d66565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fc96000805160206143bc833981519152546001600160a01b031690565b6001600160a01b031614610fef5760405162461bcd60e51b81526004016108f090613db2565b610ff8826120c6565b610962828260016120f0565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110a45760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108f0565b506000805160206143bc8339815191525b90565b6001600160a01b0383163314806110d457506110d483336107db565b6110f05760405162461bcd60e51b81526004016108f090613d18565b610be18383836122ad565b600061110681611cf0565b600160008381526101c4602052604090205460ff16600381111561112c5761112c613590565b1461114a5760405163137c9c1f60e31b815260040160405180910390fd5b60008281526101c46020908152604091829020805460ff1916600217905590518381527f8f4352ac8b4aefdd2333162306bbe09dd4f4ff6661e89ccc4e4dcced8794e8f7910160405180910390a15050565b60006111a781611cf0565b506101c355565b600260008381526101c4602052604090205460ff1660038111156111d4576111d4613590565b146111f25760405163137c9c1f60e31b815260040160405180910390fd5b3360009081526101c760209081526040808320600886901c845290915290208054600160ff85161b179055336001600160a01b0316827f710e220a47c8d9e50587c80fe509f5e762149ef672440eff70798204dd70f5eb83604051611257919061357d565b60405180910390a35050565b600061126e81611cf0565b506101c655565b600054610100900460ff16158080156112955750600054600160ff909116105b806112af5750303b1580156112af575060005460ff166001145b6113125760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108f0565b6000805460ff191660011790558015611335576000805461ff0019166101001790555b61134d6040518060200160405280600081525061244c565b61135561247c565b61135d6124a5565b61136561247c565b61136d61247c565b61137561247c565b611380600033611fd9565b6113aa7f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c33611fd9565b6113d47f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33611fd9565b6113fe7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e333611fd9565b8015610d3c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610a3d565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a61146a81611cf0565b610d3c6124d4565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600260008581526101c4602052604090205460ff1660038111156114c3576114c3613590565b146114e157604051631f0fb6fd60e11b815260040160405180910390fd5b6101c35460008581526101c46020526040902060010154849161150391613e14565b61150d9190613e27565b34101561152d57604051631036b5ad60e31b815260040160405180910390fd5b61153982858584612511565b6101c3546115479084613e27565b6115519034613cec565b60008581526101c4602052604081206002018054909190611573908490613e14565b909155505050505050565b610962338383612636565b60006101c6548611156115af57604051630f0c4c5f60e41b815260040160405180910390fd5b506101c5546040805160c0810190915280600181526020808201899052600060408084018290526001600160a01b038a1660608501526001600160601b038089166080860152871660a0909401939093528481526101c49091522081518154829060ff1916600183600381111561162857611628613590565b02179055506020820151600182015560408201516002820155606082015160808301516001600160a01b03909116600160a01b6001600160601b039283160217600383015560a090920151600490910180546bffffffffffffffffffffffff1916919092161790556101c580549060006116a183613cff565b909155505060408051828152602081018890526001600160601b038416818301526001600160a01b038716606082015290517f2aa47da5461670f8447338efafce9a1c28b72acd7eed3db3876ad9a1b80c7e919181900360800190a195945050505050565b606060006101c5546001600160401b038111156117255761172561342b565b60405190808252806020026020018201604052801561176a57816020015b60408051808201909152600080825260208201528152602001906001900390816117435790505b50905060005b6101c5548110156117ea5760408051808201825260008381526101c4602090815292902060030154600160a01b90046001600160601b031681529081016117b78684610889565b8152508282815181106117cc576117cc613dfe565b602002602001018190525080806117e290613cff565b915050611770565b5092915050565b60008281526097602052604090206001015461180c81611cf0565b610be1838361205f565b60008281526101c460205260409020600301546001600160a01b031633146118515760405163388f811f60e01b815260040160405180910390fd5b60008281526101c4602052604090206002015481111561188457604051637eafab7d60e01b815260040160405180910390fd5b604051600090339083908381818185875af1925050503d80600081146118c6576040519150601f19603f3d011682016040523d82523d6000602084013e6118cb565b606091505b50509050806118ed576040516317f2c34560e31b815260040160405180910390fd5b60008381526101c460205260408120600201805484929061190f908490613cec565b90915550506040805184815260208101849052338183015290517ff1090e9d5138cd4909542e10e1da576730b07eb291a71a151e63160dde345b949181900360600190a1505050565b606060006101c5546001600160401b038111156119775761197761342b565b6040519080825280602002602001820160405280156119d757816020015b6040805160c08101825260008082526020808301829052928201819052606082018190526080820181905260a082015282526000199092019101816119955790505b50905060005b6101c554811015611aad5760008181526101c4602052604090819020815160c081019092528054829060ff166003811115611a1a57611a1a613590565b6003811115611a2b57611a2b613590565b8152600182015460208201526002820154604082015260038201546001600160a01b03811660608301526001600160601b03600160a01b9091048116608083015260049092015490911660a0909101528251839083908110611a8f57611a8f613dfe565b60200260200101819052508080611aa590613cff565b9150506119dd565b50919050565b606060405180606001604052806024815260200161440360249139905090565b6001600160a01b038516331480611aef5750611aef85336107db565b611b0b5760405162461bcd60e51b81526004016108f090613d18565b610bc58585858585612716565b6001600160a01b038316331480611b345750611b3483336107db565b611b505760405162461bcd60e51b81526004016108f090613d18565b610be1838383612852565b3360009081526101c760209081526040808320600885901c84529182905290912054600160ff84161b16611ba25760405163423f327760e11b815260040160405180910390fd5b600882901c6000908152602082905260408082208054600160ff87161b1916905551339184917fc6c1c3224e50c3c958e39197695bdfe8457ce7c0014d8d51a4d3aa12c5ac18489190a35050565b60008181526101c460205260409020600301546001600160a01b0316331480611c1f5750611c1f600033611472565b611c3c5760405163388f811f60e01b815260040160405180910390fd5b600360008281526101c4602052604090205460ff166003811115611c6257611c62613590565b14611c805760405163968807a560e01b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600217905590518281527f63bb17c9645a29322601b4fe88d8f3fa84f32229368294f903084be8f5d813ba9101610a3d565b60006001600160e01b03198216637965db0b60e01b148061091e575061091e8261296e565b610d3c81336129be565b60676109628282613eb8565b606060678054611d1590613e3e565b80601f0160208091040260200160405190810160405280929190818152602001828054611d4190613e3e565b8015611d8e5780601f10611d6357610100808354040283529160200191611d8e565b820191906000526020600020905b815481529060010190602001808311611d7157829003601f168201915b50505050509050919050565b60606000611da783612a17565b60010190506000816001600160401b03811115611dc657611dc661342b565b6040519080825280601f01601f191660200182016040528015611df0576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611dfa57509392505050565b8151835114611e4d5760405162461bcd60e51b81526004016108f090613f77565b6001600160a01b038416611e735760405162461bcd60e51b81526004016108f090613fbf565b33611e82818787878787612aef565b60005b8451811015611f6b576000858281518110611ea257611ea2613dfe565b602002602001015190506000858381518110611ec057611ec0613dfe565b60209081029190910181015160008481526065835260408082206001600160a01b038e168352909352919091205490915081811015611f115760405162461bcd60e51b81526004016108f090614004565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611f50908490613e14565b9250508190555050505080611f6490613cff565b9050611e85565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611fbb92919061404e565b60405180910390a4611fd1818787878787612b05565b505050505050565b611fe38282611472565b6109625760008281526097602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561201b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6120698282611472565b156109625760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e361096281611cf0565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561212357610be183612c60565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561217d575060408051601f3d908101601f1916820190925261217a9181019061407c565b60015b6121e05760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016108f0565b6000805160206143bc833981519152811461224f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016108f0565b50610be1838383612cfc565b612263612d21565b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0383166122d35760405162461bcd60e51b81526004016108f090614095565b80518251146122f45760405162461bcd60e51b81526004016108f090613f77565b600033905061231781856000868660405180602001604052806000815250612aef565b60005b83518110156123df57600084828151811061233757612337613dfe565b60200260200101519050600084838151811061235557612355613dfe565b60209081029190910181015160008481526065835260408082206001600160a01b038c1683529093529190912054909150818110156123a65760405162461bcd60e51b81526004016108f0906140d8565b60009283526065602090815260408085206001600160a01b038b16865290915290922091039055806123d781613cff565b91505061231a565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb868660405161243092919061404e565b60405180910390a4604080516020810190915260009052610b7a565b600054610100900460ff166124735760405162461bcd60e51b81526004016108f09061411c565b610d3c81612d6a565b600054610100900460ff166124a35760405162461bcd60e51b81526004016108f09061411c565b565b600054610100900460ff166124cc5760405162461bcd60e51b81526004016108f09061411c565b6124a3612d9a565b6124dc612dcd565b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586122903390565b6001600160a01b0384166125715760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b60648201526084016108f0565b33600061257d85612e13565b9050600061258a85612e13565b905061259b83600089858589612aef565b60008681526065602090815260408083206001600160a01b038b168452909152812080548792906125cd908490613e14565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461262d83600089898989612e5e565b50505050505050565b816001600160a01b0316836001600160a01b0316036126a95760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016108f0565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03841661273c5760405162461bcd60e51b81526004016108f090613fbf565b33600061274885612e13565b9050600061275585612e13565b9050612765838989858589612aef565b60008681526065602090815260408083206001600160a01b038c168452909152902054858110156127a85760405162461bcd60e51b81526004016108f090614004565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906127e7908490613e14565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612847848a8a8a8a8a612e5e565b505050505050505050565b6001600160a01b0383166128785760405162461bcd60e51b81526004016108f090614095565b33600061288484612e13565b9050600061289184612e13565b90506128b183876000858560405180602001604052806000815250612aef565b60008581526065602090815260408083206001600160a01b038a168452909152902054848110156128f45760405162461bcd60e51b81526004016108f0906140d8565b60008681526065602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091526000905261262d565b60006001600160e01b03198216636cdb3d1360e11b148061299f57506001600160e01b031982166303a24d0760e21b145b8061091e57506301ffc9a760e01b6001600160e01b031983161461091e565b6129c88282611472565b610962576129d581612f19565b6129e0836020612f2b565b6040516020016129f1929190614167565b60408051601f198184030181529082905262461bcd60e51b82526108f09160040161357d565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612a565772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612a82576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612aa057662386f26fc10000830492506010015b6305f5e1008310612ab8576305f5e100830492506008015b6127108310612acc57612710830492506004015b60648310612ade576064830492506002015b600a831061091e5760010192915050565b612af7612dcd565b611fd18686868686866130cd565b6001600160a01b0384163b15611fd15760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190612b4990899089908890889088906004016141dc565b6020604051808303816000875af1925050508015612b84575060408051601f3d908101601f19168201909252612b819181019061423a565b60015b612c3057612b90614257565b806308c379a003612bc95750612ba4614272565b80612baf5750612bcb565b8060405162461bcd60e51b81526004016108f0919061357d565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016108f0565b6001600160e01b0319811663bc197c8160e01b1461262d5760405162461bcd60e51b81526004016108f0906142fb565b6001600160a01b0381163b612ccd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108f0565b6000805160206143bc83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612d0583613249565b600082511180612d125750805b15610be157610b7a8383613289565b60c95460ff166124a35760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016108f0565b600054610100900460ff16612d915760405162461bcd60e51b81526004016108f09061411c565b610d3c81611cfa565b600054610100900460ff16612dc15760405162461bcd60e51b81526004016108f09061411c565b60c9805460ff19169055565b60c95460ff16156124a35760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016108f0565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612e4d57612e4d613dfe565b602090810291909101015292915050565b6001600160a01b0384163b15611fd15760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190612ea29089908990889088908890600401614343565b6020604051808303816000875af1925050508015612edd575060408051601f3d908101601f19168201909252612eda9181019061423a565b60015b612ee957612b90614257565b6001600160e01b0319811663f23a6e6160e01b1461262d5760405162461bcd60e51b81526004016108f0906142fb565b606061091e6001600160a01b03831660145b60606000612f3a836002613e27565b612f45906002613e14565b6001600160401b03811115612f5c57612f5c61342b565b6040519080825280601f01601f191660200182016040528015612f86576020820181803683370190505b509050600360fc1b81600081518110612fa157612fa1613dfe565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612fd057612fd0613dfe565b60200101906001600160f81b031916908160001a9053506000612ff4846002613e27565b612fff906001613e14565b90505b6001811115613077576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061303357613033613dfe565b1a60f81b82828151811061304957613049613dfe565b60200101906001600160f81b031916908160001a90535060049490941c9361307081614388565b9050613002565b5083156130c65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108f0565b9392505050565b6001600160a01b0385166131555760005b8351811015613153578281815181106130f9576130f9613dfe565b602002602001015161012d600086848151811061311857613118613dfe565b60200260200101518152602001908152602001600020600082825461313d9190613e14565b9091555061314c905081613cff565b90506130de565b505b6001600160a01b038416611fd15760005b835181101561262d57600084828151811061318357613183613dfe565b6020026020010151905060008483815181106131a1576131a1613dfe565b60200260200101519050600061012d6000848152602001908152602001600020549050818110156132255760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f74604482015267616c537570706c7960c01b60648201526084016108f0565b600092835261012d60205260409092209103905561324281613cff565b9050613166565b61325281612c60565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606130c683836040518060600160405280602781526020016143dc602791396060600080856001600160a01b0316856040516132c6919061439f565b600060405180830381855af49150503d8060008114613301576040519150601f19603f3d011682016040523d82523d6000602084013e613306565b606091505b509150915061331786838387613321565b9695505050505050565b60608315613390578251600003613389576001600160a01b0385163b6133895760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108f0565b508161339a565b61339a83836133a2565b949350505050565b815115612baf5781518083602001fd5b80356001600160a01b03811681146133c957600080fd5b919050565b600080604083850312156133e157600080fd5b6133ea836133b2565b946020939093013593505050565b6001600160e01b031981168114610d3c57600080fd5b60006020828403121561342057600080fd5b81356130c6816133f8565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156134665761346661342b565b6040525050565b600082601f83011261347e57600080fd5b81356001600160401b038111156134975761349761342b565b6040516134ae601f8301601f191660200182613441565b8181528460208386010111156134c357600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156134f257600080fd5b81356001600160401b0381111561350857600080fd5b61339a8482850161346d565b60006020828403121561352657600080fd5b5035919050565b60005b83811015613548578181015183820152602001613530565b50506000910152565b6000815180845261356981602086016020860161352d565b601f01601f19169290920160200192915050565b6020815260006130c66020830184613551565b634e487b7160e01b600052602160045260246000fd5b600481106135c457634e487b7160e01b600052602160045260246000fd5b9052565b60c081016135d682896135a6565b602082019690965260408101949094526001600160a01b039290921660608401526001600160601b0390811660808401521660a090910152919050565b60006001600160401b0382111561362c5761362c61342b565b5060051b60200190565b600082601f83011261364757600080fd5b8135602061365482613613565b6040516136618282613441565b83815260059390931b850182019282810191508684111561368157600080fd5b8286015b8481101561369c5780358352918301918301613685565b509695505050505050565b600080600080600060a086880312156136bf57600080fd5b6136c8866133b2565b94506136d6602087016133b2565b935060408601356001600160401b03808211156136f257600080fd5b6136fe89838a01613636565b9450606088013591508082111561371457600080fd5b61372089838a01613636565b9350608088013591508082111561373657600080fd5b506137438882890161346d565b9150509295509295909350565b6000806040838503121561376357600080fd5b82359150613773602084016133b2565b90509250929050565b60006020828403121561378e57600080fd5b6130c6826133b2565b80356001600160601b03811681146133c957600080fd5b6000806000606084860312156137c357600080fd5b833592506137d360208501613797565b91506137e160408501613797565b90509250925092565b600080604083850312156137fd57600080fd5b82356001600160401b038082111561381457600080fd5b818501915085601f83011261382857600080fd5b8135602061383582613613565b6040516138428282613441565b83815260059390931b850182019282810191508984111561386257600080fd5b948201945b8386101561388757613878866133b2565b82529482019490820190613867565b9650508601359250508082111561389d57600080fd5b506138aa85828601613636565b9150509250929050565b600081518084526020808501945080840160005b838110156138e4578151875295820195908201906001016138c8565b509495945050505050565b6020815260006130c660208301846138b4565b6000806040838503121561391557600080fd5b61391e836133b2565b915060208301356001600160401b0381111561393957600080fd5b6138aa8582860161346d565b60008060006060848603121561395a57600080fd5b613963846133b2565b925060208401356001600160401b038082111561397f57600080fd5b61398b87838801613636565b935060408601359150808211156139a157600080fd5b506139ae86828701613636565b9150509250925092565b600080604083850312156139cb57600080fd5b8235915060208301356001600160401b0381111561393957600080fd5b600080600080608085870312156139fe57600080fd5b8435935060208501359250613a15604086016133b2565b915060608501356001600160401b03811115613a3057600080fd5b613a3c8782880161346d565b91505092959194509250565b60008060408385031215613a5b57600080fd5b613a64836133b2565b915060208301358015158114613a7957600080fd5b809150509250929050565b600080600080600060a08688031215613a9c57600080fd5b85359450613aac602087016133b2565b9350613aba604087016133b2565b9250613ac860608701613797565b9150613ad660808701613797565b90509295509295909350565b602080825282518282018190526000919060409081850190868401855b82811015613b2d57815180516001600160601b03168552860151868501529284019290850190600101613aff565b5091979650505050505050565b60008060408385031215613b4d57600080fd5b50508035926020909101359150565b602080825282518282018190526000919060409081850190868401855b82811015613b2d578151613b8e8582516135a6565b808701518588015285810151868601526060808201516001600160a01b0316908601526080808201516001600160601b039081169187019190915260a091820151169085015260c09093019290850190600101613b79565b60008060408385031215613bf957600080fd5b613c02836133b2565b9150613773602084016133b2565b600080600080600060a08688031215613c2857600080fd5b613c31866133b2565b9450613c3f602087016133b2565b9350604086013592506060860135915060808601356001600160401b03811115613c6857600080fd5b6137438882890161346d565b600080600060608486031215613c8957600080fd5b613c92846133b2565b95602085013595506040909401359392505050565b60008351613cb981846020880161352d565b835190830190613ccd81836020880161352d565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561091e5761091e613cd6565b600060018201613d1157613d11613cd6565b5060010190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b8082018082111561091e5761091e613cd6565b808202811582820484141761091e5761091e613cd6565b600181811c90821680613e5257607f821691505b602082108103611aad57634e487b7160e01b600052602260045260246000fd5b601f821115610be157600081815260208120601f850160051c81016020861015613e995750805b601f850160051c820191505b81811015611fd157828155600101613ea5565b81516001600160401b03811115613ed157613ed161342b565b613ee581613edf8454613e3e565b84613e72565b602080601f831160018114613f1a5760008415613f025750858301515b600019600386901b1c1916600185901b178555611fd1565b600085815260208120601f198616915b82811015613f4957888601518255948401946001909101908401613f2a565b5085821015613f675787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60408152600061406160408301856138b4565b828103602084015261407381856138b4565b95945050505050565b60006020828403121561408e57600080fd5b5051919050565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161419f81601785016020880161352d565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516141d081602884016020880161352d565b01602801949350505050565b6001600160a01b0386811682528516602082015260a060408201819052600090614208908301866138b4565b828103606084015261421a81866138b4565b9050828103608084015261422e8185613551565b98975050505050505050565b60006020828403121561424c57600080fd5b81516130c6816133f8565b600060033d11156110b55760046000803e5060005160e01c90565b600060443d10156142805790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156142af57505050505090565b82850191508151818111156142c75750505050505090565b843d87010160208285010111156142e15750505050505090565b6142f060208286010187613441565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061437d90830184613551565b979650505050505050565b60008161439757614397613cd6565b506000190190565b600082516143b181846020870161352d565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656468747470733a2f2f72616461726c61756e63682e6170702f6170692f6d65746164617461a26469706673582212209310abdeed455a81df4169c2e3f0b71e54aadc7a0532c0f2bf1ab85bea4afd7364736f6c63430008130033", + "deployedBytecode": "0x60806040526004361061025d5760003560e01c8063787dce3d11610143578063bd85b039116100bb578063e8a3d48511610077578063e8a3d485146107ab578063e985e9c5146107c0578063f242432a14610809578063f5298aca14610829578063f8c1b2fd14610849578063fc74efa21461086957005b8063bd85b039146106d7578063c6fbb71214610705578063c84aae171461071c578063d547741f14610749578063d667c9ce14610769578063df6efc6c1461078957005b806391d148541161010a57806391d1485414610638578063940123da14610658578063a217fddf1461066b578063a22cb46514610680578063a2f89fb6146106a0578063b0e21e8a146106c057005b8063787dce3d146105ae578063790bafc6146105ce5780637cc74941146105ee5780638129fc1c1461060e5780638456cb591461062357005b80633659cfe6116101d65780634f558e791161019d5780634f558e79146104fa57806352d1902d1461052a5780635c975abb1461053f5780636b20c454146105575780636b5cb789146105775780637357628c1461058e57005b80633659cfe6146104655780633f4ba83a146104855780634462486f1461049a5780634e1273f4146104ba5780634f1ef286146104e757005b8063155dd5ee11610225578063155dd5ee14610336578063248a9ca314610356578063279c806e146103865780632eb2c2d6146104055780632f2ff15d1461042557806336568abe1461044557005b8062fdd58e1461026657806301ffc9a71461029957806302fe5305146102c95780630a579eca146102e95780630e89341c1461030957005b3661026457005b005b34801561027257600080fd5b506102866102813660046133ce565b610889565b6040519081526020015b60405180910390f35b3480156102a557600080fd5b506102b96102b436600461340e565b610924565b6040519015158152602001610290565b3480156102d557600080fd5b506102646102e43660046134e0565b61092f565b3480156102f557600080fd5b50610264610304366004613514565b610966565b34801561031557600080fd5b50610329610324366004613514565b610a48565b604051610290919061357d565b34801561034257600080fd5b50610264610351366004613514565b610a83565b34801561036257600080fd5b50610286610371366004613514565b60009081526097602052604090206001015490565b34801561039257600080fd5b506103f36103a1366004613514565b6101c4602052600090815260409020805460018201546002830154600384015460049094015460ff90931693919290916001600160a01b038116916001600160601b03600160a01b9092048216911686565b604051610290969594939291906135c8565b34801561041157600080fd5b506102646104203660046136a7565b610b80565b34801561043157600080fd5b50610264610440366004613750565b610bcc565b34801561045157600080fd5b50610264610460366004613750565b610be6565b34801561047157600080fd5b5061026461048036600461377c565b610c60565b34801561049157600080fd5b50610264610d3f565b3480156104a657600080fd5b506102646104b53660046137ae565b610d71565b3480156104c657600080fd5b506104da6104d53660046137ea565b610e0f565b60405161029091906138ef565b6102646104f5366004613902565b610f38565b34801561050657600080fd5b506102b9610515366004613514565b600090815261012d6020526040902054151590565b34801561053657600080fd5b50610286611004565b34801561054b57600080fd5b5060c95460ff166102b9565b34801561056357600080fd5b50610264610572366004613945565b6110b8565b34801561058357600080fd5b506102866101c65481565b34801561059a57600080fd5b506102646105a9366004613514565b6110fb565b3480156105ba57600080fd5b506102646105c9366004613514565b61119c565b3480156105da57600080fd5b506102646105e93660046139b8565b6111ae565b3480156105fa57600080fd5b50610264610609366004613514565b611263565b34801561061a57600080fd5b50610264611275565b34801561062f57600080fd5b50610264611440565b34801561064457600080fd5b506102b9610653366004613750565b611472565b6102646106663660046139e8565b61149d565b34801561067757600080fd5b50610286600081565b34801561068c57600080fd5b5061026461069b366004613a48565b61157e565b3480156106ac57600080fd5b506102866106bb366004613a84565b611589565b3480156106cc57600080fd5b506102866101c35481565b3480156106e357600080fd5b506102866106f2366004613514565b600090815261012d602052604090205490565b34801561071157600080fd5b506102866101c55481565b34801561072857600080fd5b5061073c61073736600461377c565b611706565b6040516102909190613ae2565b34801561075557600080fd5b50610264610764366004613750565b6117f1565b34801561077557600080fd5b50610264610784366004613b3a565b611816565b34801561079557600080fd5b5061079e611958565b6040516102909190613b5c565b3480156107b757600080fd5b50610329611ab3565b3480156107cc57600080fd5b506102b96107db366004613be6565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b34801561081557600080fd5b50610264610824366004613c10565b611ad3565b34801561083557600080fd5b50610264610844366004613c74565b611b18565b34801561085557600080fd5b50610264610864366004613514565b611b5b565b34801561087557600080fd5b50610264610884366004613514565b611bf0565b60006001600160a01b0383166108f95760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b600061091e82611ccb565b7f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c61095981611cf0565b61096282611cfa565b5050565b60008181526101c460205260409020600301546001600160a01b03163314806109955750610995600033611472565b6109b25760405163388f811f60e01b815260040160405180910390fd5b600260008281526101c4602052604090205460ff1660038111156109d8576109d8613590565b146109f657604051631f0fb6fd60e11b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600317905590518281527f591913f977ab242c5871f116f36be231ff67df5e8e0bac1efd91fa8a723aca2b91015b60405180910390a150565b6060610a5382611d06565b610a5c83611d9a565b604051602001610a6d929190613ca7565b6040516020818303038152906040529050919050565b6000610a8e81611cf0565b47821115610aaf57604051631036b5ad60e31b815260040160405180910390fd5b4760005b6101c554811015610b105760008181526101c46020526040902060020154610adb9083613cec565b915083821015610afe5760405163156bbc5b60e01b815260040160405180910390fd5b80610b0881613cff565b915050610ab3565b50604051600090339085908381818185875af1925050503d8060008114610b53576040519150601f19603f3d011682016040523d82523d6000602084013e610b58565b606091505b5050905080610b7a576040516317f2c34560e31b815260040160405180910390fd5b50505050565b6001600160a01b038516331480610b9c5750610b9c85336107db565b610bb85760405162461bcd60e51b81526004016108f090613d18565b610bc58585858585611e2c565b5050505050565b6000610bd781611cf0565b610be18383611fd9565b505050565b6001600160a01b0381163314610c565760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016108f0565b610962828261205f565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ca85760405162461bcd60e51b81526004016108f090613d66565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610cf16000805160206143bc833981519152546001600160a01b031690565b6001600160a01b031614610d175760405162461bcd60e51b81526004016108f090613db2565b610d20816120c6565b60408051600080825260208201909252610d3c918391906120f0565b50565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610d6981611cf0565b610d3c61225b565b6000610d7c81611cf0565b60008481526101c4602052604081205460ff166003811115610da057610da0613590565b03610dbe5760405163137c9c1f60e31b815260040160405180910390fd5b5060009283526101c460205260409092206003810180546001600160a01b0316600160a01b6001600160601b039485160217905560040180546bffffffffffffffffffffffff191691909216179055565b60608151835114610e745760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016108f0565b600083516001600160401b03811115610e8f57610e8f61342b565b604051908082528060200260200182016040528015610eb8578160200160208202803683370190505b50905060005b8451811015610f3057610f03858281518110610edc57610edc613dfe565b6020026020010151858381518110610ef657610ef6613dfe565b6020026020010151610889565b828281518110610f1557610f15613dfe565b6020908102919091010152610f2981613cff565b9050610ebe565b509392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610f805760405162461bcd60e51b81526004016108f090613d66565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fc96000805160206143bc833981519152546001600160a01b031690565b6001600160a01b031614610fef5760405162461bcd60e51b81526004016108f090613db2565b610ff8826120c6565b610962828260016120f0565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110a45760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108f0565b506000805160206143bc8339815191525b90565b6001600160a01b0383163314806110d457506110d483336107db565b6110f05760405162461bcd60e51b81526004016108f090613d18565b610be18383836122ad565b600061110681611cf0565b600160008381526101c4602052604090205460ff16600381111561112c5761112c613590565b1461114a5760405163137c9c1f60e31b815260040160405180910390fd5b60008281526101c46020908152604091829020805460ff1916600217905590518381527f8f4352ac8b4aefdd2333162306bbe09dd4f4ff6661e89ccc4e4dcced8794e8f7910160405180910390a15050565b60006111a781611cf0565b506101c355565b600260008381526101c4602052604090205460ff1660038111156111d4576111d4613590565b146111f25760405163137c9c1f60e31b815260040160405180910390fd5b3360009081526101c760209081526040808320600886901c845290915290208054600160ff85161b179055336001600160a01b0316827f710e220a47c8d9e50587c80fe509f5e762149ef672440eff70798204dd70f5eb83604051611257919061357d565b60405180910390a35050565b600061126e81611cf0565b506101c655565b600054610100900460ff16158080156112955750600054600160ff909116105b806112af5750303b1580156112af575060005460ff166001145b6113125760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108f0565b6000805460ff191660011790558015611335576000805461ff0019166101001790555b61134d6040518060200160405280600081525061244c565b61135561247c565b61135d6124a5565b61136561247c565b61136d61247c565b61137561247c565b611380600033611fd9565b6113aa7f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c33611fd9565b6113d47f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a33611fd9565b6113fe7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e333611fd9565b8015610d3c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610a3d565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a61146a81611cf0565b610d3c6124d4565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600260008581526101c4602052604090205460ff1660038111156114c3576114c3613590565b146114e157604051631f0fb6fd60e11b815260040160405180910390fd5b6101c35460008581526101c46020526040902060010154849161150391613e14565b61150d9190613e27565b34101561152d57604051631036b5ad60e31b815260040160405180910390fd5b61153982858584612511565b6101c3546115479084613e27565b6115519034613cec565b60008581526101c4602052604081206002018054909190611573908490613e14565b909155505050505050565b610962338383612636565b60006101c6548611156115af57604051630f0c4c5f60e41b815260040160405180910390fd5b506101c5546040805160c0810190915280600181526020808201899052600060408084018290526001600160a01b038a1660608501526001600160601b038089166080860152871660a0909401939093528481526101c49091522081518154829060ff1916600183600381111561162857611628613590565b02179055506020820151600182015560408201516002820155606082015160808301516001600160a01b03909116600160a01b6001600160601b039283160217600383015560a090920151600490910180546bffffffffffffffffffffffff1916919092161790556101c580549060006116a183613cff565b909155505060408051828152602081018890526001600160601b038416818301526001600160a01b038716606082015290517f2aa47da5461670f8447338efafce9a1c28b72acd7eed3db3876ad9a1b80c7e919181900360800190a195945050505050565b606060006101c5546001600160401b038111156117255761172561342b565b60405190808252806020026020018201604052801561176a57816020015b60408051808201909152600080825260208201528152602001906001900390816117435790505b50905060005b6101c5548110156117ea5760408051808201825260008381526101c4602090815292902060030154600160a01b90046001600160601b031681529081016117b78684610889565b8152508282815181106117cc576117cc613dfe565b602002602001018190525080806117e290613cff565b915050611770565b5092915050565b60008281526097602052604090206001015461180c81611cf0565b610be1838361205f565b60008281526101c460205260409020600301546001600160a01b031633146118515760405163388f811f60e01b815260040160405180910390fd5b60008281526101c4602052604090206002015481111561188457604051637eafab7d60e01b815260040160405180910390fd5b604051600090339083908381818185875af1925050503d80600081146118c6576040519150601f19603f3d011682016040523d82523d6000602084013e6118cb565b606091505b50509050806118ed576040516317f2c34560e31b815260040160405180910390fd5b60008381526101c460205260408120600201805484929061190f908490613cec565b90915550506040805184815260208101849052338183015290517ff1090e9d5138cd4909542e10e1da576730b07eb291a71a151e63160dde345b949181900360600190a1505050565b606060006101c5546001600160401b038111156119775761197761342b565b6040519080825280602002602001820160405280156119d757816020015b6040805160c08101825260008082526020808301829052928201819052606082018190526080820181905260a082015282526000199092019101816119955790505b50905060005b6101c554811015611aad5760008181526101c4602052604090819020815160c081019092528054829060ff166003811115611a1a57611a1a613590565b6003811115611a2b57611a2b613590565b8152600182015460208201526002820154604082015260038201546001600160a01b03811660608301526001600160601b03600160a01b9091048116608083015260049092015490911660a0909101528251839083908110611a8f57611a8f613dfe565b60200260200101819052508080611aa590613cff565b9150506119dd565b50919050565b606060405180606001604052806024815260200161440360249139905090565b6001600160a01b038516331480611aef5750611aef85336107db565b611b0b5760405162461bcd60e51b81526004016108f090613d18565b610bc58585858585612716565b6001600160a01b038316331480611b345750611b3483336107db565b611b505760405162461bcd60e51b81526004016108f090613d18565b610be1838383612852565b3360009081526101c760209081526040808320600885901c84529182905290912054600160ff84161b16611ba25760405163423f327760e11b815260040160405180910390fd5b600882901c6000908152602082905260408082208054600160ff87161b1916905551339184917fc6c1c3224e50c3c958e39197695bdfe8457ce7c0014d8d51a4d3aa12c5ac18489190a35050565b60008181526101c460205260409020600301546001600160a01b0316331480611c1f5750611c1f600033611472565b611c3c5760405163388f811f60e01b815260040160405180910390fd5b600360008281526101c4602052604090205460ff166003811115611c6257611c62613590565b14611c805760405163968807a560e01b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600217905590518281527f63bb17c9645a29322601b4fe88d8f3fa84f32229368294f903084be8f5d813ba9101610a3d565b60006001600160e01b03198216637965db0b60e01b148061091e575061091e8261296e565b610d3c81336129be565b60676109628282613eb8565b606060678054611d1590613e3e565b80601f0160208091040260200160405190810160405280929190818152602001828054611d4190613e3e565b8015611d8e5780601f10611d6357610100808354040283529160200191611d8e565b820191906000526020600020905b815481529060010190602001808311611d7157829003601f168201915b50505050509050919050565b60606000611da783612a17565b60010190506000816001600160401b03811115611dc657611dc661342b565b6040519080825280601f01601f191660200182016040528015611df0576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611dfa57509392505050565b8151835114611e4d5760405162461bcd60e51b81526004016108f090613f77565b6001600160a01b038416611e735760405162461bcd60e51b81526004016108f090613fbf565b33611e82818787878787612aef565b60005b8451811015611f6b576000858281518110611ea257611ea2613dfe565b602002602001015190506000858381518110611ec057611ec0613dfe565b60209081029190910181015160008481526065835260408082206001600160a01b038e168352909352919091205490915081811015611f115760405162461bcd60e51b81526004016108f090614004565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611f50908490613e14565b9250508190555050505080611f6490613cff565b9050611e85565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611fbb92919061404e565b60405180910390a4611fd1818787878787612b05565b505050505050565b611fe38282611472565b6109625760008281526097602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561201b3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6120698282611472565b156109625760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e361096281611cf0565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561212357610be183612c60565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561217d575060408051601f3d908101601f1916820190925261217a9181019061407c565b60015b6121e05760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016108f0565b6000805160206143bc833981519152811461224f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016108f0565b50610be1838383612cfc565b612263612d21565b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0383166122d35760405162461bcd60e51b81526004016108f090614095565b80518251146122f45760405162461bcd60e51b81526004016108f090613f77565b600033905061231781856000868660405180602001604052806000815250612aef565b60005b83518110156123df57600084828151811061233757612337613dfe565b60200260200101519050600084838151811061235557612355613dfe565b60209081029190910181015160008481526065835260408082206001600160a01b038c1683529093529190912054909150818110156123a65760405162461bcd60e51b81526004016108f0906140d8565b60009283526065602090815260408085206001600160a01b038b16865290915290922091039055806123d781613cff565b91505061231a565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb868660405161243092919061404e565b60405180910390a4604080516020810190915260009052610b7a565b600054610100900460ff166124735760405162461bcd60e51b81526004016108f09061411c565b610d3c81612d6a565b600054610100900460ff166124a35760405162461bcd60e51b81526004016108f09061411c565b565b600054610100900460ff166124cc5760405162461bcd60e51b81526004016108f09061411c565b6124a3612d9a565b6124dc612dcd565b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586122903390565b6001600160a01b0384166125715760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b60648201526084016108f0565b33600061257d85612e13565b9050600061258a85612e13565b905061259b83600089858589612aef565b60008681526065602090815260408083206001600160a01b038b168452909152812080548792906125cd908490613e14565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461262d83600089898989612e5e565b50505050505050565b816001600160a01b0316836001600160a01b0316036126a95760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016108f0565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03841661273c5760405162461bcd60e51b81526004016108f090613fbf565b33600061274885612e13565b9050600061275585612e13565b9050612765838989858589612aef565b60008681526065602090815260408083206001600160a01b038c168452909152902054858110156127a85760405162461bcd60e51b81526004016108f090614004565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a168252812080548892906127e7908490613e14565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612847848a8a8a8a8a612e5e565b505050505050505050565b6001600160a01b0383166128785760405162461bcd60e51b81526004016108f090614095565b33600061288484612e13565b9050600061289184612e13565b90506128b183876000858560405180602001604052806000815250612aef565b60008581526065602090815260408083206001600160a01b038a168452909152902054848110156128f45760405162461bcd60e51b81526004016108f0906140d8565b60008681526065602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091526000905261262d565b60006001600160e01b03198216636cdb3d1360e11b148061299f57506001600160e01b031982166303a24d0760e21b145b8061091e57506301ffc9a760e01b6001600160e01b031983161461091e565b6129c88282611472565b610962576129d581612f19565b6129e0836020612f2b565b6040516020016129f1929190614167565b60408051601f198184030181529082905262461bcd60e51b82526108f09160040161357d565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612a565772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612a82576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612aa057662386f26fc10000830492506010015b6305f5e1008310612ab8576305f5e100830492506008015b6127108310612acc57612710830492506004015b60648310612ade576064830492506002015b600a831061091e5760010192915050565b612af7612dcd565b611fd18686868686866130cd565b6001600160a01b0384163b15611fd15760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190612b4990899089908890889088906004016141dc565b6020604051808303816000875af1925050508015612b84575060408051601f3d908101601f19168201909252612b819181019061423a565b60015b612c3057612b90614257565b806308c379a003612bc95750612ba4614272565b80612baf5750612bcb565b8060405162461bcd60e51b81526004016108f0919061357d565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016108f0565b6001600160e01b0319811663bc197c8160e01b1461262d5760405162461bcd60e51b81526004016108f0906142fb565b6001600160a01b0381163b612ccd5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108f0565b6000805160206143bc83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612d0583613249565b600082511180612d125750805b15610be157610b7a8383613289565b60c95460ff166124a35760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016108f0565b600054610100900460ff16612d915760405162461bcd60e51b81526004016108f09061411c565b610d3c81611cfa565b600054610100900460ff16612dc15760405162461bcd60e51b81526004016108f09061411c565b60c9805460ff19169055565b60c95460ff16156124a35760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016108f0565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612e4d57612e4d613dfe565b602090810291909101015292915050565b6001600160a01b0384163b15611fd15760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190612ea29089908990889088908890600401614343565b6020604051808303816000875af1925050508015612edd575060408051601f3d908101601f19168201909252612eda9181019061423a565b60015b612ee957612b90614257565b6001600160e01b0319811663f23a6e6160e01b1461262d5760405162461bcd60e51b81526004016108f0906142fb565b606061091e6001600160a01b03831660145b60606000612f3a836002613e27565b612f45906002613e14565b6001600160401b03811115612f5c57612f5c61342b565b6040519080825280601f01601f191660200182016040528015612f86576020820181803683370190505b509050600360fc1b81600081518110612fa157612fa1613dfe565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612fd057612fd0613dfe565b60200101906001600160f81b031916908160001a9053506000612ff4846002613e27565b612fff906001613e14565b90505b6001811115613077576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061303357613033613dfe565b1a60f81b82828151811061304957613049613dfe565b60200101906001600160f81b031916908160001a90535060049490941c9361307081614388565b9050613002565b5083156130c65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108f0565b9392505050565b6001600160a01b0385166131555760005b8351811015613153578281815181106130f9576130f9613dfe565b602002602001015161012d600086848151811061311857613118613dfe565b60200260200101518152602001908152602001600020600082825461313d9190613e14565b9091555061314c905081613cff565b90506130de565b505b6001600160a01b038416611fd15760005b835181101561262d57600084828151811061318357613183613dfe565b6020026020010151905060008483815181106131a1576131a1613dfe565b60200260200101519050600061012d6000848152602001908152602001600020549050818110156132255760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f74604482015267616c537570706c7960c01b60648201526084016108f0565b600092835261012d60205260409092209103905561324281613cff565b9050613166565b61325281612c60565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606130c683836040518060600160405280602781526020016143dc602791396060600080856001600160a01b0316856040516132c6919061439f565b600060405180830381855af49150503d8060008114613301576040519150601f19603f3d011682016040523d82523d6000602084013e613306565b606091505b509150915061331786838387613321565b9695505050505050565b60608315613390578251600003613389576001600160a01b0385163b6133895760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108f0565b508161339a565b61339a83836133a2565b949350505050565b815115612baf5781518083602001fd5b80356001600160a01b03811681146133c957600080fd5b919050565b600080604083850312156133e157600080fd5b6133ea836133b2565b946020939093013593505050565b6001600160e01b031981168114610d3c57600080fd5b60006020828403121561342057600080fd5b81356130c6816133f8565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156134665761346661342b565b6040525050565b600082601f83011261347e57600080fd5b81356001600160401b038111156134975761349761342b565b6040516134ae601f8301601f191660200182613441565b8181528460208386010111156134c357600080fd5b816020850160208301376000918101602001919091529392505050565b6000602082840312156134f257600080fd5b81356001600160401b0381111561350857600080fd5b61339a8482850161346d565b60006020828403121561352657600080fd5b5035919050565b60005b83811015613548578181015183820152602001613530565b50506000910152565b6000815180845261356981602086016020860161352d565b601f01601f19169290920160200192915050565b6020815260006130c66020830184613551565b634e487b7160e01b600052602160045260246000fd5b600481106135c457634e487b7160e01b600052602160045260246000fd5b9052565b60c081016135d682896135a6565b602082019690965260408101949094526001600160a01b039290921660608401526001600160601b0390811660808401521660a090910152919050565b60006001600160401b0382111561362c5761362c61342b565b5060051b60200190565b600082601f83011261364757600080fd5b8135602061365482613613565b6040516136618282613441565b83815260059390931b850182019282810191508684111561368157600080fd5b8286015b8481101561369c5780358352918301918301613685565b509695505050505050565b600080600080600060a086880312156136bf57600080fd5b6136c8866133b2565b94506136d6602087016133b2565b935060408601356001600160401b03808211156136f257600080fd5b6136fe89838a01613636565b9450606088013591508082111561371457600080fd5b61372089838a01613636565b9350608088013591508082111561373657600080fd5b506137438882890161346d565b9150509295509295909350565b6000806040838503121561376357600080fd5b82359150613773602084016133b2565b90509250929050565b60006020828403121561378e57600080fd5b6130c6826133b2565b80356001600160601b03811681146133c957600080fd5b6000806000606084860312156137c357600080fd5b833592506137d360208501613797565b91506137e160408501613797565b90509250925092565b600080604083850312156137fd57600080fd5b82356001600160401b038082111561381457600080fd5b818501915085601f83011261382857600080fd5b8135602061383582613613565b6040516138428282613441565b83815260059390931b850182019282810191508984111561386257600080fd5b948201945b8386101561388757613878866133b2565b82529482019490820190613867565b9650508601359250508082111561389d57600080fd5b506138aa85828601613636565b9150509250929050565b600081518084526020808501945080840160005b838110156138e4578151875295820195908201906001016138c8565b509495945050505050565b6020815260006130c660208301846138b4565b6000806040838503121561391557600080fd5b61391e836133b2565b915060208301356001600160401b0381111561393957600080fd5b6138aa8582860161346d565b60008060006060848603121561395a57600080fd5b613963846133b2565b925060208401356001600160401b038082111561397f57600080fd5b61398b87838801613636565b935060408601359150808211156139a157600080fd5b506139ae86828701613636565b9150509250925092565b600080604083850312156139cb57600080fd5b8235915060208301356001600160401b0381111561393957600080fd5b600080600080608085870312156139fe57600080fd5b8435935060208501359250613a15604086016133b2565b915060608501356001600160401b03811115613a3057600080fd5b613a3c8782880161346d565b91505092959194509250565b60008060408385031215613a5b57600080fd5b613a64836133b2565b915060208301358015158114613a7957600080fd5b809150509250929050565b600080600080600060a08688031215613a9c57600080fd5b85359450613aac602087016133b2565b9350613aba604087016133b2565b9250613ac860608701613797565b9150613ad660808701613797565b90509295509295909350565b602080825282518282018190526000919060409081850190868401855b82811015613b2d57815180516001600160601b03168552860151868501529284019290850190600101613aff565b5091979650505050505050565b60008060408385031215613b4d57600080fd5b50508035926020909101359150565b602080825282518282018190526000919060409081850190868401855b82811015613b2d578151613b8e8582516135a6565b808701518588015285810151868601526060808201516001600160a01b0316908601526080808201516001600160601b039081169187019190915260a091820151169085015260c09093019290850190600101613b79565b60008060408385031215613bf957600080fd5b613c02836133b2565b9150613773602084016133b2565b600080600080600060a08688031215613c2857600080fd5b613c31866133b2565b9450613c3f602087016133b2565b9350604086013592506060860135915060808601356001600160401b03811115613c6857600080fd5b6137438882890161346d565b600080600060608486031215613c8957600080fd5b613c92846133b2565b95602085013595506040909401359392505050565b60008351613cb981846020880161352d565b835190830190613ccd81836020880161352d565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561091e5761091e613cd6565b600060018201613d1157613d11613cd6565b5060010190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b8082018082111561091e5761091e613cd6565b808202811582820484141761091e5761091e613cd6565b600181811c90821680613e5257607f821691505b602082108103611aad57634e487b7160e01b600052602260045260246000fd5b601f821115610be157600081815260208120601f850160051c81016020861015613e995750805b601f850160051c820191505b81811015611fd157828155600101613ea5565b81516001600160401b03811115613ed157613ed161342b565b613ee581613edf8454613e3e565b84613e72565b602080601f831160018114613f1a5760008415613f025750858301515b600019600386901b1c1916600185901b178555611fd1565b600085815260208120601f198616915b82811015613f4957888601518255948401946001909101908401613f2a565b5085821015613f675787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60408152600061406160408301856138b4565b828103602084015261407381856138b4565b95945050505050565b60006020828403121561408e57600080fd5b5051919050565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161419f81601785016020880161352d565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516141d081602884016020880161352d565b01602801949350505050565b6001600160a01b0386811682528516602082015260a060408201819052600090614208908301866138b4565b828103606084015261421a81866138b4565b9050828103608084015261422e8185613551565b98975050505050505050565b60006020828403121561424c57600080fd5b81516130c6816133f8565b600060033d11156110b55760046000803e5060005160e01c90565b600060443d10156142805790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156142af57505050505090565b82850191508151818111156142c75750505050505090565b843d87010160208285010111156142e15750505050505090565b6142f060208286010187613441565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061437d90830184613551565b979650505050505050565b60008161439757614397613cd6565b506000190190565b600082516143b181846020870161352d565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656468747470733a2f2f72616461726c61756e63682e6170702f6170692f6d65746164617461a26469706673582212209310abdeed455a81df4169c2e3f0b71e54aadc7a0532c0f2bf1ab85bea4afd7364736f6c63430008130033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/cache_hardhat/solidity-files-cache.json b/cache_hardhat/solidity-files-cache.json index 166a538..8c804c2 100644 --- a/cache_hardhat/solidity-files-cache.json +++ b/cache_hardhat/solidity-files-cache.json @@ -2262,8 +2262,8 @@ ] }, "/Users/marcuspang/Desktop/Personal/radar-contracts/src/Editions/Editions.sol": { - "lastModificationDate": 1696085254391, - "contentHash": "584b15af3d3527aee96aa7b582105c35", + "lastModificationDate": 1696285769335, + "contentHash": "1d70e314ba5c37d2b2db253e4687f381", "sourceName": "src/Editions/Editions.sol", "solcConfig": { "version": "0.8.19", @@ -2321,8 +2321,8 @@ ] }, "/Users/marcuspang/Desktop/Personal/radar-contracts/src/Editions/IEditions.sol": { - "lastModificationDate": 1696085254386, - "contentHash": "961adc7b7c3d810ee907d00a45ca80f3", + "lastModificationDate": 1696285733255, + "contentHash": "a3a6938883fa006256630be55cf32a06", "sourceName": "src/Editions/IEditions.sol", "solcConfig": { "version": "0.8.19", @@ -2419,8 +2419,8 @@ ] }, "/Users/marcuspang/Desktop/Personal/radar-contracts/src/Editions/EditionsStructs.sol": { - "lastModificationDate": 1696082989072, - "contentHash": "7b531289837057a3c40437ade3337dfb", + "lastModificationDate": 1696285783536, + "contentHash": "3138bf182ee6db453bf097dc78d53dc4", "sourceName": "src/Editions/EditionsStructs.sol", "solcConfig": { "version": "0.8.19", diff --git a/cache_hardhat/validations.json b/cache_hardhat/validations.json index 611f385..d7d8871 100644 --- a/cache_hardhat/validations.json +++ b/cache_hardhat/validations.json @@ -158,6 +158,6674 @@ }, "solcVersion": "0.8.19" }, + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:11", + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:IERC1822ProxiableUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:10", + "inherit": [], + "libraries": [], + "methods": [ + "proxiableUUID()" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:ERC1967UpgradeUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:19", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol:StorageSlotUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:AddressUpgradeable" + ], + "methods": [], + "linkReferences": [], + "errors": [ + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + }, + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + }, + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + } + ], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol:IBeaconUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol:9", + "inherit": [], + "libraries": [], + "methods": [ + "implementation()" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:58", + "inherit": [], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:AddressUpgradeable" + ], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + } + ], + "types": { + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:UUPSUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:22", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:ERC1967UpgradeUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:IERC1822ProxiableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "proxiableUUID()", + "upgradeTo(address)", + "upgradeToAndCall(address,bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:111" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:PausableUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:18", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "paused()" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_paused", + "offset": 0, + "slot": "51", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:116" + } + ], + "types": { + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:21", + "version": { + "withMetadata": "edcb753dd57442a00102926fc63ae83a9b97bcb6ce645e13e2a1ca05ea67d986", + "withoutMetadata": "52f5fba6fb0bed0f97581f696b77a6aa7a382a7ec20adf954f89c5bd390b00e5", + "linkedWithoutMetadata": "52f5fba6fb0bed0f97581f696b77a6aa7a382a7ec20adf954f89c5bd390b00e5" + }, + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:AddressUpgradeable" + ], + "methods": [ + "supportsInterface(bytes4)", + "uri(uint256)", + "balanceOf(address,uint256)", + "balanceOfBatch(address[],uint256[])", + "setApprovalForAll(address,bool)", + "isApprovedForAll(address,address)", + "safeTransferFrom(address,address,uint256,uint256,bytes)", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155ReceiverUpgradeable.sol:IERC1155ReceiverUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155ReceiverUpgradeable.sol:11", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable" + ], + "libraries": [], + "methods": [ + "onERC1155Received(address,address,uint256,uint256,bytes)", + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:14", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable" + ], + "libraries": [], + "methods": [ + "balanceOf(address,uint256)", + "balanceOfBatch(address[],uint256[])", + "setApprovalForAll(address,bool)", + "isApprovedForAll(address,address)", + "safeTransferFrom(address,address,uint256,uint256,bytes)", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:ERC1155BurnableUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:15", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "burn(address,uint256,uint256)", + "burnBatch(address,uint256[],uint256[])" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "__gap", + "offset": 0, + "slot": "151", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1155BurnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:44" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:ERC1155SupplyUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:17", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "totalSupply(uint256)", + "exists(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:76" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:14", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable" + ], + "libraries": [], + "methods": [ + "uri(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:AddressUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:9", + "version": { + "withMetadata": "15ad4eca408248ad9037eada47f4740bc0339230a12a639cc7f657338bda8df5", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [ + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + }, + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + } + ], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:17", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol:StorageSlotUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol:34", + "version": { + "withMetadata": "814c232ccd1886959fdc61f1151d090d6eb5f47c849aa4d654eccb58f80733a4", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol:StringsUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol:12", + "version": { + "withMetadata": "57c525b677abc35ef0a29d17a276edb550036c9ab9eaf87d76b2cc6bc8ebfee0", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol:MathUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol:SignedMathUpgradeable" + ], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:23", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "supportsInterface(bytes4)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:15", + "inherit": [], + "libraries": [], + "methods": [ + "supportsInterface(bytes4)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol:MathUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol:9", + "version": { + "withMetadata": "3b20a636fdd145f3824263a01d7916cc4b4db4adf482514d43f1051b3a09b434", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol:SignedMathUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol:9", + "version": { + "withMetadata": "1fce107b699edd489c9811ee46ce6f047b2d7be8def5d1655bed0168faa06b27", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts/contracts/utils/Strings.sol:Strings": { + "src": "lib/openzeppelin-contracts/contracts/utils/Strings.sol:12", + "version": { + "withMetadata": "898b2ef030f9983e69c4d4758a49a73f4bb4aa4a25fd398d372a9fe1f50ef642", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [ + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol:Math", + "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol:SignedMath" + ], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol:Math": { + "src": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol:9", + "version": { + "withMetadata": "a89fe7c1d1ca335dc6e267f514c3765f89c55a0917e566ff379d906fdd9b990f", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol:SignedMath": { + "src": "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol:9", + "version": { + "withMetadata": "4d486057055063ce9fc564e30e1fe5273234ba324944b5f686fb39dc337d0faf", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol:BitMaps": { + "src": "lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol:9", + "version": { + "withMetadata": "13e2d37e24fde5239bc9c5228f8feb3bde7dbdd0210134f9c6840abe44b5b0fd", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/Beliefs/IBeliefs.sol:IBeliefs": { + "src": "src/Beliefs/IBeliefs.sol:4", + "inherit": [], + "libraries": [], + "methods": [ + "believeProject(uint256,string)", + "removeBelief(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/Editions/Editions.sol:Editions": { + "src": "src/Editions/Editions.sol:20", + "version": { + "withMetadata": "9c473b44dbdd7064f1a4260c8bd9cf06c1ec932cc8f2ed0c429e7fbfb5ebff60", + "withoutMetadata": "ae9b3d3c5d4251ce58d9336cacc5dcdda01b4af7c4bfa45d5ef76de37a4db441", + "linkedWithoutMetadata": "ae9b3d3c5d4251ce58d9336cacc5dcdda01b4af7c4bfa45d5ef76de37a4db441" + }, + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:UUPSUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:ERC1967UpgradeUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:IERC1822ProxiableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:ERC1155SupplyUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:ERC1155BurnableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:PausableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:AccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable", + "src/Editions/IEditions.sol:IEditions", + "src/Beliefs/IBeliefs.sol:IBeliefs" + ], + "libraries": [ + "src/Editions/EditionsRoles.sol:EditionsRoles", + "src/Editions/EditionsStructs.sol:EditionsStructs", + "lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol:BitMaps" + ], + "methods": [ + "()", + "()", + "()", + "initialize()", + "pause()", + "unpause()", + "getEditions()", + "getBalances(address)", + "grantRole(bytes32,address)", + "approveEdition(uint256)", + "withdrawFunds(uint256)", + "updateEdition(uint256,uint96,uint96)", + "createEdition(uint256,address,address,uint96,uint96)", + "withdrawEditionBalance(uint256,uint256)", + "stopEdition(uint256)", + "resumeEdition(uint256)", + "mintEdition(uint256,uint256,address,bytes)", + "believeProject(uint256,string)", + "removeBelief(uint256)", + "supportsInterface(bytes4)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_paused", + "offset": 0, + "slot": "201", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1155BurnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:44" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "301", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "302", + "type": "t_array(t_uint256)49_storage", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:76" + }, + { + "label": "__gap", + "offset": 0, + "slot": "351", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "401", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "protocolFee", + "offset": 0, + "slot": "451", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:30" + }, + { + "label": "editions", + "offset": 0, + "slot": "452", + "type": "t_mapping(t_uint256,t_struct(Edition)6901_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:32" + }, + { + "label": "editionCounter", + "offset": 0, + "slot": "453", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:34" + }, + { + "label": "maximumEditionFee", + "offset": 0, + "slot": "454", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:36" + }, + { + "label": "_beliefs", + "offset": 0, + "slot": "455", + "type": "t_mapping(t_address,t_struct(BitMap)5840_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:39" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_enum(EditionStatus)6887": { + "label": "enum EditionsStructs.EditionStatus", + "members": [ + "NotCreated", + "Created", + "Launched", + "Stopped" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(BitMap)5840_storage)": { + "label": "mapping(address => struct BitMaps.BitMap)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Edition)6901_storage)": { + "label": "mapping(uint256 => struct EditionsStructs.Edition)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(BitMap)5840_storage": { + "label": "struct BitMaps.BitMap", + "members": [ + { + "label": "_data", + "type": "t_mapping(t_uint256,t_uint256)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Edition)6901_storage": { + "label": "struct EditionsStructs.Edition", + "members": [ + { + "label": "status", + "type": "t_enum(EditionStatus)6887", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "balance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "owner", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "id", + "type": "t_uint96", + "offset": 20, + "slot": "3" + }, + { + "label": "briefId", + "type": "t_uint96", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(RoleData)34_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + }, + "t_uint96": { + "label": "uint96", + "numberOfBytes": "12" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "src/Editions/EditionsRoles.sol:EditionsRoles": { + "src": "src/Editions/EditionsRoles.sol:4", + "version": { + "withMetadata": "003f83d928b71da5d46b4b6c8eeb0e59585bb0eba3ccca7fc37399fa03dedcf8", + "withoutMetadata": "9b1e3f717c60303bcfb97dbda55ced75265794726ef5635f998788385ce65799", + "linkedWithoutMetadata": "9b1e3f717c60303bcfb97dbda55ced75265794726ef5635f998788385ce65799" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/Editions/EditionsStructs.sol:EditionsStructs": { + "src": "src/Editions/EditionsStructs.sol:15", + "version": { + "withMetadata": "f4847565ebb4c172c624039a4862a86b9701ec8a3e7391552b31c1b03a91750e", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/Editions/IEditions.sol:IEditions": { + "src": "src/Editions/IEditions.sol:8", + "inherit": [ + "src/Beliefs/IBeliefs.sol:IBeliefs" + ], + "libraries": [], + "methods": [ + "getEditions()", + "getBalances(address)", + "approveEdition(uint256)", + "withdrawFunds(uint256)", + "updateEdition(uint256,uint96,uint96)", + "createEdition(uint256,address,address,uint96,uint96)", + "withdrawEditionBalance(uint256,uint256)", + "stopEdition(uint256)", + "resumeEdition(uint256)", + "mintEdition(uint256,uint256,address,bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/IRadarEditions.sol:IRadarEditions": { + "src": "src/IRadarEditions.sol:8", + "inherit": [ + "src/Editions/IEditions.sol:IEditions", + "src/Beliefs/IBeliefs.sol:IBeliefs" + ], + "libraries": [], + "methods": [ + "setURI(string)", + "setProtocolFee(uint256)", + "setMaximumEditionFee(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/RadarEditions.sol:RadarEditions": { + "src": "src/RadarEditions.sol:11", + "version": { + "withMetadata": "56c14a494fa09aed42cf79a88b4e2d34e46909a1ebd89977a0773da6b40f53a0", + "withoutMetadata": "328d7e190d37a627d1c0296701815e48e3bcae33244ac5eb10581adbd2e20138", + "linkedWithoutMetadata": "328d7e190d37a627d1c0296701815e48e3bcae33244ac5eb10581adbd2e20138" + }, + "inherit": [ + "src/IRadarEditions.sol:IRadarEditions", + "src/Editions/Editions.sol:Editions", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:UUPSUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:ERC1967UpgradeUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:IERC1822ProxiableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:ERC1155SupplyUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:ERC1155BurnableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:PausableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:AccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable", + "src/Editions/IEditions.sol:IEditions", + "src/Beliefs/IBeliefs.sol:IBeliefs" + ], + "libraries": [ + "lib/openzeppelin-contracts/contracts/utils/Strings.sol:Strings", + "src/Editions/EditionsRoles.sol:EditionsRoles" + ], + "methods": [ + "contractURI()", + "uri(uint256)", + "setURI(string)", + "setProtocolFee(uint256)", + "setMaximumEditionFee(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_paused", + "offset": 0, + "slot": "201", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1155BurnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:44" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "301", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "302", + "type": "t_array(t_uint256)49_storage", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:76" + }, + { + "label": "__gap", + "offset": 0, + "slot": "351", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "401", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "protocolFee", + "offset": 0, + "slot": "451", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:30" + }, + { + "label": "editions", + "offset": 0, + "slot": "452", + "type": "t_mapping(t_uint256,t_struct(Edition)6901_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:32" + }, + { + "label": "editionCounter", + "offset": 0, + "slot": "453", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:34" + }, + { + "label": "maximumEditionFee", + "offset": 0, + "slot": "454", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:36" + }, + { + "label": "_beliefs", + "offset": 0, + "slot": "455", + "type": "t_mapping(t_address,t_struct(BitMap)5840_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:39" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_enum(EditionStatus)6887": { + "label": "enum EditionsStructs.EditionStatus", + "members": [ + "NotCreated", + "Created", + "Launched", + "Stopped" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(BitMap)5840_storage)": { + "label": "mapping(address => struct BitMaps.BitMap)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Edition)6901_storage)": { + "label": "mapping(uint256 => struct EditionsStructs.Edition)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(BitMap)5840_storage": { + "label": "struct BitMaps.BitMap", + "members": [ + { + "label": "_data", + "type": "t_mapping(t_uint256,t_uint256)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Edition)6901_storage": { + "label": "struct EditionsStructs.Edition", + "members": [ + { + "label": "status", + "type": "t_enum(EditionStatus)6887", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "balance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "owner", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "id", + "type": "t_uint96", + "offset": 20, + "slot": "3" + }, + { + "label": "briefId", + "type": "t_uint96", + "offset": 0, + "slot": "4" + } + ], + "numberOfBytes": "160" + }, + "t_struct(RoleData)34_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + }, + "t_uint96": { + "label": "uint96", + "numberOfBytes": "12" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + } + }, + { + "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:AccessControlUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:51", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol:StringsUpgradeable" + ], + "methods": [ + "supportsInterface(bytes4)", + "hasRole(bytes32,address)", + "getRoleAdmin(bytes32)", + "grantRole(bytes32,address)", + "revokeRole(bytes32,address)", + "renounceRole(bytes32,address)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:260" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(RoleData)34_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:9", + "inherit": [], + "libraries": [], + "methods": [ + "hasRole(bytes32,address)", + "getRoleAdmin(bytes32)", + "grantRole(bytes32,address)", + "revokeRole(bytes32,address)", + "renounceRole(bytes32,address)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:11", + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:IERC1822ProxiableUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:10", + "inherit": [], + "libraries": [], + "methods": [ + "proxiableUUID()" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:ERC1967UpgradeUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:19", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol:StorageSlotUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:AddressUpgradeable" + ], + "methods": [], + "linkReferences": [], + "errors": [ + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + }, + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + }, + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + } + ], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol:IBeaconUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol:9", + "inherit": [], + "libraries": [], + "methods": [ + "implementation()" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:58", + "inherit": [], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:AddressUpgradeable" + ], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + } + ], + "types": { + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:UUPSUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:22", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:ERC1967UpgradeUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:IERC1822ProxiableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "proxiableUUID()", + "upgradeTo(address)", + "upgradeToAndCall(address,bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:111" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:PausableUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:18", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "paused()" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_paused", + "offset": 0, + "slot": "51", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:116" + } + ], + "types": { + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:21", + "version": { + "withMetadata": "edcb753dd57442a00102926fc63ae83a9b97bcb6ce645e13e2a1ca05ea67d986", + "withoutMetadata": "52f5fba6fb0bed0f97581f696b77a6aa7a382a7ec20adf954f89c5bd390b00e5", + "linkedWithoutMetadata": "52f5fba6fb0bed0f97581f696b77a6aa7a382a7ec20adf954f89c5bd390b00e5" + }, + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:AddressUpgradeable" + ], + "methods": [ + "supportsInterface(bytes4)", + "uri(uint256)", + "balanceOf(address,uint256)", + "balanceOfBatch(address[],uint256[])", + "setApprovalForAll(address,bool)", + "isApprovedForAll(address,address)", + "safeTransferFrom(address,address,uint256,uint256,bytes)", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155ReceiverUpgradeable.sol:IERC1155ReceiverUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155ReceiverUpgradeable.sol:11", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable" + ], + "libraries": [], + "methods": [ + "onERC1155Received(address,address,uint256,uint256,bytes)", + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:14", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable" + ], + "libraries": [], + "methods": [ + "balanceOf(address,uint256)", + "balanceOfBatch(address[],uint256[])", + "setApprovalForAll(address,bool)", + "isApprovedForAll(address,address)", + "safeTransferFrom(address,address,uint256,uint256,bytes)", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:ERC1155BurnableUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:15", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "burn(address,uint256,uint256)", + "burnBatch(address,uint256[],uint256[])" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "__gap", + "offset": 0, + "slot": "151", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1155BurnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:44" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:ERC1155SupplyUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:17", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "totalSupply(uint256)", + "exists(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:76" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:14", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable" + ], + "libraries": [], + "methods": [ + "uri(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:AddressUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:9", + "version": { + "withMetadata": "15ad4eca408248ad9037eada47f4740bc0339230a12a639cc7f657338bda8df5", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [ + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + }, + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + } + ], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:17", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol:StorageSlotUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol:34", + "version": { + "withMetadata": "814c232ccd1886959fdc61f1151d090d6eb5f47c849aa4d654eccb58f80733a4", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol:StringsUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol:12", + "version": { + "withMetadata": "57c525b677abc35ef0a29d17a276edb550036c9ab9eaf87d76b2cc6bc8ebfee0", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol:MathUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol:SignedMathUpgradeable" + ], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:23", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "supportsInterface(bytes4)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:15", + "inherit": [], + "libraries": [], + "methods": [ + "supportsInterface(bytes4)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol:MathUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol:9", + "version": { + "withMetadata": "3b20a636fdd145f3824263a01d7916cc4b4db4adf482514d43f1051b3a09b434", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol:SignedMathUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol:9", + "version": { + "withMetadata": "1fce107b699edd489c9811ee46ce6f047b2d7be8def5d1655bed0168faa06b27", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts/contracts/utils/Strings.sol:Strings": { + "src": "lib/openzeppelin-contracts/contracts/utils/Strings.sol:12", + "version": { + "withMetadata": "898b2ef030f9983e69c4d4758a49a73f4bb4aa4a25fd398d372a9fe1f50ef642", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [ + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol:Math", + "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol:SignedMath" + ], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol:Math": { + "src": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol:9", + "version": { + "withMetadata": "a89fe7c1d1ca335dc6e267f514c3765f89c55a0917e566ff379d906fdd9b990f", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol:SignedMath": { + "src": "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol:9", + "version": { + "withMetadata": "4d486057055063ce9fc564e30e1fe5273234ba324944b5f686fb39dc337d0faf", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol:BitMaps": { + "src": "lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol:9", + "version": { + "withMetadata": "13e2d37e24fde5239bc9c5228f8feb3bde7dbdd0210134f9c6840abe44b5b0fd", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/Beliefs/IBeliefs.sol:IBeliefs": { + "src": "src/Beliefs/IBeliefs.sol:4", + "inherit": [], + "libraries": [], + "methods": [ + "believeProject(uint256,string)", + "removeBelief(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/Editions/Editions.sol:Editions": { + "src": "src/Editions/Editions.sol:20", + "version": { + "withMetadata": "8c01d5185107df460389839348a0933133f6e670347723414afa33e1cf6b5383", + "withoutMetadata": "903ff9d061d9525aaf68877f52eb8333354d072810f3615c00cfde94eb43befa", + "linkedWithoutMetadata": "903ff9d061d9525aaf68877f52eb8333354d072810f3615c00cfde94eb43befa" + }, + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:UUPSUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:ERC1967UpgradeUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:IERC1822ProxiableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:ERC1155SupplyUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:ERC1155BurnableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:PausableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:AccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable", + "src/Editions/IEditions.sol:IEditions", + "src/Beliefs/IBeliefs.sol:IBeliefs" + ], + "libraries": [ + "src/Editions/EditionsRoles.sol:EditionsRoles", + "src/Editions/EditionsStructs.sol:EditionsStructs", + "lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol:BitMaps" + ], + "methods": [ + "()", + "()", + "()", + "initialize()", + "pause()", + "unpause()", + "getEditions()", + "getBalances(address)", + "grantRole(bytes32,address)", + "approveEdition(uint256)", + "withdrawFunds(uint256)", + "updateEdition(uint256,string,string)", + "createEdition(uint256,address,address,string,string)", + "withdrawEditionBalance(uint256,uint256)", + "stopEdition(uint256)", + "resumeEdition(uint256)", + "mintEdition(uint256,uint256,address,bytes)", + "believeProject(uint256,string)", + "removeBelief(uint256)", + "supportsInterface(bytes4)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_paused", + "offset": 0, + "slot": "201", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1155BurnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:44" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "301", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "302", + "type": "t_array(t_uint256)49_storage", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:76" + }, + { + "label": "__gap", + "offset": 0, + "slot": "351", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "401", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "protocolFee", + "offset": 0, + "slot": "451", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:30" + }, + { + "label": "editions", + "offset": 0, + "slot": "452", + "type": "t_mapping(t_uint256,t_struct(Edition)6901_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:32" + }, + { + "label": "editionCounter", + "offset": 0, + "slot": "453", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:34" + }, + { + "label": "maximumEditionFee", + "offset": 0, + "slot": "454", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:36" + }, + { + "label": "_beliefs", + "offset": 0, + "slot": "455", + "type": "t_mapping(t_address,t_struct(BitMap)5840_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:39" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_enum(EditionStatus)6887": { + "label": "enum EditionsStructs.EditionStatus", + "members": [ + "NotCreated", + "Created", + "Launched", + "Stopped" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(BitMap)5840_storage)": { + "label": "mapping(address => struct BitMaps.BitMap)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Edition)6901_storage)": { + "label": "mapping(uint256 => struct EditionsStructs.Edition)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(BitMap)5840_storage": { + "label": "struct BitMaps.BitMap", + "members": [ + { + "label": "_data", + "type": "t_mapping(t_uint256,t_uint256)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Edition)6901_storage": { + "label": "struct EditionsStructs.Edition", + "members": [ + { + "label": "status", + "type": "t_enum(EditionStatus)6887", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "balance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "owner", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "id", + "type": "t_string_storage", + "offset": 0, + "slot": "4" + }, + { + "label": "briefId", + "type": "t_string_storage", + "offset": 0, + "slot": "5" + } + ], + "numberOfBytes": "192" + }, + "t_struct(RoleData)34_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "src/Editions/EditionsRoles.sol:EditionsRoles": { + "src": "src/Editions/EditionsRoles.sol:4", + "version": { + "withMetadata": "003f83d928b71da5d46b4b6c8eeb0e59585bb0eba3ccca7fc37399fa03dedcf8", + "withoutMetadata": "9b1e3f717c60303bcfb97dbda55ced75265794726ef5635f998788385ce65799", + "linkedWithoutMetadata": "9b1e3f717c60303bcfb97dbda55ced75265794726ef5635f998788385ce65799" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/Editions/EditionsStructs.sol:EditionsStructs": { + "src": "src/Editions/EditionsStructs.sol:15", + "version": { + "withMetadata": "deec5aedb692a4a22e41531d1d96043c93b8b681bbae7110d4e842651ef28f84", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/Editions/IEditions.sol:IEditions": { + "src": "src/Editions/IEditions.sol:8", + "inherit": [ + "src/Beliefs/IBeliefs.sol:IBeliefs" + ], + "libraries": [], + "methods": [ + "getEditions()", + "getBalances(address)", + "approveEdition(uint256)", + "withdrawFunds(uint256)", + "updateEdition(uint256,string,string)", + "createEdition(uint256,address,address,string,string)", + "withdrawEditionBalance(uint256,uint256)", + "stopEdition(uint256)", + "resumeEdition(uint256)", + "mintEdition(uint256,uint256,address,bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/IRadarEditions.sol:IRadarEditions": { + "src": "src/IRadarEditions.sol:8", + "inherit": [ + "src/Editions/IEditions.sol:IEditions", + "src/Beliefs/IBeliefs.sol:IBeliefs" + ], + "libraries": [], + "methods": [ + "setURI(string)", + "setProtocolFee(uint256)", + "setMaximumEditionFee(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/RadarEditions.sol:RadarEditions": { + "src": "src/RadarEditions.sol:11", + "version": { + "withMetadata": "8a12465a7e51a8c6c728413278359ef33be08ce506edcad5722c5bca850ae57d", + "withoutMetadata": "21bf96314b6ddfa5e83052172ac9ef3c98436bcf6ee5fdc1e524dd42440a0987", + "linkedWithoutMetadata": "21bf96314b6ddfa5e83052172ac9ef3c98436bcf6ee5fdc1e524dd42440a0987" + }, + "inherit": [ + "src/IRadarEditions.sol:IRadarEditions", + "src/Editions/Editions.sol:Editions", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:UUPSUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:ERC1967UpgradeUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:IERC1822ProxiableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:ERC1155SupplyUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:ERC1155BurnableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:PausableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:AccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable", + "src/Editions/IEditions.sol:IEditions", + "src/Beliefs/IBeliefs.sol:IBeliefs" + ], + "libraries": [ + "lib/openzeppelin-contracts/contracts/utils/Strings.sol:Strings", + "src/Editions/EditionsRoles.sol:EditionsRoles" + ], + "methods": [ + "contractURI()", + "uri(uint256)", + "setURI(string)", + "setProtocolFee(uint256)", + "setMaximumEditionFee(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_paused", + "offset": 0, + "slot": "201", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1155BurnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:44" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "301", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "302", + "type": "t_array(t_uint256)49_storage", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:76" + }, + { + "label": "__gap", + "offset": 0, + "slot": "351", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "401", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "protocolFee", + "offset": 0, + "slot": "451", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:30" + }, + { + "label": "editions", + "offset": 0, + "slot": "452", + "type": "t_mapping(t_uint256,t_struct(Edition)6901_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:32" + }, + { + "label": "editionCounter", + "offset": 0, + "slot": "453", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:34" + }, + { + "label": "maximumEditionFee", + "offset": 0, + "slot": "454", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:36" + }, + { + "label": "_beliefs", + "offset": 0, + "slot": "455", + "type": "t_mapping(t_address,t_struct(BitMap)5840_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:39" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_enum(EditionStatus)6887": { + "label": "enum EditionsStructs.EditionStatus", + "members": [ + "NotCreated", + "Created", + "Launched", + "Stopped" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(BitMap)5840_storage)": { + "label": "mapping(address => struct BitMaps.BitMap)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Edition)6901_storage)": { + "label": "mapping(uint256 => struct EditionsStructs.Edition)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(BitMap)5840_storage": { + "label": "struct BitMaps.BitMap", + "members": [ + { + "label": "_data", + "type": "t_mapping(t_uint256,t_uint256)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Edition)6901_storage": { + "label": "struct EditionsStructs.Edition", + "members": [ + { + "label": "status", + "type": "t_enum(EditionStatus)6887", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "balance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "owner", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "id", + "type": "t_string_storage", + "offset": 0, + "slot": "4" + }, + { + "label": "briefId", + "type": "t_string_storage", + "offset": 0, + "slot": "5" + } + ], + "numberOfBytes": "192" + }, + "t_struct(RoleData)34_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + } + }, + { + "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:AccessControlUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:51", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol:StringsUpgradeable" + ], + "methods": [ + "supportsInterface(bytes4)", + "hasRole(bytes32,address)", + "getRoleAdmin(bytes32)", + "grantRole(bytes32,address)", + "revokeRole(bytes32,address)", + "renounceRole(bytes32,address)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:260" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(RoleData)34_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:9", + "inherit": [], + "libraries": [], + "methods": [ + "hasRole(bytes32,address)", + "getRoleAdmin(bytes32)", + "grantRole(bytes32,address)", + "revokeRole(bytes32,address)", + "renounceRole(bytes32,address)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:11", + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:IERC1822ProxiableUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:10", + "inherit": [], + "libraries": [], + "methods": [ + "proxiableUUID()" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:ERC1967UpgradeUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:19", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol:StorageSlotUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:AddressUpgradeable" + ], + "methods": [], + "linkReferences": [], + "errors": [ + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + }, + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + }, + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + } + ], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol:IBeaconUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol:9", + "inherit": [], + "libraries": [], + "methods": [ + "implementation()" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:58", + "inherit": [], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:AddressUpgradeable" + ], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + } + ], + "types": { + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:UUPSUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:22", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:ERC1967UpgradeUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:IERC1822ProxiableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "proxiableUUID()", + "upgradeTo(address)", + "upgradeToAndCall(address,bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:111" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:PausableUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:18", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "paused()" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_paused", + "offset": 0, + "slot": "51", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:116" + } + ], + "types": { + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:21", + "version": { + "withMetadata": "edcb753dd57442a00102926fc63ae83a9b97bcb6ce645e13e2a1ca05ea67d986", + "withoutMetadata": "52f5fba6fb0bed0f97581f696b77a6aa7a382a7ec20adf954f89c5bd390b00e5", + "linkedWithoutMetadata": "52f5fba6fb0bed0f97581f696b77a6aa7a382a7ec20adf954f89c5bd390b00e5" + }, + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:AddressUpgradeable" + ], + "methods": [ + "supportsInterface(bytes4)", + "uri(uint256)", + "balanceOf(address,uint256)", + "balanceOfBatch(address[],uint256[])", + "setApprovalForAll(address,bool)", + "isApprovedForAll(address,address)", + "safeTransferFrom(address,address,uint256,uint256,bytes)", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155ReceiverUpgradeable.sol:IERC1155ReceiverUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155ReceiverUpgradeable.sol:11", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable" + ], + "libraries": [], + "methods": [ + "onERC1155Received(address,address,uint256,uint256,bytes)", + "onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:14", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable" + ], + "libraries": [], + "methods": [ + "balanceOf(address,uint256)", + "balanceOfBatch(address[],uint256[])", + "setApprovalForAll(address,bool)", + "isApprovedForAll(address,address)", + "safeTransferFrom(address,address,uint256,uint256,bytes)", + "safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:ERC1155BurnableUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:15", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "burn(address,uint256,uint256)", + "burnBatch(address,uint256[],uint256[])" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "__gap", + "offset": 0, + "slot": "151", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1155BurnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:44" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:ERC1155SupplyUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:17", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "totalSupply(uint256)", + "exists(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:76" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:14", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable" + ], + "libraries": [], + "methods": [ + "uri(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:AddressUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:9", + "version": { + "withMetadata": "15ad4eca408248ad9037eada47f4740bc0339230a12a639cc7f657338bda8df5", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [ + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + }, + { + "kind": "delegatecall", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol:185" + } + ], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:17", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol:StorageSlotUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol:34", + "version": { + "withMetadata": "814c232ccd1886959fdc61f1151d090d6eb5f47c849aa4d654eccb58f80733a4", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol:StringsUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol:12", + "version": { + "withMetadata": "57c525b677abc35ef0a29d17a276edb550036c9ab9eaf87d76b2cc6bc8ebfee0", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol:MathUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol:SignedMathUpgradeable" + ], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:23", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [], + "methods": [ + "supportsInterface(bytes4)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:15", + "inherit": [], + "libraries": [], + "methods": [ + "supportsInterface(bytes4)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol:MathUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/MathUpgradeable.sol:9", + "version": { + "withMetadata": "3b20a636fdd145f3824263a01d7916cc4b4db4adf482514d43f1051b3a09b434", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol:SignedMathUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/math/SignedMathUpgradeable.sol:9", + "version": { + "withMetadata": "1fce107b699edd489c9811ee46ce6f047b2d7be8def5d1655bed0168faa06b27", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts/contracts/utils/Strings.sol:Strings": { + "src": "lib/openzeppelin-contracts/contracts/utils/Strings.sol:12", + "version": { + "withMetadata": "898b2ef030f9983e69c4d4758a49a73f4bb4aa4a25fd398d372a9fe1f50ef642", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [ + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol:Math", + "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol:SignedMath" + ], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts/contracts/utils/math/Math.sol:Math": { + "src": "lib/openzeppelin-contracts/contracts/utils/math/Math.sol:9", + "version": { + "withMetadata": "a89fe7c1d1ca335dc6e267f514c3765f89c55a0917e566ff379d906fdd9b990f", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol:SignedMath": { + "src": "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol:9", + "version": { + "withMetadata": "4d486057055063ce9fc564e30e1fe5273234ba324944b5f686fb39dc337d0faf", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol:BitMaps": { + "src": "lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol:9", + "version": { + "withMetadata": "13e2d37e24fde5239bc9c5228f8feb3bde7dbdd0210134f9c6840abe44b5b0fd", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/Beliefs/IBeliefs.sol:IBeliefs": { + "src": "src/Beliefs/IBeliefs.sol:4", + "inherit": [], + "libraries": [], + "methods": [ + "believeProject(uint256,string)", + "removeBelief(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/Editions/Editions.sol:Editions": { + "src": "src/Editions/Editions.sol:20", + "version": { + "withMetadata": "eb5aaf9b6eb73537933c77aa670e78e790dcb542565380bc7bbf5b13842f8114", + "withoutMetadata": "0d741745f56daa88b67c25d17109a016087e49397153a5c4313dbe1339b9ea63", + "linkedWithoutMetadata": "0d741745f56daa88b67c25d17109a016087e49397153a5c4313dbe1339b9ea63" + }, + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:UUPSUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:ERC1967UpgradeUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:IERC1822ProxiableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:ERC1155SupplyUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:ERC1155BurnableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:PausableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:AccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable", + "src/Editions/IEditions.sol:IEditions", + "src/Beliefs/IBeliefs.sol:IBeliefs" + ], + "libraries": [ + "src/Editions/EditionsRoles.sol:EditionsRoles", + "src/Editions/EditionsStructs.sol:EditionsStructs", + "lib/openzeppelin-contracts/contracts/utils/structs/BitMaps.sol:BitMaps" + ], + "methods": [ + "()", + "()", + "()", + "initialize()", + "pause()", + "unpause()", + "getEditions()", + "getBalances(address)", + "grantRole(bytes32,address)", + "approveEdition(uint256)", + "withdrawFunds(uint256)", + "updateEdition(uint256,string,string)", + "createEdition(uint256,address,address,string,string)", + "withdrawEditionBalance(uint256,uint256)", + "stopEdition(uint256)", + "resumeEdition(uint256)", + "mintEdition(uint256,uint256,address,bytes)", + "believeProject(uint256,string)", + "removeBelief(uint256)", + "supportsInterface(bytes4)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_paused", + "offset": 0, + "slot": "201", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1155BurnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:44" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "301", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "302", + "type": "t_array(t_uint256)49_storage", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:76" + }, + { + "label": "__gap", + "offset": 0, + "slot": "351", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "401", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "protocolFee", + "offset": 0, + "slot": "451", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:30" + }, + { + "label": "editions", + "offset": 0, + "slot": "452", + "type": "t_mapping(t_uint256,t_struct(Edition)6901_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:32" + }, + { + "label": "editionCounter", + "offset": 0, + "slot": "453", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:34" + }, + { + "label": "maximumEditionFee", + "offset": 0, + "slot": "454", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:36" + }, + { + "label": "_beliefs", + "offset": 0, + "slot": "455", + "type": "t_mapping(t_address,t_struct(BitMap)5840_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:39" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_enum(EditionStatus)6887": { + "label": "enum EditionsStructs.EditionStatus", + "members": [ + "NotCreated", + "Created", + "Launched", + "Stopped" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(BitMap)5840_storage)": { + "label": "mapping(address => struct BitMaps.BitMap)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Edition)6901_storage)": { + "label": "mapping(uint256 => struct EditionsStructs.Edition)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(BitMap)5840_storage": { + "label": "struct BitMaps.BitMap", + "members": [ + { + "label": "_data", + "type": "t_mapping(t_uint256,t_uint256)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Edition)6901_storage": { + "label": "struct EditionsStructs.Edition", + "members": [ + { + "label": "status", + "type": "t_enum(EditionStatus)6887", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "balance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "owner", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "id", + "type": "t_string_storage", + "offset": 0, + "slot": "4" + }, + { + "label": "briefId", + "type": "t_string_storage", + "offset": 0, + "slot": "5" + } + ], + "numberOfBytes": "192" + }, + "t_struct(RoleData)34_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "src/Editions/EditionsRoles.sol:EditionsRoles": { + "src": "src/Editions/EditionsRoles.sol:4", + "version": { + "withMetadata": "003f83d928b71da5d46b4b6c8eeb0e59585bb0eba3ccca7fc37399fa03dedcf8", + "withoutMetadata": "9b1e3f717c60303bcfb97dbda55ced75265794726ef5635f998788385ce65799", + "linkedWithoutMetadata": "9b1e3f717c60303bcfb97dbda55ced75265794726ef5635f998788385ce65799" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/Editions/EditionsStructs.sol:EditionsStructs": { + "src": "src/Editions/EditionsStructs.sol:15", + "version": { + "withMetadata": "deec5aedb692a4a22e41531d1d96043c93b8b681bbae7110d4e842651ef28f84", + "withoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db", + "linkedWithoutMetadata": "a64c6cf9c6ba9368f5132c93a0196b3204a7963dbb4dd05dfddb4ab23126b8db" + }, + "inherit": [], + "libraries": [], + "methods": [], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/Editions/IEditions.sol:IEditions": { + "src": "src/Editions/IEditions.sol:8", + "inherit": [ + "src/Beliefs/IBeliefs.sol:IBeliefs" + ], + "libraries": [], + "methods": [ + "getEditions()", + "getBalances(address)", + "approveEdition(uint256)", + "withdrawFunds(uint256)", + "updateEdition(uint256,string,string)", + "createEdition(uint256,address,address,string,string)", + "withdrawEditionBalance(uint256,uint256)", + "stopEdition(uint256)", + "resumeEdition(uint256)", + "mintEdition(uint256,uint256,address,bytes)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/IRadarEditions.sol:IRadarEditions": { + "src": "src/IRadarEditions.sol:8", + "inherit": [ + "src/Editions/IEditions.sol:IEditions", + "src/Beliefs/IBeliefs.sol:IBeliefs" + ], + "libraries": [], + "methods": [ + "setURI(string)", + "setProtocolFee(uint256)", + "setMaximumEditionFee(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, + "src/RadarEditions.sol:RadarEditions": { + "src": "src/RadarEditions.sol:11", + "version": { + "withMetadata": "e9aae423fbcbf9f4a25139fb09de7ff1805219364df7a218e8f532f54720c808", + "withoutMetadata": "d0063d348f6bb93e5cdd63a320df2e422b0af15cc073489dde39ef0b3d848e38", + "linkedWithoutMetadata": "d0063d348f6bb93e5cdd63a320df2e422b0af15cc073489dde39ef0b3d848e38" + }, + "inherit": [ + "src/IRadarEditions.sol:IRadarEditions", + "src/Editions/Editions.sol:Editions", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:UUPSUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:ERC1967UpgradeUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol:IERC1967Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol:IERC1822ProxiableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:ERC1155SupplyUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:ERC1155BurnableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:PausableUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:AccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:ERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable.sol:IERC1155MetadataURIUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable.sol:IERC1155Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable", + "src/Editions/IEditions.sol:IEditions", + "src/Beliefs/IBeliefs.sol:IBeliefs" + ], + "libraries": [ + "lib/openzeppelin-contracts/contracts/utils/Strings.sol:Strings", + "src/Editions/EditionsRoles.sol:EditionsRoles" + ], + "methods": [ + "contractURI()", + "uri(uint256)", + "setURI(string)", + "setProtocolFee(uint256)", + "setMaximumEditionFee(uint256)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "102", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "103", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "104", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable.sol:508" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:260" + }, + { + "label": "_paused", + "offset": 0, + "slot": "201", + "type": "t_bool", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:29" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "PausableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable.sol:116" + }, + { + "label": "__gap", + "offset": 0, + "slot": "251", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1155BurnableUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol:44" + }, + { + "label": "_totalSupply", + "offset": 0, + "slot": "301", + "type": "t_mapping(t_uint256,t_uint256)", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:23" + }, + { + "label": "__gap", + "offset": 0, + "slot": "302", + "type": "t_array(t_uint256)49_storage", + "contract": "ERC1155SupplyUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable.sol:76" + }, + { + "label": "__gap", + "offset": 0, + "slot": "351", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC1967UpgradeUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol:169" + }, + { + "label": "__gap", + "offset": 0, + "slot": "401", + "type": "t_array(t_uint256)50_storage", + "contract": "UUPSUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol:111" + }, + { + "label": "protocolFee", + "offset": 0, + "slot": "451", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:30" + }, + { + "label": "editions", + "offset": 0, + "slot": "452", + "type": "t_mapping(t_uint256,t_struct(Edition)6901_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:32" + }, + { + "label": "editionCounter", + "offset": 0, + "slot": "453", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:34" + }, + { + "label": "maximumEditionFee", + "offset": 0, + "slot": "454", + "type": "t_uint256", + "contract": "Editions", + "src": "src/Editions/Editions.sol:36" + }, + { + "label": "_beliefs", + "offset": 0, + "slot": "455", + "type": "t_mapping(t_address,t_struct(BitMap)5840_storage)", + "contract": "Editions", + "src": "src/Editions/Editions.sol:39" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_enum(EditionStatus)6887": { + "label": "enum EditionsStructs.EditionStatus", + "members": [ + "NotCreated", + "Created", + "Launched", + "Stopped" + ], + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_struct(BitMap)5840_storage)": { + "label": "mapping(address => struct BitMaps.BitMap)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(Edition)6901_storage)": { + "label": "mapping(uint256 => struct EditionsStructs.Edition)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_uint256)": { + "label": "mapping(uint256 => uint256)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(BitMap)5840_storage": { + "label": "struct BitMaps.BitMap", + "members": [ + { + "label": "_data", + "type": "t_mapping(t_uint256,t_uint256)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Edition)6901_storage": { + "label": "struct EditionsStructs.Edition", + "members": [ + { + "label": "status", + "type": "t_enum(EditionStatus)6887", + "offset": 0, + "slot": "0" + }, + { + "label": "fee", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "balance", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "owner", + "type": "t_address", + "offset": 0, + "slot": "3" + }, + { + "label": "id", + "type": "t_string_storage", + "offset": 0, + "slot": "4" + }, + { + "label": "briefId", + "type": "t_string_storage", + "offset": 0, + "slot": "5" + } + ], + "numberOfBytes": "192" + }, + "t_struct(RoleData)34_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + } + }, + { + "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:AccessControlUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:51", + "inherit": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:ERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable.sol:IERC165Upgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:ContextUpgradeable", + "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:Initializable" + ], + "libraries": [ + "lib/openzeppelin-contracts-upgradeable/contracts/utils/StringsUpgradeable.sol:StringsUpgradeable" + ], + "methods": [ + "supportsInterface(bytes4)", + "hasRole(bytes32,address)", + "getRoleAdmin(bytes32)", + "grantRole(bytes32,address)", + "revokeRole(bytes32,address)", + "renounceRole(bytes32,address)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:63", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol:68" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol:36" + }, + { + "label": "__gap", + "offset": 0, + "slot": "51", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "101", + "type": "t_mapping(t_bytes32,t_struct(RoleData)34_storage)", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:62" + }, + { + "label": "__gap", + "offset": 0, + "slot": "102", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol:260" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)34_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(RoleData)34_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "layoutVersion": "1.2", + "flat": true + }, + "solcVersion": "0.8.19" + }, + "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:IAccessControlUpgradeable": { + "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable.sol:9", + "inherit": [], + "libraries": [], + "methods": [ + "hasRole(bytes32,address)", + "getRoleAdmin(bytes32)", + "grantRole(bytes32,address)", + "revokeRole(bytes32,address)", + "renounceRole(bytes32,address)" + ], + "linkReferences": [], + "errors": [], + "layout": { + "storage": [], + "types": {}, + "layoutVersion": "1.2", + "flat": false + }, + "solcVersion": "0.8.19" + }, "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol:OwnableUpgradeable": { "src": "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol:21", "inherit": [ diff --git a/src/Beliefs/Beliefs.sol b/src/Beliefs/Beliefs.sol new file mode 100644 index 0000000..d29c700 --- /dev/null +++ b/src/Beliefs/Beliefs.sol @@ -0,0 +1,54 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +import {BitMaps} from "@openzeppelin/contracts/utils/structs/BitMaps.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; + +import {Editions} from "../Editions/Editions.sol"; +import {LibBeliefs} from "./LibBeliefs.sol"; +import "../Editions/EditionsStructs.sol"; +import "./IBeliefs.sol"; + +contract Beliefs is IBeliefs, Editions { + /// fee used for beliefs + uint256 public futureFundFee; + // mapping of users to projects they believe in + mapping(address user => BitMaps.BitMap beliefs) internal _beliefs; + // array of users who have believed in some project + address[] internal _believers; + + function believeProject(uint256 editionId, string memory tags) external payable override { + if (msg.value < futureFundFee) { + revert NotEnoughFunds(); + } + if (editions[editionId].status != EditionsStructs.EditionStatus.Launched) { + revert EditionNotLaunched(); + } + + LibBeliefs.distributeFees(msg.value, editionId, editionCounter, editions, balances); + + /// update belief data + bool believerExists = false; + for (uint256 i = 0; i < _believers.length; i++) { + if (_believers[i] == msg.sender) { + believerExists = _believers[i] == msg.sender; + break; + } + } + if (!believerExists) { + _believers.push(msg.sender); + } + BitMaps.set(_beliefs[msg.sender], editionId); + + emit EditionBelieved(editionId, msg.sender, tags); + } + + function removeBelief(uint256 editionId) external override { + BitMaps.BitMap storage beliefs = _beliefs[msg.sender]; + if (!BitMaps.get(beliefs, editionId)) { + revert NotCorrectUser(); + } + BitMaps.unset(beliefs, editionId); + emit EditionBeliefRemoved(editionId, msg.sender); + } +} diff --git a/src/Beliefs/IBeliefs.sol b/src/Beliefs/IBeliefs.sol index 5d8a2f8..8a91d40 100644 --- a/src/Beliefs/IBeliefs.sol +++ b/src/Beliefs/IBeliefs.sol @@ -1,11 +1,22 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.13; +/// @title Interface for belief related methods +/// @author marcuspang.eth +/// @notice Explain to an end user what this does +/// @dev Explain to a developer any extra details interface IBeliefs { event EditionBelieved(uint256 indexed editionId, address indexed believer, string tags); event EditionBeliefRemoved(uint256 indexed editionId, address indexed believer); - function believeProject(uint256 editionId, string memory tags) external; + /// @notice Believe in a project and distribute funds to the project and other projects in the same pool + /// @dev Remaining fees are distributed to RADAR + /// @param editionId The specified edition to believe in + /// @param tags The tags that the project is involved with + function believeProject(uint256 editionId, string memory tags) external payable; + /// @notice Removes belief from a project + /// @dev Funds are not re-distributed back to the user + /// @param editionId The specified edition to remove belief from function removeBelief(uint256 editionId) external; } diff --git a/src/Beliefs/LibBeliefs.sol b/src/Beliefs/LibBeliefs.sol new file mode 100644 index 0000000..d51e1f0 --- /dev/null +++ b/src/Beliefs/LibBeliefs.sol @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +import {BitMaps} from "@openzeppelin/contracts/utils/structs/BitMaps.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; + +import {EditionsStructs} from "../Editions/EditionsStructs.sol"; +import {IBeliefs} from "./IBeliefs.sol"; + +library LibBeliefs { + function distributeFees( + uint256 totalValue, + uint256 editionId, + uint256 editionCounter, + mapping(uint256 => EditionsStructs.Edition) storage _editions, + mapping(address => uint256) storage _balances + ) external { + uint256 projectFee = totalValue / 2; + uint256 poolFee = totalValue / 5; + + /// distribute to project + _editions[editionId].balance += projectFee; + + /// distribute to other builders in pool + string memory briefId = _editions[editionId].briefId; + address[] memory builders = new address[](editionCounter); + uint256 buildersCounter = 0; + + uint256 i = 0; + for (; i < editionCounter && i != editionId; i++) { + EditionsStructs.Edition memory edition = _editions[i]; + if (Strings.equal(edition.briefId, briefId)) { + builders[buildersCounter] = edition.owner; + buildersCounter += 1; + } + } + if (builders.length > 0) { + uint256 amount = poolFee / buildersCounter; + for (i = 0; i < buildersCounter; i++) { + _balances[builders[i]] += amount; + } + } + } +} diff --git a/src/Editions/Editions.sol b/src/Editions/Editions.sol index 5f56592..50bae11 100644 --- a/src/Editions/Editions.sol +++ b/src/Editions/Editions.sol @@ -12,6 +12,7 @@ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Ini import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol"; import {BitMaps} from "@openzeppelin/contracts/utils/structs/BitMaps.sol"; +import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; import {EditionsRoles} from "./EditionsRoles.sol"; import {IEditions} from "./IEditions.sol"; @@ -35,8 +36,7 @@ contract Editions is uint256 public maximumEditionFee; - // mapping of users to projects they believe in - mapping(address => BitMaps.BitMap) internal _beliefs; + mapping(address user => uint256 balance) public balances; /// @custom:oz-upgrades-unsafe-allow constructor constructor() { @@ -91,13 +91,13 @@ contract Editions is } function getBalances(address owner) external view override returns (EditionsStructs.EditionIdWithAmount[] memory) { - EditionsStructs.EditionIdWithAmount[] memory balances = new EditionsStructs.EditionIdWithAmount[]( + EditionsStructs.EditionIdWithAmount[] memory _balances = new EditionsStructs.EditionIdWithAmount[]( editionCounter ); for (uint256 i = 0; i < editionCounter; i++) { - balances[i] = EditionsStructs.EditionIdWithAmount({id: editions[i].id, amount: balanceOf(owner, i)}); + _balances[i] = EditionsStructs.EditionIdWithAmount({id: editions[i].id, amount: balanceOf(owner, i)}); } - return balances; + return _balances; } /// admin methods @@ -138,13 +138,31 @@ contract Editions is override onlyRole(DEFAULT_ADMIN_ROLE) { - if (editions[editionId].status != EditionsStructs.EditionStatus.Launched) { + if (editions[editionId].status == EditionsStructs.EditionStatus.NotCreated) { revert EditionNotCreated(); } editions[editionId].id = id; editions[editionId].briefId = briefId; } + function mintEdition(uint256 editionId, uint256 amount, address buyer, bytes memory data) + external + payable + override + onlyRole(DEFAULT_ADMIN_ROLE) + { + if (editions[editionId].status != EditionsStructs.EditionStatus.Launched) { + revert EditionNotLaunched(); + } + if (msg.value < (editions[editionId].fee + protocolFee) * amount) { + revert NotEnoughFunds(); + } + + _mint(buyer, editionId, amount, data); + + editions[editionId].balance += msg.value - amount * protocolFee; + } + /// edition owner methods function createEdition(uint256 fee, address owner, address payer, string memory id, string memory briefId) @@ -212,42 +230,6 @@ contract Editions is emit EditionResumed(editionId); } - /// user methods - - function mintEdition(uint256 editionId, uint256 amount, address buyer, bytes memory data) - external - payable - override - { - if (editions[editionId].status != EditionsStructs.EditionStatus.Launched) { - revert EditionNotLaunched(); - } - if (msg.value < (editions[editionId].fee + protocolFee) * amount) { - revert NotEnoughFunds(); - } - - _mint(buyer, editionId, amount, data); - - editions[editionId].balance += msg.value - amount * protocolFee; - } - - function believeProject(uint256 editionId, string memory tags) external override { - if (editions[editionId].status != EditionsStructs.EditionStatus.Launched) { - revert EditionNotCreated(); - } - BitMaps.set(_beliefs[msg.sender], editionId); - emit EditionBelieved(editionId, msg.sender, tags); - } - - function removeBelief(uint256 editionId) external override { - BitMaps.BitMap storage beliefs = _beliefs[msg.sender]; - if (!BitMaps.get(beliefs, editionId)) { - revert NotCorrectUser(); - } - BitMaps.unset(beliefs, editionId); - emit EditionBeliefRemoved(editionId, msg.sender); - } - function _authorizeUpgrade(address newImplementation) internal override onlyRole(EditionsRoles.UPGRADER_ROLE) {} // The following functions are overrides required by Solidity. diff --git a/src/Editions/IEditions.sol b/src/Editions/IEditions.sol index 6e1397f..8c65c62 100644 --- a/src/Editions/IEditions.sol +++ b/src/Editions/IEditions.sol @@ -1,11 +1,10 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.13; -import {IBeliefs} from "../Beliefs/IBeliefs.sol"; import {EditionsStructs} from "./EditionsStructs.sol"; import {EditionsRoles} from "./EditionsRoles.sol"; -interface IEditions is IBeliefs { +interface IEditions { event EditionApproved(uint256 editionId); event EditionCreated(uint256 editionId, string briefId, uint256 fee, address owner); event EditionBalanceWithdrawn(uint256 editionId, uint256 amount, address owner); diff --git a/src/IRadarEditions.sol b/src/IRadarEditions.sol index ff913a5..258452e 100644 --- a/src/IRadarEditions.sol +++ b/src/IRadarEditions.sol @@ -4,11 +4,14 @@ pragma solidity ^0.8.13; import {EditionsStructs} from "./Editions/EditionsStructs.sol"; import {EditionsRoles} from "./Editions/EditionsRoles.sol"; import {IEditions} from "./Editions/IEditions.sol"; +import {IBeliefs} from "./Beliefs/IBeliefs.sol"; -interface IRadarEditions is IEditions { +interface IRadarEditions { function setURI(string memory newuri) external; function setProtocolFee(uint256 _protocolFee) external; function setMaximumEditionFee(uint256 _maximumEditionFee) external; + + function setFutureFundFee(uint256 _futureFundFee) external; } diff --git a/src/RadarEditions.sol b/src/RadarEditions.sol index 6e797a8..7c25b5e 100644 --- a/src/RadarEditions.sol +++ b/src/RadarEditions.sol @@ -1,14 +1,13 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.13; -import {BitMaps} from "@openzeppelin/contracts/utils/structs/BitMaps.sol"; import {Strings} from "@openzeppelin/contracts/utils/Strings.sol"; -import {Editions} from "./Editions/Editions.sol"; +import {Beliefs} from "./Beliefs/Beliefs.sol"; import {EditionsRoles} from "./Editions/EditionsRoles.sol"; import {IRadarEditions} from "./IRadarEditions.sol"; -contract RadarEditions is Editions, IRadarEditions { +contract RadarEditions is IRadarEditions, Beliefs { function contractURI() public view returns (string memory) { return "https://radarlaunch.app/api/metadata"; } @@ -30,4 +29,8 @@ contract RadarEditions is Editions, IRadarEditions { function setMaximumEditionFee(uint256 _maximumEditionFee) external override onlyRole(DEFAULT_ADMIN_ROLE) { maximumEditionFee = _maximumEditionFee; } + + function setFutureFundFee(uint256 _futureFundFee) external override onlyRole(DEFAULT_ADMIN_ROLE) { + futureFundFee = _futureFundFee; + } } diff --git a/typechain-types/common.ts b/typechain-types/common.ts deleted file mode 100644 index 192c895..0000000 --- a/typechain-types/common.ts +++ /dev/null @@ -1,129 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - FunctionFragment, - Typed, - EventFragment, - ContractTransaction, - ContractTransactionResponse, - DeferredTopicFilter, - EventLog, - TransactionRequest, - LogDescription, -} from "ethers"; - -export interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> - extends DeferredTopicFilter {} - -export interface TypedContractEvent< - InputTuple extends Array = any, - OutputTuple extends Array = any, - OutputObject = any -> { - (...args: Partial): TypedDeferredTopicFilter< - TypedContractEvent - >; - name: string; - fragment: EventFragment; - getFragment(...args: Partial): EventFragment; -} - -type __TypechainAOutputTuple = T extends TypedContractEvent< - infer _U, - infer W -> - ? W - : never; -type __TypechainOutputObject = T extends TypedContractEvent< - infer _U, - infer _W, - infer V -> - ? V - : never; - -export interface TypedEventLog - extends Omit { - args: __TypechainAOutputTuple & __TypechainOutputObject; -} - -export interface TypedLogDescription - extends Omit { - args: __TypechainAOutputTuple & __TypechainOutputObject; -} - -export type TypedListener = ( - ...listenerArg: [ - ...__TypechainAOutputTuple, - TypedEventLog, - ...undefined[] - ] -) => void; - -export type MinEthersFactory = { - deploy(...a: ARGS[]): Promise; -}; - -export type GetContractTypeFromFactory = F extends MinEthersFactory< - infer C, - any -> - ? C - : never; -export type GetARGsTypeFromFactory = F extends MinEthersFactory - ? Parameters - : never; - -export type StateMutability = "nonpayable" | "payable" | "view"; - -export type BaseOverrides = Omit; -export type NonPayableOverrides = Omit< - BaseOverrides, - "value" | "blockTag" | "enableCcipRead" ->; -export type PayableOverrides = Omit< - BaseOverrides, - "blockTag" | "enableCcipRead" ->; -export type ViewOverrides = Omit; -export type Overrides = S extends "nonpayable" - ? NonPayableOverrides - : S extends "payable" - ? PayableOverrides - : ViewOverrides; - -export type PostfixOverrides, S extends StateMutability> = - | A - | [...A, Overrides]; -export type ContractMethodArgs< - A extends Array, - S extends StateMutability -> = PostfixOverrides<{ [I in keyof A]-?: A[I] | Typed }, S>; - -export type DefaultReturnType = R extends Array ? R[0] : R; - -// export interface ContractMethod = Array, R = any, D extends R | ContractTransactionResponse = R | ContractTransactionResponse> { -export interface TypedContractMethod< - A extends Array = Array, - R = any, - S extends StateMutability = "payable" -> { - (...args: ContractMethodArgs): S extends "view" - ? Promise> - : Promise; - - name: string; - - fragment: FunctionFragment; - - getFragment(...args: ContractMethodArgs): FunctionFragment; - - populateTransaction( - ...args: ContractMethodArgs - ): Promise; - staticCall(...args: ContractMethodArgs): Promise>; - send(...args: ContractMethodArgs): Promise; - estimateGas(...args: ContractMethodArgs): Promise; - staticCallResult(...args: ContractMethodArgs): Promise; -} diff --git a/typechain-types/factories/index.ts b/typechain-types/factories/index.ts deleted file mode 100644 index c22a39a..0000000 --- a/typechain-types/factories/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as lib from "./lib"; -export * as src from "./src"; diff --git a/typechain-types/factories/lib/index.ts b/typechain-types/factories/lib/index.ts deleted file mode 100644 index af17393..0000000 --- a/typechain-types/factories/lib/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as openzeppelinContracts from "./openzeppelin-contracts"; -export * as openzeppelinContractsUpgradeable from "./openzeppelin-contracts-upgradeable"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/access/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/access/index.ts deleted file mode 100644 index 0b484aa..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/access/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { AccessControlUpgradeable__factory } from "./AccessControlUpgradeable__factory"; -export { IAccessControlUpgradeable__factory } from "./IAccessControlUpgradeable__factory"; -export { OwnableUpgradeable__factory } from "./OwnableUpgradeable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/index.ts deleted file mode 100644 index aa3a606..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as access from "./access"; -export * as interfaces from "./interfaces"; -export * as proxy from "./proxy"; -export * as security from "./security"; -export * as token from "./token"; -export * as utils from "./utils"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol/index.ts deleted file mode 100644 index 7db58c5..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { IERC1822ProxiableUpgradeable__factory } from "./IERC1822ProxiableUpgradeable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/index.ts deleted file mode 100644 index b8bf57b..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as draftIerc1822UpgradeableSol from "./draft-IERC1822Upgradeable.sol"; -export { IERC1967Upgradeable__factory } from "./IERC1967Upgradeable__factory"; -export { IERC4906Upgradeable__factory } from "./IERC4906Upgradeable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/index.ts deleted file mode 100644 index 12fe874..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { ERC1967UpgradeUpgradeable__factory } from "./ERC1967UpgradeUpgradeable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/index.ts deleted file mode 100644 index 5b72d31..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { IBeaconUpgradeable__factory } from "./IBeaconUpgradeable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/index.ts deleted file mode 100644 index 4ac4c84..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as erc1967 from "./ERC1967"; -export * as beacon from "./beacon"; -export * as utils from "./utils"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/index.ts deleted file mode 100644 index a192d15..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { Initializable__factory } from "./Initializable__factory"; -export { UUPSUpgradeable__factory } from "./UUPSUpgradeable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/security/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/security/index.ts deleted file mode 100644 index 93fc29f..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/security/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { PausableUpgradeable__factory } from "./PausableUpgradeable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/index.ts deleted file mode 100644 index 7740b8d..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { ERC1155BurnableUpgradeable__factory } from "./ERC1155BurnableUpgradeable__factory"; -export { ERC1155SupplyUpgradeable__factory } from "./ERC1155SupplyUpgradeable__factory"; -export { IERC1155MetadataURIUpgradeable__factory } from "./IERC1155MetadataURIUpgradeable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/index.ts deleted file mode 100644 index 5cc02ae..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as extensions from "./extensions"; -export { ERC1155Upgradeable__factory } from "./ERC1155Upgradeable__factory"; -export { IERC1155ReceiverUpgradeable__factory } from "./IERC1155ReceiverUpgradeable__factory"; -export { IERC1155Upgradeable__factory } from "./IERC1155Upgradeable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/index.ts deleted file mode 100644 index 2c35f61..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { ERC721URIStorageUpgradeable__factory } from "./ERC721URIStorageUpgradeable__factory"; -export { IERC721MetadataUpgradeable__factory } from "./IERC721MetadataUpgradeable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/index.ts deleted file mode 100644 index 073cd2f..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as extensions from "./extensions"; -export { ERC721Upgradeable__factory } from "./ERC721Upgradeable__factory"; -export { IERC721ReceiverUpgradeable__factory } from "./IERC721ReceiverUpgradeable__factory"; -export { IERC721Upgradeable__factory } from "./IERC721Upgradeable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/index.ts deleted file mode 100644 index db4ddcf..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/token/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as erc1155 from "./ERC1155"; -export * as erc721 from "./ERC721"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/utils/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/utils/index.ts deleted file mode 100644 index 1dc9875..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/utils/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as introspection from "./introspection"; -export { ContextUpgradeable__factory } from "./ContextUpgradeable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/index.ts deleted file mode 100644 index 0dcb285..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { ERC165Upgradeable__factory } from "./ERC165Upgradeable__factory"; -export { IERC165Upgradeable__factory } from "./IERC165Upgradeable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/index.ts b/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/index.ts deleted file mode 100644 index 6397da0..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts-upgradeable/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as contracts from "./contracts"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts/contracts/index.ts b/typechain-types/factories/lib/openzeppelin-contracts/contracts/index.ts deleted file mode 100644 index 8330f73..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts/contracts/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as interfaces from "./interfaces"; -export * as proxy from "./proxy"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol/index.ts b/typechain-types/factories/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol/index.ts deleted file mode 100644 index ecca133..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { IERC1822Proxiable__factory } from "./IERC1822Proxiable__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts/contracts/interfaces/index.ts b/typechain-types/factories/lib/openzeppelin-contracts/contracts/interfaces/index.ts deleted file mode 100644 index 09337a9..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts/contracts/interfaces/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as draftIerc1822Sol from "./draft-IERC1822.sol"; -export { IERC1967__factory } from "./IERC1967__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts/contracts/proxy/ERC1967/index.ts b/typechain-types/factories/lib/openzeppelin-contracts/contracts/proxy/ERC1967/index.ts deleted file mode 100644 index 6c9ac13..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts/contracts/proxy/ERC1967/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { ERC1967Upgrade__factory } from "./ERC1967Upgrade__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts/contracts/proxy/beacon/index.ts b/typechain-types/factories/lib/openzeppelin-contracts/contracts/proxy/beacon/index.ts deleted file mode 100644 index 4a9d628..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts/contracts/proxy/beacon/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { IBeacon__factory } from "./IBeacon__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts/contracts/proxy/index.ts b/typechain-types/factories/lib/openzeppelin-contracts/contracts/proxy/index.ts deleted file mode 100644 index 7f183c3..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts/contracts/proxy/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as erc1967 from "./ERC1967"; -export * as beacon from "./beacon"; -export { Proxy__factory } from "./Proxy__factory"; diff --git a/typechain-types/factories/lib/openzeppelin-contracts/index.ts b/typechain-types/factories/lib/openzeppelin-contracts/index.ts deleted file mode 100644 index 6397da0..0000000 --- a/typechain-types/factories/lib/openzeppelin-contracts/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as contracts from "./contracts"; diff --git a/typechain-types/factories/src/Beliefs/IBeliefs__factory.ts b/typechain-types/factories/src/Beliefs/IBeliefs__factory.ts deleted file mode 100644 index f9fadcd..0000000 --- a/typechain-types/factories/src/Beliefs/IBeliefs__factory.ts +++ /dev/null @@ -1,97 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Interface, type ContractRunner } from "ethers"; -import type { - IBeliefs, - IBeliefsInterface, -} from "../../../src/Beliefs/IBeliefs"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "believer", - type: "address", - }, - ], - name: "EditionBeliefRemoved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "believer", - type: "address", - }, - { - indexed: false, - internalType: "string", - name: "tags", - type: "string", - }, - ], - name: "EditionBelieved", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "string", - name: "tags", - type: "string", - }, - ], - name: "believeProject", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "removeBelief", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, -] as const; - -export class IBeliefs__factory { - static readonly abi = _abi; - static createInterface(): IBeliefsInterface { - return new Interface(_abi) as IBeliefsInterface; - } - static connect(address: string, runner?: ContractRunner | null): IBeliefs { - return new Contract(address, _abi, runner) as unknown as IBeliefs; - } -} diff --git a/typechain-types/factories/src/Beliefs/index.ts b/typechain-types/factories/src/Beliefs/index.ts deleted file mode 100644 index 7c2c222..0000000 --- a/typechain-types/factories/src/Beliefs/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { IBeliefs__factory } from "./IBeliefs__factory"; diff --git a/typechain-types/factories/src/Editions/Editions__factory.ts b/typechain-types/factories/src/Editions/Editions__factory.ts deleted file mode 100644 index 9ed1374..0000000 --- a/typechain-types/factories/src/Editions/Editions__factory.ts +++ /dev/null @@ -1,1359 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - Contract, - ContractFactory, - ContractTransactionResponse, - Interface, -} from "ethers"; -import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; -import type { NonPayableOverrides } from "../../../common"; -import type { - Editions, - EditionsInterface, -} from "../../../src/Editions/Editions"; - -const _abi = [ - { - inputs: [], - stateMutability: "nonpayable", - type: "constructor", - }, - { - inputs: [], - name: "EditionFeeExceedsMaximumFee", - type: "error", - }, - { - inputs: [], - name: "EditionNotCreated", - type: "error", - }, - { - inputs: [], - name: "EditionNotEnoughBalance", - type: "error", - }, - { - inputs: [], - name: "EditionNotLaunched", - type: "error", - }, - { - inputs: [], - name: "EditionNotStopped", - type: "error", - }, - { - inputs: [], - name: "NotCorrectUser", - type: "error", - }, - { - inputs: [], - name: "NotEditionOwner", - type: "error", - }, - { - inputs: [], - name: "NotEnoughFees", - type: "error", - }, - { - inputs: [], - name: "NotEnoughFunds", - type: "error", - }, - { - inputs: [], - name: "TransactionFailed", - type: "error", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "previousAdmin", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "newAdmin", - type: "address", - }, - ], - name: "AdminChanged", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "account", - 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: "beacon", - type: "address", - }, - ], - name: "BeaconUpgraded", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "EditionApproved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "owner", - type: "address", - }, - ], - name: "EditionBalanceWithdrawn", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "believer", - type: "address", - }, - ], - name: "EditionBeliefRemoved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "believer", - type: "address", - }, - { - indexed: false, - internalType: "string", - name: "tags", - type: "string", - }, - ], - name: "EditionBelieved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: false, - internalType: "string", - name: "briefId", - type: "string", - }, - { - indexed: false, - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "owner", - type: "address", - }, - ], - name: "EditionCreated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "EditionResumed", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "EditionStopped", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint8", - name: "version", - type: "uint8", - }, - ], - name: "Initialized", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "Paused", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - indexed: true, - internalType: "bytes32", - name: "previousAdminRole", - type: "bytes32", - }, - { - indexed: true, - internalType: "bytes32", - name: "newAdminRole", - type: "bytes32", - }, - ], - name: "RoleAdminChanged", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - indexed: true, - internalType: "address", - name: "account", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "sender", - type: "address", - }, - ], - name: "RoleGranted", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - indexed: true, - internalType: "address", - name: "account", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "sender", - type: "address", - }, - ], - name: "RoleRevoked", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "operator", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "to", - type: "address", - }, - { - indexed: false, - internalType: "uint256[]", - name: "ids", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256[]", - name: "values", - type: "uint256[]", - }, - ], - name: "TransferBatch", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "operator", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "to", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "TransferSingle", - 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: "address", - name: "account", - type: "address", - }, - ], - name: "Unpaused", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "implementation", - type: "address", - }, - ], - name: "Upgraded", - type: "event", - }, - { - stateMutability: "payable", - type: "fallback", - }, - { - inputs: [], - name: "DEFAULT_ADMIN_ROLE", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "approveEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address[]", - name: "accounts", - type: "address[]", - }, - { - internalType: "uint256[]", - name: "ids", - type: "uint256[]", - }, - ], - name: "balanceOfBatch", - outputs: [ - { - internalType: "uint256[]", - name: "", - type: "uint256[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "string", - name: "tags", - type: "string", - }, - ], - name: "believeProject", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "burn", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - { - internalType: "uint256[]", - name: "ids", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "values", - type: "uint256[]", - }, - ], - name: "burnBatch", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "payer", - type: "address", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - name: "createEdition", - outputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "editionCounter", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - name: "editions", - outputs: [ - { - internalType: "enum EditionsStructs.EditionStatus", - name: "status", - type: "uint8", - }, - { - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - internalType: "uint256", - name: "balance", - type: "uint256", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - ], - name: "exists", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - ], - name: "getBalances", - outputs: [ - { - components: [ - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - internalType: "struct EditionsStructs.EditionIdWithAmount[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getEditions", - outputs: [ - { - components: [ - { - internalType: "enum EditionsStructs.EditionStatus", - name: "status", - type: "uint8", - }, - { - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - internalType: "uint256", - name: "balance", - type: "uint256", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - internalType: "struct EditionsStructs.Edition[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - ], - name: "getRoleAdmin", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "grantRole", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "hasRole", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "initialize", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - { - internalType: "address", - name: "operator", - type: "address", - }, - ], - name: "isApprovedForAll", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "maximumEditionFee", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "address", - name: "buyer", - type: "address", - }, - { - internalType: "bytes", - name: "data", - type: "bytes", - }, - ], - name: "mintEdition", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [], - name: "pause", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "paused", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "protocolFee", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "proxiableUUID", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "removeBelief", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "renounceRole", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "resumeEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "revokeRole", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256[]", - name: "ids", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "amounts", - type: "uint256[]", - }, - { - internalType: "bytes", - name: "data", - type: "bytes", - }, - ], - name: "safeBatchTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "uint256", - name: "amount", - 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: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "stopEdition", - 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: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - ], - name: "totalSupply", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "unpause", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - name: "updateEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newImplementation", - type: "address", - }, - ], - name: "upgradeTo", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newImplementation", - type: "address", - }, - { - internalType: "bytes", - name: "data", - type: "bytes", - }, - ], - name: "upgradeToAndCall", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - name: "uri", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "withdrawEditionBalance", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "withdrawFunds", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - stateMutability: "payable", - type: "receive", - }, -] as const; - -const _bytecode = - "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161441f6200011f60003960008181610cf801528181610d3801528181610f3201528181610f720152611001015261441f6000f3fe6080604052600436106102315760003560e01c8063790bafc61161012d578063c6fbb712116100b0578063e43990fe11610077578063e43990fe146106b2578063e985e9c5146106d2578063f242432a1461071b578063f5298aca1461073b578063f8c1b2fd1461075b578063fc74efa21461077b57005b8063c6fbb7121461060c578063c84aae1714610623578063d547741f14610650578063d667c9ce14610670578063df6efc6c1461069057005b8063a217fddf116100f4578063a217fddf14610572578063a22cb46514610587578063b0e21e8a146105a7578063b3a44bd6146105be578063bd85b039146105de57005b8063790bafc6146104f55780638129fc1c146105155780638456cb591461052a57806391d148541461053f578063940123da1461055f57005b80633659cfe6116101b557806352d1902d1161017c57806352d1902d146104715780635c975abb146104865780636b20c4541461049e5780636b5cb789146104be5780637357628c146104d557005b80633659cfe6146103cc5780633f4ba83a146103ec5780634e1273f4146104015780634f1ef2861461042e5780634f558e791461044157005b8063248a9ca3116101f9578063248a9ca31461030a578063279c806e1461033a5780632eb2c2d61461036c5780632f2ff15d1461038c57806336568abe146103ac57005b8062fdd58e1461023a57806301ffc9a71461026d5780630a579eca1461029d5780630e89341c146102bd578063155dd5ee146102ea57005b3661023857005b005b34801561024657600080fd5b5061025a610255366004613379565b61079b565b6040519081526020015b60405180910390f35b34801561027957600080fd5b5061028d6102883660046133b9565b610836565b6040519015158152602001610264565b3480156102a957600080fd5b506102386102b83660046133d6565b610841565b3480156102c957600080fd5b506102dd6102d83660046133d6565b610923565b604051610264919061343f565b3480156102f657600080fd5b506102386103053660046133d6565b6109b7565b34801561031657600080fd5b5061025a6103253660046133d6565b60009081526097602052604090206001015490565b34801561034657600080fd5b5061035a6103553660046133d6565b610ab4565b6040516102649695949392919061348a565b34801561037857600080fd5b5061023861038736600461362c565b610c0a565b34801561039857600080fd5b506102386103a73660046136d5565b610c56565b3480156103b857600080fd5b506102386103c73660046136d5565b610c70565b3480156103d857600080fd5b506102386103e7366004613701565b610cee565b3480156103f857600080fd5b50610238610dcd565b34801561040d57600080fd5b5061042161041c36600461371c565b610dff565b6040516102649190613821565b61023861043c366004613834565b610f28565b34801561044d57600080fd5b5061028d61045c3660046133d6565b600090815261012d6020526040902054151590565b34801561047d57600080fd5b5061025a610ff4565b34801561049257600080fd5b5060c95460ff1661028d565b3480156104aa57600080fd5b506102386104b9366004613877565b6110a8565b3480156104ca57600080fd5b5061025a6101c65481565b3480156104e157600080fd5b506102386104f03660046133d6565b6110eb565b34801561050157600080fd5b506102386105103660046138ea565b61118c565b34801561052157600080fd5b50610238611241565b34801561053657600080fd5b5061023861140c565b34801561054b57600080fd5b5061028d61055a3660046136d5565b61143e565b61023861056d36600461391a565b611469565b34801561057e57600080fd5b5061025a600081565b34801561059357600080fd5b506102386105a236600461397a565b61154a565b3480156105b357600080fd5b5061025a6101c35481565b3480156105ca57600080fd5b5061025a6105d93660046139b6565b611555565b3480156105ea57600080fd5b5061025a6105f93660046133d6565b600090815261012d602052604090205490565b34801561061857600080fd5b5061025a6101c55481565b34801561062f57600080fd5b5061064361063e366004613701565b6116af565b6040516102649190613a14565b34801561065c57600080fd5b5061023861066b3660046136d5565b611819565b34801561067c57600080fd5b5061023861068b366004613a8a565b61183e565b34801561069c57600080fd5b506106a5611980565b6040516102649190613aac565b3480156106be57600080fd5b506102386106cd366004613b60565b611bef565b3480156106de57600080fd5b5061028d6106ed366004613bc2565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b34801561072757600080fd5b50610238610736366004613bec565b611c77565b34801561074757600080fd5b50610238610756366004613c50565b611cbc565b34801561076757600080fd5b506102386107763660046133d6565b611cff565b34801561078757600080fd5b506102386107963660046133d6565b611d94565b60006001600160a01b03831661080b5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b600061083082611e6f565b60008181526101c460205260409020600301546001600160a01b0316331480610870575061087060003361143e565b61088d5760405163388f811f60e01b815260040160405180910390fd5b600260008281526101c4602052604090205460ff1660038111156108b3576108b3613452565b146108d157604051631f0fb6fd60e11b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600317905590518281527f591913f977ab242c5871f116f36be231ff67df5e8e0bac1efd91fa8a723aca2b91015b60405180910390a150565b60606067805461093290613c83565b80601f016020809104026020016040519081016040528092919081815260200182805461095e90613c83565b80156109ab5780601f10610980576101008083540402835291602001916109ab565b820191906000526020600020905b81548152906001019060200180831161098e57829003601f168201915b50505050509050919050565b60006109c281611e94565b478211156109e357604051631036b5ad60e31b815260040160405180910390fd5b4760005b6101c554811015610a445760008181526101c46020526040902060020154610a0f9083613ccd565b915083821015610a325760405163156bbc5b60e01b815260040160405180910390fd5b80610a3c81613ce0565b9150506109e7565b50604051600090339085908381818185875af1925050503d8060008114610a87576040519150601f19603f3d011682016040523d82523d6000602084013e610a8c565b606091505b5050905080610aae576040516317f2c34560e31b815260040160405180910390fd5b50505050565b6101c4602052600090815260409020805460018201546002830154600384015460048501805460ff90951695939492936001600160a01b0390921692610af990613c83565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2590613c83565b8015610b725780601f10610b4757610100808354040283529160200191610b72565b820191906000526020600020905b815481529060010190602001808311610b5557829003601f168201915b505050505090806005018054610b8790613c83565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb390613c83565b8015610c005780601f10610bd557610100808354040283529160200191610c00565b820191906000526020600020905b815481529060010190602001808311610be357829003601f168201915b5050505050905086565b6001600160a01b038516331480610c265750610c2685336106ed565b610c425760405162461bcd60e51b815260040161080290613cf9565b610c4f8585858585611e9e565b5050505050565b6000610c6181611e94565b610c6b838361204b565b505050565b6001600160a01b0381163314610ce05760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610802565b610cea82826120d1565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d365760405162461bcd60e51b815260040161080290613d47565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610d7f6000805160206143a3833981519152546001600160a01b031690565b6001600160a01b031614610da55760405162461bcd60e51b815260040161080290613d93565b610dae81612138565b60408051600080825260208201909252610dca91839190612162565b50565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610df781611e94565b610dca6122cd565b60608151835114610e645760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610802565b600083516001600160401b03811115610e7f57610e7f6134e3565b604051908082528060200260200182016040528015610ea8578160200160208202803683370190505b50905060005b8451811015610f2057610ef3858281518110610ecc57610ecc613ddf565b6020026020010151858381518110610ee657610ee6613ddf565b602002602001015161079b565b828281518110610f0557610f05613ddf565b6020908102919091010152610f1981613ce0565b9050610eae565b509392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610f705760405162461bcd60e51b815260040161080290613d47565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610fb96000805160206143a3833981519152546001600160a01b031690565b6001600160a01b031614610fdf5760405162461bcd60e51b815260040161080290613d93565b610fe882612138565b610cea82826001612162565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110945760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610802565b506000805160206143a38339815191525b90565b6001600160a01b0383163314806110c457506110c483336106ed565b6110e05760405162461bcd60e51b815260040161080290613cf9565b610c6b83838361231f565b60006110f681611e94565b600160008381526101c4602052604090205460ff16600381111561111c5761111c613452565b1461113a5760405163137c9c1f60e31b815260040160405180910390fd5b60008281526101c46020908152604091829020805460ff1916600217905590518381527f8f4352ac8b4aefdd2333162306bbe09dd4f4ff6661e89ccc4e4dcced8794e8f7910160405180910390a15050565b600260008381526101c4602052604090205460ff1660038111156111b2576111b2613452565b146111d05760405163137c9c1f60e31b815260040160405180910390fd5b3360009081526101c760209081526040808320600886901c845290915290208054600160ff85161b179055336001600160a01b0316827f710e220a47c8d9e50587c80fe509f5e762149ef672440eff70798204dd70f5eb83604051611235919061343f565b60405180910390a35050565b600054610100900460ff16158080156112615750600054600160ff909116105b8061127b5750303b15801561127b575060005460ff166001145b6112de5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610802565b6000805460ff191660011790558015611301576000805461ff0019166101001790555b611319604051806020016040528060008152506124be565b6113216124ee565b611329612517565b6113316124ee565b6113396124ee565b6113416124ee565b61134c60003361204b565b6113767f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c3361204b565b6113a07f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a3361204b565b6113ca7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e33361204b565b8015610dca576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610918565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a61143681611e94565b610dca612546565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600260008581526101c4602052604090205460ff16600381111561148f5761148f613452565b146114ad57604051631f0fb6fd60e11b815260040160405180910390fd5b6101c35460008581526101c4602052604090206001015484916114cf91613df5565b6114d99190613e08565b3410156114f957604051631036b5ad60e31b815260040160405180910390fd5b61150582858584612583565b6101c3546115139084613e08565b61151d9034613ccd565b60008581526101c460205260408120600201805490919061153f908490613df5565b909155505050505050565b610cea3383836126a8565b60006101c65486111561157b57604051630f0c4c5f60e41b815260040160405180910390fd5b506101c5546040805160c0810190915280600181526020808201899052600060408084018290526001600160a01b038a1660608501526080840188905260a09093018690528481526101c49091522081518154829060ff191660018360038111156115e8576115e8613452565b0217905550602082015160018201556040820151600282015560608201516003820180546001600160a01b0319166001600160a01b039092169190911790556080820151600482019061163b9082613e65565b5060a082015160058201906116509082613e65565b50506101c580549150600061166483613ce0565b91905055507f3deb71b5a6774038a220621d78241405004043d5a928de9c7956bcc5270416db8183888860405161169e9493929190613f24565b60405180910390a195945050505050565b606060006101c5546001600160401b038111156116ce576116ce6134e3565b60405190808252806020026020018201604052801561171457816020015b6040805180820190915260608152600060208201528152602001906001900390816116ec5790505b50905060005b6101c5548110156118125760405180604001604052806101c46000848152602001908152602001600020600401805461175290613c83565b80601f016020809104026020016040519081016040528092919081815260200182805461177e90613c83565b80156117cb5780601f106117a0576101008083540402835291602001916117cb565b820191906000526020600020905b8154815290600101906020018083116117ae57829003601f168201915b505050505081526020016117df868461079b565b8152508282815181106117f4576117f4613ddf565b6020026020010181905250808061180a90613ce0565b91505061171a565b5092915050565b60008281526097602052604090206001015461183481611e94565b610c6b83836120d1565b60008281526101c460205260409020600301546001600160a01b031633146118795760405163388f811f60e01b815260040160405180910390fd5b60008281526101c460205260409020600201548111156118ac57604051637eafab7d60e01b815260040160405180910390fd5b604051600090339083908381818185875af1925050503d80600081146118ee576040519150601f19603f3d011682016040523d82523d6000602084013e6118f3565b606091505b5050905080611915576040516317f2c34560e31b815260040160405180910390fd5b60008381526101c4602052604081206002018054849290611937908490613ccd565b90915550506040805184815260208101849052338183015290517ff1090e9d5138cd4909542e10e1da576730b07eb291a71a151e63160dde345b949181900360600190a1505050565b606060006101c5546001600160401b0381111561199f5761199f6134e3565b604051908082528060200260200182016040528015611a1357816020015b611a006040805160c081019091528060008152602001600081526020016000815260200160006001600160a01b0316815260200160608152602001606081525090565b8152602001906001900390816119bd5790505b50905060005b6101c554811015611be95760008181526101c4602052604090819020815160c081019092528054829060ff166003811115611a5657611a56613452565b6003811115611a6757611a67613452565b8152600182015460208201526002820154604082015260038201546001600160a01b03166060820152600482018054608090920191611aa590613c83565b80601f0160208091040260200160405190810160405280929190818152602001828054611ad190613c83565b8015611b1e5780601f10611af357610100808354040283529160200191611b1e565b820191906000526020600020905b815481529060010190602001808311611b0157829003601f168201915b50505050508152602001600582018054611b3790613c83565b80601f0160208091040260200160405190810160405280929190818152602001828054611b6390613c83565b8015611bb05780601f10611b8557610100808354040283529160200191611bb0565b820191906000526020600020905b815481529060010190602001808311611b9357829003601f168201915b505050505081525050828281518110611bcb57611bcb613ddf565b60200260200101819052508080611be190613ce0565b915050611a19565b50919050565b6000611bfa81611e94565b600260008581526101c4602052604090205460ff166003811115611c2057611c20613452565b14611c3e5760405163137c9c1f60e31b815260040160405180910390fd5b60008481526101c460205260409020600401611c5a8482613e65565b5060008481526101c460205260409020600501610c4f8382613e65565b6001600160a01b038516331480611c935750611c9385336106ed565b611caf5760405162461bcd60e51b815260040161080290613cf9565b610c4f8585858585612788565b6001600160a01b038316331480611cd85750611cd883336106ed565b611cf45760405162461bcd60e51b815260040161080290613cf9565b610c6b8383836128c4565b3360009081526101c760209081526040808320600885901c84529182905290912054600160ff84161b16611d465760405163423f327760e11b815260040160405180910390fd5b600882901c6000908152602082905260408082208054600160ff87161b1916905551339184917fc6c1c3224e50c3c958e39197695bdfe8457ce7c0014d8d51a4d3aa12c5ac18489190a35050565b60008181526101c460205260409020600301546001600160a01b0316331480611dc35750611dc360003361143e565b611de05760405163388f811f60e01b815260040160405180910390fd5b600360008281526101c4602052604090205460ff166003811115611e0657611e06613452565b14611e245760405163968807a560e01b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600217905590518281527f63bb17c9645a29322601b4fe88d8f3fa84f32229368294f903084be8f5d813ba9101610918565b60006001600160e01b03198216637965db0b60e01b14806108305750610830826129e0565b610dca8133612a30565b8151835114611ebf5760405162461bcd60e51b815260040161080290613f5e565b6001600160a01b038416611ee55760405162461bcd60e51b815260040161080290613fa6565b33611ef4818787878787612a89565b60005b8451811015611fdd576000858281518110611f1457611f14613ddf565b602002602001015190506000858381518110611f3257611f32613ddf565b60209081029190910181015160008481526065835260408082206001600160a01b038e168352909352919091205490915081811015611f835760405162461bcd60e51b815260040161080290613feb565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290611fc2908490613df5565b9250508190555050505080611fd690613ce0565b9050611ef7565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161202d929190614035565b60405180910390a4612043818787878787612a9f565b505050505050565b612055828261143e565b610cea5760008281526097602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561208d3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6120db828261143e565b15610cea5760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610cea81611e94565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561219557610c6b83612bfa565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156121ef575060408051601f3d908101601f191682019092526121ec91810190614063565b60015b6122525760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610802565b6000805160206143a383398151915281146122c15760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610802565b50610c6b838383612c96565b6122d5612cbb565b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0383166123455760405162461bcd60e51b81526004016108029061407c565b80518251146123665760405162461bcd60e51b815260040161080290613f5e565b600033905061238981856000868660405180602001604052806000815250612a89565b60005b83518110156124515760008482815181106123a9576123a9613ddf565b6020026020010151905060008483815181106123c7576123c7613ddf565b60209081029190910181015160008481526065835260408082206001600160a01b038c1683529093529190912054909150818110156124185760405162461bcd60e51b8152600401610802906140bf565b60009283526065602090815260408085206001600160a01b038b168652909152909220910390558061244981613ce0565b91505061238c565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516124a2929190614035565b60405180910390a4604080516020810190915260009052610aae565b600054610100900460ff166124e55760405162461bcd60e51b815260040161080290614103565b610dca81612d04565b600054610100900460ff166125155760405162461bcd60e51b815260040161080290614103565b565b600054610100900460ff1661253e5760405162461bcd60e51b815260040161080290614103565b612515612d34565b61254e612d67565b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586123023390565b6001600160a01b0384166125e35760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b6064820152608401610802565b3360006125ef85612dad565b905060006125fc85612dad565b905061260d83600089858589612a89565b60008681526065602090815260408083206001600160a01b038b1684529091528120805487929061263f908490613df5565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461269f83600089898989612df8565b50505050505050565b816001600160a01b0316836001600160a01b03160361271b5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610802565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b0384166127ae5760405162461bcd60e51b815260040161080290613fa6565b3360006127ba85612dad565b905060006127c785612dad565b90506127d7838989858589612a89565b60008681526065602090815260408083206001600160a01b038c1684529091529020548581101561281a5760405162461bcd60e51b815260040161080290613feb565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290612859908490613df5565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46128b9848a8a8a8a8a612df8565b505050505050505050565b6001600160a01b0383166128ea5760405162461bcd60e51b81526004016108029061407c565b3360006128f684612dad565b9050600061290384612dad565b905061292383876000858560405180602001604052806000815250612a89565b60008581526065602090815260408083206001600160a01b038a168452909152902054848110156129665760405162461bcd60e51b8152600401610802906140bf565b60008681526065602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a460408051602081019091526000905261269f565b60006001600160e01b03198216636cdb3d1360e11b1480612a1157506001600160e01b031982166303a24d0760e21b145b8061083057506301ffc9a760e01b6001600160e01b0319831614610830565b612a3a828261143e565b610cea57612a4781612eb3565b612a52836020612ec5565b604051602001612a6392919061414e565b60408051601f198184030181529082905262461bcd60e51b82526108029160040161343f565b612a91612d67565b612043868686868686613067565b6001600160a01b0384163b156120435760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190612ae390899089908890889088906004016141c3565b6020604051808303816000875af1925050508015612b1e575060408051601f3d908101601f19168201909252612b1b91810190614221565b60015b612bca57612b2a61423e565b806308c379a003612b635750612b3e614259565b80612b495750612b65565b8060405162461bcd60e51b8152600401610802919061343f565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610802565b6001600160e01b0319811663bc197c8160e01b1461269f5760405162461bcd60e51b8152600401610802906142e2565b6001600160a01b0381163b612c675760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610802565b6000805160206143a383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612c9f836131e3565b600082511180612cac5750805b15610c6b57610aae8383613223565b60c95460ff166125155760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610802565b600054610100900460ff16612d2b5760405162461bcd60e51b815260040161080290614103565b610dca81613248565b600054610100900460ff16612d5b5760405162461bcd60e51b815260040161080290614103565b60c9805460ff19169055565b60c95460ff16156125155760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610802565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110612de757612de7613ddf565b602090810291909101015292915050565b6001600160a01b0384163b156120435760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190612e3c908990899088908890889060040161432a565b6020604051808303816000875af1925050508015612e77575060408051601f3d908101601f19168201909252612e7491810190614221565b60015b612e8357612b2a61423e565b6001600160e01b0319811663f23a6e6160e01b1461269f5760405162461bcd60e51b8152600401610802906142e2565b60606108306001600160a01b03831660145b60606000612ed4836002613e08565b612edf906002613df5565b6001600160401b03811115612ef657612ef66134e3565b6040519080825280601f01601f191660200182016040528015612f20576020820181803683370190505b509050600360fc1b81600081518110612f3b57612f3b613ddf565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612f6a57612f6a613ddf565b60200101906001600160f81b031916908160001a9053506000612f8e846002613e08565b612f99906001613df5565b90505b6001811115613011576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612fcd57612fcd613ddf565b1a60f81b828281518110612fe357612fe3613ddf565b60200101906001600160f81b031916908160001a90535060049490941c9361300a8161436f565b9050612f9c565b5083156130605760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610802565b9392505050565b6001600160a01b0385166130ef5760005b83518110156130ed5782818151811061309357613093613ddf565b602002602001015161012d60008684815181106130b2576130b2613ddf565b6020026020010151815260200190815260200160002060008282546130d79190613df5565b909155506130e6905081613ce0565b9050613078565b505b6001600160a01b0384166120435760005b835181101561269f57600084828151811061311d5761311d613ddf565b60200260200101519050600084838151811061313b5761313b613ddf565b60200260200101519050600061012d6000848152602001908152602001600020549050818110156131bf5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f74604482015267616c537570706c7960c01b6064820152608401610802565b600092835261012d6020526040909220910390556131dc81613ce0565b9050613100565b6131ec81612bfa565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061306083836040518060600160405280602781526020016143c360279139613254565b6067610cea8282613e65565b6060600080856001600160a01b0316856040516132719190614386565b600060405180830381855af49150503d80600081146132ac576040519150601f19603f3d011682016040523d82523d6000602084013e6132b1565b606091505b50915091506132c2868383876132cc565b9695505050505050565b6060831561333b578251600003613334576001600160a01b0385163b6133345760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610802565b5081613345565b613345838361334d565b949350505050565b815115612b495781518083602001fd5b80356001600160a01b038116811461337457600080fd5b919050565b6000806040838503121561338c57600080fd5b6133958361335d565b946020939093013593505050565b6001600160e01b031981168114610dca57600080fd5b6000602082840312156133cb57600080fd5b8135613060816133a3565b6000602082840312156133e857600080fd5b5035919050565b60005b8381101561340a5781810151838201526020016133f2565b50506000910152565b6000815180845261342b8160208601602086016133ef565b601f01601f19169290920160200192915050565b6020815260006130606020830184613413565b634e487b7160e01b600052602160045260246000fd5b6004811061348657634e487b7160e01b600052602160045260246000fd5b9052565b6134948188613468565b85602082015284604082015260018060a01b038416606082015260c0608082015260006134c460c0830185613413565b82810360a08401526134d68185613413565b9998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b038111828210171561351e5761351e6134e3565b6040525050565b60006001600160401b0382111561353e5761353e6134e3565b5060051b60200190565b600082601f83011261355957600080fd5b8135602061356682613525565b60405161357382826134f9565b83815260059390931b850182019282810191508684111561359357600080fd5b8286015b848110156135ae5780358352918301918301613597565b509695505050505050565b600082601f8301126135ca57600080fd5b81356001600160401b038111156135e3576135e36134e3565b6040516135fa601f8301601f1916602001826134f9565b81815284602083860101111561360f57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a0868803121561364457600080fd5b61364d8661335d565b945061365b6020870161335d565b935060408601356001600160401b038082111561367757600080fd5b61368389838a01613548565b9450606088013591508082111561369957600080fd5b6136a589838a01613548565b935060808801359150808211156136bb57600080fd5b506136c8888289016135b9565b9150509295509295909350565b600080604083850312156136e857600080fd5b823591506136f86020840161335d565b90509250929050565b60006020828403121561371357600080fd5b6130608261335d565b6000806040838503121561372f57600080fd5b82356001600160401b038082111561374657600080fd5b818501915085601f83011261375a57600080fd5b8135602061376782613525565b60405161377482826134f9565b83815260059390931b850182019282810191508984111561379457600080fd5b948201945b838610156137b9576137aa8661335d565b82529482019490820190613799565b965050860135925050808211156137cf57600080fd5b506137dc85828601613548565b9150509250929050565b600081518084526020808501945080840160005b83811015613816578151875295820195908201906001016137fa565b509495945050505050565b60208152600061306060208301846137e6565b6000806040838503121561384757600080fd5b6138508361335d565b915060208301356001600160401b0381111561386b57600080fd5b6137dc858286016135b9565b60008060006060848603121561388c57600080fd5b6138958461335d565b925060208401356001600160401b03808211156138b157600080fd5b6138bd87838801613548565b935060408601359150808211156138d357600080fd5b506138e086828701613548565b9150509250925092565b600080604083850312156138fd57600080fd5b8235915060208301356001600160401b0381111561386b57600080fd5b6000806000806080858703121561393057600080fd5b84359350602085013592506139476040860161335d565b915060608501356001600160401b0381111561396257600080fd5b61396e878288016135b9565b91505092959194509250565b6000806040838503121561398d57600080fd5b6139968361335d565b9150602083013580151581146139ab57600080fd5b809150509250929050565b600080600080600060a086880312156139ce57600080fd5b853594506139de6020870161335d565b93506139ec6040870161335d565b925060608601356001600160401b0380821115613a0857600080fd5b6136a589838a016135b9565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613a7c57888303603f1901855281518051878552613a5f88860182613413565b918901519489019490945294870194925090860190600101613a3b565b509098975050505050505050565b60008060408385031215613a9d57600080fd5b50508035926020909101359150565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613a7c57603f19898403018552815160c0613af3858351613468565b81890151858a015287820151888601526060808301516001600160a01b031690860152608080830151818701839052613b2e83880182613413565b9250505060a08083015192508582038187015250613b4c8183613413565b968901969450505090860190600101613ad3565b600080600060608486031215613b7557600080fd5b8335925060208401356001600160401b0380821115613b9357600080fd5b613b9f878388016135b9565b93506040860135915080821115613bb557600080fd5b506138e0868287016135b9565b60008060408385031215613bd557600080fd5b613bde8361335d565b91506136f86020840161335d565b600080600080600060a08688031215613c0457600080fd5b613c0d8661335d565b9450613c1b6020870161335d565b9350604086013592506060860135915060808601356001600160401b03811115613c4457600080fd5b6136c8888289016135b9565b600080600060608486031215613c6557600080fd5b613c6e8461335d565b95602085013595506040909401359392505050565b600181811c90821680613c9757607f821691505b602082108103611be957634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8181038181111561083057610830613cb7565b600060018201613cf257613cf2613cb7565b5060010190565b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b8082018082111561083057610830613cb7565b808202811582820484141761083057610830613cb7565b601f821115610c6b57600081815260208120601f850160051c81016020861015613e465750805b601f850160051c820191505b8181101561204357828155600101613e52565b81516001600160401b03811115613e7e57613e7e6134e3565b613e9281613e8c8454613c83565b84613e1f565b602080601f831160018114613ec75760008415613eaf5750858301515b600019600386901b1c1916600185901b178555612043565b600085815260208120601f198616915b82811015613ef657888601518255948401946001909101908401613ed7565b5085821015613f145787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b848152608060208201526000613f3d6080830186613413565b6040830194909452506001600160a01b039190911660609091015292915050565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60408152600061404860408301856137e6565b828103602084015261405a81856137e6565b95945050505050565b60006020828403121561407557600080fd5b5051919050565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516141868160178501602088016133ef565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516141b78160288401602088016133ef565b01602801949350505050565b6001600160a01b0386811682528516602082015260a0604082018190526000906141ef908301866137e6565b828103606084015261420181866137e6565b905082810360808401526142158185613413565b98975050505050505050565b60006020828403121561423357600080fd5b8151613060816133a3565b600060033d11156110a55760046000803e5060005160e01c90565b600060443d10156142675790565b6040516003193d81016004833e81513d6001600160401b03816024840111818411171561429657505050505090565b82850191508151818111156142ae5750505050505090565b843d87010160208285010111156142c85750505050505090565b6142d7602082860101876134f9565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061436490830184613413565b979650505050505050565b60008161437e5761437e613cb7565b506000190190565b600082516143988184602087016133ef565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220da130ed039dda045ef956f688a9273e300b1e1286ffcad30d5d2db075c62018664736f6c63430008130033"; - -type EditionsConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: EditionsConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class Editions__factory extends ContractFactory { - constructor(...args: EditionsConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - override getDeployTransaction( - overrides?: NonPayableOverrides & { from?: string } - ): Promise { - return super.getDeployTransaction(overrides || {}); - } - override deploy(overrides?: NonPayableOverrides & { from?: string }) { - return super.deploy(overrides || {}) as Promise< - Editions & { - deploymentTransaction(): ContractTransactionResponse; - } - >; - } - override connect(runner: ContractRunner | null): Editions__factory { - return super.connect(runner) as Editions__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): EditionsInterface { - return new Interface(_abi) as EditionsInterface; - } - static connect(address: string, runner?: ContractRunner | null): Editions { - return new Contract(address, _abi, runner) as unknown as Editions; - } -} diff --git a/typechain-types/factories/src/Editions/IEditions__factory.ts b/typechain-types/factories/src/Editions/IEditions__factory.ts deleted file mode 100644 index 6e96e9e..0000000 --- a/typechain-types/factories/src/Editions/IEditions__factory.ts +++ /dev/null @@ -1,428 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Interface, type ContractRunner } from "ethers"; -import type { - IEditions, - IEditionsInterface, -} from "../../../src/Editions/IEditions"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "EditionApproved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "owner", - type: "address", - }, - ], - name: "EditionBalanceWithdrawn", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "believer", - type: "address", - }, - ], - name: "EditionBeliefRemoved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "believer", - type: "address", - }, - { - indexed: false, - internalType: "string", - name: "tags", - type: "string", - }, - ], - name: "EditionBelieved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: false, - internalType: "string", - name: "briefId", - type: "string", - }, - { - indexed: false, - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "owner", - type: "address", - }, - ], - name: "EditionCreated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "EditionResumed", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "EditionStopped", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "approveEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "string", - name: "tags", - type: "string", - }, - ], - name: "believeProject", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "payer", - type: "address", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - name: "createEdition", - outputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - ], - name: "getBalances", - outputs: [ - { - components: [ - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - internalType: "struct EditionsStructs.EditionIdWithAmount[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getEditions", - outputs: [ - { - components: [ - { - internalType: "enum EditionsStructs.EditionStatus", - name: "status", - type: "uint8", - }, - { - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - internalType: "uint256", - name: "balance", - type: "uint256", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - internalType: "struct EditionsStructs.Edition[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "address", - name: "buyer", - type: "address", - }, - { - internalType: "bytes", - name: "data", - type: "bytes", - }, - ], - name: "mintEdition", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "removeBelief", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "resumeEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "stopEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - name: "updateEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "withdrawEditionBalance", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "withdrawFunds", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, -] as const; - -export class IEditions__factory { - static readonly abi = _abi; - static createInterface(): IEditionsInterface { - return new Interface(_abi) as IEditionsInterface; - } - static connect(address: string, runner?: ContractRunner | null): IEditions { - return new Contract(address, _abi, runner) as unknown as IEditions; - } -} diff --git a/typechain-types/factories/src/Editions/index.ts b/typechain-types/factories/src/Editions/index.ts deleted file mode 100644 index d0cd28a..0000000 --- a/typechain-types/factories/src/Editions/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { Editions__factory } from "./Editions__factory"; -export { EditionsRoles__factory } from "./EditionsRoles__factory"; -export { IEditions__factory } from "./IEditions__factory"; diff --git a/typechain-types/factories/src/IRadarEditions__factory.ts b/typechain-types/factories/src/IRadarEditions__factory.ts deleted file mode 100644 index 1e2b064..0000000 --- a/typechain-types/factories/src/IRadarEditions__factory.ts +++ /dev/null @@ -1,470 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Interface, type ContractRunner } from "ethers"; -import type { - IRadarEditions, - IRadarEditionsInterface, -} from "../../src/IRadarEditions"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "EditionApproved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "owner", - type: "address", - }, - ], - name: "EditionBalanceWithdrawn", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "believer", - type: "address", - }, - ], - name: "EditionBeliefRemoved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "believer", - type: "address", - }, - { - indexed: false, - internalType: "string", - name: "tags", - type: "string", - }, - ], - name: "EditionBelieved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: false, - internalType: "string", - name: "briefId", - type: "string", - }, - { - indexed: false, - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "owner", - type: "address", - }, - ], - name: "EditionCreated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "EditionResumed", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "EditionStopped", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "approveEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "string", - name: "tags", - type: "string", - }, - ], - name: "believeProject", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "payer", - type: "address", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - name: "createEdition", - outputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - ], - name: "getBalances", - outputs: [ - { - components: [ - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - internalType: "struct EditionsStructs.EditionIdWithAmount[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getEditions", - outputs: [ - { - components: [ - { - internalType: "enum EditionsStructs.EditionStatus", - name: "status", - type: "uint8", - }, - { - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - internalType: "uint256", - name: "balance", - type: "uint256", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - internalType: "struct EditionsStructs.Edition[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "address", - name: "buyer", - type: "address", - }, - { - internalType: "bytes", - name: "data", - type: "bytes", - }, - ], - name: "mintEdition", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "removeBelief", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "resumeEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_maximumEditionFee", - type: "uint256", - }, - ], - name: "setMaximumEditionFee", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_protocolFee", - type: "uint256", - }, - ], - name: "setProtocolFee", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "string", - name: "newuri", - type: "string", - }, - ], - name: "setURI", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "stopEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - name: "updateEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "withdrawEditionBalance", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "withdrawFunds", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, -] as const; - -export class IRadarEditions__factory { - static readonly abi = _abi; - static createInterface(): IRadarEditionsInterface { - return new Interface(_abi) as IRadarEditionsInterface; - } - static connect( - address: string, - runner?: ContractRunner | null - ): IRadarEditions { - return new Contract(address, _abi, runner) as unknown as IRadarEditions; - } -} diff --git a/typechain-types/factories/src/RadarEditions__factory.ts b/typechain-types/factories/src/RadarEditions__factory.ts deleted file mode 100644 index 1567c37..0000000 --- a/typechain-types/factories/src/RadarEditions__factory.ts +++ /dev/null @@ -1,1409 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - Contract, - ContractFactory, - ContractTransactionResponse, - Interface, -} from "ethers"; -import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; -import type { NonPayableOverrides } from "../../common"; -import type { - RadarEditions, - RadarEditionsInterface, -} from "../../src/RadarEditions"; - -const _abi = [ - { - inputs: [], - name: "EditionFeeExceedsMaximumFee", - type: "error", - }, - { - inputs: [], - name: "EditionNotCreated", - type: "error", - }, - { - inputs: [], - name: "EditionNotEnoughBalance", - type: "error", - }, - { - inputs: [], - name: "EditionNotLaunched", - type: "error", - }, - { - inputs: [], - name: "EditionNotStopped", - type: "error", - }, - { - inputs: [], - name: "NotCorrectUser", - type: "error", - }, - { - inputs: [], - name: "NotEditionOwner", - type: "error", - }, - { - inputs: [], - name: "NotEnoughFees", - type: "error", - }, - { - inputs: [], - name: "NotEnoughFunds", - type: "error", - }, - { - inputs: [], - name: "TransactionFailed", - type: "error", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "previousAdmin", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "newAdmin", - type: "address", - }, - ], - name: "AdminChanged", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "account", - 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: "beacon", - type: "address", - }, - ], - name: "BeaconUpgraded", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "EditionApproved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "owner", - type: "address", - }, - ], - name: "EditionBalanceWithdrawn", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "believer", - type: "address", - }, - ], - name: "EditionBeliefRemoved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "believer", - type: "address", - }, - { - indexed: false, - internalType: "string", - name: "tags", - type: "string", - }, - ], - name: "EditionBelieved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - indexed: false, - internalType: "string", - name: "briefId", - type: "string", - }, - { - indexed: false, - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "owner", - type: "address", - }, - ], - name: "EditionCreated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "EditionResumed", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "EditionStopped", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint8", - name: "version", - type: "uint8", - }, - ], - name: "Initialized", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "Paused", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - indexed: true, - internalType: "bytes32", - name: "previousAdminRole", - type: "bytes32", - }, - { - indexed: true, - internalType: "bytes32", - name: "newAdminRole", - type: "bytes32", - }, - ], - name: "RoleAdminChanged", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - indexed: true, - internalType: "address", - name: "account", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "sender", - type: "address", - }, - ], - name: "RoleGranted", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - indexed: true, - internalType: "address", - name: "account", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "sender", - type: "address", - }, - ], - name: "RoleRevoked", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "operator", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "to", - type: "address", - }, - { - indexed: false, - internalType: "uint256[]", - name: "ids", - type: "uint256[]", - }, - { - indexed: false, - internalType: "uint256[]", - name: "values", - type: "uint256[]", - }, - ], - name: "TransferBatch", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "operator", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "from", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "to", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "TransferSingle", - 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: "address", - name: "account", - type: "address", - }, - ], - name: "Unpaused", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "implementation", - type: "address", - }, - ], - name: "Upgraded", - type: "event", - }, - { - stateMutability: "payable", - type: "fallback", - }, - { - inputs: [], - name: "DEFAULT_ADMIN_ROLE", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "approveEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - ], - name: "balanceOf", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address[]", - name: "accounts", - type: "address[]", - }, - { - internalType: "uint256[]", - name: "ids", - type: "uint256[]", - }, - ], - name: "balanceOfBatch", - outputs: [ - { - internalType: "uint256[]", - name: "", - type: "uint256[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "string", - name: "tags", - type: "string", - }, - ], - name: "believeProject", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "uint256", - name: "value", - type: "uint256", - }, - ], - name: "burn", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - { - internalType: "uint256[]", - name: "ids", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "values", - type: "uint256[]", - }, - ], - name: "burnBatch", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "contractURI", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "payer", - type: "address", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - name: "createEdition", - outputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "editionCounter", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - name: "editions", - outputs: [ - { - internalType: "enum EditionsStructs.EditionStatus", - name: "status", - type: "uint8", - }, - { - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - internalType: "uint256", - name: "balance", - type: "uint256", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - ], - name: "exists", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - ], - name: "getBalances", - outputs: [ - { - components: [ - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - internalType: "struct EditionsStructs.EditionIdWithAmount[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "getEditions", - outputs: [ - { - components: [ - { - internalType: "enum EditionsStructs.EditionStatus", - name: "status", - type: "uint8", - }, - { - internalType: "uint256", - name: "fee", - type: "uint256", - }, - { - internalType: "uint256", - name: "balance", - type: "uint256", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - internalType: "struct EditionsStructs.Edition[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - ], - name: "getRoleAdmin", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "grantRole", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "hasRole", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "initialize", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "account", - type: "address", - }, - { - internalType: "address", - name: "operator", - type: "address", - }, - ], - name: "isApprovedForAll", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "maximumEditionFee", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "address", - name: "buyer", - type: "address", - }, - { - internalType: "bytes", - name: "data", - type: "bytes", - }, - ], - name: "mintEdition", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [], - name: "pause", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "paused", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "protocolFee", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "proxiableUUID", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "removeBelief", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "renounceRole", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "resumeEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "role", - type: "bytes32", - }, - { - internalType: "address", - name: "account", - type: "address", - }, - ], - name: "revokeRole", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256[]", - name: "ids", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "amounts", - type: "uint256[]", - }, - { - internalType: "bytes", - name: "data", - type: "bytes", - }, - ], - name: "safeBatchTransferFrom", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "from", - type: "address", - }, - { - internalType: "address", - name: "to", - type: "address", - }, - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "uint256", - name: "amount", - 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: "uint256", - name: "_maximumEditionFee", - type: "uint256", - }, - ], - name: "setMaximumEditionFee", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "_protocolFee", - type: "uint256", - }, - ], - name: "setProtocolFee", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "string", - name: "newuri", - type: "string", - }, - ], - name: "setURI", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - ], - name: "stopEdition", - 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: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - ], - name: "totalSupply", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "unpause", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "string", - name: "id", - type: "string", - }, - { - internalType: "string", - name: "briefId", - type: "string", - }, - ], - name: "updateEdition", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newImplementation", - type: "address", - }, - ], - name: "upgradeTo", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newImplementation", - type: "address", - }, - { - internalType: "bytes", - name: "data", - type: "bytes", - }, - ], - name: "upgradeToAndCall", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - ], - name: "uri", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "editionId", - type: "uint256", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "withdrawEditionBalance", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "withdrawFunds", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - stateMutability: "payable", - type: "receive", - }, -] as const; - -const _bytecode = - "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805161475e6200011f60003960008181610d7301528181610db301528181610fad01528181610fed015261107c015261475e6000f3fe60806040526004361061025d5760003560e01c8063790bafc611610143578063c6fbb712116100bb578063e8a3d48511610077578063e8a3d4851461075e578063e985e9c514610773578063f242432a146107bc578063f5298aca146107dc578063f8c1b2fd146107fc578063fc74efa21461081c57005b8063c6fbb71214610698578063c84aae17146106af578063d547741f146106dc578063d667c9ce146106fc578063df6efc6c1461071c578063e43990fe1461073e57005b8063940123da1161010a578063940123da146105eb578063a217fddf146105fe578063a22cb46514610613578063b0e21e8a14610633578063b3a44bd61461064a578063bd85b0391461066a57005b8063790bafc6146105615780637cc74941146105815780638129fc1c146105a15780638456cb59146105b657806391d14854146105cb57005b80633659cfe6116101d657806352d1902d1161019d57806352d1902d146104bd5780635c975abb146104d25780636b20c454146104ea5780636b5cb7891461050a5780637357628c14610521578063787dce3d1461054157005b80633659cfe6146104185780633f4ba83a146104385780634e1273f41461044d5780634f1ef2861461047a5780634f558e791461048d57005b8063155dd5ee11610225578063155dd5ee14610336578063248a9ca314610356578063279c806e146103865780632eb2c2d6146103b85780632f2ff15d146103d857806336568abe146103f857005b8062fdd58e1461026657806301ffc9a71461029957806302fe5305146102c95780630a579eca146102e95780630e89341c1461030957005b3661026457005b005b34801561027257600080fd5b50610286610281366004613631565b61083c565b6040519081526020015b60405180910390f35b3480156102a557600080fd5b506102b96102b4366004613671565b6108d7565b6040519015158152602001610290565b3480156102d557600080fd5b506102646102e4366004613743565b6108e2565b3480156102f557600080fd5b50610264610304366004613777565b610919565b34801561031557600080fd5b50610329610324366004613777565b6109fb565b60405161029091906137e0565b34801561034257600080fd5b50610264610351366004613777565b610a36565b34801561036257600080fd5b50610286610371366004613777565b60009081526097602052604090206001015490565b34801561039257600080fd5b506103a66103a1366004613777565b610b33565b6040516102909695949392919061382b565b3480156103c457600080fd5b506102646103d3366004613918565b610c89565b3480156103e457600080fd5b506102646103f33660046139c1565b610cd5565b34801561040457600080fd5b506102646104133660046139c1565b610cef565b34801561042457600080fd5b506102646104333660046139ed565b610d69565b34801561044457600080fd5b50610264610e48565b34801561045957600080fd5b5061046d610468366004613a08565b610e7a565b6040516102909190613b0d565b610264610488366004613b20565b610fa3565b34801561049957600080fd5b506102b96104a8366004613777565b600090815261012d6020526040902054151590565b3480156104c957600080fd5b5061028661106f565b3480156104de57600080fd5b5060c95460ff166102b9565b3480156104f657600080fd5b50610264610505366004613b63565b611123565b34801561051657600080fd5b506102866101c65481565b34801561052d57600080fd5b5061026461053c366004613777565b611166565b34801561054d57600080fd5b5061026461055c366004613777565b611207565b34801561056d57600080fd5b5061026461057c366004613bd6565b611219565b34801561058d57600080fd5b5061026461059c366004613777565b6112ce565b3480156105ad57600080fd5b506102646112e0565b3480156105c257600080fd5b506102646114ab565b3480156105d757600080fd5b506102b96105e63660046139c1565b6114dd565b6102646105f9366004613c06565b611508565b34801561060a57600080fd5b50610286600081565b34801561061f57600080fd5b5061026461062e366004613c66565b6115e9565b34801561063f57600080fd5b506102866101c35481565b34801561065657600080fd5b50610286610665366004613ca2565b6115f4565b34801561067657600080fd5b50610286610685366004613777565b600090815261012d602052604090205490565b3480156106a457600080fd5b506102866101c55481565b3480156106bb57600080fd5b506106cf6106ca3660046139ed565b61174e565b6040516102909190613d00565b3480156106e857600080fd5b506102646106f73660046139c1565b6118b8565b34801561070857600080fd5b50610264610717366004613d76565b6118dd565b34801561072857600080fd5b50610731611a1f565b6040516102909190613d98565b34801561074a57600080fd5b50610264610759366004613e4c565b611c8e565b34801561076a57600080fd5b50610329611d16565b34801561077f57600080fd5b506102b961078e366004613eae565b6001600160a01b03918216600090815260666020908152604080832093909416825291909152205460ff1690565b3480156107c857600080fd5b506102646107d7366004613ed8565b611d36565b3480156107e857600080fd5b506102646107f7366004613f3c565b611d7b565b34801561080857600080fd5b50610264610817366004613777565b611dbe565b34801561082857600080fd5b50610264610837366004613777565b611e53565b60006001600160a01b0383166108ac5760405162461bcd60e51b815260206004820152602a60248201527f455243313135353a2061646472657373207a65726f206973206e6f742061207660448201526930b634b21037bbb732b960b11b60648201526084015b60405180910390fd5b5060008181526065602090815260408083206001600160a01b03861684529091529020545b92915050565b60006108d182611f2e565b7f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c61090c81611f53565b61091582611f5d565b5050565b60008181526101c460205260409020600301546001600160a01b031633148061094857506109486000336114dd565b6109655760405163388f811f60e01b815260040160405180910390fd5b600260008281526101c4602052604090205460ff16600381111561098b5761098b6137f3565b146109a957604051631f0fb6fd60e11b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600317905590518281527f591913f977ab242c5871f116f36be231ff67df5e8e0bac1efd91fa8a723aca2b91015b60405180910390a150565b6060610a0682611f69565b610a0f83611ffd565b604051602001610a20929190613f6f565b6040516020818303038152906040529050919050565b6000610a4181611f53565b47821115610a6257604051631036b5ad60e31b815260040160405180910390fd5b4760005b6101c554811015610ac35760008181526101c46020526040902060020154610a8e9083613fb4565b915083821015610ab15760405163156bbc5b60e01b815260040160405180910390fd5b80610abb81613fc7565b915050610a66565b50604051600090339085908381818185875af1925050503d8060008114610b06576040519150601f19603f3d011682016040523d82523d6000602084013e610b0b565b606091505b5050905080610b2d576040516317f2c34560e31b815260040160405180910390fd5b50505050565b6101c4602052600090815260409020805460018201546002830154600384015460048501805460ff90951695939492936001600160a01b0390921692610b7890613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba490613fe0565b8015610bf15780601f10610bc657610100808354040283529160200191610bf1565b820191906000526020600020905b815481529060010190602001808311610bd457829003601f168201915b505050505090806005018054610c0690613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054610c3290613fe0565b8015610c7f5780601f10610c5457610100808354040283529160200191610c7f565b820191906000526020600020905b815481529060010190602001808311610c6257829003601f168201915b5050505050905086565b6001600160a01b038516331480610ca55750610ca5853361078e565b610cc15760405162461bcd60e51b81526004016108a390614014565b610cce858585858561208f565b5050505050565b6000610ce081611f53565b610cea838361223c565b505050565b6001600160a01b0381163314610d5f5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016108a3565b61091582826122c2565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610db15760405162461bcd60e51b81526004016108a390614062565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610dfa6000805160206146be833981519152546001600160a01b031690565b6001600160a01b031614610e205760405162461bcd60e51b81526004016108a3906140ae565b610e2981612329565b60408051600080825260208201909252610e4591839190612353565b50565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a610e7281611f53565b610e456124be565b60608151835114610edf5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016108a3565b600083516001600160401b03811115610efa57610efa61368e565b604051908082528060200260200182016040528015610f23578160200160208202803683370190505b50905060005b8451811015610f9b57610f6e858281518110610f4757610f476140fa565b6020026020010151858381518110610f6157610f616140fa565b602002602001015161083c565b828281518110610f8057610f806140fa565b6020908102919091010152610f9481613fc7565b9050610f29565b509392505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610feb5760405162461bcd60e51b81526004016108a390614062565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110346000805160206146be833981519152546001600160a01b031690565b6001600160a01b03161461105a5760405162461bcd60e51b81526004016108a3906140ae565b61106382612329565b61091582826001612353565b6000306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461110f5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016108a3565b506000805160206146be8339815191525b90565b6001600160a01b03831633148061113f575061113f833361078e565b61115b5760405162461bcd60e51b81526004016108a390614014565b610cea838383612510565b600061117181611f53565b600160008381526101c4602052604090205460ff166003811115611197576111976137f3565b146111b55760405163137c9c1f60e31b815260040160405180910390fd5b60008281526101c46020908152604091829020805460ff1916600217905590518381527f8f4352ac8b4aefdd2333162306bbe09dd4f4ff6661e89ccc4e4dcced8794e8f7910160405180910390a15050565b600061121281611f53565b506101c355565b600260008381526101c4602052604090205460ff16600381111561123f5761123f6137f3565b1461125d5760405163137c9c1f60e31b815260040160405180910390fd5b3360009081526101c760209081526040808320600886901c845290915290208054600160ff85161b179055336001600160a01b0316827f710e220a47c8d9e50587c80fe509f5e762149ef672440eff70798204dd70f5eb836040516112c291906137e0565b60405180910390a35050565b60006112d981611f53565b506101c655565b600054610100900460ff16158080156113005750600054600160ff909116105b8061131a5750303b15801561131a575060005460ff166001145b61137d5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016108a3565b6000805460ff1916600117905580156113a0576000805461ff0019166101001790555b6113b8604051806020016040528060008152506126af565b6113c06126df565b6113c8612708565b6113d06126df565b6113d86126df565b6113e06126df565b6113eb60003361223c565b6114157f7804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c3361223c565b61143f7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a3361223c565b6114697f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e33361223c565b8015610e45576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020016109f0565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6114d581611f53565b610e45612737565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600260008581526101c4602052604090205460ff16600381111561152e5761152e6137f3565b1461154c57604051631f0fb6fd60e11b815260040160405180910390fd5b6101c35460008581526101c46020526040902060010154849161156e91614110565b6115789190614123565b34101561159857604051631036b5ad60e31b815260040160405180910390fd5b6115a482858584612774565b6101c3546115b29084614123565b6115bc9034613fb4565b60008581526101c46020526040812060020180549091906115de908490614110565b909155505050505050565b610915338383612899565b60006101c65486111561161a57604051630f0c4c5f60e41b815260040160405180910390fd5b506101c5546040805160c0810190915280600181526020808201899052600060408084018290526001600160a01b038a1660608501526080840188905260a09093018690528481526101c49091522081518154829060ff19166001836003811115611687576116876137f3565b0217905550602082015160018201556040820151600282015560608201516003820180546001600160a01b0319166001600160a01b03909216919091179055608082015160048201906116da9082614180565b5060a082015160058201906116ef9082614180565b50506101c580549150600061170383613fc7565b91905055507f3deb71b5a6774038a220621d78241405004043d5a928de9c7956bcc5270416db8183888860405161173d949392919061423f565b60405180910390a195945050505050565b606060006101c5546001600160401b0381111561176d5761176d61368e565b6040519080825280602002602001820160405280156117b357816020015b60408051808201909152606081526000602082015281526020019060019003908161178b5790505b50905060005b6101c5548110156118b15760405180604001604052806101c4600084815260200190815260200160002060040180546117f190613fe0565b80601f016020809104026020016040519081016040528092919081815260200182805461181d90613fe0565b801561186a5780601f1061183f5761010080835404028352916020019161186a565b820191906000526020600020905b81548152906001019060200180831161184d57829003601f168201915b5050505050815260200161187e868461083c565b815250828281518110611893576118936140fa565b602002602001018190525080806118a990613fc7565b9150506117b9565b5092915050565b6000828152609760205260409020600101546118d381611f53565b610cea83836122c2565b60008281526101c460205260409020600301546001600160a01b031633146119185760405163388f811f60e01b815260040160405180910390fd5b60008281526101c4602052604090206002015481111561194b57604051637eafab7d60e01b815260040160405180910390fd5b604051600090339083908381818185875af1925050503d806000811461198d576040519150601f19603f3d011682016040523d82523d6000602084013e611992565b606091505b50509050806119b4576040516317f2c34560e31b815260040160405180910390fd5b60008381526101c46020526040812060020180548492906119d6908490613fb4565b90915550506040805184815260208101849052338183015290517ff1090e9d5138cd4909542e10e1da576730b07eb291a71a151e63160dde345b949181900360600190a1505050565b606060006101c5546001600160401b03811115611a3e57611a3e61368e565b604051908082528060200260200182016040528015611ab257816020015b611a9f6040805160c081019091528060008152602001600081526020016000815260200160006001600160a01b0316815260200160608152602001606081525090565b815260200190600190039081611a5c5790505b50905060005b6101c554811015611c885760008181526101c4602052604090819020815160c081019092528054829060ff166003811115611af557611af56137f3565b6003811115611b0657611b066137f3565b8152600182015460208201526002820154604082015260038201546001600160a01b03166060820152600482018054608090920191611b4490613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054611b7090613fe0565b8015611bbd5780601f10611b9257610100808354040283529160200191611bbd565b820191906000526020600020905b815481529060010190602001808311611ba057829003601f168201915b50505050508152602001600582018054611bd690613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054611c0290613fe0565b8015611c4f5780601f10611c2457610100808354040283529160200191611c4f565b820191906000526020600020905b815481529060010190602001808311611c3257829003601f168201915b505050505081525050828281518110611c6a57611c6a6140fa565b60200260200101819052508080611c8090613fc7565b915050611ab8565b50919050565b6000611c9981611f53565b600260008581526101c4602052604090205460ff166003811115611cbf57611cbf6137f3565b14611cdd5760405163137c9c1f60e31b815260040160405180910390fd5b60008481526101c460205260409020600401611cf98482614180565b5060008481526101c460205260409020600501610cce8382614180565b606060405180606001604052806024815260200161470560249139905090565b6001600160a01b038516331480611d525750611d52853361078e565b611d6e5760405162461bcd60e51b81526004016108a390614014565b610cce8585858585612979565b6001600160a01b038316331480611d975750611d97833361078e565b611db35760405162461bcd60e51b81526004016108a390614014565b610cea838383612ab5565b3360009081526101c760209081526040808320600885901c84529182905290912054600160ff84161b16611e055760405163423f327760e11b815260040160405180910390fd5b600882901c6000908152602082905260408082208054600160ff87161b1916905551339184917fc6c1c3224e50c3c958e39197695bdfe8457ce7c0014d8d51a4d3aa12c5ac18489190a35050565b60008181526101c460205260409020600301546001600160a01b0316331480611e825750611e826000336114dd565b611e9f5760405163388f811f60e01b815260040160405180910390fd5b600360008281526101c4602052604090205460ff166003811115611ec557611ec56137f3565b14611ee35760405163968807a560e01b815260040160405180910390fd5b60008181526101c46020908152604091829020805460ff1916600217905590518281527f63bb17c9645a29322601b4fe88d8f3fa84f32229368294f903084be8f5d813ba91016109f0565b60006001600160e01b03198216637965db0b60e01b14806108d157506108d182612bd1565b610e458133612c21565b60676109158282614180565b606060678054611f7890613fe0565b80601f0160208091040260200160405190810160405280929190818152602001828054611fa490613fe0565b8015611ff15780601f10611fc657610100808354040283529160200191611ff1565b820191906000526020600020905b815481529060010190602001808311611fd457829003601f168201915b50505050509050919050565b6060600061200a83612c7a565b60010190506000816001600160401b038111156120295761202961368e565b6040519080825280601f01601f191660200182016040528015612053576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461205d57509392505050565b81518351146120b05760405162461bcd60e51b81526004016108a390614279565b6001600160a01b0384166120d65760405162461bcd60e51b81526004016108a3906142c1565b336120e5818787878787612d52565b60005b84518110156121ce576000858281518110612105576121056140fa565b602002602001015190506000858381518110612123576121236140fa565b60209081029190910181015160008481526065835260408082206001600160a01b038e1683529093529190912054909150818110156121745760405162461bcd60e51b81526004016108a390614306565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b168252812080548492906121b3908490614110565b92505081905550505050806121c790613fc7565b90506120e8565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161221e929190614350565b60405180910390a4612234818787878787612d68565b505050505050565b61224682826114dd565b6109155760008281526097602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561227e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6122cc82826114dd565b156109155760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e361091581611f53565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561238657610cea83612ec3565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156123e0575060408051601f3d908101601f191682019092526123dd9181019061437e565b60015b6124435760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016108a3565b6000805160206146be83398151915281146124b25760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016108a3565b50610cea838383612f5f565b6124c6612f84565b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b6001600160a01b0383166125365760405162461bcd60e51b81526004016108a390614397565b80518251146125575760405162461bcd60e51b81526004016108a390614279565b600033905061257a81856000868660405180602001604052806000815250612d52565b60005b835181101561264257600084828151811061259a5761259a6140fa565b6020026020010151905060008483815181106125b8576125b86140fa565b60209081029190910181015160008481526065835260408082206001600160a01b038c1683529093529190912054909150818110156126095760405162461bcd60e51b81526004016108a3906143da565b60009283526065602090815260408085206001600160a01b038b168652909152909220910390558061263a81613fc7565b91505061257d565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051612693929190614350565b60405180910390a4604080516020810190915260009052610b2d565b600054610100900460ff166126d65760405162461bcd60e51b81526004016108a39061441e565b610e4581612fcd565b600054610100900460ff166127065760405162461bcd60e51b81526004016108a39061441e565b565b600054610100900460ff1661272f5760405162461bcd60e51b81526004016108a39061441e565b612706612ffd565b61273f613030565b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586124f33390565b6001600160a01b0384166127d45760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b60648201526084016108a3565b3360006127e085613076565b905060006127ed85613076565b90506127fe83600089858589612d52565b60008681526065602090815260408083206001600160a01b038b16845290915281208054879290612830908490614110565b909155505060408051878152602081018790526001600160a01b03808a1692600092918716917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612890836000898989896130c1565b50505050505050565b816001600160a01b0316836001600160a01b03160361290c5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016108a3565b6001600160a01b03838116600081815260666020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b03841661299f5760405162461bcd60e51b81526004016108a3906142c1565b3360006129ab85613076565b905060006129b885613076565b90506129c8838989858589612d52565b60008681526065602090815260408083206001600160a01b038c16845290915290205485811015612a0b5760405162461bcd60e51b81526004016108a390614306565b60008781526065602090815260408083206001600160a01b038d8116855292528083208985039055908a16825281208054889290612a4a908490614110565b909155505060408051888152602081018890526001600160a01b03808b16928c821692918816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4612aaa848a8a8a8a8a6130c1565b505050505050505050565b6001600160a01b038316612adb5760405162461bcd60e51b81526004016108a390614397565b336000612ae784613076565b90506000612af484613076565b9050612b1483876000858560405180602001604052806000815250612d52565b60008581526065602090815260408083206001600160a01b038a16845290915290205484811015612b575760405162461bcd60e51b81526004016108a3906143da565b60008681526065602090815260408083206001600160a01b038b81168086529184528285208a8703905582518b81529384018a90529092908816917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4604080516020810190915260009052612890565b60006001600160e01b03198216636cdb3d1360e11b1480612c0257506001600160e01b031982166303a24d0760e21b145b806108d157506301ffc9a760e01b6001600160e01b03198316146108d1565b612c2b82826114dd565b61091557612c388161317c565b612c4383602061318e565b604051602001612c54929190614469565b60408051601f198184030181529082905262461bcd60e51b82526108a3916004016137e0565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612cb95772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612ce5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612d0357662386f26fc10000830492506010015b6305f5e1008310612d1b576305f5e100830492506008015b6127108310612d2f57612710830492506004015b60648310612d41576064830492506002015b600a83106108d15760010192915050565b612d5a613030565b612234868686868686613330565b6001600160a01b0384163b156122345760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190612dac90899089908890889088906004016144de565b6020604051808303816000875af1925050508015612de7575060408051601f3d908101601f19168201909252612de49181019061453c565b60015b612e9357612df3614559565b806308c379a003612e2c5750612e07614574565b80612e125750612e2e565b8060405162461bcd60e51b81526004016108a391906137e0565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e2d455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016108a3565b6001600160e01b0319811663bc197c8160e01b146128905760405162461bcd60e51b81526004016108a3906145fd565b6001600160a01b0381163b612f305760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016108a3565b6000805160206146be83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612f68836134ac565b600082511180612f755750805b15610cea57610b2d83836134ec565b60c95460ff166127065760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016108a3565b600054610100900460ff16612ff45760405162461bcd60e51b81526004016108a39061441e565b610e4581611f5d565b600054610100900460ff166130245760405162461bcd60e51b81526004016108a39061441e565b60c9805460ff19169055565b60c95460ff16156127065760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b60448201526064016108a3565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106130b0576130b06140fa565b602090810291909101015292915050565b6001600160a01b0384163b156122345760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e61906131059089908990889088908890600401614645565b6020604051808303816000875af1925050508015613140575060408051601f3d908101601f1916820190925261313d9181019061453c565b60015b61314c57612df3614559565b6001600160e01b0319811663f23a6e6160e01b146128905760405162461bcd60e51b81526004016108a3906145fd565b60606108d16001600160a01b03831660145b6060600061319d836002614123565b6131a8906002614110565b6001600160401b038111156131bf576131bf61368e565b6040519080825280601f01601f1916602001820160405280156131e9576020820181803683370190505b509050600360fc1b81600081518110613204576132046140fa565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110613233576132336140fa565b60200101906001600160f81b031916908160001a9053506000613257846002614123565b613262906001614110565b90505b60018111156132da576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110613296576132966140fa565b1a60f81b8282815181106132ac576132ac6140fa565b60200101906001600160f81b031916908160001a90535060049490941c936132d38161468a565b9050613265565b5083156133295760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108a3565b9392505050565b6001600160a01b0385166133b85760005b83518110156133b65782818151811061335c5761335c6140fa565b602002602001015161012d600086848151811061337b5761337b6140fa565b6020026020010151815260200190815260200160002060008282546133a09190614110565b909155506133af905081613fc7565b9050613341565b505b6001600160a01b0384166122345760005b83518110156128905760008482815181106133e6576133e66140fa565b602002602001015190506000848381518110613404576134046140fa565b60200260200101519050600061012d6000848152602001908152602001600020549050818110156134885760405162461bcd60e51b815260206004820152602860248201527f455243313135353a206275726e20616d6f756e74206578636565647320746f74604482015267616c537570706c7960c01b60648201526084016108a3565b600092835261012d6020526040909220910390556134a581613fc7565b90506133c9565b6134b581612ec3565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061332983836040518060600160405280602781526020016146de602791396060600080856001600160a01b03168560405161352991906146a1565b600060405180830381855af49150503d8060008114613564576040519150601f19603f3d011682016040523d82523d6000602084013e613569565b606091505b509150915061357a86838387613584565b9695505050505050565b606083156135f35782516000036135ec576001600160a01b0385163b6135ec5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108a3565b50816135fd565b6135fd8383613605565b949350505050565b815115612e125781518083602001fd5b80356001600160a01b038116811461362c57600080fd5b919050565b6000806040838503121561364457600080fd5b61364d83613615565b946020939093013593505050565b6001600160e01b031981168114610e4557600080fd5b60006020828403121561368357600080fd5b81356133298161365b565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b03811182821017156136c9576136c961368e565b6040525050565b600082601f8301126136e157600080fd5b81356001600160401b038111156136fa576136fa61368e565b604051613711601f8301601f1916602001826136a4565b81815284602083860101111561372657600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561375557600080fd5b81356001600160401b0381111561376b57600080fd5b6135fd848285016136d0565b60006020828403121561378957600080fd5b5035919050565b60005b838110156137ab578181015183820152602001613793565b50506000910152565b600081518084526137cc816020860160208601613790565b601f01601f19169290920160200192915050565b60208152600061332960208301846137b4565b634e487b7160e01b600052602160045260246000fd5b6004811061382757634e487b7160e01b600052602160045260246000fd5b9052565b6138358188613809565b85602082015284604082015260018060a01b038416606082015260c06080820152600061386560c08301856137b4565b82810360a084015261387781856137b4565b9998505050505050505050565b60006001600160401b0382111561389d5761389d61368e565b5060051b60200190565b600082601f8301126138b857600080fd5b813560206138c582613884565b6040516138d282826136a4565b83815260059390931b85018201928281019150868411156138f257600080fd5b8286015b8481101561390d57803583529183019183016138f6565b509695505050505050565b600080600080600060a0868803121561393057600080fd5b61393986613615565b945061394760208701613615565b935060408601356001600160401b038082111561396357600080fd5b61396f89838a016138a7565b9450606088013591508082111561398557600080fd5b61399189838a016138a7565b935060808801359150808211156139a757600080fd5b506139b4888289016136d0565b9150509295509295909350565b600080604083850312156139d457600080fd5b823591506139e460208401613615565b90509250929050565b6000602082840312156139ff57600080fd5b61332982613615565b60008060408385031215613a1b57600080fd5b82356001600160401b0380821115613a3257600080fd5b818501915085601f830112613a4657600080fd5b81356020613a5382613884565b604051613a6082826136a4565b83815260059390931b8501820192828101915089841115613a8057600080fd5b948201945b83861015613aa557613a9686613615565b82529482019490820190613a85565b96505086013592505080821115613abb57600080fd5b50613ac8858286016138a7565b9150509250929050565b600081518084526020808501945080840160005b83811015613b0257815187529582019590820190600101613ae6565b509495945050505050565b6020815260006133296020830184613ad2565b60008060408385031215613b3357600080fd5b613b3c83613615565b915060208301356001600160401b03811115613b5757600080fd5b613ac8858286016136d0565b600080600060608486031215613b7857600080fd5b613b8184613615565b925060208401356001600160401b0380821115613b9d57600080fd5b613ba9878388016138a7565b93506040860135915080821115613bbf57600080fd5b50613bcc868287016138a7565b9150509250925092565b60008060408385031215613be957600080fd5b8235915060208301356001600160401b03811115613b5757600080fd5b60008060008060808587031215613c1c57600080fd5b8435935060208501359250613c3360408601613615565b915060608501356001600160401b03811115613c4e57600080fd5b613c5a878288016136d0565b91505092959194509250565b60008060408385031215613c7957600080fd5b613c8283613615565b915060208301358015158114613c9757600080fd5b809150509250929050565b600080600080600060a08688031215613cba57600080fd5b85359450613cca60208701613615565b9350613cd860408701613615565b925060608601356001600160401b0380821115613cf457600080fd5b61399189838a016136d0565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613d6857888303603f1901855281518051878552613d4b888601826137b4565b918901519489019490945294870194925090860190600101613d27565b509098975050505050505050565b60008060408385031215613d8957600080fd5b50508035926020909101359150565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015613d6857603f19898403018552815160c0613ddf858351613809565b81890151858a015287820151888601526060808301516001600160a01b031690860152608080830151818701839052613e1a838801826137b4565b9250505060a08083015192508582038187015250613e3881836137b4565b968901969450505090860190600101613dbf565b600080600060608486031215613e6157600080fd5b8335925060208401356001600160401b0380821115613e7f57600080fd5b613e8b878388016136d0565b93506040860135915080821115613ea157600080fd5b50613bcc868287016136d0565b60008060408385031215613ec157600080fd5b613eca83613615565b91506139e460208401613615565b600080600080600060a08688031215613ef057600080fd5b613ef986613615565b9450613f0760208701613615565b9350604086013592506060860135915060808601356001600160401b03811115613f3057600080fd5b6139b4888289016136d0565b600080600060608486031215613f5157600080fd5b613f5a84613615565b95602085013595506040909401359392505050565b60008351613f81818460208801613790565b835190830190613f95818360208801613790565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156108d1576108d1613f9e565b600060018201613fd957613fd9613f9e565b5060010190565b600181811c90821680613ff457607f821691505b602082108103611c8857634e487b7160e01b600052602260045260246000fd5b6020808252602e908201527f455243313135353a2063616c6c6572206973206e6f7420746f6b656e206f776e60408201526d195c881bdc88185c1c1c9bdd995960921b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b808201808211156108d1576108d1613f9e565b80820281158282048414176108d1576108d1613f9e565b601f821115610cea57600081815260208120601f850160051c810160208610156141615750805b601f850160051c820191505b818110156122345782815560010161416d565b81516001600160401b038111156141995761419961368e565b6141ad816141a78454613fe0565b8461413a565b602080601f8311600181146141e257600084156141ca5750858301515b600019600386901b1c1916600185901b178555612234565b600085815260208120601f198616915b82811015614211578886015182559484019460019091019084016141f2565b508582101561422f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b84815260806020820152600061425860808301866137b4565b6040830194909452506001600160a01b039190911660609091015292915050565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b6040815260006143636040830185613ad2565b82810360208401526143758185613ad2565b95945050505050565b60006020828403121561439057600080fd5b5051919050565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516144a1816017850160208801613790565b7001034b99036b4b9b9b4b733903937b6329607d1b60179184019182015283516144d2816028840160208801613790565b01602801949350505050565b6001600160a01b0386811682528516602082015260a06040820181905260009061450a90830186613ad2565b828103606084015261451c8186613ad2565b9050828103608084015261453081856137b4565b98975050505050505050565b60006020828403121561454e57600080fd5b81516133298161365b565b600060033d11156111205760046000803e5060005160e01c90565b600060443d10156145825790565b6040516003193d81016004833e81513d6001600160401b0381602484011181841117156145b157505050505090565b82850191508151818111156145c95750505050505090565b843d87010160208285010111156145e35750505050505090565b6145f2602082860101876136a4565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061467f908301846137b4565b979650505050505050565b60008161469957614699613f9e565b506000190190565b600082516146b3818460208701613790565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656468747470733a2f2f72616461726c61756e63682e6170702f6170692f6d65746164617461a26469706673582212204e9f4ea2c648a5f69e7836dd3a4809a230928eeff34e8574a7925e7ab376829e64736f6c63430008130033"; - -type RadarEditionsConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: RadarEditionsConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class RadarEditions__factory extends ContractFactory { - constructor(...args: RadarEditionsConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - override getDeployTransaction( - overrides?: NonPayableOverrides & { from?: string } - ): Promise { - return super.getDeployTransaction(overrides || {}); - } - override deploy(overrides?: NonPayableOverrides & { from?: string }) { - return super.deploy(overrides || {}) as Promise< - RadarEditions & { - deploymentTransaction(): ContractTransactionResponse; - } - >; - } - override connect(runner: ContractRunner | null): RadarEditions__factory { - return super.connect(runner) as RadarEditions__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): RadarEditionsInterface { - return new Interface(_abi) as RadarEditionsInterface; - } - static connect( - address: string, - runner?: ContractRunner | null - ): RadarEditions { - return new Contract(address, _abi, runner) as unknown as RadarEditions; - } -} diff --git a/typechain-types/factories/src/RadarVideoNFT__factory.ts b/typechain-types/factories/src/RadarVideoNFT__factory.ts deleted file mode 100644 index 051644d..0000000 --- a/typechain-types/factories/src/RadarVideoNFT__factory.ts +++ /dev/null @@ -1,669 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { - Contract, - ContractFactory, - ContractTransactionResponse, - Interface, -} from "ethers"; -import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; -import type { NonPayableOverrides } from "../../common"; -import type { - RadarVideoNFT, - RadarVideoNFTInterface, -} from "../../src/RadarVideoNFT"; - -const _abi = [ - { - inputs: [], - stateMutability: "nonpayable", - type: "constructor", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "previousAdmin", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "newAdmin", - type: "address", - }, - ], - name: "AdminChanged", - type: "event", - }, - { - 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: false, - internalType: "uint256", - name: "_fromTokenId", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "_toTokenId", - type: "uint256", - }, - ], - name: "BatchMetadataUpdate", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "beacon", - type: "address", - }, - ], - name: "BeaconUpgraded", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint8", - name: "version", - type: "uint8", - }, - ], - name: "Initialized", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "_tokenId", - type: "uint256", - }, - ], - name: "MetadataUpdate", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "address", - name: "sender", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "owner", - type: "address", - }, - { - indexed: false, - internalType: "string", - name: "tokenURI", - type: "string", - }, - { - indexed: false, - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - ], - name: "Mint", - 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: true, - internalType: "address", - name: "implementation", - type: "address", - }, - ], - name: "Upgraded", - 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: [ - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - ], - name: "getApproved", - outputs: [ - { - internalType: "address", - name: "", - type: "address", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "initialize", - outputs: [], - stateMutability: "nonpayable", - 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: "owner", - type: "address", - }, - { - internalType: "string", - name: "tokenUri", - type: "string", - }, - ], - name: "mint", - 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: [], - name: "proxiableUUID", - outputs: [ - { - internalType: "bytes32", - name: "", - type: "bytes32", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "renounceOwnership", - outputs: [], - stateMutability: "nonpayable", - 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: "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: "tokenId", - type: "uint256", - }, - ], - name: "tokenURI", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - 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: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newImplementation", - type: "address", - }, - ], - name: "upgradeTo", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "newImplementation", - type: "address", - }, - { - internalType: "bytes", - name: "data", - type: "bytes", - }, - ], - name: "upgradeToAndCall", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "tokenId", - type: "uint256", - }, - ], - name: "uri", - outputs: [ - { - internalType: "string", - name: "", - type: "string", - }, - ], - stateMutability: "view", - type: "function", - }, -] as const; - -const _bytecode = - "0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100e1565b600054610100900460ff161561008e5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100df576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516124326200011960003960008181610651015281816106910152818161074b0152818161078b015261081e01526124326000f3fe6080604052600436106101355760003560e01c806370a08231116100ab578063a22cb4651161006f578063a22cb4651461033e578063b88d4fde1461035e578063c87b56dd1461037e578063d0def5211461039e578063e985e9c5146103be578063f2fde38b1461040757600080fd5b806370a08231146102c1578063715018a6146102e15780638129fc1c146102f65780638da5cb5b1461030b57806395d89b411461032957600080fd5b806323b872dd116100fd57806323b872dd1461020b5780633659cfe61461022b57806342842e0e1461024b5780634f1ef2861461026b57806352d1902d1461027e5780636352211e146102a157600080fd5b806301ffc9a71461013a57806306fdde031461016f578063081812fc14610191578063095ea7b3146101c95780630e89341c146101eb575b600080fd5b34801561014657600080fd5b5061015a610155366004611c50565b610427565b60405190151581526020015b60405180910390f35b34801561017b57600080fd5b50610184610438565b6040516101669190611cbd565b34801561019d57600080fd5b506101b16101ac366004611cd0565b6104ca565b6040516001600160a01b039091168152602001610166565b3480156101d557600080fd5b506101e96101e4366004611d05565b6104f1565b005b3480156101f757600080fd5b50610184610206366004611cd0565b61060b565b34801561021757600080fd5b506101e9610226366004611d2f565b610616565b34801561023757600080fd5b506101e9610246366004611d6b565b610647565b34801561025757600080fd5b506101e9610266366004611d2f565b610726565b6101e9610279366004611e32565b610741565b34801561028a57600080fd5b50610293610811565b604051908152602001610166565b3480156102ad57600080fd5b506101b16102bc366004611cd0565b6108c4565b3480156102cd57600080fd5b506102936102dc366004611d6b565b610924565b3480156102ed57600080fd5b506101e96109aa565b34801561030257600080fd5b506101e96109be565b34801561031757600080fd5b5060c9546001600160a01b03166101b1565b34801561033557600080fd5b50610184610b28565b34801561034a57600080fd5b506101e9610359366004611e80565b610b37565b34801561036a57600080fd5b506101e9610379366004611ebc565b610b42565b34801561038a57600080fd5b50610184610399366004611cd0565b610b7a565b3480156103aa57600080fd5b506102936103b9366004611f24565b610b85565b3480156103ca57600080fd5b5061015a6103d9366004611f7c565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b34801561041357600080fd5b506101e9610422366004611d6b565b610c0e565b600061043282610c84565b92915050565b60606065805461044790611faf565b80601f016020809104026020016040519081016040528092919081815260200182805461047390611faf565b80156104c05780601f10610495576101008083540402835291602001916104c0565b820191906000526020600020905b8154815290600101906020018083116104a357829003601f168201915b5050505050905090565b60006104d582610ca9565b506000908152606960205260409020546001600160a01b031690565b60006104fc826108c4565b9050806001600160a01b0316836001600160a01b03160361056e5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b038216148061058a575061058a81336103d9565b6105fc5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610565565b6106068383610d08565b505050565b606061043282610b7a565b6106203382610d76565b61063c5760405162461bcd60e51b815260040161056590611fe9565b610606838383610df5565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361068f5760405162461bcd60e51b815260040161056590612036565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106d86000805160206123b6833981519152546001600160a01b031690565b6001600160a01b0316146106fe5760405162461bcd60e51b815260040161056590612082565b61070781610f59565b6040805160008082526020820190925261072391839190610f61565b50565b61060683838360405180602001604052806000815250610b42565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107895760405162461bcd60e51b815260040161056590612036565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107d26000805160206123b6833981519152546001600160a01b031690565b6001600160a01b0316146107f85760405162461bcd60e51b815260040161056590612082565b61080182610f59565b61080d82826001610f61565b5050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108b15760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610565565b506000805160206123b683398151915290565b6000818152606760205260408120546001600160a01b0316806104325760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610565565b60006001600160a01b03821661098e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610565565b506001600160a01b031660009081526068602052604090205490565b6109b26110cc565b6109bc6000611126565b565b600054610100900460ff16158080156109de5750600054600160ff909116105b806109f85750303b1580156109f8575060005460ff166001145b610a5b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610565565b6000805460ff191660011790558015610a7e576000805461ff0019166101001790555b610ac86040518060400160405280600b81526020016a5261646172566964656f7360a81b81525060405180604001604052806005815260200164564944454f60d81b815250611178565b610ad06111a9565b610ad86111d0565b610ae06111a9565b8015610723576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b60606066805461044790611faf565b61080d3383836111ff565b610b4c3383610d76565b610b685760405162461bcd60e51b815260040161056590611fe9565b610b74848484846112cd565b50505050565b606061043282611300565b61015f54600090610b968482611408565b610ba08184611593565b836001600160a01b0316336001600160a01b03167f415b0b5f279208d6e050585b8549ece14fe3a66a5ad3008951c4bcb1bb62b9b28584604051610be59291906120ce565b60405180910390a3600161015f6000828254610c0191906120f0565b9091555090949350505050565b610c166110cc565b6001600160a01b038116610c7b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610565565b61072381611126565b60006001600160e01b03198216632483248360e11b148061043257506104328261165e565b6000818152606760205260409020546001600160a01b03166107235760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610565565b600081815260696020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610d3d826108c4565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610d82836108c4565b9050806001600160a01b0316846001600160a01b03161480610dc957506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b80610ded5750836001600160a01b0316610de2846104ca565b6001600160a01b0316145b949350505050565b826001600160a01b0316610e08826108c4565b6001600160a01b031614610e2e5760405162461bcd60e51b815260040161056590612111565b6001600160a01b038216610e905760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610565565b826001600160a01b0316610ea3826108c4565b6001600160a01b031614610ec95760405162461bcd60e51b815260040161056590612111565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6107236110cc565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615610f9457610606836116ae565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610fee575060408051601f3d908101601f19168201909252610feb91810190612156565b60015b6110515760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610565565b6000805160206123b683398151915281146110c05760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610565565b5061060683838361174a565b60c9546001600160a01b031633146109bc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610565565b60c980546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661119f5760405162461bcd60e51b81526004016105659061216f565b61080d828261176f565b600054610100900460ff166109bc5760405162461bcd60e51b81526004016105659061216f565b600054610100900460ff166111f75760405162461bcd60e51b81526004016105659061216f565b6109bc6117af565b816001600160a01b0316836001600160a01b0316036112605760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610565565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6112d8848484610df5565b6112e4848484846117df565b610b745760405162461bcd60e51b8152600401610565906121ba565b606061130b82610ca9565b6000828152609760205260408120805461132490611faf565b80601f016020809104026020016040519081016040528092919081815260200182805461135090611faf565b801561139d5780601f106113725761010080835404028352916020019161139d565b820191906000526020600020905b81548152906001019060200180831161138057829003601f168201915b5050505050905060006113bb60408051602081019091526000815290565b905080516000036113cd575092915050565b8151156113ff5780826040516020016113e792919061220c565b60405160208183030381529060405292505050919050565b610ded846118e0565b6001600160a01b03821661145e5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610565565b6000818152606760205260409020546001600160a01b0316156114c35760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610565565b6000818152606760205260409020546001600160a01b0316156115285760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610565565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6000828152606760205260409020546001600160a01b031661160e5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b6064820152608401610565565b60008281526097602052604090206116268282612289565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006001600160e01b031982166380ac58cd60e01b148061168f57506001600160e01b03198216635b5e139f60e01b145b8061043257506301ffc9a760e01b6001600160e01b0319831614610432565b6001600160a01b0381163b61171b5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610565565b6000805160206123b683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b61175383611954565b6000825111806117605750805b1561060657610b748383611994565b600054610100900460ff166117965760405162461bcd60e51b81526004016105659061216f565b60656117a28382612289565b5060666106068282612289565b600054610100900460ff166117d65760405162461bcd60e51b81526004016105659061216f565b6109bc33611126565b60006001600160a01b0384163b156118d557604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611823903390899088908890600401612349565b6020604051808303816000875af192505050801561185e575060408051601f3d908101601f1916820190925261185b9181019061237c565b60015b6118bb573d80801561188c576040519150601f19603f3d011682016040523d82523d6000602084013e611891565b606091505b5080516000036118b35760405162461bcd60e51b8152600401610565906121ba565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050610ded565b506001949350505050565b60606118eb82610ca9565b600061190260408051602081019091526000815290565b90506000815111611922576040518060200160405280600081525061194d565b8061192c846119b9565b60405160200161193d92919061220c565b6040516020818303038152906040525b9392505050565b61195d816116ae565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061194d83836040518060600160405280602781526020016123d660279139611a4c565b606060006119c683611ac4565b600101905060008167ffffffffffffffff8111156119e6576119e6611d86565b6040519080825280601f01601f191660200182016040528015611a10576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611a1a57509392505050565b6060600080856001600160a01b031685604051611a699190612399565b600060405180830381855af49150503d8060008114611aa4576040519150601f19603f3d011682016040523d82523d6000602084013e611aa9565b606091505b5091509150611aba86838387611b9c565b9695505050505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310611b035772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310611b2f576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611b4d57662386f26fc10000830492506010015b6305f5e1008310611b65576305f5e100830492506008015b6127108310611b7957612710830492506004015b60648310611b8b576064830492506002015b600a83106104325760010192915050565b60608315611c0b578251600003611c04576001600160a01b0385163b611c045760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610565565b5081610ded565b610ded8383815115611c205781518083602001fd5b8060405162461bcd60e51b81526004016105659190611cbd565b6001600160e01b03198116811461072357600080fd5b600060208284031215611c6257600080fd5b813561194d81611c3a565b60005b83811015611c88578181015183820152602001611c70565b50506000910152565b60008151808452611ca9816020860160208601611c6d565b601f01601f19169290920160200192915050565b60208152600061194d6020830184611c91565b600060208284031215611ce257600080fd5b5035919050565b80356001600160a01b0381168114611d0057600080fd5b919050565b60008060408385031215611d1857600080fd5b611d2183611ce9565b946020939093013593505050565b600080600060608486031215611d4457600080fd5b611d4d84611ce9565b9250611d5b60208501611ce9565b9150604084013590509250925092565b600060208284031215611d7d57600080fd5b61194d82611ce9565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611db757611db7611d86565b604051601f8501601f19908116603f01168101908282118183101715611ddf57611ddf611d86565b81604052809350858152868686011115611df857600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112611e2357600080fd5b61194d83833560208501611d9c565b60008060408385031215611e4557600080fd5b611e4e83611ce9565b9150602083013567ffffffffffffffff811115611e6a57600080fd5b611e7685828601611e12565b9150509250929050565b60008060408385031215611e9357600080fd5b611e9c83611ce9565b915060208301358015158114611eb157600080fd5b809150509250929050565b60008060008060808587031215611ed257600080fd5b611edb85611ce9565b9350611ee960208601611ce9565b925060408501359150606085013567ffffffffffffffff811115611f0c57600080fd5b611f1887828801611e12565b91505092959194509250565b60008060408385031215611f3757600080fd5b611f4083611ce9565b9150602083013567ffffffffffffffff811115611f5c57600080fd5b8301601f81018513611f6d57600080fd5b611e7685823560208401611d9c565b60008060408385031215611f8f57600080fd5b611f9883611ce9565b9150611fa660208401611ce9565b90509250929050565b600181811c90821680611fc357607f821691505b602082108103611fe357634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6040815260006120e16040830185611c91565b90508260208301529392505050565b8082018082111561043257634e487b7160e01b600052601160045260246000fd5b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60006020828403121561216857600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6000835161221e818460208801611c6d565b835190830190612232818360208801611c6d565b01949350505050565b601f82111561060657600081815260208120601f850160051c810160208610156122625750805b601f850160051c820191505b818110156122815782815560010161226e565b505050505050565b815167ffffffffffffffff8111156122a3576122a3611d86565b6122b7816122b18454611faf565b8461223b565b602080601f8311600181146122ec57600084156122d45750858301515b600019600386901b1c1916600185901b178555612281565b600085815260208120601f198616915b8281101561231b578886015182559484019460019091019084016122fc565b50858210156123395787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611aba90830184611c91565b60006020828403121561238e57600080fd5b815161194d81611c3a565b600082516123ab818460208701611c6d565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122097c5bc5d80ebba96c2382bc693d7cc00b8e67c8d5570083221292650f011328064736f6c63430008130033"; - -type RadarVideoNFTConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: RadarVideoNFTConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class RadarVideoNFT__factory extends ContractFactory { - constructor(...args: RadarVideoNFTConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - override getDeployTransaction( - overrides?: NonPayableOverrides & { from?: string } - ): Promise { - return super.getDeployTransaction(overrides || {}); - } - override deploy(overrides?: NonPayableOverrides & { from?: string }) { - return super.deploy(overrides || {}) as Promise< - RadarVideoNFT & { - deploymentTransaction(): ContractTransactionResponse; - } - >; - } - override connect(runner: ContractRunner | null): RadarVideoNFT__factory { - return super.connect(runner) as RadarVideoNFT__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): RadarVideoNFTInterface { - return new Interface(_abi) as RadarVideoNFTInterface; - } - static connect( - address: string, - runner?: ContractRunner | null - ): RadarVideoNFT { - return new Contract(address, _abi, runner) as unknown as RadarVideoNFT; - } -} diff --git a/typechain-types/factories/src/index.ts b/typechain-types/factories/src/index.ts deleted file mode 100644 index 95320a7..0000000 --- a/typechain-types/factories/src/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as beliefs from "./Beliefs"; -export * as editions from "./Editions"; -export { IRadarEditions__factory } from "./IRadarEditions__factory"; -export { RadarEditions__factory } from "./RadarEditions__factory"; -export { RadarVideoNFT__factory } from "./RadarVideoNFT__factory"; diff --git a/typechain-types/hardhat.d.ts b/typechain-types/hardhat.d.ts deleted file mode 100644 index 6d694ae..0000000 --- a/typechain-types/hardhat.d.ts +++ /dev/null @@ -1,711 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { ethers } from "ethers"; -import { - DeployContractOptions, - FactoryOptions, - HardhatEthersHelpers as HardhatEthersHelpersBase, -} from "@nomicfoundation/hardhat-ethers/types"; - -import * as Contracts from "."; - -declare module "hardhat/types/runtime" { - interface HardhatEthersHelpers extends HardhatEthersHelpersBase { - getContractFactory( - name: "AccessControlUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IAccessControlUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "OwnableUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC1822ProxiableUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC1967Upgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC4906Upgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IBeaconUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "ERC1967UpgradeUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "Initializable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "UUPSUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "PausableUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "ERC1155Upgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "ERC1155BurnableUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "ERC1155SupplyUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC1155MetadataURIUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC1155ReceiverUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC1155Upgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "ERC721Upgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "ERC721URIStorageUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC721MetadataUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC721ReceiverUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC721Upgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "ContextUpgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "ERC165Upgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC165Upgradeable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC1822Proxiable", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IERC1967", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IBeacon", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "ERC1967Upgrade", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "Proxy", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IBeliefs", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "Editions", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "EditionsRoles", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IEditions", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "IRadarEditions", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "RadarEditions", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "RadarVideoNFT", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - - getContractAt( - name: "AccessControlUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IAccessControlUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "OwnableUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC1822ProxiableUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC1967Upgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC4906Upgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IBeaconUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "ERC1967UpgradeUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "Initializable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "UUPSUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "PausableUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "ERC1155Upgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "ERC1155BurnableUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "ERC1155SupplyUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC1155MetadataURIUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC1155ReceiverUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC1155Upgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "ERC721Upgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "ERC721URIStorageUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC721MetadataUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC721ReceiverUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC721Upgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "ContextUpgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "ERC165Upgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC165Upgradeable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC1822Proxiable", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IERC1967", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IBeacon", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "ERC1967Upgrade", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "Proxy", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IBeliefs", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "Editions", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "EditionsRoles", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IEditions", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "IRadarEditions", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "RadarEditions", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "RadarVideoNFT", - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - - deployContract( - name: "AccessControlUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IAccessControlUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "OwnableUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1822ProxiableUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1967Upgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC4906Upgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IBeaconUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC1967UpgradeUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "Initializable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "UUPSUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "PausableUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC1155Upgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC1155BurnableUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC1155SupplyUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1155MetadataURIUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1155ReceiverUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1155Upgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC721Upgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC721URIStorageUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC721MetadataUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC721ReceiverUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC721Upgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ContextUpgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC165Upgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC165Upgradeable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1822Proxiable", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1967", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IBeacon", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC1967Upgrade", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "Proxy", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IBeliefs", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "Editions", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "EditionsRoles", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IEditions", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IRadarEditions", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "RadarEditions", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "RadarVideoNFT", - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - - deployContract( - name: "AccessControlUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IAccessControlUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "OwnableUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1822ProxiableUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1967Upgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC4906Upgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IBeaconUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC1967UpgradeUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "Initializable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "UUPSUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "PausableUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC1155Upgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC1155BurnableUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC1155SupplyUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1155MetadataURIUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1155ReceiverUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1155Upgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC721Upgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC721URIStorageUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC721MetadataUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC721ReceiverUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC721Upgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ContextUpgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC165Upgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC165Upgradeable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1822Proxiable", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IERC1967", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IBeacon", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "ERC1967Upgrade", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "Proxy", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IBeliefs", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "Editions", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "EditionsRoles", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IEditions", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "IRadarEditions", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "RadarEditions", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: "RadarVideoNFT", - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - - // default types - getContractFactory( - name: string, - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - abi: any[], - bytecode: ethers.BytesLike, - signer?: ethers.Signer - ): Promise; - getContractAt( - nameOrAbi: string | any[], - address: string | ethers.Addressable, - signer?: ethers.Signer - ): Promise; - deployContract( - name: string, - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - deployContract( - name: string, - args: any[], - signerOrOptions?: ethers.Signer | DeployContractOptions - ): Promise; - } -} diff --git a/typechain-types/index.ts b/typechain-types/index.ts deleted file mode 100644 index f3b7662..0000000 --- a/typechain-types/index.ts +++ /dev/null @@ -1,82 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as lib from "./lib"; -export type { lib }; -import type * as src from "./src"; -export type { src }; -export * as factories from "./factories"; -export type { AccessControlUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable"; -export { AccessControlUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable__factory"; -export type { IAccessControlUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable"; -export { IAccessControlUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/access/IAccessControlUpgradeable__factory"; -export type { OwnableUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable"; -export { OwnableUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable__factory"; -export type { IERC1822ProxiableUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable"; -export { IERC1822ProxiableUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable__factory"; -export type { IERC1967Upgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable"; -export { IERC1967Upgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable__factory"; -export type { IERC4906Upgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4906Upgradeable"; -export { IERC4906Upgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC4906Upgradeable__factory"; -export type { IBeaconUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable"; -export { IBeaconUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable__factory"; -export type { ERC1967UpgradeUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable"; -export { ERC1967UpgradeUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable__factory"; -export type { Initializable } from "./lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable"; -export { Initializable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable__factory"; -export type { UUPSUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable"; -export { UUPSUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable__factory"; -export type { PausableUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable"; -export { PausableUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/security/PausableUpgradeable__factory"; -export type { ERC1155Upgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable"; -export { ERC1155Upgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/ERC1155Upgradeable__factory"; -export type { ERC1155BurnableUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable"; -export { ERC1155BurnableUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155BurnableUpgradeable__factory"; -export type { ERC1155SupplyUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable"; -export { ERC1155SupplyUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/ERC1155SupplyUpgradeable__factory"; -export type { IERC1155MetadataURIUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable"; -export { IERC1155MetadataURIUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/IERC1155MetadataURIUpgradeable__factory"; -export type { IERC1155ReceiverUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155ReceiverUpgradeable"; -export { IERC1155ReceiverUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155ReceiverUpgradeable__factory"; -export type { IERC1155Upgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable"; -export { IERC1155Upgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/IERC1155Upgradeable__factory"; -export type { ERC721Upgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable"; -export { ERC721Upgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/ERC721Upgradeable__factory"; -export type { ERC721URIStorageUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721URIStorageUpgradeable"; -export { ERC721URIStorageUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/ERC721URIStorageUpgradeable__factory"; -export type { IERC721MetadataUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable"; -export { IERC721MetadataUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/IERC721MetadataUpgradeable__factory"; -export type { IERC721ReceiverUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable"; -export { IERC721ReceiverUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721ReceiverUpgradeable__factory"; -export type { IERC721Upgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable"; -export { IERC721Upgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/IERC721Upgradeable__factory"; -export type { ContextUpgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable"; -export { ContextUpgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable__factory"; -export type { ERC165Upgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable"; -export { ERC165Upgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable__factory"; -export type { IERC165Upgradeable } from "./lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable"; -export { IERC165Upgradeable__factory } from "./factories/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/IERC165Upgradeable__factory"; -export type { IERC1822Proxiable } from "./lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable"; -export { IERC1822Proxiable__factory } from "./factories/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol/IERC1822Proxiable__factory"; -export type { IERC1967 } from "./lib/openzeppelin-contracts/contracts/interfaces/IERC1967"; -export { IERC1967__factory } from "./factories/lib/openzeppelin-contracts/contracts/interfaces/IERC1967__factory"; -export type { IBeacon } from "./lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon"; -export { IBeacon__factory } from "./factories/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon__factory"; -export type { ERC1967Upgrade } from "./lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade"; -export { ERC1967Upgrade__factory } from "./factories/lib/openzeppelin-contracts/contracts/proxy/ERC1967/ERC1967Upgrade__factory"; -export type { Proxy } from "./lib/openzeppelin-contracts/contracts/proxy/Proxy"; -export { Proxy__factory } from "./factories/lib/openzeppelin-contracts/contracts/proxy/Proxy__factory"; -export type { IBeliefs } from "./src/Beliefs/IBeliefs"; -export { IBeliefs__factory } from "./factories/src/Beliefs/IBeliefs__factory"; -export type { Editions } from "./src/Editions/Editions"; -export { Editions__factory } from "./factories/src/Editions/Editions__factory"; -export type { EditionsRoles } from "./src/Editions/EditionsRoles"; -export { EditionsRoles__factory } from "./factories/src/Editions/EditionsRoles__factory"; -export type { IEditions } from "./src/Editions/IEditions"; -export { IEditions__factory } from "./factories/src/Editions/IEditions__factory"; -export type { IRadarEditions } from "./src/IRadarEditions"; -export { IRadarEditions__factory } from "./factories/src/IRadarEditions__factory"; -export type { RadarEditions } from "./src/RadarEditions"; -export { RadarEditions__factory } from "./factories/src/RadarEditions__factory"; -export type { RadarVideoNFT } from "./src/RadarVideoNFT"; -export { RadarVideoNFT__factory } from "./factories/src/RadarVideoNFT__factory"; diff --git a/typechain-types/lib/index.ts b/typechain-types/lib/index.ts deleted file mode 100644 index ee09457..0000000 --- a/typechain-types/lib/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as openzeppelinContracts from "./openzeppelin-contracts"; -export type { openzeppelinContracts }; -import type * as openzeppelinContractsUpgradeable from "./openzeppelin-contracts-upgradeable"; -export type { openzeppelinContractsUpgradeable }; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/access/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/access/index.ts deleted file mode 100644 index 537da86..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/access/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { AccessControlUpgradeable } from "./AccessControlUpgradeable"; -export type { IAccessControlUpgradeable } from "./IAccessControlUpgradeable"; -export type { OwnableUpgradeable } from "./OwnableUpgradeable"; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/index.ts deleted file mode 100644 index f7e916d..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as access from "./access"; -export type { access }; -import type * as interfaces from "./interfaces"; -export type { interfaces }; -import type * as proxy from "./proxy"; -export type { proxy }; -import type * as security from "./security"; -export type { security }; -import type * as token from "./token"; -export type { token }; -import type * as utils from "./utils"; -export type { utils }; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol/index.ts deleted file mode 100644 index 694b98f..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { IERC1822ProxiableUpgradeable } from "./IERC1822ProxiableUpgradeable"; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/index.ts deleted file mode 100644 index 8234ade..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/interfaces/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as draftIerc1822UpgradeableSol from "./draft-IERC1822Upgradeable.sol"; -export type { draftIerc1822UpgradeableSol }; -export type { IERC1967Upgradeable } from "./IERC1967Upgradeable"; -export type { IERC4906Upgradeable } from "./IERC4906Upgradeable"; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/index.ts deleted file mode 100644 index 3c90548..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { ERC1967UpgradeUpgradeable } from "./ERC1967UpgradeUpgradeable"; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/index.ts deleted file mode 100644 index 51fb2a5..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { IBeaconUpgradeable } from "./IBeaconUpgradeable"; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/index.ts deleted file mode 100644 index c2433d8..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as erc1967 from "./ERC1967"; -export type { erc1967 }; -import type * as beacon from "./beacon"; -export type { beacon }; -import type * as utils from "./utils"; -export type { utils }; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/index.ts deleted file mode 100644 index f23837b..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { Initializable } from "./Initializable"; -export type { UUPSUpgradeable } from "./UUPSUpgradeable"; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/security/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/security/index.ts deleted file mode 100644 index 393fd78..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/security/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { PausableUpgradeable } from "./PausableUpgradeable"; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/index.ts deleted file mode 100644 index 9e18578..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/extensions/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { ERC1155BurnableUpgradeable } from "./ERC1155BurnableUpgradeable"; -export type { ERC1155SupplyUpgradeable } from "./ERC1155SupplyUpgradeable"; -export type { IERC1155MetadataURIUpgradeable } from "./IERC1155MetadataURIUpgradeable"; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/index.ts deleted file mode 100644 index a07694a..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC1155/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as extensions from "./extensions"; -export type { extensions }; -export type { ERC1155Upgradeable } from "./ERC1155Upgradeable"; -export type { IERC1155ReceiverUpgradeable } from "./IERC1155ReceiverUpgradeable"; -export type { IERC1155Upgradeable } from "./IERC1155Upgradeable"; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/index.ts deleted file mode 100644 index cc9bd6d..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/extensions/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { ERC721URIStorageUpgradeable } from "./ERC721URIStorageUpgradeable"; -export type { IERC721MetadataUpgradeable } from "./IERC721MetadataUpgradeable"; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/index.ts deleted file mode 100644 index edfc8ee..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/ERC721/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as extensions from "./extensions"; -export type { extensions }; -export type { ERC721Upgradeable } from "./ERC721Upgradeable"; -export type { IERC721ReceiverUpgradeable } from "./IERC721ReceiverUpgradeable"; -export type { IERC721Upgradeable } from "./IERC721Upgradeable"; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/index.ts deleted file mode 100644 index 914c22c..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/token/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as erc1155 from "./ERC1155"; -export type { erc1155 }; -import type * as erc721 from "./ERC721"; -export type { erc721 }; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/utils/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/utils/index.ts deleted file mode 100644 index 19e2d8c..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/utils/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as introspection from "./introspection"; -export type { introspection }; -export type { ContextUpgradeable } from "./ContextUpgradeable"; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/index.ts deleted file mode 100644 index a379eff..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { ERC165Upgradeable } from "./ERC165Upgradeable"; -export type { IERC165Upgradeable } from "./IERC165Upgradeable"; diff --git a/typechain-types/lib/openzeppelin-contracts-upgradeable/index.ts b/typechain-types/lib/openzeppelin-contracts-upgradeable/index.ts deleted file mode 100644 index a11e4ca..0000000 --- a/typechain-types/lib/openzeppelin-contracts-upgradeable/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as contracts from "./contracts"; -export type { contracts }; diff --git a/typechain-types/lib/openzeppelin-contracts/contracts/index.ts b/typechain-types/lib/openzeppelin-contracts/contracts/index.ts deleted file mode 100644 index db7b3e1..0000000 --- a/typechain-types/lib/openzeppelin-contracts/contracts/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as interfaces from "./interfaces"; -export type { interfaces }; -import type * as proxy from "./proxy"; -export type { proxy }; diff --git a/typechain-types/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol/index.ts b/typechain-types/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol/index.ts deleted file mode 100644 index daec45b..0000000 --- a/typechain-types/lib/openzeppelin-contracts/contracts/interfaces/draft-IERC1822.sol/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { IERC1822Proxiable } from "./IERC1822Proxiable"; diff --git a/typechain-types/lib/openzeppelin-contracts/contracts/interfaces/index.ts b/typechain-types/lib/openzeppelin-contracts/contracts/interfaces/index.ts deleted file mode 100644 index 56b77b4..0000000 --- a/typechain-types/lib/openzeppelin-contracts/contracts/interfaces/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as draftIerc1822Sol from "./draft-IERC1822.sol"; -export type { draftIerc1822Sol }; -export type { IERC1967 } from "./IERC1967"; diff --git a/typechain-types/lib/openzeppelin-contracts/contracts/proxy/ERC1967/index.ts b/typechain-types/lib/openzeppelin-contracts/contracts/proxy/ERC1967/index.ts deleted file mode 100644 index 0403bcd..0000000 --- a/typechain-types/lib/openzeppelin-contracts/contracts/proxy/ERC1967/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { ERC1967Upgrade } from "./ERC1967Upgrade"; diff --git a/typechain-types/lib/openzeppelin-contracts/contracts/proxy/beacon/index.ts b/typechain-types/lib/openzeppelin-contracts/contracts/proxy/beacon/index.ts deleted file mode 100644 index 9224b1e..0000000 --- a/typechain-types/lib/openzeppelin-contracts/contracts/proxy/beacon/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { IBeacon } from "./IBeacon"; diff --git a/typechain-types/lib/openzeppelin-contracts/contracts/proxy/index.ts b/typechain-types/lib/openzeppelin-contracts/contracts/proxy/index.ts deleted file mode 100644 index a6b7130..0000000 --- a/typechain-types/lib/openzeppelin-contracts/contracts/proxy/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as erc1967 from "./ERC1967"; -export type { erc1967 }; -import type * as beacon from "./beacon"; -export type { beacon }; -export type { Proxy } from "./Proxy"; diff --git a/typechain-types/lib/openzeppelin-contracts/index.ts b/typechain-types/lib/openzeppelin-contracts/index.ts deleted file mode 100644 index a11e4ca..0000000 --- a/typechain-types/lib/openzeppelin-contracts/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as contracts from "./contracts"; -export type { contracts }; diff --git a/typechain-types/src/Beliefs/IBeliefs.ts b/typechain-types/src/Beliefs/IBeliefs.ts deleted file mode 100644 index 0d8619b..0000000 --- a/typechain-types/src/Beliefs/IBeliefs.ts +++ /dev/null @@ -1,193 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumberish, - BytesLike, - FunctionFragment, - Result, - Interface, - EventFragment, - AddressLike, - ContractRunner, - ContractMethod, - Listener, -} from "ethers"; -import type { - TypedContractEvent, - TypedDeferredTopicFilter, - TypedEventLog, - TypedLogDescription, - TypedListener, - TypedContractMethod, -} from "../../common"; - -export interface IBeliefsInterface extends Interface { - getFunction( - nameOrSignature: "believeProject" | "removeBelief" - ): FunctionFragment; - - getEvent( - nameOrSignatureOrTopic: "EditionBeliefRemoved" | "EditionBelieved" - ): EventFragment; - - encodeFunctionData( - functionFragment: "believeProject", - values: [BigNumberish, string] - ): string; - encodeFunctionData( - functionFragment: "removeBelief", - values: [BigNumberish] - ): string; - - decodeFunctionResult( - functionFragment: "believeProject", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeBelief", - data: BytesLike - ): Result; -} - -export namespace EditionBeliefRemovedEvent { - export type InputTuple = [editionId: BigNumberish, believer: AddressLike]; - export type OutputTuple = [editionId: bigint, believer: string]; - export interface OutputObject { - editionId: bigint; - believer: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionBelievedEvent { - export type InputTuple = [ - editionId: BigNumberish, - believer: AddressLike, - tags: string - ]; - export type OutputTuple = [editionId: bigint, believer: string, tags: string]; - export interface OutputObject { - editionId: bigint; - believer: string; - tags: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export interface IBeliefs extends BaseContract { - connect(runner?: ContractRunner | null): IBeliefs; - waitForDeployment(): Promise; - - interface: IBeliefsInterface; - - queryFilter( - event: TCEvent, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - queryFilter( - filter: TypedDeferredTopicFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - - on( - event: TCEvent, - listener: TypedListener - ): Promise; - on( - filter: TypedDeferredTopicFilter, - listener: TypedListener - ): Promise; - - once( - event: TCEvent, - listener: TypedListener - ): Promise; - once( - filter: TypedDeferredTopicFilter, - listener: TypedListener - ): Promise; - - listeners( - event: TCEvent - ): Promise>>; - listeners(eventName?: string): Promise>; - removeAllListeners( - event?: TCEvent - ): Promise; - - believeProject: TypedContractMethod< - [editionId: BigNumberish, tags: string], - [void], - "nonpayable" - >; - - removeBelief: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - getFunction( - key: string | FunctionFragment - ): T; - - getFunction( - nameOrSignature: "believeProject" - ): TypedContractMethod< - [editionId: BigNumberish, tags: string], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "removeBelief" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - - getEvent( - key: "EditionBeliefRemoved" - ): TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - getEvent( - key: "EditionBelieved" - ): TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - - filters: { - "EditionBeliefRemoved(uint256,address)": TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - EditionBeliefRemoved: TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - - "EditionBelieved(uint256,address,string)": TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - EditionBelieved: TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - }; -} diff --git a/typechain-types/src/Beliefs/index.ts b/typechain-types/src/Beliefs/index.ts deleted file mode 100644 index 4490862..0000000 --- a/typechain-types/src/Beliefs/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { IBeliefs } from "./IBeliefs"; diff --git a/typechain-types/src/Editions/Editions.ts b/typechain-types/src/Editions/Editions.ts deleted file mode 100644 index 6e7a835..0000000 --- a/typechain-types/src/Editions/Editions.ts +++ /dev/null @@ -1,1620 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumberish, - BytesLike, - FunctionFragment, - Result, - Interface, - EventFragment, - AddressLike, - ContractRunner, - ContractMethod, - Listener, -} from "ethers"; -import type { - TypedContractEvent, - TypedDeferredTopicFilter, - TypedEventLog, - TypedLogDescription, - TypedListener, - TypedContractMethod, -} from "../../common"; - -export declare namespace EditionsStructs { - export type EditionIdWithAmountStruct = { id: string; amount: BigNumberish }; - - export type EditionIdWithAmountStructOutput = [id: string, amount: bigint] & { - id: string; - amount: bigint; - }; - - export type EditionStruct = { - status: BigNumberish; - fee: BigNumberish; - balance: BigNumberish; - owner: AddressLike; - id: string; - briefId: string; - }; - - export type EditionStructOutput = [ - status: bigint, - fee: bigint, - balance: bigint, - owner: string, - id: string, - briefId: string - ] & { - status: bigint; - fee: bigint; - balance: bigint; - owner: string; - id: string; - briefId: string; - }; -} - -export interface EditionsInterface extends Interface { - getFunction( - nameOrSignature: - | "DEFAULT_ADMIN_ROLE" - | "approveEdition" - | "balanceOf" - | "balanceOfBatch" - | "believeProject" - | "burn" - | "burnBatch" - | "createEdition" - | "editionCounter" - | "editions" - | "exists" - | "getBalances" - | "getEditions" - | "getRoleAdmin" - | "grantRole" - | "hasRole" - | "initialize" - | "isApprovedForAll" - | "maximumEditionFee" - | "mintEdition" - | "pause" - | "paused" - | "protocolFee" - | "proxiableUUID" - | "removeBelief" - | "renounceRole" - | "resumeEdition" - | "revokeRole" - | "safeBatchTransferFrom" - | "safeTransferFrom" - | "setApprovalForAll" - | "stopEdition" - | "supportsInterface" - | "totalSupply" - | "unpause" - | "updateEdition" - | "upgradeTo" - | "upgradeToAndCall" - | "uri" - | "withdrawEditionBalance" - | "withdrawFunds" - ): FunctionFragment; - - getEvent( - nameOrSignatureOrTopic: - | "AdminChanged" - | "ApprovalForAll" - | "BeaconUpgraded" - | "EditionApproved" - | "EditionBalanceWithdrawn" - | "EditionBeliefRemoved" - | "EditionBelieved" - | "EditionCreated" - | "EditionResumed" - | "EditionStopped" - | "Initialized" - | "Paused" - | "RoleAdminChanged" - | "RoleGranted" - | "RoleRevoked" - | "TransferBatch" - | "TransferSingle" - | "URI" - | "Unpaused" - | "Upgraded" - ): EventFragment; - - encodeFunctionData( - functionFragment: "DEFAULT_ADMIN_ROLE", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "approveEdition", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "balanceOf", - values: [AddressLike, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "balanceOfBatch", - values: [AddressLike[], BigNumberish[]] - ): string; - encodeFunctionData( - functionFragment: "believeProject", - values: [BigNumberish, string] - ): string; - encodeFunctionData( - functionFragment: "burn", - values: [AddressLike, BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "burnBatch", - values: [AddressLike, BigNumberish[], BigNumberish[]] - ): string; - encodeFunctionData( - functionFragment: "createEdition", - values: [BigNumberish, AddressLike, AddressLike, string, string] - ): string; - encodeFunctionData( - functionFragment: "editionCounter", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "editions", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "exists", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getBalances", - values: [AddressLike] - ): string; - encodeFunctionData( - functionFragment: "getEditions", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "getRoleAdmin", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "grantRole", - values: [BytesLike, AddressLike] - ): string; - encodeFunctionData( - functionFragment: "hasRole", - values: [BytesLike, AddressLike] - ): string; - encodeFunctionData( - functionFragment: "initialize", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "isApprovedForAll", - values: [AddressLike, AddressLike] - ): string; - encodeFunctionData( - functionFragment: "maximumEditionFee", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "mintEdition", - values: [BigNumberish, BigNumberish, AddressLike, BytesLike] - ): string; - encodeFunctionData(functionFragment: "pause", values?: undefined): string; - encodeFunctionData(functionFragment: "paused", values?: undefined): string; - encodeFunctionData( - functionFragment: "protocolFee", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "proxiableUUID", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "removeBelief", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "renounceRole", - values: [BytesLike, AddressLike] - ): string; - encodeFunctionData( - functionFragment: "resumeEdition", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "revokeRole", - values: [BytesLike, AddressLike] - ): string; - encodeFunctionData( - functionFragment: "safeBatchTransferFrom", - values: [ - AddressLike, - AddressLike, - BigNumberish[], - BigNumberish[], - BytesLike - ] - ): string; - encodeFunctionData( - functionFragment: "safeTransferFrom", - values: [AddressLike, AddressLike, BigNumberish, BigNumberish, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "setApprovalForAll", - values: [AddressLike, boolean] - ): string; - encodeFunctionData( - functionFragment: "stopEdition", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "supportsInterface", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "totalSupply", - values: [BigNumberish] - ): string; - encodeFunctionData(functionFragment: "unpause", values?: undefined): string; - encodeFunctionData( - functionFragment: "updateEdition", - values: [BigNumberish, string, string] - ): string; - encodeFunctionData( - functionFragment: "upgradeTo", - values: [AddressLike] - ): string; - encodeFunctionData( - functionFragment: "upgradeToAndCall", - values: [AddressLike, BytesLike] - ): string; - encodeFunctionData(functionFragment: "uri", values: [BigNumberish]): string; - encodeFunctionData( - functionFragment: "withdrawEditionBalance", - values: [BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "withdrawFunds", - values: [BigNumberish] - ): string; - - decodeFunctionResult( - functionFragment: "DEFAULT_ADMIN_ROLE", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "approveEdition", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "balanceOfBatch", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "believeProject", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "burnBatch", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "createEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "editionCounter", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "editions", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "exists", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "getBalances", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getEditions", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getRoleAdmin", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "isApprovedForAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "maximumEditionFee", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "mintEdition", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "protocolFee", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "proxiableUUID", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeBelief", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "renounceRole", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "resumeEdition", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "safeBatchTransferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "safeTransferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setApprovalForAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "stopEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "supportsInterface", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "totalSupply", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "updateEdition", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "upgradeToAndCall", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "uri", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "withdrawEditionBalance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "withdrawFunds", - data: BytesLike - ): Result; -} - -export namespace AdminChangedEvent { - export type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; - export type OutputTuple = [previousAdmin: string, newAdmin: string]; - export interface OutputObject { - previousAdmin: string; - newAdmin: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace ApprovalForAllEvent { - export type InputTuple = [ - account: AddressLike, - operator: AddressLike, - approved: boolean - ]; - export type OutputTuple = [ - account: string, - operator: string, - approved: boolean - ]; - export interface OutputObject { - account: string; - operator: string; - approved: boolean; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace BeaconUpgradedEvent { - export type InputTuple = [beacon: AddressLike]; - export type OutputTuple = [beacon: string]; - export interface OutputObject { - beacon: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionApprovedEvent { - export type InputTuple = [editionId: BigNumberish]; - export type OutputTuple = [editionId: bigint]; - export interface OutputObject { - editionId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionBalanceWithdrawnEvent { - export type InputTuple = [ - editionId: BigNumberish, - amount: BigNumberish, - owner: AddressLike - ]; - export type OutputTuple = [editionId: bigint, amount: bigint, owner: string]; - export interface OutputObject { - editionId: bigint; - amount: bigint; - owner: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionBeliefRemovedEvent { - export type InputTuple = [editionId: BigNumberish, believer: AddressLike]; - export type OutputTuple = [editionId: bigint, believer: string]; - export interface OutputObject { - editionId: bigint; - believer: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionBelievedEvent { - export type InputTuple = [ - editionId: BigNumberish, - believer: AddressLike, - tags: string - ]; - export type OutputTuple = [editionId: bigint, believer: string, tags: string]; - export interface OutputObject { - editionId: bigint; - believer: string; - tags: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionCreatedEvent { - export type InputTuple = [ - editionId: BigNumberish, - briefId: string, - fee: BigNumberish, - owner: AddressLike - ]; - export type OutputTuple = [ - editionId: bigint, - briefId: string, - fee: bigint, - owner: string - ]; - export interface OutputObject { - editionId: bigint; - briefId: string; - fee: bigint; - owner: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionResumedEvent { - export type InputTuple = [editionId: BigNumberish]; - export type OutputTuple = [editionId: bigint]; - export interface OutputObject { - editionId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionStoppedEvent { - export type InputTuple = [editionId: BigNumberish]; - export type OutputTuple = [editionId: bigint]; - export interface OutputObject { - editionId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace InitializedEvent { - export type InputTuple = [version: BigNumberish]; - export type OutputTuple = [version: bigint]; - export interface OutputObject { - version: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace PausedEvent { - export type InputTuple = [account: AddressLike]; - export type OutputTuple = [account: string]; - export interface OutputObject { - account: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace RoleAdminChangedEvent { - export type InputTuple = [ - role: BytesLike, - previousAdminRole: BytesLike, - newAdminRole: BytesLike - ]; - export type OutputTuple = [ - role: string, - previousAdminRole: string, - newAdminRole: string - ]; - export interface OutputObject { - role: string; - previousAdminRole: string; - newAdminRole: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace RoleGrantedEvent { - export type InputTuple = [ - role: BytesLike, - account: AddressLike, - sender: AddressLike - ]; - export type OutputTuple = [role: string, account: string, sender: string]; - export interface OutputObject { - role: string; - account: string; - sender: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace RoleRevokedEvent { - export type InputTuple = [ - role: BytesLike, - account: AddressLike, - sender: AddressLike - ]; - export type OutputTuple = [role: string, account: string, sender: string]; - export interface OutputObject { - role: string; - account: string; - sender: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace TransferBatchEvent { - export type InputTuple = [ - operator: AddressLike, - from: AddressLike, - to: AddressLike, - ids: BigNumberish[], - values: BigNumberish[] - ]; - export type OutputTuple = [ - operator: string, - from: string, - to: string, - ids: bigint[], - values: bigint[] - ]; - export interface OutputObject { - operator: string; - from: string; - to: string; - ids: bigint[]; - values: bigint[]; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace TransferSingleEvent { - export type InputTuple = [ - operator: AddressLike, - from: AddressLike, - to: AddressLike, - id: BigNumberish, - value: BigNumberish - ]; - export type OutputTuple = [ - operator: string, - from: string, - to: string, - id: bigint, - value: bigint - ]; - export interface OutputObject { - operator: string; - from: string; - to: string; - id: bigint; - value: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace URIEvent { - export type InputTuple = [value: string, id: BigNumberish]; - export type OutputTuple = [value: string, id: bigint]; - export interface OutputObject { - value: string; - id: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace UnpausedEvent { - export type InputTuple = [account: AddressLike]; - export type OutputTuple = [account: string]; - export interface OutputObject { - account: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace UpgradedEvent { - export type InputTuple = [implementation: AddressLike]; - export type OutputTuple = [implementation: string]; - export interface OutputObject { - implementation: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export interface Editions extends BaseContract { - connect(runner?: ContractRunner | null): Editions; - waitForDeployment(): Promise; - - interface: EditionsInterface; - - queryFilter( - event: TCEvent, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - queryFilter( - filter: TypedDeferredTopicFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - - on( - event: TCEvent, - listener: TypedListener - ): Promise; - on( - filter: TypedDeferredTopicFilter, - listener: TypedListener - ): Promise; - - once( - event: TCEvent, - listener: TypedListener - ): Promise; - once( - filter: TypedDeferredTopicFilter, - listener: TypedListener - ): Promise; - - listeners( - event: TCEvent - ): Promise>>; - listeners(eventName?: string): Promise>; - removeAllListeners( - event?: TCEvent - ): Promise; - - DEFAULT_ADMIN_ROLE: TypedContractMethod<[], [string], "view">; - - approveEdition: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - balanceOf: TypedContractMethod< - [account: AddressLike, id: BigNumberish], - [bigint], - "view" - >; - - balanceOfBatch: TypedContractMethod< - [accounts: AddressLike[], ids: BigNumberish[]], - [bigint[]], - "view" - >; - - believeProject: TypedContractMethod< - [editionId: BigNumberish, tags: string], - [void], - "nonpayable" - >; - - burn: TypedContractMethod< - [account: AddressLike, id: BigNumberish, value: BigNumberish], - [void], - "nonpayable" - >; - - burnBatch: TypedContractMethod< - [account: AddressLike, ids: BigNumberish[], values: BigNumberish[]], - [void], - "nonpayable" - >; - - createEdition: TypedContractMethod< - [ - fee: BigNumberish, - owner: AddressLike, - payer: AddressLike, - id: string, - briefId: string - ], - [bigint], - "nonpayable" - >; - - editionCounter: TypedContractMethod<[], [bigint], "view">; - - editions: TypedContractMethod< - [arg0: BigNumberish], - [ - [bigint, bigint, bigint, string, string, string] & { - status: bigint; - fee: bigint; - balance: bigint; - owner: string; - id: string; - briefId: string; - } - ], - "view" - >; - - exists: TypedContractMethod<[id: BigNumberish], [boolean], "view">; - - getBalances: TypedContractMethod< - [owner: AddressLike], - [EditionsStructs.EditionIdWithAmountStructOutput[]], - "view" - >; - - getEditions: TypedContractMethod< - [], - [EditionsStructs.EditionStructOutput[]], - "view" - >; - - getRoleAdmin: TypedContractMethod<[role: BytesLike], [string], "view">; - - grantRole: TypedContractMethod< - [role: BytesLike, account: AddressLike], - [void], - "nonpayable" - >; - - hasRole: TypedContractMethod< - [role: BytesLike, account: AddressLike], - [boolean], - "view" - >; - - initialize: TypedContractMethod<[], [void], "nonpayable">; - - isApprovedForAll: TypedContractMethod< - [account: AddressLike, operator: AddressLike], - [boolean], - "view" - >; - - maximumEditionFee: TypedContractMethod<[], [bigint], "view">; - - mintEdition: TypedContractMethod< - [ - editionId: BigNumberish, - amount: BigNumberish, - buyer: AddressLike, - data: BytesLike - ], - [void], - "payable" - >; - - pause: TypedContractMethod<[], [void], "nonpayable">; - - paused: TypedContractMethod<[], [boolean], "view">; - - protocolFee: TypedContractMethod<[], [bigint], "view">; - - proxiableUUID: TypedContractMethod<[], [string], "view">; - - removeBelief: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - renounceRole: TypedContractMethod< - [role: BytesLike, account: AddressLike], - [void], - "nonpayable" - >; - - resumeEdition: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - revokeRole: TypedContractMethod< - [role: BytesLike, account: AddressLike], - [void], - "nonpayable" - >; - - safeBatchTransferFrom: TypedContractMethod< - [ - from: AddressLike, - to: AddressLike, - ids: BigNumberish[], - amounts: BigNumberish[], - data: BytesLike - ], - [void], - "nonpayable" - >; - - safeTransferFrom: TypedContractMethod< - [ - from: AddressLike, - to: AddressLike, - id: BigNumberish, - amount: BigNumberish, - data: BytesLike - ], - [void], - "nonpayable" - >; - - setApprovalForAll: TypedContractMethod< - [operator: AddressLike, approved: boolean], - [void], - "nonpayable" - >; - - stopEdition: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - supportsInterface: TypedContractMethod< - [interfaceId: BytesLike], - [boolean], - "view" - >; - - totalSupply: TypedContractMethod<[id: BigNumberish], [bigint], "view">; - - unpause: TypedContractMethod<[], [void], "nonpayable">; - - updateEdition: TypedContractMethod< - [editionId: BigNumberish, id: string, briefId: string], - [void], - "nonpayable" - >; - - upgradeTo: TypedContractMethod< - [newImplementation: AddressLike], - [void], - "nonpayable" - >; - - upgradeToAndCall: TypedContractMethod< - [newImplementation: AddressLike, data: BytesLike], - [void], - "payable" - >; - - uri: TypedContractMethod<[arg0: BigNumberish], [string], "view">; - - withdrawEditionBalance: TypedContractMethod< - [editionId: BigNumberish, amount: BigNumberish], - [void], - "nonpayable" - >; - - withdrawFunds: TypedContractMethod< - [amount: BigNumberish], - [void], - "nonpayable" - >; - - getFunction( - key: string | FunctionFragment - ): T; - - getFunction( - nameOrSignature: "DEFAULT_ADMIN_ROLE" - ): TypedContractMethod<[], [string], "view">; - getFunction( - nameOrSignature: "approveEdition" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "balanceOf" - ): TypedContractMethod< - [account: AddressLike, id: BigNumberish], - [bigint], - "view" - >; - getFunction( - nameOrSignature: "balanceOfBatch" - ): TypedContractMethod< - [accounts: AddressLike[], ids: BigNumberish[]], - [bigint[]], - "view" - >; - getFunction( - nameOrSignature: "believeProject" - ): TypedContractMethod< - [editionId: BigNumberish, tags: string], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "burn" - ): TypedContractMethod< - [account: AddressLike, id: BigNumberish, value: BigNumberish], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "burnBatch" - ): TypedContractMethod< - [account: AddressLike, ids: BigNumberish[], values: BigNumberish[]], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "createEdition" - ): TypedContractMethod< - [ - fee: BigNumberish, - owner: AddressLike, - payer: AddressLike, - id: string, - briefId: string - ], - [bigint], - "nonpayable" - >; - getFunction( - nameOrSignature: "editionCounter" - ): TypedContractMethod<[], [bigint], "view">; - getFunction( - nameOrSignature: "editions" - ): TypedContractMethod< - [arg0: BigNumberish], - [ - [bigint, bigint, bigint, string, string, string] & { - status: bigint; - fee: bigint; - balance: bigint; - owner: string; - id: string; - briefId: string; - } - ], - "view" - >; - getFunction( - nameOrSignature: "exists" - ): TypedContractMethod<[id: BigNumberish], [boolean], "view">; - getFunction( - nameOrSignature: "getBalances" - ): TypedContractMethod< - [owner: AddressLike], - [EditionsStructs.EditionIdWithAmountStructOutput[]], - "view" - >; - getFunction( - nameOrSignature: "getEditions" - ): TypedContractMethod<[], [EditionsStructs.EditionStructOutput[]], "view">; - getFunction( - nameOrSignature: "getRoleAdmin" - ): TypedContractMethod<[role: BytesLike], [string], "view">; - getFunction( - nameOrSignature: "grantRole" - ): TypedContractMethod< - [role: BytesLike, account: AddressLike], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "hasRole" - ): TypedContractMethod< - [role: BytesLike, account: AddressLike], - [boolean], - "view" - >; - getFunction( - nameOrSignature: "initialize" - ): TypedContractMethod<[], [void], "nonpayable">; - getFunction( - nameOrSignature: "isApprovedForAll" - ): TypedContractMethod< - [account: AddressLike, operator: AddressLike], - [boolean], - "view" - >; - getFunction( - nameOrSignature: "maximumEditionFee" - ): TypedContractMethod<[], [bigint], "view">; - getFunction( - nameOrSignature: "mintEdition" - ): TypedContractMethod< - [ - editionId: BigNumberish, - amount: BigNumberish, - buyer: AddressLike, - data: BytesLike - ], - [void], - "payable" - >; - getFunction( - nameOrSignature: "pause" - ): TypedContractMethod<[], [void], "nonpayable">; - getFunction( - nameOrSignature: "paused" - ): TypedContractMethod<[], [boolean], "view">; - getFunction( - nameOrSignature: "protocolFee" - ): TypedContractMethod<[], [bigint], "view">; - getFunction( - nameOrSignature: "proxiableUUID" - ): TypedContractMethod<[], [string], "view">; - getFunction( - nameOrSignature: "removeBelief" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "renounceRole" - ): TypedContractMethod< - [role: BytesLike, account: AddressLike], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "resumeEdition" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "revokeRole" - ): TypedContractMethod< - [role: BytesLike, account: AddressLike], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "safeBatchTransferFrom" - ): TypedContractMethod< - [ - from: AddressLike, - to: AddressLike, - ids: BigNumberish[], - amounts: BigNumberish[], - data: BytesLike - ], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "safeTransferFrom" - ): TypedContractMethod< - [ - from: AddressLike, - to: AddressLike, - id: BigNumberish, - amount: BigNumberish, - data: BytesLike - ], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "setApprovalForAll" - ): TypedContractMethod< - [operator: AddressLike, approved: boolean], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "stopEdition" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "supportsInterface" - ): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">; - getFunction( - nameOrSignature: "totalSupply" - ): TypedContractMethod<[id: BigNumberish], [bigint], "view">; - getFunction( - nameOrSignature: "unpause" - ): TypedContractMethod<[], [void], "nonpayable">; - getFunction( - nameOrSignature: "updateEdition" - ): TypedContractMethod< - [editionId: BigNumberish, id: string, briefId: string], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "upgradeTo" - ): TypedContractMethod< - [newImplementation: AddressLike], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "upgradeToAndCall" - ): TypedContractMethod< - [newImplementation: AddressLike, data: BytesLike], - [void], - "payable" - >; - getFunction( - nameOrSignature: "uri" - ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; - getFunction( - nameOrSignature: "withdrawEditionBalance" - ): TypedContractMethod< - [editionId: BigNumberish, amount: BigNumberish], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "withdrawFunds" - ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; - - getEvent( - key: "AdminChanged" - ): TypedContractEvent< - AdminChangedEvent.InputTuple, - AdminChangedEvent.OutputTuple, - AdminChangedEvent.OutputObject - >; - getEvent( - key: "ApprovalForAll" - ): TypedContractEvent< - ApprovalForAllEvent.InputTuple, - ApprovalForAllEvent.OutputTuple, - ApprovalForAllEvent.OutputObject - >; - getEvent( - key: "BeaconUpgraded" - ): TypedContractEvent< - BeaconUpgradedEvent.InputTuple, - BeaconUpgradedEvent.OutputTuple, - BeaconUpgradedEvent.OutputObject - >; - getEvent( - key: "EditionApproved" - ): TypedContractEvent< - EditionApprovedEvent.InputTuple, - EditionApprovedEvent.OutputTuple, - EditionApprovedEvent.OutputObject - >; - getEvent( - key: "EditionBalanceWithdrawn" - ): TypedContractEvent< - EditionBalanceWithdrawnEvent.InputTuple, - EditionBalanceWithdrawnEvent.OutputTuple, - EditionBalanceWithdrawnEvent.OutputObject - >; - getEvent( - key: "EditionBeliefRemoved" - ): TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - getEvent( - key: "EditionBelieved" - ): TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - getEvent( - key: "EditionCreated" - ): TypedContractEvent< - EditionCreatedEvent.InputTuple, - EditionCreatedEvent.OutputTuple, - EditionCreatedEvent.OutputObject - >; - getEvent( - key: "EditionResumed" - ): TypedContractEvent< - EditionResumedEvent.InputTuple, - EditionResumedEvent.OutputTuple, - EditionResumedEvent.OutputObject - >; - getEvent( - key: "EditionStopped" - ): TypedContractEvent< - EditionStoppedEvent.InputTuple, - EditionStoppedEvent.OutputTuple, - EditionStoppedEvent.OutputObject - >; - getEvent( - key: "Initialized" - ): TypedContractEvent< - InitializedEvent.InputTuple, - InitializedEvent.OutputTuple, - InitializedEvent.OutputObject - >; - getEvent( - key: "Paused" - ): TypedContractEvent< - PausedEvent.InputTuple, - PausedEvent.OutputTuple, - PausedEvent.OutputObject - >; - getEvent( - key: "RoleAdminChanged" - ): TypedContractEvent< - RoleAdminChangedEvent.InputTuple, - RoleAdminChangedEvent.OutputTuple, - RoleAdminChangedEvent.OutputObject - >; - getEvent( - key: "RoleGranted" - ): TypedContractEvent< - RoleGrantedEvent.InputTuple, - RoleGrantedEvent.OutputTuple, - RoleGrantedEvent.OutputObject - >; - getEvent( - key: "RoleRevoked" - ): TypedContractEvent< - RoleRevokedEvent.InputTuple, - RoleRevokedEvent.OutputTuple, - RoleRevokedEvent.OutputObject - >; - getEvent( - key: "TransferBatch" - ): TypedContractEvent< - TransferBatchEvent.InputTuple, - TransferBatchEvent.OutputTuple, - TransferBatchEvent.OutputObject - >; - getEvent( - key: "TransferSingle" - ): TypedContractEvent< - TransferSingleEvent.InputTuple, - TransferSingleEvent.OutputTuple, - TransferSingleEvent.OutputObject - >; - getEvent( - key: "URI" - ): TypedContractEvent< - URIEvent.InputTuple, - URIEvent.OutputTuple, - URIEvent.OutputObject - >; - getEvent( - key: "Unpaused" - ): TypedContractEvent< - UnpausedEvent.InputTuple, - UnpausedEvent.OutputTuple, - UnpausedEvent.OutputObject - >; - getEvent( - key: "Upgraded" - ): TypedContractEvent< - UpgradedEvent.InputTuple, - UpgradedEvent.OutputTuple, - UpgradedEvent.OutputObject - >; - - filters: { - "AdminChanged(address,address)": TypedContractEvent< - AdminChangedEvent.InputTuple, - AdminChangedEvent.OutputTuple, - AdminChangedEvent.OutputObject - >; - AdminChanged: TypedContractEvent< - AdminChangedEvent.InputTuple, - AdminChangedEvent.OutputTuple, - AdminChangedEvent.OutputObject - >; - - "ApprovalForAll(address,address,bool)": TypedContractEvent< - ApprovalForAllEvent.InputTuple, - ApprovalForAllEvent.OutputTuple, - ApprovalForAllEvent.OutputObject - >; - ApprovalForAll: TypedContractEvent< - ApprovalForAllEvent.InputTuple, - ApprovalForAllEvent.OutputTuple, - ApprovalForAllEvent.OutputObject - >; - - "BeaconUpgraded(address)": TypedContractEvent< - BeaconUpgradedEvent.InputTuple, - BeaconUpgradedEvent.OutputTuple, - BeaconUpgradedEvent.OutputObject - >; - BeaconUpgraded: TypedContractEvent< - BeaconUpgradedEvent.InputTuple, - BeaconUpgradedEvent.OutputTuple, - BeaconUpgradedEvent.OutputObject - >; - - "EditionApproved(uint256)": TypedContractEvent< - EditionApprovedEvent.InputTuple, - EditionApprovedEvent.OutputTuple, - EditionApprovedEvent.OutputObject - >; - EditionApproved: TypedContractEvent< - EditionApprovedEvent.InputTuple, - EditionApprovedEvent.OutputTuple, - EditionApprovedEvent.OutputObject - >; - - "EditionBalanceWithdrawn(uint256,uint256,address)": TypedContractEvent< - EditionBalanceWithdrawnEvent.InputTuple, - EditionBalanceWithdrawnEvent.OutputTuple, - EditionBalanceWithdrawnEvent.OutputObject - >; - EditionBalanceWithdrawn: TypedContractEvent< - EditionBalanceWithdrawnEvent.InputTuple, - EditionBalanceWithdrawnEvent.OutputTuple, - EditionBalanceWithdrawnEvent.OutputObject - >; - - "EditionBeliefRemoved(uint256,address)": TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - EditionBeliefRemoved: TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - - "EditionBelieved(uint256,address,string)": TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - EditionBelieved: TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - - "EditionCreated(uint256,string,uint256,address)": TypedContractEvent< - EditionCreatedEvent.InputTuple, - EditionCreatedEvent.OutputTuple, - EditionCreatedEvent.OutputObject - >; - EditionCreated: TypedContractEvent< - EditionCreatedEvent.InputTuple, - EditionCreatedEvent.OutputTuple, - EditionCreatedEvent.OutputObject - >; - - "EditionResumed(uint256)": TypedContractEvent< - EditionResumedEvent.InputTuple, - EditionResumedEvent.OutputTuple, - EditionResumedEvent.OutputObject - >; - EditionResumed: TypedContractEvent< - EditionResumedEvent.InputTuple, - EditionResumedEvent.OutputTuple, - EditionResumedEvent.OutputObject - >; - - "EditionStopped(uint256)": TypedContractEvent< - EditionStoppedEvent.InputTuple, - EditionStoppedEvent.OutputTuple, - EditionStoppedEvent.OutputObject - >; - EditionStopped: TypedContractEvent< - EditionStoppedEvent.InputTuple, - EditionStoppedEvent.OutputTuple, - EditionStoppedEvent.OutputObject - >; - - "Initialized(uint8)": TypedContractEvent< - InitializedEvent.InputTuple, - InitializedEvent.OutputTuple, - InitializedEvent.OutputObject - >; - Initialized: TypedContractEvent< - InitializedEvent.InputTuple, - InitializedEvent.OutputTuple, - InitializedEvent.OutputObject - >; - - "Paused(address)": TypedContractEvent< - PausedEvent.InputTuple, - PausedEvent.OutputTuple, - PausedEvent.OutputObject - >; - Paused: TypedContractEvent< - PausedEvent.InputTuple, - PausedEvent.OutputTuple, - PausedEvent.OutputObject - >; - - "RoleAdminChanged(bytes32,bytes32,bytes32)": TypedContractEvent< - RoleAdminChangedEvent.InputTuple, - RoleAdminChangedEvent.OutputTuple, - RoleAdminChangedEvent.OutputObject - >; - RoleAdminChanged: TypedContractEvent< - RoleAdminChangedEvent.InputTuple, - RoleAdminChangedEvent.OutputTuple, - RoleAdminChangedEvent.OutputObject - >; - - "RoleGranted(bytes32,address,address)": TypedContractEvent< - RoleGrantedEvent.InputTuple, - RoleGrantedEvent.OutputTuple, - RoleGrantedEvent.OutputObject - >; - RoleGranted: TypedContractEvent< - RoleGrantedEvent.InputTuple, - RoleGrantedEvent.OutputTuple, - RoleGrantedEvent.OutputObject - >; - - "RoleRevoked(bytes32,address,address)": TypedContractEvent< - RoleRevokedEvent.InputTuple, - RoleRevokedEvent.OutputTuple, - RoleRevokedEvent.OutputObject - >; - RoleRevoked: TypedContractEvent< - RoleRevokedEvent.InputTuple, - RoleRevokedEvent.OutputTuple, - RoleRevokedEvent.OutputObject - >; - - "TransferBatch(address,address,address,uint256[],uint256[])": TypedContractEvent< - TransferBatchEvent.InputTuple, - TransferBatchEvent.OutputTuple, - TransferBatchEvent.OutputObject - >; - TransferBatch: TypedContractEvent< - TransferBatchEvent.InputTuple, - TransferBatchEvent.OutputTuple, - TransferBatchEvent.OutputObject - >; - - "TransferSingle(address,address,address,uint256,uint256)": TypedContractEvent< - TransferSingleEvent.InputTuple, - TransferSingleEvent.OutputTuple, - TransferSingleEvent.OutputObject - >; - TransferSingle: TypedContractEvent< - TransferSingleEvent.InputTuple, - TransferSingleEvent.OutputTuple, - TransferSingleEvent.OutputObject - >; - - "URI(string,uint256)": TypedContractEvent< - URIEvent.InputTuple, - URIEvent.OutputTuple, - URIEvent.OutputObject - >; - URI: TypedContractEvent< - URIEvent.InputTuple, - URIEvent.OutputTuple, - URIEvent.OutputObject - >; - - "Unpaused(address)": TypedContractEvent< - UnpausedEvent.InputTuple, - UnpausedEvent.OutputTuple, - UnpausedEvent.OutputObject - >; - Unpaused: TypedContractEvent< - UnpausedEvent.InputTuple, - UnpausedEvent.OutputTuple, - UnpausedEvent.OutputObject - >; - - "Upgraded(address)": TypedContractEvent< - UpgradedEvent.InputTuple, - UpgradedEvent.OutputTuple, - UpgradedEvent.OutputObject - >; - Upgraded: TypedContractEvent< - UpgradedEvent.InputTuple, - UpgradedEvent.OutputTuple, - UpgradedEvent.OutputObject - >; - }; -} diff --git a/typechain-types/src/Editions/IEditions.ts b/typechain-types/src/Editions/IEditions.ts deleted file mode 100644 index de336ba..0000000 --- a/typechain-types/src/Editions/IEditions.ts +++ /dev/null @@ -1,627 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumberish, - BytesLike, - FunctionFragment, - Result, - Interface, - EventFragment, - AddressLike, - ContractRunner, - ContractMethod, - Listener, -} from "ethers"; -import type { - TypedContractEvent, - TypedDeferredTopicFilter, - TypedEventLog, - TypedLogDescription, - TypedListener, - TypedContractMethod, -} from "../../common"; - -export declare namespace EditionsStructs { - export type EditionIdWithAmountStruct = { id: string; amount: BigNumberish }; - - export type EditionIdWithAmountStructOutput = [id: string, amount: bigint] & { - id: string; - amount: bigint; - }; - - export type EditionStruct = { - status: BigNumberish; - fee: BigNumberish; - balance: BigNumberish; - owner: AddressLike; - id: string; - briefId: string; - }; - - export type EditionStructOutput = [ - status: bigint, - fee: bigint, - balance: bigint, - owner: string, - id: string, - briefId: string - ] & { - status: bigint; - fee: bigint; - balance: bigint; - owner: string; - id: string; - briefId: string; - }; -} - -export interface IEditionsInterface extends Interface { - getFunction( - nameOrSignature: - | "approveEdition" - | "believeProject" - | "createEdition" - | "getBalances" - | "getEditions" - | "mintEdition" - | "removeBelief" - | "resumeEdition" - | "stopEdition" - | "updateEdition" - | "withdrawEditionBalance" - | "withdrawFunds" - ): FunctionFragment; - - getEvent( - nameOrSignatureOrTopic: - | "EditionApproved" - | "EditionBalanceWithdrawn" - | "EditionBeliefRemoved" - | "EditionBelieved" - | "EditionCreated" - | "EditionResumed" - | "EditionStopped" - ): EventFragment; - - encodeFunctionData( - functionFragment: "approveEdition", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "believeProject", - values: [BigNumberish, string] - ): string; - encodeFunctionData( - functionFragment: "createEdition", - values: [BigNumberish, AddressLike, AddressLike, string, string] - ): string; - encodeFunctionData( - functionFragment: "getBalances", - values: [AddressLike] - ): string; - encodeFunctionData( - functionFragment: "getEditions", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "mintEdition", - values: [BigNumberish, BigNumberish, AddressLike, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "removeBelief", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "resumeEdition", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "stopEdition", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "updateEdition", - values: [BigNumberish, string, string] - ): string; - encodeFunctionData( - functionFragment: "withdrawEditionBalance", - values: [BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "withdrawFunds", - values: [BigNumberish] - ): string; - - decodeFunctionResult( - functionFragment: "approveEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "believeProject", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "createEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getBalances", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getEditions", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "mintEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeBelief", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "resumeEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "stopEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "updateEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "withdrawEditionBalance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "withdrawFunds", - data: BytesLike - ): Result; -} - -export namespace EditionApprovedEvent { - export type InputTuple = [editionId: BigNumberish]; - export type OutputTuple = [editionId: bigint]; - export interface OutputObject { - editionId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionBalanceWithdrawnEvent { - export type InputTuple = [ - editionId: BigNumberish, - amount: BigNumberish, - owner: AddressLike - ]; - export type OutputTuple = [editionId: bigint, amount: bigint, owner: string]; - export interface OutputObject { - editionId: bigint; - amount: bigint; - owner: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionBeliefRemovedEvent { - export type InputTuple = [editionId: BigNumberish, believer: AddressLike]; - export type OutputTuple = [editionId: bigint, believer: string]; - export interface OutputObject { - editionId: bigint; - believer: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionBelievedEvent { - export type InputTuple = [ - editionId: BigNumberish, - believer: AddressLike, - tags: string - ]; - export type OutputTuple = [editionId: bigint, believer: string, tags: string]; - export interface OutputObject { - editionId: bigint; - believer: string; - tags: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionCreatedEvent { - export type InputTuple = [ - editionId: BigNumberish, - briefId: string, - fee: BigNumberish, - owner: AddressLike - ]; - export type OutputTuple = [ - editionId: bigint, - briefId: string, - fee: bigint, - owner: string - ]; - export interface OutputObject { - editionId: bigint; - briefId: string; - fee: bigint; - owner: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionResumedEvent { - export type InputTuple = [editionId: BigNumberish]; - export type OutputTuple = [editionId: bigint]; - export interface OutputObject { - editionId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionStoppedEvent { - export type InputTuple = [editionId: BigNumberish]; - export type OutputTuple = [editionId: bigint]; - export interface OutputObject { - editionId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export interface IEditions extends BaseContract { - connect(runner?: ContractRunner | null): IEditions; - waitForDeployment(): Promise; - - interface: IEditionsInterface; - - queryFilter( - event: TCEvent, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - queryFilter( - filter: TypedDeferredTopicFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - - on( - event: TCEvent, - listener: TypedListener - ): Promise; - on( - filter: TypedDeferredTopicFilter, - listener: TypedListener - ): Promise; - - once( - event: TCEvent, - listener: TypedListener - ): Promise; - once( - filter: TypedDeferredTopicFilter, - listener: TypedListener - ): Promise; - - listeners( - event: TCEvent - ): Promise>>; - listeners(eventName?: string): Promise>; - removeAllListeners( - event?: TCEvent - ): Promise; - - approveEdition: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - believeProject: TypedContractMethod< - [editionId: BigNumberish, tags: string], - [void], - "nonpayable" - >; - - createEdition: TypedContractMethod< - [ - fee: BigNumberish, - owner: AddressLike, - payer: AddressLike, - id: string, - briefId: string - ], - [bigint], - "nonpayable" - >; - - getBalances: TypedContractMethod< - [owner: AddressLike], - [EditionsStructs.EditionIdWithAmountStructOutput[]], - "view" - >; - - getEditions: TypedContractMethod< - [], - [EditionsStructs.EditionStructOutput[]], - "view" - >; - - mintEdition: TypedContractMethod< - [ - editionId: BigNumberish, - amount: BigNumberish, - buyer: AddressLike, - data: BytesLike - ], - [void], - "payable" - >; - - removeBelief: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - resumeEdition: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - stopEdition: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - updateEdition: TypedContractMethod< - [editionId: BigNumberish, id: string, briefId: string], - [void], - "nonpayable" - >; - - withdrawEditionBalance: TypedContractMethod< - [editionId: BigNumberish, amount: BigNumberish], - [void], - "nonpayable" - >; - - withdrawFunds: TypedContractMethod< - [amount: BigNumberish], - [void], - "nonpayable" - >; - - getFunction( - key: string | FunctionFragment - ): T; - - getFunction( - nameOrSignature: "approveEdition" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "believeProject" - ): TypedContractMethod< - [editionId: BigNumberish, tags: string], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "createEdition" - ): TypedContractMethod< - [ - fee: BigNumberish, - owner: AddressLike, - payer: AddressLike, - id: string, - briefId: string - ], - [bigint], - "nonpayable" - >; - getFunction( - nameOrSignature: "getBalances" - ): TypedContractMethod< - [owner: AddressLike], - [EditionsStructs.EditionIdWithAmountStructOutput[]], - "view" - >; - getFunction( - nameOrSignature: "getEditions" - ): TypedContractMethod<[], [EditionsStructs.EditionStructOutput[]], "view">; - getFunction( - nameOrSignature: "mintEdition" - ): TypedContractMethod< - [ - editionId: BigNumberish, - amount: BigNumberish, - buyer: AddressLike, - data: BytesLike - ], - [void], - "payable" - >; - getFunction( - nameOrSignature: "removeBelief" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "resumeEdition" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "stopEdition" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "updateEdition" - ): TypedContractMethod< - [editionId: BigNumberish, id: string, briefId: string], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "withdrawEditionBalance" - ): TypedContractMethod< - [editionId: BigNumberish, amount: BigNumberish], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "withdrawFunds" - ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; - - getEvent( - key: "EditionApproved" - ): TypedContractEvent< - EditionApprovedEvent.InputTuple, - EditionApprovedEvent.OutputTuple, - EditionApprovedEvent.OutputObject - >; - getEvent( - key: "EditionBalanceWithdrawn" - ): TypedContractEvent< - EditionBalanceWithdrawnEvent.InputTuple, - EditionBalanceWithdrawnEvent.OutputTuple, - EditionBalanceWithdrawnEvent.OutputObject - >; - getEvent( - key: "EditionBeliefRemoved" - ): TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - getEvent( - key: "EditionBelieved" - ): TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - getEvent( - key: "EditionCreated" - ): TypedContractEvent< - EditionCreatedEvent.InputTuple, - EditionCreatedEvent.OutputTuple, - EditionCreatedEvent.OutputObject - >; - getEvent( - key: "EditionResumed" - ): TypedContractEvent< - EditionResumedEvent.InputTuple, - EditionResumedEvent.OutputTuple, - EditionResumedEvent.OutputObject - >; - getEvent( - key: "EditionStopped" - ): TypedContractEvent< - EditionStoppedEvent.InputTuple, - EditionStoppedEvent.OutputTuple, - EditionStoppedEvent.OutputObject - >; - - filters: { - "EditionApproved(uint256)": TypedContractEvent< - EditionApprovedEvent.InputTuple, - EditionApprovedEvent.OutputTuple, - EditionApprovedEvent.OutputObject - >; - EditionApproved: TypedContractEvent< - EditionApprovedEvent.InputTuple, - EditionApprovedEvent.OutputTuple, - EditionApprovedEvent.OutputObject - >; - - "EditionBalanceWithdrawn(uint256,uint256,address)": TypedContractEvent< - EditionBalanceWithdrawnEvent.InputTuple, - EditionBalanceWithdrawnEvent.OutputTuple, - EditionBalanceWithdrawnEvent.OutputObject - >; - EditionBalanceWithdrawn: TypedContractEvent< - EditionBalanceWithdrawnEvent.InputTuple, - EditionBalanceWithdrawnEvent.OutputTuple, - EditionBalanceWithdrawnEvent.OutputObject - >; - - "EditionBeliefRemoved(uint256,address)": TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - EditionBeliefRemoved: TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - - "EditionBelieved(uint256,address,string)": TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - EditionBelieved: TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - - "EditionCreated(uint256,string,uint256,address)": TypedContractEvent< - EditionCreatedEvent.InputTuple, - EditionCreatedEvent.OutputTuple, - EditionCreatedEvent.OutputObject - >; - EditionCreated: TypedContractEvent< - EditionCreatedEvent.InputTuple, - EditionCreatedEvent.OutputTuple, - EditionCreatedEvent.OutputObject - >; - - "EditionResumed(uint256)": TypedContractEvent< - EditionResumedEvent.InputTuple, - EditionResumedEvent.OutputTuple, - EditionResumedEvent.OutputObject - >; - EditionResumed: TypedContractEvent< - EditionResumedEvent.InputTuple, - EditionResumedEvent.OutputTuple, - EditionResumedEvent.OutputObject - >; - - "EditionStopped(uint256)": TypedContractEvent< - EditionStoppedEvent.InputTuple, - EditionStoppedEvent.OutputTuple, - EditionStoppedEvent.OutputObject - >; - EditionStopped: TypedContractEvent< - EditionStoppedEvent.InputTuple, - EditionStoppedEvent.OutputTuple, - EditionStoppedEvent.OutputObject - >; - }; -} diff --git a/typechain-types/src/Editions/index.ts b/typechain-types/src/Editions/index.ts deleted file mode 100644 index 43e6782..0000000 --- a/typechain-types/src/Editions/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { Editions } from "./Editions"; -export type { EditionsRoles } from "./EditionsRoles"; -export type { IEditions } from "./IEditions"; diff --git a/typechain-types/src/IRadarEditions.ts b/typechain-types/src/IRadarEditions.ts deleted file mode 100644 index d0c36bc..0000000 --- a/typechain-types/src/IRadarEditions.ts +++ /dev/null @@ -1,675 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumberish, - BytesLike, - FunctionFragment, - Result, - Interface, - EventFragment, - AddressLike, - ContractRunner, - ContractMethod, - Listener, -} from "ethers"; -import type { - TypedContractEvent, - TypedDeferredTopicFilter, - TypedEventLog, - TypedLogDescription, - TypedListener, - TypedContractMethod, -} from "../common"; - -export declare namespace EditionsStructs { - export type EditionIdWithAmountStruct = { id: string; amount: BigNumberish }; - - export type EditionIdWithAmountStructOutput = [id: string, amount: bigint] & { - id: string; - amount: bigint; - }; - - export type EditionStruct = { - status: BigNumberish; - fee: BigNumberish; - balance: BigNumberish; - owner: AddressLike; - id: string; - briefId: string; - }; - - export type EditionStructOutput = [ - status: bigint, - fee: bigint, - balance: bigint, - owner: string, - id: string, - briefId: string - ] & { - status: bigint; - fee: bigint; - balance: bigint; - owner: string; - id: string; - briefId: string; - }; -} - -export interface IRadarEditionsInterface extends Interface { - getFunction( - nameOrSignature: - | "approveEdition" - | "believeProject" - | "createEdition" - | "getBalances" - | "getEditions" - | "mintEdition" - | "removeBelief" - | "resumeEdition" - | "setMaximumEditionFee" - | "setProtocolFee" - | "setURI" - | "stopEdition" - | "updateEdition" - | "withdrawEditionBalance" - | "withdrawFunds" - ): FunctionFragment; - - getEvent( - nameOrSignatureOrTopic: - | "EditionApproved" - | "EditionBalanceWithdrawn" - | "EditionBeliefRemoved" - | "EditionBelieved" - | "EditionCreated" - | "EditionResumed" - | "EditionStopped" - ): EventFragment; - - encodeFunctionData( - functionFragment: "approveEdition", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "believeProject", - values: [BigNumberish, string] - ): string; - encodeFunctionData( - functionFragment: "createEdition", - values: [BigNumberish, AddressLike, AddressLike, string, string] - ): string; - encodeFunctionData( - functionFragment: "getBalances", - values: [AddressLike] - ): string; - encodeFunctionData( - functionFragment: "getEditions", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "mintEdition", - values: [BigNumberish, BigNumberish, AddressLike, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "removeBelief", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "resumeEdition", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "setMaximumEditionFee", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "setProtocolFee", - values: [BigNumberish] - ): string; - encodeFunctionData(functionFragment: "setURI", values: [string]): string; - encodeFunctionData( - functionFragment: "stopEdition", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "updateEdition", - values: [BigNumberish, string, string] - ): string; - encodeFunctionData( - functionFragment: "withdrawEditionBalance", - values: [BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "withdrawFunds", - values: [BigNumberish] - ): string; - - decodeFunctionResult( - functionFragment: "approveEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "believeProject", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "createEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getBalances", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getEditions", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "mintEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeBelief", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "resumeEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setMaximumEditionFee", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setProtocolFee", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "setURI", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "stopEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "updateEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "withdrawEditionBalance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "withdrawFunds", - data: BytesLike - ): Result; -} - -export namespace EditionApprovedEvent { - export type InputTuple = [editionId: BigNumberish]; - export type OutputTuple = [editionId: bigint]; - export interface OutputObject { - editionId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionBalanceWithdrawnEvent { - export type InputTuple = [ - editionId: BigNumberish, - amount: BigNumberish, - owner: AddressLike - ]; - export type OutputTuple = [editionId: bigint, amount: bigint, owner: string]; - export interface OutputObject { - editionId: bigint; - amount: bigint; - owner: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionBeliefRemovedEvent { - export type InputTuple = [editionId: BigNumberish, believer: AddressLike]; - export type OutputTuple = [editionId: bigint, believer: string]; - export interface OutputObject { - editionId: bigint; - believer: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionBelievedEvent { - export type InputTuple = [ - editionId: BigNumberish, - believer: AddressLike, - tags: string - ]; - export type OutputTuple = [editionId: bigint, believer: string, tags: string]; - export interface OutputObject { - editionId: bigint; - believer: string; - tags: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionCreatedEvent { - export type InputTuple = [ - editionId: BigNumberish, - briefId: string, - fee: BigNumberish, - owner: AddressLike - ]; - export type OutputTuple = [ - editionId: bigint, - briefId: string, - fee: bigint, - owner: string - ]; - export interface OutputObject { - editionId: bigint; - briefId: string; - fee: bigint; - owner: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionResumedEvent { - export type InputTuple = [editionId: BigNumberish]; - export type OutputTuple = [editionId: bigint]; - export interface OutputObject { - editionId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionStoppedEvent { - export type InputTuple = [editionId: BigNumberish]; - export type OutputTuple = [editionId: bigint]; - export interface OutputObject { - editionId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export interface IRadarEditions extends BaseContract { - connect(runner?: ContractRunner | null): IRadarEditions; - waitForDeployment(): Promise; - - interface: IRadarEditionsInterface; - - queryFilter( - event: TCEvent, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - queryFilter( - filter: TypedDeferredTopicFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - - on( - event: TCEvent, - listener: TypedListener - ): Promise; - on( - filter: TypedDeferredTopicFilter, - listener: TypedListener - ): Promise; - - once( - event: TCEvent, - listener: TypedListener - ): Promise; - once( - filter: TypedDeferredTopicFilter, - listener: TypedListener - ): Promise; - - listeners( - event: TCEvent - ): Promise>>; - listeners(eventName?: string): Promise>; - removeAllListeners( - event?: TCEvent - ): Promise; - - approveEdition: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - believeProject: TypedContractMethod< - [editionId: BigNumberish, tags: string], - [void], - "nonpayable" - >; - - createEdition: TypedContractMethod< - [ - fee: BigNumberish, - owner: AddressLike, - payer: AddressLike, - id: string, - briefId: string - ], - [bigint], - "nonpayable" - >; - - getBalances: TypedContractMethod< - [owner: AddressLike], - [EditionsStructs.EditionIdWithAmountStructOutput[]], - "view" - >; - - getEditions: TypedContractMethod< - [], - [EditionsStructs.EditionStructOutput[]], - "view" - >; - - mintEdition: TypedContractMethod< - [ - editionId: BigNumberish, - amount: BigNumberish, - buyer: AddressLike, - data: BytesLike - ], - [void], - "payable" - >; - - removeBelief: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - resumeEdition: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - setMaximumEditionFee: TypedContractMethod< - [_maximumEditionFee: BigNumberish], - [void], - "nonpayable" - >; - - setProtocolFee: TypedContractMethod< - [_protocolFee: BigNumberish], - [void], - "nonpayable" - >; - - setURI: TypedContractMethod<[newuri: string], [void], "nonpayable">; - - stopEdition: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - updateEdition: TypedContractMethod< - [editionId: BigNumberish, id: string, briefId: string], - [void], - "nonpayable" - >; - - withdrawEditionBalance: TypedContractMethod< - [editionId: BigNumberish, amount: BigNumberish], - [void], - "nonpayable" - >; - - withdrawFunds: TypedContractMethod< - [amount: BigNumberish], - [void], - "nonpayable" - >; - - getFunction( - key: string | FunctionFragment - ): T; - - getFunction( - nameOrSignature: "approveEdition" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "believeProject" - ): TypedContractMethod< - [editionId: BigNumberish, tags: string], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "createEdition" - ): TypedContractMethod< - [ - fee: BigNumberish, - owner: AddressLike, - payer: AddressLike, - id: string, - briefId: string - ], - [bigint], - "nonpayable" - >; - getFunction( - nameOrSignature: "getBalances" - ): TypedContractMethod< - [owner: AddressLike], - [EditionsStructs.EditionIdWithAmountStructOutput[]], - "view" - >; - getFunction( - nameOrSignature: "getEditions" - ): TypedContractMethod<[], [EditionsStructs.EditionStructOutput[]], "view">; - getFunction( - nameOrSignature: "mintEdition" - ): TypedContractMethod< - [ - editionId: BigNumberish, - amount: BigNumberish, - buyer: AddressLike, - data: BytesLike - ], - [void], - "payable" - >; - getFunction( - nameOrSignature: "removeBelief" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "resumeEdition" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "setMaximumEditionFee" - ): TypedContractMethod< - [_maximumEditionFee: BigNumberish], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "setProtocolFee" - ): TypedContractMethod<[_protocolFee: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "setURI" - ): TypedContractMethod<[newuri: string], [void], "nonpayable">; - getFunction( - nameOrSignature: "stopEdition" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "updateEdition" - ): TypedContractMethod< - [editionId: BigNumberish, id: string, briefId: string], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "withdrawEditionBalance" - ): TypedContractMethod< - [editionId: BigNumberish, amount: BigNumberish], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "withdrawFunds" - ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; - - getEvent( - key: "EditionApproved" - ): TypedContractEvent< - EditionApprovedEvent.InputTuple, - EditionApprovedEvent.OutputTuple, - EditionApprovedEvent.OutputObject - >; - getEvent( - key: "EditionBalanceWithdrawn" - ): TypedContractEvent< - EditionBalanceWithdrawnEvent.InputTuple, - EditionBalanceWithdrawnEvent.OutputTuple, - EditionBalanceWithdrawnEvent.OutputObject - >; - getEvent( - key: "EditionBeliefRemoved" - ): TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - getEvent( - key: "EditionBelieved" - ): TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - getEvent( - key: "EditionCreated" - ): TypedContractEvent< - EditionCreatedEvent.InputTuple, - EditionCreatedEvent.OutputTuple, - EditionCreatedEvent.OutputObject - >; - getEvent( - key: "EditionResumed" - ): TypedContractEvent< - EditionResumedEvent.InputTuple, - EditionResumedEvent.OutputTuple, - EditionResumedEvent.OutputObject - >; - getEvent( - key: "EditionStopped" - ): TypedContractEvent< - EditionStoppedEvent.InputTuple, - EditionStoppedEvent.OutputTuple, - EditionStoppedEvent.OutputObject - >; - - filters: { - "EditionApproved(uint256)": TypedContractEvent< - EditionApprovedEvent.InputTuple, - EditionApprovedEvent.OutputTuple, - EditionApprovedEvent.OutputObject - >; - EditionApproved: TypedContractEvent< - EditionApprovedEvent.InputTuple, - EditionApprovedEvent.OutputTuple, - EditionApprovedEvent.OutputObject - >; - - "EditionBalanceWithdrawn(uint256,uint256,address)": TypedContractEvent< - EditionBalanceWithdrawnEvent.InputTuple, - EditionBalanceWithdrawnEvent.OutputTuple, - EditionBalanceWithdrawnEvent.OutputObject - >; - EditionBalanceWithdrawn: TypedContractEvent< - EditionBalanceWithdrawnEvent.InputTuple, - EditionBalanceWithdrawnEvent.OutputTuple, - EditionBalanceWithdrawnEvent.OutputObject - >; - - "EditionBeliefRemoved(uint256,address)": TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - EditionBeliefRemoved: TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - - "EditionBelieved(uint256,address,string)": TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - EditionBelieved: TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - - "EditionCreated(uint256,string,uint256,address)": TypedContractEvent< - EditionCreatedEvent.InputTuple, - EditionCreatedEvent.OutputTuple, - EditionCreatedEvent.OutputObject - >; - EditionCreated: TypedContractEvent< - EditionCreatedEvent.InputTuple, - EditionCreatedEvent.OutputTuple, - EditionCreatedEvent.OutputObject - >; - - "EditionResumed(uint256)": TypedContractEvent< - EditionResumedEvent.InputTuple, - EditionResumedEvent.OutputTuple, - EditionResumedEvent.OutputObject - >; - EditionResumed: TypedContractEvent< - EditionResumedEvent.InputTuple, - EditionResumedEvent.OutputTuple, - EditionResumedEvent.OutputObject - >; - - "EditionStopped(uint256)": TypedContractEvent< - EditionStoppedEvent.InputTuple, - EditionStoppedEvent.OutputTuple, - EditionStoppedEvent.OutputObject - >; - EditionStopped: TypedContractEvent< - EditionStoppedEvent.InputTuple, - EditionStoppedEvent.OutputTuple, - EditionStoppedEvent.OutputObject - >; - }; -} diff --git a/typechain-types/src/RadarEditions.ts b/typechain-types/src/RadarEditions.ts deleted file mode 100644 index 5562ab0..0000000 --- a/typechain-types/src/RadarEditions.ts +++ /dev/null @@ -1,1682 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumberish, - BytesLike, - FunctionFragment, - Result, - Interface, - EventFragment, - AddressLike, - ContractRunner, - ContractMethod, - Listener, -} from "ethers"; -import type { - TypedContractEvent, - TypedDeferredTopicFilter, - TypedEventLog, - TypedLogDescription, - TypedListener, - TypedContractMethod, -} from "../common"; - -export declare namespace EditionsStructs { - export type EditionIdWithAmountStruct = { id: string; amount: BigNumberish }; - - export type EditionIdWithAmountStructOutput = [id: string, amount: bigint] & { - id: string; - amount: bigint; - }; - - export type EditionStruct = { - status: BigNumberish; - fee: BigNumberish; - balance: BigNumberish; - owner: AddressLike; - id: string; - briefId: string; - }; - - export type EditionStructOutput = [ - status: bigint, - fee: bigint, - balance: bigint, - owner: string, - id: string, - briefId: string - ] & { - status: bigint; - fee: bigint; - balance: bigint; - owner: string; - id: string; - briefId: string; - }; -} - -export interface RadarEditionsInterface extends Interface { - getFunction( - nameOrSignature: - | "DEFAULT_ADMIN_ROLE" - | "approveEdition" - | "balanceOf" - | "balanceOfBatch" - | "believeProject" - | "burn" - | "burnBatch" - | "contractURI" - | "createEdition" - | "editionCounter" - | "editions" - | "exists" - | "getBalances" - | "getEditions" - | "getRoleAdmin" - | "grantRole" - | "hasRole" - | "initialize" - | "isApprovedForAll" - | "maximumEditionFee" - | "mintEdition" - | "pause" - | "paused" - | "protocolFee" - | "proxiableUUID" - | "removeBelief" - | "renounceRole" - | "resumeEdition" - | "revokeRole" - | "safeBatchTransferFrom" - | "safeTransferFrom" - | "setApprovalForAll" - | "setMaximumEditionFee" - | "setProtocolFee" - | "setURI" - | "stopEdition" - | "supportsInterface" - | "totalSupply" - | "unpause" - | "updateEdition" - | "upgradeTo" - | "upgradeToAndCall" - | "uri" - | "withdrawEditionBalance" - | "withdrawFunds" - ): FunctionFragment; - - getEvent( - nameOrSignatureOrTopic: - | "AdminChanged" - | "ApprovalForAll" - | "BeaconUpgraded" - | "EditionApproved" - | "EditionBalanceWithdrawn" - | "EditionBeliefRemoved" - | "EditionBelieved" - | "EditionCreated" - | "EditionResumed" - | "EditionStopped" - | "Initialized" - | "Paused" - | "RoleAdminChanged" - | "RoleGranted" - | "RoleRevoked" - | "TransferBatch" - | "TransferSingle" - | "URI" - | "Unpaused" - | "Upgraded" - ): EventFragment; - - encodeFunctionData( - functionFragment: "DEFAULT_ADMIN_ROLE", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "approveEdition", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "balanceOf", - values: [AddressLike, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "balanceOfBatch", - values: [AddressLike[], BigNumberish[]] - ): string; - encodeFunctionData( - functionFragment: "believeProject", - values: [BigNumberish, string] - ): string; - encodeFunctionData( - functionFragment: "burn", - values: [AddressLike, BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "burnBatch", - values: [AddressLike, BigNumberish[], BigNumberish[]] - ): string; - encodeFunctionData( - functionFragment: "contractURI", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "createEdition", - values: [BigNumberish, AddressLike, AddressLike, string, string] - ): string; - encodeFunctionData( - functionFragment: "editionCounter", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "editions", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "exists", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "getBalances", - values: [AddressLike] - ): string; - encodeFunctionData( - functionFragment: "getEditions", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "getRoleAdmin", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "grantRole", - values: [BytesLike, AddressLike] - ): string; - encodeFunctionData( - functionFragment: "hasRole", - values: [BytesLike, AddressLike] - ): string; - encodeFunctionData( - functionFragment: "initialize", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "isApprovedForAll", - values: [AddressLike, AddressLike] - ): string; - encodeFunctionData( - functionFragment: "maximumEditionFee", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "mintEdition", - values: [BigNumberish, BigNumberish, AddressLike, BytesLike] - ): string; - encodeFunctionData(functionFragment: "pause", values?: undefined): string; - encodeFunctionData(functionFragment: "paused", values?: undefined): string; - encodeFunctionData( - functionFragment: "protocolFee", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "proxiableUUID", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "removeBelief", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "renounceRole", - values: [BytesLike, AddressLike] - ): string; - encodeFunctionData( - functionFragment: "resumeEdition", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "revokeRole", - values: [BytesLike, AddressLike] - ): string; - encodeFunctionData( - functionFragment: "safeBatchTransferFrom", - values: [ - AddressLike, - AddressLike, - BigNumberish[], - BigNumberish[], - BytesLike - ] - ): string; - encodeFunctionData( - functionFragment: "safeTransferFrom", - values: [AddressLike, AddressLike, BigNumberish, BigNumberish, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "setApprovalForAll", - values: [AddressLike, boolean] - ): string; - encodeFunctionData( - functionFragment: "setMaximumEditionFee", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "setProtocolFee", - values: [BigNumberish] - ): string; - encodeFunctionData(functionFragment: "setURI", values: [string]): string; - encodeFunctionData( - functionFragment: "stopEdition", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "supportsInterface", - values: [BytesLike] - ): string; - encodeFunctionData( - functionFragment: "totalSupply", - values: [BigNumberish] - ): string; - encodeFunctionData(functionFragment: "unpause", values?: undefined): string; - encodeFunctionData( - functionFragment: "updateEdition", - values: [BigNumberish, string, string] - ): string; - encodeFunctionData( - functionFragment: "upgradeTo", - values: [AddressLike] - ): string; - encodeFunctionData( - functionFragment: "upgradeToAndCall", - values: [AddressLike, BytesLike] - ): string; - encodeFunctionData(functionFragment: "uri", values: [BigNumberish]): string; - encodeFunctionData( - functionFragment: "withdrawEditionBalance", - values: [BigNumberish, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "withdrawFunds", - values: [BigNumberish] - ): string; - - decodeFunctionResult( - functionFragment: "DEFAULT_ADMIN_ROLE", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "approveEdition", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "balanceOfBatch", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "believeProject", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "burnBatch", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "contractURI", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "createEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "editionCounter", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "editions", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "exists", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "getBalances", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getEditions", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getRoleAdmin", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "isApprovedForAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "maximumEditionFee", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "mintEdition", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "protocolFee", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "proxiableUUID", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "removeBelief", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "renounceRole", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "resumeEdition", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "safeBatchTransferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "safeTransferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setApprovalForAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setMaximumEditionFee", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setProtocolFee", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "setURI", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "stopEdition", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "supportsInterface", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "totalSupply", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "updateEdition", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "upgradeToAndCall", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "uri", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "withdrawEditionBalance", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "withdrawFunds", - data: BytesLike - ): Result; -} - -export namespace AdminChangedEvent { - export type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; - export type OutputTuple = [previousAdmin: string, newAdmin: string]; - export interface OutputObject { - previousAdmin: string; - newAdmin: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace ApprovalForAllEvent { - export type InputTuple = [ - account: AddressLike, - operator: AddressLike, - approved: boolean - ]; - export type OutputTuple = [ - account: string, - operator: string, - approved: boolean - ]; - export interface OutputObject { - account: string; - operator: string; - approved: boolean; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace BeaconUpgradedEvent { - export type InputTuple = [beacon: AddressLike]; - export type OutputTuple = [beacon: string]; - export interface OutputObject { - beacon: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionApprovedEvent { - export type InputTuple = [editionId: BigNumberish]; - export type OutputTuple = [editionId: bigint]; - export interface OutputObject { - editionId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionBalanceWithdrawnEvent { - export type InputTuple = [ - editionId: BigNumberish, - amount: BigNumberish, - owner: AddressLike - ]; - export type OutputTuple = [editionId: bigint, amount: bigint, owner: string]; - export interface OutputObject { - editionId: bigint; - amount: bigint; - owner: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionBeliefRemovedEvent { - export type InputTuple = [editionId: BigNumberish, believer: AddressLike]; - export type OutputTuple = [editionId: bigint, believer: string]; - export interface OutputObject { - editionId: bigint; - believer: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionBelievedEvent { - export type InputTuple = [ - editionId: BigNumberish, - believer: AddressLike, - tags: string - ]; - export type OutputTuple = [editionId: bigint, believer: string, tags: string]; - export interface OutputObject { - editionId: bigint; - believer: string; - tags: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionCreatedEvent { - export type InputTuple = [ - editionId: BigNumberish, - briefId: string, - fee: BigNumberish, - owner: AddressLike - ]; - export type OutputTuple = [ - editionId: bigint, - briefId: string, - fee: bigint, - owner: string - ]; - export interface OutputObject { - editionId: bigint; - briefId: string; - fee: bigint; - owner: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionResumedEvent { - export type InputTuple = [editionId: BigNumberish]; - export type OutputTuple = [editionId: bigint]; - export interface OutputObject { - editionId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace EditionStoppedEvent { - export type InputTuple = [editionId: BigNumberish]; - export type OutputTuple = [editionId: bigint]; - export interface OutputObject { - editionId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace InitializedEvent { - export type InputTuple = [version: BigNumberish]; - export type OutputTuple = [version: bigint]; - export interface OutputObject { - version: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace PausedEvent { - export type InputTuple = [account: AddressLike]; - export type OutputTuple = [account: string]; - export interface OutputObject { - account: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace RoleAdminChangedEvent { - export type InputTuple = [ - role: BytesLike, - previousAdminRole: BytesLike, - newAdminRole: BytesLike - ]; - export type OutputTuple = [ - role: string, - previousAdminRole: string, - newAdminRole: string - ]; - export interface OutputObject { - role: string; - previousAdminRole: string; - newAdminRole: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace RoleGrantedEvent { - export type InputTuple = [ - role: BytesLike, - account: AddressLike, - sender: AddressLike - ]; - export type OutputTuple = [role: string, account: string, sender: string]; - export interface OutputObject { - role: string; - account: string; - sender: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace RoleRevokedEvent { - export type InputTuple = [ - role: BytesLike, - account: AddressLike, - sender: AddressLike - ]; - export type OutputTuple = [role: string, account: string, sender: string]; - export interface OutputObject { - role: string; - account: string; - sender: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace TransferBatchEvent { - export type InputTuple = [ - operator: AddressLike, - from: AddressLike, - to: AddressLike, - ids: BigNumberish[], - values: BigNumberish[] - ]; - export type OutputTuple = [ - operator: string, - from: string, - to: string, - ids: bigint[], - values: bigint[] - ]; - export interface OutputObject { - operator: string; - from: string; - to: string; - ids: bigint[]; - values: bigint[]; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace TransferSingleEvent { - export type InputTuple = [ - operator: AddressLike, - from: AddressLike, - to: AddressLike, - id: BigNumberish, - value: BigNumberish - ]; - export type OutputTuple = [ - operator: string, - from: string, - to: string, - id: bigint, - value: bigint - ]; - export interface OutputObject { - operator: string; - from: string; - to: string; - id: bigint; - value: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace URIEvent { - export type InputTuple = [value: string, id: BigNumberish]; - export type OutputTuple = [value: string, id: bigint]; - export interface OutputObject { - value: string; - id: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace UnpausedEvent { - export type InputTuple = [account: AddressLike]; - export type OutputTuple = [account: string]; - export interface OutputObject { - account: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace UpgradedEvent { - export type InputTuple = [implementation: AddressLike]; - export type OutputTuple = [implementation: string]; - export interface OutputObject { - implementation: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export interface RadarEditions extends BaseContract { - connect(runner?: ContractRunner | null): RadarEditions; - waitForDeployment(): Promise; - - interface: RadarEditionsInterface; - - queryFilter( - event: TCEvent, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - queryFilter( - filter: TypedDeferredTopicFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - - on( - event: TCEvent, - listener: TypedListener - ): Promise; - on( - filter: TypedDeferredTopicFilter, - listener: TypedListener - ): Promise; - - once( - event: TCEvent, - listener: TypedListener - ): Promise; - once( - filter: TypedDeferredTopicFilter, - listener: TypedListener - ): Promise; - - listeners( - event: TCEvent - ): Promise>>; - listeners(eventName?: string): Promise>; - removeAllListeners( - event?: TCEvent - ): Promise; - - DEFAULT_ADMIN_ROLE: TypedContractMethod<[], [string], "view">; - - approveEdition: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - balanceOf: TypedContractMethod< - [account: AddressLike, id: BigNumberish], - [bigint], - "view" - >; - - balanceOfBatch: TypedContractMethod< - [accounts: AddressLike[], ids: BigNumberish[]], - [bigint[]], - "view" - >; - - believeProject: TypedContractMethod< - [editionId: BigNumberish, tags: string], - [void], - "nonpayable" - >; - - burn: TypedContractMethod< - [account: AddressLike, id: BigNumberish, value: BigNumberish], - [void], - "nonpayable" - >; - - burnBatch: TypedContractMethod< - [account: AddressLike, ids: BigNumberish[], values: BigNumberish[]], - [void], - "nonpayable" - >; - - contractURI: TypedContractMethod<[], [string], "view">; - - createEdition: TypedContractMethod< - [ - fee: BigNumberish, - owner: AddressLike, - payer: AddressLike, - id: string, - briefId: string - ], - [bigint], - "nonpayable" - >; - - editionCounter: TypedContractMethod<[], [bigint], "view">; - - editions: TypedContractMethod< - [arg0: BigNumberish], - [ - [bigint, bigint, bigint, string, string, string] & { - status: bigint; - fee: bigint; - balance: bigint; - owner: string; - id: string; - briefId: string; - } - ], - "view" - >; - - exists: TypedContractMethod<[id: BigNumberish], [boolean], "view">; - - getBalances: TypedContractMethod< - [owner: AddressLike], - [EditionsStructs.EditionIdWithAmountStructOutput[]], - "view" - >; - - getEditions: TypedContractMethod< - [], - [EditionsStructs.EditionStructOutput[]], - "view" - >; - - getRoleAdmin: TypedContractMethod<[role: BytesLike], [string], "view">; - - grantRole: TypedContractMethod< - [role: BytesLike, account: AddressLike], - [void], - "nonpayable" - >; - - hasRole: TypedContractMethod< - [role: BytesLike, account: AddressLike], - [boolean], - "view" - >; - - initialize: TypedContractMethod<[], [void], "nonpayable">; - - isApprovedForAll: TypedContractMethod< - [account: AddressLike, operator: AddressLike], - [boolean], - "view" - >; - - maximumEditionFee: TypedContractMethod<[], [bigint], "view">; - - mintEdition: TypedContractMethod< - [ - editionId: BigNumberish, - amount: BigNumberish, - buyer: AddressLike, - data: BytesLike - ], - [void], - "payable" - >; - - pause: TypedContractMethod<[], [void], "nonpayable">; - - paused: TypedContractMethod<[], [boolean], "view">; - - protocolFee: TypedContractMethod<[], [bigint], "view">; - - proxiableUUID: TypedContractMethod<[], [string], "view">; - - removeBelief: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - renounceRole: TypedContractMethod< - [role: BytesLike, account: AddressLike], - [void], - "nonpayable" - >; - - resumeEdition: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - revokeRole: TypedContractMethod< - [role: BytesLike, account: AddressLike], - [void], - "nonpayable" - >; - - safeBatchTransferFrom: TypedContractMethod< - [ - from: AddressLike, - to: AddressLike, - ids: BigNumberish[], - amounts: BigNumberish[], - data: BytesLike - ], - [void], - "nonpayable" - >; - - safeTransferFrom: TypedContractMethod< - [ - from: AddressLike, - to: AddressLike, - id: BigNumberish, - amount: BigNumberish, - data: BytesLike - ], - [void], - "nonpayable" - >; - - setApprovalForAll: TypedContractMethod< - [operator: AddressLike, approved: boolean], - [void], - "nonpayable" - >; - - setMaximumEditionFee: TypedContractMethod< - [_maximumEditionFee: BigNumberish], - [void], - "nonpayable" - >; - - setProtocolFee: TypedContractMethod< - [_protocolFee: BigNumberish], - [void], - "nonpayable" - >; - - setURI: TypedContractMethod<[newuri: string], [void], "nonpayable">; - - stopEdition: TypedContractMethod< - [editionId: BigNumberish], - [void], - "nonpayable" - >; - - supportsInterface: TypedContractMethod< - [interfaceId: BytesLike], - [boolean], - "view" - >; - - totalSupply: TypedContractMethod<[id: BigNumberish], [bigint], "view">; - - unpause: TypedContractMethod<[], [void], "nonpayable">; - - updateEdition: TypedContractMethod< - [editionId: BigNumberish, id: string, briefId: string], - [void], - "nonpayable" - >; - - upgradeTo: TypedContractMethod< - [newImplementation: AddressLike], - [void], - "nonpayable" - >; - - upgradeToAndCall: TypedContractMethod< - [newImplementation: AddressLike, data: BytesLike], - [void], - "payable" - >; - - uri: TypedContractMethod<[id: BigNumberish], [string], "view">; - - withdrawEditionBalance: TypedContractMethod< - [editionId: BigNumberish, amount: BigNumberish], - [void], - "nonpayable" - >; - - withdrawFunds: TypedContractMethod< - [amount: BigNumberish], - [void], - "nonpayable" - >; - - getFunction( - key: string | FunctionFragment - ): T; - - getFunction( - nameOrSignature: "DEFAULT_ADMIN_ROLE" - ): TypedContractMethod<[], [string], "view">; - getFunction( - nameOrSignature: "approveEdition" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "balanceOf" - ): TypedContractMethod< - [account: AddressLike, id: BigNumberish], - [bigint], - "view" - >; - getFunction( - nameOrSignature: "balanceOfBatch" - ): TypedContractMethod< - [accounts: AddressLike[], ids: BigNumberish[]], - [bigint[]], - "view" - >; - getFunction( - nameOrSignature: "believeProject" - ): TypedContractMethod< - [editionId: BigNumberish, tags: string], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "burn" - ): TypedContractMethod< - [account: AddressLike, id: BigNumberish, value: BigNumberish], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "burnBatch" - ): TypedContractMethod< - [account: AddressLike, ids: BigNumberish[], values: BigNumberish[]], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "contractURI" - ): TypedContractMethod<[], [string], "view">; - getFunction( - nameOrSignature: "createEdition" - ): TypedContractMethod< - [ - fee: BigNumberish, - owner: AddressLike, - payer: AddressLike, - id: string, - briefId: string - ], - [bigint], - "nonpayable" - >; - getFunction( - nameOrSignature: "editionCounter" - ): TypedContractMethod<[], [bigint], "view">; - getFunction( - nameOrSignature: "editions" - ): TypedContractMethod< - [arg0: BigNumberish], - [ - [bigint, bigint, bigint, string, string, string] & { - status: bigint; - fee: bigint; - balance: bigint; - owner: string; - id: string; - briefId: string; - } - ], - "view" - >; - getFunction( - nameOrSignature: "exists" - ): TypedContractMethod<[id: BigNumberish], [boolean], "view">; - getFunction( - nameOrSignature: "getBalances" - ): TypedContractMethod< - [owner: AddressLike], - [EditionsStructs.EditionIdWithAmountStructOutput[]], - "view" - >; - getFunction( - nameOrSignature: "getEditions" - ): TypedContractMethod<[], [EditionsStructs.EditionStructOutput[]], "view">; - getFunction( - nameOrSignature: "getRoleAdmin" - ): TypedContractMethod<[role: BytesLike], [string], "view">; - getFunction( - nameOrSignature: "grantRole" - ): TypedContractMethod< - [role: BytesLike, account: AddressLike], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "hasRole" - ): TypedContractMethod< - [role: BytesLike, account: AddressLike], - [boolean], - "view" - >; - getFunction( - nameOrSignature: "initialize" - ): TypedContractMethod<[], [void], "nonpayable">; - getFunction( - nameOrSignature: "isApprovedForAll" - ): TypedContractMethod< - [account: AddressLike, operator: AddressLike], - [boolean], - "view" - >; - getFunction( - nameOrSignature: "maximumEditionFee" - ): TypedContractMethod<[], [bigint], "view">; - getFunction( - nameOrSignature: "mintEdition" - ): TypedContractMethod< - [ - editionId: BigNumberish, - amount: BigNumberish, - buyer: AddressLike, - data: BytesLike - ], - [void], - "payable" - >; - getFunction( - nameOrSignature: "pause" - ): TypedContractMethod<[], [void], "nonpayable">; - getFunction( - nameOrSignature: "paused" - ): TypedContractMethod<[], [boolean], "view">; - getFunction( - nameOrSignature: "protocolFee" - ): TypedContractMethod<[], [bigint], "view">; - getFunction( - nameOrSignature: "proxiableUUID" - ): TypedContractMethod<[], [string], "view">; - getFunction( - nameOrSignature: "removeBelief" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "renounceRole" - ): TypedContractMethod< - [role: BytesLike, account: AddressLike], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "resumeEdition" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "revokeRole" - ): TypedContractMethod< - [role: BytesLike, account: AddressLike], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "safeBatchTransferFrom" - ): TypedContractMethod< - [ - from: AddressLike, - to: AddressLike, - ids: BigNumberish[], - amounts: BigNumberish[], - data: BytesLike - ], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "safeTransferFrom" - ): TypedContractMethod< - [ - from: AddressLike, - to: AddressLike, - id: BigNumberish, - amount: BigNumberish, - data: BytesLike - ], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "setApprovalForAll" - ): TypedContractMethod< - [operator: AddressLike, approved: boolean], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "setMaximumEditionFee" - ): TypedContractMethod< - [_maximumEditionFee: BigNumberish], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "setProtocolFee" - ): TypedContractMethod<[_protocolFee: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "setURI" - ): TypedContractMethod<[newuri: string], [void], "nonpayable">; - getFunction( - nameOrSignature: "stopEdition" - ): TypedContractMethod<[editionId: BigNumberish], [void], "nonpayable">; - getFunction( - nameOrSignature: "supportsInterface" - ): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">; - getFunction( - nameOrSignature: "totalSupply" - ): TypedContractMethod<[id: BigNumberish], [bigint], "view">; - getFunction( - nameOrSignature: "unpause" - ): TypedContractMethod<[], [void], "nonpayable">; - getFunction( - nameOrSignature: "updateEdition" - ): TypedContractMethod< - [editionId: BigNumberish, id: string, briefId: string], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "upgradeTo" - ): TypedContractMethod< - [newImplementation: AddressLike], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "upgradeToAndCall" - ): TypedContractMethod< - [newImplementation: AddressLike, data: BytesLike], - [void], - "payable" - >; - getFunction( - nameOrSignature: "uri" - ): TypedContractMethod<[id: BigNumberish], [string], "view">; - getFunction( - nameOrSignature: "withdrawEditionBalance" - ): TypedContractMethod< - [editionId: BigNumberish, amount: BigNumberish], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "withdrawFunds" - ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; - - getEvent( - key: "AdminChanged" - ): TypedContractEvent< - AdminChangedEvent.InputTuple, - AdminChangedEvent.OutputTuple, - AdminChangedEvent.OutputObject - >; - getEvent( - key: "ApprovalForAll" - ): TypedContractEvent< - ApprovalForAllEvent.InputTuple, - ApprovalForAllEvent.OutputTuple, - ApprovalForAllEvent.OutputObject - >; - getEvent( - key: "BeaconUpgraded" - ): TypedContractEvent< - BeaconUpgradedEvent.InputTuple, - BeaconUpgradedEvent.OutputTuple, - BeaconUpgradedEvent.OutputObject - >; - getEvent( - key: "EditionApproved" - ): TypedContractEvent< - EditionApprovedEvent.InputTuple, - EditionApprovedEvent.OutputTuple, - EditionApprovedEvent.OutputObject - >; - getEvent( - key: "EditionBalanceWithdrawn" - ): TypedContractEvent< - EditionBalanceWithdrawnEvent.InputTuple, - EditionBalanceWithdrawnEvent.OutputTuple, - EditionBalanceWithdrawnEvent.OutputObject - >; - getEvent( - key: "EditionBeliefRemoved" - ): TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - getEvent( - key: "EditionBelieved" - ): TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - getEvent( - key: "EditionCreated" - ): TypedContractEvent< - EditionCreatedEvent.InputTuple, - EditionCreatedEvent.OutputTuple, - EditionCreatedEvent.OutputObject - >; - getEvent( - key: "EditionResumed" - ): TypedContractEvent< - EditionResumedEvent.InputTuple, - EditionResumedEvent.OutputTuple, - EditionResumedEvent.OutputObject - >; - getEvent( - key: "EditionStopped" - ): TypedContractEvent< - EditionStoppedEvent.InputTuple, - EditionStoppedEvent.OutputTuple, - EditionStoppedEvent.OutputObject - >; - getEvent( - key: "Initialized" - ): TypedContractEvent< - InitializedEvent.InputTuple, - InitializedEvent.OutputTuple, - InitializedEvent.OutputObject - >; - getEvent( - key: "Paused" - ): TypedContractEvent< - PausedEvent.InputTuple, - PausedEvent.OutputTuple, - PausedEvent.OutputObject - >; - getEvent( - key: "RoleAdminChanged" - ): TypedContractEvent< - RoleAdminChangedEvent.InputTuple, - RoleAdminChangedEvent.OutputTuple, - RoleAdminChangedEvent.OutputObject - >; - getEvent( - key: "RoleGranted" - ): TypedContractEvent< - RoleGrantedEvent.InputTuple, - RoleGrantedEvent.OutputTuple, - RoleGrantedEvent.OutputObject - >; - getEvent( - key: "RoleRevoked" - ): TypedContractEvent< - RoleRevokedEvent.InputTuple, - RoleRevokedEvent.OutputTuple, - RoleRevokedEvent.OutputObject - >; - getEvent( - key: "TransferBatch" - ): TypedContractEvent< - TransferBatchEvent.InputTuple, - TransferBatchEvent.OutputTuple, - TransferBatchEvent.OutputObject - >; - getEvent( - key: "TransferSingle" - ): TypedContractEvent< - TransferSingleEvent.InputTuple, - TransferSingleEvent.OutputTuple, - TransferSingleEvent.OutputObject - >; - getEvent( - key: "URI" - ): TypedContractEvent< - URIEvent.InputTuple, - URIEvent.OutputTuple, - URIEvent.OutputObject - >; - getEvent( - key: "Unpaused" - ): TypedContractEvent< - UnpausedEvent.InputTuple, - UnpausedEvent.OutputTuple, - UnpausedEvent.OutputObject - >; - getEvent( - key: "Upgraded" - ): TypedContractEvent< - UpgradedEvent.InputTuple, - UpgradedEvent.OutputTuple, - UpgradedEvent.OutputObject - >; - - filters: { - "AdminChanged(address,address)": TypedContractEvent< - AdminChangedEvent.InputTuple, - AdminChangedEvent.OutputTuple, - AdminChangedEvent.OutputObject - >; - AdminChanged: TypedContractEvent< - AdminChangedEvent.InputTuple, - AdminChangedEvent.OutputTuple, - AdminChangedEvent.OutputObject - >; - - "ApprovalForAll(address,address,bool)": TypedContractEvent< - ApprovalForAllEvent.InputTuple, - ApprovalForAllEvent.OutputTuple, - ApprovalForAllEvent.OutputObject - >; - ApprovalForAll: TypedContractEvent< - ApprovalForAllEvent.InputTuple, - ApprovalForAllEvent.OutputTuple, - ApprovalForAllEvent.OutputObject - >; - - "BeaconUpgraded(address)": TypedContractEvent< - BeaconUpgradedEvent.InputTuple, - BeaconUpgradedEvent.OutputTuple, - BeaconUpgradedEvent.OutputObject - >; - BeaconUpgraded: TypedContractEvent< - BeaconUpgradedEvent.InputTuple, - BeaconUpgradedEvent.OutputTuple, - BeaconUpgradedEvent.OutputObject - >; - - "EditionApproved(uint256)": TypedContractEvent< - EditionApprovedEvent.InputTuple, - EditionApprovedEvent.OutputTuple, - EditionApprovedEvent.OutputObject - >; - EditionApproved: TypedContractEvent< - EditionApprovedEvent.InputTuple, - EditionApprovedEvent.OutputTuple, - EditionApprovedEvent.OutputObject - >; - - "EditionBalanceWithdrawn(uint256,uint256,address)": TypedContractEvent< - EditionBalanceWithdrawnEvent.InputTuple, - EditionBalanceWithdrawnEvent.OutputTuple, - EditionBalanceWithdrawnEvent.OutputObject - >; - EditionBalanceWithdrawn: TypedContractEvent< - EditionBalanceWithdrawnEvent.InputTuple, - EditionBalanceWithdrawnEvent.OutputTuple, - EditionBalanceWithdrawnEvent.OutputObject - >; - - "EditionBeliefRemoved(uint256,address)": TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - EditionBeliefRemoved: TypedContractEvent< - EditionBeliefRemovedEvent.InputTuple, - EditionBeliefRemovedEvent.OutputTuple, - EditionBeliefRemovedEvent.OutputObject - >; - - "EditionBelieved(uint256,address,string)": TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - EditionBelieved: TypedContractEvent< - EditionBelievedEvent.InputTuple, - EditionBelievedEvent.OutputTuple, - EditionBelievedEvent.OutputObject - >; - - "EditionCreated(uint256,string,uint256,address)": TypedContractEvent< - EditionCreatedEvent.InputTuple, - EditionCreatedEvent.OutputTuple, - EditionCreatedEvent.OutputObject - >; - EditionCreated: TypedContractEvent< - EditionCreatedEvent.InputTuple, - EditionCreatedEvent.OutputTuple, - EditionCreatedEvent.OutputObject - >; - - "EditionResumed(uint256)": TypedContractEvent< - EditionResumedEvent.InputTuple, - EditionResumedEvent.OutputTuple, - EditionResumedEvent.OutputObject - >; - EditionResumed: TypedContractEvent< - EditionResumedEvent.InputTuple, - EditionResumedEvent.OutputTuple, - EditionResumedEvent.OutputObject - >; - - "EditionStopped(uint256)": TypedContractEvent< - EditionStoppedEvent.InputTuple, - EditionStoppedEvent.OutputTuple, - EditionStoppedEvent.OutputObject - >; - EditionStopped: TypedContractEvent< - EditionStoppedEvent.InputTuple, - EditionStoppedEvent.OutputTuple, - EditionStoppedEvent.OutputObject - >; - - "Initialized(uint8)": TypedContractEvent< - InitializedEvent.InputTuple, - InitializedEvent.OutputTuple, - InitializedEvent.OutputObject - >; - Initialized: TypedContractEvent< - InitializedEvent.InputTuple, - InitializedEvent.OutputTuple, - InitializedEvent.OutputObject - >; - - "Paused(address)": TypedContractEvent< - PausedEvent.InputTuple, - PausedEvent.OutputTuple, - PausedEvent.OutputObject - >; - Paused: TypedContractEvent< - PausedEvent.InputTuple, - PausedEvent.OutputTuple, - PausedEvent.OutputObject - >; - - "RoleAdminChanged(bytes32,bytes32,bytes32)": TypedContractEvent< - RoleAdminChangedEvent.InputTuple, - RoleAdminChangedEvent.OutputTuple, - RoleAdminChangedEvent.OutputObject - >; - RoleAdminChanged: TypedContractEvent< - RoleAdminChangedEvent.InputTuple, - RoleAdminChangedEvent.OutputTuple, - RoleAdminChangedEvent.OutputObject - >; - - "RoleGranted(bytes32,address,address)": TypedContractEvent< - RoleGrantedEvent.InputTuple, - RoleGrantedEvent.OutputTuple, - RoleGrantedEvent.OutputObject - >; - RoleGranted: TypedContractEvent< - RoleGrantedEvent.InputTuple, - RoleGrantedEvent.OutputTuple, - RoleGrantedEvent.OutputObject - >; - - "RoleRevoked(bytes32,address,address)": TypedContractEvent< - RoleRevokedEvent.InputTuple, - RoleRevokedEvent.OutputTuple, - RoleRevokedEvent.OutputObject - >; - RoleRevoked: TypedContractEvent< - RoleRevokedEvent.InputTuple, - RoleRevokedEvent.OutputTuple, - RoleRevokedEvent.OutputObject - >; - - "TransferBatch(address,address,address,uint256[],uint256[])": TypedContractEvent< - TransferBatchEvent.InputTuple, - TransferBatchEvent.OutputTuple, - TransferBatchEvent.OutputObject - >; - TransferBatch: TypedContractEvent< - TransferBatchEvent.InputTuple, - TransferBatchEvent.OutputTuple, - TransferBatchEvent.OutputObject - >; - - "TransferSingle(address,address,address,uint256,uint256)": TypedContractEvent< - TransferSingleEvent.InputTuple, - TransferSingleEvent.OutputTuple, - TransferSingleEvent.OutputObject - >; - TransferSingle: TypedContractEvent< - TransferSingleEvent.InputTuple, - TransferSingleEvent.OutputTuple, - TransferSingleEvent.OutputObject - >; - - "URI(string,uint256)": TypedContractEvent< - URIEvent.InputTuple, - URIEvent.OutputTuple, - URIEvent.OutputObject - >; - URI: TypedContractEvent< - URIEvent.InputTuple, - URIEvent.OutputTuple, - URIEvent.OutputObject - >; - - "Unpaused(address)": TypedContractEvent< - UnpausedEvent.InputTuple, - UnpausedEvent.OutputTuple, - UnpausedEvent.OutputObject - >; - Unpaused: TypedContractEvent< - UnpausedEvent.InputTuple, - UnpausedEvent.OutputTuple, - UnpausedEvent.OutputObject - >; - - "Upgraded(address)": TypedContractEvent< - UpgradedEvent.InputTuple, - UpgradedEvent.OutputTuple, - UpgradedEvent.OutputObject - >; - Upgraded: TypedContractEvent< - UpgradedEvent.InputTuple, - UpgradedEvent.OutputTuple, - UpgradedEvent.OutputObject - >; - }; -} diff --git a/typechain-types/src/RadarVideoNFT.ts b/typechain-types/src/RadarVideoNFT.ts deleted file mode 100644 index 1d18fbb..0000000 --- a/typechain-types/src/RadarVideoNFT.ts +++ /dev/null @@ -1,823 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumberish, - BytesLike, - FunctionFragment, - Result, - Interface, - EventFragment, - AddressLike, - ContractRunner, - ContractMethod, - Listener, -} from "ethers"; -import type { - TypedContractEvent, - TypedDeferredTopicFilter, - TypedEventLog, - TypedLogDescription, - TypedListener, - TypedContractMethod, -} from "../common"; - -export interface RadarVideoNFTInterface extends Interface { - getFunction( - nameOrSignature: - | "approve" - | "balanceOf" - | "getApproved" - | "initialize" - | "isApprovedForAll" - | "mint" - | "name" - | "owner" - | "ownerOf" - | "proxiableUUID" - | "renounceOwnership" - | "safeTransferFrom(address,address,uint256)" - | "safeTransferFrom(address,address,uint256,bytes)" - | "setApprovalForAll" - | "supportsInterface" - | "symbol" - | "tokenURI" - | "transferFrom" - | "transferOwnership" - | "upgradeTo" - | "upgradeToAndCall" - | "uri" - ): FunctionFragment; - - getEvent( - nameOrSignatureOrTopic: - | "AdminChanged" - | "Approval" - | "ApprovalForAll" - | "BatchMetadataUpdate" - | "BeaconUpgraded" - | "Initialized" - | "MetadataUpdate" - | "Mint" - | "OwnershipTransferred" - | "Transfer" - | "Upgraded" - ): EventFragment; - - encodeFunctionData( - functionFragment: "approve", - values: [AddressLike, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "balanceOf", - values: [AddressLike] - ): string; - encodeFunctionData( - functionFragment: "getApproved", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "initialize", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "isApprovedForAll", - values: [AddressLike, AddressLike] - ): string; - encodeFunctionData( - functionFragment: "mint", - values: [AddressLike, string] - ): string; - encodeFunctionData(functionFragment: "name", values?: undefined): string; - encodeFunctionData(functionFragment: "owner", values?: undefined): string; - encodeFunctionData( - functionFragment: "ownerOf", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "proxiableUUID", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "renounceOwnership", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "safeTransferFrom(address,address,uint256)", - values: [AddressLike, AddressLike, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "safeTransferFrom(address,address,uint256,bytes)", - values: [AddressLike, AddressLike, BigNumberish, BytesLike] - ): string; - encodeFunctionData( - functionFragment: "setApprovalForAll", - values: [AddressLike, boolean] - ): string; - encodeFunctionData( - functionFragment: "supportsInterface", - values: [BytesLike] - ): string; - encodeFunctionData(functionFragment: "symbol", values?: undefined): string; - encodeFunctionData( - functionFragment: "tokenURI", - values: [BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "transferFrom", - values: [AddressLike, AddressLike, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "transferOwnership", - values: [AddressLike] - ): string; - encodeFunctionData( - functionFragment: "upgradeTo", - values: [AddressLike] - ): string; - encodeFunctionData( - functionFragment: "upgradeToAndCall", - values: [AddressLike, BytesLike] - ): string; - encodeFunctionData(functionFragment: "uri", values: [BigNumberish]): string; - - decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "getApproved", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "isApprovedForAll", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "ownerOf", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "proxiableUUID", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "renounceOwnership", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "safeTransferFrom(address,address,uint256)", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "safeTransferFrom(address,address,uint256,bytes)", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "setApprovalForAll", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "supportsInterface", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "tokenURI", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "transferFrom", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "transferOwnership", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "upgradeToAndCall", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "uri", data: BytesLike): Result; -} - -export namespace AdminChangedEvent { - export type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; - export type OutputTuple = [previousAdmin: string, newAdmin: string]; - export interface OutputObject { - previousAdmin: string; - newAdmin: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace ApprovalEvent { - export type InputTuple = [ - owner: AddressLike, - approved: AddressLike, - tokenId: BigNumberish - ]; - export type OutputTuple = [owner: string, approved: string, tokenId: bigint]; - export interface OutputObject { - owner: string; - approved: string; - tokenId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace ApprovalForAllEvent { - export type InputTuple = [ - owner: AddressLike, - operator: AddressLike, - approved: boolean - ]; - export type OutputTuple = [ - owner: string, - operator: string, - approved: boolean - ]; - export interface OutputObject { - owner: string; - operator: string; - approved: boolean; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace BatchMetadataUpdateEvent { - export type InputTuple = [ - _fromTokenId: BigNumberish, - _toTokenId: BigNumberish - ]; - export type OutputTuple = [_fromTokenId: bigint, _toTokenId: bigint]; - export interface OutputObject { - _fromTokenId: bigint; - _toTokenId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace BeaconUpgradedEvent { - export type InputTuple = [beacon: AddressLike]; - export type OutputTuple = [beacon: string]; - export interface OutputObject { - beacon: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace InitializedEvent { - export type InputTuple = [version: BigNumberish]; - export type OutputTuple = [version: bigint]; - export interface OutputObject { - version: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace MetadataUpdateEvent { - export type InputTuple = [_tokenId: BigNumberish]; - export type OutputTuple = [_tokenId: bigint]; - export interface OutputObject { - _tokenId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace MintEvent { - export type InputTuple = [ - sender: AddressLike, - owner: AddressLike, - tokenURI: string, - tokenId: BigNumberish - ]; - export type OutputTuple = [ - sender: string, - owner: string, - tokenURI: string, - tokenId: bigint - ]; - export interface OutputObject { - sender: string; - owner: string; - tokenURI: string; - tokenId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace OwnershipTransferredEvent { - export type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; - export type OutputTuple = [previousOwner: string, newOwner: string]; - export interface OutputObject { - previousOwner: string; - newOwner: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace TransferEvent { - export type InputTuple = [ - from: AddressLike, - to: AddressLike, - tokenId: BigNumberish - ]; - export type OutputTuple = [from: string, to: string, tokenId: bigint]; - export interface OutputObject { - from: string; - to: string; - tokenId: bigint; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export namespace UpgradedEvent { - export type InputTuple = [implementation: AddressLike]; - export type OutputTuple = [implementation: string]; - export interface OutputObject { - implementation: string; - } - export type Event = TypedContractEvent; - export type Filter = TypedDeferredTopicFilter; - export type Log = TypedEventLog; - export type LogDescription = TypedLogDescription; -} - -export interface RadarVideoNFT extends BaseContract { - connect(runner?: ContractRunner | null): RadarVideoNFT; - waitForDeployment(): Promise; - - interface: RadarVideoNFTInterface; - - queryFilter( - event: TCEvent, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - queryFilter( - filter: TypedDeferredTopicFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>>; - - on( - event: TCEvent, - listener: TypedListener - ): Promise; - on( - filter: TypedDeferredTopicFilter, - listener: TypedListener - ): Promise; - - once( - event: TCEvent, - listener: TypedListener - ): Promise; - once( - filter: TypedDeferredTopicFilter, - listener: TypedListener - ): Promise; - - listeners( - event: TCEvent - ): Promise>>; - listeners(eventName?: string): Promise>; - removeAllListeners( - event?: TCEvent - ): Promise; - - approve: TypedContractMethod< - [to: AddressLike, tokenId: BigNumberish], - [void], - "nonpayable" - >; - - balanceOf: TypedContractMethod<[owner: AddressLike], [bigint], "view">; - - getApproved: TypedContractMethod<[tokenId: BigNumberish], [string], "view">; - - initialize: TypedContractMethod<[], [void], "nonpayable">; - - isApprovedForAll: TypedContractMethod< - [owner: AddressLike, operator: AddressLike], - [boolean], - "view" - >; - - mint: TypedContractMethod< - [owner: AddressLike, tokenUri: string], - [bigint], - "nonpayable" - >; - - name: TypedContractMethod<[], [string], "view">; - - owner: TypedContractMethod<[], [string], "view">; - - ownerOf: TypedContractMethod<[tokenId: BigNumberish], [string], "view">; - - proxiableUUID: TypedContractMethod<[], [string], "view">; - - renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; - - "safeTransferFrom(address,address,uint256)": TypedContractMethod< - [from: AddressLike, to: AddressLike, tokenId: BigNumberish], - [void], - "nonpayable" - >; - - "safeTransferFrom(address,address,uint256,bytes)": TypedContractMethod< - [ - from: AddressLike, - to: AddressLike, - tokenId: BigNumberish, - data: BytesLike - ], - [void], - "nonpayable" - >; - - setApprovalForAll: TypedContractMethod< - [operator: AddressLike, approved: boolean], - [void], - "nonpayable" - >; - - supportsInterface: TypedContractMethod< - [interfaceId: BytesLike], - [boolean], - "view" - >; - - symbol: TypedContractMethod<[], [string], "view">; - - tokenURI: TypedContractMethod<[tokenId: BigNumberish], [string], "view">; - - transferFrom: TypedContractMethod< - [from: AddressLike, to: AddressLike, tokenId: BigNumberish], - [void], - "nonpayable" - >; - - transferOwnership: TypedContractMethod< - [newOwner: AddressLike], - [void], - "nonpayable" - >; - - upgradeTo: TypedContractMethod< - [newImplementation: AddressLike], - [void], - "nonpayable" - >; - - upgradeToAndCall: TypedContractMethod< - [newImplementation: AddressLike, data: BytesLike], - [void], - "payable" - >; - - uri: TypedContractMethod<[tokenId: BigNumberish], [string], "view">; - - getFunction( - key: string | FunctionFragment - ): T; - - getFunction( - nameOrSignature: "approve" - ): TypedContractMethod< - [to: AddressLike, tokenId: BigNumberish], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "balanceOf" - ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; - getFunction( - nameOrSignature: "getApproved" - ): TypedContractMethod<[tokenId: BigNumberish], [string], "view">; - getFunction( - nameOrSignature: "initialize" - ): TypedContractMethod<[], [void], "nonpayable">; - getFunction( - nameOrSignature: "isApprovedForAll" - ): TypedContractMethod< - [owner: AddressLike, operator: AddressLike], - [boolean], - "view" - >; - getFunction( - nameOrSignature: "mint" - ): TypedContractMethod< - [owner: AddressLike, tokenUri: string], - [bigint], - "nonpayable" - >; - getFunction( - nameOrSignature: "name" - ): TypedContractMethod<[], [string], "view">; - getFunction( - nameOrSignature: "owner" - ): TypedContractMethod<[], [string], "view">; - getFunction( - nameOrSignature: "ownerOf" - ): TypedContractMethod<[tokenId: BigNumberish], [string], "view">; - getFunction( - nameOrSignature: "proxiableUUID" - ): TypedContractMethod<[], [string], "view">; - getFunction( - nameOrSignature: "renounceOwnership" - ): TypedContractMethod<[], [void], "nonpayable">; - getFunction( - nameOrSignature: "safeTransferFrom(address,address,uint256)" - ): TypedContractMethod< - [from: AddressLike, to: AddressLike, tokenId: BigNumberish], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "safeTransferFrom(address,address,uint256,bytes)" - ): TypedContractMethod< - [ - from: AddressLike, - to: AddressLike, - tokenId: BigNumberish, - data: BytesLike - ], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "setApprovalForAll" - ): TypedContractMethod< - [operator: AddressLike, approved: boolean], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "supportsInterface" - ): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">; - getFunction( - nameOrSignature: "symbol" - ): TypedContractMethod<[], [string], "view">; - getFunction( - nameOrSignature: "tokenURI" - ): TypedContractMethod<[tokenId: BigNumberish], [string], "view">; - getFunction( - nameOrSignature: "transferFrom" - ): TypedContractMethod< - [from: AddressLike, to: AddressLike, tokenId: BigNumberish], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "transferOwnership" - ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; - getFunction( - nameOrSignature: "upgradeTo" - ): TypedContractMethod< - [newImplementation: AddressLike], - [void], - "nonpayable" - >; - getFunction( - nameOrSignature: "upgradeToAndCall" - ): TypedContractMethod< - [newImplementation: AddressLike, data: BytesLike], - [void], - "payable" - >; - getFunction( - nameOrSignature: "uri" - ): TypedContractMethod<[tokenId: BigNumberish], [string], "view">; - - getEvent( - key: "AdminChanged" - ): TypedContractEvent< - AdminChangedEvent.InputTuple, - AdminChangedEvent.OutputTuple, - AdminChangedEvent.OutputObject - >; - getEvent( - key: "Approval" - ): TypedContractEvent< - ApprovalEvent.InputTuple, - ApprovalEvent.OutputTuple, - ApprovalEvent.OutputObject - >; - getEvent( - key: "ApprovalForAll" - ): TypedContractEvent< - ApprovalForAllEvent.InputTuple, - ApprovalForAllEvent.OutputTuple, - ApprovalForAllEvent.OutputObject - >; - getEvent( - key: "BatchMetadataUpdate" - ): TypedContractEvent< - BatchMetadataUpdateEvent.InputTuple, - BatchMetadataUpdateEvent.OutputTuple, - BatchMetadataUpdateEvent.OutputObject - >; - getEvent( - key: "BeaconUpgraded" - ): TypedContractEvent< - BeaconUpgradedEvent.InputTuple, - BeaconUpgradedEvent.OutputTuple, - BeaconUpgradedEvent.OutputObject - >; - getEvent( - key: "Initialized" - ): TypedContractEvent< - InitializedEvent.InputTuple, - InitializedEvent.OutputTuple, - InitializedEvent.OutputObject - >; - getEvent( - key: "MetadataUpdate" - ): TypedContractEvent< - MetadataUpdateEvent.InputTuple, - MetadataUpdateEvent.OutputTuple, - MetadataUpdateEvent.OutputObject - >; - getEvent( - key: "Mint" - ): TypedContractEvent< - MintEvent.InputTuple, - MintEvent.OutputTuple, - MintEvent.OutputObject - >; - getEvent( - key: "OwnershipTransferred" - ): TypedContractEvent< - OwnershipTransferredEvent.InputTuple, - OwnershipTransferredEvent.OutputTuple, - OwnershipTransferredEvent.OutputObject - >; - getEvent( - key: "Transfer" - ): TypedContractEvent< - TransferEvent.InputTuple, - TransferEvent.OutputTuple, - TransferEvent.OutputObject - >; - getEvent( - key: "Upgraded" - ): TypedContractEvent< - UpgradedEvent.InputTuple, - UpgradedEvent.OutputTuple, - UpgradedEvent.OutputObject - >; - - filters: { - "AdminChanged(address,address)": TypedContractEvent< - AdminChangedEvent.InputTuple, - AdminChangedEvent.OutputTuple, - AdminChangedEvent.OutputObject - >; - AdminChanged: TypedContractEvent< - AdminChangedEvent.InputTuple, - AdminChangedEvent.OutputTuple, - AdminChangedEvent.OutputObject - >; - - "Approval(address,address,uint256)": TypedContractEvent< - ApprovalEvent.InputTuple, - ApprovalEvent.OutputTuple, - ApprovalEvent.OutputObject - >; - Approval: TypedContractEvent< - ApprovalEvent.InputTuple, - ApprovalEvent.OutputTuple, - ApprovalEvent.OutputObject - >; - - "ApprovalForAll(address,address,bool)": TypedContractEvent< - ApprovalForAllEvent.InputTuple, - ApprovalForAllEvent.OutputTuple, - ApprovalForAllEvent.OutputObject - >; - ApprovalForAll: TypedContractEvent< - ApprovalForAllEvent.InputTuple, - ApprovalForAllEvent.OutputTuple, - ApprovalForAllEvent.OutputObject - >; - - "BatchMetadataUpdate(uint256,uint256)": TypedContractEvent< - BatchMetadataUpdateEvent.InputTuple, - BatchMetadataUpdateEvent.OutputTuple, - BatchMetadataUpdateEvent.OutputObject - >; - BatchMetadataUpdate: TypedContractEvent< - BatchMetadataUpdateEvent.InputTuple, - BatchMetadataUpdateEvent.OutputTuple, - BatchMetadataUpdateEvent.OutputObject - >; - - "BeaconUpgraded(address)": TypedContractEvent< - BeaconUpgradedEvent.InputTuple, - BeaconUpgradedEvent.OutputTuple, - BeaconUpgradedEvent.OutputObject - >; - BeaconUpgraded: TypedContractEvent< - BeaconUpgradedEvent.InputTuple, - BeaconUpgradedEvent.OutputTuple, - BeaconUpgradedEvent.OutputObject - >; - - "Initialized(uint8)": TypedContractEvent< - InitializedEvent.InputTuple, - InitializedEvent.OutputTuple, - InitializedEvent.OutputObject - >; - Initialized: TypedContractEvent< - InitializedEvent.InputTuple, - InitializedEvent.OutputTuple, - InitializedEvent.OutputObject - >; - - "MetadataUpdate(uint256)": TypedContractEvent< - MetadataUpdateEvent.InputTuple, - MetadataUpdateEvent.OutputTuple, - MetadataUpdateEvent.OutputObject - >; - MetadataUpdate: TypedContractEvent< - MetadataUpdateEvent.InputTuple, - MetadataUpdateEvent.OutputTuple, - MetadataUpdateEvent.OutputObject - >; - - "Mint(address,address,string,uint256)": TypedContractEvent< - MintEvent.InputTuple, - MintEvent.OutputTuple, - MintEvent.OutputObject - >; - Mint: TypedContractEvent< - MintEvent.InputTuple, - MintEvent.OutputTuple, - MintEvent.OutputObject - >; - - "OwnershipTransferred(address,address)": TypedContractEvent< - OwnershipTransferredEvent.InputTuple, - OwnershipTransferredEvent.OutputTuple, - OwnershipTransferredEvent.OutputObject - >; - OwnershipTransferred: TypedContractEvent< - OwnershipTransferredEvent.InputTuple, - OwnershipTransferredEvent.OutputTuple, - OwnershipTransferredEvent.OutputObject - >; - - "Transfer(address,address,uint256)": TypedContractEvent< - TransferEvent.InputTuple, - TransferEvent.OutputTuple, - TransferEvent.OutputObject - >; - Transfer: TypedContractEvent< - TransferEvent.InputTuple, - TransferEvent.OutputTuple, - TransferEvent.OutputObject - >; - - "Upgraded(address)": TypedContractEvent< - UpgradedEvent.InputTuple, - UpgradedEvent.OutputTuple, - UpgradedEvent.OutputObject - >; - Upgraded: TypedContractEvent< - UpgradedEvent.InputTuple, - UpgradedEvent.OutputTuple, - UpgradedEvent.OutputObject - >; - }; -} diff --git a/typechain-types/src/index.ts b/typechain-types/src/index.ts deleted file mode 100644 index 5498fb8..0000000 --- a/typechain-types/src/index.ts +++ /dev/null @@ -1,10 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as beliefs from "./Beliefs"; -export type { beliefs }; -import type * as editions from "./Editions"; -export type { editions }; -export type { IRadarEditions } from "./IRadarEditions"; -export type { RadarEditions } from "./RadarEditions"; -export type { RadarVideoNFT } from "./RadarVideoNFT";