Test utility for [TestStableToken](https://github.com/logos-messaging/logos-messaging-rlnv2-contract/blob/main/test/TestStableToken.sol) used in the Logos Messaging RLN v2 contract tests.
Given the token contract address and an Ethereum JSON-RPC endpoint, it allows minting and transferring TestStableToken tokens.
Given the contract address, it can also query allowances.
Details about the use of TestStableToken can be found in the [TST README](https://github.com/logos-messaging/logos-messaging-rlnv2-contract/blob/main/test/README.md)
## Configuration
Set the following environment variables (or use a `.env` file):
-`TOKEN_CONTRACT_ADDRESS`: The token contract proxy address
-`RLN_CONTRACT_ADDRESS`: The RLN contract proxy address
-`RLN_RELAY_ETH_CLIENT_ADDRESS`: The Ethereum JSON-RPC endpoint
-`ETH_FROM`: The default user account address
-`PRIVATE_KEY`: Private key for write operations (transfer, mint)
## Usage
The `interactions.py` script provides a CLI interface for all token operations.
All write commands accept an optional `--private-key` flag to specify a custom private key. If not provided, the `PRIVATE_KEY` environment variable will be used.
Transfer tokens:
```bash
python3 tools/token_management/interactions.py transfer 0xRecipient 100.5
python3 tools/token_management/interactions.py transfer 0xRecipient 100.5 --private-key 0xYourPrivateKey
```
Mint tokens:
```bash
python3 tools/token_management/interactions.py mint 0xRecipient 1000
python3 tools/token_management/interactions.py mint 0xRecipient 1000 --private-key 0xYourPrivateKey