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
This commit is contained in:
defiQUG
2025-12-12 10:59:41 -08:00
parent 26b5aaf932
commit 651ff4f7eb
281 changed files with 24813 additions and 2 deletions

View File

@@ -0,0 +1,45 @@
#!/bin/bash
# Generate SDKs from OpenAPI specification
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
API_DIR="$SCRIPT_DIR/../.."
OPENAPI_SPEC="$API_DIR/packages/openapi/v1/openapi.yaml"
echo "Generating SDKs from OpenAPI specification..."
# TypeScript SDK
echo "Generating TypeScript SDK..."
pnpm exec @openapitools/openapi-generator-cli generate \
-i "$OPENAPI_SPEC" \
-g typescript-axios \
-o "$API_DIR/sdk-templates/typescript" \
--additional-properties=npmName=@emoney/sdk-js,npmVersion=1.0.0,withInterfaces=true
# Python SDK
echo "Generating Python SDK..."
pnpm exec @openapitools/openapi-generator-cli generate \
-i "$OPENAPI_SPEC" \
-g python \
-o "$API_DIR/sdk-templates/python" \
--additional-properties=packageName=emoney_sdk,packageVersion=1.0.0
# Go SDK
echo "Generating Go SDK..."
pnpm exec @openapitools/openapi-generator-cli generate \
-i "$OPENAPI_SPEC" \
-g go \
-o "$API_DIR/sdk-templates/go" \
--additional-properties=packageName=emoney,packageVersion=1.0.0
# Java SDK
echo "Generating Java SDK..."
pnpm exec @openapitools/openapi-generator-cli generate \
-i "$OPENAPI_SPEC" \
-g java \
-o "$API_DIR/sdk-templates/java" \
--additional-properties=groupId=com.emoney,artifactId=emoney-sdk,packageVersion=1.0.0
echo "SDK generation complete!"

View File

@@ -0,0 +1,20 @@
{
"name": "@emoney/openapi-generator",
"version": "1.0.0",
"description": "OpenAPI to SDK generation tooling",
"scripts": {
"generate:typescript": "pnpm exec openapi-generator-cli generate -i ../../packages/openapi/v1/openapi.yaml -g typescript-axios -o ../../sdk-templates/typescript",
"generate:python": "pnpm exec openapi-generator-cli generate -i ../../packages/openapi/v1/openapi.yaml -g python -o ../../sdk-templates/python",
"generate:go": "pnpm exec openapi-generator-cli generate -i ../../packages/openapi/v1/openapi.yaml -g go -o ../../sdk-templates/go",
"generate:java": "pnpm exec openapi-generator-cli generate -i ../../packages/openapi/v1/openapi.yaml -g java -o ../../sdk-templates/java",
"generate:postman": "pnpm exec openapi2postmanv2 -s ../../packages/openapi/v1/openapi.yaml -o ../../packages/postman/eMoney-API.postman_collection.json"
},
"dependencies": {
"@openapitools/openapi-generator-cli": "^2.7.0",
"openapi-to-postmanv2": "^4.24.0"
},
"devDependencies": {
"@types/node": "^20.10.0"
}
}