The Symmio token contract is an ERC20 token contract with additional capabilities:
DEFAULT_ADMIN_ROLE
: Full control, typically assigned to a timelock contract.MINTER_ROLE
: Permission to mint tokens.
The SymmAllocationClaimer contract manages user token allocations and facilitates claiming processes.
DEFAULT_ADMIN_ROLE
: Full control over the contract.SETTER_ROLE
: Permission to set user allocations and related parameters.PAUSER_ROLE
: Permission to pause the contract.UNPAUSER_ROLE
: Permission to unpause the contract.MINTER_ROLE
: Permission to claim admin-allocated tokens.
Ensure you have the following installed:
-
Clone the repository:
git clone <repository-url> cd <repository-name>
-
Install dependencies:
npm install
- Create a
.env
file in the project root to store environment variables such as private keys. Example:PRIVATE_KEY=your-private-key
Compile the contracts using Hardhat:
npx hardhat compile
Run the tests to ensure the contracts function as expected:
npx hardhat test