@artblocks/contracts 1.0.1 → 1.0.2
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 +8 -1
- package/README.md +42 -157
- package/artifacts/contracts/AdminACLV1.sol/AdminACLV1.json +2 -2
- package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +2 -2
- package/artifacts/contracts/GenArt721CoreV3.sol/GenArt721CoreV3.json +2 -2
- package/artifacts/contracts/GenArt721CoreV3_Engine.sol/GenArt721CoreV3_Engine.json +2 -2
- package/artifacts/contracts/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2229 -0
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV2.sol/MinterDAExpV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExp/MinterDAExpV3.sol/MinterDAExpV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV0.sol/MinterDAExpSettlementV0.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDAExpSettlement/MinterDAExpSettlementV1.sol/MinterDAExpSettlementV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV2.sol/MinterDALinV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterDALin/MinterDALinV3.sol/MinterDALinV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV1.sol/MinterHolderV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV2.sol/MinterHolderV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterHolder/MinterHolderV3.sol/MinterHolderV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV1.sol/MinterMerkleV1.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV2.sol/MinterMerkleV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV3.sol/MinterMerkleV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterMerkle/MinterMerkleV4.sol/MinterMerkleV4.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV2.sol/MinterSetPriceV2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPrice/MinterSetPriceV3.sol/MinterSetPriceV3.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V2.sol/MinterSetPriceERC20V2.json +2 -2
- package/artifacts/contracts/archive/minter-suite/Minters/MinterSetPriceERC20/MinterSetPriceERC20V3.sol/MinterSetPriceERC20V3.json +2 -2
- package/artifacts/contracts/explorations/GenArt721CoreV3_Explorations.sol/GenArt721CoreV3_Explorations.json +2 -2
- package/artifacts/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol/IFilteredMinterSEAV0.json +1032 -0
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3.sol/IGenArt721CoreContractV3.json +149 -0
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol/IGenArt721CoreContractV3_Base.json +149 -0
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol/IGenArt721CoreContractV3_Engine.json +130 -0
- package/artifacts/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol/IGenArt721CoreContractV3_Engine_Flex.json +1066 -0
- package/artifacts/contracts/interfaces/0.8.x/IWETH.sol/IWETH.json +55 -0
- package/artifacts/contracts/libs/integration-refs/weth9/weth9.sol/WETH9_.json +295 -0
- package/artifacts/contracts/minter-suite/MinterFilter/MinterFilterV1.sol/MinterFilterV1.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol/MinterDAExpSettlementV2.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDAExpV4.sol/MinterDAExpV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterDALinV4.sol/MinterDALinV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterHolderV4.sol/MinterHolderV4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterMerkleV5.sol/MinterMerkleV5.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/IGenArt721CoreContractV3WithRandomizer.json +130 -0
- package/artifacts/contracts/minter-suite/Minters/MinterPolyptychV0.sol/MinterPolyptychV0.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSEAV0.sol/MinterSEAV0.json +1310 -0
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol/MinterSetPriceERC20V4.json +2 -2
- package/artifacts/contracts/minter-suite/Minters/MinterSetPriceV4.sol/MinterSetPriceV4.json +2 -2
- package/artifacts/contracts/mock/DeadReceiverBidderMock.sol/DeadReceiverBidderMock.json +33 -0
- package/artifacts/contracts/mock/GasLimitReceiverBidderMock.sol/GasLimitReceiverBidderMock.json +46 -0
- package/artifacts/contracts/mock/GasLimitReceiverMock.sol/GasLimitReceiverMock.json +28 -0
- package/artifacts/contracts/mock/GenArt721CoreV3_Engine_IncorrectCoreType.sol/GenArt721CoreV3_Engine_IncorrectCoreType.json +2 -2
- package/artifacts/contracts/mock/RandomizerV2_NoAssignMock.sol/RandomizerV2_NoAssignMock.json +2 -2
- package/artifacts/contracts/mock/ReentrancySEAMock.sol/ReentrancySEAAutoBidderMock.json +51 -0
- package/artifacts/contracts/{BasicRandomizer.sol → randomizer/BasicRandomizer.sol}/BasicRandomizer.json +3 -3
- package/artifacts/contracts/randomizer/BasicRandomizerBase_v0_0_0.sol/RandomizerBase.json +10 -0
- package/artifacts/contracts/randomizer/PolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +229 -0
- package/artifacts/contracts/randomizer/RandomizerV2.sol/BasicRandomizerV2.json +102 -0
- package/artifacts/contracts/royalty-registry/GenArt721RoyaltyOverride.sol/GenArt721RoyaltyOverride.json +2 -2
- package/contracts/DependencyRegistryV0.sol +74 -113
- package/contracts/GenArt721CoreV3.sol +124 -171
- package/contracts/GenArt721CoreV3_Engine.sol +136 -198
- package/contracts/GenArt721CoreV3_Engine_Flex.sol +2274 -0
- package/contracts/explorations/GenArt721CoreV3_Explorations.sol +147 -176
- package/contracts/interfaces/0.8.x/IFilteredMinterSEAV0.sol +145 -0
- package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Base.sol +39 -0
- package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine.sol +0 -3
- package/contracts/interfaces/0.8.x/IGenArt721CoreContractV3_Engine_Flex.sol +132 -0
- package/contracts/interfaces/0.8.x/IWETH.sol +11 -0
- package/contracts/libs/integration-refs/weth9/weth9.sol +763 -0
- package/contracts/minter-suite/MinterFilter/MinterFilterV1.sol +35 -47
- package/contracts/minter-suite/Minters/MinterDAExpSettlementV2.sol +26 -34
- package/contracts/minter-suite/Minters/MinterDAExpV4.sol +16 -21
- package/contracts/minter-suite/Minters/MinterDALinV4.sol +15 -17
- package/contracts/minter-suite/Minters/MinterHolderV4.sol +19 -19
- package/contracts/minter-suite/Minters/MinterMerkleV5.sol +13 -15
- package/contracts/minter-suite/Minters/MinterPolyptychV0.sol +23 -23
- package/contracts/minter-suite/Minters/MinterSEAV0.sol +1224 -0
- package/contracts/minter-suite/Minters/MinterSetPriceERC20V4.sol +11 -11
- package/contracts/minter-suite/Minters/MinterSetPriceV4.sol +9 -10
- package/contracts/mock/DeadReceiverBidderMock.sol +23 -0
- package/contracts/mock/GasLimitReceiverBidderMock.sol +23 -0
- package/contracts/mock/GasLimitReceiverMock.sol +19 -0
- package/contracts/mock/RandomizerV2_NoAssignMock.sol +2 -11
- package/contracts/mock/ReentrancySEAMock.sol +36 -0
- package/contracts/{BasicRandomizer.sol → randomizer/BasicRandomizer.sol} +1 -1
- package/contracts/randomizer/BasicRandomizerBase_v0_0_0.sol +23 -0
- package/contracts/{BasicPolyptychRandomizerV0.sol → randomizer/PolyptychRandomizerV0.sol} +19 -28
- package/contracts/{BasicRandomizerV2.sol → randomizer/RandomizerV2.sol} +5 -13
- package/package.json +27 -14
- package/artifacts/contracts/BasicPolyptychRandomizerV0.sol/BasicPolyptychRandomizerV0.json +0 -229
- package/artifacts/contracts/BasicRandomizerV2.sol/BasicRandomizerV2.json +0 -102
|
@@ -65,38 +65,37 @@ contract DependencyRegistryV0 is
|
|
|
65
65
|
EnumerableSet.AddressSet private _supportedCoreContracts;
|
|
66
66
|
mapping(address => mapping(uint256 => bytes32)) projectDependencyTypeOverrides;
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
function _onlyNonZeroAddress(address _address) internal pure {
|
|
69
69
|
require(_address != address(0), "Must input non-zero address");
|
|
70
|
-
_;
|
|
71
70
|
}
|
|
72
71
|
|
|
73
|
-
|
|
72
|
+
function _onlyNonEmptyString(string memory _string) internal pure {
|
|
74
73
|
require(bytes(_string).length != 0, "Must input non-empty string");
|
|
75
|
-
_;
|
|
76
74
|
}
|
|
77
75
|
|
|
78
|
-
|
|
76
|
+
function _onlyAdminACL(bytes4 _selector) internal {
|
|
79
77
|
require(
|
|
80
78
|
adminACLAllowed(msg.sender, address(this), _selector),
|
|
81
79
|
"Only Admin ACL allowed"
|
|
82
80
|
);
|
|
83
|
-
_;
|
|
84
81
|
}
|
|
85
82
|
|
|
86
|
-
|
|
83
|
+
function _onlySupportedCoreContract(
|
|
84
|
+
address _coreContractAddress
|
|
85
|
+
) internal view {
|
|
87
86
|
require(
|
|
88
87
|
_supportedCoreContracts.contains(_coreContractAddress),
|
|
89
88
|
"Core contract not supported"
|
|
90
89
|
);
|
|
91
|
-
_;
|
|
92
90
|
}
|
|
93
91
|
|
|
94
|
-
|
|
92
|
+
function _onlyExistingDependencyType(
|
|
93
|
+
bytes32 _dependencyType
|
|
94
|
+
) internal view {
|
|
95
95
|
require(
|
|
96
96
|
_dependencyTypes.contains(_dependencyType),
|
|
97
97
|
"Dependency type does not exist"
|
|
98
98
|
);
|
|
99
|
-
_;
|
|
100
99
|
}
|
|
101
100
|
|
|
102
101
|
/**
|
|
@@ -121,7 +120,8 @@ contract DependencyRegistryV0 is
|
|
|
121
120
|
string memory _preferredCDN,
|
|
122
121
|
string memory _preferredRepository,
|
|
123
122
|
string memory _referenceWebsite
|
|
124
|
-
) external
|
|
123
|
+
) external {
|
|
124
|
+
_onlyAdminACL(this.addDependency.selector);
|
|
125
125
|
require(
|
|
126
126
|
!_dependencyTypes.contains(_dependencyType),
|
|
127
127
|
"Dependency type already exists"
|
|
@@ -152,13 +152,9 @@ contract DependencyRegistryV0 is
|
|
|
152
152
|
* @notice Removes a dependency.
|
|
153
153
|
* @param _dependencyType Name of dependency type (i.e. "type@version")
|
|
154
154
|
*/
|
|
155
|
-
function removeDependency(
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
external
|
|
159
|
-
onlyAdminACL(this.removeDependency.selector)
|
|
160
|
-
onlyExistingDependencyType(_dependencyType)
|
|
161
|
-
{
|
|
155
|
+
function removeDependency(bytes32 _dependencyType) external {
|
|
156
|
+
_onlyAdminACL(this.removeDependency.selector);
|
|
157
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
162
158
|
Dependency storage dependency = dependencyDetails[_dependencyType];
|
|
163
159
|
require(
|
|
164
160
|
dependency.additionalCDNCount == 0 &&
|
|
@@ -182,12 +178,10 @@ contract DependencyRegistryV0 is
|
|
|
182
178
|
function addDependencyScript(
|
|
183
179
|
bytes32 _dependencyType,
|
|
184
180
|
string memory _script
|
|
185
|
-
)
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
onlyExistingDependencyType(_dependencyType)
|
|
190
|
-
{
|
|
181
|
+
) external {
|
|
182
|
+
_onlyAdminACL(this.addDependencyScript.selector);
|
|
183
|
+
_onlyNonEmptyString(_script);
|
|
184
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
191
185
|
Dependency storage dependency = dependencyDetails[_dependencyType];
|
|
192
186
|
// store script in contract bytecode
|
|
193
187
|
dependency.scriptBytecodeAddresses[dependency.scriptCount] = _script
|
|
@@ -208,12 +202,10 @@ contract DependencyRegistryV0 is
|
|
|
208
202
|
bytes32 _dependencyType,
|
|
209
203
|
uint256 _scriptId,
|
|
210
204
|
string memory _script
|
|
211
|
-
)
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
onlyExistingDependencyType(_dependencyType)
|
|
216
|
-
{
|
|
205
|
+
) external {
|
|
206
|
+
_onlyAdminACL(this.updateDependencyScript.selector);
|
|
207
|
+
_onlyNonEmptyString(_script);
|
|
208
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
217
209
|
Dependency storage dependencyType = dependencyDetails[_dependencyType];
|
|
218
210
|
require(
|
|
219
211
|
_scriptId < dependencyType.scriptCount,
|
|
@@ -241,13 +233,9 @@ contract DependencyRegistryV0 is
|
|
|
241
233
|
* @notice Removes last script from dependency `_dependencyType`.
|
|
242
234
|
* @param _dependencyType dependency to be updated.
|
|
243
235
|
*/
|
|
244
|
-
function removeDependencyLastScript(
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
external
|
|
248
|
-
onlyAdminACL(this.removeDependencyLastScript.selector)
|
|
249
|
-
onlyExistingDependencyType(_dependencyType)
|
|
250
|
-
{
|
|
236
|
+
function removeDependencyLastScript(bytes32 _dependencyType) external {
|
|
237
|
+
_onlyAdminACL(this.removeDependencyLastScript.selector);
|
|
238
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
251
239
|
Dependency storage dependency = dependencyDetails[_dependencyType];
|
|
252
240
|
require(dependency.scriptCount > 0, "there are no scripts to remove");
|
|
253
241
|
// purge old contract bytecode contract from the blockchain state
|
|
@@ -279,11 +267,9 @@ contract DependencyRegistryV0 is
|
|
|
279
267
|
function updateDependencyPreferredCDN(
|
|
280
268
|
bytes32 _dependencyType,
|
|
281
269
|
string memory _preferredCDN
|
|
282
|
-
)
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
onlyExistingDependencyType(_dependencyType)
|
|
286
|
-
{
|
|
270
|
+
) external {
|
|
271
|
+
_onlyAdminACL(this.updateDependencyPreferredCDN.selector);
|
|
272
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
287
273
|
dependencyDetails[_dependencyType].preferredCDN = _preferredCDN;
|
|
288
274
|
|
|
289
275
|
emit DependencyPreferredCDNUpdated(_dependencyType, _preferredCDN);
|
|
@@ -297,11 +283,9 @@ contract DependencyRegistryV0 is
|
|
|
297
283
|
function updateDependencyPreferredRepository(
|
|
298
284
|
bytes32 _dependencyType,
|
|
299
285
|
string memory _preferredRepository
|
|
300
|
-
)
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
onlyExistingDependencyType(_dependencyType)
|
|
304
|
-
{
|
|
286
|
+
) external {
|
|
287
|
+
_onlyAdminACL(this.updateDependencyPreferredRepository.selector);
|
|
288
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
305
289
|
dependencyDetails[_dependencyType]
|
|
306
290
|
.preferredRepository = _preferredRepository;
|
|
307
291
|
|
|
@@ -319,11 +303,9 @@ contract DependencyRegistryV0 is
|
|
|
319
303
|
function updateDependencyReferenceWebsite(
|
|
320
304
|
bytes32 _dependencyType,
|
|
321
305
|
string memory _referenceWebsite
|
|
322
|
-
)
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
onlyExistingDependencyType(_dependencyType)
|
|
326
|
-
{
|
|
306
|
+
) external {
|
|
307
|
+
_onlyAdminACL(this.updateDependencyReferenceWebsite.selector);
|
|
308
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
327
309
|
dependencyDetails[_dependencyType].referenceWebsite = _referenceWebsite;
|
|
328
310
|
|
|
329
311
|
emit DependencyReferenceWebsiteUpdated(
|
|
@@ -341,12 +323,10 @@ contract DependencyRegistryV0 is
|
|
|
341
323
|
function addDependencyAdditionalCDN(
|
|
342
324
|
bytes32 _dependencyType,
|
|
343
325
|
string memory _additionalCDN
|
|
344
|
-
)
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
onlyExistingDependencyType(_dependencyType)
|
|
349
|
-
{
|
|
326
|
+
) external {
|
|
327
|
+
_onlyAdminACL(this.addDependencyAdditionalCDN.selector);
|
|
328
|
+
_onlyNonEmptyString(_additionalCDN);
|
|
329
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
350
330
|
Dependency storage dependency = dependencyDetails[_dependencyType];
|
|
351
331
|
|
|
352
332
|
uint256 additionalCDNCount = uint256(dependency.additionalCDNCount);
|
|
@@ -370,11 +350,9 @@ contract DependencyRegistryV0 is
|
|
|
370
350
|
function removeDependencyAdditionalCDNAtIndex(
|
|
371
351
|
bytes32 _dependencyType,
|
|
372
352
|
uint256 _index
|
|
373
|
-
)
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
onlyExistingDependencyType(_dependencyType)
|
|
377
|
-
{
|
|
353
|
+
) external {
|
|
354
|
+
_onlyAdminACL(this.removeDependencyAdditionalCDNAtIndex.selector);
|
|
355
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
378
356
|
Dependency storage dependency = dependencyDetails[_dependencyType];
|
|
379
357
|
|
|
380
358
|
uint256 additionalCDNCount = dependency.additionalCDNCount;
|
|
@@ -402,12 +380,10 @@ contract DependencyRegistryV0 is
|
|
|
402
380
|
bytes32 _dependencyType,
|
|
403
381
|
uint256 _index,
|
|
404
382
|
string memory _additionalCDN
|
|
405
|
-
)
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
onlyExistingDependencyType(_dependencyType)
|
|
410
|
-
{
|
|
383
|
+
) external {
|
|
384
|
+
_onlyAdminACL(this.updateDependencyAdditionalCDNAtIndex.selector);
|
|
385
|
+
_onlyNonEmptyString(_additionalCDN);
|
|
386
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
411
387
|
Dependency storage dependency = dependencyDetails[_dependencyType];
|
|
412
388
|
uint24 additionalCDNCount = dependency.additionalCDNCount;
|
|
413
389
|
require(_index < additionalCDNCount, "Asset index out of range");
|
|
@@ -430,12 +406,10 @@ contract DependencyRegistryV0 is
|
|
|
430
406
|
function addDependencyAdditionalRepository(
|
|
431
407
|
bytes32 _dependencyType,
|
|
432
408
|
string memory _additionalRepository
|
|
433
|
-
)
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
onlyExistingDependencyType(_dependencyType)
|
|
438
|
-
{
|
|
409
|
+
) external {
|
|
410
|
+
_onlyAdminACL(this.addDependencyAdditionalRepository.selector);
|
|
411
|
+
_onlyNonEmptyString(_additionalRepository);
|
|
412
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
439
413
|
Dependency storage dependency = dependencyDetails[_dependencyType];
|
|
440
414
|
uint256 additionalRepositoryCount = uint256(
|
|
441
415
|
dependency.additionalRepositoryCount
|
|
@@ -464,11 +438,11 @@ contract DependencyRegistryV0 is
|
|
|
464
438
|
function removeDependencyAdditionalRepositoryAtIndex(
|
|
465
439
|
bytes32 _dependencyType,
|
|
466
440
|
uint256 _index
|
|
467
|
-
)
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
441
|
+
) external {
|
|
442
|
+
_onlyAdminACL(
|
|
443
|
+
this.removeDependencyAdditionalRepositoryAtIndex.selector
|
|
444
|
+
);
|
|
445
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
472
446
|
Dependency storage dependency = dependencyDetails[_dependencyType];
|
|
473
447
|
uint256 additionalRepositoryCount = uint256(
|
|
474
448
|
dependency.additionalRepositoryCount
|
|
@@ -497,12 +471,12 @@ contract DependencyRegistryV0 is
|
|
|
497
471
|
bytes32 _dependencyType,
|
|
498
472
|
uint256 _index,
|
|
499
473
|
string memory _additionalRepository
|
|
500
|
-
)
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
474
|
+
) external {
|
|
475
|
+
_onlyAdminACL(
|
|
476
|
+
this.updateDependencyAdditionalRepositoryAtIndex.selector
|
|
477
|
+
);
|
|
478
|
+
_onlyNonEmptyString(_additionalRepository);
|
|
479
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
506
480
|
Dependency storage dependency = dependencyDetails[_dependencyType];
|
|
507
481
|
uint24 additionalRepositoryCount = dependency.additionalRepositoryCount;
|
|
508
482
|
require(_index < additionalRepositoryCount, "Asset index out of range");
|
|
@@ -520,13 +494,9 @@ contract DependencyRegistryV0 is
|
|
|
520
494
|
* @notice Adds a new core contract to the list of supported core contracts.
|
|
521
495
|
* @param _contractAddress Address of the core contract to be added.
|
|
522
496
|
*/
|
|
523
|
-
function addSupportedCoreContract(
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
external
|
|
527
|
-
onlyAdminACL(this.addSupportedCoreContract.selector)
|
|
528
|
-
onlyNonZeroAddress(_contractAddress)
|
|
529
|
-
{
|
|
497
|
+
function addSupportedCoreContract(address _contractAddress) external {
|
|
498
|
+
_onlyAdminACL(this.addSupportedCoreContract.selector);
|
|
499
|
+
_onlyNonZeroAddress(_contractAddress);
|
|
530
500
|
require(
|
|
531
501
|
!_supportedCoreContracts.contains(_contractAddress),
|
|
532
502
|
"Contract already supported"
|
|
@@ -541,13 +511,9 @@ contract DependencyRegistryV0 is
|
|
|
541
511
|
* @notice Removes a core contract from the list of supported core contracts.
|
|
542
512
|
* @param _contractAddress Address of the core contract to be removed.
|
|
543
513
|
*/
|
|
544
|
-
function removeSupportedCoreContract(
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
external
|
|
548
|
-
onlyAdminACL(this.removeSupportedCoreContract.selector)
|
|
549
|
-
onlySupportedCoreContract(_contractAddress)
|
|
550
|
-
{
|
|
514
|
+
function removeSupportedCoreContract(address _contractAddress) external {
|
|
515
|
+
_onlyAdminACL(this.removeSupportedCoreContract.selector);
|
|
516
|
+
_onlySupportedCoreContract(_contractAddress);
|
|
551
517
|
_supportedCoreContracts.remove(_contractAddress);
|
|
552
518
|
|
|
553
519
|
emit SupportedCoreContractRemoved(_contractAddress);
|
|
@@ -566,12 +532,10 @@ contract DependencyRegistryV0 is
|
|
|
566
532
|
address _contractAddress,
|
|
567
533
|
uint256 _projectId,
|
|
568
534
|
bytes32 _dependencyType
|
|
569
|
-
)
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
onlySupportedCoreContract(_contractAddress)
|
|
574
|
-
{
|
|
535
|
+
) external {
|
|
536
|
+
_onlyAdminACL(this.addProjectDependencyTypeOverride.selector);
|
|
537
|
+
_onlyExistingDependencyType(_dependencyType);
|
|
538
|
+
_onlySupportedCoreContract(_contractAddress);
|
|
575
539
|
projectDependencyTypeOverrides[_contractAddress][
|
|
576
540
|
_projectId
|
|
577
541
|
] = _dependencyType;
|
|
@@ -592,7 +556,8 @@ contract DependencyRegistryV0 is
|
|
|
592
556
|
function removeProjectDependencyTypeOverride(
|
|
593
557
|
address _contractAddress,
|
|
594
558
|
uint256 _projectId
|
|
595
|
-
) external
|
|
559
|
+
) external {
|
|
560
|
+
_onlyAdminACL(this.removeProjectDependencyTypeOverride.selector);
|
|
596
561
|
require(
|
|
597
562
|
projectDependencyTypeOverrides[_contractAddress][_projectId] !=
|
|
598
563
|
bytes32(""),
|
|
@@ -808,12 +773,8 @@ contract DependencyRegistryV0 is
|
|
|
808
773
|
function getDependencyTypeForProject(
|
|
809
774
|
address _contractAddress,
|
|
810
775
|
uint256 _projectId
|
|
811
|
-
)
|
|
812
|
-
|
|
813
|
-
view
|
|
814
|
-
onlySupportedCoreContract(_contractAddress)
|
|
815
|
-
returns (string memory)
|
|
816
|
-
{
|
|
776
|
+
) external view returns (string memory) {
|
|
777
|
+
_onlySupportedCoreContract(_contractAddress);
|
|
817
778
|
bytes32 dependencyType = projectDependencyTypeOverrides[
|
|
818
779
|
_contractAddress
|
|
819
780
|
][_projectId];
|