Releases: layerx-labs/chain-cast
Releases · layerx-labs/chain-cast
1.2.1
Added
- DSL Compiler (castc): YAML-based domain-specific language for pipeline definitions
- New CLI tool (
castc) with compile, validate, and decompile commands - YAML parser for human-readable pipeline configurations
- AST-based compiler with comprehensive validation
- Decompiler to convert JSON programs back to YAML
- Template transformers for variable interpolation
- Comprehensive DSL documentation (
doc/DSL-GUIDE.md) - Full test suite for DSL components (cli, compiler, decompiler, parser, validator, transformers)
- New CLI tool (
- New dependencies:
commanderfor CLI,yamlfor YAML parsing - New example:
examples/lx-token-monitor.jsonfor $LX token monitoring on Ethereum mainnet
Changed
- Docker: Changed from Alpine to Debian base image for Prisma/OpenSSL compatibility
- Updated dependencies to latest semver-compatible versions:
typescript: 5.0.4 → 5.9.3viem: 2.21.0 → 2.43.5zod: 3.21.4 → 3.25.76@elastic/elasticsearch: 8.8.1 → 8.19.1axios: 1.4.0 → 1.13.2graphql: 16.6.0 → 16.12.0- And other minor updates
- Updated GETTING-STARTED.md to use Ethereum mainnet ($LX token) instead of Ganache
- Updated README with DSL programming guide reference and custom pipelines section
- Updated README with universal event support clarification
- Updated CLAUDE.md with local development instructions (Anvil/Hardhat)
Removed
- Ganache dependency and related scripts (
ganache:dev,setup:ganache)
1.2.0
Added
- Comprehensive unit test suite with 80%+ coverage
- VM and instruction tests
- GraphQL resolver tests
- Service layer tests (ChainCast Manager, Secret Manager)
- Utility function tests
- Test mocks for external services (Prisma, viem, logging)
- Test fixtures for casts, events, and programs
- New
viem-client.tsmodule for blockchain interactions - Object utility helpers in
src/lib/object.ts - Webhook integration for swap events (TKAI-BEPRO to Zapier)
- CLAUDE.md development guide for AI assistants
- Governance presentation documentation
Changed
- Runtime Migration: Migrated from Node.js to Bun for improved performance
- Replaced
ts-node-devwithbun --watch - Updated all scripts to use Bun runtime
- Replaced Jest with Bun's built-in test framework
- Replaced
- Blockchain Library: Replaced ethers.js and @taikai/dappkit with viem
- TypeScript-first approach with better type safety
- Improved performance and smaller bundle size
- Updated Contract Event Retriever to use viem clients
- Updated Contract Listener to use viem
- Linting/Formatting: Migrated from ESLint + Prettier to Biome
- Single configuration file (
biome.json) - 10-100x faster linting and formatting
- Auto-organized imports
- Removed 14 ESLint/Prettier dependencies
- Single configuration file (
- CI/CD: Upgraded GitHub Actions
- Updated
setup-bunto v2 - Updated
codecov-actionto v5 - Renamed workflow from
node.js.ymltoci-cd.yml
- Updated
- Improved TypeScript configuration with stricter settings
- Enhanced error handling with proper type annotations
- Refactored logging service for better modularity
Removed
- Node.js-specific dependencies (ts-node, ts-node-dev, tsconfig-paths)
- ESLint and Prettier configuration files and dependencies
- Jest configuration and dependencies
contract-listener-factory.ts(consolidated into contract-listener)model-factory.ts(no longer needed)@taikai/dappkitdependencypackage-lock.json(replaced withbun.lock)
Fixed
- TypeScript catch clause type annotations (
catch (e: unknown))