@artblocks/contracts 1.0.4 → 1.1.0

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.
Files changed (120) hide show
  1. package/README.md +2 -2
  2. package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
  3. package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +97 -10
  4. package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +4 -4
  5. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +4 -9
  6. package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +4 -9
  7. package/artifacts/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol/GenArt721CoreV3_Engine_Flex_PROOF.json +4 -9
  8. package/artifacts/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol/GenArt721CoreV3_Engine_Flex_PROHIBITION.json +4 -9
  9. package/artifacts/contracts/engine-registry/CoreRegistryV1.sol/CoreRegistryV1.json +12 -12
  10. package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +4 -4
  11. package/artifacts/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol/ICoreRegistryV1.json +6 -6
  12. package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +19 -0
  13. package/artifacts/contracts/interfaces/v0.8.x/IMinterFilterV1.sol/IMinterFilterV1.json +22 -22
  14. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol/ISharedMinterDAExpSettlementV0.json +8 -101
  15. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol/ISharedMinterDAExpV0.json +1 -57
  16. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol/ISharedMinterDALinV0.json +1 -57
  17. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol/ISharedMinterDAV0.json +2 -21
  18. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol/ISharedMinterHolderERC20V0.json +158 -0
  19. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol/ISharedMinterHolderV0.json +15 -90
  20. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol/ISharedMinterMerkleV0.json +10 -36
  21. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol/ISharedMinterSEAV0.json +4 -236
  22. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol/ISharedMinterSimplePurchaseV0.json +5 -5
  23. package/artifacts/contracts/interfaces/v0.8.x/ISharedMinterV0.sol/ISharedMinterV0.json +7 -423
  24. package/artifacts/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol/ISharedRandomizerV0.json +17 -17
  25. package/artifacts/contracts/libs/v0.8.x/ABHelpers.sol/ABHelpers.json +2 -2
  26. package/artifacts/contracts/libs/v0.8.x/AuthLib.sol/AuthLib.json +2 -2
  27. package/artifacts/contracts/libs/v0.8.x/Bytes32Strings.sol/Bytes32Strings.json +2 -2
  28. package/artifacts/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol/DAExpLib.json +60 -3
  29. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALib.sol/DALib.json +30 -0
  30. package/artifacts/contracts/libs/v0.8.x/minter-libs/DALinLib.sol/DALinLib.json +60 -3
  31. package/artifacts/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol/GenericMinterEventsLib.json +346 -0
  32. package/artifacts/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol/MaxInvocationsLib.json +29 -3
  33. package/artifacts/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol/MerkleLib.json +30 -3
  34. package/artifacts/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol/PolyptychLib.json +2 -2
  35. package/artifacts/contracts/libs/v0.8.x/minter-libs/SEALib.sol/SEALib.json +254 -3
  36. package/artifacts/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol/SetPriceLib.json +48 -3
  37. package/artifacts/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol/SettlementExpLib.json +41 -3
  38. package/artifacts/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol/SplitFundsLib.json +35 -3
  39. package/artifacts/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol/TokenHolderLib.json +79 -3
  40. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
  41. package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV2.sol/MinterFilterV2.json +41 -41
  42. package/artifacts/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol/MinterDAExpHolderV5.json +66 -632
  43. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -20
  44. package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol/MinterDAExpSettlementV3.json +67 -594
  45. package/artifacts/contracts/minter-suite/Minters/MinterDAExpV5.sol/MinterDAExpV5.json +33 -524
  46. package/artifacts/contracts/minter-suite/Minters/MinterDALinHolderV5.sol/MinterDALinHolderV5.json +66 -632
  47. package/artifacts/contracts/minter-suite/Minters/MinterDALinV5.sol/MinterDALinV5.json +33 -524
  48. package/artifacts/contracts/minter-suite/Minters/MinterSEAV1.sol/MinterSEAV1.json +51 -717
  49. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol/MinterSetPriceERC20V5.json +58 -454
  50. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol/MinterSetPriceHolderV5.json +61 -552
  51. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol/MinterSetPriceMerkleV5.json +55 -497
  52. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol/MinterSetPricePolyptychERC20V5.json +110 -571
  53. package/artifacts/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol/MinterSetPricePolyptychV5.json +69 -560
  54. package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV5.sol/MinterSetPriceV5.json +28 -444
  55. package/artifacts/contracts/mock/DummySharedMinter.sol/DummySharedMinter.json +2 -2
  56. package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +4 -9
  57. package/artifacts/contracts/mock/OriginRegisterMock.sol/OriginRegisterMock.json +2 -2
  58. package/artifacts/contracts/mock/ReentrancyHolderMockShared.sol/ReentrancyHolderMockShared.json +136 -0
  59. package/artifacts/contracts/mock/ReentrancyMerkleMockShared.sol/ReentrancyMerkleMockShared.json +105 -0
  60. package/artifacts/contracts/mock/ReentrancyMockShared.sol/ReentrancyMockShared.json +100 -0
  61. package/artifacts/contracts/mock/ReentrancySEAMockShared.sol/ReentrancySEAAutoBidderMockShared.json +69 -0
  62. package/artifacts/contracts/randomizer/shared/SharedRandomizerV0.sol/SharedRandomizerV0.json +19 -19
  63. package/contracts/DependencyRegistryV0.sol +84 -16
  64. package/contracts/archive/readme.md +16 -0
  65. package/contracts/engine/README.md +21 -0
  66. package/contracts/engine/V3/GenArt721CoreV3_Engine.sol +4 -10
  67. package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +4 -10
  68. package/contracts/engine/V3/forks/GenArt721CoreV3_Engine_Flex_PROOF.sol +4 -10
  69. package/contracts/engine/V3/forks/PROHIBITION/GenArt721CoreV3_Engine_Flex_PROHIBITION.sol +4 -10
  70. package/contracts/engine-registry/CoreRegistryV1.sol +58 -65
  71. package/contracts/interfaces/v0.8.x/ICoreRegistryV1.sol +6 -8
  72. package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +3 -0
  73. package/contracts/interfaces/v0.8.x/IMinterFilterV1.sol +25 -25
  74. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpSettlementV0.sol +11 -20
  75. package/contracts/interfaces/v0.8.x/ISharedMinterDAExpV0.sol +1 -14
  76. package/contracts/interfaces/v0.8.x/ISharedMinterDALinV0.sol +1 -15
  77. package/contracts/interfaces/v0.8.x/ISharedMinterDAV0.sol +2 -8
  78. package/contracts/interfaces/v0.8.x/ISharedMinterHolderERC20V0.sol +47 -0
  79. package/contracts/interfaces/v0.8.x/ISharedMinterHolderV0.sol +15 -43
  80. package/contracts/interfaces/v0.8.x/ISharedMinterMerkleV0.sol +10 -20
  81. package/contracts/interfaces/v0.8.x/ISharedMinterSEAV0.sol +4 -67
  82. package/contracts/interfaces/v0.8.x/ISharedMinterSimplePurchaseV0.sol +5 -5
  83. package/contracts/interfaces/v0.8.x/ISharedMinterV0.sol +7 -155
  84. package/contracts/interfaces/v0.8.x/ISharedRandomizerV0.sol +37 -37
  85. package/contracts/libs/v0.8.x/ABHelpers.sol +14 -14
  86. package/contracts/libs/v0.8.x/AuthLib.sol +101 -102
  87. package/contracts/libs/v0.8.x/Bytes32Strings.sol +5 -5
  88. package/contracts/libs/v0.8.x/minter-libs/DAExpLib.sol +163 -38
  89. package/contracts/libs/v0.8.x/minter-libs/DALib.sol +26 -0
  90. package/contracts/libs/v0.8.x/minter-libs/DALinLib.sol +144 -37
  91. package/contracts/libs/v0.8.x/minter-libs/GenericMinterEventsLib.sol +171 -0
  92. package/contracts/libs/v0.8.x/minter-libs/MaxInvocationsLib.sol +250 -110
  93. package/contracts/libs/v0.8.x/minter-libs/MerkleLib.sol +257 -48
  94. package/contracts/libs/v0.8.x/minter-libs/PolyptychLib.sol +138 -58
  95. package/contracts/libs/v0.8.x/minter-libs/SEALib.sol +778 -103
  96. package/contracts/libs/v0.8.x/minter-libs/SetPriceLib.sol +135 -13
  97. package/contracts/libs/v0.8.x/minter-libs/SettlementExpLib.sol +567 -187
  98. package/contracts/libs/v0.8.x/minter-libs/SplitFundsLib.sol +480 -322
  99. package/contracts/libs/v0.8.x/minter-libs/TokenHolderLib.sol +214 -76
  100. package/contracts/minter-suite/MinterFilter/MinterFilterV2.sol +347 -304
  101. package/contracts/minter-suite/Minters/MinterDAExpHolderV5.sol +391 -491
  102. package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +1 -54
  103. package/contracts/minter-suite/Minters/MinterDAExpSettlementV3.sol +388 -628
  104. package/contracts/minter-suite/Minters/MinterDAExpV5.sol +212 -273
  105. package/contracts/minter-suite/Minters/MinterDALinHolderV5.sol +393 -488
  106. package/contracts/minter-suite/Minters/MinterDALinV5.sol +220 -277
  107. package/contracts/minter-suite/Minters/MinterSEAV1.sol +327 -664
  108. package/contracts/minter-suite/Minters/MinterSetPriceERC20V5.sol +278 -303
  109. package/contracts/minter-suite/Minters/MinterSetPriceHolderV5.sol +355 -446
  110. package/contracts/minter-suite/Minters/MinterSetPriceMerkleV5.sol +328 -416
  111. package/contracts/minter-suite/Minters/MinterSetPricePolyptychERC20V5.sol +538 -622
  112. package/contracts/minter-suite/Minters/MinterSetPricePolyptychV5.sol +429 -553
  113. package/contracts/minter-suite/Minters/MinterSetPriceV5.sol +180 -227
  114. package/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol +3 -10
  115. package/contracts/mock/ReentrancyHolderMockShared.sol +59 -0
  116. package/contracts/mock/ReentrancyMerkleMockShared.sol +58 -0
  117. package/contracts/mock/ReentrancyMockShared.sol +48 -0
  118. package/contracts/mock/ReentrancySEAMockShared.sol +40 -0
  119. package/contracts/randomizer/shared/SharedRandomizerV0.sol +78 -70
  120. package/package.json +39 -33
@@ -6,22 +6,20 @@ import "./IEngineRegistryV0.sol";
6
6
 
7
7
  interface ICoreRegistryV1 is IEngineRegistryV0 {
8
8
  function registerContracts(
9
- address[] calldata _contractAddresses,
10
- bytes32[] calldata _coreVersions,
11
- bytes32[] calldata _coreTypes
9
+ address[] calldata contractAddresses,
10
+ bytes32[] calldata coreVersions,
11
+ bytes32[] calldata coreTypes
12
12
  ) external;
13
13
 
14
- function unregisterContracts(
15
- address[] calldata _contractAddresses
16
- ) external;
14
+ function unregisterContracts(address[] calldata contractAddresses) external;
17
15
 
18
16
  function getNumRegisteredContracts() external view returns (uint256);
19
17
 
20
18
  function getRegisteredContractAt(
21
- uint256 _index
19
+ uint256 index
22
20
  ) external view returns (address);
23
21
 
24
22
  function isRegisteredContract(
25
- address _contractAddress
23
+ address contractAddress
26
24
  ) external view returns (bool isRegistered);
27
25
  }
@@ -18,8 +18,11 @@ interface IDependencyRegistryV0 {
18
18
  uint256 indexed _projectId
19
19
  );
20
20
 
21
+ event LicenseTypeAdded(bytes32 indexed _licenseType);
22
+
21
23
  event DependencyAdded(
22
24
  bytes32 indexed _dependencyType,
25
+ bytes32 indexed _licenseType,
23
26
  string _preferredCDN,
24
27
  string _preferredRepository,
25
28
  string _referenceWebsite
@@ -93,55 +93,55 @@ interface IMinterFilterV1 {
93
93
  }
94
94
 
95
95
  function setMinterForProject(
96
- uint256 _projectId,
97
- address _coreContract,
98
- address _minter
96
+ uint256 projectId,
97
+ address coreContract,
98
+ address minter
99
99
  ) external;
100
100
 
101
101
  function removeMinterForProject(
102
- uint256 _projectId,
103
- address _coreContract
102
+ uint256 projectId,
103
+ address coreContract
104
104
  ) external;
105
105
 
106
106
  // @dev function name is optimized for gas
107
107
  function mint_joo(
108
- address _to,
109
- uint256 _projectId,
110
- address _coreContract,
111
- address _sender
108
+ address to,
109
+ uint256 projectId,
110
+ address coreContract,
111
+ address sender
112
112
  ) external returns (uint256);
113
113
 
114
- function updateCoreRegistry(address _coreRegistry) external;
114
+ function updateCoreRegistry(address coreRegistry) external;
115
115
 
116
116
  /**
117
- * @notice Returns if `_sender` is allowed to call function on `_contract`
118
- * with `_selector` selector, according to the MinterFilter's Admin ACL.
117
+ * @notice Returns if `sender` is allowed to call function on `contract`
118
+ * with `selector` selector, according to the MinterFilter's Admin ACL.
119
119
  */
120
120
  function adminACLAllowed(
121
- address _sender,
122
- address _contract,
123
- bytes4 _selector
121
+ address sender,
122
+ address contract_,
123
+ bytes4 selector
124
124
  ) external returns (bool);
125
125
 
126
126
  function minterFilterType() external pure returns (string memory);
127
127
 
128
128
  function getMinterForProject(
129
- uint256 _projectId,
130
- address _coreContract
129
+ uint256 projectId,
130
+ address coreContract
131
131
  ) external view returns (address);
132
132
 
133
133
  function projectHasMinter(
134
- uint256 _projectId,
135
- address _coreContract
134
+ uint256 projectId,
135
+ address coreContract
136
136
  ) external view returns (bool);
137
137
 
138
138
  /**
139
139
  * @notice View that returns if a core contract is registered with the
140
140
  * core registry, allowing this minter filter to service it.
141
- * @param _coreContract core contract address to be checked
141
+ * @param coreContract core contract address to be checked
142
142
  */
143
143
  function isRegisteredCoreContract(
144
- address _coreContract
144
+ address coreContract
145
145
  ) external view returns (bool);
146
146
 
147
147
  /// Address of current core registry contract
@@ -152,12 +152,12 @@ interface IMinterFilterV1 {
152
152
 
153
153
  /// The quantity of projects on a core contract that have assigned minters
154
154
  function getNumProjectsOnContractWithMinters(
155
- address _coreContract
155
+ address coreContract
156
156
  ) external view returns (uint256);
157
157
 
158
158
  function getProjectAndMinterInfoOnContractAt(
159
- address _coreContract,
160
- uint256 _index
159
+ address coreContract,
160
+ uint256 index
161
161
  )
162
162
  external
163
163
  view
@@ -173,7 +173,7 @@ interface IMinterFilterV1 {
173
173
  returns (MinterWithType[] memory mintersWithTypes);
174
174
 
175
175
  function getAllContractApprovedMinters(
176
- address _coreContract
176
+ address coreContract
177
177
  ) external view returns (MinterWithType[] memory mintersWithTypes);
178
178
 
179
179
  /**
@@ -5,33 +5,24 @@ pragma solidity ^0.8.0;
5
5
  import "./ISharedMinterDAExpV0.sol";
6
6
 
7
7
  interface ISharedMinterDAExpSettlementV0 is ISharedMinterDAExpV0 {
8
- /// receipt has an updated state
9
- event ReceiptUpdated(
10
- address indexed _purchaser,
11
- uint256 indexed _projectId,
12
- address indexed _coreContract,
13
- uint24 _numPurchased,
14
- uint256 _netPosted
15
- );
16
-
17
- /// returns latest purchase price for project `_projectId`, or 0 if no
8
+ /// returns latest purchase price for project `projectId`, or 0 if no
18
9
  /// purchases have been made.
19
10
  function getProjectLatestPurchasePrice(
20
- uint256 _projectId,
21
- address _coreContract
11
+ uint256 projectId,
12
+ address coreContract
22
13
  ) external view returns (uint256 latestPurchasePrice);
23
14
 
24
- /// returns the number of settleable invocations for project `_projectId`.
15
+ /// returns the number of settleable invocations for project `projectId`.
25
16
  function getNumSettleableInvocations(
26
- uint256 _projectId,
27
- address _coreContract
17
+ uint256 projectId,
18
+ address coreContract
28
19
  ) external view returns (uint256 numSettleableInvocations);
29
20
 
30
- /// Returns the current excess settlement funds on project `_projectId`
31
- /// for address `_walletAddress`.
21
+ /// Returns the current excess settlement funds on project `projectId`
22
+ /// for address `walletAddress`.
32
23
  function getProjectExcessSettlementFunds(
33
- uint256 _projectId,
34
- address _coreContract,
35
- address _walletAddress
24
+ uint256 projectId,
25
+ address coreContract,
26
+ address walletAddress
36
27
  ) external view returns (uint256 excessSettlementFundsInWei);
37
28
  }
@@ -4,22 +4,9 @@
4
4
  pragma solidity ^0.8.0;
5
5
 
6
6
  interface ISharedMinterDAExpV0 {
7
- event SetAuctionDetailsExp(
8
- uint256 indexed _projectId,
9
- address indexed _coreContract,
10
- uint40 _auctionTimestampStart,
11
- uint40 _priceDecayHalfLifeSeconds,
12
- uint256 _startPrice,
13
- uint256 _basePrice
14
- );
15
- /// Minimum allowed price decay half life seconds updated.
16
- event AuctionMinHalfLifeSecondsUpdated(
17
- uint256 _minimumPriceDecayHalfLifeSeconds
18
- );
19
-
20
7
  function minimumPriceDecayHalfLifeSeconds() external view returns (uint256);
21
8
 
22
9
  function setMinimumPriceDecayHalfLifeSeconds(
23
- uint256 _minimumPriceDecayHalfLifeSeconds
10
+ uint256 minimumPriceDecayHalfLifeSeconds
24
11
  ) external;
25
12
  }
@@ -4,23 +4,9 @@
4
4
  pragma solidity ^0.8.0;
5
5
 
6
6
  interface ISharedMinterDALinV0 {
7
- event SetAuctionDetailsLin(
8
- uint256 indexed _projectId,
9
- address indexed _coreContract,
10
- uint40 _auctionTimestampStart,
11
- uint40 _auctionTimestampEnd,
12
- uint256 _startPrice,
13
- uint256 _basePrice
14
- );
15
-
16
- /// Minimum allowed auction length updated
17
- event AuctionMinimumLengthSecondsUpdated(
18
- uint256 _minimumAuctionLengthSeconds
19
- );
20
-
21
7
  function minimumAuctionLengthSeconds() external view returns (uint256);
22
8
 
23
9
  function setMinimumAuctionLengthSeconds(
24
- uint256 _minimumAuctionLengthSeconds
10
+ uint256 minimumAuctionLengthSeconds
25
11
  ) external;
26
12
  }
@@ -4,16 +4,10 @@
4
4
  pragma solidity ^0.8.0;
5
5
 
6
6
  interface ISharedMinterDAV0 {
7
- /// Auction details cleared for project `projectId`.
8
- event ResetAuctionDetails(
9
- uint256 indexed _projectId,
10
- address indexed _coreContract
11
- );
12
-
13
7
  // @dev return variables left unnamed because specific minter
14
8
  // implementations may return different values for the same slots
15
9
  function projectAuctionParameters(
16
- uint256 _projectId,
17
- address _coreContract
10
+ uint256 projectId,
11
+ address coreContract
18
12
  ) external view returns (uint40, uint40, uint256, uint256);
19
13
  }
@@ -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
+ /**
7
+ * @title This interface adds support for including token holder gating when purchasing with ERC20 tokens.
8
+ * @author Art Blocks Inc.
9
+ */
10
+ interface ISharedMinterHolderERC20V0 {
11
+ // Triggers a purchase of a token from the desired project, to the
12
+ // TX-sending address, using owned ERC-721 NFT to claim right to purchase.
13
+ function purchase(
14
+ uint256 projectId,
15
+ address coreContract,
16
+ uint256 maxPricePerToken,
17
+ address currencyAddress,
18
+ address ownedNFTAddress,
19
+ uint256 ownedNFTTokenId
20
+ ) external returns (uint256 tokenId);
21
+
22
+ // Triggers a purchase of a token from the desired project, to the specified
23
+ // receiving address, using owned ERC-721 NFT to claim right to purchase.
24
+ function purchaseTo(
25
+ address to,
26
+ uint256 projectId,
27
+ address coreContract,
28
+ uint256 maxPricePerToken,
29
+ address currencyAddress,
30
+ address ownedNFTAddress,
31
+ uint256 ownedNFTTokenId
32
+ ) external returns (uint256 tokenId);
33
+
34
+ // Triggers a purchase of a token from the desired project, on behalf of
35
+ // the provided vault, to the specified receiving address, using owned
36
+ // ERC-721 NFT to claim right to purchase.
37
+ function purchaseTo(
38
+ address to,
39
+ uint256 projectId,
40
+ address coreContract,
41
+ uint256 maxPricePerToken,
42
+ address currencyAddress,
43
+ address ownedNFTAddress,
44
+ uint256 ownedNFTTokenId,
45
+ address vault
46
+ ) external returns (uint256 tokenId);
47
+ }
@@ -8,62 +8,34 @@ pragma solidity ^0.8.0;
8
8
  * @author Art Blocks Inc.
9
9
  */
10
10
  interface ISharedMinterHolderV0 {
11
- event DelegationRegistryUpdated(address delegationRegistry);
12
- /**
13
- * @notice Allow holders of NFTs at addresses `_ownedNFTAddresses`, project
14
- * IDs `_ownedNFTProjectIds` to mint on project `_projectId`.
15
- * `_ownedNFTAddresses` assumed to be aligned with `_ownedNFTProjectIds`.
16
- * e.g. Allows holders of project `_ownedNFTProjectIds[0]` on token
17
- * contract `_ownedNFTAddresses[0]` to mint.
18
- */
19
- event AllowedHoldersOfProjects(
20
- uint256 indexed _projectId,
21
- address indexed _coreContract,
22
- address[] _ownedNFTAddresses,
23
- uint256[] _ownedNFTProjectIds
24
- );
25
- /**
26
- * @notice Remove holders of NFTs at addresses `_ownedNFTAddresses`,
27
- * project IDs `_ownedNFTProjectIds` to mint on project `_projectId`.
28
- * `_ownedNFTAddresses` assumed to be aligned with `_ownedNFTProjectIds`.
29
- * e.g. Removes holders of project `_ownedNFTProjectIds[0]` on token
30
- * contract `_ownedNFTAddresses[0]` from mint allowlist.
31
- */
32
- event RemovedHoldersOfProjects(
33
- uint256 indexed _projectId,
34
- address indexed _coreContract,
35
- address[] _ownedNFTAddresses,
36
- uint256[] _ownedNFTProjectIds
37
- );
38
-
39
11
  // Triggers a purchase of a token from the desired project, to the
40
12
  // TX-sending address, using owned ERC-721 NFT to claim right to purchase.
41
13
  function purchase(
42
- uint256 _projectId,
43
- address _coreContract,
44
- address _ownedNFTAddress,
45
- uint256 _ownedNFTTokenId
14
+ uint256 projectId,
15
+ address coreContract,
16
+ address ownedNFTAddress,
17
+ uint256 ownedNFTTokenId
46
18
  ) external payable returns (uint256 tokenId);
47
19
 
48
20
  // Triggers a purchase of a token from the desired project, to the specified
49
21
  // receiving address, using owned ERC-721 NFT to claim right to purchase.
50
22
  function purchaseTo(
51
- address _to,
52
- uint256 _projectId,
53
- address _coreContract,
54
- address _ownedNFTAddress,
55
- uint256 _ownedNFTTokenId
23
+ address to,
24
+ uint256 projectId,
25
+ address coreContract,
26
+ address ownedNFTAddress,
27
+ uint256 ownedNFTTokenId
56
28
  ) external payable returns (uint256 tokenId);
57
29
 
58
30
  // Triggers a purchase of a token from the desired project, on behalf of
59
31
  // the provided vault, to the specified receiving address, using owned
60
32
  // ERC-721 NFT to claim right to purchase.
61
33
  function purchaseTo(
62
- address _to,
63
- uint256 _projectId,
64
- address _coreContract,
65
- address _ownedNFTAddress,
66
- uint256 _ownedNFTTokenId,
67
- address _vault
34
+ address to,
35
+ uint256 projectId,
36
+ address coreContract,
37
+ address ownedNFTAddress,
38
+ uint256 ownedNFTTokenId,
39
+ address vault
68
40
  ) external payable returns (uint256 tokenId);
69
41
  }
@@ -8,37 +8,27 @@ pragma solidity ^0.8.0;
8
8
  * @author Art Blocks Inc.
9
9
  */
10
10
  interface ISharedMinterMerkleV0 {
11
- /**
12
- * @notice Notifies of the contract's default maximum mints allowed per
13
- * user for a given project, on this minter. This value can be overridden
14
- * by the artist of any project at any time.
15
- */
16
- event DefaultMaxInvocationsPerAddress(
17
- uint256 defaultMaxInvocationsPerAddress
18
- );
19
- event DelegationRegistryUpdated(address delegationRegistry);
20
-
21
11
  // Triggers a purchase of a token from the desired project, to the
22
12
  // TX-sending address. Requires Merkle proof.
23
13
  function purchase(
24
- uint256 _projectId,
25
- address _coreContract,
26
- bytes32[] calldata _proof
14
+ uint256 projectId,
15
+ address coreContract,
16
+ bytes32[] calldata proof
27
17
  ) external payable returns (uint256 tokenId);
28
18
 
29
19
  // Triggers a purchase of a token from the desired project, to the specified
30
20
  // receiving address. Requires Merkle proof.
31
21
  function purchaseTo(
32
- address _to,
33
- uint256 _projectId,
34
- address _coreContract,
35
- bytes32[] calldata _proof
22
+ address to,
23
+ uint256 projectId,
24
+ address coreContract,
25
+ bytes32[] calldata proof
36
26
  ) external payable returns (uint256 tokenId);
37
27
 
38
28
  // Updates the Merkle root for the desired project.
39
29
  function updateMerkleRoot(
40
- uint256 _projectId,
41
- address _coreContract,
42
- bytes32 _root
30
+ uint256 projectId,
31
+ address coreContract,
32
+ bytes32 root
43
33
  ) external;
44
34
  }
@@ -8,71 +8,8 @@ pragma solidity ^0.8.0;
8
8
  * @author Art Blocks Inc.
9
9
  */
10
10
  interface ISharedMinterSEAV0 {
11
- /**
12
- * @notice Minimum auction length, in seconds, was updated to be the
13
- * provided value.
14
- */
15
- event MinAuctionDurationSecondsUpdated(uint256 minAuctionDurationSeconds);
16
-
17
- /// Admin-controlled time buffer updated
18
- event MinterTimeBufferUpdated(uint32 minterTimeBufferSeconds);
19
-
20
- // Admin-controlled refund gas limit updated
21
- event MinterRefundGasLimitUpdated(uint24 refundGasLimit);
22
-
23
- /// Artist configured future auction details
24
- event ConfiguredFutureAuctions(
25
- uint256 indexed projectId,
26
- address indexed coreContract,
27
- uint64 timestampStart,
28
- uint32 auctionDurationSeconds,
29
- uint256 basePrice,
30
- uint8 minBidIncrementPercentage
31
- );
32
-
33
- /// New token auction created, token created and sent to minter
34
- event AuctionInitialized(
35
- uint256 indexed tokenId,
36
- address indexed coreContract,
37
- address indexed bidder,
38
- uint256 bidAmount,
39
- uint64 endTime,
40
- uint8 minBidIncrementPercentage
41
- );
42
-
43
- /// Successful bid placed on token auction
44
- event AuctionBid(
45
- uint256 indexed tokenId,
46
- address indexed coreContract,
47
- address indexed bidder,
48
- uint256 bidAmount
49
- );
50
-
51
- /// Token auction was settled (token distributed to winner)
52
- event AuctionSettled(
53
- uint256 indexed tokenId,
54
- address indexed coreContract,
55
- address indexed winner,
56
- uint256 price
57
- );
58
-
59
- /// Future auction details for project `projectId` reset
60
- event ResetAuctionDetails(
61
- uint256 indexed projectId,
62
- address indexed coreContract
63
- );
64
-
65
- // Next token ID for project `projectId` updated
66
- event ProjectNextTokenUpdated(
67
- uint256 indexed projectId,
68
- address indexed coreContract,
69
- uint256 tokenId
70
- );
71
-
72
- // Next token ID for project `projectId` was ejected from the minter
73
- // and is no longer populated
74
- event ProjectNextTokenEjected(
75
- uint256 indexed projectId,
76
- address indexed coreContract
77
- );
11
+ function createBid(
12
+ uint256 projectId,
13
+ address coreContract
14
+ ) external payable;
78
15
  }
@@ -14,15 +14,15 @@ interface ISharedMinterSimplePurchaseV0 {
14
14
  // Triggers a purchase of a token from the desired project, to the
15
15
  // TX-sending address.
16
16
  function purchase(
17
- uint256 _projectId,
18
- address _coreContract
17
+ uint256 projectId,
18
+ address coreContract
19
19
  ) external payable returns (uint256 tokenId);
20
20
 
21
21
  // Triggers a purchase of a token from the desired project, to the specified
22
22
  // receiving address.
23
23
  function purchaseTo(
24
- address _to,
25
- uint256 _projectId,
26
- address _coreContract
24
+ address to,
25
+ uint256 projectId,
26
+ address coreContract
27
27
  ) external payable returns (uint256 tokenId);
28
28
  }