wormhole-explorer/api/docs/swagger.yaml

2616 lines
67 KiB
YAML
Raw Normal View History

basePath: /
definitions:
2023-09-26 11:02:57 -07:00
address.AddressOverview:
properties:
vaas:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/vaa.VaaDoc'
type: array
type: object
2023-09-26 11:02:57 -07:00
github_com_wormhole-foundation_wormhole-explorer_api_routes_guardian_guardian.GuardianSet:
properties:
addresses:
items:
type: string
type: array
index:
type: integer
type: object
governor.AvailableNotionalItemResponse:
properties:
bigTransactionSize:
type: string
chainId:
$ref: '#/definitions/vaa.ChainID'
notionalLimit:
type: string
remainingAvailableNotional:
type: string
type: object
governor.AvailableNotionalResponse:
properties:
entries:
items:
$ref: '#/definitions/governor.AvailableNotionalItemResponse'
type: array
type: object
governor.Emitter:
properties:
emitterAddress:
type: string
enqueuedVaas:
2023-09-26 11:02:57 -07:00
items:
$ref: '#/definitions/governor.EnqueuedVAA'
type: array
totalEnqueuedVaas:
type: integer
type: object
2023-09-26 11:02:57 -07:00
governor.EnqueuedVAA:
properties:
notionalValue:
type: integer
releaseTime:
type: string
sequence:
type: string
txHash:
type: string
type: object
governor.EnqueuedVaa:
properties:
chainId:
$ref: '#/definitions/vaa.ChainID'
emitterAddress:
type: string
notionalValue:
type: integer
sequence:
type: string
txHash:
type: string
type: object
2023-09-26 11:02:57 -07:00
governor.EnqueuedVaaDetail:
properties:
chainId:
$ref: '#/definitions/vaa.ChainID'
emitterAddress:
type: string
notionalValue:
type: integer
releaseTime:
type: integer
sequence:
type: string
txHash:
type: string
type: object
2023-09-26 11:02:57 -07:00
governor.EnqueuedVaaItemResponse:
properties:
emitterAddress:
type: string
emitterChain:
$ref: '#/definitions/vaa.ChainID'
notionalValue:
type: string
releaseTime:
type: integer
sequence:
type: integer
txHash:
type: string
type: object
governor.EnqueuedVaaResponse:
properties:
entries:
items:
$ref: '#/definitions/governor.EnqueuedVaaItemResponse'
type: array
type: object
governor.EnqueuedVaas:
properties:
chainId:
$ref: '#/definitions/vaa.ChainID'
enqueuedVaas:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.EnqueuedVaa'
type: array
type: object
2023-09-26 11:02:57 -07:00
governor.GovConfig:
properties:
chains:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.GovConfigChains'
type: array
counter:
type: integer
createdAt:
type: string
id:
type: string
nodeName:
type: string
tokens:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.GovConfigfTokens'
type: array
updatedAt:
type: string
type: object
2023-09-26 11:02:57 -07:00
governor.GovConfigChains:
properties:
bigTransactionSize:
type: integer
chainId:
$ref: '#/definitions/vaa.ChainID'
notionalLimit:
type: integer
type: object
2023-09-26 11:02:57 -07:00
governor.GovConfigfTokens:
properties:
originAddress:
type: string
originChainId:
type: integer
price:
type: number
type: object
2023-09-26 11:02:57 -07:00
governor.GovStatus:
properties:
chains:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.GovStatusChains'
type: array
createdAt:
type: string
id:
type: string
nodeName:
type: string
updatedAt:
type: string
type: object
2023-09-26 11:02:57 -07:00
governor.GovStatusChainEmitter:
properties:
emitterAddress:
type: string
enqueuedVaas: {}
totalEnqueuedVaas:
type: integer
type: object
2023-09-26 11:02:57 -07:00
governor.GovStatusChains:
properties:
chainId:
$ref: '#/definitions/vaa.ChainID'
emitters:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.GovStatusChainEmitter'
type: array
remainingAvailableNotional:
type: integer
type: object
2023-09-26 11:02:57 -07:00
governor.GovernorLimit:
properties:
availableNotional:
type: integer
chainId:
$ref: '#/definitions/vaa.ChainID'
maxTransactionSize:
type: integer
notionalLimit:
type: integer
type: object
2023-09-26 11:02:57 -07:00
governor.MaxNotionalAvailableRecord:
properties:
availableNotional:
type: integer
chainId:
$ref: '#/definitions/vaa.ChainID'
createdAt:
type: string
emitters:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.Emitter'
type: array
id:
type: string
nodeName:
type: string
updatedAt:
type: string
type: object
2023-09-26 11:02:57 -07:00
governor.NotionalAvailable:
properties:
availableNotional:
type: integer
chainId:
$ref: '#/definitions/vaa.ChainID'
type: object
2023-09-26 11:02:57 -07:00
governor.NotionalAvailableDetail:
properties:
availableNotional:
type: integer
chainId:
$ref: '#/definitions/vaa.ChainID'
createdAt:
type: string
id:
type: string
nodeName:
type: string
updatedAt:
type: string
type: object
2023-09-26 11:02:57 -07:00
governor.NotionalLimitDetail:
properties:
chainId:
$ref: '#/definitions/vaa.ChainID'
createdAt:
type: string
id:
type: string
maxTransactionSize:
type: integer
nodeName:
type: string
notionalLimit:
type: integer
updatedAt:
type: string
type: object
2023-09-26 11:02:57 -07:00
governor.TokenList:
properties:
originAddress:
type: string
originChainId:
$ref: '#/definitions/vaa.ChainID'
price:
type: number
type: object
2023-09-26 11:02:57 -07:00
guardian.GuardianSetResponse:
properties:
2023-09-26 11:02:57 -07:00
guardianSet:
$ref: '#/definitions/github_com_wormhole-foundation_wormhole-explorer_api_routes_guardian_guardian.GuardianSet'
type: object
heartbeats.HeartbeatNetworkResponse:
properties:
contractAddress:
type: string
2023-09-26 11:02:57 -07:00
errorCount:
type: string
2023-09-26 11:02:57 -07:00
height:
type: string
2023-09-26 11:02:57 -07:00
id:
type: integer
type: object
heartbeats.HeartbeatResponse:
properties:
p2pNodeAddr:
type: string
2023-09-26 11:02:57 -07:00
rawHeartbeat:
$ref: '#/definitions/heartbeats.RawHeartbeat'
verifiedGuardianAddr:
type: string
2023-09-26 11:02:57 -07:00
type: object
heartbeats.HeartbeatsResponse:
properties:
entries:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/heartbeats.HeartbeatResponse'
type: array
type: object
2023-09-26 11:02:57 -07:00
heartbeats.RawHeartbeat:
properties:
2023-09-26 11:02:57 -07:00
bootTimestamp:
type: string
2023-09-26 11:02:57 -07:00
counter:
type: string
2023-09-26 11:02:57 -07:00
features:
items:
type: string
type: array
guardianAddr:
type: string
2023-09-26 11:02:57 -07:00
networks:
items:
$ref: '#/definitions/heartbeats.HeartbeatNetworkResponse'
type: array
nodeName:
type: string
timestamp:
type: string
2023-09-26 11:02:57 -07:00
version:
type: string
type: object
2023-09-26 11:02:57 -07:00
infrastructure.VersionResponse:
properties:
2023-09-26 11:02:57 -07:00
branch:
type: string
2023-09-26 11:02:57 -07:00
build:
type: string
2023-09-26 11:02:57 -07:00
build_date:
type: string
2023-09-26 11:02:57 -07:00
machine:
type: string
2023-09-26 11:02:57 -07:00
user:
type: string
type: object
2023-09-26 11:02:57 -07:00
observations.ObservationDoc:
properties:
emitterAddr:
type: string
emitterChain:
$ref: '#/definitions/vaa.ChainID'
2023-09-26 11:02:57 -07:00
guardianAddr:
type: string
2023-09-26 11:02:57 -07:00
hash:
items:
type: integer
type: array
id:
type: string
indexedAt:
type: string
2023-09-26 11:02:57 -07:00
sequence:
type: string
2023-09-26 11:02:57 -07:00
signature:
items:
type: integer
type: array
txHash:
items:
type: integer
type: array
2023-09-26 11:02:57 -07:00
updatedAt:
type: string
type: object
operations.Content:
properties:
payload:
additionalProperties: {}
type: object
standarizedProperties:
$ref: '#/definitions/operations.StandardizedProperties'
type: object
operations.Data:
properties:
type:
type: string
value:
additionalProperties: {}
type: object
type: object
operations.EmitterAddress:
properties:
hex:
type: string
native:
type: string
type: object
operations.OperationResponse:
properties:
content:
$ref: '#/definitions/operations.Content'
data:
additionalProperties: {}
type: object
emitterAddress:
$ref: '#/definitions/operations.EmitterAddress'
emitterChain:
$ref: '#/definitions/vaa.ChainID'
id:
type: string
sequence:
type: string
sourceChain:
$ref: '#/definitions/operations.SourceChain'
targetChain:
$ref: '#/definitions/operations.TargetChain'
vaa:
$ref: '#/definitions/operations.Vaa'
type: object
operations.SourceChain:
properties:
attribute:
$ref: '#/definitions/operations.Data'
chainId:
$ref: '#/definitions/vaa.ChainID'
from:
type: string
status:
type: string
timestamp:
type: string
transaction:
$ref: '#/definitions/operations.Transaction'
type: object
operations.StandardizedProperties:
properties:
amount:
type: string
appIds:
items:
type: string
type: array
fee:
type: string
feeAddress:
type: string
feeChain:
$ref: '#/definitions/vaa.ChainID'
fromAddress:
type: string
fromChain:
$ref: '#/definitions/vaa.ChainID'
toAddress:
type: string
toChain:
$ref: '#/definitions/vaa.ChainID'
tokenAddress:
type: string
tokenChain:
$ref: '#/definitions/vaa.ChainID'
type: object
operations.TargetChain:
properties:
chainId:
$ref: '#/definitions/vaa.ChainID'
from:
type: string
status:
type: string
timestamp:
type: string
to:
type: string
transaction:
$ref: '#/definitions/operations.Transaction'
type: object
operations.Transaction:
properties:
secondTxHash:
type: string
txHash:
type: string
type: object
operations.Vaa:
properties:
guardianSetIndex:
type: integer
isDuplicated:
type: boolean
raw:
items:
type: integer
type: array
type: object
2023-09-26 11:02:57 -07:00
parser.ParseVaaWithStandarizedPropertiesdResponse:
properties:
[ISSUE-1220] Add filters to /operations endpoint (#1262) * start add search by chain change chainId query param handling change condition only from chain change query add filter by appId add payload type for operations query add logs add log for error in mongodb call add more logs and recover to find possible panic change type to float64 add more logs for troubleshooting add more logs for troubleshooting payloadType query param add another defer * change query * add exclusiveAppId,sourceChain and targetChain * unify search criteria * change queryies * combine query params filters * change implementation of sourceChain and targetChain * insert filtering by chain and by appid as stages in aggregation pipeline * fix appIds matching condition * move query to a separate pipeline which starts from parsedVAA * adjust query by appId * add matching also for standardizedProperties * change * try using instead of * simplify query * add queryLoggging and remove other parts of the query to troubleshooting * working * add index creation * update swagger docs * tweak index performance and fix timestamp on parsedVaa collection * start add search by chain change chainId query param handling change condition only from chain change query add filter by appId add payload type for operations query add logs add log for error in mongodb call add more logs and recover to find possible panic change type to float64 add more logs for troubleshooting add more logs for troubleshooting payloadType query param add another defer * change query * add exclusiveAppId,sourceChain and targetChain * unify search criteria * change queryies * combine query params filters * change implementation of sourceChain and targetChain * insert filtering by chain and by appid as stages in aggregation pipeline * fix appIds matching condition * move query to a separate pipeline which starts from parsedVAA * adjust query by appId * add matching also for standardizedProperties * change * try using instead of * simplify query * add queryLoggging and remove other parts of the query to troubleshooting * working * add index creation * update swagger docs * tweak index performance and fix timestamp on parsedVaa collection * add lookup for globaltransactions
2024-04-09 05:57:08 -07:00
parsedPayload: {}
2023-09-26 11:02:57 -07:00
standardizedProperties:
$ref: '#/definitions/parser.StandardizedProperties'
type: object
2023-09-26 11:02:57 -07:00
parser.StandardizedProperties:
properties:
amount:
type: string
appIds:
items:
2023-09-26 11:02:57 -07:00
type: string
type: array
2023-09-26 11:02:57 -07:00
fee:
type: string
feeAddress:
type: string
feeChain:
$ref: '#/definitions/vaa.ChainID'
fromAddress:
type: string
fromChain:
$ref: '#/definitions/vaa.ChainID'
toAddress:
type: string
toChain:
$ref: '#/definitions/vaa.ChainID'
tokenAddress:
type: string
tokenChain:
$ref: '#/definitions/vaa.ChainID'
type: object
[Issue:1052] Create job for fetching contributor stats and storing in db (#1144) * [Issue:1052] Create job for fetching contributor stats and storing in db revert unnecessary changes on api/handlers/stats revert changes in go.mod and go.sum revert change in go.work add schedule for contributors stats job change response parsing order changes due to draft-pr review move on with contributors activity implementation change to every hour fix typo change contributor stats implementation to do a single write transaction normalize to UTC contributors activity timestamp add cronjob schedule for contributors [Issue:1052][Part 2] Create endpoint to expose contributors stats and activities (#1123) * add endpoint for retrieving stats and activity * remove model.go file and move types to service file * add unit tests to contributors service * integrate new contributors controller * fix more stuff fix unit-tests changes due to pr review fix query fix unit-tests fix total_value_secure move constantes to common pkg remove extra changes rename contributor to protocols finish renames Changes for deployment adjust different response types from different protocols contributors fix controller test big refactor in activty job and stats job since protocols are returning different formats api responding fine remove uneccessary generics target dbconsts fix Delete deploy/common/env/staging-mainnet.env undo unwanted changes readd staging-mainnet.env fix unit-tests add missing protocols_stats/activity_version remove property protocols_json fix JOB_ID env var in protocols-activity.yaml fix typos in env vars configs change tu numbers changes due to own review add new line * add swagger docs
2024-02-22 09:58:45 -08:00
protocols.ProtocolTotalValuesDTO:
properties:
error:
type: string
last_day_diff_percentage:
type: string
last_day_messages:
type: integer
protocol:
type: string
total_messages:
type: integer
total_value_locked:
type: number
total_value_secured:
type: number
total_value_transferred:
type: number
type: object
relays.DeliveryReponse:
properties:
budget:
type: string
execution:
$ref: '#/definitions/relays.ResultExecutionResponse'
maxRefund:
type: string
relayGasUsed:
type: integer
targetChainDecimals:
type: integer
type: object
relays.InstructionsResponse:
properties:
encodedExecutionInfo:
type: string
extraReceiverValue:
properties:
_hex:
type: string
_isBigNumber:
type: boolean
type: object
refundAddress:
type: string
refundChainId:
type: integer
refundDeliveryProvider:
type: string
requestedReceiverValue:
properties:
_hex:
type: string
_isBigNumber:
type: boolean
type: object
senderAddress:
type: string
sourceDeliveryProvider:
type: string
targetAddress:
type: string
targetChainId:
type: integer
vaaKeys:
items: {}
type: array
type: object
relays.RelayDataResponse:
properties:
delivery:
$ref: '#/definitions/relays.DeliveryReponse'
fromTxHash:
type: string
instructions:
$ref: '#/definitions/relays.InstructionsResponse'
maxAttempts:
type: integer
toTxHash:
type: string
type: object
2023-09-26 11:02:57 -07:00
relays.RelayResponse:
properties:
completedAt:
type: string
data:
$ref: '#/definitions/relays.RelayDataResponse'
failedAt:
type: string
id:
type: string
receivedAt:
type: string
relayer:
type: string
status:
type: string
type: object
relays.ResultExecutionResponse:
properties:
detail:
type: string
gasUsed:
type: string
refundStatus:
type: string
revertString:
type: string
status:
type: string
transactionHash:
type: string
2023-09-26 11:02:57 -07:00
type: object
response.Response-address_AddressOverview:
properties:
data:
$ref: '#/definitions/address.AddressOverview'
pagination:
$ref: '#/definitions/response.ResponsePagination'
type: object
2023-09-26 11:02:57 -07:00
response.Response-array_governor_EnqueuedVaaDetail:
properties:
data:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.EnqueuedVaaDetail'
type: array
pagination:
$ref: '#/definitions/response.ResponsePagination'
type: object
2023-09-26 11:02:57 -07:00
response.Response-array_governor_EnqueuedVaas:
properties:
data:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.EnqueuedVaas'
type: array
pagination:
$ref: '#/definitions/response.ResponsePagination'
type: object
2023-09-26 11:02:57 -07:00
response.Response-array_governor_GovStatus:
properties:
data:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.GovStatus'
type: array
pagination:
$ref: '#/definitions/response.ResponsePagination'
type: object
2023-09-26 11:02:57 -07:00
response.Response-array_governor_GovernorLimit:
properties:
data:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.GovernorLimit'
type: array
pagination:
$ref: '#/definitions/response.ResponsePagination'
type: object
2023-09-26 11:02:57 -07:00
response.Response-array_governor_NotionalAvailable:
properties:
data:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.NotionalAvailable'
type: array
pagination:
$ref: '#/definitions/response.ResponsePagination'
type: object
2023-09-26 11:02:57 -07:00
response.Response-array_governor_NotionalAvailableDetail:
properties:
data:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.NotionalAvailableDetail'
type: array
pagination:
$ref: '#/definitions/response.ResponsePagination'
type: object
2023-09-26 11:02:57 -07:00
response.Response-array_governor_NotionalLimitDetail:
properties:
data:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.NotionalLimitDetail'
type: array
pagination:
$ref: '#/definitions/response.ResponsePagination'
type: object
2023-09-26 11:02:57 -07:00
response.Response-array_vaa_VaaDoc:
properties:
data:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/vaa.VaaDoc'
type: array
pagination:
$ref: '#/definitions/response.ResponsePagination'
type: object
2023-09-26 11:02:57 -07:00
response.Response-array_vaa_VaaStats:
properties:
data:
2023-09-26 11:02:57 -07:00
items:
$ref: '#/definitions/vaa.VaaStats'
type: array
pagination:
$ref: '#/definitions/response.ResponsePagination'
type: object
2023-09-26 11:02:57 -07:00
response.Response-governor_GovConfig:
properties:
data:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.GovConfig'
pagination:
$ref: '#/definitions/response.ResponsePagination'
type: object
2023-09-26 11:02:57 -07:00
response.Response-governor_GovStatus:
properties:
data:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.GovStatus'
pagination:
$ref: '#/definitions/response.ResponsePagination'
type: object
2023-09-26 11:02:57 -07:00
response.Response-governor_MaxNotionalAvailableRecord:
properties:
data:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.MaxNotionalAvailableRecord'
pagination:
$ref: '#/definitions/response.ResponsePagination'
type: object
2023-09-26 11:02:57 -07:00
response.ResponsePagination:
properties:
2023-09-26 11:02:57 -07:00
next:
type: string
type: object
stats.TokenResult:
properties:
emitter_chain:
$ref: '#/definitions/vaa.ChainID'
token_address:
type: string
token_chain:
$ref: '#/definitions/vaa.ChainID'
txs:
type: number
volume:
type: number
type: object
stats.TopCorridor:
properties:
emitter_chain:
$ref: '#/definitions/vaa.ChainID'
target_chain:
$ref: '#/definitions/vaa.ChainID'
token_address:
type: string
token_chain:
$ref: '#/definitions/vaa.ChainID'
txs:
type: integer
type: object
stats.TopCorridorsResult:
properties:
corridors:
items:
$ref: '#/definitions/stats.TopCorridor'
type: array
type: object
stats.TopSymbolByVolumeResult:
properties:
symbols:
items:
$ref: '#/definitions/stats.TopSymbolResult'
type: array
type: object
stats.TopSymbolResult:
properties:
symbol:
type: string
tokens:
items:
$ref: '#/definitions/stats.TokenResult'
type: array
txs:
type: number
volume:
type: number
type: object
2023-09-26 11:02:57 -07:00
transactions.AssetWithVolume:
properties:
2023-09-26 11:02:57 -07:00
emitterChain:
$ref: '#/definitions/vaa.ChainID'
2023-09-26 11:02:57 -07:00
symbol:
type: string
tokenAddress:
type: string
tokenChain:
$ref: '#/definitions/vaa.ChainID'
2023-09-26 11:02:57 -07:00
volume:
type: string
type: object
2023-09-26 11:02:57 -07:00
transactions.AttributeDoc:
properties:
2023-09-26 11:02:57 -07:00
type:
type: string
2023-09-26 11:02:57 -07:00
value:
additionalProperties: {}
type: object
type: object
2023-09-26 11:02:57 -07:00
transactions.ChainActivity:
properties:
2023-09-26 11:02:57 -07:00
txs:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.Tx'
type: array
type: object
2024-04-18 10:49:10 -07:00
transactions.ChainActivityTopResult:
properties:
count:
type: integer
destination_chain:
type: string
emitter_chain:
type: string
from:
type: string
to:
type: string
volume:
type: integer
type: object
2023-09-26 11:02:57 -07:00
transactions.ChainPair:
properties:
2023-09-26 11:02:57 -07:00
destinationChain:
$ref: '#/definitions/vaa.ChainID'
emitterChain:
$ref: '#/definitions/vaa.ChainID'
2023-09-26 11:02:57 -07:00
numberOfTransfers:
type: string
type: object
2023-09-26 11:02:57 -07:00
transactions.Destination:
properties:
2023-09-26 11:02:57 -07:00
chain:
type: integer
2023-09-26 11:02:57 -07:00
percentage:
type: number
volume:
type: number
type: object
2023-09-26 11:02:57 -07:00
transactions.DestinationTx:
properties:
2023-09-26 11:02:57 -07:00
blockNumber:
type: string
2023-09-26 11:02:57 -07:00
chainId:
$ref: '#/definitions/vaa.ChainID'
from:
type: string
2023-09-26 11:02:57 -07:00
method:
type: string
2023-09-26 11:02:57 -07:00
status:
type: string
timestamp:
type: string
2023-09-26 11:02:57 -07:00
to:
type: string
2023-09-26 11:02:57 -07:00
txHash:
type: string
2023-09-26 11:02:57 -07:00
updatedAt:
type: string
type: object
2023-09-26 11:02:57 -07:00
transactions.GlobalTransactionDoc:
properties:
2023-09-26 11:02:57 -07:00
destinationTx:
$ref: '#/definitions/transactions.DestinationTx'
id:
type: string
2023-09-26 11:02:57 -07:00
originTx:
$ref: '#/definitions/transactions.OriginTx'
type: object
2023-09-26 11:02:57 -07:00
transactions.ListTransactionsResponse:
Add endpoint `GET /api/v1/transactions` (#388) ### Summary Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/385 This pull request implements a new endpoint, `GET /api/v1/transactions`, which will be consumed by the wormhole explorer UI. The endpoint returns a paginated list of transactions, in which each element contains a brief overview of the transaction (ID, txHash, status, etc.). It exposes offset-based pagination via the parameters `page` and `pageSize`. Also, results can be obtained for a specific address by using the `address` query parameter. The response model looks like this: ```json { "transactions": [ { "id": "1/5ec18c34b47c63d17ab43b07b9b2319ea5ee2d163bce2e467000174e238c8e7f/12965", "timestamp": "2023-06-08T19:30:19Z", "txHash": "a302c4ab2d6b9a6003951d2e91f8fdbb83cfa20f6ffb588b95ef0290aab37066", "originChain": 1, "status": "ongoing" }, { "id": "22/0000000000000000000000000000000000000000000000000000000000000001/18308", "timestamp": "2023-06-08T19:17:14Z", "txHash": "00000000000000000000000000000000000000000000000000000000000047e7", "originChain": 22, "destinationAddress": "0x00000000000000000000000067e8a40816a983fbe3294aaebd0cc2391815b86b", "destinationChain": 5, "tokenAmount": "0.12", "usdAmount": "0.12012", "symbol": "USDC", "status": "completed" }, ... ] } ``` ### Limitations of the current implementation 1. Doesn't return the total number of results (this may result in a performance issue when we filter by address) 2. Can only filter by receiver address (we don't have sender information in the database yet)
2023-06-12 07:43:48 -07:00
properties:
2023-09-26 11:02:57 -07:00
transactions:
Add endpoint `GET /api/v1/transactions` (#388) ### Summary Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/385 This pull request implements a new endpoint, `GET /api/v1/transactions`, which will be consumed by the wormhole explorer UI. The endpoint returns a paginated list of transactions, in which each element contains a brief overview of the transaction (ID, txHash, status, etc.). It exposes offset-based pagination via the parameters `page` and `pageSize`. Also, results can be obtained for a specific address by using the `address` query parameter. The response model looks like this: ```json { "transactions": [ { "id": "1/5ec18c34b47c63d17ab43b07b9b2319ea5ee2d163bce2e467000174e238c8e7f/12965", "timestamp": "2023-06-08T19:30:19Z", "txHash": "a302c4ab2d6b9a6003951d2e91f8fdbb83cfa20f6ffb588b95ef0290aab37066", "originChain": 1, "status": "ongoing" }, { "id": "22/0000000000000000000000000000000000000000000000000000000000000001/18308", "timestamp": "2023-06-08T19:17:14Z", "txHash": "00000000000000000000000000000000000000000000000000000000000047e7", "originChain": 22, "destinationAddress": "0x00000000000000000000000067e8a40816a983fbe3294aaebd0cc2391815b86b", "destinationChain": 5, "tokenAmount": "0.12", "usdAmount": "0.12012", "symbol": "USDC", "status": "completed" }, ... ] } ``` ### Limitations of the current implementation 1. Doesn't return the total number of results (this may result in a performance issue when we filter by address) 2. Can only filter by receiver address (we don't have sender information in the database yet)
2023-06-12 07:43:48 -07:00
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.TransactionDetail'
Add endpoint `GET /api/v1/transactions` (#388) ### Summary Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/385 This pull request implements a new endpoint, `GET /api/v1/transactions`, which will be consumed by the wormhole explorer UI. The endpoint returns a paginated list of transactions, in which each element contains a brief overview of the transaction (ID, txHash, status, etc.). It exposes offset-based pagination via the parameters `page` and `pageSize`. Also, results can be obtained for a specific address by using the `address` query parameter. The response model looks like this: ```json { "transactions": [ { "id": "1/5ec18c34b47c63d17ab43b07b9b2319ea5ee2d163bce2e467000174e238c8e7f/12965", "timestamp": "2023-06-08T19:30:19Z", "txHash": "a302c4ab2d6b9a6003951d2e91f8fdbb83cfa20f6ffb588b95ef0290aab37066", "originChain": 1, "status": "ongoing" }, { "id": "22/0000000000000000000000000000000000000000000000000000000000000001/18308", "timestamp": "2023-06-08T19:17:14Z", "txHash": "00000000000000000000000000000000000000000000000000000000000047e7", "originChain": 22, "destinationAddress": "0x00000000000000000000000067e8a40816a983fbe3294aaebd0cc2391815b86b", "destinationChain": 5, "tokenAmount": "0.12", "usdAmount": "0.12012", "symbol": "USDC", "status": "completed" }, ... ] } ``` ### Limitations of the current implementation 1. Doesn't return the total number of results (this may result in a performance issue when we filter by address) 2. Can only filter by receiver address (we don't have sender information in the database yet)
2023-06-12 07:43:48 -07:00
type: array
type: object
2023-09-26 11:02:57 -07:00
transactions.OriginTx:
properties:
2023-09-26 11:02:57 -07:00
attribute:
$ref: '#/definitions/transactions.AttributeDoc'
from:
type: string
status:
type: string
txHash:
type: string
type: object
2023-09-26 11:02:57 -07:00
transactions.ScorecardsResponse:
properties:
24h_messages:
description: Number of VAAs emitted in the last 24 hours (includes Pyth messages).
type: string
24h_tx_count:
description: Number of VAAs emitted in the last 24 hours (does not include
Pyth messages).
type: string
24h_volume:
description: Volume transferred through the token bridge in the last 24 hours,
in USD.
type: string
total_messages:
description: Number of VAAs emitted since the creation of the network (includes
Pyth messages).
type: string
total_tx_count:
description: Number of VAAs emitted since the creation of the network (does
not include Pyth messages)
type: string
total_volume:
type: string
tvl:
description: Total value locked in USD.
type: string
type: object
2023-09-26 11:02:57 -07:00
transactions.Token:
properties:
coingeckoId:
type: string
decimals:
type: integer
symbol:
type: string
type: object
transactions.TopAssetsResponse:
properties:
assets:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.AssetWithVolume'
type: array
type: object
2023-09-26 11:02:57 -07:00
transactions.TopChainPairsResponse:
properties:
chainPairs:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.ChainPair'
type: array
type: object
2023-09-26 11:02:57 -07:00
transactions.TransactionCountResult:
properties:
count:
type: integer
time:
type: string
type: object
transactions.TransactionDetail:
properties:
emitterAddress:
description: EmitterAddress contains the VAA's emitter address, encoded in
hex.
type: string
emitterChain:
$ref: '#/definitions/vaa.ChainID'
emitterNativeAddress:
description: EmitterNativeAddress contains the VAA's emitter address, encoded
in the emitter chain's native format.
type: string
globalTx:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.GlobalTransactionDoc'
id:
type: string
payload:
additionalProperties: true
type: object
standardizedProperties:
additionalProperties: true
type: object
symbol:
type: string
timestamp:
type: string
tokenAmount:
type: string
txHash:
type: string
usdAmount:
type: string
type: object
2023-09-26 11:02:57 -07:00
transactions.Tx:
properties:
chain:
type: integer
destinations:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.Destination'
type: array
percentage:
type: number
volume:
type: number
type: object
vaa.ChainID:
enum:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 18
- 19
- 20
- 21
- 22
- 23
- 24
2024-04-25 05:49:55 -07:00
- 25
- 26
- 28
- 29
- 30
- 32
2024-04-25 05:49:55 -07:00
- 33
- 34
- 35
2024-04-25 05:49:55 -07:00
- 36
- 37
- 38
- 39
- 3104
- 4000
- 4001
- 4002
- 4003
- 4004
2024-04-25 05:49:55 -07:00
- 4005
- 4006
- 4007
- 4008
- 10002
- 10003
- 10004
- 10005
- 10006
2024-04-25 05:49:55 -07:00
- 10007
type: integer
x-enum-varnames:
- ChainIDUnset
- ChainIDSolana
- ChainIDEthereum
- ChainIDTerra
- ChainIDBSC
- ChainIDPolygon
- ChainIDAvalanche
- ChainIDOasis
- ChainIDAlgorand
- ChainIDAurora
- ChainIDFantom
- ChainIDKarura
- ChainIDAcala
- ChainIDKlaytn
- ChainIDCelo
- ChainIDNear
- ChainIDMoonbeam
- ChainIDTerra2
- ChainIDInjective
- ChainIDOsmosis
- ChainIDSui
- ChainIDAptos
- ChainIDArbitrum
- ChainIDOptimism
2024-04-25 05:49:55 -07:00
- ChainIDGnosis
- ChainIDPythNet
- ChainIDXpla
- ChainIDBtc
- ChainIDBase
- ChainIDSei
2024-04-25 05:49:55 -07:00
- ChainIDRootstock
- ChainIDScroll
- ChainIDMantle
2024-04-25 05:49:55 -07:00
- ChainIDBlast
- ChainIDXLayer
- ChainIDLinea
- ChainIDBerachain
- ChainIDWormchain
- ChainIDCosmoshub
- ChainIDEvmos
- ChainIDKujira
- ChainIDNeutron
- ChainIDCelestia
2024-04-25 05:49:55 -07:00
- ChainIDStargaze
- ChainIDSeda
- ChainIDDymension
- ChainIDProvenance
- ChainIDSepolia
- ChainIDArbitrumSepolia
- ChainIDBaseSepolia
- ChainIDOptimismSepolia
- ChainIDHolesky
2024-04-25 05:49:55 -07:00
- ChainIDPolygonSepolia
2023-09-26 11:02:57 -07:00
vaa.VaaDoc:
properties:
appId:
description: AppId is an extension field - it is not present in the guardian
API.
type: string
digest:
type: string
2023-09-26 11:02:57 -07:00
emitterAddr:
type: string
emitterChain:
$ref: '#/definitions/vaa.ChainID'
emitterNativeAddr:
type: string
guardianSetIndex:
type: integer
id:
type: string
indexedAt:
type: string
isDuplicated:
type: boolean
2023-09-26 11:02:57 -07:00
payload:
additionalProperties: true
description: Payload is an extension field - it is not present in the guardian
API.
type: object
timestamp:
type: string
txHash:
description: TxHash is an extension field - it is not present in the guardian
API.
type: string
updatedAt:
type: string
vaa:
items:
type: integer
type: array
version:
type: integer
type: object
vaa.VaaStats:
properties:
chainId:
$ref: '#/definitions/vaa.ChainID'
count:
type: integer
type: object
info:
contact:
email: info@wormhole.com
name: API Support
url: https://discord.com/invite/wormholecrypto
description: |-
Wormhole Guardian API
This is the API for the Wormhole Guardian and Explorer.
The API has two namespaces: wormholescan and guardian.
wormholescan is the namespace for the explorer and the new endpoints. The prefix is /api/v1.
guardian is the legacy namespace backguard compatible with guardian node API. The prefix is /v1.
This API is public and does not require authentication although some endpoints are rate limited.
Check each endpoint documentation for more information.
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
termsOfService: https://wormhole.com/
title: Wormholescan API
version: "1.0"
paths:
/api/v1/address/:address:
get:
description: Lookup an address
operationId: find-address-by-id
parameters:
- description: address
in: path
name: address
required: true
type: string
- description: Page number. Starts at 0.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-address_AddressOverview'
"400":
description: Bad Request
"404":
description: Not Found
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/global-tx/:chain_id/:emitter/:seq:
get:
description: |-
Find a global transaction by VAA ID
Global transactions is a logical association of two transactions that are related to each other by a unique VAA ID.
The first transaction is created on the origin chain when the VAA is emitted.
The second transaction is created on the destination chain when the VAA is redeemed.
If the response only contains an origin tx the VAA was not redeemed.
operationId: find-global-transaction-by-id
parameters:
- description: id of the blockchain
in: path
name: chain_id
required: true
type: integer
- description: address of the emitter
in: path
name: emitter
required: true
type: string
- description: sequence of the VAA
in: path
name: seq
required: true
type: integer
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.Tx'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/governor/config:
get:
description: Returns governor configuration for all guardians.
operationId: governor-config
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-governor_GovConfig'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/governor/config/:guardian_address:
get:
description: Returns governor configuration for a given guardian.
operationId: governor-config-by-guardian-address
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-governor_GovConfig'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/governor/enqueued_vaas/:
get:
description: Returns enqueued VAAs for each blockchain.
operationId: governor-enqueued-vaas
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
- description: Sort results in ascending or descending order.
enum:
- ASC
- DESC
in: query
name: sortOrder
type: string
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-array_governor_EnqueuedVaas'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/governor/enqueued_vaas/:chain:
get:
description: Returns all enqueued VAAs for a given blockchain.
operationId: guardians-enqueued-vaas-by-chain
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
- description: Sort results in ascending or descending order.
enum:
- ASC
- DESC
in: query
name: sortOrder
type: string
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-array_governor_EnqueuedVaaDetail'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/governor/limit:
get:
description: Returns the governor limit for all blockchains.
operationId: governor-notional-limit
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-array_governor_GovernorLimit'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/governor/notional/available:
get:
description: Returns the amount of notional value available for each blockchain.
operationId: governor-notional-available
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
- description: Sort results in ascending or descending order.
enum:
- ASC
- DESC
in: query
name: sortOrder
type: string
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-array_governor_NotionalAvailable'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/governor/notional/available/:chain:
get:
description: Returns the amount of notional value available for a given blockchain.
operationId: governor-notional-available-by-chain
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-array_governor_NotionalAvailableDetail'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/governor/notional/limit:
get:
description: Returns the detailed notional limit for all blockchains.
operationId: governor-notional-limit-detail
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-array_governor_NotionalLimitDetail'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/governor/notional/limit/:chain:
get:
description: Returns the detailed notional limit available for a given blockchain.
operationId: governor-notional-limit-detail-by-chain
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-array_governor_NotionalLimitDetail'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/governor/notional/max_available/:chain:
get:
description: Returns the maximum amount of notional value available for a given
blockchain.
operationId: governor-max-notional-available-by-chain
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-governor_MaxNotionalAvailableRecord'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/governor/status:
get:
description: Returns the governor status for all guardians.
operationId: governor-status
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-array_governor_GovStatus'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/governor/status/:guardian_address:
get:
description: Returns the governor status for a given guardian.
operationId: governor-status-by-guardian-address
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-governor_GovStatus'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/health:
get:
description: Health check
operationId: health-check
responses:
"200":
description: OK
schema:
properties:
status:
type: string
type: object
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/last-txs:
get:
description: Returns the number of transactions by a defined time span and sample
rate.
operationId: get-last-transactions
parameters:
- description: 'Time Span, default: 1d, supported values: [1d, 1w, 1mo]. 1mo
is 30 days.'
in: query
name: timeSpan
type: string
- description: 'Sample Rate, default: 1h, supported values: [1h, 1d]. Valid
configurations with timeSpan: 1d/1h, 1w/1d, 1mo/1d'
in: query
name: sampleRate
type: string
responses:
"200":
description: OK
schema:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.TransactionCountResult'
type: array
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/observations:
get:
description: Returns all observations, sorted in descending timestamp order.
operationId: find-observations
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
- description: Sort results in ascending or descending order.
enum:
- ASC
- DESC
in: query
name: sortOrder
type: string
responses:
"200":
description: OK
schema:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/observations.ObservationDoc'
type: array
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/observations/:chain:
get:
description: Returns all observations for a given blockchain, sorted in descending
timestamp order.
operationId: find-observations-by-chain
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
- description: Sort results in ascending or descending order.
enum:
- ASC
- DESC
in: query
name: sortOrder
type: string
responses:
"200":
description: OK
schema:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/observations.ObservationDoc'
type: array
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/observations/:chain/:emitter:
get:
description: Returns all observations for a specific emitter address, sorted
in descending timestamp order.
operationId: find-observations-by-emitter
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
- description: Sort results in ascending or descending order.
enum:
- ASC
- DESC
in: query
name: sortOrder
type: string
responses:
"200":
description: OK
schema:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/observations.ObservationDoc'
type: array
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/observations/:chain/:emitter/:sequence:
get:
description: Find observations identified by emitter chain, emitter address
and sequence.
operationId: find-observations-by-sequence
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
- description: Sort results in ascending or descending order.
enum:
- ASC
- DESC
in: query
name: sortOrder
type: string
responses:
"200":
description: OK
schema:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/observations.ObservationDoc'
type: array
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/observations/:chain/:emitter/:sequence/:signer/:hash:
get:
description: Find a specific observation.
operationId: find-observations-by-id
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
- description: Sort results in ascending or descending order.
enum:
- ASC
- DESC
in: query
name: sortOrder
type: string
responses:
"200":
description: OK
schema:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/observations.ObservationDoc'
type: array
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/operations:
get:
description: Find all operations.
operationId: get-operations
parameters:
- description: address of the emitter
in: query
name: address
type: string
- description: hash of the transaction
in: query
name: txHash
type: string
- description: page number
in: query
name: page
type: integer
- description: pageSize
in: query
name: pageSize
type: integer
[ISSUE-1220] Add filters to /operations endpoint (#1262) * start add search by chain change chainId query param handling change condition only from chain change query add filter by appId add payload type for operations query add logs add log for error in mongodb call add more logs and recover to find possible panic change type to float64 add more logs for troubleshooting add more logs for troubleshooting payloadType query param add another defer * change query * add exclusiveAppId,sourceChain and targetChain * unify search criteria * change queryies * combine query params filters * change implementation of sourceChain and targetChain * insert filtering by chain and by appid as stages in aggregation pipeline * fix appIds matching condition * move query to a separate pipeline which starts from parsedVAA * adjust query by appId * add matching also for standardizedProperties * change * try using instead of * simplify query * add queryLoggging and remove other parts of the query to troubleshooting * working * add index creation * update swagger docs * tweak index performance and fix timestamp on parsedVaa collection * start add search by chain change chainId query param handling change condition only from chain change query add filter by appId add payload type for operations query add logs add log for error in mongodb call add more logs and recover to find possible panic change type to float64 add more logs for troubleshooting add more logs for troubleshooting payloadType query param add another defer * change query * add exclusiveAppId,sourceChain and targetChain * unify search criteria * change queryies * combine query params filters * change implementation of sourceChain and targetChain * insert filtering by chain and by appid as stages in aggregation pipeline * fix appIds matching condition * move query to a separate pipeline which starts from parsedVAA * adjust query by appId * add matching also for standardizedProperties * change * try using instead of * simplify query * add queryLoggging and remove other parts of the query to troubleshooting * working * add index creation * update swagger docs * tweak index performance and fix timestamp on parsedVaa collection * add lookup for globaltransactions
2024-04-09 05:57:08 -07:00
- description: source chain of the operation
in: query
name: sourceChain
type: string
- description: target chain of the operation
in: query
name: targetChain
type: string
- description: appID of the operation
in: query
name: appId
type: string
- description: single appId of the operation
in: query
name: exclusiveAppId
type: boolean
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/operations.OperationResponse'
type: array
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/operations/{chain_id}/{emitter}/{seq}:
get:
description: Find operations by ID (chainID/emitter/sequence).
operationId: get-operation-by-id
parameters:
- description: id of the blockchain
in: path
name: chain_id
required: true
type: integer
- description: address of the emitter
in: path
name: emitter
required: true
type: string
- description: sequence of the VAA
in: path
name: seq
required: true
type: integer
responses:
"200":
description: OK
schema:
$ref: '#/definitions/operations.OperationResponse'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
[Issue:1052] Create job for fetching contributor stats and storing in db (#1144) * [Issue:1052] Create job for fetching contributor stats and storing in db revert unnecessary changes on api/handlers/stats revert changes in go.mod and go.sum revert change in go.work add schedule for contributors stats job change response parsing order changes due to draft-pr review move on with contributors activity implementation change to every hour fix typo change contributor stats implementation to do a single write transaction normalize to UTC contributors activity timestamp add cronjob schedule for contributors [Issue:1052][Part 2] Create endpoint to expose contributors stats and activities (#1123) * add endpoint for retrieving stats and activity * remove model.go file and move types to service file * add unit tests to contributors service * integrate new contributors controller * fix more stuff fix unit-tests changes due to pr review fix query fix unit-tests fix total_value_secure move constantes to common pkg remove extra changes rename contributor to protocols finish renames Changes for deployment adjust different response types from different protocols contributors fix controller test big refactor in activty job and stats job since protocols are returning different formats api responding fine remove uneccessary generics target dbconsts fix Delete deploy/common/env/staging-mainnet.env undo unwanted changes readd staging-mainnet.env fix unit-tests add missing protocols_stats/activity_version remove property protocols_json fix JOB_ID env var in protocols-activity.yaml fix typos in env vars configs change tu numbers changes due to own review add new line * add swagger docs
2024-02-22 09:58:45 -08:00
/api/v1/protocols/stats:
get:
description: Returns the representative stats for the top protocols
operationId: get-top-protocols-stats
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/protocols.ProtocolTotalValuesDTO'
type: array
"500":
description: Internal Server Error
schema:
items:
$ref: '#/definitions/protocols.ProtocolTotalValuesDTO'
type: array
tags:
- wormholescan
/api/v1/ready:
get:
description: Ready check
operationId: ready-check
responses:
"200":
description: OK
schema:
properties:
ready:
type: string
type: object
2023-09-26 11:02:57 -07:00
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/relays/:chain/:emitter/:sequence:
get:
description: Get a specific relay information by chainID, emitter address and
sequence.
operationId: find-relay-by-vaa-id
responses:
"200":
description: OK
schema:
$ref: '#/definitions/relays.RelayResponse'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/scorecards:
get:
description: |-
Returns a list of KPIs for Wormhole.
TVL is total value locked by token bridge contracts in USD.
Volume is the all-time total volume transferred through the token bridge in USD.
24h volume is the volume transferred through the token bridge in the last 24 hours, in USD.
Total Tx count is the number of transaction bridging assets since the creation of the network (does not include Pyth or other messages).
24h tx count is the number of transaction bridging assets in the last 24 hours (does not include Pyth or other messages).
Total messages is the number of VAAs emitted since the creation of the network (includes Pyth messages).
operationId: get-scorecards
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.ScorecardsResponse'
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/token/:chain_id/:token_address:
get:
description: Returns a token symbol, coingecko id and address by chain and token
address.
operationId: get-token-by-chain-and-address
parameters:
- description: id of the blockchain
in: path
name: chain_id
required: true
type: integer
- description: token address
in: path
name: token_address
required: true
type: string
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.Token'
"400":
description: Bad Request
"404":
description: Not Found
tags:
- wormholescan
/api/v1/top-100-corridors:
get:
description: Returns a list of the top 100 tokens, sorted in descending order
by the number of transactions.
operationId: /api/v1/top-100-corridors
parameters:
- description: 'Time span, supported values: 2d and 7d (default is 2d).'
in: query
name: timeSpan
type: string
responses:
"200":
description: OK
schema:
$ref: '#/definitions/stats.TopCorridorsResult'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/top-assets-by-volume:
get:
description: |-
Returns a list of emitter_chain and asset pairs with ordered by volume.
The volume is calculated using the notional price of the symbol at the day the VAA was emitted.
operationId: get-top-assets-by-volume
parameters:
- description: 'Time span, supported values: 7d, 15d, 30d.'
in: query
name: timeSpan
required: true
type: string
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.TopAssetsResponse'
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/top-chain-pairs-by-num-transfers:
get:
description: Returns a list of the emitter_chain and destination_chain pair
ordered by transfer count.
operationId: get-top-chain-pairs-by-num-transfers
parameters:
- description: 'Time span, supported values: 7d, 15d, 30d.'
in: query
name: timeSpan
required: true
type: string
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.TopChainPairsResponse'
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/top-symbols-by-volume:
get:
description: |-
Returns a list of symbols by origin chain and tokens.
The volume is calculated using the notional price of the symbol at the day the VAA was emitted.
operationId: top-symbols-by-volume
parameters:
- description: 'Time span, supported values: 7d, 15d and 30d (default is 7d).'
in: query
name: timeSpan
type: string
responses:
"200":
description: OK
schema:
$ref: '#/definitions/stats.TopSymbolByVolumeResult'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
Add endpoint `GET /api/v1/transactions` (#388) ### Summary Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/385 This pull request implements a new endpoint, `GET /api/v1/transactions`, which will be consumed by the wormhole explorer UI. The endpoint returns a paginated list of transactions, in which each element contains a brief overview of the transaction (ID, txHash, status, etc.). It exposes offset-based pagination via the parameters `page` and `pageSize`. Also, results can be obtained for a specific address by using the `address` query parameter. The response model looks like this: ```json { "transactions": [ { "id": "1/5ec18c34b47c63d17ab43b07b9b2319ea5ee2d163bce2e467000174e238c8e7f/12965", "timestamp": "2023-06-08T19:30:19Z", "txHash": "a302c4ab2d6b9a6003951d2e91f8fdbb83cfa20f6ffb588b95ef0290aab37066", "originChain": 1, "status": "ongoing" }, { "id": "22/0000000000000000000000000000000000000000000000000000000000000001/18308", "timestamp": "2023-06-08T19:17:14Z", "txHash": "00000000000000000000000000000000000000000000000000000000000047e7", "originChain": 22, "destinationAddress": "0x00000000000000000000000067e8a40816a983fbe3294aaebd0cc2391815b86b", "destinationChain": 5, "tokenAmount": "0.12", "usdAmount": "0.12012", "symbol": "USDC", "status": "completed" }, ... ] } ``` ### Limitations of the current implementation 1. Doesn't return the total number of results (this may result in a performance issue when we filter by address) 2. Can only filter by receiver address (we don't have sender information in the database yet)
2023-06-12 07:43:48 -07:00
/api/v1/transactions/:
get:
description: Returns transactions. Output is paginated.
operationId: list-transactions
parameters:
- description: Page number. Starts at 0.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
2023-09-26 11:02:57 -07:00
- description: Sort results in ascending or descending order.
enum:
- ASC
- DESC
in: query
name: sortOrder
type: string
- description: Filter transactions by Address.
in: query
name: address
type: string
Add endpoint `GET /api/v1/transactions` (#388) ### Summary Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/385 This pull request implements a new endpoint, `GET /api/v1/transactions`, which will be consumed by the wormhole explorer UI. The endpoint returns a paginated list of transactions, in which each element contains a brief overview of the transaction (ID, txHash, status, etc.). It exposes offset-based pagination via the parameters `page` and `pageSize`. Also, results can be obtained for a specific address by using the `address` query parameter. The response model looks like this: ```json { "transactions": [ { "id": "1/5ec18c34b47c63d17ab43b07b9b2319ea5ee2d163bce2e467000174e238c8e7f/12965", "timestamp": "2023-06-08T19:30:19Z", "txHash": "a302c4ab2d6b9a6003951d2e91f8fdbb83cfa20f6ffb588b95ef0290aab37066", "originChain": 1, "status": "ongoing" }, { "id": "22/0000000000000000000000000000000000000000000000000000000000000001/18308", "timestamp": "2023-06-08T19:17:14Z", "txHash": "00000000000000000000000000000000000000000000000000000000000047e7", "originChain": 22, "destinationAddress": "0x00000000000000000000000067e8a40816a983fbe3294aaebd0cc2391815b86b", "destinationChain": 5, "tokenAmount": "0.12", "usdAmount": "0.12012", "symbol": "USDC", "status": "completed" }, ... ] } ``` ### Limitations of the current implementation 1. Doesn't return the total number of results (this may result in a performance issue when we filter by address) 2. Can only filter by receiver address (we don't have sender information in the database yet)
2023-06-12 07:43:48 -07:00
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.ListTransactionsResponse'
Add endpoint `GET /api/v1/transactions` (#388) ### Summary Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/385 This pull request implements a new endpoint, `GET /api/v1/transactions`, which will be consumed by the wormhole explorer UI. The endpoint returns a paginated list of transactions, in which each element contains a brief overview of the transaction (ID, txHash, status, etc.). It exposes offset-based pagination via the parameters `page` and `pageSize`. Also, results can be obtained for a specific address by using the `address` query parameter. The response model looks like this: ```json { "transactions": [ { "id": "1/5ec18c34b47c63d17ab43b07b9b2319ea5ee2d163bce2e467000174e238c8e7f/12965", "timestamp": "2023-06-08T19:30:19Z", "txHash": "a302c4ab2d6b9a6003951d2e91f8fdbb83cfa20f6ffb588b95ef0290aab37066", "originChain": 1, "status": "ongoing" }, { "id": "22/0000000000000000000000000000000000000000000000000000000000000001/18308", "timestamp": "2023-06-08T19:17:14Z", "txHash": "00000000000000000000000000000000000000000000000000000000000047e7", "originChain": 22, "destinationAddress": "0x00000000000000000000000067e8a40816a983fbe3294aaebd0cc2391815b86b", "destinationChain": 5, "tokenAmount": "0.12", "usdAmount": "0.12012", "symbol": "USDC", "status": "completed" }, ... ] } ``` ### Limitations of the current implementation 1. Doesn't return the total number of results (this may result in a performance issue when we filter by address) 2. Can only filter by receiver address (we don't have sender information in the database yet)
2023-06-12 07:43:48 -07:00
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/transactions/:chain_id/:emitter/:seq:
get:
description: Find VAA metadata by ID.
operationId: get-transaction-by-id
parameters:
- description: id of the blockchain
in: path
name: chain_id
required: true
type: integer
- description: address of the emitter
in: path
name: emitter
required: true
type: string
- description: sequence of the VAA
in: path
name: seq
required: true
type: integer
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.TransactionDetail'
"400":
description: Bad Request
"500":
Add endpoint `GET /api/v1/transactions` (#388) ### Summary Tracking issue: https://github.com/wormhole-foundation/wormhole-explorer/issues/385 This pull request implements a new endpoint, `GET /api/v1/transactions`, which will be consumed by the wormhole explorer UI. The endpoint returns a paginated list of transactions, in which each element contains a brief overview of the transaction (ID, txHash, status, etc.). It exposes offset-based pagination via the parameters `page` and `pageSize`. Also, results can be obtained for a specific address by using the `address` query parameter. The response model looks like this: ```json { "transactions": [ { "id": "1/5ec18c34b47c63d17ab43b07b9b2319ea5ee2d163bce2e467000174e238c8e7f/12965", "timestamp": "2023-06-08T19:30:19Z", "txHash": "a302c4ab2d6b9a6003951d2e91f8fdbb83cfa20f6ffb588b95ef0290aab37066", "originChain": 1, "status": "ongoing" }, { "id": "22/0000000000000000000000000000000000000000000000000000000000000001/18308", "timestamp": "2023-06-08T19:17:14Z", "txHash": "00000000000000000000000000000000000000000000000000000000000047e7", "originChain": 22, "destinationAddress": "0x00000000000000000000000067e8a40816a983fbe3294aaebd0cc2391815b86b", "destinationChain": 5, "tokenAmount": "0.12", "usdAmount": "0.12012", "symbol": "USDC", "status": "completed" }, ... ] } ``` ### Limitations of the current implementation 1. Doesn't return the total number of results (this may result in a performance issue when we filter by address) 2. Can only filter by receiver address (we don't have sender information in the database yet)
2023-06-12 07:43:48 -07:00
description: Internal Server Error
tags:
- wormholescan
/api/v1/vaas/:
get:
description: Returns all VAAs. Output is paginated and can also be be sorted.
operationId: find-all-vaas
parameters:
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
- description: Sort results in ascending or descending order.
enum:
- ASC
- DESC
in: query
name: sortOrder
type: string
- description: Transaction hash of the VAA
in: query
name: txHash
type: string
- description: include the parsed contents of the VAA, if available
in: query
name: parsedPayload
type: boolean
- description: filter by application ID
in: query
name: appId
type: string
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-array_vaa_VaaDoc'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/vaas/:chain_id:
get:
description: Returns all the VAAs generated in specific blockchain.
operationId: find-vaas-by-chain
parameters:
- description: id of the blockchain
in: path
name: chain_id
required: true
type: integer
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
- description: Sort results in ascending or descending order.
enum:
- ASC
- DESC
in: query
name: sortOrder
type: string
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-array_vaa_VaaDoc'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/vaas/:chain_id/:emitter:
get:
description: Returns all all the VAAs generated by a specific emitter address.
operationId: find-vaas-by-emitter
parameters:
- description: id of the blockchain
in: path
name: chain_id
required: true
type: integer
- description: address of the emitter
in: path
name: emitter
required: true
type: string
- description: destination chain
in: query
name: toChain
type: integer
- description: Page number.
in: query
name: page
type: integer
- description: Number of elements per page.
in: query
name: pageSize
type: integer
- description: Sort results in ascending or descending order.
enum:
- ASC
- DESC
in: query
name: sortOrder
type: string
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-array_vaa_VaaDoc'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/vaas/:chain_id/:emitter/:seq:
get:
description: Find a VAA by ID.
operationId: find-vaa-by-id
parameters:
- description: id of the blockchain
in: path
name: chain_id
required: true
type: integer
- description: address of the emitter
in: path
name: emitter
required: true
type: string
- description: sequence of the VAA
in: path
name: seq
required: true
type: integer
- description: include the parsed contents of the VAA, if available
in: query
name: parsedPayload
type: boolean
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-array_vaa_VaaDoc'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/vaas/:chain_id/:emitter/:seq/duplicated:
get:
description: Find duplicated VAA by ID.
operationId: find-duplicated-vaa-by-id
parameters:
- description: id of the blockchain
in: path
name: chain_id
required: true
type: integer
- description: address of the emitter
in: path
name: emitter
required: true
type: string
- description: sequence of the VAA
in: path
name: seq
required: true
type: integer
responses:
"200":
description: OK
schema:
$ref: '#/definitions/response.Response-array_vaa_VaaDoc'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/vaas/parse:
post:
description: Parse a VAA.
operationId: parse-vaa
responses:
"200":
description: OK
schema:
$ref: '#/definitions/parser.ParseVaaWithStandarizedPropertiesdResponse'
"400":
description: Bad Request
"404":
description: Not Found
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/vaas/vaa-counts:
get:
description: Returns the total number of VAAs emitted for each blockchain.
operationId: get-vaa-counts
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/response.Response-array_vaa_VaaStats'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/version:
get:
description: Get version/release information.
operationId: get-version
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/infrastructure.VersionResponse'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/api/v1/x-chain-activity:
get:
description: |-
Returns a list of chain pairs by origin chain and destination chain.
The list could be rendered by notional or transaction count.
The volume is calculated using the notional price of the symbol at the day the VAA was emitted.
operationId: x-chain-activity
parameters:
- description: 'Time span, supported values: 7d, 30d, 90d, 1y and all-time (default
is 7d).'
in: query
name: timeSpan
type: string
- description: Renders the results using notional or tx count (default is notional).
in: query
name: by
type: string
- description: List of apps separated by comma (default is all apps).
in: query
name: apps
type: string
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/transactions.ChainActivity'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
2024-04-25 05:49:55 -07:00
/api/v1/x-chain-activity/tops:
2024-04-22 08:25:55 -07:00
get:
description: Search, for a specific period of time, the number of transactions
and the volume.
operationId: x-chain-activity-tops
parameters:
- description: 'Time span, supported values: 1d, 1mo and 1y'
in: query
name: timespan
required: true
type: string
- description: From date, supported format 2006-01-02T15:04:05Z07:00
in: query
name: from
required: true
type: string
- description: To date, supported format 2006-01-02T15:04:05Z07:00
in: query
name: to
required: true
type: string
- description: Search by appId
in: query
name: appId
type: string
- description: Search by sourceChain
in: query
name: sourceChain
type: string
- description: Search by targetChain
in: query
name: targetChain
type: string
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/transactions.ChainActivityTopResult'
type: array
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/swagger.json:
get:
description: Returns the swagger specification for this API.
operationId: swagger
responses:
"200":
description: OK
schema:
type: object
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- wormholescan
/v1/governor/available_notional_by_chain:
get:
description: |-
Get available notional by chainID
Since from the wormhole-explorer point of view it is not a node, but has the information of all nodes,
in order to build the endpoints it was assumed:
There are N number of remainingAvailableNotional values in the GovernorConfig collection. N = number of guardians
for a chainID. The smallest remainingAvailableNotional value for a chainID is used for the endpoint response.
operationId: governor-available-notional-by-chain
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.AvailableNotionalResponse'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- Guardian
/v1/governor/enqueued_vaas:
get:
description: Get enqueued VAAs
operationId: guardians-enqueued-vaas
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.EnqueuedVaaResponse'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- Guardian
/v1/governor/is_vaa_enqueued/:chain_id/:emitter/:seq:
get:
description: Check if vaa is enqueued
operationId: guardians-is-vaa-enqueued
parameters:
- description: id of the blockchain
in: path
name: chain_id
required: true
type: integer
- description: address of the emitter
in: path
name: emitter
required: true
type: string
- description: sequence of the vaa
in: path
name: seq
required: true
type: integer
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.EnqueuedVaaResponse'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- Guardian
/v1/governor/token_list:
get:
description: |-
Get token list
Since from the wormhole-explorer point of view it is not a node, but has the information of all nodes,
in order to build the endpoints it was assumed:
For tokens with the same originChainId and originAddress and different price values for each node,
the price that has most occurrences in all the nodes for an originChainId and originAddress is returned.
operationId: guardians-token-list
responses:
"200":
description: OK
schema:
items:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/governor.TokenList'
type: array
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- Guardian
/v1/guardianset/current:
get:
description: Get current guardian set.
operationId: guardian-set
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/guardian.GuardianSetResponse'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- Guardian
/v1/heartbeats:
get:
description: Get heartbeats for guardians
operationId: guardians-hearbeats
responses:
"200":
description: OK
schema:
2023-09-26 11:02:57 -07:00
$ref: '#/definitions/heartbeats.HeartbeatsResponse'
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- Guardian
/v1/signed_batch_vaa/:chain_id/:emitter/sequence/:seq:
get:
description: get a batch of VAA []byte from a chainID, emitter address and sequence.
operationId: guardians-find-signed-batch-vaa
parameters:
- description: id of the blockchain
in: path
name: chain_id
required: true
type: integer
- description: address of the emitter
in: path
name: emitter
required: true
type: string
- description: sequence of the VAA
in: path
name: seq
required: true
type: integer
responses:
"200":
description: OK
schema:
properties:
vaaBytes:
items:
type: integer
type: array
type: object
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- Guardian
/v1/signed_vaa/:chain_id/:emitter/:seq:
get:
description: get a VAA []byte from a chainID, emitter address and sequence.
operationId: guardians-find-signed-vaa
parameters:
- description: id of the blockchain
in: path
name: chain_id
required: true
type: integer
- description: address of the emitter
in: path
name: emitter
required: true
type: string
- description: sequence of the VAA
in: path
name: seq
required: true
type: integer
responses:
"200":
description: OK
schema:
properties:
vaaBytes:
items:
type: integer
type: array
type: object
"400":
description: Bad Request
"500":
description: Internal Server Error
tags:
- Guardian
swagger: "2.0"