wormhole-explorer/blockchain-watcher/docs/asyncapi.yaml

284 lines
8.7 KiB
YAML

asyncapi: "2.6.0"
info:
title: Blockchain Watcher API
version: "0.0.1"
description: |
Platform service that allows to extract, transform and load data from different blockchains platforms.
servers:
staging-testnet:
url: notification-chain-events-dev-testnet.fifo
protocol: sns
staging-mainnet:
url: notification-chain-events-dev-mainnet.fifo
protocol: sns
prod-testnet:
url: notification-chain-events-prod-testnet.fifo
protocol: sns
prod-mainnet:
url: notification-chain-events-prod-mainnet.fifo
protocol: sns
defaultContentType: application/json
channels:
LogMessagePublished:
description: Wormhole core contract emitted event
subscribe:
message:
$ref: "#/components/messages/logMessagePublished"
EvmRedeemedTransactionFound:
description: Token bridge emitted event
subscribe:
message:
$ref: "#/components/messages/evmRedeemedTransactionFound"
TransferRedeemed:
description: Token bridge transfer redeem event
subscribe:
message:
$ref: "#/components/messages/transferRedeemed"
SolanaTransferRedeemed:
description: Token bridge emitted event
subscribe:
message:
$ref: "#/components/messages/solanaTransferRedeemed"
components:
messages:
logMessagePublished:
name: LogMessagePublished
title: LogMessagePublished
contentType: application/json
payload:
$ref: "#/components/schemas/logMessagePublished"
evmRedeemedTransactionFound:
name: EvmRedeemedTransactionFound
title: EvmRedeemedTransactionFound
contentType: application/json
payload:
$ref: "#/components/schemas/evmRedeemedTransactionFound"
examples:
- name: EvmRedeemedTransactionFound from Ethereum
payload:
name: "transfer-redeemed"
address: "wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb"
chainId: 2
txHash: "3FySmshUgVCM2N158oNYbeTfZt2typEU32c9ZxdAXiXURFHuTmeJHhc7cSUtqHdwAsbVWWvEsEddWNAKzkjVPSg2"
blockHeight: 234015120
blockTime: 1701724272
attributes:
blockHash: "0x1359819238ea89f49c20e42eb5603bf0541589d838d971984b60c7cdb391d9c2"
blockNumber: 0x11ec2bc
from: 0xfb070adcd21361a3946a0584dc84a7b89faa68e3
gas: 0x14485
gasPrice: xfc518561e
input: "0x9981509f000000000000"
maxFeePerGas: 0x1610f75b9a
maxPriorityFeePerGas: 0x5f5e100
methodsByAddress: MethodCompleteTransfer
name: transfer-redeemed
nonce: 0x1
r: 0xf5794b0970386d73b693b17f147fae0427db278e951e45465ac2c9835537e5a9
s: 0x6dccc8cfee216bc43a9d66525fa94905da234ad32d6cc3220845bef78f25dd42
status: completed
timestamp: 1702663079
to: 0x3ee18b2214aff97000d974cf647e7c347e8fa585
transactionIndex: 0x6f
type: 0x2
v: 0x1
value: 0x5b09cd3e5e90000
transferRedeemed:
name: TransferRedeemed
title: TransferRedeemed
contentType: application/json
payload:
$ref: "#/components/schemas/transferRedeemed"
examples:
- name: Transfer redeemed from Ethereum on Sui
payload:
name: "transfer-redeemed"
address: "0x26efee2b51c911237888e5dc6702868abca3c7ac12c53f76ef8eba0697695e3d"
chainId: 21
txHash: "ByTJkz9tV1cxkPYBk6XcfWGThWhsyeq3QCzFcTSG4Fwk"
blockHeight: 1706701700
blockTime: "25005997"
attributes:
from: "0xaf5a8efe63a4e53622efcbb981293b3ef01b7ce73ae3fbd72779e41f18d2a68a"
emitterChain: 2
emitterAddress: "0000000000000000000000003ee18b2214aff97000d974cf647e7c347e8fa585"
sequence: 206647
status: "completed"
solanaTransferRedeemed:
name: SolanaTransferRedeemed
title: SolanaTransferRedeemed
contentType: application/json
payload:
$ref: "#/components/schemas/solanaTransferRedeemed"
examples:
- name: SolanaTransferRedeemed from Ethereum
payload:
name: "transfer-redeemed"
address: "wormDTUJ6AWPNvk59vGQbDvGJmqbDTdgWgAqcLBCgUb"
chainId: 1
txHash: "3FySmshUgVCM2N158oNYbeTfZt2typEU32c9ZxdAXiXURFHuTmeJHhc7cSUtqHdwAsbVWWvEsEddWNAKzkjVPSg2"
blockHeight: 234015120
blockTime: 1701724272
attributes:
methodsByAddress: "0x1359819238ea89f49c20e42eb5603bf0541589d838d971984b60c7cdb391d9c2"
status: "completed"
emitterChain: 4
emitterAddress: "0000000000000000000000009dcf9d205c9de35334d646bee44b2d2859712a09"
sequence: 5185
protocol: "Token Bridge"
schemas:
base:
type: object
properties:
trackId:
type: string
source:
type: string
event:
type: string
version:
type: number
timestamp:
$ref: "#/components/schemas/sentAt"
chainEventBase:
type: object
properties:
chainId:
type: number
emitter:
type: string
txHash:
type: string
blockHeight:
type: number
blockTime:
$ref: "#/components/schemas/sentAt"
logMessagePublished:
allOf:
- $ref: "#/components/schemas/base"
type: object
properties:
data:
allOf:
- $ref: "#/components/schemas/chainEventBase"
type: object
properties:
attributes:
type: object
properties:
sender:
type: string
sequence:
type: number
nonce:
type: number
payload:
type: string
consistencyLevel:
type: number
transferRedeemed:
allOf:
- $ref: "#/components/schemas/base"
type: object
properties:
data:
type: object
allOf:
- $ref: "#/components/schemas/chainEventBase"
properties:
attributes:
type: object
properties:
from:
type: string
emitterChain:
type: number
emitterAddress:
type: string
sequence:
type: number
status:
type: string
evmRedeemedTransactionFound:
allOf:
- $ref: "#/components/schemas/base"
type: object
properties:
data:
type: object
allOf:
- $ref: "#/components/schemas/chainEventBase"
properties:
attributes:
type: object
properties:
name:
type: string
from:
type: string
to:
type: string
status:
type: string
blockNumber:
type: number
input:
type: string
methodsByAddress:
type: string
timestamp:
type: number
blockHash:
type: string
gas:
type: string
gasPrice:
type: string
maxFeePerGas:
type: string
maxPriorityFeePerGas:
type: string
nonce:
type: string
r:
type: string
s:
type: string
transactionIndex:
type: string
type:
type: string
v:
type: string
value:
type: string
solanaTransferRedeemed:
allOf:
- $ref: "#/components/schemas/base"
type: object
properties:
data:
type: object
allOf:
- $ref: "#/components/schemas/chainEventBase"
properties:
attributes:
type: object
properties:
methodsByAddress:
type: string
status:
type: string
emitterChain:
type: number
emitterAddress:
type: string
sequence:
type: number
protocol:
type: string
sentAt:
type: string
format: date-time
description: Date and time when the message was sent.