Skip to content

Commit 7f81f04

Browse files
authored
exposed nextTokenIdRangeStart (#138)
1 parent 8b68622 commit 7f81f04

4 files changed

Lines changed: 30 additions & 2 deletions

File tree

src/module/token/metadata/BatchMetadataERC1155.sol

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,15 @@ contract BatchMetadataERC1155 is BatchMetadataERC721 {
99
/// @notice Returns all implemented callback and module functions.
1010
function getModuleConfig() external pure virtual override returns (ModuleConfig memory config) {
1111
config.callbackFunctions = new CallbackFunction[](1);
12-
config.fallbackFunctions = new FallbackFunction[](2);
12+
config.fallbackFunctions = new FallbackFunction[](3);
1313

1414
config.callbackFunctions[0] = CallbackFunction(this.onTokenURI.selector);
1515
config.fallbackFunctions[0] =
1616
FallbackFunction({selector: this.uploadMetadata.selector, permissionBits: Role._MINTER_ROLE});
1717
config.fallbackFunctions[1] =
1818
FallbackFunction({selector: this.getAllMetadataBatches.selector, permissionBits: 0});
19+
config.fallbackFunctions[2] =
20+
FallbackFunction({selector: this.getNextTokenIdRangeStart.selector, permissionBits: 0});
1921

2022
config.requiredInterfaces = new bytes4[](1);
2123
config.requiredInterfaces[0] = 0xd9b67a26; // ERC1155

src/module/token/metadata/BatchMetadataERC721.sol

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,16 @@ contract BatchMetadataERC721 is Module {
7878
/// @notice Returns all implemented callback and module functions.
7979
function getModuleConfig() external pure virtual override returns (ModuleConfig memory config) {
8080
config.callbackFunctions = new CallbackFunction[](1);
81-
config.fallbackFunctions = new FallbackFunction[](2);
81+
config.fallbackFunctions = new FallbackFunction[](3);
8282

8383
config.callbackFunctions[0] = CallbackFunction(this.onTokenURI.selector);
8484

8585
config.fallbackFunctions[0] =
8686
FallbackFunction({selector: this.uploadMetadata.selector, permissionBits: Role._MINTER_ROLE});
8787
config.fallbackFunctions[1] =
8888
FallbackFunction({selector: this.getAllMetadataBatches.selector, permissionBits: 0});
89+
config.fallbackFunctions[2] =
90+
FallbackFunction({selector: this.getNextTokenIdRangeStart.selector, permissionBits: 0});
8991

9092
config.requiredInterfaces = new bytes4[](1);
9193
config.requiredInterfaces[0] = 0x80ac58cd; // ERC721.
@@ -146,6 +148,10 @@ contract BatchMetadataERC721 is Module {
146148
emit BatchMetadataUpdate(rangeStart, rangeEndNonInclusive - 1);
147149
}
148150

151+
function getNextTokenIdRangeStart() external view returns (uint256) {
152+
return _batchMetadataStorage().nextTokenIdRangeStart;
153+
}
154+
149155
/*//////////////////////////////////////////////////////////////
150156
INTERNAL FUNCTIONS
151157
//////////////////////////////////////////////////////////////*/

test/module/metadata/BatchMetadataERC1155.t.sol

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,14 @@ contract BatchMetadataERC1155Test is Test {
8080
assertEq(batches[0].baseURI, "ipfs://base/");
8181
}
8282

83+
function test_getNextTokenIdRangeStart() public {
84+
vm.prank(owner);
85+
BatchMetadataExt(address(core)).uploadMetadata(100, "ipfs://base/");
86+
87+
// get metadata batches
88+
uint256 nextTokenIdRangeStart = BatchMetadataExt(address(core)).getNextTokenIdRangeStart();
89+
90+
assertEq(nextTokenIdRangeStart, 100);
91+
}
92+
8393
}

test/module/metadata/BatchMetadataERC721.t.sol

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,4 +80,14 @@ contract BatchMetadataERC721Test is Test {
8080
assertEq(batches[0].baseURI, "ipfs://base/");
8181
}
8282

83+
function test_getNextTokenIdRangeStart() public {
84+
vm.prank(owner);
85+
BatchMetadataExt(address(core)).uploadMetadata(100, "ipfs://base/");
86+
87+
// get metadata batches
88+
uint256 nextTokenIdRangeStart = BatchMetadataExt(address(core)).getNextTokenIdRangeStart();
89+
90+
assertEq(nextTokenIdRangeStart, 100);
91+
}
92+
8393
}

0 commit comments

Comments
 (0)