Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@thirdweb-dev/src/Module.sol";
import "@thirdweb-dev/src/Role.sol";
contract BOPToken is Module {
// --- State Variables ---
address public charityWallet;
uint256 public transactionFeePercentage; // In basis points (e.g., 250 = 2.5%)
uint256 public burnPercentage; // In basis points
uint256 public charityPercentage; // In basis points
uint256 public maxTransactionAmount; // Maximum tokens allowed per transaction
// Register callback functions
config.callbackFunctions[0] = CallbackFunction(this.beforeTransfer.selector);
}
PR-Codex overview
This PR focuses on refactoring the
CounterModulecontract into a more versatileBOPTokenModule, enhancing its functionality with a new storage library and additional features for managing token transactions, fees, and governance.Detailed summary
CounterModuletoBOPTokenModule.TokenStoragelibrary for token-related data management.TransferandApproval.balanceOfandallowancefunctions for token balance management.getModuleConfigto include new callback and fallback functions.