wormhole-explorer/api/docs/swagger.json

2499 lines
84 KiB
JSON

{
"swagger": "2.0",
"info": {
"description": "Wormhole Guardian API\nTo get information from the Wormhole Network.\nCheck each endpoint documentation for more information.",
"title": "Wormhole Guardian API",
"termsOfService": "https://wormhole.com/",
"contact": {
"name": "API Support",
"url": "http://wormhole.com/support",
"email": "info@wormhole.com"
},
"license": {
"name": "Apache 2.0",
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
},
"version": "1.0"
},
"basePath": "/v1",
"paths": {
"/api/v1/address/{address}": {
"get": {
"description": "Lookup an address",
"tags": [
"Wormscan"
],
"operationId": "find-address-by-id",
"parameters": [
{
"type": "string",
"description": "address",
"name": "address",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "Page number. Starts at 0.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-address_AddressOverview"
}
},
"400": {
"description": "Bad Request"
},
"404": {
"description": "Not Found"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/global-tx/{chain_id}/{emitter}/{seq}": {
"get": {
"description": "Find a global transaction by ID.",
"tags": [
"Wormscan"
],
"operationId": "find-global-transaction-by-id",
"parameters": [
{
"type": "integer",
"description": "id of the blockchain",
"name": "chain_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "address of the emitter",
"name": "emitter",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "sequence of the VAA",
"name": "seq",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/transactions.Tx"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/governor/config": {
"get": {
"description": "Returns governor configuration for all guardians.",
"tags": [
"Wormscan"
],
"operationId": "governor-config",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-governor_GovConfig"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/governor/config/:guardian_address": {
"get": {
"description": "Returns governor configuration for a given guardian.",
"tags": [
"Wormscan"
],
"operationId": "governor-config-by-guardian-address",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-governor_GovConfig"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/governor/enqueued_vaas/": {
"get": {
"description": "Returns enqueued VAAs for each blockchain.",
"tags": [
"Wormscan"
],
"operationId": "governor-enqueued-vaas",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
},
{
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort results in ascending or descending order.",
"name": "sortOrder",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-array_governor_EnqueuedVaas"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/governor/enqueued_vaas/:chain": {
"get": {
"description": "Returns all enqueued VAAs for a given blockchain.",
"tags": [
"Wormscan"
],
"operationId": "guardians-enqueued-vaas-by-chain",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
},
{
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort results in ascending or descending order.",
"name": "sortOrder",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-array_governor_EnqueuedVaaDetail"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/governor/limit": {
"get": {
"description": "Returns the governor limit for all blockchains.",
"tags": [
"Wormscan"
],
"operationId": "governor-notional-limit",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-array_governor_GovernorLimit"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/governor/notional/available": {
"get": {
"description": "Returns the amount of notional value available for each blockchain.",
"tags": [
"Wormscan"
],
"operationId": "governor-notional-available",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
},
{
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort results in ascending or descending order.",
"name": "sortOrder",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-array_governor_NotionalAvailable"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/governor/notional/available/:chain": {
"get": {
"description": "Returns the amount of notional value available for a given blockchain.",
"tags": [
"Wormscan"
],
"operationId": "governor-notional-available-by-chain",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-array_governor_NotionalAvailableDetail"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/governor/notional/limit": {
"get": {
"description": "Returns the detailed notional limit for all blockchains.",
"tags": [
"Wormscan"
],
"operationId": "governor-notional-limit-detail",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-array_governor_NotionalLimitDetail"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/governor/notional/limit/:chain": {
"get": {
"description": "Returns the detailed notional limit available for a given blockchain.",
"tags": [
"Wormscan"
],
"operationId": "governor-notional-limit-detail-by-chain",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-array_governor_NotionalLimitDetail"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/governor/notional/max_available/:chain": {
"get": {
"description": "Returns the maximum amount of notional value available for a given blockchain.",
"tags": [
"Wormscan"
],
"operationId": "governor-max-notional-available-by-chain",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-governor_MaxNotionalAvailableRecord"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/governor/status": {
"get": {
"description": "Returns the governor status for all guardians.",
"tags": [
"Wormscan"
],
"operationId": "governor-status",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-array_governor_GovStatus"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/governor/status/:guardian_address": {
"get": {
"description": "Returns the governor status for a given guardian.",
"tags": [
"Wormscan"
],
"operationId": "governor-status-by-guardian-address",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-governor_GovStatus"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/health": {
"get": {
"description": "Health check",
"tags": [
"Wormscan"
],
"operationId": "health-check",
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"type": "object"
},
{
"type": "object",
"properties": {
"status": {
"type": "string"
}
}
}
]
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/last-txs": {
"get": {
"description": "Returns the number of transactions [vaa] by a defined time span and sample rate.",
"tags": [
"Wormscan"
],
"operationId": "get-last-transactions",
"parameters": [
{
"type": "string",
"description": "Time Span, default: 1d, supported values: [1d, 1w, 1mo]",
"name": "timeSpan",
"in": "query"
},
{
"type": "string",
"description": "Sample Rate, default: 1h, supported values: [1h, 1d]",
"name": "sampleRate",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/transactions.TransactionCountResult"
}
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/observations": {
"get": {
"description": "Returns all observations.",
"tags": [
"Wormscan"
],
"operationId": "find-observations",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
},
{
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort results in ascending or descending order.",
"name": "sortOrder",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/observations.ObservationDoc"
}
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/observations/:chain": {
"get": {
"description": "Returns all observations for a given blockchain.",
"tags": [
"Wormscan"
],
"operationId": "find-observations-by-chain",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
},
{
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort results in ascending or descending order.",
"name": "sortOrder",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/observations.ObservationDoc"
}
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/observations/:chain/:emitter": {
"get": {
"description": "Returns all observations for a specific emitter address.",
"tags": [
"Wormscan"
],
"operationId": "find-observations-by-emitter",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
},
{
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort results in ascending or descending order.",
"name": "sortOrder",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/observations.ObservationDoc"
}
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/observations/:chain/:emitter/:sequence": {
"get": {
"description": "Find observations identified by emitter chain, emitter address and sequence.",
"tags": [
"Wormscan"
],
"operationId": "find-observations-by-sequence",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
},
{
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort results in ascending or descending order.",
"name": "sortOrder",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/observations.ObservationDoc"
}
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/observations/:chain/:emitter/:sequence/:signer/:hash": {
"get": {
"description": "Find a specific observation.",
"tags": [
"Wormscan"
],
"operationId": "find-observations-by-id",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
},
{
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort results in ascending or descending order.",
"name": "sortOrder",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/observations.ObservationDoc"
}
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/ready": {
"get": {
"description": "Ready check",
"tags": [
"Wormscan"
],
"operationId": "ready-check",
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"type": "object"
},
{
"type": "object",
"properties": {
"ready": {
"type": "string"
}
}
}
]
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/scorecards": {
"get": {
"description": "Returns a list of KPIs for Wormhole.",
"tags": [
"Wormscan"
],
"operationId": "get-scorecards",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/transactions.ScorecardsResponse"
}
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/vaas/": {
"get": {
"description": "Returns all VAAs. Output is paginated and can also be be sorted.",
"tags": [
"Wormscan"
],
"operationId": "find-all-vaas",
"parameters": [
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
},
{
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort results in ascending or descending order.",
"name": "sortOrder",
"in": "query"
},
{
"type": "string",
"description": "Transaction hash of the VAA",
"name": "txHash",
"in": "query"
},
{
"type": "boolean",
"description": "include the parsed contents of the VAA, if available",
"name": "parsedPayload",
"in": "query"
},
{
"type": "string",
"description": "filter by application ID",
"name": "appId",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-array_vaa_VaaDoc"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/vaas/vaa-counts": {
"get": {
"description": "Returns the total number of VAAs emitted for each blockchain.",
"tags": [
"Wormscan"
],
"operationId": "get-vaa-counts",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-array_vaa_VaaStats"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/vaas/{chain_id}": {
"get": {
"description": "Returns all the VAAs generated in specific blockchain.",
"tags": [
"Wormscan"
],
"operationId": "find-vaas-by-chain",
"parameters": [
{
"type": "integer",
"description": "id of the blockchain",
"name": "chain_id",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
},
{
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort results in ascending or descending order.",
"name": "sortOrder",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-array_vaa_VaaDoc"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/vaas/{chain_id}/{emitter}": {
"get": {
"description": "Returns all all the VAAs generated by a specific emitter address.",
"tags": [
"Wormscan"
],
"operationId": "find-vaas-by-emitter",
"parameters": [
{
"type": "integer",
"description": "id of the blockchain",
"name": "chain_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "address of the emitter",
"name": "emitter",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "Page number.",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "Number of elements per page.",
"name": "pageSize",
"in": "query"
},
{
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort results in ascending or descending order.",
"name": "sortOrder",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-array_vaa_VaaDoc"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/vaas/{chain_id}/{emitter}/{seq}": {
"get": {
"description": "Find a VAA by ID.",
"tags": [
"Wormscan"
],
"operationId": "find-vaa-by-id",
"parameters": [
{
"type": "integer",
"description": "id of the blockchain",
"name": "chain_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "address of the emitter",
"name": "emitter",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "sequence of the VAA",
"name": "seq",
"in": "path",
"required": true
},
{
"type": "boolean",
"description": "include the parsed contents of the VAA, if available",
"name": "parsedPayload",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/response.Response-array_vaa_VaaDoc"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/version": {
"get": {
"description": "Get version/release information.",
"tags": [
"Wormscan"
],
"operationId": "get-version",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/infrastructure.VersionResponse"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/api/v1/x-chain-activity": {
"get": {
"description": "Returns a list of tx by source chain and destination chain.",
"tags": [
"Wormscan"
],
"operationId": "x-chain-activity",
"parameters": [
{
"type": "string",
"description": "Star time (format: ISO-8601).",
"name": "start_time",
"in": "query"
},
{
"type": "string",
"description": "End time (format: ISO-8601).",
"name": "end_time",
"in": "query"
},
{
"type": "string",
"description": "Renders the results as notional or tx-count (default is notional).",
"name": "by",
"in": "query"
},
{
"type": "string",
"description": "List of apps separated by comma (default is all apps).",
"name": "apps",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/transactions.ChainActivity"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/swagger.json": {
"get": {
"description": "Returns the swagger specification for this API.",
"tags": [
"Wormscan"
],
"operationId": "swagger",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/v1/governor/available_notional_by_chain": {
"get": {
"description": "Get available notional by chainID\nSince from the wormhole-explorer point of view it is not a node, but has the information of all nodes,\nin order to build the endpoints it was assumed:\nThere are N number of remainingAvailableNotional values in the GovernorConfig collection. N = number of guardians\nfor a chainID. The smallest remainingAvailableNotional value for a chainID is used for the endpoint response.",
"tags": [
"Guardian"
],
"operationId": "governor-available-notional-by-chain",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/governor.AvailableNotionalResponse"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/v1/governor/enqueued_vaas": {
"get": {
"description": "Get enqueued VAAs",
"tags": [
"Guardian"
],
"operationId": "guardians-enqueued-vaas",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/governor.EnqueuedVaaResponse"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/v1/governor/is_vaa_enqueued/{chain_id}/{emitter}/{seq}": {
"get": {
"description": "Check if vaa is enqueued",
"tags": [
"Guardian"
],
"operationId": "guardians-is-vaa-enqueued",
"parameters": [
{
"type": "integer",
"description": "id of the blockchain",
"name": "chain_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "address of the emitter",
"name": "emitter",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "sequence of the vaa",
"name": "seq",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/governor.EnqueuedVaaResponse"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/v1/governor/token_list": {
"get": {
"description": "Get token list\nSince from the wormhole-explorer point of view it is not a node, but has the information of all nodes,\nin order to build the endpoints it was assumed:\nFor tokens with the same originChainId and originAddress and different price values for each node,\nthe price that has most occurrences in all the nodes for an originChainId and originAddress is returned.",
"tags": [
"Guardian"
],
"operationId": "guardians-token-list",
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.TokenList"
}
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/v1/guardianset/current": {
"get": {
"description": "Get current guardian set.",
"tags": [
"Guardian"
],
"operationId": "guardian-set",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/guardian.GuardianSetResponse"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/v1/heartbeats": {
"get": {
"description": "Get heartbeats for guardians",
"tags": [
"Guardian"
],
"operationId": "guardians-hearbeats",
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/heartbeats.HeartbeatsResponse"
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/v1/signed_batch_vaa/{chain_id}/{emitter}/sequence/{seq}": {
"get": {
"description": "get a batch of VAA []byte from a chainID, emitter address and sequence.",
"tags": [
"Guardian"
],
"operationId": "guardians-find-signed-batch-vaa",
"parameters": [
{
"type": "integer",
"description": "id of the blockchain",
"name": "chain_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "address of the emitter",
"name": "emitter",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "sequence of the VAA",
"name": "seq",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"type": "object"
},
{
"type": "object",
"properties": {
"vaaBytes": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
]
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
},
"/v1/signed_vaa/{chain_id}/{emitter}/{seq}": {
"get": {
"description": "get a VAA []byte from a chainID, emitter address and sequence.",
"tags": [
"Guardian"
],
"operationId": "guardians-find-signed-vaa",
"parameters": [
{
"type": "integer",
"description": "id of the blockchain",
"name": "chain_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "address of the emitter",
"name": "emitter",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "sequence of the VAA",
"name": "seq",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"allOf": [
{
"type": "object"
},
{
"type": "object",
"properties": {
"vaaBytes": {
"type": "array",
"items": {
"type": "integer"
}
}
}
}
]
}
},
"400": {
"description": "Bad Request"
},
"500": {
"description": "Internal Server Error"
}
}
}
}
},
"definitions": {
"address.AddressOverview": {
"type": "object",
"properties": {
"vaas": {
"type": "array",
"items": {
"$ref": "#/definitions/vaa.VaaDoc"
}
}
}
},
"github_com_wormhole-foundation_wormhole-explorer_api_routes_guardian_guardian.GuardianSet": {
"type": "object",
"properties": {
"addresses": {
"type": "array",
"items": {
"type": "string"
}
},
"index": {
"type": "integer"
}
}
},
"governor.AvailableNotionalItemResponse": {
"type": "object",
"properties": {
"bigTransactionSize": {
"type": "string"
},
"chainId": {
"$ref": "#/definitions/vaa.ChainID"
},
"notionalLimit": {
"type": "string"
},
"remainingAvailableNotional": {
"type": "string"
}
}
},
"governor.AvailableNotionalResponse": {
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.AvailableNotionalItemResponse"
}
}
}
},
"governor.Emitter": {
"type": "object",
"properties": {
"emitterAddress": {
"type": "string"
},
"enqueuedVaas": {
"type": "integer"
},
"totalEnqueuedVaas": {
"type": "integer"
}
}
},
"governor.EnqueuedVaa": {
"type": "object",
"properties": {
"chainId": {
"$ref": "#/definitions/vaa.ChainID"
},
"emitterAddress": {
"type": "string"
},
"notionalValue": {
"type": "integer"
},
"sequence": {
"type": "string"
},
"txHash": {
"type": "string"
}
}
},
"governor.EnqueuedVaaDetail": {
"type": "object",
"properties": {
"chainId": {
"$ref": "#/definitions/vaa.ChainID"
},
"emitterAddress": {
"type": "string"
},
"notionalValue": {
"type": "integer"
},
"releaseTime": {
"type": "integer"
},
"sequence": {
"type": "string"
},
"txHash": {
"type": "string"
}
}
},
"governor.EnqueuedVaaItemResponse": {
"type": "object",
"properties": {
"emitterAddress": {
"type": "string"
},
"emitterChain": {
"$ref": "#/definitions/vaa.ChainID"
},
"notionalValue": {
"type": "string"
},
"releaseTime": {
"type": "integer"
},
"sequence": {
"type": "integer"
},
"txHash": {
"type": "string"
}
}
},
"governor.EnqueuedVaaResponse": {
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.EnqueuedVaaItemResponse"
}
}
}
},
"governor.EnqueuedVaas": {
"type": "object",
"properties": {
"chainId": {
"$ref": "#/definitions/vaa.ChainID"
},
"enqueuedVaas": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.EnqueuedVaa"
}
}
}
},
"governor.GovConfig": {
"type": "object",
"properties": {
"chains": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.GovConfigChains"
}
},
"counter": {
"type": "integer"
},
"createdAt": {
"type": "string"
},
"id": {
"type": "string"
},
"nodeName": {
"type": "string"
},
"tokens": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.GovConfigfTokens"
}
},
"updatedAt": {
"type": "string"
}
}
},
"governor.GovConfigChains": {
"type": "object",
"properties": {
"bigTransactionSize": {
"type": "integer"
},
"chainId": {
"$ref": "#/definitions/vaa.ChainID"
},
"notionalLimit": {
"type": "integer"
}
}
},
"governor.GovConfigfTokens": {
"type": "object",
"properties": {
"originAddress": {
"type": "string"
},
"originChainId": {
"type": "integer"
},
"price": {
"type": "number"
}
}
},
"governor.GovStatus": {
"type": "object",
"properties": {
"chains": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.GovStatusChains"
}
},
"createdAt": {
"type": "string"
},
"id": {
"type": "string"
},
"nodeName": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
}
},
"governor.GovStatusChainEmitter": {
"type": "object",
"properties": {
"emitterAddress": {
"type": "string"
},
"enqueuedVaas": {},
"totalEnqueuedVaas": {
"type": "integer"
}
}
},
"governor.GovStatusChains": {
"type": "object",
"properties": {
"chainId": {
"$ref": "#/definitions/vaa.ChainID"
},
"emitters": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.GovStatusChainEmitter"
}
},
"remainingAvailableNotional": {
"type": "integer"
}
}
},
"governor.GovernorLimit": {
"type": "object",
"properties": {
"availableNotional": {
"type": "integer"
},
"chainId": {
"$ref": "#/definitions/vaa.ChainID"
},
"maxTransactionSize": {
"type": "integer"
},
"notionalLimit": {
"type": "integer"
}
}
},
"governor.MaxNotionalAvailableRecord": {
"type": "object",
"properties": {
"availableNotional": {
"type": "integer"
},
"chainId": {
"$ref": "#/definitions/vaa.ChainID"
},
"createdAt": {
"type": "string"
},
"emitters": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.Emitter"
}
},
"id": {
"type": "string"
},
"nodeName": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
}
},
"governor.NotionalAvailable": {
"type": "object",
"properties": {
"availableNotional": {
"type": "integer"
},
"chainId": {
"$ref": "#/definitions/vaa.ChainID"
}
}
},
"governor.NotionalAvailableDetail": {
"type": "object",
"properties": {
"availableNotional": {
"type": "integer"
},
"chainId": {
"$ref": "#/definitions/vaa.ChainID"
},
"createdAt": {
"type": "string"
},
"id": {
"type": "string"
},
"nodeName": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
}
},
"governor.NotionalLimitDetail": {
"type": "object",
"properties": {
"chainId": {
"$ref": "#/definitions/vaa.ChainID"
},
"createdAt": {
"type": "string"
},
"id": {
"type": "string"
},
"maxTransactionSize": {
"type": "integer"
},
"nodeName": {
"type": "string"
},
"notionalLimit": {
"type": "integer"
},
"updatedAt": {
"type": "string"
}
}
},
"governor.TokenList": {
"type": "object",
"properties": {
"originAddress": {
"type": "string"
},
"originChainId": {
"$ref": "#/definitions/vaa.ChainID"
},
"price": {
"type": "number"
}
}
},
"guardian.GuardianSetResponse": {
"type": "object",
"properties": {
"guardianSet": {
"$ref": "#/definitions/github_com_wormhole-foundation_wormhole-explorer_api_routes_guardian_guardian.GuardianSet"
}
}
},
"heartbeats.HeartbeatNetworkResponse": {
"type": "object",
"properties": {
"contractAddress": {
"type": "string"
},
"errorCount": {
"type": "string"
},
"height": {
"type": "string"
},
"id": {
"type": "integer"
}
}
},
"heartbeats.HeartbeatResponse": {
"type": "object",
"properties": {
"p2pNodeAddr": {
"type": "string"
},
"rawHeartbeat": {
"$ref": "#/definitions/heartbeats.RawHeartbeat"
},
"verifiedGuardianAddr": {
"type": "string"
}
}
},
"heartbeats.HeartbeatsResponse": {
"type": "object",
"properties": {
"entries": {
"type": "array",
"items": {
"$ref": "#/definitions/heartbeats.HeartbeatResponse"
}
}
}
},
"heartbeats.RawHeartbeat": {
"type": "object",
"properties": {
"bootTimestamp": {
"type": "string"
},
"counter": {
"type": "string"
},
"features": {
"type": "array",
"items": {
"type": "string"
}
},
"guardianAddr": {
"type": "string"
},
"networks": {
"type": "array",
"items": {
"$ref": "#/definitions/heartbeats.HeartbeatNetworkResponse"
}
},
"nodeName": {
"type": "string"
},
"timestamp": {
"type": "string"
},
"version": {
"type": "string"
}
}
},
"infrastructure.VersionResponse": {
"type": "object",
"properties": {
"branch": {
"type": "string"
},
"build": {
"type": "string"
},
"build_date": {
"type": "string"
},
"machine": {
"type": "string"
},
"user": {
"type": "string"
}
}
},
"observations.ObservationDoc": {
"type": "object",
"properties": {
"emitterAddr": {
"type": "string"
},
"emitterChain": {
"$ref": "#/definitions/vaa.ChainID"
},
"guardianAddr": {
"type": "string"
},
"hash": {
"type": "array",
"items": {
"type": "integer"
}
},
"id": {
"type": "string"
},
"indexedAt": {
"type": "string"
},
"sequence": {
"type": "string"
},
"signature": {
"type": "array",
"items": {
"type": "integer"
}
},
"txHash": {
"type": "array",
"items": {
"type": "integer"
}
},
"updatedAt": {
"type": "string"
},
"version": {
"type": "integer"
}
}
},
"response.Response-address_AddressOverview": {
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/address.AddressOverview"
},
"pagination": {
"$ref": "#/definitions/response.ResponsePagination"
}
}
},
"response.Response-array_governor_EnqueuedVaaDetail": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.EnqueuedVaaDetail"
}
},
"pagination": {
"$ref": "#/definitions/response.ResponsePagination"
}
}
},
"response.Response-array_governor_EnqueuedVaas": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.EnqueuedVaas"
}
},
"pagination": {
"$ref": "#/definitions/response.ResponsePagination"
}
}
},
"response.Response-array_governor_GovStatus": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.GovStatus"
}
},
"pagination": {
"$ref": "#/definitions/response.ResponsePagination"
}
}
},
"response.Response-array_governor_GovernorLimit": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.GovernorLimit"
}
},
"pagination": {
"$ref": "#/definitions/response.ResponsePagination"
}
}
},
"response.Response-array_governor_NotionalAvailable": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.NotionalAvailable"
}
},
"pagination": {
"$ref": "#/definitions/response.ResponsePagination"
}
}
},
"response.Response-array_governor_NotionalAvailableDetail": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.NotionalAvailableDetail"
}
},
"pagination": {
"$ref": "#/definitions/response.ResponsePagination"
}
}
},
"response.Response-array_governor_NotionalLimitDetail": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/governor.NotionalLimitDetail"
}
},
"pagination": {
"$ref": "#/definitions/response.ResponsePagination"
}
}
},
"response.Response-array_vaa_VaaDoc": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/vaa.VaaDoc"
}
},
"pagination": {
"$ref": "#/definitions/response.ResponsePagination"
}
}
},
"response.Response-array_vaa_VaaStats": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/vaa.VaaStats"
}
},
"pagination": {
"$ref": "#/definitions/response.ResponsePagination"
}
}
},
"response.Response-governor_GovConfig": {
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/governor.GovConfig"
},
"pagination": {
"$ref": "#/definitions/response.ResponsePagination"
}
}
},
"response.Response-governor_GovStatus": {
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/governor.GovStatus"
},
"pagination": {
"$ref": "#/definitions/response.ResponsePagination"
}
}
},
"response.Response-governor_MaxNotionalAvailableRecord": {
"type": "object",
"properties": {
"data": {
"$ref": "#/definitions/governor.MaxNotionalAvailableRecord"
},
"pagination": {
"$ref": "#/definitions/response.ResponsePagination"
}
}
},
"response.ResponsePagination": {
"type": "object",
"properties": {
"next": {
"type": "string"
}
}
},
"transactions.ChainActivity": {
"type": "object",
"properties": {
"txs": {
"type": "array",
"items": {
"$ref": "#/definitions/transactions.Tx"
}
}
}
},
"transactions.Destination": {
"type": "object",
"properties": {
"chain": {
"type": "integer"
},
"percentage": {
"type": "number"
},
"volume": {
"type": "number"
}
}
},
"transactions.ScorecardsResponse": {
"type": "object",
"properties": {
"24h_tx_count": {
"description": "Number of VAAs emitted in the last 24 hours (does not include 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"
}
}
},
"transactions.TransactionCountResult": {
"type": "object",
"properties": {
"count": {
"type": "integer"
},
"time": {
"type": "string"
}
}
},
"transactions.Tx": {
"type": "object",
"properties": {
"chain": {
"type": "integer"
},
"destinations": {
"type": "array",
"items": {
"$ref": "#/definitions/transactions.Destination"
}
},
"percentage": {
"type": "number"
},
"volume": {
"type": "number"
}
}
},
"vaa.ChainID": {
"type": "integer",
"enum": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
21,
22,
23,
24,
26,
28,
29,
30,
32,
3104,
10002
],
"x-enum-varnames": [
"ChainIDUnset",
"ChainIDSolana",
"ChainIDEthereum",
"ChainIDTerra",
"ChainIDBSC",
"ChainIDPolygon",
"ChainIDAvalanche",
"ChainIDOasis",
"ChainIDAlgorand",
"ChainIDAurora",
"ChainIDFantom",
"ChainIDKarura",
"ChainIDAcala",
"ChainIDKlaytn",
"ChainIDCelo",
"ChainIDNear",
"ChainIDMoonbeam",
"ChainIDNeon",
"ChainIDTerra2",
"ChainIDInjective",
"ChainIDSui",
"ChainIDAptos",
"ChainIDArbitrum",
"ChainIDOptimism",
"ChainIDPythNet",
"ChainIDXpla",
"ChainIDBtc",
"ChainIDBase",
"ChainIDSei",
"ChainIDWormchain",
"ChainIDSepolia"
]
},
"vaa.VaaDoc": {
"type": "object",
"properties": {
"appId": {
"description": "AppId is an extension field - it is not present in the guardian API.",
"type": "string"
},
"emitterAddr": {
"type": "string"
},
"emitterChain": {
"$ref": "#/definitions/vaa.ChainID"
},
"guardianSetIndex": {
"type": "integer"
},
"id": {
"type": "string"
},
"indexedAt": {
"type": "string"
},
"nativeTxHash": {
"description": "NativeTxHash is an extension field - it is not present in the guardian API.",
"type": "string"
},
"payload": {
"description": "Payload is an extension field - it is not present in the guardian API.",
"type": "object",
"additionalProperties": true
},
"timestamp": {
"type": "string"
},
"txHash": {
"description": "TxHash is an extension field - it is not present in the guardian API.",
"type": "string"
},
"updatedAt": {
"type": "string"
},
"vaa": {
"type": "array",
"items": {
"type": "integer"
}
},
"version": {
"type": "integer"
}
}
},
"vaa.VaaStats": {
"type": "object",
"properties": {
"chainId": {
"$ref": "#/definitions/vaa.ChainID"
},
"count": {
"type": "integer"
}
}
}
}
}