Skip to content

Commit

Permalink
Optimize storage structs
Browse files Browse the repository at this point in the history
  • Loading branch information
neokry committed Oct 27, 2023
1 parent 9f916c0 commit 153dfe0
Show file tree
Hide file tree
Showing 10 changed files with 22 additions and 35 deletions.
2 changes: 1 addition & 1 deletion src/auction/Auction.sol
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ contract Auction is IAuction, VersionedContract, UUPS, Ownable, ReentrancyGuard,
uint256 _duration,
uint256 _reservePrice,
address _founderRewardRecipient,
uint256 _founderRewardBps
uint16 _founderRewardBps
) external initializer {
// Ensure the caller is the contract manager
if (msg.sender != address(manager)) revert ONLY_MANAGER();
Expand Down
2 changes: 1 addition & 1 deletion src/auction/IAuction.sol
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ interface IAuction is IUUPS, IOwnable, IPausable {
uint256 duration,
uint256 reservePrice,
address founderRewardRecipent,
uint256 founderRewardBps
uint16 founderRewardBps
) external;

/// @notice Creates a bid for the current token
Expand Down
2 changes: 1 addition & 1 deletion src/auction/types/AuctionTypesV2.sol
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ contract AuctionTypesV2 {
/// @param percentBps The rewards to be paid to the DAO founder in BPS
struct FounderReward {
address recipient;
uint256 percentBps;
uint16 percentBps;
}
}
2 changes: 1 addition & 1 deletion src/manager/IManager.sol
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ interface IManager is IUUPS, IOwnable {
uint256 reservePrice;
uint256 duration;
address founderRewardRecipent;
uint256 founderRewardBps;
uint16 founderRewardBps;
}

/// @notice The governance parameters
Expand Down
4 changes: 2 additions & 2 deletions src/manager/types/ManagerTypesV2.sol
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ interface ManagerTypesV2 {
//// @notice Address to send Builder DAO rewards to
address builderRecipient;
//// @notice Percentage of final bid amount in BPS claimable by the bid referral
uint256 referralBps;
uint16 referralBps;
//// @notice Percentage of final bid amount in BPS claimable by BuilderDAO
uint256 builderBps;
uint16 builderBps;
}
}
2 changes: 0 additions & 2 deletions src/minters/MerkleReserveMinter.sol
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,6 @@ contract MerkleReserveMinter {
uint64 pricePerToken;
/// @notice Merkle root for
bytes32 merkleRoot;
/// @notice The block the snaphot was generated at
uint256 snapshotBlock;
}

/// @notice Parameters for merkle minting
Expand Down
2 changes: 1 addition & 1 deletion test/Auction.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ contract AuctionTest is NounsBuilderTest {
mockImpl = new MockImpl();
}

function deployAltMock(address founderRewardRecipent, uint256 founderRewardPercent) internal virtual {
function deployAltMock(address founderRewardRecipent, uint16 founderRewardPercent) internal virtual {
setMockFounderParams();

setMockTokenParams();
Expand Down
6 changes: 2 additions & 4 deletions test/L2MigrationDeployer.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,7 @@ contract L2MigrationDeployerTest is NounsBuilderTest {
mintStart: 200,
mintEnd: uint64(block.timestamp + 1000),
pricePerToken: 0.1 ether,
merkleRoot: hex"00",
snapshotBlock: 100
merkleRoot: hex"00"
});
}

Expand All @@ -112,13 +111,12 @@ contract L2MigrationDeployerTest is NounsBuilderTest {

assertTrue(token.isMinter(address(minter)));

(uint64 mintStart, uint64 mintEnd, uint64 pricePerToken, bytes32 merkleRoot, uint256 snapshotBlock) = minter.allowedMerkles(address(token));
(uint64 mintStart, uint64 mintEnd, uint64 pricePerToken, bytes32 merkleRoot) = minter.allowedMerkles(address(token));

assertEq(minterParams.mintStart, mintStart);
assertEq(minterParams.mintEnd, mintEnd);
assertEq(minterParams.pricePerToken, pricePerToken);
assertEq(minterParams.merkleRoot, merkleRoot);
assertEq(minterParams.snapshotBlock, snapshotBlock);
}

function test_MetadataIsSet() external {
Expand Down
33 changes: 12 additions & 21 deletions test/MerkleReserveMinter.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -68,14 +68,13 @@ contract MerkleReserveMinterTest is NounsBuilderTest {
mintStart: 0,
mintEnd: uint64(block.timestamp + 1000),
pricePerToken: 0 ether,
merkleRoot: root,
snapshotBlock: 1
merkleRoot: root
});

vm.prank(address(founder));
minter.setMintSettings(address(token), settings);

(uint64 mintStart, uint64 mintEnd, uint64 pricePerToken, bytes32 merkleRoot, ) = minter.allowedMerkles(address(token));
(uint64 mintStart, uint64 mintEnd, uint64 pricePerToken, bytes32 merkleRoot) = minter.allowedMerkles(address(token));
assertEq(mintStart, settings.mintStart);
assertEq(mintEnd, settings.mintEnd);
assertEq(pricePerToken, settings.pricePerToken);
Expand Down Expand Up @@ -105,13 +104,12 @@ contract MerkleReserveMinterTest is NounsBuilderTest {
mintStart: 0,
mintEnd: uint64(block.timestamp + 1000),
pricePerToken: 0 ether,
merkleRoot: root,
snapshotBlock: 1
merkleRoot: root
});

deployAltMockAndSetMinter(20, address(minter), settings);

(uint64 mintStart, uint64 mintEnd, uint64 pricePerToken, bytes32 merkleRoot, ) = minter.allowedMerkles(address(token));
(uint64 mintStart, uint64 mintEnd, uint64 pricePerToken, bytes32 merkleRoot) = minter.allowedMerkles(address(token));
assertEq(mintStart, settings.mintStart);
assertEq(mintEnd, settings.mintEnd);
assertEq(pricePerToken, settings.pricePerToken);
Expand All @@ -137,8 +135,7 @@ contract MerkleReserveMinterTest is NounsBuilderTest {
mintStart: 0,
mintEnd: uint64(block.timestamp + 1000),
pricePerToken: 0.5 ether,
merkleRoot: root,
snapshotBlock: 1
merkleRoot: root
});

vm.prank(address(founder));
Expand Down Expand Up @@ -175,8 +172,7 @@ contract MerkleReserveMinterTest is NounsBuilderTest {
mintStart: 0,
mintEnd: uint64(block.timestamp + 1000),
pricePerToken: 0.5 ether,
merkleRoot: root,
snapshotBlock: 1
merkleRoot: root
});

vm.prank(address(founder));
Expand Down Expand Up @@ -218,8 +214,7 @@ contract MerkleReserveMinterTest is NounsBuilderTest {
mintStart: 0,
mintEnd: uint64(block.timestamp + 1000),
pricePerToken: 0.5 ether,
merkleRoot: root,
snapshotBlock: 1
merkleRoot: root
});

vm.prank(address(founder));
Expand Down Expand Up @@ -256,8 +251,7 @@ contract MerkleReserveMinterTest is NounsBuilderTest {
mintStart: uint64(block.timestamp + 999),
mintEnd: uint64(block.timestamp + 1000),
pricePerToken: 0 ether,
merkleRoot: root,
snapshotBlock: 1
merkleRoot: root
});

vm.prank(address(founder));
Expand Down Expand Up @@ -288,8 +282,7 @@ contract MerkleReserveMinterTest is NounsBuilderTest {
mintStart: uint64(0),
mintEnd: uint64(1),
pricePerToken: 0 ether,
merkleRoot: root,
snapshotBlock: 1
merkleRoot: root
});

vm.prank(address(founder));
Expand Down Expand Up @@ -321,8 +314,7 @@ contract MerkleReserveMinterTest is NounsBuilderTest {
mintStart: uint64(0),
mintEnd: uint64(block.timestamp + 1000),
pricePerToken: 0 ether,
merkleRoot: root,
snapshotBlock: 1
merkleRoot: root
});

vm.prank(address(founder));
Expand Down Expand Up @@ -353,8 +345,7 @@ contract MerkleReserveMinterTest is NounsBuilderTest {
mintStart: 0,
mintEnd: uint64(block.timestamp + 1000),
pricePerToken: 0 ether,
merkleRoot: root,
snapshotBlock: 1
merkleRoot: root
});

vm.prank(address(founder));
Expand All @@ -363,7 +354,7 @@ contract MerkleReserveMinterTest is NounsBuilderTest {
vm.prank(address(founder));
minter.resetMintSettings(address(token));

(uint64 mintStart, uint64 mintEnd, uint64 pricePerToken, bytes32 merkleRoot, ) = minter.allowedMerkles(address(token));
(uint64 mintStart, uint64 mintEnd, uint64 pricePerToken, bytes32 merkleRoot) = minter.allowedMerkles(address(token));
assertEq(mintStart, 0);
assertEq(mintEnd, 0);
assertEq(pricePerToken, 0);
Expand Down
2 changes: 1 addition & 1 deletion test/utils/NounsBuilderTest.sol
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ contract NounsBuilderTest is Test {
uint256 _reservePrice,
uint256 _duration,
address _founderRewardRecipent,
uint256 _founderRewardBps
uint16 _founderRewardBps
) internal virtual {
auctionParams = IManager.AuctionParams({
reservePrice: _reservePrice,
Expand Down

0 comments on commit 153dfe0

Please sign in to comment.