- CCIP/trustless bridge contracts, GRU tokens, DEX/PMM tests, reserve vault. - Token-aggregation service routes, planner, chain config, relay env templates. - Config snapshots and multi-chain deployment markdown updates. - gitignore services/btc-intake/dist/ (tsc output); do not track dist. Run forge build && forge test before deploy (large solc graph). Made-with: Cursor
140 lines
3.1 KiB
YAML
140 lines
3.1 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: eMoney Token Factory Control Plane API
|
|
version: 1.0.0
|
|
description: Reference contract for token issuance, lien management, compliance, ISO messaging, and bridge operations.
|
|
x-idempotency:
|
|
- POST /tokens
|
|
- POST /liens
|
|
- POST /iso/outbound
|
|
- POST /bridge/lock
|
|
- POST /bridge/unlock
|
|
paths:
|
|
/tokens:
|
|
get:
|
|
summary: List tokens
|
|
responses:
|
|
'200':
|
|
description: Token list returned
|
|
post:
|
|
summary: Deploy token
|
|
responses:
|
|
'201':
|
|
description: Token deployed
|
|
security:
|
|
- oauth2: []
|
|
- mtls: []
|
|
/tokens/{code}:
|
|
get:
|
|
summary: Get token by code
|
|
parameters:
|
|
- name: code
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Token returned
|
|
/liens:
|
|
post:
|
|
summary: Place lien
|
|
responses:
|
|
'201':
|
|
description: Lien created
|
|
security:
|
|
- oauth2: []
|
|
- mtls: []
|
|
/liens/{lienId}:
|
|
get:
|
|
summary: Get lien by identifier
|
|
parameters:
|
|
- name: lienId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Lien returned
|
|
/compliance/accounts/{accountRefId}:
|
|
get:
|
|
summary: Get account compliance state
|
|
parameters:
|
|
- name: accountRefId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Compliance record returned
|
|
/triggers:
|
|
get:
|
|
summary: List triggers
|
|
responses:
|
|
'200':
|
|
description: Trigger list returned
|
|
/triggers/{triggerId}:
|
|
get:
|
|
summary: Get trigger by identifier
|
|
parameters:
|
|
- name: triggerId
|
|
in: path
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
'200':
|
|
description: Trigger returned
|
|
/iso/inbound:
|
|
post:
|
|
summary: Receive inbound ISO 20022 message
|
|
responses:
|
|
'202':
|
|
description: Message accepted
|
|
/iso/outbound:
|
|
post:
|
|
summary: Submit outbound ISO 20022 message
|
|
responses:
|
|
'201':
|
|
description: Outbound trigger created
|
|
security:
|
|
- oauth2: []
|
|
- mtls: []
|
|
/packets:
|
|
get:
|
|
summary: List payment packets
|
|
responses:
|
|
'200':
|
|
description: Packet list returned
|
|
/bridge/lock:
|
|
post:
|
|
summary: Lock assets for bridge dispatch
|
|
responses:
|
|
'201':
|
|
description: Bridge lock recorded
|
|
security:
|
|
- oauth2: []
|
|
- mtls: []
|
|
/bridge/unlock:
|
|
post:
|
|
summary: Unlock assets after settlement
|
|
responses:
|
|
'201':
|
|
description: Bridge unlock recorded
|
|
security:
|
|
- oauth2: []
|
|
- mtls: []
|
|
components:
|
|
securitySchemes:
|
|
oauth2:
|
|
type: oauth2
|
|
flows:
|
|
clientCredentials:
|
|
tokenUrl: https://auth.example.invalid/oauth/token
|
|
scopes:
|
|
control-plane: Access the control plane API
|
|
mtls:
|
|
type: mutualTLS
|