Redundancy within the constructor

What's the use of redeclaring the collectionSize_ and maxBatchSize_ within
ERC721A("Azuki", "AZUKI"), when the constructor already has both initialized? It makes no sense to me.

constructor(
    uint256 maxBatchSize_,
    uint256 collectionSize_,
    uint256 amountForAuctionAndDev_,
    uint256 amountForDevs_
  ) ERC721A("Azuki", "AZUKI", maxBatchSize_, collectionSize_) {
    maxPerAddressDuringMint = maxBatchSize_;
    amountForAuctionAndDev = amountForAuctionAndDev_;
    amountForDevs = amountForDevs_;
    require(
      amountForAuctionAndDev_ <= collectionSize_,
      "larger collection size needed"
    );
  }

In the latest ERC721A contract, the constructor has only two parameters: name and symbol.

forge install chiru-labs/ERC721A --no-commit
Installed ERC721A v4.3.0

constructor(string memory name_, string memory symbol_) {
    _name = name_;
    _symbol = symbol_;
    _currentIndex = _startTokenId();

    if (_sequentialUpTo() < _startTokenId()) _revert(SequentialUpToTooSmall.selector);
}
2 Likes