A TypeScript AWS Lambda bot that runs on a schedule to monitor Curve pools.
- Node.js v18 or later
- AWS CLI configured with appropriate credentials
- AWS CDK CLI installed globally (
npm install -g aws-cdk)
- Clone the repository:
git clone [your-repo-url]
cd curve-pool-alerts- Install dependencies:
npm install- Build the project:
npm run build- Configure the application:
# Copy the example config file
cp src/lambda/config.example.ts src/lambda/config.ts
# Edit the config file with your settings
# Replace YOUR_SLACK_WEBHOOK_URL with your actual Slack webhook URL
# Customize the chains and tokens you want to monitorRun the test suite:
npm testThe project includes:
- Unit tests for individual components
- Integration tests with mocked external services
- Live integration tests against the Curve API
The project uses ESLint with TypeScript support for code quality.
- Run linting check:
npm run lint- Fix auto-fixable issues:
npm run lint:fix- Build the project:
npm run build - Watch for changes:
npm run watch - Synthesize CloudFormation template:
npm run synth - Compare deployed stack with current state:
npm run diff
- Make sure you have AWS credentials configured:
aws configure- Deploy the stack:
npm run deploy.
├── src/
│ └── lambda/ # Lambda function code
├── lib/ # CDK infrastructure code
├── bin/ # CDK app entry point
├── dist/ # Compiled JavaScript
└── cdk.out/ # CDK output