Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RAM minter #1319

Merged
merged 180 commits into from
Apr 1, 2024
Merged
Show file tree
Hide file tree
Changes from 176 commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
d511eba
initial structuring
ryley-o Jan 11, 2024
85b7a70
reasonable bucket sort insert/remove implementation
ryley-o Jan 11, 2024
895919d
add min heap lib, reach parity with RAMLib for min heap
ryley-o Jan 12, 2024
ebcac35
add minter refund limit updated events to libs
ryley-o Jan 12, 2024
0e21cb4
add createBid functionality, view min bid to RAM minter
ryley-o Jan 12, 2024
0071d04
move lib function for styleguide
ryley-o Jan 12, 2024
6b87738
implement minimal auction config in RAM minter for testing
ryley-o Jan 12, 2024
1291b91
implement minimal MinterRAMMinHeapV0 for testing
ryley-o Jan 12, 2024
4bc7007
bug fixes and gas tests for study
ryley-o Jan 17, 2024
be1d339
don't track bid slot index in Bid since implicitly defined elsewhere
ryley-o Jan 18, 2024
bfe88cd
states-flags-errors
ryley-o Jan 19, 2024
9060091
nits to state definitions
ryley-o Jan 20, 2024
0c60d0b
remove/archive min-heap study files
ryley-o Jan 23, 2024
aa92586
Merge pull request #1336 from ArtBlocks/ram-minter-leaf
ryley-o Jan 23, 2024
5bf85eb
update RAMLib to use dual BitMap256 for 512 bid slots
ryley-o Jan 24, 2024
2a91055
Merge branch 'main' into ram-minter
ryley-o Jan 24, 2024
1c6f6f6
update pricing mechanics
ryley-o Jan 25, 2024
102ff04
add logic for auction extension time
ryley-o Jan 25, 2024
3781032
add percent bid value checks
ryley-o Jan 26, 2024
cc41627
admin-configurable admin-only mint period if sellout
ryley-o Jan 26, 2024
db8810a
Merge branch 'main' into ram-minter
ryley-o Jan 26, 2024
4056bf0
Implement State A abilities, setContractConfig
ryley-o Jan 26, 2024
94ade00
fully add createBid functionality
ryley-o Jan 27, 2024
875c748
add ability for admin to increase auction end time up to 72 hours (fr…
ryley-o Jan 29, 2024
01b8569
update createBid to be external
ryley-o Jan 29, 2024
8ce236c
Add ability for collectors to collect settlements
ryley-o Jan 29, 2024
d582e81
add event for bid settled, bug fix price calc
ryley-o Jan 29, 2024
273e05b
functions for admin to mint tokens to winners
ryley-o Jan 30, 2024
77da63b
Merge branch 'main' into ram-minter
ryley-o Jan 30, 2024
122b898
add refund capabilites to resolve E1
ryley-o Jan 30, 2024
c9e4126
bug fixes, mature automatic scrolling, refactor mint scrolling
ryley-o Jan 30, 2024
bf89c61
remove bugged mid-auction max invocation reducing, greatly simplify m…
ryley-o Jan 30, 2024
fd265d4
add ability for winners, artists, and admin to mint direct in State D
ryley-o Jan 30, 2024
7cc900b
add capability for winner, admin, or artist to directly refund bids w…
ryley-o Jan 31, 2024
d22eafb
Merge branch 'main' into ram-minter
ryley-o Jan 31, 2024
a248f2c
add capability to withdraw revenues
ryley-o Jan 31, 2024
2d9e944
implement post-auction purchase if no sellout and tokens remain
ryley-o Jan 31, 2024
6decb31
implement shim for hasMaxBeenInvoked, use in view functions
ryley-o Jan 31, 2024
0ed36c4
Merge branch 'main' into ram-minter
ryley-o Jan 31, 2024
b6de1ef
update view functions for minter state and auction details
ryley-o Jan 31, 2024
17aa49c
update getPriceInfo to return correct values
ryley-o Jan 31, 2024
f654aaf
fix edge cases for getMinBidValue
ryley-o Jan 31, 2024
c552c76
add view function to get minimum next bid (for frontend live data)
ryley-o Jan 31, 2024
4cb60fc
docstrings + view for contract configuration details
ryley-o Jan 31, 2024
543e462
clean up events
ryley-o Feb 1, 2024
ebd9981
remove sync max invocations to core for simplification
ryley-o Feb 1, 2024
dab68bc
add artist reduce auction length capability (live auction)
ryley-o Feb 1, 2024
72800ec
bug fix event emitting
ryley-o Feb 2, 2024
7977286
refactor bid settlement helper functions
ryley-o Feb 2, 2024
36a738e
refactor getting project price
ryley-o Feb 2, 2024
c6ceba2
refactor getNumTokensOwed
ryley-o Feb 2, 2024
9f052ab
naming convention for all private functions
ryley-o Feb 2, 2024
5cee1b1
fix ordering of functions
ryley-o Feb 2, 2024
9bdb1c0
fix state comments due to updates
ryley-o Feb 2, 2024
7546033
update note on block timestamp
ryley-o Feb 2, 2024
6ba7224
convert to use linked list instead of stack
ryley-o Feb 2, 2024
59a05a9
Merge branch 'ram-minter' into ram-minter-linked-list
ryley-o Feb 2, 2024
36e5e61
Merge pull request #1374 from ArtBlocks/ram-minter-linked-list
ryley-o Feb 2, 2024
25261e3
fix interface type
ryley-o Feb 2, 2024
1b2e2cc
add bid top-up capability
ryley-o Feb 2, 2024
ea82704
Merge branch 'main' into ram-minter
ryley-o Feb 2, 2024
117584e
pack bools in bid
ryley-o Feb 3, 2024
db0cac4
also allow artist to execute auto-mint in State C
ryley-o Feb 5, 2024
02e6676
fix purchase checks to not check for impossible states
ryley-o Feb 5, 2024
b031216
update state descriptions
ryley-o Feb 5, 2024
dfc86fb
nits to RAMLib ordering, docstrings
ryley-o Feb 5, 2024
5e5dd6a
add minter project balance backstop
ryley-o Feb 5, 2024
79d0a52
Merge pull request #1377 from ArtBlocks/ram-minter-backstop
ryley-o Feb 5, 2024
5addf88
add missing docstring to RAMLib function
ryley-o Feb 5, 2024
ad174b8
bug fix all lib functions non-external, minter version to v0.0.0
ryley-o Feb 5, 2024
9726f01
add initial tests, bug fixes for RAM minter
ryley-o Feb 6, 2024
d4e3fe7
Merge branch 'main' into ram-minter
ryley-o Feb 6, 2024
86823e4
add tests, bug fix
ryley-o Feb 8, 2024
6904351
only allow future auction start times
ryley-o Feb 8, 2024
95f9b86
add check to auction timestamp end to be in future
ryley-o Feb 8, 2024
6f280d9
configure test for withdrawArtistAndAdminRevenues
ryley-o Feb 8, 2024
b58a1c5
add convenience view function slotIndexToBidValue
ryley-o Feb 8, 2024
d3a65b0
createBid bug fixes, tests
ryley-o Feb 8, 2024
24df2b0
add tests for topUpBid
ryley-o Feb 8, 2024
6bbbed8
add tests for purchase/purchaseTo
ryley-o Feb 9, 2024
e725b6e
add tests for collectSettlement
ryley-o Feb 9, 2024
e151388
make adminAddEmergencyAuctionHours nonReentrant for extra safety
ryley-o Feb 9, 2024
5fcd7ff
remove collectSettlement for contract bytecode size margin
ryley-o Feb 9, 2024
60ed318
add tests for adminArtistAutoMintTokensToWinners
ryley-o Feb 9, 2024
c1267e4
tests for adminArtistDirectMintTokensToWinners, intentional revert in…
ryley-o Feb 9, 2024
e5ee171
tests for winnerDirectMintTokens
ryley-o Feb 9, 2024
792b69c
add tests for adminAutoRefundBidsToResolveE1
ryley-o Feb 9, 2024
633e327
direct refund tests
ryley-o Feb 10, 2024
690d6a9
add typical gas tests
ryley-o Feb 10, 2024
706a454
add direct-mint gas test
ryley-o Feb 10, 2024
17a5bac
fix test descriptions, prime view and events tests
ryley-o Feb 10, 2024
866a5e0
fix broken tests
ryley-o Feb 13, 2024
254b3b5
add many view function tests
ryley-o Feb 13, 2024
b40a9b8
complete updating views tests (except for E1 view)
ryley-o Feb 13, 2024
ccf8471
add initial event tests
ryley-o Feb 13, 2024
a964677
finish ramlib event tests
ryley-o Feb 13, 2024
f87b3ee
minor coverage pickups
ryley-o Feb 13, 2024
c5c11de
more coverage edge cases
ryley-o Feb 14, 2024
28f2a24
clean up code for slot searching
ryley-o Feb 15, 2024
8e9abcf
add tests for outbid logic
ryley-o Feb 15, 2024
52dfb10
add tests for bid scrolling coverage in library
ryley-o Feb 15, 2024
67a8540
add tests for getIsErrorE1
ryley-o Feb 15, 2024
e2683fc
refactor RAMLib to use IsFlagF1 for readability
ryley-o Feb 15, 2024
832dd4d
refactor E1/F1 functions to simplify, add overflow protection to pric…
ryley-o Feb 15, 2024
414f122
bug fix refund of non-existent bid, and corresponding tests
ryley-o Feb 16, 2024
7a20a27
remove duplicate checks, reduce bytecode
ryley-o Feb 16, 2024
8614659
Audit update H-02
lindsgil Feb 28, 2024
465cad9
Merge branch 'main' of github.com:ArtBlocks/artblocks-contracts into …
lindsgil Feb 28, 2024
c8433f0
Audit update H-03
lindsgil Feb 28, 2024
30ad212
Audit updates
lindsgil Feb 28, 2024
d04759f
remove require, contract size too large
lindsgil Feb 28, 2024
fb2266e
Update top up bid test
lindsgil Feb 29, 2024
4c40c40
Merge branch 'main' of github.com:ArtBlocks/artblocks-contracts into …
lindsgil Feb 29, 2024
7a2500e
Merge branch 'ram-minter' of github.com:ArtBlocks/artblocks-contracts…
lindsgil Feb 29, 2024
f48acaf
Fix expected revert message in test
lindsgil Feb 29, 2024
f0510f1
Code improvements to MinterRAMV0, audit review updates
lindsgil Mar 1, 2024
a20be82
Review feedback - update adminMinterConfiguration to enum
lindsgil Mar 1, 2024
ef3d125
Audit review feedback
lindsgil Mar 1, 2024
7507bd5
added dev comment
lindsgil Mar 6, 2024
e915bfc
I-04 Comments Improvements
lindsgil Mar 9, 2024
f86581b
Update NatSpec comments per I-01
lindsgil Mar 9, 2024
a66a824
Update NatSpec comments per I-01
lindsgil Mar 9, 2024
04fcd05
Updates for I-03 General code improvements
lindsgil Mar 11, 2024
d49bb7a
Update test revert messages to match ProjectMinterStates
lindsgil Mar 11, 2024
185f9fc
Add shared helper _mintAndSettle
lindsgil Mar 11, 2024
fd4db11
Refactor refund and settle bid to resolve E1
lindsgil Mar 12, 2024
cb4d8da
I-02 Gas Optimization Updates
lindsgil Mar 12, 2024
b8e3b9b
Fix tests
lindsgil Mar 12, 2024
1beba09
Update handler
lindsgil Mar 12, 2024
655fbdf
simplify helper function
lindsgil Mar 13, 2024
495578e
Remove TODO
lindsgil Mar 13, 2024
dfcfe16
Merge branch 'main' of github.com:ArtBlocks/artblocks-contracts into …
lindsgil Mar 13, 2024
d65b164
Merge branch 'ram-minter' of github.com:ArtBlocks/artblocks-contracts…
lindsgil Mar 13, 2024
1ec93ba
Update minBidSlotIndex initialization to 512
lindsgil Mar 17, 2024
d4e78c8
Update bid ID validation
lindsgil Mar 17, 2024
4c35d6d
Add foundSlotWithBid validation
lindsgil Mar 17, 2024
6482f93
Update getLowestBid notice comment
lindsgil Mar 17, 2024
358858a
update global sell out check
lindsgil Mar 17, 2024
d7afe36
Update _ejectBidFromSlot, only update minBidSlotIndex conditionally
lindsgil Mar 17, 2024
d78b2da
Refactor _getMinSlotWithBid and _getMaxSlotWithBid to return 512 if n…
lindsgil Mar 18, 2024
92a2716
Refactor _getMinSlotWithBid and _getMaxSlotWithBid to return 512 if n…
lindsgil Mar 18, 2024
e89af05
I-02 audit update, memoize numRefundsIssued
lindsgil Mar 18, 2024
30a4749
Remove bid in directMintTokensToWinners after minting + settling
lindsgil Mar 18, 2024
a50b39d
clarify comment in test
lindsgil Mar 18, 2024
72829dd
removed unnecessary commetn
lindsgil Mar 18, 2024
5c24291
Add projectPrice as parameter to _settleAndRefundBid and _mintAndSett…
lindsgil Mar 18, 2024
7da4ed8
Remove contract config struct in favor of the admin minting constrain…
lindsgil Mar 18, 2024
8ff1f98
Update state C of ProjectMinterState enum to be more explicit
lindsgil Mar 18, 2024
2c5b543
Return removedBidValue from _removeMinBid
lindsgil Mar 19, 2024
d5dcb3d
Update _findNextValidBidSlotIndex to also return bid value
lindsgil Mar 19, 2024
a83c3c7
Revert bid removal from storage
lindsgil Mar 19, 2024
54c57e3
Update _removeMinBid
lindsgil Mar 19, 2024
91711f1
remove unchecked block in MaxInvocationsLib
lindsgil Mar 19, 2024
48f0e92
Update comments
lindsgil Mar 20, 2024
f3d37d5
Update comments
lindsgil Mar 20, 2024
7ecd969
Return NUM_SLOTS instead of hardcoded 512 value
lindsgil Mar 20, 2024
cd1120e
Add optimization to maxBitSet function
lindsgil Mar 20, 2024
35845c3
Merge branch 'main' of github.com:ArtBlocks/artblocks-contracts into …
lindsgil Mar 25, 2024
9dd2b25
Merge branch 'ram-minter' of github.com:ArtBlocks/artblocks-contracts…
lindsgil Mar 25, 2024
e84feed
Merge pull request #1383 from ArtBlocks/ram-minter-post-audit-start
ryley-o Mar 25, 2024
6c99f5e
Updated comments and _settleAndRefundBid per review
lindsgil Mar 26, 2024
1abcc70
Rename invocationsRemain to invocationsRemainOnCore and revert change…
lindsgil Mar 26, 2024
4c4fdcf
Updat
lindsgil Mar 26, 2024
1f9ac1d
Update packages/contracts/contracts/libs/v0.8.x/BitMap.sol
lindsgil Mar 27, 2024
81e83ec
Update packages/contracts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol
lindsgil Mar 27, 2024
927e02d
Update packages/contracts/contracts/libs/v0.8.x/minter-libs/RAMLib.sol
lindsgil Mar 27, 2024
3947423
Update comments + placement of bid existence check
lindsgil Mar 27, 2024
6653a56
Merge branch 'ram-minter' of github.com:ArtBlocks/artblocks-contracts…
lindsgil Mar 27, 2024
2fd96bf
Fix tests
lindsgil Mar 27, 2024
2f64e95
Merge branch 'main' into ram-minter
lindsgil Mar 27, 2024
94e8a51
Added reentrancy test on purchase function and added a dev comment
lindsgil Mar 27, 2024
b6d4add
Merge branch 'ram-minter' of github.com:ArtBlocks/artblocks-contracts…
lindsgil Mar 27, 2024
c23f355
Add test that validates that removing the last active bid for a slot …
lindsgil Mar 27, 2024
afd85d2
Update reentrancy test to pass the correct value in call
lindsgil Mar 28, 2024
8d36e20
Test revert message typo
lindsgil Apr 1, 2024
7179fbb
Merge branch 'main' into ram-minter
lindsgil Apr 1, 2024
fb53fef
PR review updates - update revert messages and private function ordering
lindsgil Apr 1, 2024
f436eec
Merge branch 'ram-minter' of github.com:ArtBlocks/artblocks-contracts…
lindsgil Apr 1, 2024
280ec47
fix minor comment nit in interface
ryley-o Apr 1, 2024
be81d4d
Merge branch 'main' into ram-minter
ryley-o Apr 1, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// SPDX-License-Identifier: LGPL-3.0-only
// Created By: Art Blocks Inc.

pragma solidity ^0.8.0;

/**
* @title This interface adds support for serial English auction minting.
* @author Art Blocks Inc.
*/
interface ISharedMinterRAMV0 {
function createBid(
uint256 projectId,
address coreContract,
uint16 slotIndex
) external payable;

function topUpBid(
uint256 projectId,
address coreContract,
uint32 bidId,
uint16 newSlotIndex
) external payable;
}
14 changes: 7 additions & 7 deletions packages/contracts/contracts/libs/v0.8.x/ABHelpers.sol
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,8 @@ library ABHelpers {
uint256 tokenId
) internal pure returns (uint256) {
// int division properly rounds down
// @dev unchecked because will never divide by zero
unchecked {
return tokenId / ONE_MILLION;
}
// @dev no way to disable division by zero check in solidity v0.8.24, so not unchecked
return tokenId / ONE_MILLION;
}

/**
Expand All @@ -48,9 +46,11 @@ library ABHelpers {
function tokenIdToTokenInvocation(
uint256 tokenId
) internal pure returns (uint256) {
// mod returns remainder, which is the token number
// @dev no way to disable mod zero check in solidity, so not unchecked
return (tokenId % ONE_MILLION) + 1;
unchecked {
// mod returns remainder, which is the token number
// @dev no way to disable mod zero check in solidity, unchecked to optimize gas for addition
return (tokenId % ONE_MILLION) + 1;
}
}

/**
Expand Down
112 changes: 112 additions & 0 deletions packages/contracts/contracts/libs/v0.8.x/BitMap.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
// SPDX-License-Identifier: LGPL-3.0-only
// Created By: Art Blocks Inc.

pragma solidity ^0.8.0;

/**
* @dev Library for using uint256 as a mapping to 256 bool values via a bit map.
* This is useful for storing a large number of bool values in a compact way.
* @dev This implementation is similar to OpenZeppelin's BitMaps library, but a
* single uint256 is used directly in memory instead of operating within a
* a mapping within a storage struct.
* This design limits the number of indices to 256, but is more gas efficient
* for use cases that fit within that limit. This is especially true for
* operations that require many reads/writes, since SLOAD/SSTORE can be managed
* outside of the library.
*/
library BitMaps256 {
/**
* @notice Checks if the bit at a specific index in the bit map is set.
* A bit is considered set if it is 1, and unset if it is 0.
* @param bitMap BitMap to check.
* @param index The index of the bit to check.
* @return Indicating if the bit at the specified index is set, false otherwise.
*/
function get(uint256 bitMap, uint8 index) internal pure returns (bool) {
uint256 mask = 1 << index;
return bitMap & mask != 0;
}

/**
* @notice Sets the bit at a specific index in the bit map to 1.
* This function creates a new bit map where the bit at the specified index is set,
* leaving other bits unchanged.
* @param bitMap The original BitMap.
* @param index The index of the bit to set.
* @return newBitMap The new bit map after setting the bit at the specified index.
*/
function set(
uint256 bitMap,
uint8 index
) internal pure returns (uint256 newBitMap) {
uint256 mask = 1 << index;
return bitMap | mask;
}

/**
* @notice Unsets the bit at a specific index in the bit map, setting it to 0.
* This function creates a new bit map where the bit at the specified index is unset,
* leaving other bits unchanged.
* @param bitMap The original BitMap.
* @param index The index of the bit to unset.
* @return newBitMap The new bit map after unsetting the bit at the specified index.
*/
function unset(
uint256 bitMap,
uint8 index
) internal pure returns (uint256 newBitMap) {
uint256 mask = 1 << index;
return bitMap & ~mask;
}

/**
* @notice Finds the index of the first bit that is set in the bit map
* starting from a given index.
* Returns (255, false) if no set bits were found.
* @param bitMap BitMap to search
* @param startIndex Index to start searching from, inclusive
* @return minIndex Index of first set bit, or 255 if no bits were found
* @return foundSetBit True if a set bit was found, false otherwise
*/
function minBitSet(
uint256 bitMap,
uint8 startIndex
) internal pure returns (uint256 minIndex, bool foundSetBit) {
// check if there's any set bit at or above startIndex
if ((bitMap >> startIndex) == 0) {
return (255, false);
}
minIndex = startIndex;
// @dev this is a linear search, optimized to start only if there's a set bit at or above startIndex
// worst case 255 iterations in memory
while (minIndex < 255 && !get(bitMap, uint8(minIndex))) {
minIndex++;
}
foundSetBit = get(bitMap, uint8(minIndex));
}

/**
* @notice Finds the index of the highest bit that is set in the bit map
* starting from a given index and counting down.
* Returns (0, false) if no set bits were found.
* @param bitMap BitMap to search
* @param startIndex Index to start searching from, inclusive
* @return maxIndex Index of last set bit, or 0 if no bits were found
* @return foundSetBit True if a set bit was found, false otherwise
*/
function maxBitSet(
uint256 bitMap,
uint8 startIndex
) internal pure returns (uint256 maxIndex, bool foundSetBit) {
if ((bitMap << (255 - startIndex)) == 0) {
return (0, false);
}

maxIndex = startIndex;
// @dev this is a linear search, worst case 255 iterations in memory
while (maxIndex > 0 && !get(bitMap, uint8(maxIndex))) {
maxIndex--;
}
foundSetBit = get(bitMap, uint8(maxIndex));
}
}
42 changes: 42 additions & 0 deletions packages/contracts/contracts/libs/v0.8.x/PackedBools.sol
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// SPDX-License-Identifier: LGPL-3.0-only
// Created By: Art Blocks Inc.

pragma solidity ^0.8.0;

/**
* @dev Library for packing multiple boolean values into a single uint256.
* This is useful for storing a large number of bool values in a more compact
* way than solidify's native bool type, which uses 8 bytes per bool.
*
* The implementation is similar to a BitMap, but function names are more
* descriptive for packing and unpacking multiple bools.
*
* Note that the library may still be used in cases where less than 256 bools
* are needed to be packed. For example, if <= 8 bools are needed, casting may
* be used outside of the library for compatibility with any size uint.
*/
library PackedBools {
function getBool(
uint256 packedBool,
uint8 index
) internal pure returns (bool) {
uint256 mask = 1 << index;
return packedBool & mask != 0;
}

function setBoolTrue(
uint256 bitMap,
uint8 index
) internal pure returns (uint256 newBitMap) {
uint256 mask = 1 << index;
return bitMap | mask;
}

function setBoolFalse(
uint256 bitMap,
uint8 index
) internal pure returns (uint256 newBitMap) {
uint256 mask = 1 << index;
return bitMap & ~mask;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ pragma solidity ^0.8.0;
*/
library GenericMinterEventsLib {
/**
* @notice Generic project minter configuration event. Removes key `key`
* @notice Generic project minter configuration event. Removed key `key`
* for project `projectId`.
* @param projectId Project ID to remove key for
* @param projectId Project ID key was removed for
* @param coreContract Core contract address that projectId is on
* @param key Key to remove
* @param key Key removed
*/
event ConfigKeyRemoved(
uint256 indexed projectId,
Expand All @@ -26,12 +26,12 @@ library GenericMinterEventsLib {
);
/// BOOL
/**
* @notice Generic project minter configuration event. Sets value of key
* `key` to `value` for project `projectId`.
* @param projectId Project ID to set key for
* @notice Generic project minter configuration event. Value of key
* `key` was set to `value` for project `projectId`.
* @param projectId Project ID key was set for
* @param coreContract Core contract address that projectId is on
* @param key Key to set
* @param value Value to set key to
* @param key Key set
* @param value Value key was set to
*/
event ConfigValueSet(
uint256 indexed projectId,
Expand All @@ -41,12 +41,12 @@ library GenericMinterEventsLib {
);
/// UINT256
/**
* @notice Generic project minter configuration event. Sets value of key
* `key` to `value` for project `projectId`.
* @param projectId Project ID to set key for
* @notice Generic project minter configuration event. Value of key
* `key` was set to `value` for project `projectId`.
* @param projectId Project ID key was set for
* @param coreContract Core contract address that projectId is on
* @param key Key to set
* @param value Value to set key to
* @param key Key set
* @param value Value key was set to
*/
event ConfigValueSet(
uint256 indexed projectId,
Expand All @@ -55,12 +55,12 @@ library GenericMinterEventsLib {
uint256 value
);
/**
* @notice Generic project minter configuration event. Adds value `value`
* @notice Generic project minter configuration event. Added value `value`
* to the set of uint256 at key `key` for project `projectId`.
* @param projectId Project ID to set key for
* @param projectId Project ID key was set for
* @param coreContract Core contract address that projectId is on
* @param key Key to modify
* @param value Value to add to the key's set
* @param key Key modified
* @param value Value added to the key's set
*/
event ConfigValueAddedToSet(
uint256 indexed projectId,
Expand All @@ -69,11 +69,11 @@ library GenericMinterEventsLib {
uint256 value
);
/**
* @notice Generic project minter configuration event. Removes value
* @notice Generic project minter configuration event. Removed value
* `value` to the set of uint256 at key `key` for project `projectId`.
* @param projectId Project ID to set key for
* @param projectId Project ID key was set for
* @param coreContract Core contract address that projectId is on
* @param key Key to modify
* @param key Key modified
* @param value Value removed from the key's set
*/
event ConfigValueRemovedFromSet(
Expand All @@ -84,12 +84,12 @@ library GenericMinterEventsLib {
);
/// ADDRESS
/**
* @notice Generic project minter configuration event. Sets value of key
* `key` to `value` for project `projectId`.
* @param projectId Project ID to set key for
* @notice Generic project minter configuration event. Value of key
* `key` was set to `value` for project `projectId`.
* @param projectId Project ID key was set for
* @param coreContract Core contract address that projectId is on
* @param key Key to set
* @param value Value to set key to
* @param key Key set
* @param value Value key was set to
*/
event ConfigValueSet(
uint256 indexed projectId,
Expand All @@ -98,12 +98,12 @@ library GenericMinterEventsLib {
address value
);
/**
* @notice Generic project minter configuration event. Adds value `value`
* @notice Generic project minter configuration event. Added value `value`
* to the set of addresses at key `key` for project `projectId`.
* @param projectId Project ID to set key for
* @param projectId Project ID key was set for
* @param coreContract Core contract address that projectId is on
* @param key Key to modify
* @param value Value to add to the key's set
* @param key Key modified
* @param value Value added to the key's set
*/
event ConfigValueAddedToSet(
uint256 indexed projectId,
Expand All @@ -112,11 +112,11 @@ library GenericMinterEventsLib {
address value
);
/**
* @notice Generic project minter configuration event. Removes value
* @notice Generic project minter configuration event. Removed value
* `value` to the set of addresses at key `key` for project `projectId`.
* @param projectId Project ID to set key for
* @param projectId Project ID key was set for
* @param coreContract Core contract address that projectId is on
* @param key Key to modify
* @param key Key modified
* @param value Value removed from the key's set
*/
event ConfigValueRemovedFromSet(
Expand All @@ -127,12 +127,12 @@ library GenericMinterEventsLib {
);
/// BYTES32
/**
* @notice Generic project minter configuration event. Sets value of key
* `key` to `value` for project `projectId`.
* @param projectId Project ID to set key for
* @notice Generic project minter configuration event. Value of key
* `key` was set to `value` for project `projectId`.
* @param projectId Project ID key was set for
* @param coreContract Core contract address that projectId is on
* @param key Key to set
* @param value Value to set key to
* @param key Key set
* @param value Value key was set to
*/
event ConfigValueSet(
uint256 indexed projectId,
Expand All @@ -141,12 +141,12 @@ library GenericMinterEventsLib {
bytes32 value
);
/**
* @notice Generic project minter configuration event. Adds value `value`
* @notice Generic project minter configuration event. Added value `value`
* to the set of bytes32 at key `key` for project `projectId`.
* @param projectId Project ID to set key for
* @param projectId Project ID key was set for
* @param coreContract Core contract address that projectId is on
* @param key Key to modify
* @param value Value to add to the key's set
* @param key Key modified
* @param value Value added to the key's set
*/
event ConfigValueAddedToSet(
uint256 indexed projectId,
Expand All @@ -155,11 +155,11 @@ library GenericMinterEventsLib {
bytes32 value
);
/**
* @notice Generic project minter configuration event. Removes value
* @notice Generic project minter configuration event. Removed value
* `value` to the set of bytes32 at key `key` for project `projectId`.
* @param projectId Project ID to set key for
* @param projectId Project ID key was set for
* @param coreContract Core contract address that projectId is on
* @param key Key to modify
* @param key Key modified
* @param value Value removed from the key's set
*/
event ConfigValueRemovedFromSet(
Expand Down
Loading
Loading