- 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
46 lines
1.3 KiB
Bash
Executable File
46 lines
1.3 KiB
Bash
Executable File
#!/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!"
|
|
|