@artblocks/contracts 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +10 -0
- package/LICENSE +165 -0
- package/README.md +286 -0
- package/artifacts/contracts/AdminACLV0.sol/AdminACLV0.json +164 -0
- package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +248 -0
- package/artifacts/contracts/BasicRandomizer.sol/BasicRandomizer.json +24 -0
- package/artifacts/contracts/BasicRandomizerV2.sol/BasicRandomizerV2.json +102 -0
- package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +1020 -0
- package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +1928 -0
- package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +1942 -0
- package/artifacts/contracts/engine/GenArt721CoreV2_ENGINE_FLEX.sol/GenArt721CoreV2_ENGINE_FLEX.json +1708 -0
- package/artifacts/contracts/engine/GenArt721CoreV2_PBAB.sol/GenArt721CoreV2_PBAB.json +1410 -0
- package/artifacts/contracts/engine/GenArt721CoreV2_PRTNR.sol/GenArt721CoreV2_PRTNR.json +1436 -0
- package/artifacts/contracts/engine/GenArt721MinterBurner_PBAB.sol/GenArt721MinterBurner_PBAB.json +437 -0
- package/artifacts/contracts/engine/GenArt721MinterDAExp_PBAB.sol/GenArt721MinterDAExp_PBAB.json +508 -0
- package/artifacts/contracts/engine/GenArt721Minter_PBAB.sol/GenArt721Minter_PBAB.json +381 -0
- package/artifacts/contracts/engine-registry/EngineRegistryV0.sol/EngineRegistryV0.json +109 -0
- package/artifacts/contracts/engine-registry/future/EngineRegistryV1.sol/EngineRegistryV1.json +109 -0
- package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +1902 -0
- package/artifacts/contracts/interfaces/0.5.x/IBonusContract.sol/IBonusContract.json +47 -0
- package/artifacts/contracts/interfaces/0.5.x/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +413 -0
- package/artifacts/contracts/interfaces/0.5.x/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +392 -0
- package/artifacts/contracts/interfaces/0.5.x/IRandomizer.sol/IRandomizer.json +26 -0
- package/artifacts/contracts/interfaces/0.8.x/IAdminACLV0.sol/IAdminACLV0.json +122 -0
- package/artifacts/contracts/interfaces/0.8.x/IArtblocksRoyaltyOverride.sol/IArtblocksRoyaltyOverride.json +59 -0
- package/artifacts/contracts/interfaces/0.8.x/IBonusContract.sol/IBonusContract.json +43 -0
- package/artifacts/contracts/interfaces/0.8.x/IDelegationRegistry.sol/IDelegationRegistry.json +510 -0
- package/artifacts/contracts/interfaces/0.8.x/IDependencyRegistryCompatibleV0.sol/IDependencyRegistryCompatibleV0.json +53 -0
- package/artifacts/contracts/interfaces/0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +350 -0
- package/artifacts/contracts/interfaces/0.8.x/IEngineRegistryV0.sol/IEngineRegistryV0.json +85 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV0.sol/IFilteredMinterDAExpSettlementV0.json +730 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpV0.sol/IFilteredMinterDAExpV0.json +311 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDAExpV1.sol/IFilteredMinterDAExpV1.json +617 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDALinV0.sol/IFilteredMinterDALinV0.json +292 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterDALinV1.sol/IFilteredMinterDALinV1.json +598 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterHolderV0.sol/IFilteredMinterHolderV0.json +355 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterHolderV1.sol/IFilteredMinterHolderV1.json +368 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterHolderV2.sol/IFilteredMinterHolderV2.json +674 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterMerkleV0.sol/IFilteredMinterMerkleV0.json +551 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterMerkleV1.sol/IFilteredMinterMerkleV1.json +564 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterMerkleV2.sol/IFilteredMinterMerkleV2.json +601 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterV0.sol/IFilteredMinterV0.json +216 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterV1.sol/IFilteredMinterV1.json +485 -0
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterV2.sol/IFilteredMinterV2.json +522 -0
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV1.sol/IGenArt721CoreContractV1.json +299 -0
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +609 -0
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +448 -0
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +649 -0
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreV2_PBAB.sol/IGenArt721CoreV2_PBAB.json +362 -0
- package/artifacts/contracts/interfaces/0.8.x/IManifold.sol/IManifold.json +35 -0
- package/artifacts/contracts/interfaces/0.8.x/IMinterFilterV0.sol/IMinterFilterV0.json +192 -0
- package/artifacts/contracts/interfaces/0.8.x/IRandomizer.sol/IRandomizer.json +24 -0
- package/artifacts/contracts/interfaces/0.8.x/IRandomizerV2.sol/IRandomizerV2.json +37 -0
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Address.json +10 -0
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Counters.json +10 -0
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/CustomERC721Metadata.json +425 -0
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC165.json +38 -0
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721.json +322 -0
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/ERC721Enumerable.json +384 -0
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/GenArt721CoreV1.json +1773 -0
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/IERC165.json +32 -0
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/IERC721.json +316 -0
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/IERC721Enumerable.json +378 -0
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/IERC721Receiver.json +47 -0
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/SafeMath.json +10 -0
- package/artifacts/contracts/legacy/GenArt721CoreV1.sol/Strings.json +10 -0
- package/artifacts/contracts/legacy/GenArt721LegacyMinter.sol/GenArt721LegacyMinter.json +338 -0
- package/artifacts/contracts/libs/0.5.x/CustomERC721Metadata.sol/CustomERC721Metadata.json +425 -0
- package/artifacts/contracts/libs/0.5.x/IERC20.sol/IERC20.json +206 -0
- package/artifacts/contracts/libs/0.5.x/SafeMath.sol/SafeMath.json +10 -0
- package/artifacts/contracts/libs/0.5.x/Strings.sol/Strings.json +10 -0
- package/artifacts/contracts/libs/0.8.x/BytecodeStorage.sol/BytecodeStorage.json +10 -0
- package/artifacts/contracts/libs/0.8.x/Bytes32Strings.sol/Bytes32Strings.json +10 -0
- package/artifacts/contracts/libs/0.8.x/ERC721_PackedHashSeed.sol/ERC721_PackedHashSeed.json +357 -0
- package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol/DelegationRegistry.json +529 -0
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol/GnosisSafeMock.json +1037 -0
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol/GnosisSafeProxyFactoryMock.json +172 -0
- package/artifacts/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol/MultiSendMock.json +24 -0
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV0.sol/MinterFilterV0.json +342 -0
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +322 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +550 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +856 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +1053 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +526 -0
- package/artifacts/contracts/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +832 -0
- package/artifacts/contracts/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +794 -0
- package/artifacts/contracts/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +1100 -0
- package/artifacts/contracts/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +1002 -0
- package/artifacts/contracts/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +1039 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +365 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +671 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPrice/deprecated/MinterSetPriceV1.sol/MinterSetPriceV1.json +288 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +436 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +742 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20/deprecated/MinterSetPriceERC20V0.sol/MinterSetPriceERC20V0.json +461 -0
- package/artifacts/contracts/mock/BytecodeTextCR_DMock.sol/BytecodeTextCR_DMock.json +194 -0
- package/artifacts/contracts/mock/DeadReceiverMock.sol/DeadReceiverMock.json +15 -0
- package/artifacts/contracts/mock/ERC20Mock.sol/ERC20Mock.json +292 -0
- package/artifacts/contracts/mock/MockAdminACLV0.sol/MockAdminACLV0Events.json +165 -0
- package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +128 -0
- package/artifacts/contracts/mock/ReentrancyHolderMock.sol/ReentrancyHolderMock.json +118 -0
- package/artifacts/contracts/mock/ReentrancyMerkleMock.sol/ReentrancyMerkleMock.json +87 -0
- package/artifacts/contracts/mock/ReentrancyMock.sol/ReentrancyMock.json +82 -0
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +208 -0
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol/GenArt721RoyaltyOverride_PBAB.json +301 -0
- package/contracts/AdminACLV0.sol +103 -0
- package/contracts/AdminACLV1.sol +193 -0
- package/contracts/BasicRandomizer.sol +23 -0
- package/contracts/BasicRandomizerV2.sol +36 -0
- package/contracts/DependencyRegistryV0.sol +893 -0
- package/contracts/GenArt721CoreV3.sol +2001 -0
- package/contracts/GenArt721CoreV3_Engine.sol +2061 -0
- package/contracts/engine/GenArt721CoreV2_ENGINE_FLEX.sol +887 -0
- package/contracts/engine/GenArt721CoreV2_PBAB.sol +695 -0
- package/contracts/engine/GenArt721CoreV2_PRTNR.sol +749 -0
- package/contracts/engine/GenArt721MinterBurner_PBAB.sol +467 -0
- package/contracts/engine/GenArt721MinterDAExp_PBAB.sol +614 -0
- package/contracts/engine/GenArt721Minter_PBAB.sol +420 -0
- package/contracts/engine-registry/EngineRegistryV0.sol +72 -0
- package/contracts/engine-registry/future/EngineRegistryV1.sol +86 -0
- package/contracts/explorations/GenArt721CoreV3_Explorations.sol +1989 -0
- package/contracts/interfaces/0.5.x/IBonusContract.sol +10 -0
- package/contracts/interfaces/0.5.x/IGenArt721CoreContractV1.sol +91 -0
- package/contracts/interfaces/0.5.x/IGenArt721CoreV2_PBAB.sol +92 -0
- package/contracts/interfaces/0.5.x/IRandomizer.sol +8 -0
- package/contracts/interfaces/0.8.x/IAdminACLV0.sol +51 -0
- package/contracts/interfaces/0.8.x/IArtblocksRoyaltyOverride.sol +34 -0
- package/contracts/interfaces/0.8.x/IBonusContract.sol +10 -0
- package/contracts/interfaces/0.8.x/IDelegationRegistry.sol +221 -0
- package/contracts/interfaces/0.8.x/IDependencyRegistryCompatibleV0.sol +31 -0
- package/contracts/interfaces/0.8.x/IDependencyRegistryV0.sol +95 -0
- package/contracts/interfaces/0.8.x/IEngineRegistryV0.sol +38 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterDAExpSettlementV0.sol +70 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterDAExpV0.sol +35 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterDAExpV1.sol +16 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterDALinV0.sol +32 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterDALinV1.sol +16 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterHolderV0.sol +68 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterHolderV1.sol +19 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterHolderV2.sol +19 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterMerkleV0.sol +37 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterMerkleV1.sol +19 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterMerkleV2.sol +19 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterV0.sol +74 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterV1.sol +127 -0
- package/contracts/interfaces/0.8.x/IFilteredMinterV2.sol +30 -0
- package/contracts/interfaces/0.8.x/IGenArt721CoreContractV1.sol +73 -0
- package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3.sol +79 -0
- package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol +127 -0
- package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol +80 -0
- package/contracts/interfaces/0.8.x/IGenArt721CoreV2_PBAB.sol +91 -0
- package/contracts/interfaces/0.8.x/IManifold.sol +24 -0
- package/contracts/interfaces/0.8.x/IMinterFilterV0.sol +47 -0
- package/contracts/interfaces/0.8.x/IRandomizer.sol +8 -0
- package/contracts/interfaces/0.8.x/IRandomizerV2.sol +15 -0
- package/contracts/legacy/GenArt721CoreV1.sol +1593 -0
- package/contracts/legacy/GenArt721LegacyMinter.sol +275 -0
- package/contracts/libs/0.5.x/CustomERC721Metadata.sol +52 -0
- package/contracts/libs/0.5.x/IERC20.sol +96 -0
- package/contracts/libs/0.5.x/SafeMath.sol +98 -0
- package/contracts/libs/0.5.x/Strings.sol +92 -0
- package/contracts/libs/0.8.x/BytecodeStorage.sol +314 -0
- package/contracts/libs/0.8.x/Bytes32Strings.sol +66 -0
- package/contracts/libs/0.8.x/ERC721_PackedHashSeed.sol +514 -0
- package/contracts/libs/integration-refs/delegation-registry/DelegationRegistry.sol +663 -0
- package/contracts/libs/integration-refs/gnosis-safe/GnosisSafeMock.sol +6 -0
- package/contracts/libs/integration-refs/gnosis-safe/GnosisSafeProxyFactoryMock.sol +6 -0
- package/contracts/libs/integration-refs/gnosis-safe/MultiSendMock.sol +6 -0
- package/contracts/minter-suite/MinterFilter/MinterFilterV0.sol +291 -0
- package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +320 -0
- package/contracts/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol +571 -0
- package/contracts/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol +622 -0
- package/contracts/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol +1066 -0
- package/contracts/minter-suite/Minters/MinterDALin/MinterDALinV2.sol +527 -0
- package/contracts/minter-suite/Minters/MinterDALin/MinterDALinV3.sol +576 -0
- package/contracts/minter-suite/Minters/MinterHolder/MinterHolderV2.sol +749 -0
- package/contracts/minter-suite/Minters/MinterHolder/MinterHolderV3.sol +798 -0
- package/contracts/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol +682 -0
- package/contracts/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol +733 -0
- package/contracts/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol +350 -0
- package/contracts/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol +401 -0
- package/contracts/minter-suite/Minters/MinterSetPrice/deprecated/MinterSetPriceV1.sol +274 -0
- package/contracts/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol +491 -0
- package/contracts/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol +542 -0
- package/contracts/minter-suite/Minters/MinterSetPriceERC20/deprecated/MinterSetPriceERC20V0.sol +470 -0
- package/contracts/mock/BytecodeTextCR_DMock.sol +184 -0
- package/contracts/mock/DeadReceiverMock.sol +13 -0
- package/contracts/mock/ERC20Mock.sol +11 -0
- package/contracts/mock/MockAdminACLV0.sol +65 -0
- package/contracts/mock/RandomizerV2_NoAssignMock.sol +43 -0
- package/contracts/mock/ReentrancyHolderMock.sol +50 -0
- package/contracts/mock/ReentrancyMerkleMock.sol +64 -0
- package/contracts/mock/ReentrancyMock.sol +44 -0
- package/contracts/royalty-registry/GenArt721RoyaltyOverride.sol +168 -0
- package/contracts/royalty-registry/GenArt721RoyaltyOverride_PBAB.sol +221 -0
- package/package.json +83 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
import "./IAdminACLV0.sol";
|
|
7
|
+
import "./IGenArt721CoreContractV3_Base.sol";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @title This interface extends IGenArt721CoreContractV3_Base with functions
|
|
11
|
+
* that are part of the Art Blocks Flagship core contract.
|
|
12
|
+
* @author Art Blocks Inc.
|
|
13
|
+
*/
|
|
14
|
+
// This interface extends IGenArt721CoreContractV3_Base with functions that are
|
|
15
|
+
// in part of the Art Blocks Flagship core contract.
|
|
16
|
+
interface IGenArt721CoreContractV3 is IGenArt721CoreContractV3_Base {
|
|
17
|
+
// @dev new function in V3
|
|
18
|
+
function getPrimaryRevenueSplits(
|
|
19
|
+
uint256 _projectId,
|
|
20
|
+
uint256 _price
|
|
21
|
+
)
|
|
22
|
+
external
|
|
23
|
+
view
|
|
24
|
+
returns (
|
|
25
|
+
uint256 artblocksRevenue_,
|
|
26
|
+
address payable artblocksAddress_,
|
|
27
|
+
uint256 artistRevenue_,
|
|
28
|
+
address payable artistAddress_,
|
|
29
|
+
uint256 additionalPayeePrimaryRevenue_,
|
|
30
|
+
address payable additionalPayeePrimaryAddress_
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
// @dev Art Blocks primary sales payment address
|
|
34
|
+
function artblocksPrimarySalesAddress()
|
|
35
|
+
external
|
|
36
|
+
view
|
|
37
|
+
returns (address payable);
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* @notice Backwards-compatible (pre-V3) function returning Art Blocks
|
|
41
|
+
* primary sales payment address (now called artblocksPrimarySalesAddress).
|
|
42
|
+
*/
|
|
43
|
+
function artblocksAddress() external view returns (address payable);
|
|
44
|
+
|
|
45
|
+
// @dev Percentage of primary sales allocated to Art Blocks
|
|
46
|
+
function artblocksPrimarySalesPercentage() external view returns (uint256);
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* @notice Backwards-compatible (pre-V3) function returning Art Blocks
|
|
50
|
+
* primary sales percentage (now called artblocksPrimarySalesPercentage).
|
|
51
|
+
*/
|
|
52
|
+
function artblocksPercentage() external view returns (uint256);
|
|
53
|
+
|
|
54
|
+
// @dev Art Blocks secondary sales royalties payment address
|
|
55
|
+
function artblocksSecondarySalesAddress()
|
|
56
|
+
external
|
|
57
|
+
view
|
|
58
|
+
returns (address payable);
|
|
59
|
+
|
|
60
|
+
// @dev Basis points of secondary sales allocated to Art Blocks
|
|
61
|
+
function artblocksSecondarySalesBPS() external view returns (uint256);
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* @notice Backwards-compatible (pre-V3) function that gets artist +
|
|
65
|
+
* artist's additional payee royalty data for token ID `_tokenId`.
|
|
66
|
+
* WARNING: Does not include Art Blocks portion of royalties.
|
|
67
|
+
*/
|
|
68
|
+
function getRoyaltyData(
|
|
69
|
+
uint256 _tokenId
|
|
70
|
+
)
|
|
71
|
+
external
|
|
72
|
+
view
|
|
73
|
+
returns (
|
|
74
|
+
address artistAddress,
|
|
75
|
+
address additionalPayee,
|
|
76
|
+
uint256 additionalPayeePercentage,
|
|
77
|
+
uint256 royaltyFeeByID
|
|
78
|
+
);
|
|
79
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
import "./IAdminACLV0.sol";
|
|
7
|
+
/// use the Royalty Registry's IManifold interface for token royalties
|
|
8
|
+
import "./IManifold.sol";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @title This interface is intended to house interface items that are common
|
|
12
|
+
* across all GenArt721CoreContractV3 flagship and derivative implementations.
|
|
13
|
+
* This interface extends the IManifold royalty interface in order to
|
|
14
|
+
* add support the Royalty Registry by default.
|
|
15
|
+
* @author Art Blocks Inc.
|
|
16
|
+
*/
|
|
17
|
+
interface IGenArt721CoreContractV3_Base is IManifold {
|
|
18
|
+
/**
|
|
19
|
+
* @notice Token ID `_tokenId` minted to `_to`.
|
|
20
|
+
*/
|
|
21
|
+
event Mint(address indexed _to, uint256 indexed _tokenId);
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @notice currentMinter updated to `_currentMinter`.
|
|
25
|
+
* @dev Implemented starting with V3 core
|
|
26
|
+
*/
|
|
27
|
+
event MinterUpdated(address indexed _currentMinter);
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @notice Platform updated on bytes32-encoded field `_field`.
|
|
31
|
+
*/
|
|
32
|
+
event PlatformUpdated(bytes32 indexed _field);
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @notice Project ID `_projectId` updated on bytes32-encoded field
|
|
36
|
+
* `_update`.
|
|
37
|
+
*/
|
|
38
|
+
event ProjectUpdated(uint256 indexed _projectId, bytes32 indexed _update);
|
|
39
|
+
|
|
40
|
+
event ProposedArtistAddressesAndSplits(
|
|
41
|
+
uint256 indexed _projectId,
|
|
42
|
+
address _artistAddress,
|
|
43
|
+
address _additionalPayeePrimarySales,
|
|
44
|
+
uint256 _additionalPayeePrimarySalesPercentage,
|
|
45
|
+
address _additionalPayeeSecondarySales,
|
|
46
|
+
uint256 _additionalPayeeSecondarySalesPercentage
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
event AcceptedArtistAddressesAndSplits(uint256 indexed _projectId);
|
|
50
|
+
|
|
51
|
+
// version and type of the core contract
|
|
52
|
+
// coreVersion is a string of the form "0.x.y"
|
|
53
|
+
function coreVersion() external view returns (string memory);
|
|
54
|
+
|
|
55
|
+
// coreType is a string of the form "GenArt721CoreV3"
|
|
56
|
+
function coreType() external view returns (string memory);
|
|
57
|
+
|
|
58
|
+
// owner (pre-V3 was named admin) of contract
|
|
59
|
+
// this is expected to be an Admin ACL contract for V3
|
|
60
|
+
function owner() external view returns (address);
|
|
61
|
+
|
|
62
|
+
// Admin ACL contract for V3, will be at the address owner()
|
|
63
|
+
function adminACLContract() external returns (IAdminACLV0);
|
|
64
|
+
|
|
65
|
+
// backwards-compatible (pre-V3) admin - equal to owner()
|
|
66
|
+
function admin() external view returns (address);
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Function determining if _sender is allowed to call function with
|
|
70
|
+
* selector _selector on contract `_contract`. Intended to be used with
|
|
71
|
+
* peripheral contracts such as minters, as well as internally by the
|
|
72
|
+
* core contract itself.
|
|
73
|
+
*/
|
|
74
|
+
function adminACLAllowed(
|
|
75
|
+
address _sender,
|
|
76
|
+
address _contract,
|
|
77
|
+
bytes4 _selector
|
|
78
|
+
) external returns (bool);
|
|
79
|
+
|
|
80
|
+
// getter function of public variable
|
|
81
|
+
function nextProjectId() external view returns (uint256);
|
|
82
|
+
|
|
83
|
+
// getter function of public mapping
|
|
84
|
+
function tokenIdToProjectId(
|
|
85
|
+
uint256 tokenId
|
|
86
|
+
) external view returns (uint256 projectId);
|
|
87
|
+
|
|
88
|
+
// @dev this is not available in V0
|
|
89
|
+
function isMintWhitelisted(address minter) external view returns (bool);
|
|
90
|
+
|
|
91
|
+
function projectIdToArtistAddress(
|
|
92
|
+
uint256 _projectId
|
|
93
|
+
) external view returns (address payable);
|
|
94
|
+
|
|
95
|
+
function projectIdToAdditionalPayeePrimarySales(
|
|
96
|
+
uint256 _projectId
|
|
97
|
+
) external view returns (address payable);
|
|
98
|
+
|
|
99
|
+
function projectIdToAdditionalPayeePrimarySalesPercentage(
|
|
100
|
+
uint256 _projectId
|
|
101
|
+
) external view returns (uint256);
|
|
102
|
+
|
|
103
|
+
// @dev new function in V3
|
|
104
|
+
function projectStateData(
|
|
105
|
+
uint256 _projectId
|
|
106
|
+
)
|
|
107
|
+
external
|
|
108
|
+
view
|
|
109
|
+
returns (
|
|
110
|
+
uint256 invocations,
|
|
111
|
+
uint256 maxInvocations,
|
|
112
|
+
bool active,
|
|
113
|
+
bool paused,
|
|
114
|
+
uint256 completedTimestamp,
|
|
115
|
+
bool locked
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
// function to set a token's hash (must be guarded)
|
|
119
|
+
function setTokenHash_8PT(uint256 _tokenId, bytes32 _hash) external;
|
|
120
|
+
|
|
121
|
+
// @dev gas-optimized signature in V3 for `mint`
|
|
122
|
+
function mint_Ecf(
|
|
123
|
+
address _to,
|
|
124
|
+
uint256 _projectId,
|
|
125
|
+
address _by
|
|
126
|
+
) external returns (uint256 tokenId);
|
|
127
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
import "./IAdminACLV0.sol";
|
|
7
|
+
import "./IGenArt721CoreContractV3_Base.sol";
|
|
8
|
+
|
|
9
|
+
interface IGenArt721CoreContractV3_Engine is IGenArt721CoreContractV3_Base {
|
|
10
|
+
// @dev new function in V3
|
|
11
|
+
function getPrimaryRevenueSplits(
|
|
12
|
+
uint256 _projectId,
|
|
13
|
+
uint256 _price
|
|
14
|
+
)
|
|
15
|
+
external
|
|
16
|
+
view
|
|
17
|
+
returns (
|
|
18
|
+
uint256 renderProviderRevenue_,
|
|
19
|
+
address payable renderProviderAddress_,
|
|
20
|
+
uint256 platformProviderRevenue_,
|
|
21
|
+
address payable platformProviderAddress_,
|
|
22
|
+
uint256 artistRevenue_,
|
|
23
|
+
address payable artistAddress_,
|
|
24
|
+
uint256 additionalPayeePrimaryRevenue_,
|
|
25
|
+
address payable additionalPayeePrimaryAddress_
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
// @dev The render provider primary sales payment address
|
|
29
|
+
function renderProviderPrimarySalesAddress()
|
|
30
|
+
external
|
|
31
|
+
view
|
|
32
|
+
returns (address payable);
|
|
33
|
+
|
|
34
|
+
// @dev The platform provider primary sales payment address
|
|
35
|
+
function platformProviderPrimarySalesAddress()
|
|
36
|
+
external
|
|
37
|
+
view
|
|
38
|
+
returns (address payable);
|
|
39
|
+
|
|
40
|
+
// @dev Percentage of primary sales allocated to the render provider
|
|
41
|
+
function renderProviderPrimarySalesPercentage()
|
|
42
|
+
external
|
|
43
|
+
view
|
|
44
|
+
returns (uint256);
|
|
45
|
+
|
|
46
|
+
// @dev Percentage of primary sales allocated to the platform provider
|
|
47
|
+
function platformProviderPrimarySalesPercentage()
|
|
48
|
+
external
|
|
49
|
+
view
|
|
50
|
+
returns (uint256);
|
|
51
|
+
|
|
52
|
+
// @dev The render provider secondary sales royalties payment address
|
|
53
|
+
function renderProviderSecondarySalesAddress()
|
|
54
|
+
external
|
|
55
|
+
view
|
|
56
|
+
returns (address payable);
|
|
57
|
+
|
|
58
|
+
// @dev The platform provider secondary sales royalties payment address
|
|
59
|
+
function platformProviderSecondarySalesAddress()
|
|
60
|
+
external
|
|
61
|
+
view
|
|
62
|
+
returns (address payable);
|
|
63
|
+
|
|
64
|
+
// @dev Basis points of secondary sales allocated to the render provider
|
|
65
|
+
function renderProviderSecondarySalesBPS() external view returns (uint256);
|
|
66
|
+
|
|
67
|
+
// @dev Basis points of secondary sales allocated to the platform provider
|
|
68
|
+
function platformProviderSecondarySalesBPS()
|
|
69
|
+
external
|
|
70
|
+
view
|
|
71
|
+
returns (uint256);
|
|
72
|
+
|
|
73
|
+
// function to read the hash for a given tokenId
|
|
74
|
+
function tokenIdToHash(uint256 _tokenId) external view returns (bytes32);
|
|
75
|
+
|
|
76
|
+
// function to read the hash-seed for a given tokenId
|
|
77
|
+
function tokenIdToHashSeed(
|
|
78
|
+
uint256 _tokenId
|
|
79
|
+
) external view returns (bytes12);
|
|
80
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
interface IGenArt721CoreV2_PBAB {
|
|
7
|
+
/**
|
|
8
|
+
* @notice Token ID `_tokenId` minted on project ID `_projectId` to `_to`.
|
|
9
|
+
*/
|
|
10
|
+
event Mint(
|
|
11
|
+
address indexed _to,
|
|
12
|
+
uint256 indexed _tokenId,
|
|
13
|
+
uint256 indexed _projectId
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
// getter function of public variable
|
|
17
|
+
function admin() external view returns (address);
|
|
18
|
+
|
|
19
|
+
// getter function of public variable
|
|
20
|
+
function nextProjectId() external view returns (uint256);
|
|
21
|
+
|
|
22
|
+
// getter function of public mapping
|
|
23
|
+
function tokenIdToProjectId(
|
|
24
|
+
uint256 tokenId
|
|
25
|
+
) external view returns (uint256 projectId);
|
|
26
|
+
|
|
27
|
+
function isWhitelisted(address sender) external view returns (bool);
|
|
28
|
+
|
|
29
|
+
function projectIdToCurrencySymbol(
|
|
30
|
+
uint256 _projectId
|
|
31
|
+
) external view returns (string memory);
|
|
32
|
+
|
|
33
|
+
function projectIdToCurrencyAddress(
|
|
34
|
+
uint256 _projectId
|
|
35
|
+
) external view returns (address);
|
|
36
|
+
|
|
37
|
+
function projectIdToArtistAddress(
|
|
38
|
+
uint256 _projectId
|
|
39
|
+
) external view returns (address payable);
|
|
40
|
+
|
|
41
|
+
function projectIdToPricePerTokenInWei(
|
|
42
|
+
uint256 _projectId
|
|
43
|
+
) external view returns (uint256);
|
|
44
|
+
|
|
45
|
+
function projectIdToAdditionalPayee(
|
|
46
|
+
uint256 _projectId
|
|
47
|
+
) external view returns (address payable);
|
|
48
|
+
|
|
49
|
+
function projectIdToAdditionalPayeePercentage(
|
|
50
|
+
uint256 _projectId
|
|
51
|
+
) external view returns (uint256);
|
|
52
|
+
|
|
53
|
+
function projectTokenInfo(
|
|
54
|
+
uint256 _projectId
|
|
55
|
+
)
|
|
56
|
+
external
|
|
57
|
+
view
|
|
58
|
+
returns (
|
|
59
|
+
address,
|
|
60
|
+
uint256,
|
|
61
|
+
uint256,
|
|
62
|
+
uint256,
|
|
63
|
+
bool,
|
|
64
|
+
address,
|
|
65
|
+
uint256,
|
|
66
|
+
string memory,
|
|
67
|
+
address
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
function renderProviderAddress() external view returns (address payable);
|
|
71
|
+
|
|
72
|
+
function renderProviderPercentage() external view returns (uint256);
|
|
73
|
+
|
|
74
|
+
function mint(
|
|
75
|
+
address _to,
|
|
76
|
+
uint256 _projectId,
|
|
77
|
+
address _by
|
|
78
|
+
) external returns (uint256 tokenId);
|
|
79
|
+
|
|
80
|
+
function getRoyaltyData(
|
|
81
|
+
uint256 _tokenId
|
|
82
|
+
)
|
|
83
|
+
external
|
|
84
|
+
view
|
|
85
|
+
returns (
|
|
86
|
+
address artistAddress,
|
|
87
|
+
address additionalPayee,
|
|
88
|
+
uint256 additionalPayeePercentage,
|
|
89
|
+
uint256 royaltyFeeByID
|
|
90
|
+
);
|
|
91
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
|
|
3
|
+
pragma solidity ^0.8.0;
|
|
4
|
+
|
|
5
|
+
/// @dev Royalty Registry interface, used to support the Royalty Registry.
|
|
6
|
+
/// @dev Source: https://github.com/manifoldxyz/royalty-registry-solidity/blob/main/contracts/specs/IManifold.sol
|
|
7
|
+
|
|
8
|
+
/// @author: manifold.xyz
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @dev Royalty interface for creator core classes
|
|
12
|
+
*/
|
|
13
|
+
interface IManifold {
|
|
14
|
+
/**
|
|
15
|
+
* @dev Get royalites of a token. Returns list of receivers and basisPoints
|
|
16
|
+
*
|
|
17
|
+
* bytes4(keccak256('getRoyalties(uint256)')) == 0xbb3bafd6
|
|
18
|
+
*
|
|
19
|
+
* => 0xbb3bafd6 = 0xbb3bafd6
|
|
20
|
+
*/
|
|
21
|
+
function getRoyalties(
|
|
22
|
+
uint256 tokenId
|
|
23
|
+
) external view returns (address payable[] memory, uint256[] memory);
|
|
24
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Created By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
interface IMinterFilterV0 {
|
|
7
|
+
/**
|
|
8
|
+
* @notice Approved minter `_minterAddress`.
|
|
9
|
+
*/
|
|
10
|
+
event MinterApproved(address indexed _minterAddress, string _minterType);
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @notice Revoked approval for minter `_minterAddress`
|
|
14
|
+
*/
|
|
15
|
+
event MinterRevoked(address indexed _minterAddress);
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @notice Minter `_minterAddress` of type `_minterType`
|
|
19
|
+
* registered for project `_projectId`.
|
|
20
|
+
*/
|
|
21
|
+
event ProjectMinterRegistered(
|
|
22
|
+
uint256 indexed _projectId,
|
|
23
|
+
address indexed _minterAddress,
|
|
24
|
+
string _minterType
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @notice Any active minter removed for project `_projectId`.
|
|
29
|
+
*/
|
|
30
|
+
event ProjectMinterRemoved(uint256 indexed _projectId);
|
|
31
|
+
|
|
32
|
+
function genArt721CoreAddress() external returns (address);
|
|
33
|
+
|
|
34
|
+
function setMinterForProject(uint256, address) external;
|
|
35
|
+
|
|
36
|
+
function removeMinterForProject(uint256) external;
|
|
37
|
+
|
|
38
|
+
function mint(
|
|
39
|
+
address _to,
|
|
40
|
+
uint256 _projectId,
|
|
41
|
+
address sender
|
|
42
|
+
) external returns (uint256);
|
|
43
|
+
|
|
44
|
+
function getMinterForProject(uint256) external view returns (address);
|
|
45
|
+
|
|
46
|
+
function projectHasMinter(uint256) external view returns (bool);
|
|
47
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// SPDX-License-Identifier: LGPL-3.0-only
|
|
2
|
+
// Creatd By: Art Blocks Inc.
|
|
3
|
+
|
|
4
|
+
pragma solidity ^0.8.0;
|
|
5
|
+
|
|
6
|
+
import "./IGenArt721CoreContractV3.sol";
|
|
7
|
+
|
|
8
|
+
interface IRandomizerV2 {
|
|
9
|
+
// The core contract that may interact with this randomizer contract.
|
|
10
|
+
function genArt721Core() external view returns (IGenArt721CoreContractV3);
|
|
11
|
+
|
|
12
|
+
// When a core contract calls this, it can be assured that the randomizer
|
|
13
|
+
// will set a bytes32 hash for tokenId `_tokenId` on the core contract.
|
|
14
|
+
function assignTokenHash(uint256 _tokenId) external;
|
|
15
|
+
}
|