Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands - CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround - CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check - NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere - MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates - LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference Co-authored-by: Cursor <cursoragent@cursor.com>
201 lines
4.8 KiB
YAML
201 lines
4.8 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: Multi-Chain Execution and Mirroring API
|
|
version: 0.1.0
|
|
|
|
servers:
|
|
- url: http://localhost:3001
|
|
|
|
paths:
|
|
/v1/routes/chain138-to-usdtz:
|
|
post:
|
|
summary: Get route plans for Chain138 to Tezos USDtz
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
source_chain_id: { type: integer, default: 138 }
|
|
source_asset: { type: string }
|
|
source_amount: { type: string }
|
|
destination_tezos_address: { type: string }
|
|
max_slippage_bps: { type: integer }
|
|
max_total_fees: { type: string }
|
|
prefer_non_custodial: { type: boolean }
|
|
responses:
|
|
'200':
|
|
description: Route plans
|
|
'400':
|
|
description: Validation error
|
|
|
|
/v1/intents:
|
|
post:
|
|
summary: Create intent
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [type, chain_from, chain_to, asset_in, asset_out, amount]
|
|
properties:
|
|
type: { type: string }
|
|
chain_from: { type: integer }
|
|
chain_to: { type: integer }
|
|
asset_in: { type: string }
|
|
asset_out: { type: string }
|
|
amount: { type: string }
|
|
idempotency_key: { type: string }
|
|
responses:
|
|
'201':
|
|
description: Intent created
|
|
'400':
|
|
description: Validation error
|
|
|
|
/v1/intents/{intentId}/execute:
|
|
post:
|
|
summary: Execute intent
|
|
parameters:
|
|
- name: intentId
|
|
in: path
|
|
required: true
|
|
schema: { type: string }
|
|
responses:
|
|
'202':
|
|
description: Execution started
|
|
'400':
|
|
description: Bad request
|
|
|
|
/v1/executions/{executionId}:
|
|
get:
|
|
summary: Get execution status
|
|
parameters:
|
|
- name: executionId
|
|
in: path
|
|
required: true
|
|
schema: { type: string }
|
|
responses:
|
|
'200':
|
|
description: Execution
|
|
'404':
|
|
description: Not found
|
|
|
|
/v1/tx/{chainId}/{txHash}:
|
|
get:
|
|
summary: Get normalized receipt and logs
|
|
parameters:
|
|
- name: chainId
|
|
in: path
|
|
required: true
|
|
schema: { type: integer }
|
|
- name: txHash
|
|
in: path
|
|
required: true
|
|
schema: { type: string }
|
|
responses:
|
|
'200':
|
|
description: Receipt and logs
|
|
'404':
|
|
description: Not found
|
|
|
|
/v1/mirror/commit:
|
|
post:
|
|
summary: Trigger Merkle commit
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required: [chain_id, leaves]
|
|
properties:
|
|
chain_id: { type: integer }
|
|
leaves: { type: array }
|
|
uri: { type: string }
|
|
responses:
|
|
'201':
|
|
description: Commit created
|
|
'400':
|
|
description: Bad request
|
|
|
|
/v1/mirror/commits/{commitId}:
|
|
get:
|
|
summary: Get commit metadata
|
|
parameters:
|
|
- name: commitId
|
|
in: path
|
|
required: true
|
|
schema: { type: string }
|
|
responses:
|
|
'200':
|
|
description: Commit
|
|
'404':
|
|
description: Not found
|
|
|
|
/v1/mirror/proof:
|
|
get:
|
|
summary: Get Merkle proof for tx
|
|
parameters:
|
|
- name: chain_id
|
|
in: query
|
|
required: true
|
|
schema: { type: integer }
|
|
- name: tx_hash
|
|
in: query
|
|
required: true
|
|
schema: { type: string }
|
|
responses:
|
|
'200':
|
|
description: Leaf, proof, root
|
|
'404':
|
|
description: No proof found
|
|
|
|
/v1/health:
|
|
get:
|
|
summary: Health and circuit breaker status
|
|
responses:
|
|
'200':
|
|
description: ok or degraded
|
|
|
|
/v1/metrics:
|
|
get:
|
|
summary: Prometheus metrics
|
|
responses:
|
|
'200':
|
|
description: text/plain
|
|
|
|
/v1/admin/policies:
|
|
post:
|
|
summary: Update policies (stub, protected)
|
|
responses:
|
|
'200':
|
|
description: Accepted
|
|
'401':
|
|
description: Unauthorized
|
|
|
|
/v1/admin/keys/rotate:
|
|
post:
|
|
summary: Rotate keys (stub, protected)
|
|
responses:
|
|
'200':
|
|
description: Accepted
|
|
'401':
|
|
description: Unauthorized
|
|
|
|
/v1/admin/circuit-breaker/on:
|
|
post:
|
|
summary: Force circuit breaker open (protected)
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
'401':
|
|
description: Unauthorized
|
|
|
|
/v1/admin/circuit-breaker/off:
|
|
post:
|
|
summary: Force circuit breaker closed (protected)
|
|
responses:
|
|
'200':
|
|
description: OK
|
|
'401':
|
|
description: Unauthorized
|