harb/services/txnBot/README.md

44 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

2025-09-23 19:24:05 +02:00
# txnBot
2024-09-11 12:59:35 +02:00
2025-09-23 19:24:05 +02:00
Automation worker that monitors staking positions and calls `recenter()` / `payTax()` when profitable.
## Environments
The bot supports four environments shared across the stack:
2025-09-23 19:24:05 +02:00
- `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`
2025-09-23 19:24:05 +02:00
- `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.
2025-09-23 19:24:05 +02:00
## 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.