Skip to content

Commit

Permalink
address _setFlags() comment
Browse files Browse the repository at this point in the history
  • Loading branch information
0xNuggan authored and Zitzak committed Jan 15, 2025
1 parent 1993099 commit dc7cb0d
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 23 deletions.
27 changes: 9 additions & 18 deletions src/modules/logicModule/abstracts/ERC20PaymentClientBase_v1.sol
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,7 @@ abstract contract ERC20PaymentClientBase_v1 is
internal
onlyInitializing
{
uint amountOfFlags = flags_.length;
if (amountOfFlags > type(uint8).max) {
revert Module__ERC20PaymentClientBase_v1__FlagAmountTooHigh();
}
_setFlags(uint8(flags_.length), flags_);
_setFlags(flags_);
}

/// @dev Adds a new {PaymentOrder} to the list of outstanding orders.
Expand Down Expand Up @@ -149,28 +145,23 @@ abstract contract ERC20PaymentClientBase_v1 is
}

/// @dev Sets the flags for the PaymentOrders.
/// @param flagCount_ The number of flags.
/// @param flags_ The flags, represented as an array of uint8 containing
/// the flag IDs between 0 and 255.
function _setFlags(uint8 flagCount_, uint8[] memory flags_)
internal
virtual
{
if (flagCount_ != flags_.length) {
revert
Module__ERC20PaymentClientBase__MismatchBetweenFlagCountAndArrayLength(
flagCount_, flags_.length
);
function _setFlags(uint8[] memory flags_) internal virtual {
uint amountOfFlags = flags_.length;

if (amountOfFlags > type(uint8).max) {
revert Module__ERC20PaymentClientBase_v1__FlagAmountTooHigh();
}

_flagCount = flagCount_;
_flagCount = uint8(amountOfFlags);

_flags = 0;
for (uint8 i = 0; i < flagCount_; i++) {
for (uint8 i = 0; i < amountOfFlags; i++) {
_flags |= bytes32((1 << flags_[i]));
}

emit FlagsSet(flagCount_, _flags);
emit FlagsSet(_flagCount, _flags);
}

//--------------------------------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@ contract ERC20PaymentClientBaseV1Test is ModuleTest {
flags[i] = uint8(i);
}

paymentClient.exposed_setFlags(flagCount_, flags);
paymentClient.exposed_setFlags(flags);

assertEq(paymentClient.getFlagCount(), flagCount_);
assertEq(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,8 @@ contract ERC20PaymentClientBaseV1AccessMock is ERC20PaymentClientBase_v1 {
_outstandingTokenAmounts[token] = amount;
}

function exposed_setFlags(uint8 flagCount_, uint8[] memory flags_)
external
{
_setFlags(flagCount_, flags_);
function exposed_setFlags(uint8[] memory flags_) external {
_setFlags(flags_);
}

function exposed_assemblePaymentConfig(bytes32[] memory flagValues_)
Expand Down

0 comments on commit dc7cb0d

Please sign in to comment.