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:
130
api/packages/openapi/v1/paths/mappings.yaml
Normal file
130
api/packages/openapi/v1/paths/mappings.yaml
Normal file
@@ -0,0 +1,130 @@
|
||||
paths:
|
||||
/mappings/account-wallet/link:
|
||||
post:
|
||||
summary: Link account to wallet
|
||||
description: Create a mapping between an account reference and a wallet reference
|
||||
operationId: linkAccountWallet
|
||||
tags:
|
||||
- Mappings
|
||||
security:
|
||||
- oauth2:
|
||||
- mappings:write
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '../components/schemas.yaml#/components/schemas/LinkAccountWalletRequest'
|
||||
responses:
|
||||
'201':
|
||||
description: Mapping created
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
accountRefId:
|
||||
type: string
|
||||
walletRefId:
|
||||
type: string
|
||||
linked:
|
||||
type: boolean
|
||||
createdAt:
|
||||
type: string
|
||||
format: date-time
|
||||
|
||||
/mappings/account-wallet/unlink:
|
||||
post:
|
||||
summary: Unlink account from wallet
|
||||
description: Remove a mapping between an account reference and a wallet reference
|
||||
operationId: unlinkAccountWallet
|
||||
tags:
|
||||
- Mappings
|
||||
security:
|
||||
- oauth2:
|
||||
- mappings:write
|
||||
requestBody:
|
||||
required: true
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
required:
|
||||
- accountRefId
|
||||
- walletRefId
|
||||
properties:
|
||||
accountRefId:
|
||||
type: string
|
||||
pattern: '^0x[a-fA-F0-9]{64}$'
|
||||
walletRefId:
|
||||
type: string
|
||||
pattern: '^0x[a-fA-F0-9]{64}$'
|
||||
responses:
|
||||
'200':
|
||||
description: Mapping removed
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
accountRefId:
|
||||
type: string
|
||||
walletRefId:
|
||||
type: string
|
||||
unlinked:
|
||||
type: boolean
|
||||
|
||||
/mappings/accounts/{accountRefId}/wallets:
|
||||
get:
|
||||
summary: Get wallets for account
|
||||
description: Get all wallet references linked to an account reference
|
||||
operationId: getAccountWallets
|
||||
tags:
|
||||
- Mappings
|
||||
security:
|
||||
- oauth2:
|
||||
- mappings:read
|
||||
parameters:
|
||||
- $ref: '../components/parameters.yaml#/components/parameters/AccountRefId'
|
||||
responses:
|
||||
'200':
|
||||
description: List of wallet references
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
accountRefId:
|
||||
type: string
|
||||
wallets:
|
||||
type: array
|
||||
items:
|
||||
$ref: '../components/schemas.yaml#/components/schemas/WalletRef'
|
||||
|
||||
/mappings/wallets/{walletRefId}/accounts:
|
||||
get:
|
||||
summary: Get accounts for wallet
|
||||
description: Get all account references linked to a wallet reference
|
||||
operationId: getWalletAccounts
|
||||
tags:
|
||||
- Mappings
|
||||
security:
|
||||
- oauth2:
|
||||
- mappings:read
|
||||
parameters:
|
||||
- $ref: '../components/parameters.yaml#/components/parameters/WalletRefId'
|
||||
responses:
|
||||
'200':
|
||||
description: List of account references
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
walletRefId:
|
||||
type: string
|
||||
accounts:
|
||||
type: array
|
||||
items:
|
||||
$ref: '../components/schemas.yaml#/components/schemas/AccountRef'
|
||||
|
||||
Reference in New Issue
Block a user