harb/services/txnBot/README.md

43 lines
1.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# txnBot
Automation worker that monitors staking positions and calls `recenter()` / `payTax()` when profitable.
## Environments
The bot supports four environments shared across the stack:
- `BASE_SEPOLIA_LOCAL_FORK` Anvil fork of Base Sepolia started by `scripts/dev.sh`
- `BASE_MAINNET_LOCAL_FORK` Anvil fork of Base mainnet started by `scripts/dev.sh`
- `BASE_SEPOLIA` Public Base Sepolia testnet
- `BASE` Base mainnet
Set `ENVIRONMENT` alongside the other variables listed below to target the desired chain.
## Configuration
Create an environment file (e.g. `.env`) with:
```
ENVIRONMENT=BASE_SEPOLIA
PROVIDER_URL=<rpc-url>
PRIVATE_KEY=<hex-private-key>
LM_CONTRACT_ADDRESS=<liquidity-manager-address>
STAKE_CONTRACT_ADDRESS=<stake-contract-address>
GRAPHQL_ENDPOINT=<ponder-graphql-url>
# Optional: PORT=43069
```
`scripts/dev.sh start` generates these values automatically for the local fork, writes them to a temporary file, and keeps the process running in the background.
## Local Run
```
npm install
npm start
```
The service exposes a lightweight status endpoint at `GET /status` reporting uptime, balances, and the most recent automation activity.
## Generate a New Operator Key
Run `npm run generate-key` to produce a fresh EOA. The command writes the private key and address as JSON log entries to `txnbot.log`. Be sure to rotate the log or move the credentials to a secure store immediately after use.