- Add Foundry project configuration (foundry.toml, foundry.lock) - Add Solidity contracts (TokenFactory138, BridgeVault138, ComplianceRegistry, etc.) - Add API definitions (OpenAPI, GraphQL, gRPC, AsyncAPI) - Add comprehensive test suite (unit, integration, fuzz, invariants) - Add API services (REST, GraphQL, orchestrator, packet service) - Add documentation (ISO20022 mapping, runbooks, adapter guides) - Add development tools (RBC tool, Swagger UI, mock server) - Update OpenZeppelin submodules to v5.0.0
API Development Tools
This directory contains development tools for the eMoney Token Factory API.
Tools
OpenAPI Generator
Generates SDKs and Postman collections from OpenAPI specifications.
cd openapi-generator
pnpm install
pnpm run generate:typescript
pnpm run generate:python
pnpm run generate:go
pnpm run generate:java
pnpm run generate:postman
Or use the shell script:
./generate-sdks.sh
Mock Servers
Mock servers for testing without full infrastructure.
REST API Mock (Prism)
cd mock-server
pnpm install
pnpm run start:rest
Mocks all REST endpoints based on OpenAPI spec.
GraphQL Mock
npm run start:graphql
Mocks GraphQL queries, mutations, and subscriptions.
Rail Simulator
npm run start:rail
Simulates Fedwire/SWIFT/SEPA/RTGS responses.
Packet Simulator
npm run start:packet
Simulates AS4 receipts and email acknowledgements.
Start All
npm run start:all
Starts all mock servers concurrently.
SDK Templates
Templates and examples for SDK implementations:
typescript-sdk-template/- TypeScript SDK structure- Generated SDKs from OpenAPI (after running generator)
Usage
Generating SDKs
- Ensure OpenAPI spec is up to date
- Run generator:
cd openapi-generator && pnpm run generate:typescript - SDKs will be generated in
sdk-templates/directory - Copy to separate repositories for publishing
Using Mock Servers
- Start mock servers:
cd mock-server && pnpm run start:all - Point tests to mock endpoints
- Use for local development and CI/CD
CI/CD Integration
Generate SDKs in CI
- name: Generate SDKs
run: |
cd api/tools/openapi-generator
pnpm install
pnpm run generate:typescript
pnpm run generate:python
Run Contract Tests
- name: Validate OpenAPI Contract
run: |
pnpm test -- test/api/contract