Files
defiQUG 651ff4f7eb Initial project setup: Add contracts, API definitions, tests, and documentation
- 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
2025-12-12 10:59:41 -08:00
..

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

  1. Ensure OpenAPI spec is up to date
  2. Run generator: cd openapi-generator && pnpm run generate:typescript
  3. SDKs will be generated in sdk-templates/ directory
  4. Copy to separate repositories for publishing

Using Mock Servers

  1. Start mock servers: cd mock-server && pnpm run start:all
  2. Point tests to mock endpoints
  3. 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