From 5d606cd49ca330dc572796e54619f9fba0f7f0ac Mon Sep 17 00:00:00 2001 From: vega-ci-bot Date: Mon, 11 Nov 2024 15:04:01 +0000 Subject: [PATCH] Automated specs update from vegaprotocol/vega#4733dfc2a --- .../api/v1/blockexplorer.swagger.json | 3223 ++ .../api/v2/trading_data.swagger.json | 9561 ++++ .../swagger/vega/api/v1/core.swagger.json | 6425 +++ .../vega/api/v1/corestate.swagger.json | 2642 + .../swagger/vega/assets.swagger.json | 43 + .../swagger/vega/chain_events.swagger.json | 43 + .../checkpoint/v1/checkpoint.swagger.json | 43 + .../vega/commands/v1/commands.swagger.json | 43 + .../vega/commands/v1/data.swagger.json | 43 + .../vega/commands/v1/signature.swagger.json | 43 + .../vega/commands/v1/transaction.swagger.json | 43 + .../v1/validator_commands.swagger.json | 43 + .../swagger/vega/data/v1/data.swagger.json | 43 + .../swagger/vega/data/v1/spec.swagger.json | 43 + .../swagger/vega/data_source.swagger.json | 43 + .../vega/events/v1/events.swagger.json | 43 + .../swagger/vega/governance.swagger.json | 43 + .../swagger/vega/markets.swagger.json | 43 + .../swagger/vega/oracle.swagger.json | 43 + .../vega/snapshot/v1/snapshot.swagger.json | 43 + .../swagger/vega/vega.swagger.json | 43 + .../vega/wallet/v1/wallet.swagger.json | 43 + .../api/v1/blockexplorer.swagger.json | 3068 + .../api/v2/trading_data.swagger.json | 15611 +++++ .../swagger/vega/api/v1/core.swagger.json | 6425 +++ .../vega/api/v1/corestate.swagger.json | 2642 + .../swagger/vega/assets.swagger.json | 43 + .../swagger/vega/chain_events.swagger.json | 43 + .../checkpoint/v1/checkpoint.swagger.json | 43 + .../vega/commands/v1/commands.swagger.json | 43 + .../vega/commands/v1/data.swagger.json | 43 + .../vega/commands/v1/signature.swagger.json | 43 + .../vega/commands/v1/transaction.swagger.json | 43 + .../v1/validator_commands.swagger.json | 43 + .../swagger/vega/data/v1/data.swagger.json | 43 + .../swagger/vega/data/v1/spec.swagger.json | 43 + .../swagger/vega/data_source.swagger.json | 43 + .../vega/events/v1/events.swagger.json | 43 + .../swagger/vega/governance.swagger.json | 43 + .../swagger/vega/markets.swagger.json | 43 + .../swagger/vega/oracle.swagger.json | 43 + .../vega/snapshot/v1/snapshot.swagger.json | 43 + .../data-node/swagger/vega/vega.swagger.json | 43 + .../vega/wallet/v1/wallet.swagger.json | 43 + .../datanode-schema.graphql | 5190 ++ specs/v0.79.0-protobuf.1/grpc/proto.json | 46966 ++++++++++++++++ .../api/v1/blockexplorer.swagger.json | 3068 + .../api/v2/trading_data.swagger.json | 9561 ++++ .../swagger/vega/api/v1/core.swagger.json | 6864 +++ .../vega/api/v1/corestate.swagger.json | 3033 + .../vega/swagger/vega/assets.swagger.json | 43 + .../swagger/vega/chain_events.swagger.json | 43 + .../checkpoint/v1/checkpoint.swagger.json | 43 + .../vega/commands/v1/commands.swagger.json | 43 + .../vega/commands/v1/data.swagger.json | 43 + .../vega/commands/v1/signature.swagger.json | 43 + .../vega/commands/v1/transaction.swagger.json | 43 + .../v1/validator_commands.swagger.json | 43 + .../swagger/vega/data/v1/data.swagger.json | 43 + .../swagger/vega/data/v1/spec.swagger.json | 43 + .../swagger/vega/data_source.swagger.json | 43 + .../vega/events/v1/events.swagger.json | 43 + .../vega/swagger/vega/governance.swagger.json | 43 + .../vega/swagger/vega/markets.swagger.json | 43 + .../vega/swagger/vega/oracle.swagger.json | 43 + .../vega/snapshot/v1/snapshot.swagger.json | 43 + .../vega/swagger/vega/vega.swagger.json | 43 + .../vega/wallet/v1/wallet.swagger.json | 43 + .../wallet/api/openrpc.json | 3763 ++ .../wallet/api/wallet.openapi.json | 284 + 70 files changed, 130648 insertions(+) create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/blockexplorer/api/v1/blockexplorer.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/data-node/api/v2/trading_data.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/api/v1/core.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/api/v1/corestate.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/assets.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/chain_events.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/checkpoint/v1/checkpoint.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/commands.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/data.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/signature.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/transaction.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/validator_commands.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/data/v1/data.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/data/v1/spec.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/data_source.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/events/v1/events.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/governance.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/markets.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/oracle.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/snapshot/v1/snapshot.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/vega.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/wallet/v1/wallet.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/blockexplorer/api/v1/blockexplorer.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/data-node/api/v2/trading_data.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/api/v1/core.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/api/v1/corestate.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/assets.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/chain_events.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/checkpoint/v1/checkpoint.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/commands.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/data.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/signature.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/transaction.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/validator_commands.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/data/v1/data.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/data/v1/spec.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/data_source.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/events/v1/events.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/governance.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/markets.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/oracle.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/snapshot/v1/snapshot.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/vega.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/data-node/swagger/vega/wallet/v1/wallet.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/datanode-schema.graphql create mode 100644 specs/v0.79.0-protobuf.1/grpc/proto.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/blockexplorer/api/v1/blockexplorer.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/data-node/api/v2/trading_data.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/api/v1/core.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/api/v1/corestate.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/assets.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/chain_events.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/checkpoint/v1/checkpoint.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/commands.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/data.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/signature.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/transaction.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/validator_commands.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/data/v1/data.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/data/v1/spec.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/data_source.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/events/v1/events.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/governance.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/markets.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/oracle.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/snapshot/v1/snapshot.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/vega.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/vega/swagger/vega/wallet/v1/wallet.swagger.json create mode 100644 specs/v0.79.0-protobuf.1/wallet/api/openrpc.json create mode 100644 specs/v0.79.0-protobuf.1/wallet/api/wallet.openapi.json diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/blockexplorer/api/v1/blockexplorer.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/blockexplorer/api/v1/blockexplorer.swagger.json new file mode 100644 index 000000000..6906f1a13 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/blockexplorer/api/v1/blockexplorer.swagger.json @@ -0,0 +1,3223 @@ +{ + "swagger": "2.0", + "info": { + "title": "Vega block explorer APIs", + "version": "v0.72.1" + }, + "tags": [ + { + "name": "BlockExplorerService" + } + ], + "host": "lb.testnet.vega.xyz", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/info": { + "get": { + "summary": "Info", + "description": "Get information about the block explorer.\nResponse contains a semver formatted version of the data node and the commit hash, from which the block explorer was built", + "operationId": "BlockExplorerService_Info", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1InfoResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "BlockExplorerService" + ] + } + }, + "/transactions": { + "get": { + "summary": "List transactions", + "description": "List transactions from the Vega blockchain", + "operationId": "BlockExplorerService_ListTransactions", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListTransactionsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "limit", + "description": "Number of transactions to be returned from the blockchain.\nThis is deprecated, use first and last instead.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "before", + "description": "Optional cursor to paginate the request.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "after", + "description": "Optional cursor to paginate the request.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "cmdTypes", + "description": "Transaction command types filter, for listing transactions with specified command types.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "excludeCmdTypes", + "description": "Transaction command types exclusion filter, for listing all the transactions except the ones with specified command types.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "parties", + "description": "Party IDs filter, can be sender or receiver.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "first", + "description": "Number of transactions to be returned from the blockchain. Use in conjunction with the `after` cursor to paginate forwards.\nOn its own, this will return the first `first` transactions.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + }, + { + "name": "last", + "description": "Number of transactions to be returned from the blockchain. Use in conjunction with the `before` cursor to paginate backwards.\nOn its own, this will return the last `last` transactions.", + "in": "query", + "required": false, + "type": "integer", + "format": "int64" + } + ], + "tags": [ + "BlockExplorerService" + ] + } + }, + "/transactions/{hash}": { + "get": { + "summary": "Get transaction", + "description": "Get a transaction from the Vega blockchain", + "operationId": "BlockExplorerService_GetTransaction", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1GetTransactionResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "hash", + "description": "Hash of the transaction", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "BlockExplorerService" + ] + } + } + }, + "definitions": { + "ConditionOperator": { + "type": "string", + "enum": [ + "OPERATOR_UNSPECIFIED", + "OPERATOR_EQUALS", + "OPERATOR_GREATER_THAN", + "OPERATOR_GREATER_THAN_OR_EQUAL", + "OPERATOR_LESS_THAN", + "OPERATOR_LESS_THAN_OR_EQUAL" + ], + "default": "OPERATOR_UNSPECIFIED", + "description": "Operator describes the type of comparison.\n\n - OPERATOR_UNSPECIFIED: The default value\n - OPERATOR_EQUALS: Verify if the property values are strictly equal or not.\n - OPERATOR_GREATER_THAN: Verify if the data source data value is greater than the Condition value.\n - OPERATOR_GREATER_THAN_OR_EQUAL: Verify if the data source data value is greater than or equal to the Condition\nvalue.\n - OPERATOR_LESS_THAN: Verify if the data source data value is less than the Condition value.\n - OPERATOR_LESS_THAN_OR_EQUAL: Verify if the data source data value is less or equal to than the Condition\nvalue." + }, + "OracleDataSubmissionOracleSource": { + "type": "string", + "enum": [ + "ORACLE_SOURCE_UNSPECIFIED", + "ORACLE_SOURCE_OPEN_ORACLE", + "ORACLE_SOURCE_JSON", + "ORACLE_SOURCE_ETHEREUM" + ], + "default": "ORACLE_SOURCE_UNSPECIFIED", + "description": "- ORACLE_SOURCE_UNSPECIFIED: Default value\n - ORACLE_SOURCE_OPEN_ORACLE: Specifies that the payload will be base64 encoded JSON conforming to the Open Oracle standard\n - ORACLE_SOURCE_JSON: Specifies that the payload will be base64 encoded JSON, but does not specify the shape of the data\n - ORACLE_SOURCE_ETHEREUM: Specifies that the payload will be base64 encoded JSON conforming to the ETH standard", + "title": "Supported oracle sources" + }, + "OrderTimeInForce": { + "type": "string", + "enum": [ + "TIME_IN_FORCE_UNSPECIFIED", + "TIME_IN_FORCE_GTC", + "TIME_IN_FORCE_GTT", + "TIME_IN_FORCE_IOC", + "TIME_IN_FORCE_FOK", + "TIME_IN_FORCE_GFA", + "TIME_IN_FORCE_GFN" + ], + "default": "TIME_IN_FORCE_UNSPECIFIED", + "description": "- TIME_IN_FORCE_UNSPECIFIED: Default value for TimeInForce, can be valid for an amend\n - TIME_IN_FORCE_GTC: Good until cancelled, the order trades any amount and as much as possible\nand remains on the book until it either trades completely or is cancelled\n - TIME_IN_FORCE_GTT: Good until specified time, this order type trades any amount and as much as possible\nand remains on the book until it either trades completely, is cancelled, or expires at a set time\nNOTE: this may in future be multiple types or have sub types for orders that provide different ways of specifying expiry\n - TIME_IN_FORCE_IOC: Immediate or cancel, the order trades any amount and as much as possible\nbut does not remain on the book (whether it trades or not)\n - TIME_IN_FORCE_FOK: Fill or kill, the order either trades completely i.e. remainingSize == 0 after adding,\nor not at all, and does not remain on the book if it doesn't trade\n - TIME_IN_FORCE_GFA: Good for auction, this order is only accepted during an auction period\n - TIME_IN_FORCE_GFN: Good for normal, this order is only accepted during normal trading (that can be continuous trading or frequent batched auctions)", + "title": "Time In Force for an order" + }, + "StopOrderExpiryStrategy": { + "type": "string", + "enum": [ + "EXPIRY_STRATEGY_UNSPECIFIED", + "EXPIRY_STRATEGY_CANCELS", + "EXPIRY_STRATEGY_SUBMIT" + ], + "default": "EXPIRY_STRATEGY_UNSPECIFIED", + "description": " - EXPIRY_STRATEGY_UNSPECIFIED: Never valid\n - EXPIRY_STRATEGY_CANCELS: Stop order should be cancelled if the expiry time is reached.\n - EXPIRY_STRATEGY_SUBMIT: Order should be submitted if the expiry time is reached." + }, + "UndelegateSubmissionMethod": { + "type": "string", + "enum": [ + "METHOD_UNSPECIFIED", + "METHOD_NOW", + "METHOD_AT_END_OF_EPOCH" + ], + "default": "METHOD_UNSPECIFIED" + }, + "blockexplorerapiv1Transaction": { + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "Height of the block the transaction was found in" + }, + "index": { + "type": "integer", + "format": "int64", + "title": "Index of the transaction in the block" + }, + "hash": { + "type": "string", + "title": "Hash of the transaction" + }, + "submitter": { + "type": "string", + "title": "Vega public key of the transaction's submitter" + }, + "type": { + "type": "string", + "title": "Type of transaction" + }, + "code": { + "type": "integer", + "format": "int64", + "title": "Results code of the transaction. 0 indicates the transaction was successful" + }, + "cursor": { + "type": "string", + "title": "Cursor for this transaction. This is used for paginating results" + }, + "command": { + "$ref": "#/definitions/v1InputData", + "title": "Actual command of the transaction" + }, + "signature": { + "$ref": "#/definitions/v1Signature", + "title": "Signature generated by the submitter for the transaction" + }, + "error": { + "type": "string", + "title": "Optional error happening when processing / checking the transaction\nThis should be set if error code is not 0" + } + } + }, + "commandsv1CancelTransfer": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "Transfer ID of the transfer to cancel." + } + }, + "title": "Request for cancelling a recurring transfer" + }, + "commandsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "commandsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64", + "description": "First epoch from which this transfer shall be paid." + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "factor": { + "type": "string", + "description": "Factor needs to be \u003e 0." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "commandsv1Transfer": { + "type": "object", + "properties": { + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type from which the funds of the party\nshould be taken." + }, + "to": { + "type": "string", + "description": "Public key of the destination account." + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the destination account." + }, + "asset": { + "type": "string", + "description": "Asset ID of the asset to be transferred." + }, + "amount": { + "type": "string", + "description": "Amount to be taken from the source account. This field is an unsigned integer scaled to the asset's decimal places." + }, + "reference": { + "type": "string", + "description": "Reference to be attached to the transfer." + }, + "oneOff": { + "$ref": "#/definitions/commandsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/commandsv1RecurringTransfer" + } + }, + "title": "Transfer initiated by a party" + }, + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "protobufNullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "v1AnnounceNode": { + "type": "object", + "properties": { + "vegaPubKey": { + "type": "string", + "description": "Vega public key, required field." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key, required field." + }, + "chainPubKey": { + "type": "string", + "description": "Public key for the blockchain, required field." + }, + "infoUrl": { + "type": "string", + "description": "URL with more info on the node." + }, + "country": { + "type": "string", + "description": "Country code (ISO 3166-1 alpha-2) for the location of the node." + }, + "id": { + "type": "string", + "description": "Node ID of the validator, i.e. the node's public master key." + }, + "name": { + "type": "string", + "description": "Name of the validator." + }, + "avatarUrl": { + "type": "string", + "description": "AvatarURL of the validator." + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "Vega public key derivation index." + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "description": "Epoch from which the validator is expected\nto be ready to validate blocks." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the ethereum wallet." + }, + "vegaSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the Vega wallet." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + } + }, + "title": "Used to announce a node as a new pending validator" + }, + "v1BatchMarketInstructions": { + "type": "object", + "properties": { + "cancellations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "description": "List of order cancellations to be processed sequentially." + }, + "amendments": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "description": "List of order amendments to be processed sequentially." + }, + "submissions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "description": "List of order submissions to be processed sequentially." + }, + "stopOrdersCancellation": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "description": "List of stop order cancellations to be processed sequentially." + }, + "stopOrdersSubmission": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "description": "List of stop order submissions to be processed sequentially." + } + }, + "title": "Batch of order instructions.\nThis command accepts only the following batches of commands\nand will be processed in the following order:\n- OrderCancellation\n- OrderAmendment\n- OrderSubmission\nThe total amount of commands in the batch across all three lists of\ninstructions is restricted by the following network parameter:\n\"spam.protection.max.batchSize\"" + }, + "v1ChainEvent": { + "type": "object", + "properties": { + "txId": { + "type": "string", + "description": "Transaction ID of the transaction in which the events happened, usually a hash." + }, + "nonce": { + "type": "string", + "format": "uint64", + "description": "Arbitrary one-time integer used to prevent replay attacks." + }, + "builtin": { + "$ref": "#/definitions/vegaBuiltinAssetEvent", + "description": "Built-in asset event." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Event", + "description": "Ethereum ERC20 event." + }, + "stakingEvent": { + "$ref": "#/definitions/vegaStakingEvent", + "description": "Ethereum Staking event." + }, + "erc20Multisig": { + "$ref": "#/definitions/vegaERC20MultiSigEvent", + "description": "Ethereum ERC20 multisig event." + }, + "contractCall": { + "$ref": "#/definitions/vegaEthContractCallEvent", + "title": "Arbitrary contract call" + } + }, + "title": "Event forwarded to the Vega network to provide information on events happening on other networks" + }, + "v1Condition": { + "type": "object", + "properties": { + "operator": { + "$ref": "#/definitions/ConditionOperator", + "description": "Type of comparison to make on the value." + }, + "value": { + "type": "string", + "description": "Value to be compared with by the operator." + } + }, + "title": "Condition describes the condition that must be validated by the network" + }, + "v1CreateTeam": { + "type": "object", + "properties": { + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "description": "Creates a referral team. The team creator automatically becomes\nthe team leader, called a referrer. This cannot be changed.\nA referrer cannot already be or become a liquidity provider,\nnor can they be on an existing team as referrer or referee.", + "title": "Request for creating a referral team" + }, + "v1DelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Delegate to the specified node ID." + }, + "amount": { + "type": "string", + "description": "Amount of stake to delegate. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Command to submit an instruction to delegate some stake to a node" + }, + "v1ETHAddress": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "v1EthereumKeyRotateSubmission": { + "type": "object", + "properties": { + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newAddress": { + "type": "string", + "description": "New address to rotate to." + }, + "currentAddress": { + "type": "string", + "description": "Currently used public address." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature that can be verified using the new ethereum address." + } + }, + "title": "Transaction to allow a validator to rotate their ethereum keys" + }, + "v1Filter": { + "type": "object", + "properties": { + "key": { + "$ref": "#/definitions/v1PropertyKey", + "description": "Data source's data property key targeted by the filter." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that should be matched by the data to be\nconsidered of interest." + } + }, + "description": "Filter describes the conditions under which a data source data is considered of\ninterest or not." + }, + "v1GetTransactionResponse": { + "type": "object", + "properties": { + "transaction": { + "$ref": "#/definitions/blockexplorerapiv1Transaction", + "title": "Transaction corresponding to the hash" + } + } + }, + "v1IcebergOpts": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is made visible and can be traded with during the execution of a single order." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "Minimum allowed remaining size of the order before it is replenished back to its peak size." + } + }, + "title": "Iceberg order options" + }, + "v1InfoResponse": { + "type": "object", + "properties": { + "version": { + "type": "string", + "title": "Semver formatted version of the data node" + }, + "commitHash": { + "type": "string", + "title": "Commit hash from which the data node was built" + } + } + }, + "v1InputData": { + "type": "object", + "properties": { + "nonce": { + "type": "string", + "format": "uint64", + "description": "Number to provide uniqueness to prevent accidental replays and,\nin combination with `block_height`, deliberate attacks.\nA nonce provides uniqueness for otherwise identical transactions,\nensuring that the transaction hash uniquely identifies a specific transaction.\nGranted all other fields are equal, the nonce can either be a counter\nor generated at random to submit multiple transactions within the same\nblock (see below), without being identified as replays.\nPlease note that Protocol Buffers do not have a canonical, unique encoding\nand therefore different libraries or binaries may encode the same message\nslightly differently, causing a different hash." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Block height at which the transaction was made.\nThis should be the current block height. The transaction will be valid\nfrom the block and up to the `tolerance` block height.\nExample: If the network has a tolerance of 150 blocks and `block_height`\nis set to `200`, then the transaction will be valid until block `350`.\nNote that a `block_height` that is ahead of the real block height will be\nrejected. The tolerance can be queried from the chain's network parameters.\n`block_height` prevents replay attacks in conjunction with `nonce` (see above)." + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission", + "description": "Command for submitting an order." + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation", + "description": "Command to cancel an order." + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment", + "description": "Command to amend an order." + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission", + "description": "Command to submit a withdrawal." + }, + "proposalSubmission": { + "$ref": "#/definitions/v1ProposalSubmission", + "description": "Command to submit a governance proposal." + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission", + "description": "Command to submit a vote on a governance proposal." + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission", + "description": "Command to submit a liquidity commitment." + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission", + "description": "Command to delegate tokens to a validator." + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission", + "description": "Command to remove tokens delegated to a validator." + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation", + "description": "Command to request cancelling a liquidity commitment." + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment", + "description": "Command to request amending a liquidity commitment." + }, + "transfer": { + "$ref": "#/definitions/commandsv1Transfer", + "description": "Command to submit a transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer", + "description": "Command to request cancelling a recurring transfer." + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode", + "description": "Command used by a node operator to announce its node as a pending validator." + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions", + "description": "Command to submit a batch of order instructions to a market." + }, + "stopOrdersSubmission": { + "$ref": "#/definitions/v1StopOrdersSubmission", + "description": "Command to submit a pair of stop orders." + }, + "stopOrdersCancellation": { + "$ref": "#/definitions/v1StopOrdersCancellation", + "description": "Command to cancel stop orders." + }, + "createTeam": { + "$ref": "#/definitions/v1CreateTeam", + "description": "Command to create a team." + }, + "updateTeam": { + "$ref": "#/definitions/v1UpdateTeam", + "description": "Command to update a team." + }, + "joinTeam": { + "$ref": "#/definitions/v1JoinTeam", + "description": "Command to join a team." + }, + "nodeVote": { + "$ref": "#/definitions/v1NodeVote", + "description": "Command used by a validator when a node votes for validating that a given resource exists or is valid,\nfor example, an ERC20 deposit is valid and exists on ethereum." + }, + "nodeSignature": { + "$ref": "#/definitions/v1NodeSignature", + "description": "Command used by a validator to submit a signature, to be used by a foreign chain to recognise a decision taken by the Vega network." + }, + "chainEvent": { + "$ref": "#/definitions/v1ChainEvent", + "description": "Command used by a validator to submit an event forwarded to the Vega network to provide information\non events happening on other networks, to be used by a foreign chain\nto recognise a decision taken by the Vega network." + }, + "keyRotateSubmission": { + "$ref": "#/definitions/v1KeyRotateSubmission", + "description": "Command used by a validator to allow given validator to rotate their Vega keys." + }, + "stateVariableProposal": { + "$ref": "#/definitions/v1StateVariableProposal", + "description": "Command used by a validator to submit a floating point value." + }, + "validatorHeartbeat": { + "$ref": "#/definitions/v1ValidatorHeartbeat", + "description": "Command used by a validator to signal they are still online and validating blocks\nor ready to validate blocks when they are still a pending validator." + }, + "ethereumKeyRotateSubmission": { + "$ref": "#/definitions/v1EthereumKeyRotateSubmission", + "description": "Command used by a validator to allow given validator to rotate their Ethereum keys." + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal", + "description": "Command used by a validator to propose a protocol upgrade." + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures", + "description": "Command used by a validator to submit signatures to a smart contract." + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission", + "description": "Command to submit new oracle data from third party providers." + } + } + }, + "v1InternalTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "int64", + "description": "Trigger when the vega time is greater or equal to this time, in Unix seconds." + }, + "every": { + "type": "string", + "format": "int64", + "description": "Repeat the trigger every n seconds after the initial. If no time for\ninitial was specified, begin repeating immediately." + } + }, + "description": "Trigger for an internal time data source." + }, + "v1IssueSignatures": { + "type": "object", + "properties": { + "submitter": { + "type": "string", + "description": "Ethereum address which will submit the signatures to the smart contract." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "What kind of signatures to generate, namely for whether a signer is being added or removed." + }, + "validatorNodeId": { + "type": "string", + "description": "Node ID of the validator node that will be signed in or out of the smart contract." + } + }, + "title": "Transaction for a validator to submit signatures to a smart contract" + }, + "v1JoinTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to join." + } + }, + "description": "A party that joins a referral team is called a referee. A referee cannot\nbe a liquidity provider, nor can they create a team or join multiple teams.\nTo switch teams, the referee can ask to join another team, and the switch will\nbe effective at the end of the epoch.", + "title": "Request to join a team" + }, + "v1KeyRotateSubmission": { + "type": "object", + "properties": { + "newPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "New Vega public key derivation index." + }, + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newPubKey": { + "type": "string", + "description": "New public key to rotate to." + }, + "currentPubKeyHash": { + "type": "string", + "description": "Hash of currently used public key." + } + }, + "title": "Transaction to allow a validator to rotate their Vega keys" + }, + "v1LiquidityProvisionAmendment": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be amended." + }, + "commitmentAmount": { + "type": "string", + "description": "From here at least one of the following is required to consider the command valid." + }, + "fee": { + "type": "string" + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "reference": { + "type": "string" + } + }, + "title": "Amend a liquidity provision request" + }, + "v1LiquidityProvisionCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be cancelled." + } + }, + "title": "Cancel a liquidity provision request" + }, + "v1LiquidityProvisionSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled using the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "reference": { + "type": "string", + "description": "Reference to be added to every order created out of this liquidity provision submission." + } + }, + "title": "A liquidity provision submitted for a given market" + }, + "v1ListTransactionsResponse": { + "type": "object", + "properties": { + "transactions": { + "type": "array", + "items": { + "$ref": "#/definitions/blockexplorerapiv1Transaction" + }, + "title": "Transaction corresponding to the specific request and filters" + } + } + }, + "v1NodeSignature": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the resource being signed." + }, + "sig": { + "type": "string", + "format": "byte", + "description": "The signature generated by the signer." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "Kind of resource being signed." + } + }, + "title": "Represents a signature from a validator, to be used by a foreign chain in order to recognise a decision taken by the Vega network" + }, + "v1NodeSignatureKind": { + "type": "string", + "enum": [ + "NODE_SIGNATURE_KIND_UNSPECIFIED", + "NODE_SIGNATURE_KIND_ASSET_NEW", + "NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED", + "NODE_SIGNATURE_KIND_ASSET_UPDATE" + ], + "default": "NODE_SIGNATURE_KIND_UNSPECIFIED", + "description": "- NODE_SIGNATURE_KIND_UNSPECIFIED: Represents an unspecified or missing value from the input\n - NODE_SIGNATURE_KIND_ASSET_NEW: Represents a signature for a new asset allow-listing\n - NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL: Represents a signature for an asset withdrawal\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED: Represents a signature for a new signer added to the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED: Represents a signature for a signer removed from the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ASSET_UPDATE: Represents a signature for an asset update allow-listing", + "title": "Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc" + }, + "v1NodeVote": { + "type": "object", + "properties": { + "reference": { + "type": "string", + "description": "Reference identifying the resource making the vote, required field." + }, + "type": { + "$ref": "#/definitions/v1NodeVoteType", + "description": "Type of NodeVote, also required." + } + }, + "description": "Used when a node votes for validating that a given resource exists or is valid,\nfor example, an ERC20 deposit is valid and exists on ethereum." + }, + "v1NodeVoteType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_STAKE_DEPOSITED", + "TYPE_STAKE_REMOVED", + "TYPE_FUNDS_DEPOSITED", + "TYPE_SIGNER_ADDED", + "TYPE_SIGNER_REMOVED", + "TYPE_BRIDGE_STOPPED", + "TYPE_BRIDGE_RESUMED", + "TYPE_ASSET_LISTED", + "TYPE_LIMITS_UPDATED", + "TYPE_STAKE_TOTAL_SUPPLY", + "TYPE_SIGNER_THRESHOLD_SET", + "TYPE_GOVERNANCE_VALIDATE_ASSET", + "TYPE_ETHEREUM_CONTRACT_CALL_RESULT" + ], + "default": "TYPE_UNSPECIFIED", + "title": "- TYPE_UNSPECIFIED: Represents an unspecified or missing value from the input\n - TYPE_STAKE_DEPOSITED: Node vote for a new stake deposit\n - TYPE_STAKE_REMOVED: Node vote for a new stake removed event\n - TYPE_FUNDS_DEPOSITED: Node vote for a new collateral deposit\n - TYPE_SIGNER_ADDED: Node vote for a new signer added to the erc20 bridge\n - TYPE_SIGNER_REMOVED: Node vote for a signer removed from the erc20 bridge\n - TYPE_BRIDGE_STOPPED: Node vote for a bridge stopped event\n - TYPE_BRIDGE_RESUMED: Node vote for a bridge resumed event\n - TYPE_ASSET_LISTED: Node vote for a newly listed asset\n - TYPE_LIMITS_UPDATED: Node vote for an asset limits update\n - TYPE_STAKE_TOTAL_SUPPLY: Node vote to share the total supply of the staking token\n - TYPE_SIGNER_THRESHOLD_SET: Node vote to update the threshold of the signer set for the multisig contract\n - TYPE_GOVERNANCE_VALIDATE_ASSET: Node vote to validate a new assert governance proposal\n - TYPE_ETHEREUM_CONTRACT_CALL_RESULT: Node vote for an Ethereum contract call result" + }, + "v1OracleDataSubmission": { + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/OracleDataSubmissionOracleSource", + "description": "Source from which the data is coming from. Must be base64 encoded.\nOracle data is a type of external data source data." + }, + "payload": { + "type": "string", + "format": "byte", + "description": "Data provided by the data source\nIn the case of Open Oracle - it will be the entire object - it will contain messages, signatures and price data." + } + }, + "title": "Command to submit new Oracle data from third party providers" + }, + "v1OrderAmendment": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Order ID, this is required to find the order and will not be updated, required field." + }, + "marketId": { + "type": "string", + "description": "Market ID, this is required to find the order and will not be updated." + }, + "price": { + "type": "string", + "description": "Amend the price for the order if the price value is set, otherwise price will remain unchanged.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "sizeDelta": { + "type": "string", + "format": "int64", + "description": "Amend the size for the order by the delta specified:\n- To reduce the size from the current value set a negative integer value\n- To increase the size from the current value, set a positive integer value\n- To leave the size unchanged set a value of zero\nThis field needs to be scaled using the market's position decimal places." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Amend the expiry time for the order, if the Timestamp value is set, otherwise expiry time will remain unchanged." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Amend the time in force for the order, set to TIME_IN_FORCE_UNSPECIFIED to remain unchanged." + }, + "peggedOffset": { + "type": "string", + "description": "Amend the pegged order offset for the order. This field is an unsigned integer scaled to the market's decimal places." + }, + "peggedReference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Amend the pegged order reference for the order." + } + }, + "title": "An order amendment is a request to amend or update an existing order on Vega" + }, + "v1OrderCancellation": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID for the order. This is set by the system after consensus. Required field." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + } + }, + "title": "Order cancellation is a request to cancel an existing order on Vega" + }, + "v1OrderSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places,\nrequired field for limit orders, however it is not required for market orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of units, cannot be negative." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL, required field." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Time in force indicates how long an order will remain active before it is executed or expires, required field." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire,\nrequired field only for `Order.TimeInForce`.TIME_IN_FORCE_GTT`." + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order, required field - See `Order.Type`." + }, + "reference": { + "type": "string", + "description": "Reference given for the order, this is typically used to retrieve an order submitted through consensus, currently\nset internally by the node to return a unique reference ID for the order submission." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Used to specify the details for a pegged order." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOpts": { + "$ref": "#/definitions/v1IcebergOpts", + "description": "Parameters used to specify an iceberg order." + } + }, + "title": "Order submission is a request to submit or create a new order on Vega" + }, + "v1PropertyKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "type": { + "$ref": "#/definitions/v1PropertyKeyType", + "description": "Data type of the property." + }, + "numberDecimalPlaces": { + "type": "string", + "format": "uint64", + "title": "Optional decimal place to be be applied on the provided value\nvalid only for PropertyType of type DECIMAL and INTEGER" + } + }, + "description": "PropertyKey describes the property key contained in data source data." + }, + "v1PropertyKeyType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_EMPTY", + "TYPE_INTEGER", + "TYPE_STRING", + "TYPE_BOOLEAN", + "TYPE_DECIMAL", + "TYPE_TIMESTAMP" + ], + "default": "TYPE_UNSPECIFIED", + "description": "Type describes the data type of properties that are supported by the data source\nengine.\n\n - TYPE_UNSPECIFIED: The default value.\n - TYPE_EMPTY: Any type.\n - TYPE_INTEGER: Integer type.\n - TYPE_STRING: String type.\n - TYPE_BOOLEAN: Boolean type.\n - TYPE_DECIMAL: Any floating point decimal type.\n - TYPE_TIMESTAMP: Timestamp date type." + }, + "v1ProposalSubmission": { + "type": "object", + "properties": { + "reference": { + "type": "string", + "description": "Reference identifying the proposal." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + } + }, + "title": "Command to submit a new proposal for the\nVega network governance" + }, + "v1ProtocolUpgradeProposal": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "description": "Block height at which to perform the upgrade." + }, + "vegaReleaseTag": { + "type": "string", + "description": "Release tag for the Vega binary." + } + }, + "title": "Transaction for a validator to suggest a protocol upgrade" + }, + "v1PubKey": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + }, + "description": "PubKey is the public key that signed this data.\nDifferent public keys coming from different sources will be further separated." + }, + "v1Signature": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Hex encoded bytes of the signature." + }, + "algo": { + "type": "string", + "description": "Algorithm used to create the signature." + }, + "version": { + "type": "integer", + "format": "int64", + "description": "Version of the signature used to create the signature." + } + }, + "description": "Signature to authenticate a transaction and to be verified by the Vega\nnetwork." + }, + "v1Signer": { + "type": "object", + "properties": { + "pubKey": { + "$ref": "#/definitions/v1PubKey", + "description": "List of authorized public keys that signed the data for this\nsource. All the public keys in the data should be contained in these\npublic keys." + }, + "ethAddress": { + "$ref": "#/definitions/v1ETHAddress", + "description": "In case of an open oracle - Ethereum address will be submitted." + } + } + }, + "v1StateVariableProposal": { + "type": "object", + "properties": { + "proposal": { + "$ref": "#/definitions/vegaStateValueProposal", + "description": "State value proposal details." + } + }, + "title": "Transaction for a validator to submit a floating point value" + }, + "v1StopOrderSetup": { + "type": "object", + "properties": { + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission", + "description": "Order to be submitted once the trigger is breached." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "description": "Trailing percentage at which the order will be submitted." + } + }, + "title": "Price and expiry configuration for a stop order" + }, + "v1StopOrdersCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Optional market ID." + }, + "stopOrderId": { + "type": "string", + "description": "Optional order ID." + } + }, + "title": "Cancel a stop order.\nThe following combinations are available:\nEmpty object will cancel all stop orders for the party\nMarket ID alone will cancel all stop orders in a market\nMarket ID and order ID will cancel a specific stop order in a market\nIf the stop order is part of an OCO, both stop orders will be cancelled" + }, + "v1StopOrdersSubmission": { + "type": "object", + "properties": { + "risesAbove": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price rises above a given trigger price." + }, + "fallsBelow": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price falls below a given trigger price." + } + }, + "title": "Stop order submission submits stops orders.\nIt is possible to make a single stop order submission by\nspecifying a single direction,\nor an OCO (One Cancels the Other) stop order submission\nby specifying a configuration for both directions" + }, + "v1UndelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Optional, if not specified = ALL.\nIf provided, this field must be an unsigned integer passed as a string\nand needs to be scaled using the asset decimal places for the token." + }, + "method": { + "$ref": "#/definitions/UndelegateSubmissionMethod", + "description": "Method of delegation." + } + } + }, + "v1UpdateTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to update." + }, + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "title": "Request for updating a team's properties" + }, + "v1ValidatorHeartbeat": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Node ID of the validator emitting the heartbeat." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the ethereum wallet." + }, + "vegaSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the vega wallet." + }, + "message": { + "type": "string", + "description": "Message which has been signed." + } + }, + "title": "Message from a validator signalling they are still online and validating blocks\nor ready to validate blocks when they are still a pending validator" + }, + "v1VoteSubmission": { + "type": "object", + "properties": { + "proposalId": { + "type": "string", + "description": "Submit vote for the specified proposal ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Actual value of the vote." + } + }, + "description": "Command to submit a new vote for a governance proposal." + }, + "v1WithdrawSubmission": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to be withdrawn." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Represents the submission request to withdraw funds for a party on Vega" + }, + "vegaAccountType": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ], + "default": "ACCOUNT_TYPE_UNSPECIFIED", + "description": "- ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "title": "Various collateral/account types as used by Vega" + }, + "vegaAssetDetails": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the asset (e.g: Great British Pound)." + }, + "symbol": { + "type": "string", + "description": "Symbol of the asset (e.g: GBP)." + }, + "decimals": { + "type": "string", + "format": "uint64", + "description": "Number of decimal / precision handled by this asset." + }, + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "builtinAsset": { + "$ref": "#/definitions/vegaBuiltinAsset", + "description": "Vega built-in asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20", + "description": "Ethereum ERC20 asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetailsUpdate": { + "type": "object", + "properties": { + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Update", + "description": "Ethereum ERC20 asset update." + } + }, + "description": "Changes to apply on an existing asset." + }, + "vegaBuiltinAsset": { + "type": "object", + "properties": { + "maxFaucetAmountMint": { + "type": "string", + "description": "Maximum amount that can be requested by a party through the built-in asset faucet at a time." + } + }, + "title": "Vega internal asset" + }, + "vegaBuiltinAssetDeposit": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "partyId": { + "type": "string", + "description": "Vega party ID i.e. public key." + }, + "amount": { + "type": "string", + "description": "Amount to be deposited. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Deposit for a Vega built-in asset" + }, + "vegaBuiltinAssetEvent": { + "type": "object", + "properties": { + "deposit": { + "$ref": "#/definitions/vegaBuiltinAssetDeposit", + "description": "Built-in asset deposit." + }, + "withdrawal": { + "$ref": "#/definitions/vegaBuiltinAssetWithdrawal", + "description": "Built-in asset withdrawal." + } + }, + "title": "Event related to a Vega built-in asset" + }, + "vegaBuiltinAssetWithdrawal": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "partyId": { + "type": "string", + "description": "Vega network party ID i.e. public key." + }, + "amount": { + "type": "string", + "description": "The amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Withdrawal for a Vega built-in asset" + }, + "vegaCancelTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaCancelTransferConfiguration", + "title": "Configuration for cancellation of a governance-initiated transfer" + } + } + }, + "vegaCancelTransferConfiguration": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "ID of the governance transfer proposal." + } + } + }, + "vegaDataSourceDefinition": { + "type": "object", + "properties": { + "internal": { + "$ref": "#/definitions/vegaDataSourceDefinitionInternal" + }, + "external": { + "$ref": "#/definitions/vegaDataSourceDefinitionExternal" + } + }, + "description": "Represents the top level object that handles data sources.\nData source definition can be external or internal, with whatever\nnumber of data sources are defined for each type in the child objects below." + }, + "vegaDataSourceDefinitionExternal": { + "type": "object", + "properties": { + "oracle": { + "$ref": "#/definitions/vegaDataSourceSpecConfiguration" + }, + "ethOracle": { + "$ref": "#/definitions/vegaEthCallSpec", + "description": "Contains the data specification that is received from Ethereum sources." + } + }, + "description": "DataSourceDefinitionExternal is the top level object used for all external\ndata sources. It contains one of any of the defined `SourceType` variants." + }, + "vegaDataSourceDefinitionInternal": { + "type": "object", + "properties": { + "time": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTime" + }, + "timeTrigger": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTimeTrigger" + } + }, + "description": "Top level object used for all internal data sources.\nIt contains one of any of the defined source type variants." + }, + "vegaDataSourceSpecConfiguration": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + }, + "description": "Signers is the list of authorized signatures that signed the data for this\nsource. All the signatures in the data source data should be contained in\nthis external source. All the signatures in the data should be contained in\nthis list." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "description": "Filters describes which source data are considered of interest or not for\nthe product (or the risk model)." + } + }, + "description": "All types of external data sources use the same configuration set for meeting\nrequirements in order for the data to be useful for Vega - valid signatures\nand matching filters." + }, + "vegaDataSourceSpecConfigurationTime": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps should meet in order to be considered." + } + }, + "description": "Internal data source used for emitting timestamps." + }, + "vegaDataSourceSpecConfigurationTimeTrigger": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps need to meet in order to be considered." + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1InternalTimeTrigger" + }, + "title": "An internal time trigger" + } + }, + "description": "Internal data source used for emitting timestamps automatically using predefined intervals and conditions." + }, + "vegaDataSourceSpecToFutureBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the Future will use the value of\nthis property as settlement data." + }, + "tradingTerminationProperty": { + "type": "string", + "description": "Name of the property in the data source data that signals termination of trading." + } + }, + "title": "DataSourceSpecToFutureBinding describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDataSourceSpecToPerpetualBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + }, + "settlementScheduleProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + } + }, + "title": "Describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDispatchMetric": { + "type": "string", + "enum": [ + "DISPATCH_METRIC_UNSPECIFIED", + "DISPATCH_METRIC_MAKER_FEES_PAID", + "DISPATCH_METRIC_MAKER_FEES_RECEIVED", + "DISPATCH_METRIC_LP_FEES_RECEIVED", + "DISPATCH_METRIC_MARKET_VALUE" + ], + "default": "DISPATCH_METRIC_UNSPECIFIED", + "title": "- DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that is using the total maker fees paid in the market\n - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that is using the total maker fees received in the market\n - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that is using the total LP fees received in the market\n - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that is using total value of the market if above the required threshold and not paid given proposer bonus yet" + }, + "vegaDispatchStrategy": { + "type": "object", + "properties": { + "assetForMetric": { + "type": "string", + "description": "Asset to use for metric." + }, + "metric": { + "$ref": "#/definitions/vegaDispatchMetric", + "description": "Metric to apply." + }, + "markets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional markets in scope." + } + } + }, + "vegaERC20": { + "type": "object", + "properties": { + "contractAddress": { + "type": "string", + "description": "Address of the contract for the token, on the ethereum network." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + }, + "title": "ERC20 token based asset, living on the ethereum network" + }, + "vegaERC20AssetDelist": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + } + }, + "title": "Asset deny-listing for an ERC20 token" + }, + "vegaERC20AssetLimitsUpdated": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "sourceEthereumAddress": { + "type": "string", + "description": "Ethereum wallet that initiated the deposit." + }, + "lifetimeLimits": { + "type": "string", + "description": "Updated lifetime limits." + }, + "withdrawThreshold": { + "type": "string", + "description": "Updated withdrawal threshold." + } + } + }, + "vegaERC20AssetList": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "assetSource": { + "type": "string", + "description": "Ethereum address of the asset." + } + }, + "title": "Asset allow-listing for an ERC20 token" + }, + "vegaERC20Deposit": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "sourceEthereumAddress": { + "type": "string", + "description": "Ethereum wallet that initiated the deposit." + }, + "targetPartyId": { + "type": "string", + "description": "Vega party ID i.e. public key that is the target of the deposit." + }, + "amount": { + "type": "string", + "description": "Amount to be deposited." + } + }, + "title": "Asset deposit for an ERC20 token" + }, + "vegaERC20Event": { + "type": "object", + "properties": { + "index": { + "type": "string", + "format": "uint64", + "description": "Index of the log in the transaction." + }, + "block": { + "type": "string", + "format": "uint64", + "description": "Block in which the transaction was added." + }, + "assetList": { + "$ref": "#/definitions/vegaERC20AssetList", + "description": "List an ERC20 asset." + }, + "assetDelist": { + "$ref": "#/definitions/vegaERC20AssetDelist", + "description": "De-list an ERC20 asset." + }, + "deposit": { + "$ref": "#/definitions/vegaERC20Deposit", + "description": "Deposit ERC20 asset." + }, + "withdrawal": { + "$ref": "#/definitions/vegaERC20Withdrawal", + "description": "Withdraw ERC20 asset." + }, + "assetLimitsUpdated": { + "$ref": "#/definitions/vegaERC20AssetLimitsUpdated", + "description": "Update an ERC20 asset." + }, + "bridgeStopped": { + "type": "boolean", + "description": "Bridge operations has been stopped." + }, + "bridgeResumed": { + "type": "boolean", + "description": "Bridge operations has been resumed." + } + }, + "title": "Event related to an ERC20 token" + }, + "vegaERC20MultiSigEvent": { + "type": "object", + "properties": { + "index": { + "type": "string", + "format": "uint64", + "title": "Index of the log in the transaction" + }, + "block": { + "type": "string", + "format": "uint64", + "title": "Block in which the transaction was added" + }, + "signerAdded": { + "$ref": "#/definitions/vegaERC20SignerAdded", + "title": "Add a signer to the erc20 bridge" + }, + "signerRemoved": { + "$ref": "#/definitions/vegaERC20SignerRemoved", + "title": "Remove a signer from the erc20 bridge" + }, + "thresholdSet": { + "$ref": "#/definitions/vegaERC20ThresholdSet", + "title": "Threshold set" + } + }, + "title": "Event related to the ERC20 MultiSig" + }, + "vegaERC20SignerAdded": { + "type": "object", + "properties": { + "newSigner": { + "type": "string", + "title": "Ethereum address of the new signer" + }, + "nonce": { + "type": "string", + "title": "Nonce created by the Vega network used for this new signer" + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Time at which the block was produced\nwill be used to inform the core at what time\nthe stake was made unavailable." + } + }, + "title": "New signer added to the ERC20 bridge" + }, + "vegaERC20SignerRemoved": { + "type": "object", + "properties": { + "oldSigner": { + "type": "string", + "title": "Ethereum address of the old signer" + }, + "nonce": { + "type": "string", + "title": "Nonce created by the Vega network used for this old signer" + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Time at which the block was produced.\nWill be used to inform the core at what time\nthe stake was made unavailable." + } + }, + "title": "Signer removed from the ERC20 bridge" + }, + "vegaERC20ThresholdSet": { + "type": "object", + "properties": { + "newThreshold": { + "type": "integer", + "format": "int64", + "title": "New threshold value to set" + }, + "nonce": { + "type": "string", + "title": "Nonce created by the Vega network" + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Time at which the block was produced.\nWill be used to inform the core at what time\nthe stake was made unavailable." + } + }, + "title": "Threshold has been updated on the multisig control" + }, + "vegaERC20Update": { + "type": "object", + "properties": { + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address.\nThis will be interpreted against the asset decimals.\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + } + }, + "vegaERC20Withdrawal": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "targetEthereumAddress": { + "type": "string", + "description": "Target Ethereum wallet address." + }, + "referenceNonce": { + "type": "string", + "description": "Reference nonce used for the transaction." + } + }, + "title": "Asset withdrawal for an ERC20 token" + }, + "vegaErc20WithdrawExt": { + "type": "object", + "properties": { + "receiverAddress": { + "type": "string", + "description": "Address into which the bridge will release the funds." + } + }, + "title": "Extension of data required for the withdraw submissions" + }, + "vegaEthCallSpec": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Ethereum address of the contract to call." + }, + "abi": { + "type": "string", + "description": "The ABI of that contract." + }, + "method": { + "type": "string", + "description": "Name of the method on the contract to call." + }, + "args": { + "type": "array", + "items": { + "type": "object" + }, + "description": "List of arguments to pass to method call.\nProtobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum\ntype according to the ABI." + }, + "trigger": { + "$ref": "#/definitions/vegaEthCallTrigger", + "description": "Conditions for determining when to call the contract method." + }, + "requiredConfirmations": { + "type": "string", + "format": "uint64", + "title": "Number of confirmations required before the query is considered verified" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "title": "Filters the data returned from the contract method" + }, + "normalisers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNormaliser" + }, + "description": "Normalisers are used to convert the data returned from the contract method\ninto a standard format. The key of the map is the name of the property,\nwhich identifies the specific piece of data to other parts of the data\nsourcing framework, for example filters. The value is a JSONPath expression\nfor expressing where in the contract call result the required data is\nlocated, for example $[0] indicates the first result. $[1].price would look\nin the second result returned from the contract for a structure with a key\ncalled 'price' and use that if it exists." + } + }, + "description": "Specifies a data source that derives its content from calling a read method\non an Ethereum contract." + }, + "vegaEthCallTrigger": { + "type": "object", + "properties": { + "timeTrigger": { + "$ref": "#/definitions/vegaEthTimeTrigger" + } + }, + "description": "Determines when the contract method should be called." + }, + "vegaEthContractCallEvent": { + "type": "object", + "properties": { + "specId": { + "type": "string", + "description": "ID of the data source spec that triggered this contract call." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Ethereum block height." + }, + "blockTime": { + "type": "string", + "format": "uint64", + "description": "Ethereum block time in Unix seconds." + }, + "result": { + "type": "string", + "format": "byte", + "description": "Result of contract call, packed according to the ABI stored in the associated data source spec." + }, + "error": { + "type": "string", + "description": "Error message if the call failed." + } + }, + "title": "Result of calling an arbitrary Ethereum contract method" + }, + "vegaEthTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "uint64", + "description": "Trigger when the Ethereum time is greater or equal to this time, in Unix\nseconds." + }, + "every": { + "type": "string", + "format": "uint64", + "description": "Repeat the call every n seconds after the initial call. If no time for\ninitial call was specified, begin repeating immediately." + }, + "until": { + "type": "string", + "format": "uint64", + "description": "If repeating, stop once Ethereum time is greater than this time, in Unix\nseconds. If not set, then repeat indefinitely." + } + }, + "description": "Trigger for an Ethereum call based on the Ethereum block timestamp. Can be\none-off or repeating." + }, + "vegaFutureProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The external data source spec describing the data source of trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaGovernanceTransferType": { + "type": "string", + "enum": [ + "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED", + "GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING", + "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT" + ], + "default": "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED" + }, + "vegaInstrumentConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Instrument name." + }, + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaFutureProduct", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpotProduct", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaKeyValueBundle": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "tolerance": { + "type": "string" + }, + "value": { + "$ref": "#/definitions/vegaStateVarValue" + } + } + }, + "vegaLiquidityMonitoringParameters": { + "type": "object", + "properties": { + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "triggeringRatio": { + "type": "string", + "description": "Specifies the triggering ratio for entering liquidity auction." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction." + } + }, + "title": "LiquidityMonitoringParameters contains settings used for liquidity monitoring" + }, + "vegaLiquidityOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Pegged reference point for the order." + }, + "proportion": { + "type": "integer", + "format": "int64", + "description": "Relative proportion of the commitment to be allocated at a price level." + }, + "offset": { + "type": "string", + "description": "Offset/amount of units away for the order. This field is an unsigned integer scaled using the market's decimal places." + } + }, + "title": "Represents a liquidity order" + }, + "vegaLiquiditySLAParameters": { + "type": "object", + "properties": { + "priceRange": { + "type": "string" + }, + "commitmentMinTimeFraction": { + "type": "string", + "description": "Specifies the minimum fraction of time LPs must spend \"on the book\" providing their committed liquidity." + }, + "providersFeeCalculationTimeStep": { + "type": "string", + "format": "int64", + "description": "Specifies how often the quality of liquidity supplied by the LPs is evaluated and fees arising from that period are earmarked for specific parties." + }, + "performanceHysteresisEpochs": { + "type": "string", + "format": "uint64", + "description": "Specifies the number of liquidity epochs over which past performance will continue to affect rewards." + }, + "slaCompetitionFactor": { + "type": "string", + "description": "Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers\nthat achieved a higher SLA performance than them." + } + } + }, + "vegaLogNormalModelParams": { + "type": "object", + "properties": { + "mu": { + "type": "number", + "format": "double", + "description": "Mu parameter, annualised growth rate of the underlying asset." + }, + "r": { + "type": "number", + "format": "double", + "description": "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number." + }, + "sigma": { + "type": "number", + "format": "double", + "description": "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number." + } + }, + "title": "Risk model parameters for log normal" + }, + "vegaLogNormalRiskModel": { + "type": "object", + "properties": { + "riskAversionParameter": { + "type": "number", + "format": "double", + "description": "Risk Aversion Parameter." + }, + "tau": { + "type": "number", + "format": "double", + "description": "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall\ncalculation to obtain the maintenance margin, must be a strictly non-negative real number." + }, + "params": { + "$ref": "#/definitions/vegaLogNormalModelParams", + "description": "Risk model parameters for log normal." + } + }, + "title": "Risk model for log normal" + }, + "vegaMarketStateUpdateType": { + "type": "string", + "enum": [ + "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "MARKET_STATE_UPDATE_TYPE_TERMINATE", + "MARKET_STATE_UPDATE_TYPE_SUSPEND", + "MARKET_STATE_UPDATE_TYPE_RESUME" + ], + "default": "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "title": "- MARKET_STATE_UPDATE_TYPE_UNSPECIFIED: Default value, always invalid\n - MARKET_STATE_UPDATE_TYPE_TERMINATE: Request to terminate a market via governance\n - MARKET_STATE_UPDATE_TYPE_SUSPEND: Request to suspend a market via governance\n - MARKET_STATE_UPDATE_TYPE_RESUME: Request to resume a market via governance" + }, + "vegaMatrixValue": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVectorValue" + } + } + } + }, + "vegaNetworkParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Unique key of the network parameter." + }, + "value": { + "type": "string", + "description": "Value for the network parameter." + } + }, + "title": "Represents a network parameter on Vega" + }, + "vegaNewAsset": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Configuration of the new asset." + } + }, + "title": "New asset on Vega" + }, + "vegaNewFreeform": { + "type": "object", + "description": "Freeform proposal\nThis message is just used as a placeholder to sort out the nature of the\nproposal once parsed." + }, + "vegaNewMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewMarketConfiguration", + "description": "Configuration of the new market." + } + }, + "title": "New market on Vega" + }, + "vegaNewMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New futures market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new futures market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the futures market can be." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "successor": { + "$ref": "#/definitions/vegaSuccessorConfiguration", + "description": "Successor configuration. If this proposal is meant to succeed a given market, then this should be set." + } + }, + "title": "Configuration for a new futures market on Vega" + }, + "vegaNewSpotMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewSpotMarketConfiguration", + "description": "Configuration of the new spot market." + } + }, + "title": "New spot market on Vega" + }, + "vegaNewSpotMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New spot market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new spot market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the spot market can be." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration for a new spot market on Vega" + }, + "vegaNewTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewTransferConfiguration", + "description": "Configuration for a new transfer." + } + }, + "title": "New governance transfer" + }, + "vegaNewTransferConfiguration": { + "type": "object", + "properties": { + "sourceType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Source account type, such as network treasury, market insurance pool" + }, + "source": { + "type": "string", + "title": "If network treasury, field is empty, otherwise uses the market ID" + }, + "transferType": { + "$ref": "#/definitions/vegaGovernanceTransferType", + "title": "\"All or nothing\" or \"best effort\":\nAll or nothing: Transfers the specified amount or does not transfer anything\nBest effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount" + }, + "amount": { + "type": "string", + "title": "Maximum amount to transfer" + }, + "asset": { + "type": "string", + "title": "ID of asset to transfer" + }, + "fractionOfBalance": { + "type": "string", + "title": "Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance" + }, + "destinationType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool" + }, + "destination": { + "type": "string", + "title": "Specifies the account to transfer to, depending on the account type:\nNetwork treasury: leave empty\nParty: party's public key\nMarket insurance pool: market ID" + }, + "oneOff": { + "$ref": "#/definitions/vegaOneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaRecurringTransfer" + } + } + }, + "vegaNormaliser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "expression": { + "type": "string" + } + } + }, + "vegaOneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegaOrderType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LIMIT", + "TYPE_MARKET", + "TYPE_NETWORK" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_LIMIT: Used for Limit orders\n - TYPE_MARKET: Used for Market orders\n - TYPE_NETWORK: Used for orders where the initiating party is the network (with distressed parties)", + "title": "Type values for an order" + }, + "vegaPeggedOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Price point the order is linked to." + }, + "offset": { + "type": "string", + "description": "Offset from the price reference." + } + }, + "title": "Pegged orders are limit orders where the price is specified in the form REFERENCE +/- OFFSET\nThey can be used for any limit order that is valid during continuous trading" + }, + "vegaPeggedReference": { + "type": "string", + "enum": [ + "PEGGED_REFERENCE_UNSPECIFIED", + "PEGGED_REFERENCE_MID", + "PEGGED_REFERENCE_BEST_BID", + "PEGGED_REFERENCE_BEST_ASK" + ], + "default": "PEGGED_REFERENCE_UNSPECIFIED", + "description": "- PEGGED_REFERENCE_UNSPECIFIED: Default value for PeggedReference, no reference given\n - PEGGED_REFERENCE_MID: Mid price reference\n - PEGGED_REFERENCE_BEST_BID: Best bid price reference\n - PEGGED_REFERENCE_BEST_ASK: Best ask price reference", + "title": "Pegged reference defines which price point a pegged order is linked to - meaning\nthe price for a pegged order is calculated from the value of the reference price point" + }, + "vegaPerpetualProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaPriceMonitoringParameters": { + "type": "object", + "properties": { + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger" + } + } + }, + "title": "PriceMonitoringParameters contains a collection of triggers to be used for a given market" + }, + "vegaPriceMonitoringTrigger": { + "type": "object", + "properties": { + "horizon": { + "type": "string", + "format": "int64", + "description": "Price monitoring projection horizon τ in seconds." + }, + "probability": { + "type": "string", + "description": "Price monitoring probability level p." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Price monitoring auction extension duration in seconds should the price\nbreach its theoretical level over the specified horizon at the specified\nprobability level." + } + }, + "title": "PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration" + }, + "vegaProposalRationale": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description to show a short title / something in case the link goes offline.\nThis is to be between 0 and 20k unicode characters.\nThis is mandatory for all proposals." + }, + "title": { + "type": "string", + "description": "Title to be used to give a short description of the proposal in lists.\nThis is to be between 0 and 100 unicode characters.\nThis is mandatory for all proposals." + } + }, + "description": "Rationale behind a proposal." + }, + "vegaProposalTerms": { + "type": "object", + "properties": { + "closingTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when voting closes for this proposal,\nconstrained by `minClose` and `maxClose` network parameters." + }, + "enactmentTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when proposal gets enacted if passed,\nconstrained by `minEnact` and `maxEnact` network parameters." + }, + "validationTimestamp": { + "type": "string", + "format": "int64", + "description": "Validation timestamp as Unix time in seconds." + }, + "updateMarket": { + "$ref": "#/definitions/vegaUpdateMarket", + "description": "Proposal change for modifying an existing futures market on Vega." + }, + "newMarket": { + "$ref": "#/definitions/vegaNewMarket", + "description": "Proposal change for creating new futures market on Vega." + }, + "updateNetworkParameter": { + "$ref": "#/definitions/vegaUpdateNetworkParameter", + "description": "Proposal change for updating Vega network parameters." + }, + "newAsset": { + "$ref": "#/definitions/vegaNewAsset", + "description": "Proposal change for creating new assets on Vega." + }, + "newFreeform": { + "$ref": "#/definitions/vegaNewFreeform", + "description": "Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system,\nand can be used to gauge community sentiment." + }, + "updateAsset": { + "$ref": "#/definitions/vegaUpdateAsset", + "description": "Proposal change for updating an asset." + }, + "newSpotMarket": { + "$ref": "#/definitions/vegaNewSpotMarket", + "description": "Proposal change for creating new spot market on Vega." + }, + "updateSpotMarket": { + "$ref": "#/definitions/vegaUpdateSpotMarket", + "description": "Proposal change for modifying an existing spot market on Vega." + }, + "newTransfer": { + "$ref": "#/definitions/vegaNewTransfer", + "description": "Proposal change for a governance transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/vegaCancelTransfer", + "description": "Cancel a governance transfer." + }, + "updateMarketState": { + "$ref": "#/definitions/vegaUpdateMarketState", + "description": "Proposal change for updating the state of a market." + } + }, + "title": "Terms for a governance proposal on Vega" + }, + "vegaRecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegaScalarValue": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + } + }, + "vegaSide": { + "type": "string", + "enum": [ + "SIDE_UNSPECIFIED", + "SIDE_BUY", + "SIDE_SELL" + ], + "default": "SIDE_UNSPECIFIED", + "description": "- SIDE_UNSPECIFIED: Default value, always invalid\n - SIDE_BUY: Buy order\n - SIDE_SELL: Sell order", + "title": "Side relates to the direction of an order, to Buy, or Sell" + }, + "vegaSimpleModelParams": { + "type": "object", + "properties": { + "factorLong": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for long." + }, + "factorShort": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for short." + }, + "maxMoveUp": { + "type": "number", + "format": "double", + "description": "Pre-defined maximum price move up that the model considers as valid." + }, + "minMoveDown": { + "type": "number", + "format": "double", + "description": "Pre-defined minimum price move down that the model considers as valid." + }, + "probabilityOfTrading": { + "type": "number", + "format": "double", + "description": "Pre-defined constant probability of trading." + } + }, + "title": "Risk model parameters for simple modelling" + }, + "vegaSpotProduct": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Base asset ID." + }, + "quoteAsset": { + "type": "string", + "description": "Quote asset ID." + }, + "name": { + "type": "string", + "description": "Product name." + } + }, + "title": "Spot product configuration" + }, + "vegaStakeDeposited": { + "type": "object", + "properties": { + "ethereumAddress": { + "type": "string", + "title": "Ethereum Address of the user depositing stake (hex encode with 0x prefix)" + }, + "vegaPublicKey": { + "type": "string", + "description": "Hex encoded public key of the party receiving the stake deposit." + }, + "amount": { + "type": "string", + "description": "Amount deposited as an unsigned base 10 integer scaled to the asset's decimal places." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Time at which the block was produced.\nWill be used to inform the core at what time\nthe stake started to be available." + } + } + }, + "vegaStakeRemoved": { + "type": "object", + "properties": { + "ethereumAddress": { + "type": "string", + "description": "Ethereum address of the user removing stake. This should be hex encoded with 0x prefix." + }, + "vegaPublicKey": { + "type": "string", + "description": "Hex encoded public key of the party from which to remove stake." + }, + "amount": { + "type": "string", + "description": "Amount removed as a base 10 unsigned integer scaled to the asset's decimal places." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "The time at which the block was produced\nwill be used to inform the core at what time\nthe stake was made unavailable." + } + } + }, + "vegaStakeTotalSupply": { + "type": "object", + "properties": { + "tokenAddress": { + "type": "string", + "title": "Address of the staking asset" + }, + "totalSupply": { + "type": "string", + "description": "Total supply observed for the token as an unsigned based 10 integer scaled to the asset's decimal places." + } + } + }, + "vegaStakingEvent": { + "type": "object", + "properties": { + "index": { + "type": "string", + "format": "uint64", + "description": "Index of the log in the transaction." + }, + "block": { + "type": "string", + "format": "uint64", + "description": "Block in which the transaction was added." + }, + "stakeDeposited": { + "$ref": "#/definitions/vegaStakeDeposited" + }, + "stakeRemoved": { + "$ref": "#/definitions/vegaStakeRemoved" + }, + "totalSupply": { + "$ref": "#/definitions/vegaStakeTotalSupply" + } + }, + "description": "Event related to staking on the Vega network." + }, + "vegaStateValueProposal": { + "type": "object", + "properties": { + "stateVarId": { + "type": "string", + "description": "State variable ID." + }, + "eventId": { + "type": "string", + "description": "Event ID." + }, + "kvb": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaKeyValueBundle" + }, + "description": "Key value tolerance triplets." + } + } + }, + "vegaStateVarValue": { + "type": "object", + "properties": { + "scalarVal": { + "$ref": "#/definitions/vegaScalarValue" + }, + "vectorVal": { + "$ref": "#/definitions/vegaVectorValue" + }, + "matrixVal": { + "$ref": "#/definitions/vegaMatrixValue" + } + } + }, + "vegaSuccessorConfiguration": { + "type": "object", + "properties": { + "parentMarketId": { + "type": "string", + "description": "ID of the market that the successor should take over from." + }, + "insurancePoolFraction": { + "type": "string", + "description": "A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor." + } + }, + "description": "Configuration required to turn a new market proposal in to a successor market proposal." + }, + "vegaTargetStakeParameters": { + "type": "object", + "properties": { + "timeWindow": { + "type": "string", + "format": "int64", + "description": "Specifies length of time window expressed in seconds for target stake calculation." + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Specifies scaling factors used in target stake calculation." + } + }, + "title": "TargetStakeParameters contains parameters used in target stake calculation" + }, + "vegaUpdateAsset": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaAssetDetailsUpdate", + "description": "Changes to apply on an existing asset." + } + }, + "title": "Update an existing asset on Vega" + }, + "vegaUpdateFutureProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data of settlement data." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data source for trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "The binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaUpdateInstrumentConfiguration": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaUpdateFutureProduct", + "description": "Future." + }, + "perpetual": { + "$ref": "#/definitions/vegaUpdatePerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaUpdateMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateMarketConfiguration", + "description": "Updated configuration of the futures market." + } + }, + "title": "Update an existing market on Vega" + }, + "vegaUpdateMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaUpdateInstrumentConfiguration", + "description": "Updated futures market instrument configuration." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + } + }, + "title": "Configuration to update a futures market on Vega" + }, + "vegaUpdateMarketState": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaUpdateMarketStateConfiguration", + "title": "Configuration for governance-initiated change of a market's state" + } + } + }, + "vegaUpdateMarketStateConfiguration": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "ID of the market" + }, + "updateType": { + "$ref": "#/definitions/vegaMarketStateUpdateType", + "title": "Type of the market update" + }, + "price": { + "type": "string", + "title": "Settlement price, relevant only for market termination for futures markets" + } + } + }, + "vegaUpdateNetworkParameter": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "The network parameter to update." + } + }, + "title": "Update network configuration on Vega" + }, + "vegaUpdatePerpetualProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaUpdateSpotMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateSpotMarketConfiguration", + "description": "Updated configuration of the spot market." + } + }, + "title": "Update an existing spot market on Vega" + }, + "vegaUpdateSpotMarketConfiguration": { + "type": "object", + "properties": { + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration to update a spot market on Vega" + }, + "vegaVectorValue": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "vegaVoteValue": { + "type": "string", + "enum": [ + "VALUE_UNSPECIFIED", + "VALUE_NO", + "VALUE_YES" + ], + "default": "VALUE_UNSPECIFIED", + "description": "- VALUE_UNSPECIFIED: Default value, always invalid\n - VALUE_NO: Vote against the proposal\n - VALUE_YES: Vote in favour of the proposal", + "title": "Vote value" + }, + "vegaWithdrawExt": { + "type": "object", + "properties": { + "erc20": { + "$ref": "#/definitions/vegaErc20WithdrawExt", + "description": "ERC20 withdrawal details." + } + }, + "title": "Withdrawal external details" + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/data-node/api/v2/trading_data.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/data-node/api/v2/trading_data.swagger.json new file mode 100644 index 000000000..daf3e2635 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/data-node/api/v2/trading_data.swagger.json @@ -0,0 +1,9561 @@ +{ + "swagger": "2.0", + "info": { + "title": "Vega data node APIs", + "version": "v0.72.1" + }, + "tags": [ + { + "name": "TradingDataService" + } + ], + "host": "https://api.testnet.vega.xyz", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "ConditionOperator": { + "type": "string", + "enum": [ + "OPERATOR_UNSPECIFIED", + "OPERATOR_EQUALS", + "OPERATOR_GREATER_THAN", + "OPERATOR_GREATER_THAN_OR_EQUAL", + "OPERATOR_LESS_THAN", + "OPERATOR_LESS_THAN_OR_EQUAL" + ], + "default": "OPERATOR_UNSPECIFIED", + "description": "Operator describes the type of comparison.\n\n - OPERATOR_UNSPECIFIED: The default value\n - OPERATOR_EQUALS: Verify if the property values are strictly equal or not.\n - OPERATOR_GREATER_THAN: Verify if the data source data value is greater than the Condition value.\n - OPERATOR_GREATER_THAN_OR_EQUAL: Verify if the data source data value is greater than or equal to the Condition\nvalue.\n - OPERATOR_LESS_THAN: Verify if the data source data value is less than the Condition value.\n - OPERATOR_LESS_THAN_OR_EQUAL: Verify if the data source data value is less or equal to than the Condition\nvalue." + }, + "FundingPeriodDataPointSource": { + "type": "string", + "enum": [ + "SOURCE_UNSPECIFIED", + "SOURCE_EXTERNAL", + "SOURCE_INTERNAL" + ], + "default": "SOURCE_UNSPECIFIED", + "description": " - SOURCE_UNSPECIFIED: Default value\n - SOURCE_EXTERNAL: Data point is from an external data source, such as an oracle, and represents the spot price of the underlying asset.\n - SOURCE_INTERNAL: Data point from within Vega such as the mark price after performing mark-to-market." + }, + "MarketTradingMode": { + "type": "string", + "enum": [ + "TRADING_MODE_UNSPECIFIED", + "TRADING_MODE_CONTINUOUS", + "TRADING_MODE_BATCH_AUCTION", + "TRADING_MODE_OPENING_AUCTION", + "TRADING_MODE_MONITORING_AUCTION", + "TRADING_MODE_NO_TRADING", + "TRADING_MODE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "TRADING_MODE_UNSPECIFIED", + "description": "- TRADING_MODE_UNSPECIFIED: Default value, this is invalid\n - TRADING_MODE_CONTINUOUS: Normal trading\n - TRADING_MODE_BATCH_AUCTION: Auction trading (FBA)\n - TRADING_MODE_OPENING_AUCTION: Opening auction\n - TRADING_MODE_MONITORING_AUCTION: Auction triggered by monitoring\n - TRADING_MODE_NO_TRADING: No trading is allowed\n - TRADING_MODE_SUSPENDED_VIA_GOVERNANCE: Special auction mode triggered via governance", + "title": "Trading mode the market is currently running, also referred to as 'market state'" + }, + "OracleDataSubmissionOracleSource": { + "type": "string", + "enum": [ + "ORACLE_SOURCE_UNSPECIFIED", + "ORACLE_SOURCE_OPEN_ORACLE", + "ORACLE_SOURCE_JSON", + "ORACLE_SOURCE_ETHEREUM" + ], + "default": "ORACLE_SOURCE_UNSPECIFIED", + "description": "- ORACLE_SOURCE_UNSPECIFIED: Default value\n - ORACLE_SOURCE_OPEN_ORACLE: Specifies that the payload will be base64 encoded JSON conforming to the Open Oracle standard\n - ORACLE_SOURCE_JSON: Specifies that the payload will be base64 encoded JSON, but does not specify the shape of the data\n - ORACLE_SOURCE_ETHEREUM: Specifies that the payload will be base64 encoded JSON conforming to the ETH standard", + "title": "Supported oracle sources" + }, + "OrderTimeInForce": { + "type": "string", + "enum": [ + "TIME_IN_FORCE_UNSPECIFIED", + "TIME_IN_FORCE_GTC", + "TIME_IN_FORCE_GTT", + "TIME_IN_FORCE_IOC", + "TIME_IN_FORCE_FOK", + "TIME_IN_FORCE_GFA", + "TIME_IN_FORCE_GFN" + ], + "default": "TIME_IN_FORCE_UNSPECIFIED", + "description": "- TIME_IN_FORCE_UNSPECIFIED: Default value for TimeInForce, can be valid for an amend\n - TIME_IN_FORCE_GTC: Good until cancelled, the order trades any amount and as much as possible\nand remains on the book until it either trades completely or is cancelled\n - TIME_IN_FORCE_GTT: Good until specified time, this order type trades any amount and as much as possible\nand remains on the book until it either trades completely, is cancelled, or expires at a set time\nNOTE: this may in future be multiple types or have sub types for orders that provide different ways of specifying expiry\n - TIME_IN_FORCE_IOC: Immediate or cancel, the order trades any amount and as much as possible\nbut does not remain on the book (whether it trades or not)\n - TIME_IN_FORCE_FOK: Fill or kill, the order either trades completely i.e. remainingSize == 0 after adding,\nor not at all, and does not remain on the book if it doesn't trade\n - TIME_IN_FORCE_GFA: Good for auction, this order is only accepted during an auction period\n - TIME_IN_FORCE_GFN: Good for normal, this order is only accepted during normal trading (that can be continuous trading or frequent batched auctions)", + "title": "Time In Force for an order" + }, + "StopOrderExpiryStrategy": { + "type": "string", + "enum": [ + "EXPIRY_STRATEGY_UNSPECIFIED", + "EXPIRY_STRATEGY_CANCELS", + "EXPIRY_STRATEGY_SUBMIT" + ], + "default": "EXPIRY_STRATEGY_UNSPECIFIED", + "description": " - EXPIRY_STRATEGY_UNSPECIFIED: Never valid\n - EXPIRY_STRATEGY_CANCELS: Stop order should be cancelled if the expiry time is reached.\n - EXPIRY_STRATEGY_SUBMIT: Order should be submitted if the expiry time is reached." + }, + "StopOrderTriggerDirection": { + "type": "string", + "enum": [ + "TRIGGER_DIRECTION_UNSPECIFIED", + "TRIGGER_DIRECTION_RISES_ABOVE", + "TRIGGER_DIRECTION_FALLS_BELOW" + ], + "default": "TRIGGER_DIRECTION_UNSPECIFIED", + "title": "- TRIGGER_DIRECTION_UNSPECIFIED: Never valid\n - TRIGGER_DIRECTION_RISES_ABOVE: Stop order is triggered once the price rises above a certain level\n - TRIGGER_DIRECTION_FALLS_BELOW: Stop order is triggered once the price falls below a certain level" + }, + "TransactionResultFailureDetails": { + "type": "object", + "properties": { + "error": { + "type": "string", + "title": "Error message explaining the reason for the transaction failing processing" + } + } + }, + "TransactionResultSuccessDetails": { + "type": "object" + }, + "UndelegateSubmissionMethod": { + "type": "string", + "enum": [ + "METHOD_UNSPECIFIED", + "METHOD_NOW", + "METHOD_AT_END_OF_EPOCH" + ], + "default": "METHOD_UNSPECIFIED" + }, + "apiHttpBody": { + "type": "object", + "properties": { + "contentType": { + "type": "string", + "description": "The HTTP Content-Type header value specifying the content type of the body." + }, + "data": { + "type": "string", + "format": "byte", + "description": "The HTTP request/response body as raw binary." + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + }, + "description": "Application specific response metadata. Must be set in the first response\nfor streaming APIs." + } + }, + "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n message GetResourceRequest {\n // A unique request id.\n string request_id = 1;\n\n // The raw HTTP body is bound to this field.\n google.api.HttpBody http_body = 2;\n\n }\n\n service ResourceService {\n rpc GetResource(GetResourceRequest)\n returns (google.api.HttpBody);\n rpc UpdateResource(google.api.HttpBody)\n returns (google.protobuf.Empty);\n\n }\n\nExample with streaming methods:\n\n service CaldavService {\n rpc GetCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n rpc UpdateCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n\n }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged." + }, + "apiv2Candle": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for the point in time when the candle was initially created/opened." + }, + "lastUpdate": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for the point in time when the candle was last updated." + }, + "high": { + "type": "string", + "description": "Highest price for trading during the candle interval." + }, + "low": { + "type": "string", + "description": "Lowest price for trading during the candle interval." + }, + "open": { + "type": "string", + "description": "Open trade price." + }, + "close": { + "type": "string", + "description": "Closing trade price." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Total trading volume during the candle interval." + }, + "notional": { + "type": "string", + "format": "uint64", + "description": "Total notional value traded during the candle interval." + } + }, + "title": "Represents the high, low, open, and closing prices for an interval of trading,\nreferred to commonly as a candlestick or candle" + }, + "commandsv1CancelTransfer": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "Transfer ID of the transfer to cancel." + } + }, + "title": "Request for cancelling a recurring transfer" + }, + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + } + }, + "additionalProperties": {}, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "protobufNullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "v1AnnounceNode": { + "type": "object", + "properties": { + "vegaPubKey": { + "type": "string", + "description": "Vega public key, required field." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key, required field." + }, + "chainPubKey": { + "type": "string", + "description": "Public key for the blockchain, required field." + }, + "infoUrl": { + "type": "string", + "description": "URL with more info on the node." + }, + "country": { + "type": "string", + "description": "Country code (ISO 3166-1 alpha-2) for the location of the node." + }, + "id": { + "type": "string", + "description": "Node ID of the validator, i.e. the node's public master key." + }, + "name": { + "type": "string", + "description": "Name of the validator." + }, + "avatarUrl": { + "type": "string", + "description": "AvatarURL of the validator." + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "Vega public key derivation index." + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "description": "Epoch from which the validator is expected\nto be ready to validate blocks." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the ethereum wallet." + }, + "vegaSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the Vega wallet." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + } + }, + "title": "Used to announce a node as a new pending validator" + }, + "v1AuctionEvent": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "openingAuction": { + "type": "boolean", + "title": "True if the event indicates an auction opening and False otherwise" + }, + "leave": { + "type": "boolean", + "title": "True if the event indicates leaving auction mode and False otherwise" + }, + "start": { + "type": "string", + "format": "int64", + "title": "Timestamp containing the start time for an auction" + }, + "end": { + "type": "string", + "format": "int64", + "title": "Timestamp containing the end time for an auction" + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "title": "Reason this market is/was in auction" + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "title": "If an auction was ongoing, but was extended for whatever reason, this field will\nbe set to the trigger type indicating which component extended the auction" + } + }, + "title": "Auction event indicating a change in auction state, for example starting or ending an auction" + }, + "v1BatchMarketInstructions": { + "type": "object", + "properties": { + "cancellations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "description": "List of order cancellations to be processed sequentially." + }, + "amendments": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "description": "List of order amendments to be processed sequentially." + }, + "submissions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "description": "List of order submissions to be processed sequentially." + }, + "stopOrdersCancellation": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "description": "List of stop order cancellations to be processed sequentially." + }, + "stopOrdersSubmission": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "description": "List of stop order submissions to be processed sequentially." + } + }, + "title": "Batch of order instructions.\nThis command accepts only the following batches of commands\nand will be processed in the following order:\n- OrderCancellation\n- OrderAmendment\n- OrderSubmission\nThe total amount of commands in the batch across all three lists of\ninstructions is restricted by the following network parameter:\n\"spam.protection.max.batchSize\"" + }, + "v1BeginBlock": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "hash": { + "type": "string" + } + }, + "title": "BeginBlock" + }, + "v1BusEvent": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Unique event ID for the message" + }, + "block": { + "type": "string", + "title": "The batch or block of transactions that the events relate to" + }, + "type": { + "$ref": "#/definitions/v1BusEventType", + "title": "The type of bus event. Must be one of the list below:" + }, + "timeUpdate": { + "$ref": "#/definitions/v1TimeUpdate", + "title": "Time update events" + }, + "ledgerMovements": { + "$ref": "#/definitions/v1LedgerMovements", + "title": "Transfer responses update events" + }, + "positionResolution": { + "$ref": "#/definitions/v1PositionResolution", + "title": "Position resolution events" + }, + "order": { + "$ref": "#/definitions/vegaOrder", + "title": "Order events" + }, + "account": { + "$ref": "#/definitions/vegaAccount", + "title": "Account events" + }, + "party": { + "$ref": "#/definitions/vegaParty", + "title": "Party events" + }, + "trade": { + "$ref": "#/definitions/vegaTrade", + "title": "Trade events" + }, + "marginLevels": { + "$ref": "#/definitions/vegaMarginLevels", + "title": "Margin level update events" + }, + "proposal": { + "$ref": "#/definitions/vegaProposal", + "title": "Proposal events for governance" + }, + "vote": { + "$ref": "#/definitions/vegaVote", + "title": "Vote events for governance" + }, + "marketData": { + "$ref": "#/definitions/vegaMarketData", + "title": "Market data events" + }, + "nodeSignature": { + "$ref": "#/definitions/v1NodeSignature", + "title": "Node signature events" + }, + "lossSocialization": { + "$ref": "#/definitions/v1LossSocialization", + "title": "Loss socialization events" + }, + "settlePosition": { + "$ref": "#/definitions/v1SettlePosition", + "title": "Position settlement events" + }, + "settleDistressed": { + "$ref": "#/definitions/v1SettleDistressed", + "title": "Position distressed events" + }, + "marketCreated": { + "$ref": "#/definitions/vegaMarket", + "title": "Market created events" + }, + "asset": { + "$ref": "#/definitions/vegaAsset", + "title": "Asset events" + }, + "marketTick": { + "$ref": "#/definitions/v1MarketTick", + "title": "Market tick events" + }, + "withdrawal": { + "$ref": "#/definitions/vegaWithdrawal", + "title": "Withdrawal events" + }, + "deposit": { + "$ref": "#/definitions/vegaDeposit", + "title": "Deposit events" + }, + "auction": { + "$ref": "#/definitions/v1AuctionEvent", + "title": "Auction events" + }, + "riskFactor": { + "$ref": "#/definitions/vegaRiskFactor", + "title": "Risk factor events" + }, + "networkParameter": { + "$ref": "#/definitions/vegaNetworkParameter", + "title": "Network parameter events" + }, + "liquidityProvision": { + "$ref": "#/definitions/vegaLiquidityProvision", + "title": "LiquidityProvision events" + }, + "marketUpdated": { + "$ref": "#/definitions/vegaMarket", + "title": "Market created events" + }, + "oracleSpec": { + "$ref": "#/definitions/vegaOracleSpec", + "title": "OracleSpec events" + }, + "oracleData": { + "$ref": "#/definitions/vegaOracleData", + "title": "OracleData events" + }, + "delegationBalance": { + "$ref": "#/definitions/v1DelegationBalanceEvent", + "title": "Delegation balance events" + }, + "validatorScore": { + "$ref": "#/definitions/v1ValidatorScoreEvent", + "title": "Validator score calculated" + }, + "epochEvent": { + "$ref": "#/definitions/v1EpochEvent", + "title": "Epoch update events" + }, + "validatorUpdate": { + "$ref": "#/definitions/v1ValidatorUpdate", + "title": "Validator update events" + }, + "stakeLinking": { + "$ref": "#/definitions/v1StakeLinking", + "title": "Staking event" + }, + "rewardPayout": { + "$ref": "#/definitions/v1RewardPayoutEvent", + "title": "Reward payout event" + }, + "checkpoint": { + "$ref": "#/definitions/v1CheckpointEvent", + "title": "Checkpoint was created" + }, + "keyRotation": { + "$ref": "#/definitions/v1KeyRotation", + "title": "Key rotation took place" + }, + "stateVar": { + "$ref": "#/definitions/v1StateVar", + "title": "State variable consensus state transition update" + }, + "networkLimits": { + "$ref": "#/definitions/vegaNetworkLimits", + "title": "Network limits events" + }, + "transfer": { + "$ref": "#/definitions/vegaeventsv1Transfer", + "title": "Transfer event" + }, + "rankingEvent": { + "$ref": "#/definitions/v1ValidatorRankingEvent", + "title": "Ranking event" + }, + "erc20MultisigSignerEvent": { + "$ref": "#/definitions/v1ERC20MultiSigSignerEvent", + "title": "ERC20 multi sig signer event" + }, + "erc20MultisigSetThresholdEvent": { + "$ref": "#/definitions/v1ERC20MultiSigThresholdSetEvent", + "title": "ERC20 multi sig set threshold event" + }, + "erc20MultisigSignerAdded": { + "$ref": "#/definitions/v1ERC20MultiSigSignerAdded", + "title": "ERC20 multi sig signer added" + }, + "erc20MultisigSignerRemoved": { + "$ref": "#/definitions/v1ERC20MultiSigSignerRemoved", + "title": "ERC20 multi sig signer removed" + }, + "positionStateEvent": { + "$ref": "#/definitions/v1PositionStateEvent", + "title": "Position status for a party in a market" + }, + "ethereumKeyRotation": { + "$ref": "#/definitions/v1EthereumKeyRotation", + "title": "Ethereum key rotation took place" + }, + "protocolUpgradeEvent": { + "$ref": "#/definitions/v1ProtocolUpgradeEvent", + "title": "Protocol upgrade proposal updates" + }, + "beginBlock": { + "$ref": "#/definitions/v1BeginBlock", + "title": "Core is starting to process a new block" + }, + "endBlock": { + "$ref": "#/definitions/v1EndBlock", + "title": "Core finished processing a block" + }, + "protocolUpgradeStarted": { + "$ref": "#/definitions/v1ProtocolUpgradeStarted", + "title": "Core is starting a protocol upgrade" + }, + "settleMarket": { + "$ref": "#/definitions/v1SettleMarket", + "title": "Settle market event for data-node to update positions for settled markets" + }, + "transactionResult": { + "$ref": "#/definitions/v1TransactionResult", + "title": "Result of a transaction processed by the network" + }, + "coreSnapshotEvent": { + "$ref": "#/definitions/v1CoreSnapshotData", + "title": "Core snapshot has been taken at the end of the block" + }, + "protocolUpgradeDataNodeReady": { + "$ref": "#/definitions/v1ProtocolUpgradeDataNodeReady", + "title": "Core snapshot has been taken at the end of the block" + }, + "distressedOrders": { + "$ref": "#/definitions/v1DistressedOrders", + "title": "Parties that had their orders closed because they were distressed" + }, + "expiredOrders": { + "$ref": "#/definitions/v1ExpiredOrders", + "title": "Orders that expired for a given market" + }, + "distressedPositions": { + "$ref": "#/definitions/v1DistressedPositions", + "title": "Open positions on the market that are/were distressed" + }, + "stopOrder": { + "$ref": "#/definitions/v1StopOrderEvent", + "title": "A stop order event" + }, + "fundingPeriod": { + "$ref": "#/definitions/v1FundingPeriod", + "description": "Start or end of a funding period." + }, + "fundingPeriodDataPoint": { + "$ref": "#/definitions/v1FundingPeriodDataPoint", + "description": "Data point within a funding period." + }, + "market": { + "$ref": "#/definitions/v1MarketEvent", + "title": "Market tick events" + }, + "txErrEvent": { + "$ref": "#/definitions/v1TxErrorEvent", + "title": "Transaction error events, not included in the ALL event type" + }, + "version": { + "type": "integer", + "format": "int64", + "title": "Version of bus event" + }, + "chainId": { + "type": "string" + }, + "txHash": { + "type": "string" + } + }, + "title": "Bus event is a container for event bus events emitted by Vega" + }, + "v1BusEventType": { + "type": "string", + "enum": [ + "BUS_EVENT_TYPE_UNSPECIFIED", + "BUS_EVENT_TYPE_ALL", + "BUS_EVENT_TYPE_TIME_UPDATE", + "BUS_EVENT_TYPE_LEDGER_MOVEMENTS", + "BUS_EVENT_TYPE_POSITION_RESOLUTION", + "BUS_EVENT_TYPE_ORDER", + "BUS_EVENT_TYPE_ACCOUNT", + "BUS_EVENT_TYPE_PARTY", + "BUS_EVENT_TYPE_TRADE", + "BUS_EVENT_TYPE_MARGIN_LEVELS", + "BUS_EVENT_TYPE_PROPOSAL", + "BUS_EVENT_TYPE_VOTE", + "BUS_EVENT_TYPE_MARKET_DATA", + "BUS_EVENT_TYPE_NODE_SIGNATURE", + "BUS_EVENT_TYPE_LOSS_SOCIALIZATION", + "BUS_EVENT_TYPE_SETTLE_POSITION", + "BUS_EVENT_TYPE_SETTLE_DISTRESSED", + "BUS_EVENT_TYPE_MARKET_CREATED", + "BUS_EVENT_TYPE_ASSET", + "BUS_EVENT_TYPE_MARKET_TICK", + "BUS_EVENT_TYPE_WITHDRAWAL", + "BUS_EVENT_TYPE_DEPOSIT", + "BUS_EVENT_TYPE_AUCTION", + "BUS_EVENT_TYPE_RISK_FACTOR", + "BUS_EVENT_TYPE_NETWORK_PARAMETER", + "BUS_EVENT_TYPE_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_MARKET_UPDATED", + "BUS_EVENT_TYPE_ORACLE_SPEC", + "BUS_EVENT_TYPE_ORACLE_DATA", + "BUS_EVENT_TYPE_DELEGATION_BALANCE", + "BUS_EVENT_TYPE_VALIDATOR_SCORE", + "BUS_EVENT_TYPE_EPOCH_UPDATE", + "BUS_EVENT_TYPE_VALIDATOR_UPDATE", + "BUS_EVENT_TYPE_STAKE_LINKING", + "BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT", + "BUS_EVENT_TYPE_CHECKPOINT", + "BUS_EVENT_TYPE_STREAM_START", + "BUS_EVENT_TYPE_KEY_ROTATION", + "BUS_EVENT_TYPE_STATE_VAR", + "BUS_EVENT_TYPE_NETWORK_LIMITS", + "BUS_EVENT_TYPE_TRANSFER", + "BUS_EVENT_TYPE_VALIDATOR_RANKING", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED", + "BUS_EVENT_TYPE_POSITION_STATE", + "BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL", + "BUS_EVENT_TYPE_BEGIN_BLOCK", + "BUS_EVENT_TYPE_END_BLOCK", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED", + "BUS_EVENT_TYPE_SETTLE_MARKET", + "BUS_EVENT_TYPE_TRANSACTION_RESULT", + "BUS_EVENT_TYPE_SNAPSHOT_TAKEN", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY", + "BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED", + "BUS_EVENT_TYPE_EXPIRED_ORDERS", + "BUS_EVENT_TYPE_DISTRESSED_POSITIONS", + "BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_STOP_ORDER", + "BUS_EVENT_TYPE_FUNDING_PERIOD", + "BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT", + "BUS_EVENT_TYPE_MARKET", + "BUS_EVENT_TYPE_TX_ERROR" + ], + "default": "BUS_EVENT_TYPE_UNSPECIFIED", + "description": "- BUS_EVENT_TYPE_UNSPECIFIED: Default value, always invalid\n - BUS_EVENT_TYPE_ALL: Events of ALL event types, used when filtering stream from event bus\n - BUS_EVENT_TYPE_TIME_UPDATE: Event for blockchain time updates\n - BUS_EVENT_TYPE_LEDGER_MOVEMENTS: Event for when a transfer happens internally, contains the transfer information\n - BUS_EVENT_TYPE_POSITION_RESOLUTION: Event indicating position resolution has occurred\n - BUS_EVENT_TYPE_ORDER: Event for order updates, both new and existing orders\n - BUS_EVENT_TYPE_ACCOUNT: Event for account updates\n - BUS_EVENT_TYPE_PARTY: Event for party updates\n - BUS_EVENT_TYPE_TRADE: Event indicating a new trade has occurred\n - BUS_EVENT_TYPE_MARGIN_LEVELS: Event indicating margin levels have changed for a party\n - BUS_EVENT_TYPE_PROPOSAL: Event for proposal updates (for governance)\n - BUS_EVENT_TYPE_VOTE: Event indicating a new vote has occurred (for governance)\n - BUS_EVENT_TYPE_MARKET_DATA: Event for market data updates\n - BUS_EVENT_TYPE_NODE_SIGNATURE: Event for a new signature for a Vega node\n - BUS_EVENT_TYPE_LOSS_SOCIALIZATION: Event indicating loss socialisation occurred for a party\n - BUS_EVENT_TYPE_SETTLE_POSITION: Event for when a position is being settled\n - BUS_EVENT_TYPE_SETTLE_DISTRESSED: Event for when a position is distressed\n - BUS_EVENT_TYPE_MARKET_CREATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ASSET: Event for when an asset is added to Vega\n - BUS_EVENT_TYPE_MARKET_TICK: Event indicating a market tick event\n - BUS_EVENT_TYPE_WITHDRAWAL: Event for when a withdrawal occurs\n - BUS_EVENT_TYPE_DEPOSIT: Event for when a deposit occurs\n - BUS_EVENT_TYPE_AUCTION: Event indicating a change in auction state, for example starting or ending an auction\n - BUS_EVENT_TYPE_RISK_FACTOR: Event indicating a risk factor has been updated\n - BUS_EVENT_TYPE_NETWORK_PARAMETER: Event indicating a network parameter has been added or updated\n - BUS_EVENT_TYPE_LIQUIDITY_PROVISION: Event indicating a liquidity provision has been created or updated\n - BUS_EVENT_TYPE_MARKET_UPDATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ORACLE_SPEC: Event indicating an oracle spec has been created or updated\n - BUS_EVENT_TYPE_ORACLE_DATA: Event indicating that an oracle data has been broadcast\n - BUS_EVENT_TYPE_DELEGATION_BALANCE: Event indicating that an delegation balance of a party to a node for current epoch has changed\n - BUS_EVENT_TYPE_VALIDATOR_SCORE: Event indicating the validator score for the given epoch\n - BUS_EVENT_TYPE_EPOCH_UPDATE: Event indicating the start or end of an epoch\n - BUS_EVENT_TYPE_VALIDATOR_UPDATE: Event indicating that validator node has been updated\n - BUS_EVENT_TYPE_STAKE_LINKING: Event indicating a new staking event have been processed by the network\n - BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT: Event indicating the payout of a reward has been initiated\n - BUS_EVENT_TYPE_CHECKPOINT: Event indicating a new checkpoint was created\n - BUS_EVENT_TYPE_STREAM_START: Event indicating stream is starting\n - BUS_EVENT_TYPE_KEY_ROTATION: Event indicating key rotation took place\n - BUS_EVENT_TYPE_STATE_VAR: Event indicating state transitions in state variable consensus\n - BUS_EVENT_TYPE_NETWORK_LIMITS: Event indicating network limits set or updated\n - BUS_EVENT_TYPE_TRANSFER: Event indicating a update for a transfer\n - BUS_EVENT_TYPE_VALIDATOR_RANKING: Event indicating the ranking of validator and their status in Vega\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT: Event indicating a new multi sig signer event have been processed\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD: Event indicating the erc20 multi sig threshold have been updated\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED: Event indicating a new signer has been added to the ERC-20 multisig\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED: Event indicating a signer has been removed from the ERC-20 multisig\n - BUS_EVENT_TYPE_POSITION_STATE: Event indicating that a party's position has changed\n - BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION: Event indicating Ethereum key rotation took place\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL: Event indicating protocol upgrade proposal updates\n - BUS_EVENT_TYPE_BEGIN_BLOCK: Event indicating the core is starting to process a new block\n - BUS_EVENT_TYPE_END_BLOCK: Event indicating the core finished to process a block\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED: Event indicating the core is starting a protocol upgrade\n - BUS_EVENT_TYPE_SETTLE_MARKET: Event indicating the market has stopped and settled\n - BUS_EVENT_TYPE_TRANSACTION_RESULT: Event indicating the result of a transaction processed by the network\n - BUS_EVENT_TYPE_SNAPSHOT_TAKEN: Event indicating a snapshot was taken at this block height\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY: Event data node uses to notify that it is ready to upgrade\n - BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_EXPIRED_ORDERS: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_DISTRESSED_POSITIONS: Event indicating parties have become, or were, distressed but still have an active position.\n - BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION: Event indicating a spot liquidity provision has been created or updated.\n - BUS_EVENT_TYPE_STOP_ORDER: Event indicating a stop order has been submitted or updated.\n - BUS_EVENT_TYPE_FUNDING_PERIOD: Event indicating the start or end of a funding period.\n - BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT: Event indicating a data point for a funding period has been received.\n - BUS_EVENT_TYPE_MARKET: Event indicating a market related event, for example when a market opens\n - BUS_EVENT_TYPE_TX_ERROR: Event used to report failed transactions back to a user, this is excluded from the ALL type", + "title": "Bus event type is used to specify a type of event\nIt has 2 styles of event:\nSingle values (e.g. BUS_EVENT_TYPE_ORDER) where they represent one data item\nGroup values (e.g. BUS_EVENT_TYPE_AUCTION) where they represent a group of data items" + }, + "v1CheckpointEvent": { + "type": "object", + "properties": { + "hash": { + "type": "string" + }, + "blockHash": { + "type": "string" + }, + "blockHeight": { + "type": "string", + "format": "uint64" + } + } + }, + "v1Condition": { + "type": "object", + "properties": { + "operator": { + "$ref": "#/definitions/ConditionOperator", + "description": "Type of comparison to make on the value." + }, + "value": { + "type": "string", + "description": "Value to be compared with by the operator." + } + }, + "title": "Condition describes the condition that must be validated by the network" + }, + "v1CoreSnapshotData": { + "type": "object", + "properties": { + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height at which snapshot was taken" + }, + "blockHash": { + "type": "string", + "title": "Hash of the snapshot block" + }, + "coreVersion": { + "type": "string", + "description": "Semver version number of the core." + }, + "protocolUpgradeBlock": { + "type": "boolean", + "title": "Indicates if the snapshot is taken as part of protocol upgrade" + } + }, + "description": "CoreSnapshotData represents the core snapshot data." + }, + "v1CreateTeam": { + "type": "object", + "properties": { + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "description": "Creates a referral team. The team creator automatically becomes\nthe team leader, called a referrer. This cannot be changed.\nA referrer cannot already be or become a liquidity provider,\nnor can they be on an existing team as referrer or referee.", + "title": "Request for creating a referral team" + }, + "v1Data": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + } + }, + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Property" + }, + "title": "Data holds all the properties of the data" + }, + "matchedSpecIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "`matched_specs_ids` lists all the specs that matched this data.\nWhen the array is empty, it means no spec matched this data." + }, + "broadcastAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the data was broadcast to the markets\nwith a matching spec. It has no value when the data did not match any spec." + }, + "metaData": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Property" + }, + "title": "Holds all metadata properties" + }, + "error": { + "type": "string", + "description": "Error message if the data could not be sourced." + } + }, + "description": "Data describes valid source data that has been received by the node.\nIt represents both matched and unmatched data." + }, + "v1DelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Delegate to the specified node ID." + }, + "amount": { + "type": "string", + "description": "Amount of stake to delegate. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Command to submit an instruction to delegate some stake to a node" + }, + "v1DelegationBalanceEvent": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "nodeId": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "epochSeq": { + "type": "string" + } + }, + "title": "DelegationBalanceEvent - updates on the delegation balance of a party to a node in the current epoch in effect" + }, + "v1DistressedOrders": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "parties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of Party IDs i.e. each party's public key for the event" + } + }, + "title": "Distressed order contains the party IDs for all parties that were distressed and had their orders closed,\nbut did not need to be closed out after cancelling their orders" + }, + "v1DistressedPositions": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "distressedParties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of party IDs i.e. each party's public key, that are distressed but still have open volume" + }, + "safeParties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of party IDs i.e. each party's public key, who were distressed but now can safely maintain their position" + } + }, + "description": "Distressed positions event contains the party IDs for all parties that were distressed, had their orders closed but because of insufficient volume on the book\ncould not be fully closed out. These parties are distressed, but still hold an active position on the book as a result. Once enough volume is on the book to close\nthem out, a SettleDistressed event will be sent. In case they manage to reduce their position, or meet the margin requirements, this status will be updated.\nParties that are no longer distressed but active will be listed in the safe_parties field." + }, + "v1ERC20MultiSigSignerAdded": { + "type": "object", + "properties": { + "signatureId": { + "type": "string", + "title": "ID of the signature bundle" + }, + "validatorId": { + "type": "string", + "title": "Node ID of the Vega node to be added" + }, + "timestamp": { + "type": "string", + "format": "int64", + "title": "Time at which this happened" + }, + "newSigner": { + "type": "string", + "title": "Ethereum address of the new signer" + }, + "submitter": { + "type": "string", + "title": "Address of the submitter of the transaction" + }, + "nonce": { + "type": "string", + "description": "Nonce used." + }, + "epochSeq": { + "type": "string", + "title": "Epoch that the node was added for" + } + } + }, + "v1ERC20MultiSigSignerEvent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1ERC20MultiSigSignerEventType" + }, + "signer": { + "type": "string" + }, + "nonce": { + "type": "string" + }, + "blockTime": { + "type": "string", + "format": "int64" + }, + "txHash": { + "type": "string" + }, + "logIndex": { + "type": "string", + "format": "uint64" + }, + "blockNumber": { + "type": "string", + "format": "uint64" + } + } + }, + "v1ERC20MultiSigSignerEventType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ADDED", + "TYPE_REMOVED" + ], + "default": "TYPE_UNSPECIFIED" + }, + "v1ERC20MultiSigSignerRemoved": { + "type": "object", + "properties": { + "signatureSubmitters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ERC20MultiSigSignerRemovedSubmitter" + }, + "title": "List containing all the IDs of bundle generated\nThere should be one bundle generated for every validators\nin the validator set" + }, + "validatorId": { + "type": "string", + "title": "Node ID of the Vega node which is to be removed" + }, + "timestamp": { + "type": "string", + "format": "int64", + "title": "Time at which this happened" + }, + "oldSigner": { + "type": "string", + "title": "Ethereum address of the signer to be removed" + }, + "nonce": { + "type": "string", + "description": "Nonce used." + }, + "epochSeq": { + "type": "string", + "title": "Epoch that the node was removed for" + } + } + }, + "v1ERC20MultiSigSignerRemovedSubmitter": { + "type": "object", + "properties": { + "signatureId": { + "type": "string", + "description": "Signature ID of the signer removed." + }, + "submitter": { + "type": "string", + "title": "Address of the submitter of the transaction" + } + } + }, + "v1ERC20MultiSigThresholdSetEvent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "newThreshold": { + "type": "integer", + "format": "int64" + }, + "nonce": { + "type": "string" + }, + "blockTime": { + "type": "string", + "format": "int64" + }, + "txHash": { + "type": "string" + }, + "logIndex": { + "type": "string", + "format": "uint64" + }, + "blockNumber": { + "type": "string", + "format": "uint64" + } + } + }, + "v1ETHAddress": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "v1EndBlock": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64" + } + }, + "title": "EndBlock" + }, + "v1EpochEvent": { + "type": "object", + "properties": { + "seq": { + "type": "string", + "format": "uint64", + "title": "Sequence number that increases by one each epoch" + }, + "action": { + "$ref": "#/definitions/vegaEpochAction", + "title": "Action tells us what action is taking place" + }, + "startTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch started" + }, + "expireTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch should end" + }, + "endTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch actually ended" + } + }, + "title": "Epoch details" + }, + "v1EthereumKeyRotateSubmission": { + "type": "object", + "properties": { + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newAddress": { + "type": "string", + "description": "New address to rotate to." + }, + "currentAddress": { + "type": "string", + "description": "Currently used public address." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature that can be verified using the new ethereum address." + } + }, + "title": "Transaction to allow a validator to rotate their ethereum keys" + }, + "v1EthereumKeyRotation": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the node that rotated their Ethereum key" + }, + "oldAddress": { + "type": "string", + "title": "Ethereum address that was previously associated with the node" + }, + "newAddress": { + "type": "string", + "title": "Ethereum address that is newly associated with the node" + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height when the key rotation took effect" + } + }, + "title": "Event that contains information about an Ethereum key rotation" + }, + "v1ExpiredOrders": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "orderIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of expired order IDs" + } + } + }, + "v1ExternalData": { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/v1Data" + } + } + }, + "v1Filter": { + "type": "object", + "properties": { + "key": { + "$ref": "#/definitions/v1PropertyKey", + "description": "Data source's data property key targeted by the filter." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that should be matched by the data to be\nconsidered of interest." + } + }, + "description": "Filter describes the conditions under which a data source data is considered of\ninterest or not." + }, + "v1FundingPeriod": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "ID of the market for which this funding period relates to." + }, + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the funding period." + }, + "start": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the funding period started." + }, + "end": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the funding period ended." + }, + "fundingPayment": { + "type": "string", + "description": "Funding payment for this period as the difference between the time-weighted average price of the external and internal data point." + }, + "fundingRate": { + "type": "string", + "description": "Percentage difference between the time-weighted average price of the external and internal data point." + }, + "internalTwap": { + "type": "string", + "description": "TWAP for this period based on the internal data-points." + }, + "externalTwap": { + "type": "string", + "description": "TWAP for this period based on the external data-points." + } + }, + "description": "Event notifying on the details of a funding interval for a perpetuals market." + }, + "v1FundingPeriodDataPoint": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID which the data point relates to." + }, + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the funding period this data point belongs to." + }, + "dataPointType": { + "$ref": "#/definitions/FundingPeriodDataPointSource", + "description": "Origin of the data point." + }, + "price": { + "type": "string", + "description": "Price of the asset as seen by this data point." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the data point was received." + }, + "twap": { + "type": "string", + "description": "The TWAP for this source with this data-point added." + } + }, + "description": "Event notifying a data point for a funding period." + }, + "v1IcebergOpts": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is made visible and can be traded with during the execution of a single order." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "Minimum allowed remaining size of the order before it is replenished back to its peak size." + } + }, + "title": "Iceberg order options" + }, + "v1InternalTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "int64", + "description": "Trigger when the vega time is greater or equal to this time, in Unix seconds." + }, + "every": { + "type": "string", + "format": "int64", + "description": "Repeat the trigger every n seconds after the initial. If no time for\ninitial was specified, begin repeating immediately." + } + }, + "description": "Trigger for an internal time data source." + }, + "v1IssueSignatures": { + "type": "object", + "properties": { + "submitter": { + "type": "string", + "description": "Ethereum address which will submit the signatures to the smart contract." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "What kind of signatures to generate, namely for whether a signer is being added or removed." + }, + "validatorNodeId": { + "type": "string", + "description": "Node ID of the validator node that will be signed in or out of the smart contract." + } + }, + "title": "Transaction for a validator to submit signatures to a smart contract" + }, + "v1JoinTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to join." + } + }, + "description": "A party that joins a referral team is called a referee. A referee cannot\nbe a liquidity provider, nor can they create a team or join multiple teams.\nTo switch teams, the referee can ask to join another team, and the switch will\nbe effective at the end of the epoch.", + "title": "Request to join a team" + }, + "v1KeyRotateSubmission": { + "type": "object", + "properties": { + "newPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "New Vega public key derivation index." + }, + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newPubKey": { + "type": "string", + "description": "New public key to rotate to." + }, + "currentPubKeyHash": { + "type": "string", + "description": "Hash of currently used public key." + } + }, + "title": "Transaction to allow a validator to rotate their Vega keys" + }, + "v1KeyRotation": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the node that rotated their Vega key" + }, + "oldPubKey": { + "type": "string", + "title": "Vega public key that was previously associated with the node" + }, + "newPubKey": { + "type": "string", + "title": "Vega public key that is newly associated with the node" + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height when the key rotation took effect" + } + }, + "title": "Event that contains information about a Vega key rotation" + }, + "v1LedgerMovements": { + "type": "object", + "properties": { + "ledgerMovements": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerMovement" + }, + "title": "One or more entries containing internal transfer information" + } + }, + "title": "Transfer responses event contains a collection of transfer information" + }, + "v1LiquidityProvisionAmendment": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be amended." + }, + "commitmentAmount": { + "type": "string", + "description": "From here at least one of the following is required to consider the command valid." + }, + "fee": { + "type": "string" + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "reference": { + "type": "string" + } + }, + "title": "Amend a liquidity provision request" + }, + "v1LiquidityProvisionCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be cancelled." + } + }, + "title": "Cancel a liquidity provision request" + }, + "v1LiquidityProvisionSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled using the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "reference": { + "type": "string", + "description": "Reference to be added to every order created out of this liquidity provision submission." + } + }, + "title": "A liquidity provision submitted for a given market" + }, + "v1LossSocialization": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID (public key) for the event" + }, + "amount": { + "type": "string", + "title": "Amount distributed" + } + }, + "title": "Loss socialization event contains details on the amount of wins unable to be distributed" + }, + "v1MarketEvent": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "payload": { + "type": "string", + "title": "Payload is a unique information string" + } + }, + "title": "MarketEvent - the common denominator for all market events\ninterface has a method to return a string for logging" + }, + "v1MarketTick": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Market ID for the event" + }, + "time": { + "type": "string", + "format": "int64", + "title": "Timestamp containing latest update from Vega blockchain aka Vega-time" + } + }, + "title": "Market tick event contains the time value for when a particular market was last processed on Vega" + }, + "v1NodeSignature": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the resource being signed." + }, + "sig": { + "type": "string", + "format": "byte", + "description": "The signature generated by the signer." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "Kind of resource being signed." + } + }, + "title": "Represents a signature from a validator, to be used by a foreign chain in order to recognise a decision taken by the Vega network" + }, + "v1NodeSignatureKind": { + "type": "string", + "enum": [ + "NODE_SIGNATURE_KIND_UNSPECIFIED", + "NODE_SIGNATURE_KIND_ASSET_NEW", + "NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED", + "NODE_SIGNATURE_KIND_ASSET_UPDATE" + ], + "default": "NODE_SIGNATURE_KIND_UNSPECIFIED", + "description": "- NODE_SIGNATURE_KIND_UNSPECIFIED: Represents an unspecified or missing value from the input\n - NODE_SIGNATURE_KIND_ASSET_NEW: Represents a signature for a new asset allow-listing\n - NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL: Represents a signature for an asset withdrawal\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED: Represents a signature for a new signer added to the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED: Represents a signature for a signer removed from the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ASSET_UPDATE: Represents a signature for an asset update allow-listing", + "title": "Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc" + }, + "v1OneOffGovernanceTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64" + } + } + }, + "v1OracleDataSubmission": { + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/OracleDataSubmissionOracleSource", + "description": "Source from which the data is coming from. Must be base64 encoded.\nOracle data is a type of external data source data." + }, + "payload": { + "type": "string", + "format": "byte", + "description": "Data provided by the data source\nIn the case of Open Oracle - it will be the entire object - it will contain messages, signatures and price data." + } + }, + "title": "Command to submit new Oracle data from third party providers" + }, + "v1OrderAmendment": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Order ID, this is required to find the order and will not be updated, required field." + }, + "marketId": { + "type": "string", + "description": "Market ID, this is required to find the order and will not be updated." + }, + "price": { + "type": "string", + "description": "Amend the price for the order if the price value is set, otherwise price will remain unchanged.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "sizeDelta": { + "type": "string", + "format": "int64", + "description": "Amend the size for the order by the delta specified:\n- To reduce the size from the current value set a negative integer value\n- To increase the size from the current value, set a positive integer value\n- To leave the size unchanged set a value of zero\nThis field needs to be scaled using the market's position decimal places." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Amend the expiry time for the order, if the Timestamp value is set, otherwise expiry time will remain unchanged." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Amend the time in force for the order, set to TIME_IN_FORCE_UNSPECIFIED to remain unchanged." + }, + "peggedOffset": { + "type": "string", + "description": "Amend the pegged order offset for the order. This field is an unsigned integer scaled to the market's decimal places." + }, + "peggedReference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Amend the pegged order reference for the order." + } + }, + "title": "An order amendment is a request to amend or update an existing order on Vega" + }, + "v1OrderCancellation": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID for the order. This is set by the system after consensus. Required field." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + } + }, + "title": "Order cancellation is a request to cancel an existing order on Vega" + }, + "v1OrderSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places,\nrequired field for limit orders, however it is not required for market orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of units, cannot be negative." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL, required field." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Time in force indicates how long an order will remain active before it is executed or expires, required field." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire,\nrequired field only for `Order.TimeInForce`.TIME_IN_FORCE_GTT`." + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order, required field - See `Order.Type`." + }, + "reference": { + "type": "string", + "description": "Reference given for the order, this is typically used to retrieve an order submitted through consensus, currently\nset internally by the node to return a unique reference ID for the order submission." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Used to specify the details for a pegged order." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOpts": { + "$ref": "#/definitions/v1IcebergOpts", + "description": "Parameters used to specify an iceberg order." + } + }, + "title": "Order submission is a request to submit or create a new order on Vega" + }, + "v1PositionResolution": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "distressed": { + "type": "string", + "format": "int64", + "title": "Number of distressed traders" + }, + "closed": { + "type": "string", + "format": "int64", + "title": "Number of close outs" + }, + "markPrice": { + "type": "string", + "title": "Mark price as a string representing a scaled price" + } + }, + "title": "Position resolution event contains information on distressed trades" + }, + "v1PositionStateEvent": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Party ID for this position update" + }, + "marketId": { + "type": "string", + "title": "Market ID for this position update" + }, + "size": { + "type": "string", + "format": "int64", + "title": "Current position" + }, + "potentialBuys": { + "type": "string", + "format": "int64", + "title": "Potential orders" + }, + "potentialSells": { + "type": "string", + "format": "int64" + }, + "vwBuyPrice": { + "type": "string", + "title": "Volume weighted prices" + }, + "vwSellPrice": { + "type": "string" + } + }, + "title": "Position state event contains the current position state for a single party in a single market" + }, + "v1Property": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "value": { + "type": "string", + "description": "Value of the property." + } + }, + "description": "Property describes one property of data spec with a key with its value." + }, + "v1PropertyKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "type": { + "$ref": "#/definitions/v1PropertyKeyType", + "description": "Data type of the property." + }, + "numberDecimalPlaces": { + "type": "string", + "format": "uint64", + "title": "Optional decimal place to be be applied on the provided value\nvalid only for PropertyType of type DECIMAL and INTEGER" + } + }, + "description": "PropertyKey describes the property key contained in data source data." + }, + "v1PropertyKeyType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_EMPTY", + "TYPE_INTEGER", + "TYPE_STRING", + "TYPE_BOOLEAN", + "TYPE_DECIMAL", + "TYPE_TIMESTAMP" + ], + "default": "TYPE_UNSPECIFIED", + "description": "Type describes the data type of properties that are supported by the data source\nengine.\n\n - TYPE_UNSPECIFIED: The default value.\n - TYPE_EMPTY: Any type.\n - TYPE_INTEGER: Integer type.\n - TYPE_STRING: String type.\n - TYPE_BOOLEAN: Boolean type.\n - TYPE_DECIMAL: Any floating point decimal type.\n - TYPE_TIMESTAMP: Timestamp date type." + }, + "v1ProposalSubmission": { + "type": "object", + "properties": { + "reference": { + "type": "string", + "description": "Reference identifying the proposal." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + } + }, + "title": "Command to submit a new proposal for the\nVega network governance" + }, + "v1ProtocolUpgradeDataNodeReady": { + "type": "object", + "properties": { + "lastBlockHeight": { + "type": "string", + "format": "uint64" + } + }, + "title": "Event indicating the data node is ready for protocol upgrade" + }, + "v1ProtocolUpgradeEvent": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height at which to perform the upgrade" + }, + "vegaReleaseTag": { + "type": "string", + "title": "Release tag for the vega binary" + }, + "approvers": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tendermint validators that have agreed to the upgrade" + }, + "status": { + "$ref": "#/definitions/v1ProtocolUpgradeProposalStatus", + "title": "Status of the proposal" + } + } + }, + "v1ProtocolUpgradeProposal": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "description": "Block height at which to perform the upgrade." + }, + "vegaReleaseTag": { + "type": "string", + "description": "Release tag for the Vega binary." + } + }, + "title": "Transaction for a validator to suggest a protocol upgrade" + }, + "v1ProtocolUpgradeProposalStatus": { + "type": "string", + "enum": [ + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED" + ], + "default": "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "title": "- PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING: The proposal is pending\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED: The proposal is approved\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED: The proposal is rejected" + }, + "v1ProtocolUpgradeStarted": { + "type": "object", + "properties": { + "lastBlockHeight": { + "type": "string", + "format": "uint64" + } + }, + "title": "Event indicating the core is starting a protocol upgrade" + }, + "v1PubKey": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + }, + "description": "PubKey is the public key that signed this data.\nDifferent public keys coming from different sources will be further separated." + }, + "v1RecurringGovernanceTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64" + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy" + } + } + }, + "v1RewardPayoutEvent": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "epochSeq": { + "type": "string" + }, + "asset": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "percentOfTotalReward": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "rewardType": { + "type": "string" + }, + "market": { + "type": "string" + } + } + }, + "v1SettleDistressed": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID i.e. a party's public key for the event" + }, + "margin": { + "type": "string", + "title": "Margin value as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places" + }, + "price": { + "type": "string", + "title": "Price as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places" + } + }, + "title": "Settle distressed event contains information on distressed trading parties who are closed out" + }, + "v1SettleMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "price": { + "type": "string", + "title": "Price of settlement as a string" + }, + "positionFactor": { + "type": "string", + "title": "Position factor - 10 ^ number of position decimal places" + } + }, + "title": "Settle market event to notify data node that a market has been settled\nso positions and PL can be updated accordingly" + }, + "v1SettlePosition": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID (public key) for the event" + }, + "price": { + "type": "string", + "title": "Price of settlement as a string" + }, + "tradeSettlements": { + "type": "array", + "items": { + "$ref": "#/definitions/v1TradeSettlement" + }, + "title": "A collection of 1 or more trade settlements" + }, + "positionFactor": { + "type": "string", + "title": "Position factor - 10 ^ number of position decimal places" + } + }, + "title": "Settle position event contains position settlement information for a party" + }, + "v1Signature": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Hex encoded bytes of the signature." + }, + "algo": { + "type": "string", + "description": "Algorithm used to create the signature." + }, + "version": { + "type": "integer", + "format": "int64", + "description": "Version of the signature used to create the signature." + } + }, + "description": "Signature to authenticate a transaction and to be verified by the Vega\nnetwork." + }, + "v1Signer": { + "type": "object", + "properties": { + "pubKey": { + "$ref": "#/definitions/v1PubKey", + "description": "List of authorized public keys that signed the data for this\nsource. All the public keys in the data should be contained in these\npublic keys." + }, + "ethAddress": { + "$ref": "#/definitions/v1ETHAddress", + "description": "In case of an open oracle - Ethereum address will be submitted." + } + } + }, + "v1StakeLinking": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Internal ID for this staking event" + }, + "type": { + "$ref": "#/definitions/v1StakeLinkingType", + "description": "Stake linking event type." + }, + "ts": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the event was emitted by Ethereum." + }, + "party": { + "type": "string", + "description": "Party to whom the event is directed at." + }, + "amount": { + "type": "string", + "description": "Amount of stake deposited or removed." + }, + "status": { + "$ref": "#/definitions/v1StakeLinkingStatus", + "description": "Status of the event." + }, + "finalizedAt": { + "type": "string", + "format": "int64", + "description": "Time at which the Vega network finalised the state of the event." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction in which the event happened." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Block when the event happened." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Block time." + }, + "logIndex": { + "type": "string", + "format": "uint64", + "description": "Log index." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum address from which the stake link was initiated." + } + }, + "title": "StakeLinking - an event notifying of stake being deposited or removed for a given party\nThese events are emitted for every Staking deposit or removed accepted by the network" + }, + "v1StakeLinkingStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_ACCEPTED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates an event waiting for confirmation from the Vega network\n - STATUS_ACCEPTED: Indicates an event accepted by the Vega network\n - STATUS_REJECTED: Indicates an event rejected by the Vega network" + }, + "v1StakeLinkingType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LINK", + "TYPE_UNLINK" + ], + "default": "TYPE_UNSPECIFIED", + "title": "- TYPE_UNSPECIFIED: Default value\n - TYPE_LINK: Indicate of a stake deposit instruction\n - TYPE_UNLINK: Indicate of a stake remove instruction" + }, + "v1StateVar": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "eventId": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "title": "StateVar event updates on state changes in state variable consensus" + }, + "v1StopOrderEvent": { + "type": "object", + "properties": { + "submission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "stopOrder": { + "$ref": "#/definitions/vegaStopOrder" + } + } + }, + "v1StopOrderSetup": { + "type": "object", + "properties": { + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission", + "description": "Order to be submitted once the trigger is breached." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "description": "Trailing percentage at which the order will be submitted." + } + }, + "title": "Price and expiry configuration for a stop order" + }, + "v1StopOrdersCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Optional market ID." + }, + "stopOrderId": { + "type": "string", + "description": "Optional order ID." + } + }, + "title": "Cancel a stop order.\nThe following combinations are available:\nEmpty object will cancel all stop orders for the party\nMarket ID alone will cancel all stop orders in a market\nMarket ID and order ID will cancel a specific stop order in a market\nIf the stop order is part of an OCO, both stop orders will be cancelled" + }, + "v1StopOrdersSubmission": { + "type": "object", + "properties": { + "risesAbove": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price rises above a given trigger price." + }, + "fallsBelow": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price falls below a given trigger price." + } + }, + "title": "Stop order submission submits stops orders.\nIt is possible to make a single stop order submission by\nspecifying a single direction,\nor an OCO (One Cancels the Other) stop order submission\nby specifying a configuration for both directions" + }, + "v1TimeUpdate": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "title": "Timestamp containing latest update from Vega blockchain aka Vega-time" + } + }, + "title": "Time update event contains the latest time update from Vega blockchain and indicates the start of a new block" + }, + "v1TradeSettlement": { + "type": "object", + "properties": { + "size": { + "type": "string", + "format": "int64", + "title": "Size of trade settlement" + }, + "price": { + "type": "string", + "title": "Price of settlement as string (in asset decimals)" + }, + "marketPrice": { + "type": "string", + "title": "Price of settlement as a string (in market decimals)" + } + }, + "title": "Trade settlement is part of the settle position event" + }, + "v1TransactionResult": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Unique party ID for the related party" + }, + "status": { + "type": "boolean", + "description": "Status of the transaction, did it succeed or an error was raised." + }, + "hash": { + "type": "string", + "title": "Hash of the transaction" + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "proposal": { + "$ref": "#/definitions/v1ProposalSubmission" + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission" + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission" + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission" + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission" + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission" + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation" + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment" + }, + "transfer": { + "$ref": "#/definitions/vegacommandsv1Transfer" + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer" + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode" + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission" + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal" + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures" + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions" + }, + "keyRotateSubmission": { + "$ref": "#/definitions/v1KeyRotateSubmission" + }, + "ethereumKeyRotateSubmission": { + "$ref": "#/definitions/v1EthereumKeyRotateSubmission" + }, + "stopOrderSubmission": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "stopOrderCancellation": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "createTeam": { + "$ref": "#/definitions/v1CreateTeam" + }, + "updateTeam": { + "$ref": "#/definitions/v1UpdateTeam" + }, + "joinTeam": { + "$ref": "#/definitions/v1JoinTeam" + }, + "success": { + "$ref": "#/definitions/TransactionResultSuccessDetails" + }, + "failure": { + "$ref": "#/definitions/TransactionResultFailureDetails" + } + } + }, + "v1TransferStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_DONE", + "STATUS_REJECTED", + "STATUS_STOPPED", + "STATUS_CANCELLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates a transfer still being processed\n - STATUS_DONE: Indicates a transfer accepted by the Vega network\n - STATUS_REJECTED: Indicates a transfer rejected by the Vega network\n - STATUS_STOPPED: Indicates a transfer stopped by the Vega network\ne.g: no funds left to cover the transfer\n - STATUS_CANCELLED: Indicates a transfer cancelled by the user" + }, + "v1TxErrorEvent": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Unique party ID for the related party" + }, + "errMsg": { + "type": "string", + "title": "Error message describing what went wrong" + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "proposal": { + "$ref": "#/definitions/v1ProposalSubmission" + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission" + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission" + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission" + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission" + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission" + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation" + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment" + }, + "transfer": { + "$ref": "#/definitions/vegacommandsv1Transfer" + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer" + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode" + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission" + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal" + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures" + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions" + } + } + }, + "v1UndelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Optional, if not specified = ALL.\nIf provided, this field must be an unsigned integer passed as a string\nand needs to be scaled using the asset decimal places for the token." + }, + "method": { + "$ref": "#/definitions/UndelegateSubmissionMethod", + "description": "Method of delegation." + } + } + }, + "v1UpdateTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to update." + }, + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "title": "Request for updating a team's properties" + }, + "v1ValidatorRankingEvent": { + "type": "object", + "properties": { + "nodeId": { + "type": "string" + }, + "stakeScore": { + "type": "string", + "title": "Stake based score - no anti-whaling" + }, + "performanceScore": { + "type": "string", + "title": "Performance base score" + }, + "rankingScore": { + "type": "string", + "title": "Final score" + }, + "previousStatus": { + "type": "string", + "title": "Status of the validator in the previous epoch" + }, + "nextStatus": { + "type": "string", + "title": "Status of the validator in the next epoch" + }, + "epochSeq": { + "type": "string", + "title": "Epoch seq for which the status is valid" + }, + "tmVotingPower": { + "type": "integer", + "format": "int64", + "title": "Tendermint voting power of the validator" + } + }, + "title": "Event that explains the status of the validator for the coming epoch" + }, + "v1ValidatorScoreEvent": { + "type": "object", + "properties": { + "nodeId": { + "type": "string" + }, + "epochSeq": { + "type": "string" + }, + "validatorScore": { + "type": "string" + }, + "normalisedScore": { + "type": "string" + }, + "validatorPerformance": { + "type": "string" + }, + "rawValidatorScore": { + "type": "string" + }, + "validatorStatus": { + "type": "string" + }, + "multisigScore": { + "type": "string" + } + }, + "title": "ValidatorScoreEvent is the score a validator gets for a given epoch" + }, + "v1ValidatorUpdate": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the validator node" + }, + "vegaPubKey": { + "type": "string", + "title": "Vega public key of validator node" + }, + "ethereumAddress": { + "type": "string", + "title": "Ethereum public key of validator node" + }, + "tmPubKey": { + "type": "string", + "title": "Public key of Tendermint" + }, + "infoUrl": { + "type": "string", + "title": "URL with more info on the node" + }, + "country": { + "type": "string", + "title": "Country code (ISO 3166-1 alpha-2) for the location of the node" + }, + "name": { + "type": "string", + "title": "Name of the validator" + }, + "avatarUrl": { + "type": "string", + "title": "AvatarURL of the validator" + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "title": "Vega public key derivation index" + }, + "added": { + "type": "boolean", + "title": "Flag indicating if the validator has been added to or removed from vega" + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the announced pending node will start participating in the network" + }, + "submitterAddress": { + "type": "string", + "title": "Ethereum public key being used as the submitter to allow automatic signature generation" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the node was announced or removed from the network" + } + }, + "title": "Validator update event contains information about validator node" + }, + "v1VoteSubmission": { + "type": "object", + "properties": { + "proposalId": { + "type": "string", + "description": "Submit vote for the specified proposal ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Actual value of the vote." + } + }, + "description": "Command to submit a new vote for a governance proposal." + }, + "v1WithdrawSubmission": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to be withdrawn." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Represents the submission request to withdraw funds for a party on Vega" + }, + "v2AccountBalance": { + "type": "object", + "properties": { + "owner": { + "type": "string", + "description": "Party that owns the account.\nSpecial values include `network` - represents the Vega network and is\nmost commonly seen during liquidation of a distressed trading position." + }, + "balance": { + "type": "string", + "description": "Asset balance represented as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places.\nBalances cannot be negative." + }, + "asset": { + "type": "string", + "description": "Asset ID for the account." + }, + "marketId": { + "type": "string", + "description": "Market ID for the account, this field will be empty if the asset is in a general account." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type of this account." + } + }, + "title": "Represents the current balance of an account for an asset on Vega, for a particular owner or party" + }, + "v2AccountEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2AccountBalance", + "description": "Account balance data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages with reference to this account." + } + }, + "description": "Account data item with the corresponding cursor." + }, + "v2AccountFilter": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Restrict accounts to those holding balances in this asset ID." + }, + "partyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict accounts to those owned by the parties in this list. Pass an empty list for no filter." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict accounts to those connected to the markets in this list. Pass an empty list for no filter." + }, + "accountTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaAccountType" + }, + "description": "Restrict accounts to those connected to any of the types in this list. Pass an empty list for no filter." + } + }, + "description": "Account filter is used to filter account data.\n\nAn account is defined as a set of asset ID, type, party ID, and market ID.\n- Every account has an associated asset and type.\n- Certain account types such as the global reward pool for example, do not have an associated party.\n These are denoted by the special party ID 'network'.\n- Certain account types do not have an associated market such as the general party accounts, for example.\n These are denoted by the special market ID '' (an empty string)." + }, + "v2AccountSnapshotPage": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AccountBalance" + }, + "description": "List of account balances." + }, + "lastPage": { + "type": "boolean", + "description": "Indicator if the current page is the last one or not." + } + }, + "title": "'Initial image' snapshot containing current account balances - may be sent over several response messages" + }, + "v2AccountUpdates": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AccountBalance" + }, + "description": "List of account balances." + } + }, + "title": "List of account updates in the last block" + }, + "v2AccountsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AccountEdge" + }, + "description": "Page of accounts data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of accounts data and corresponding page information." + }, + "v2AggregatedBalance": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in nanseconds of the block in which the balance exists." + }, + "balance": { + "type": "string", + "description": "Balance of the set of requested accounts at the time above." + }, + "partyId": { + "type": "string", + "description": "If grouping by party, the party ID." + }, + "assetId": { + "type": "string", + "description": "If grouping by asset, the asset ID." + }, + "marketId": { + "type": "string", + "title": "If grouping by market, the market ID" + }, + "accountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "If grouping by account type, the account type." + } + }, + "title": "AggregatedBalance data contains the balance of the set of requested accounts combined with corresponding\nparty ID, market ID and account type details" + }, + "v2AggregatedBalanceConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AggregatedBalanceEdge" + }, + "description": "Page of aggregated balance data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of aggregated balance objects and corresponding page information" + }, + "v2AggregatedBalanceEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2AggregatedBalance", + "description": "Balance of the set of requested accounts." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Aggregated balance data with the corresponding cursor." + }, + "v2AggregatedLedgerEntriesConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AggregatedLedgerEntriesEdge" + }, + "description": "Page of 'AggregatedLedgerEntry' data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of aggregated ledger entries data and corresponding page information." + }, + "v2AggregatedLedgerEntriesEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2AggregatedLedgerEntry", + "description": "'AggregatedLedgerEntry' data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "title": "Represents the aggregated ledger entry data with corresponding cursor for it" + }, + "v2AggregatedLedgerEntry": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of the block in which the result is referring to." + }, + "quantity": { + "type": "string", + "description": "Amount of ledger entries for the set of requested accounts at the time above." + }, + "transferType": { + "$ref": "#/definitions/vegaTransferType", + "description": "Transfer type." + }, + "assetId": { + "type": "string", + "description": "Asset ID for the asset associated with the entry." + }, + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of account sent from." + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of account received to." + }, + "fromAccountPartyId": { + "type": "string", + "description": "Sender's party ID." + }, + "toAccountPartyId": { + "type": "string", + "description": "Receiver's party ID." + }, + "fromAccountMarketId": { + "type": "string", + "description": "Sender market ID." + }, + "toAccountMarketId": { + "type": "string", + "description": "Receiver market ID." + }, + "fromAccountBalance": { + "type": "string", + "description": "Sender account balance after the transfer." + }, + "toAccountBalance": { + "type": "string", + "description": "Receiver account balance after the transfer." + } + }, + "title": "Represents an aggregated view of ledger entry data, sender and receiver accounts,\ndetails and balances for both sides after the transfer has been made" + }, + "v2AssetEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaAsset", + "description": "Asset data returned." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Assets data with the corresponding cursor." + }, + "v2AssetsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AssetEdge" + }, + "description": "Page of assets data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of asset data and corresponding page information" + }, + "v2CandleDataConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2CandleEdge" + }, + "description": "Page of candle data items and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of candles data and corresponding page information" + }, + "v2CandleEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/apiv2Candle", + "description": "Candlestick data, i.e. high, low, open, and closing prices for an interval of trading." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Candle data with the corresponding cursor." + }, + "v2Checkpoint": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "description": "Hash of the checkpoint." + }, + "blockHash": { + "type": "string", + "description": "Block hash at which the checkpoint is made." + }, + "atBlock": { + "type": "string", + "format": "uint64", + "description": "Block number at which the checkpoint is made." + } + }, + "title": "Actual data regarding a checkpoint" + }, + "v2CheckpointEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2Checkpoint", + "description": "Data relating to a single checkpoint generated by the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Checkpoint data with the corresponding cursor." + }, + "v2CheckpointsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2CheckpointEdge" + }, + "description": "Page of checkpoints data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of checkpoints data and corresponding page information" + }, + "v2CoreSnapshotConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2CoreSnapshotEdge" + }, + "description": "Page of core snapshot data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of core snapshot data and corresponding page information." + }, + "v2CoreSnapshotEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1CoreSnapshotData", + "description": "Core snapshot data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Core snapshot data with the corresponding cursor." + }, + "v2DateRange": { + "type": "object", + "properties": { + "startTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range." + }, + "endTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range." + } + }, + "description": "Date range for queries that can return historical data\nTimestamps should be provided as unix time in Unix nanoseconds and are inclusive." + }, + "v2DelegationEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaDelegation", + "description": "How much a party is delegating to a node and when." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Delegation data with the corresponding cursor." + }, + "v2DelegationsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2DelegationEdge" + }, + "description": "Page of delegations data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of delegations data and corresponding page information" + }, + "v2DepositEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaDeposit", + "description": "Data associated with a single deposit made on the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Deposits data with the corresponding cursor." + }, + "v2DepositsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2DepositEdge" + }, + "description": "Page of deposits data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of deposits data received and corresponding page information" + }, + "v2ERC20MultiSigSignerAddedBundle": { + "type": "object", + "properties": { + "newSigner": { + "type": "string", + "description": "Ethereum address of the signer to be removed." + }, + "submitter": { + "type": "string", + "description": "Ethereum address of the submitter." + }, + "nonce": { + "type": "string", + "description": "Nonce used in the signing operation." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Unixnano timestamp for when the validator was added." + }, + "signatures": { + "type": "string", + "description": "Bundle of signatures from current validators to sign in the new signer." + }, + "epochSeq": { + "type": "string", + "description": "Epoch in which the validator was added." + } + }, + "title": "Signature bundle data to be added" + }, + "v2ERC20MultiSigSignerAddedBundleEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2ERC20MultiSigSignerAddedBundle", + "description": "Signature bundle data to be added." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Signature bundle data that is to be added with the corresponding cursor." + }, + "v2ERC20MultiSigSignerAddedConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ERC20MultiSigSignerAddedBundleEdge" + }, + "description": "Page of signature bundle data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of signature data items to be added and corresponding page information" + }, + "v2ERC20MultiSigSignerRemovedBundle": { + "type": "object", + "properties": { + "oldSigner": { + "type": "string", + "description": "Ethereum address of the signer to be removed." + }, + "submitter": { + "type": "string", + "description": "Ethereum address of the submitter." + }, + "nonce": { + "type": "string", + "description": "Nonce used in the signing operation." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Unixnano timestamp for when the validator was added." + }, + "signatures": { + "type": "string", + "description": "Bundle of signatures from current validators to sign in the new signer." + }, + "epochSeq": { + "type": "string", + "description": "Epoch in which the validator was removed." + } + }, + "title": "Signature bundle data to be removed" + }, + "v2ERC20MultiSigSignerRemovedBundleEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2ERC20MultiSigSignerRemovedBundle", + "description": "Signature bundle data to be added." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Signature bundle data to be removed, with the corresponding cursor." + }, + "v2ERC20MultiSigSignerRemovedConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ERC20MultiSigSignerRemovedBundleEdge" + }, + "description": "Page of signature bundle data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of signature data items to be removed and corresponding page information." + }, + "v2EpochRewardSummaryConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2EpochRewardSummaryEdge" + }, + "description": "Page of rewards summary data for epochs and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of rewards summary data for epoch and corresponding page information" + }, + "v2EpochRewardSummaryEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaEpochRewardSummary", + "description": "Rewards summary data for epoch." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Rewards summary data for epoch with the corresponding cursor." + }, + "v2EstimateFeeResponse": { + "type": "object", + "properties": { + "fee": { + "$ref": "#/definitions/vegaFee", + "description": "Summary of the estimated fees for this order if it were to trade now." + } + }, + "title": "Response that is received from EstimateFeeRequest, contains the estimated fees for a given order" + }, + "v2EstimateMarginResponse": { + "type": "object", + "properties": { + "marginLevels": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Summary of the estimated margins for this order if it were to trade now." + } + }, + "title": "Response to an estimate margin request, containing the estimated margin levels for a given order" + }, + "v2EstimatePositionResponse": { + "type": "object", + "properties": { + "margin": { + "$ref": "#/definitions/v2MarginEstimate", + "description": "Margin level range estimate for the specified position." + }, + "liquidation": { + "$ref": "#/definitions/v2LiquidationEstimate", + "description": "Liquidation price range estimate for the specified position. Only populated if available collateral was specified in the request." + } + }, + "description": "Response for the estimate of the margin level and, if available collateral was provided in the request, liquidation price for the specified position." + }, + "v2EthereumKeyRotationEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1EthereumKeyRotation", + "description": "Data relating to an Ethereum key rotation performed by a node on the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Ethereum key rotation data with the corresponding cursor." + }, + "v2EthereumKeyRotationsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2EthereumKeyRotationEdge" + }, + "description": "Page of Ethereum key rotations data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of Ethereum key rotations data and corresponding page information" + }, + "v2GetActiveNetworkHistoryPeerAddressesResponse": { + "type": "object", + "properties": { + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of IP addresses for the active peers." + } + }, + "title": "Response containing the addresses of active network history peers" + }, + "v2GetAssetResponse": { + "type": "object", + "properties": { + "asset": { + "$ref": "#/definitions/vegaAsset", + "description": "Asset information that is returned." + } + }, + "title": "Response from getting an asset" + }, + "v2GetDepositResponse": { + "type": "object", + "properties": { + "deposit": { + "$ref": "#/definitions/vegaDeposit", + "description": "Deposit matching the ID from the request." + } + }, + "title": "Response that is received from getting deposit data" + }, + "v2GetERC20ListAssetBundleResponse": { + "type": "object", + "properties": { + "assetSource": { + "type": "string", + "description": "Address of the asset on Ethereum." + }, + "vegaAssetId": { + "type": "string", + "description": "Asset ID for the underlying Vega asset." + }, + "nonce": { + "type": "string", + "description": "Nonce that uniquely identifies this signature bundle and prevents resubmission." + }, + "signatures": { + "type": "string", + "description": "Signatures bundle as hex encoded data, prefixed with `0x`\ne.g: `0x + sig1 + sig2 + ... + sixN`." + } + }, + "title": "Response from listing the signature bundle to an ERC-20 token in the collateral bridge" + }, + "v2GetERC20SetAssetLimitsBundleResponse": { + "type": "object", + "properties": { + "assetSource": { + "type": "string", + "description": "Address of the asset on Ethereum." + }, + "vegaAssetId": { + "type": "string", + "description": "Asset ID for the underlying Vega asset." + }, + "nonce": { + "type": "string", + "description": "Nonce that uniquely identifies this signature bundle and prevents resubmission." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limit deposit for this asset." + }, + "threshold": { + "type": "string", + "description": "Threshold withdraw for this asset." + }, + "signatures": { + "type": "string", + "description": "Signatures bundle as hex encoded data, prefixed with `0x`\ne.g: `0x + sig1 + sig2 + ... + sixN`." + } + }, + "title": "Response for the signature bundle to update the token limits i.e. maxLifetimeDeposit and withdrawThreshold for a given ERC20 token that is already allowlisted in the collateral bridge" + }, + "v2GetERC20WithdrawalApprovalResponse": { + "type": "object", + "properties": { + "assetSource": { + "type": "string", + "description": "Address of asset on Ethereum." + }, + "amount": { + "type": "string", + "description": "Amount to be withdrawn." + }, + "nonce": { + "type": "string", + "description": "Nonce that uniquely identifies this signature bundle and prevents resubmission." + }, + "signatures": { + "type": "string", + "description": "Signatures bundle as hex encoded data, prefixed with `0x`\ne.g: 0x + sig1 + sig2 + ... + sixN." + }, + "targetAddress": { + "type": "string", + "description": "Ethereum address, prefixed with `0x`, that will receive the withdrawn assets." + }, + "creation": { + "type": "string", + "format": "int64", + "description": "Creation timestamps." + } + }, + "title": "Response with all information required to bundle the call to finalise the withdrawal on the erc20 bridge\nfunction withdraw_asset(address asset_source, uint256 asset_id, uint256 amount, uint256 expiry, uint256 nonce, bytes memory signatures)" + }, + "v2GetEpochResponse": { + "type": "object", + "properties": { + "epoch": { + "$ref": "#/definitions/vegaEpoch", + "description": "Data specific to a single epoch on the Vega network. This includes the epoch number,\nstart and end times, and the nodes that participated in the epoch." + } + }, + "title": "Response from getting epoch" + }, + "v2GetGovernanceDataResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/vegaGovernanceData", + "description": "Governance data content, i.e. proposal and votes for and against." + } + }, + "title": "Response from getting governance data" + }, + "v2GetLastTradeResponse": { + "type": "object", + "properties": { + "trade": { + "$ref": "#/definitions/vegaTrade", + "description": "Information about the trade, if one is found." + } + }, + "title": "Response for the latest trade that occurred on Vega for a given market" + }, + "v2GetLatestMarketDataResponse": { + "type": "object", + "properties": { + "marketData": { + "$ref": "#/definitions/vegaMarketData", + "description": "Market data that was requested." + } + }, + "title": "Response that is received when listing the latest market data for a given market" + }, + "v2GetLatestMarketDepthResponse": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID of the depth levels returned." + }, + "buy": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Zero or more price levels for the buy side of the market depth data." + }, + "sell": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Zero or more price levels for the sell side of the market depth data." + }, + "lastTrade": { + "$ref": "#/definitions/vegaTrade", + "description": "Last trade recorded on Vega." + }, + "sequenceNumber": { + "type": "string", + "format": "uint64", + "description": "Sequence number incremented after each update." + } + }, + "title": "Response that is received when latest market depth data is queried" + }, + "v2GetMarketDataHistoryByIDResponse": { + "type": "object", + "properties": { + "marketData": { + "$ref": "#/definitions/v2MarketDataConnection", + "description": "Page of market data history with the corresponding page information." + } + }, + "title": "Response that is received when querying Market Data History" + }, + "v2GetMarketResponse": { + "type": "object", + "properties": { + "market": { + "$ref": "#/definitions/vegaMarket", + "description": "Information about the market requested." + } + }, + "title": "Response from getting a market by ID" + }, + "v2GetMostRecentNetworkHistorySegmentResponse": { + "type": "object", + "properties": { + "segment": { + "$ref": "#/definitions/v2HistorySegment", + "description": "Data relating to a history segment created by a Vega data node." + }, + "swarmKeySeed": { + "type": "string", + "description": "Key seed for the swarm section." + } + }, + "title": "Response from getting most recent history segment" + }, + "v2GetNetworkDataResponse": { + "type": "object", + "properties": { + "nodeData": { + "$ref": "#/definitions/vegaNodeData", + "description": "Summary of information with respect to nodes on the Vega network." + } + }, + "title": "Response from getting network data" + }, + "v2GetNetworkHistoryBootstrapPeersResponse": { + "type": "object", + "properties": { + "bootstrapPeers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of peers that can be used to bootstrap a Vega data node." + } + }, + "title": "Response containing the nodes network history bootstrap peers" + }, + "v2GetNetworkHistoryStatusResponse": { + "type": "object", + "properties": { + "ipfsAddress": { + "type": "string", + "description": "IPFS address of the data node currently connected to." + }, + "swarmKey": { + "type": "string", + "description": "Swarm key used by the IPFS swarm." + }, + "swarmKeySeed": { + "type": "string", + "description": "Swarm key seed used by the IPFS swarm." + }, + "connectedPeers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of peers connected to the IPFS swarm." + } + }, + "title": "Response containing the status of network history" + }, + "v2GetNetworkLimitsResponse": { + "type": "object", + "properties": { + "limits": { + "$ref": "#/definitions/vegaNetworkLimits", + "description": "List of received network limits." + } + }, + "title": "Response received when querying the current network limits" + }, + "v2GetNetworkParameterResponse": { + "type": "object", + "properties": { + "networkParameter": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "Network parameter key and value." + } + }, + "title": "Response that is received when getting a network parameter" + }, + "v2GetNodeResponse": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaNode", + "description": "Data specific to a single node on the Vega network." + } + }, + "title": "Response from getting node" + }, + "v2GetOracleSpecResponse": { + "type": "object", + "properties": { + "oracleSpec": { + "$ref": "#/definitions/vegaOracleSpec", + "description": "External data spec matching the ID." + } + }, + "title": "Response for a oracle spec" + }, + "v2GetOrderResponse": { + "type": "object", + "properties": { + "order": { + "$ref": "#/definitions/vegaOrder", + "description": "Order details, if one was found." + } + }, + "title": "Response received from the query for getting a single order" + }, + "v2GetPartyResponse": { + "type": "object", + "properties": { + "party": { + "$ref": "#/definitions/vegaParty", + "description": "Data for the party requested." + } + }, + "title": "Response from getting party by ID" + }, + "v2GetProtocolUpgradeStatusResponse": { + "type": "object", + "properties": { + "ready": { + "type": "boolean", + "description": "Indicator if the upgrade is ready or not." + } + }, + "title": "Response from getting protocol upgrade status" + }, + "v2GetRiskFactorsResponse": { + "type": "object", + "properties": { + "riskFactor": { + "$ref": "#/definitions/vegaRiskFactor", + "description": "Risk factor emitted by the risk model for a given market." + } + }, + "title": "Response that is received from getting a risk factor" + }, + "v2GetStakeResponse": { + "type": "object", + "properties": { + "currentStakeAvailable": { + "type": "string", + "description": "Current stake available information." + }, + "stakeLinkings": { + "$ref": "#/definitions/v2StakesConnection", + "description": "Paged list of stake data with corresponding page information." + } + }, + "title": "Response that is received from requesting stake information" + }, + "v2GetStopOrderResponse": { + "type": "object", + "properties": { + "order": { + "$ref": "#/definitions/v1StopOrderEvent", + "description": "Order details, if one was found." + } + }, + "description": "Response received from the query for getting a single stop order." + }, + "v2GetVegaTimeResponse": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp representation of current VegaTime as represented in nanoseconds, for example\n`1580473859111222333` corresponds to `2020-01-31T12:30:59.111222333Z`." + } + }, + "title": "Response for the current consensus coordinated time on the Vega network, referred to as \"VegaTime\"" + }, + "v2GetWithdrawalResponse": { + "type": "object", + "properties": { + "withdrawal": { + "$ref": "#/definitions/vegaWithdrawal", + "description": "Withdrawal matching the ID from the request." + } + }, + "title": "Response for a withdrawal request" + }, + "v2GovernanceDataConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2GovernanceDataEdge" + }, + "description": "Page of governance data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of governance data and corresponding page information" + }, + "v2GovernanceDataEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaGovernanceData", + "description": "Governance data content, i.e. proposal and votes for and against." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Governance data with the corresponding cursor." + }, + "v2HistorySegment": { + "type": "object", + "properties": { + "fromHeight": { + "type": "string", + "format": "int64", + "description": "Starting height of the history segment." + }, + "toHeight": { + "type": "string", + "format": "int64", + "description": "Ending height of the history segment." + }, + "historySegmentId": { + "type": "string", + "description": "History segment ID." + }, + "previousHistorySegmentId": { + "type": "string", + "description": "Previous history segment ID." + }, + "databaseVersion": { + "type": "string", + "format": "int64", + "description": "Database schema version of the history segment." + }, + "chainId": { + "type": "string", + "description": "Chain ID of the history segment." + } + }, + "title": "Describes a network history segment" + }, + "v2InfoResponse": { + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Semver formatted version of the data node." + }, + "commitHash": { + "type": "string", + "description": "Commit hash from which the data node was built." + } + }, + "title": "Response that is received from the node information query" + }, + "v2IntervalToCandleId": { + "type": "object", + "properties": { + "interval": { + "type": "string", + "description": "Interval for the candle." + }, + "candleId": { + "type": "string", + "description": "Unique id of the candle." + } + }, + "title": "Maps an interval for a given market to its corresponding candle ID" + }, + "v2KeyRotationConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2KeyRotationEdge" + }, + "description": "Page of key rotation data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of key rotations data and corresponding page information" + }, + "v2KeyRotationEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1KeyRotation", + "description": "Data relating to a key rotation that was performed by a node on the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Key rotation data with the corresponding cursor." + }, + "v2LedgerEntryFilter": { + "type": "object", + "properties": { + "closeOnAccountFilters": { + "type": "boolean", + "description": "Determines whether an entry must have accounts matching both the account_from_filter\nand the account_to_filter. If set to 'true', entries must have matches in both filters.\nIf set to `false`, entries matching only the account_from_filter or the account_to_filter will also be included." + }, + "fromAccountFilter": { + "$ref": "#/definitions/v2AccountFilter", + "description": "Used to set values for filtering sender accounts." + }, + "toAccountFilter": { + "$ref": "#/definitions/v2AccountFilter", + "description": "Used to set values for filtering receiver accounts." + }, + "transferTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaTransferType" + }, + "description": "List of transfer types that is used for filtering sender and receiver accounts." + } + }, + "description": "Ledger entry filter sets filters on returned set of ledger entries." + }, + "v2LiquidationEstimate": { + "type": "object", + "properties": { + "worstCase": { + "$ref": "#/definitions/v2LiquidationPrice", + "description": "Liquidation price estimate assuming slippage cap is applied." + }, + "bestCase": { + "$ref": "#/definitions/v2LiquidationPrice", + "description": "Liquidation price estimate assuming no slippage." + } + }, + "description": "Liquidation estimate for both worst and best case possible." + }, + "v2LiquidationPrice": { + "type": "object", + "properties": { + "openVolumeOnly": { + "type": "string", + "description": "Liquidation price for current open volume ignoring any active orders." + }, + "includingBuyOrders": { + "type": "string", + "description": "Liquidation price assuming buy orders start getting filled." + }, + "includingSellOrders": { + "type": "string", + "description": "Liquidation price assuming sell orders start getting filled." + } + }, + "description": "Liquidation price estimate for either only the current open volume and position given some or all buy orders get filled, or position given some or all sell orders get filled." + }, + "v2LiquidityProvider": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "description": "Party ID of the liquidity provider." + }, + "marketId": { + "type": "string", + "description": "ID of the market the liquidity provider is active in." + }, + "feeShare": { + "$ref": "#/definitions/vegaLiquidityProviderFeeShare", + "description": "Information used for calculating an LP's fee share, such as the equity like share,\naverage entry valuation and liquidity score for the liquidity provider for the specified market." + } + }, + "description": "Liquidity provider information." + }, + "v2LiquidityProviderConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2LiquidityProviderEdge" + }, + "description": "Page of liquidity provider data." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of liquidity provider data and corresponding page information." + }, + "v2LiquidityProviderEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2LiquidityProvider", + "description": "Liquidity provider information returned by the API." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further data." + } + }, + "description": "Liquidity provider data with the corresponding cursor." + }, + "v2LiquidityProvisionsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2LiquidityProvisionsEdge" + }, + "description": "Page of liquidity provisions data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of liquidity provisions data and corresponding page information" + }, + "v2LiquidityProvisionsEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaLiquidityProvision", + "description": "Data corresponding to a liquidity provider's commitment." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Liquidity provision data with the corresponding cursor." + }, + "v2ListAccountsResponse": { + "type": "object", + "properties": { + "accounts": { + "$ref": "#/definitions/v2AccountsConnection", + "description": "Page of accounts data and corresponding page information." + } + }, + "description": "Response that is received from listing accounts query." + }, + "v2ListAllNetworkHistorySegmentsResponse": { + "type": "object", + "properties": { + "segments": { + "type": "array", + "items": { + "$ref": "#/definitions/v2HistorySegment" + }, + "description": "Page of history segments data and corresponding page information." + } + }, + "title": "Response with a list of all the nodes history segments" + }, + "v2ListAllPositionsResponse": { + "type": "object", + "properties": { + "positions": { + "$ref": "#/definitions/v2PositionConnection", + "description": "Page of positions data and corresponding page information." + } + }, + "title": "Response to query for listing of positions, given the filter is supplied" + }, + "v2ListAssetsResponse": { + "type": "object", + "properties": { + "assets": { + "$ref": "#/definitions/v2AssetsConnection", + "description": "Page of assets data and corresponding page information." + } + }, + "title": "Response from listing assets" + }, + "v2ListBalanceChangesResponse": { + "type": "object", + "properties": { + "balances": { + "$ref": "#/definitions/v2AggregatedBalanceConnection", + "description": "Page of aggregated balances data and corresponding page information." + } + }, + "description": "Response that is received from querying balances changes." + }, + "v2ListCandleDataResponse": { + "type": "object", + "properties": { + "candles": { + "$ref": "#/definitions/v2CandleDataConnection", + "description": "Page of candle data and corresponding page information." + } + }, + "title": "Response for list of candles for a market at an interval" + }, + "v2ListCandleIntervalsResponse": { + "type": "object", + "properties": { + "intervalToCandleId": { + "type": "array", + "items": { + "$ref": "#/definitions/v2IntervalToCandleId" + }, + "description": "List of the mappings." + } + }, + "title": "List of mapped pairs `interval` -\u003e `candle ID` for a given market" + }, + "v2ListCheckpointsResponse": { + "type": "object", + "properties": { + "checkpoints": { + "$ref": "#/definitions/v2CheckpointsConnection", + "description": "Page of checkpoints data and corresponding page information." + } + }, + "title": "Response message containing all checkpoints requested" + }, + "v2ListCoreSnapshotsResponse": { + "type": "object", + "properties": { + "coreSnapshots": { + "$ref": "#/definitions/v2CoreSnapshotConnection", + "description": "Page of core snapshot data and corresponding page information." + } + }, + "description": "Response from a ListCoreSnapshots RPC call; a paginated list of the core snapshots." + }, + "v2ListDelegationsResponse": { + "type": "object", + "properties": { + "delegations": { + "$ref": "#/definitions/v2DelegationsConnection", + "description": "Page of delegations data and corresponding page information." + } + }, + "title": "Response from listing delegations" + }, + "v2ListDepositsResponse": { + "type": "object", + "properties": { + "deposits": { + "$ref": "#/definitions/v2DepositsConnection", + "description": "Page of deposits data and corresponding page information." + } + }, + "title": "Response from listing deposits" + }, + "v2ListERC20MultiSigSignerAddedBundlesResponse": { + "type": "object", + "properties": { + "bundles": { + "$ref": "#/definitions/v2ERC20MultiSigSignerAddedConnection", + "description": "Page of bundles for that validator - it may have been added multiple times if removed in between - and corresponding page information." + } + }, + "title": "Response from adding a signature bundle to the signer list of a multisig contract for a particular validator" + }, + "v2ListERC20MultiSigSignerRemovedBundlesResponse": { + "type": "object", + "properties": { + "bundles": { + "$ref": "#/definitions/v2ERC20MultiSigSignerRemovedConnection", + "description": "Page of signer bundle data items for that validator and corresponding page information." + } + }, + "title": "Response when removing a signature bundle from the signer list of the multisig contract for a particular validator" + }, + "v2ListEntitiesResponse": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaAccount" + } + }, + "orders": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrder" + } + }, + "positions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPosition" + } + }, + "ledgerEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerEntry" + } + }, + "balanceChanges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AccountBalance" + } + }, + "transfers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaeventsv1Transfer" + } + }, + "votes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVote" + } + }, + "erc20MultiSigSignerAddedBundles": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ERC20MultiSigSignerAddedBundle" + } + }, + "erc20MultiSigSignerRemovedBundles": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ERC20MultiSigSignerRemovedBundle" + } + }, + "trades": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaTrade" + } + }, + "oracleSpecs": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOracleSpec" + } + }, + "oracleData": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOracleData" + } + }, + "markets": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarket" + } + }, + "parties": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaParty" + } + }, + "marginLevels": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarginLevels" + } + }, + "rewards": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaReward" + } + }, + "deposits": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDeposit" + } + }, + "withdrawals": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaWithdrawal" + } + }, + "assets": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaAsset" + } + }, + "liquidityProvisions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProvision" + } + }, + "proposals": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaProposal" + } + }, + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDelegation" + } + }, + "nodes": { + "type": "array", + "items": { + "$ref": "#/definitions/v2NodeBasic" + } + }, + "nodeSignatures": { + "type": "array", + "items": { + "$ref": "#/definitions/v1NodeSignature" + } + }, + "networkParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNetworkParameter" + } + }, + "keyRotations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1KeyRotation" + } + }, + "ethereumKeyRotations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1EthereumKeyRotation" + } + }, + "protocolUpgradeProposals": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ProtocolUpgradeEvent" + } + } + }, + "title": "Response from listing entities that were created for a given transaction hash" + }, + "v2ListEpochRewardSummariesResponse": { + "type": "object", + "properties": { + "summaries": { + "$ref": "#/definitions/v2EpochRewardSummaryConnection", + "description": "Page of rewards details for a single party and corresponding page information." + } + }, + "title": "Return message with reward details in for a single party" + }, + "v2ListEthereumKeyRotationsResponse": { + "type": "object", + "properties": { + "keyRotations": { + "$ref": "#/definitions/v2EthereumKeyRotationsConnection", + "description": "Page of Ethereum key rotations data and corresponding page information." + } + }, + "title": "Response message containing Ethereum key rotations" + }, + "v2ListGovernanceDataRequestType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ALL", + "TYPE_NEW_MARKET", + "TYPE_UPDATE_MARKET", + "TYPE_NETWORK_PARAMETERS", + "TYPE_NEW_ASSET", + "TYPE_NEW_FREE_FORM", + "TYPE_UPDATE_ASSET" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_ALL: List all proposals\n - TYPE_NEW_MARKET: List new market proposals\n - TYPE_UPDATE_MARKET: List update market proposals\n - TYPE_NETWORK_PARAMETERS: List change Vega network parameter proposals\n - TYPE_NEW_ASSET: New asset proposals\n - TYPE_NEW_FREE_FORM: Proposals for creating a new free form proposal\n - TYPE_UPDATE_ASSET: Update asset proposals", + "title": "Filter for the types of governance proposals to view" + }, + "v2ListGovernanceDataResponse": { + "type": "object", + "properties": { + "connection": { + "$ref": "#/definitions/v2GovernanceDataConnection", + "description": "Page of governance data and corresponding page information." + } + }, + "title": "Response from listing governance data" + }, + "v2ListKeyRotationsResponse": { + "type": "object", + "properties": { + "rotations": { + "$ref": "#/definitions/v2KeyRotationConnection", + "description": "Page of key rotations data and corresponding page information." + } + }, + "title": "Response message containing Vega key rotations" + }, + "v2ListLatestMarketDataResponse": { + "type": "object", + "properties": { + "marketsData": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketData" + } + } + }, + "title": "Response that is received when listing the latest market data for every market" + }, + "v2ListLedgerEntriesResponse": { + "type": "object", + "properties": { + "ledgerEntries": { + "$ref": "#/definitions/v2AggregatedLedgerEntriesConnection", + "description": "Page of aggregated ledger entries data and corresponding page information." + } + }, + "title": "Response that is received when listing ledger entries" + }, + "v2ListLiquidityProvidersResponse": { + "type": "object", + "properties": { + "liquidityProviders": { + "$ref": "#/definitions/v2LiquidityProviderConnection", + "description": "Page of liquidity providers and corresponding page information." + } + }, + "description": "Response for listing liquidity providers." + }, + "v2ListLiquidityProvisionsResponse": { + "type": "object", + "properties": { + "liquidityProvisions": { + "$ref": "#/definitions/v2LiquidityProvisionsConnection", + "description": "Page of liquidity provisions data and corresponding page information." + } + }, + "title": "Response from listing liquidity provisions" + }, + "v2ListMarginLevelsResponse": { + "type": "object", + "properties": { + "marginLevels": { + "$ref": "#/definitions/v2MarginConnection", + "description": "Page of margin levels data and corresponding page information." + } + }, + "title": "Response from listing margin levels" + }, + "v2ListMarketsResponse": { + "type": "object", + "properties": { + "markets": { + "$ref": "#/definitions/v2MarketConnection", + "description": "Page of markets and corresponding page information." + } + }, + "title": "Response from listing markets" + }, + "v2ListNetworkParametersResponse": { + "type": "object", + "properties": { + "networkParameters": { + "$ref": "#/definitions/v2NetworkParameterConnection", + "description": "Page of network parameters and corresponding page information." + } + }, + "title": "Response containing all of the Vega network parameters" + }, + "v2ListNodeSignaturesResponse": { + "type": "object", + "properties": { + "signatures": { + "$ref": "#/definitions/v2NodeSignaturesConnection", + "description": "Page of nodes signatures and corresponding page information." + } + }, + "title": "Response to specify the ID of the resource to retrieve aggregated signatures for" + }, + "v2ListNodesResponse": { + "type": "object", + "properties": { + "nodes": { + "$ref": "#/definitions/v2NodesConnection", + "description": "Page of node data and corresponding page information." + } + }, + "title": "Response from listing nodes" + }, + "v2ListOracleDataResponse": { + "type": "object", + "properties": { + "oracleData": { + "$ref": "#/definitions/v2OracleDataConnection", + "description": "Page of seen oracle data and corresponding page information." + } + }, + "title": "Response to get all seen oracle data" + }, + "v2ListOracleSpecsResponse": { + "type": "object", + "properties": { + "oracleSpecs": { + "$ref": "#/definitions/v2OracleSpecsConnection", + "description": "Page of active oracle specs and corresponding page information." + } + }, + "title": "Response to get all active oracle specs" + }, + "v2ListOrderVersionsResponse": { + "type": "object", + "properties": { + "orders": { + "$ref": "#/definitions/v2OrderConnection", + "description": "Page of order versions and corresponding page information." + } + }, + "title": "Response that is received when listing possible order versions" + }, + "v2ListOrdersResponse": { + "type": "object", + "properties": { + "orders": { + "$ref": "#/definitions/v2OrderConnection", + "description": "Page of orders data and corresponding page information." + } + }, + "title": "Response that is received from the query to list orders" + }, + "v2ListPartiesResponse": { + "type": "object", + "properties": { + "parties": { + "$ref": "#/definitions/v2PartyConnection", + "description": "Page of parties data and corresponding page information." + } + }, + "title": "Response from listing parties" + }, + "v2ListPositionsResponse": { + "type": "object", + "properties": { + "positions": { + "$ref": "#/definitions/v2PositionConnection", + "description": "Page of positions data and corresponding page information." + } + }, + "title": "Response for a list of positions for a party" + }, + "v2ListProtocolUpgradeProposalsResponse": { + "type": "object", + "properties": { + "protocolUpgradeProposals": { + "$ref": "#/definitions/v2ProtocolUpgradeProposalConnection", + "description": "Page of protocol upgrade proposals and corresponding page information." + } + }, + "title": "Response type from a ListProtocolUpgradeProposals RPC call; a paginated list of protocol upgrade proposals" + }, + "v2ListRewardSummariesResponse": { + "type": "object", + "properties": { + "summaries": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaRewardSummary" + }, + "description": "Page of rewards details data and corresponding page information." + } + }, + "title": "Response from listing reward details in for a single party" + }, + "v2ListRewardsResponse": { + "type": "object", + "properties": { + "rewards": { + "$ref": "#/definitions/v2RewardsConnection", + "description": "Page of rewards data and corresponding page information." + } + }, + "title": "Response for listing reward details for a single party" + }, + "v2ListStopOrdersResponse": { + "type": "object", + "properties": { + "orders": { + "$ref": "#/definitions/v2StopOrderConnection", + "description": "Page of stop orders data and corresponding page information." + } + }, + "description": "Response that is received from the query to list stop orders." + }, + "v2ListSuccessorMarketsResponse": { + "type": "object", + "properties": { + "successorMarkets": { + "$ref": "#/definitions/v2SuccessorMarketConnection", + "description": "List of markets in the succession line." + } + }, + "description": "Response from a list successor markets request." + }, + "v2ListTradesResponse": { + "type": "object", + "properties": { + "trades": { + "$ref": "#/definitions/v2TradeConnection", + "description": "Page of trades data and corresponding page information." + } + }, + "title": "Response from listing trades" + }, + "v2ListTransfersResponse": { + "type": "object", + "properties": { + "transfers": { + "$ref": "#/definitions/v2TransferConnection", + "description": "Page of transfers data and corresponding page information." + } + }, + "title": "Response that is received when listing transfers" + }, + "v2ListVotesResponse": { + "type": "object", + "properties": { + "votes": { + "$ref": "#/definitions/v2VoteConnection", + "description": "Page of votes data received and corresponding page information." + } + }, + "title": "Response that is received when listing Votes" + }, + "v2ListWithdrawalsResponse": { + "type": "object", + "properties": { + "withdrawals": { + "$ref": "#/definitions/v2WithdrawalsConnection", + "description": "Page of withdrawals data and corresponding page information." + } + }, + "title": "Response from listing withdrawals data" + }, + "v2MarginConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2MarginEdge" + }, + "description": "Page of margins data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of margins data and corresponding page information." + }, + "v2MarginEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Margin levels data that satisfy a list margin levels request." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Margin data with the corresponding cursor." + }, + "v2MarginEstimate": { + "type": "object", + "properties": { + "worstCase": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Margin level estimate assuming slippage cap is applied." + }, + "bestCase": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Margin level estimate assuming no slippage." + } + }, + "description": "Margin level estimate for both worst and best case possible." + }, + "v2MarketConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2MarketEdge" + }, + "description": "Page of markets and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of markets and corresponding page information." + }, + "v2MarketDataConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2MarketDataEdge" + }, + "description": "Page of market data items and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of market data items and corresponding page information" + }, + "v2MarketDataEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaMarketData", + "description": "Data generated by a market when open." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Market data with the corresponding cursor." + }, + "v2MarketEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaMarket", + "description": "Information about the market." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Market information with the corresponding cursor." + }, + "v2NetworkParameterConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2NetworkParameterEdge" + }, + "description": "Page of network parameters data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of network parameters and corresponding page information" + }, + "v2NetworkParameterEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "Name and associated value of a network parameter." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Network parameter with the corresponding cursor." + }, + "v2NodeBasic": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID identifying the node." + }, + "pubKey": { + "type": "string", + "description": "Node operator's public key." + }, + "tmPubKey": { + "type": "string", + "description": "Tendermint public key of the node." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key of the node." + }, + "infoUrl": { + "type": "string", + "description": "URL that provides more information about the node." + }, + "location": { + "type": "string", + "description": "Country code for the location of the node." + }, + "status": { + "$ref": "#/definitions/vegaNodeStatus", + "description": "Node status." + }, + "name": { + "type": "string", + "description": "Node name." + }, + "avatarUrl": { + "type": "string", + "description": "Avatar URL." + } + }, + "description": "Represents a basic node without any epoch specific details like delegations, staking, rewards etc." + }, + "v2NodeEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaNode", + "description": "Data specific to a single node on the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Node data with the corresponding cursor." + }, + "v2NodeSignatureEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1NodeSignature", + "description": "Node signature data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Nodes signature edge with the corresponding cursor." + }, + "v2NodeSignaturesConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2NodeSignatureEdge" + }, + "description": "Page of node signatures and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of node signatures and corresponding page information." + }, + "v2NodesConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2NodeEdge" + }, + "description": "Page of node data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of node data and corresponding page information" + }, + "v2ObserveAccountsResponse": { + "type": "object", + "properties": { + "snapshot": { + "$ref": "#/definitions/v2AccountSnapshotPage", + "description": "'Initial image' snapshot containing current account balances." + }, + "updates": { + "$ref": "#/definitions/v2AccountUpdates", + "description": "List of account updates in the last block." + } + }, + "description": "Response that is received when subscribing to a stream of accounts." + }, + "v2ObserveCandleDataResponse": { + "type": "object", + "properties": { + "candle": { + "$ref": "#/definitions/apiv2Candle", + "description": "Candle data." + } + }, + "title": "Response that is received when subscribing to a stream of candles" + }, + "v2ObserveEventBusResponse": { + "type": "object", + "properties": { + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/v1BusEvent" + }, + "description": "List of events that occurred on the Vega event bus." + } + }, + "title": "Response to a subscribed stream of events from the Vega event bus" + }, + "v2ObserveGovernanceResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/vegaGovernanceData", + "description": "Governance data, i.e. proposal and votes for and against." + } + }, + "title": "Response from governance subscription" + }, + "v2ObserveLedgerMovementsResponse": { + "type": "object", + "properties": { + "ledgerMovement": { + "$ref": "#/definitions/vegaLedgerMovement", + "description": "Ledger movements data with list of ledger entries and and post-transfer balances." + } + }, + "title": "Response from ledger movements subscription" + }, + "v2ObserveLiquidityProvisionsResponse": { + "type": "object", + "properties": { + "liquidityProvisions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProvision" + } + } + }, + "title": "Response from liquidity provisions subscription" + }, + "v2ObserveMarginLevelsResponse": { + "type": "object", + "properties": { + "marginLevels": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Margin levels data that match the subscription request filters." + } + }, + "title": "Response from subscribing to margin levels data" + }, + "v2ObserveMarketsDataResponse": { + "type": "object", + "properties": { + "marketData": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketData" + }, + "description": "List of market data." + } + }, + "title": "Response that is received for market data subscription" + }, + "v2ObserveMarketsDepthResponse": { + "type": "object", + "properties": { + "marketDepth": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketDepth" + }, + "description": "List of market depth data." + } + }, + "description": "Response that is received for MarketDepth subscription." + }, + "v2ObserveMarketsDepthUpdatesResponse": { + "type": "object", + "properties": { + "update": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketDepthUpdate" + }, + "description": "List of market depth update data." + } + }, + "title": "Response that is received for market depth update subscription" + }, + "v2ObserveOrdersResponse": { + "type": "object", + "properties": { + "snapshot": { + "$ref": "#/definitions/v2OrderSnapshotPage", + "description": "An 'initial image' snapshot containing current live orders." + }, + "updates": { + "$ref": "#/definitions/v2OrderUpdates", + "description": "List of order updates in the last block." + } + }, + "description": "Response that is received from an orders subscription." + }, + "v2ObservePositionsResponse": { + "type": "object", + "properties": { + "snapshot": { + "$ref": "#/definitions/v2PositionSnapshotPage", + "description": "An 'initial image' snapshot containing current positions." + }, + "updates": { + "$ref": "#/definitions/v2PositionUpdates", + "description": "List of position updates in the last block." + } + }, + "title": "Response received from a positions subscription request" + }, + "v2ObserveTradesResponse": { + "type": "object", + "properties": { + "trades": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaTrade" + }, + "description": "List of 0 or more trades." + } + }, + "title": "Stream of trades" + }, + "v2ObserveVotesResponse": { + "type": "object", + "properties": { + "vote": { + "$ref": "#/definitions/vegaVote", + "description": "Data associated with governance votes that are published to the stream." + } + }, + "title": "Response that is received from votes subscription" + }, + "v2OracleDataConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2OracleDataEdge" + }, + "description": "Page of oracle data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of oracle data and corresponding page information." + }, + "v2OracleDataEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaOracleData", + "description": "Data that was received from an external oracle." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Oracle data item with the corresponding cursor." + }, + "v2OracleSpecEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaOracleSpec", + "description": "External spec data that satisfies the list request." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Oracle specs data item with the corresponding cursor." + }, + "v2OracleSpecsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2OracleSpecEdge" + }, + "description": "Page of oracle specs data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of oracle specs and corresponding page information" + }, + "v2OrderConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2OrderEdge" + }, + "description": "Page of orders and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of orders data and corresponding page information." + }, + "v2OrderEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaOrder", + "description": "Data associated with an order submitted to a Vega node." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Order data with the corresponding cursor." + }, + "v2OrderFilter": { + "type": "object", + "properties": { + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrderStatus" + }, + "description": "Restrict orders to those with the given statuses." + }, + "types": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrderType" + }, + "description": "Restrict orders to those with the given types." + }, + "timeInForces": { + "type": "array", + "items": { + "$ref": "#/definitions/OrderTimeInForce" + }, + "description": "Restrict orders to those with the given Time In Force." + }, + "excludeLiquidity": { + "type": "boolean", + "description": "Indicator if liquidity provision orders should be included or not in the list." + }, + "partyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict orders to those placed by the given party IDs." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict orders to those placed on the given market IDs." + }, + "reference": { + "type": "string", + "description": "Restrict orders to those with the given reference." + }, + "dateRange": { + "$ref": "#/definitions/v2DateRange", + "description": "Restrict orders to those placed during the given date range. If not set, all orders will be returned." + }, + "liveOnly": { + "type": "boolean", + "description": "Restrict orders to those that are live. If not set, it is treated as being false." + } + }, + "title": "Order filter that contains all filtering conditions and values that are applied to the orders listing" + }, + "v2OrderInfo": { + "type": "object", + "properties": { + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. buy or sell." + }, + "price": { + "type": "string", + "description": "Price for the order. The price is an unsigned integer. For example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "remaining": { + "type": "string", + "format": "uint64", + "description": "Size remaining." + }, + "isMarketOrder": { + "type": "boolean", + "description": "Boolean that indicates if it is a market order." + } + }, + "description": "Basic description of an order." + }, + "v2OrderSnapshotPage": { + "type": "object", + "properties": { + "orders": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrder" + }, + "description": "List of order data parts." + }, + "lastPage": { + "type": "boolean", + "description": "Indicator if the last page is reached or not." + } + }, + "description": "'Initial image' of live orders, may be sent over multiple response messages." + }, + "v2OrderUpdates": { + "type": "object", + "properties": { + "orders": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrder" + }, + "description": "List of orders data." + } + }, + "description": "List of order updates in the last block." + }, + "v2PageInfo": { + "type": "object", + "properties": { + "hasNextPage": { + "type": "boolean", + "description": "Indicator if there is a next page." + }, + "hasPreviousPage": { + "type": "boolean", + "description": "Indicator if there is a previous page." + }, + "startCursor": { + "type": "string", + "description": "Start cursor." + }, + "endCursor": { + "type": "string", + "description": "End cursor." + } + }, + "title": "Page information for cursor based pagination" + }, + "v2Pagination": { + "type": "object", + "properties": { + "first": { + "type": "integer", + "format": "int32", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'." + }, + "after": { + "type": "string", + "description": "If paging forwards, the cursor string for the last row of the previous page." + }, + "last": { + "type": "integer", + "format": "int32", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'." + }, + "before": { + "type": "string", + "description": "If paging forwards, the cursor string for the first row of the previous page." + }, + "newestFirst": { + "type": "boolean", + "description": "Whether to order the results with the newest records first. If not set, the default value is true." + } + }, + "description": "All data returned from the API is ordered in a well-defined manner.\nThe specific columns and the order in which the sorting is performed\ndepend on the API endpoint being called. However, the primary sorting\ncolumn is usually the timestamp of the block in which the data was last updated.\n\nTo prevent excessively large response messages and to avoid overloading\ndatabase resources, the API employs a cursor-based pagination mechanism.\n\nThis Pagination message can be optionally provided as part of the request to specify:\n- The starting point within the total result set for beginning the page\n- The size of the returned page\n- The ordering of the data within that page\n\nIf no Pagination message is provided, the API will return the first page of\ndata using the default page size. The default page size is 1000.\n\nTo retrieve subsequent pages, the caller must examine the PageInfo structure\nreturned in the response to find a cursor string that uniquely identifies the\nlast row of that page. This cursor should then be passed in the 'after' field\nof the Pagination message in a subsequent request.\n\nFor paging backward, take the cursor for the first row of the page from PageInfo\nand pass it in the 'before' field of the Pagination message.\n\nPagination message that uses both first/after and last/before is considered invalid." + }, + "v2PartyConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2PartyEdge" + }, + "description": "Page of parties and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of parties data and corresponding page information." + }, + "v2PartyEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaParty", + "description": "Data associated with a party." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Party data with the corresponding cursor." + }, + "v2PingResponse": { + "type": "object", + "title": "Ping response from the data node" + }, + "v2PositionConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2PositionEdge" + }, + "description": "Page of positions data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of positions and corresponding page information" + }, + "v2PositionEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaPosition", + "description": "Position data for a party on a market." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Position data with the corresponding cursor." + }, + "v2PositionSnapshotPage": { + "type": "object", + "properties": { + "positions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPosition" + }, + "description": "List of positions data." + }, + "lastPage": { + "type": "boolean", + "description": "Indicator if last page is reached or not." + } + }, + "title": "'Initial image' of current positions, may be sent over multiple response messages" + }, + "v2PositionUpdates": { + "type": "object", + "properties": { + "positions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPosition" + }, + "description": "List of positions data." + } + }, + "title": "List of position updates in the last block" + }, + "v2PositionsFilter": { + "type": "object", + "properties": { + "partyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict positions to those related to the given parties." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict positions to those on the given markets." + } + }, + "title": "Filter to apply to the ListAllPositionsRequest" + }, + "v2ProtocolUpgradeProposalConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ProtocolUpgradeProposalEdge" + }, + "description": "Page of protocol upgrade proposals data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of protocol upgrade proposals and corresponding page information" + }, + "v2ProtocolUpgradeProposalEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1ProtocolUpgradeEvent", + "description": "Protocol upgrade proposal data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Protocol upgrade proposal data with the corresponding cursor." + }, + "v2RewardEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaReward", + "description": "Details for a single reward payment." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Rewards data with the corresponding cursor." + }, + "v2RewardSummaryFilter": { + "type": "object", + "properties": { + "assetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict reward summaries to those connected to the assets in the given list." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict reward summaries to those connected to the markets in the given list." + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "description": "Restrict rewards summaries to those that were paid after and including the given epoch ID." + }, + "toEpoch": { + "type": "string", + "format": "uint64", + "description": "Restrict rewards summaries to those that were paid up to and including the given epoch ID." + } + }, + "title": "Filter to restrict the results returned by the ListEpochRewardSummaries" + }, + "v2RewardsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2RewardEdge" + }, + "description": "Page of rewards data items and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of rewards data and corresponding page information." + }, + "v2StakeLinkingEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1StakeLinking", + "description": "Stake linking represent the intent from a party to deposit." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Stake linking data with the corresponding cursor." + }, + "v2StakesConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2StakeLinkingEdge" + }, + "description": "Page of stake data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of stake data and corresponding page information." + }, + "v2StopOrderConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2StopOrderEdge" + }, + "description": "Page of stop orders and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of stop orders data and corresponding page information." + }, + "v2StopOrderEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1StopOrderEvent", + "description": "Data associated with an order submitted to a Vega node." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Order data with the corresponding cursor." + }, + "v2StopOrderFilter": { + "type": "object", + "properties": { + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaStopOrderStatus" + }, + "description": "Restrict orders to those with the given statuses." + }, + "expiryStrategies": { + "type": "array", + "items": { + "$ref": "#/definitions/StopOrderExpiryStrategy" + }, + "description": "Restrict orders to those with the given expiry strategies." + }, + "dateRange": { + "$ref": "#/definitions/v2DateRange", + "description": "Restrict orders to those placed during the given date range. If not set, all orders will be returned." + }, + "partyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict orders to those placed by the given party IDs." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict orders to those placed on the given market IDs." + } + }, + "description": "Stop order filter that contains all filtering conditions and values that are applied to the stop orders listing.", + "title": "Stop order filter" + }, + "v2SuccessorMarket": { + "type": "object", + "properties": { + "market": { + "$ref": "#/definitions/vegaMarket", + "description": "The market that is a member of the succession line." + }, + "proposals": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaGovernanceData" + }, + "description": "All proposals for child markets that have the market as a parent." + } + }, + "description": "Successor market information includes the market that is a member of the succession line\nand any governance data that is associated with proposals for child markets\nwhether enacted or not." + }, + "v2SuccessorMarketConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2SuccessorMarketEdge" + }, + "description": "Page of successor markets and their cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information for pagination control." + } + }, + "description": "Page of successor market records and corresponding page information." + }, + "v2SuccessorMarketEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2SuccessorMarket", + "description": "Successor market record." + }, + "cursor": { + "type": "string", + "description": "Cursor identifying the record for pagination control." + } + }, + "title": "Successor market record with the corresponding cursor for paginated results" + }, + "v2Table": { + "type": "string", + "enum": [ + "TABLE_UNSPECIFIED", + "TABLE_BALANCES", + "TABLE_CHECKPOINTS", + "TABLE_DELEGATIONS", + "TABLE_LEDGER", + "TABLE_ORDERS", + "TABLE_TRADES", + "TABLE_MARKET_DATA", + "TABLE_MARGIN_LEVELS", + "TABLE_POSITIONS", + "TABLE_LIQUIDITY_PROVISIONS", + "TABLE_MARKETS", + "TABLE_DEPOSITS", + "TABLE_WITHDRAWALS", + "TABLE_BLOCKS", + "TABLE_REWARDS" + ], + "default": "TABLE_UNSPECIFIED" + }, + "v2TradeConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2TradeEdge" + }, + "description": "Page of trades and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of trades and corresponding page information" + }, + "v2TradeEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaTrade", + "description": "Data associated with a trade that has been executed." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Trade data item with the corresponding cursor.." + }, + "v2TransferConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2TransferEdge" + }, + "description": "Page of transfers data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of transfers data items and corresponding page information" + }, + "v2TransferDirection": { + "type": "string", + "enum": [ + "TRANSFER_DIRECTION_UNSPECIFIED", + "TRANSFER_DIRECTION_TRANSFER_FROM", + "TRANSFER_DIRECTION_TRANSFER_TO", + "TRANSFER_DIRECTION_TRANSFER_TO_OR_FROM" + ], + "default": "TRANSFER_DIRECTION_UNSPECIFIED", + "title": "Direction of a transfer" + }, + "v2TransferEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaeventsv1Transfer", + "description": "Data relating to a transfer that has been made." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Transfers data with the corresponding cursor." + }, + "v2VoteConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2VoteEdge" + }, + "description": "Page of vote data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of vote data items and corresponding page information" + }, + "v2VoteEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaVote", + "description": "Data associated with a governance vote." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Votes data with the corresponding cursor." + }, + "v2WithdrawalEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaWithdrawal", + "description": "Data associated with a single withdrawal made from the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Withdrawals data with the corresponding cursor." + }, + "v2WithdrawalsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2WithdrawalEdge" + }, + "description": "Page of withdrawals data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of withdrawals data and corresponding page information" + }, + "vegaAccount": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique account ID, used internally by Vega." + }, + "owner": { + "type": "string", + "description": "Party that the account belongs to, special values include `network`, which represents the Vega network and is\nmost commonly seen during liquidation of distressed trading positions." + }, + "balance": { + "type": "string", + "description": "Balance of the asset, the balance is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places\nand importantly balances cannot be negative." + }, + "asset": { + "type": "string", + "description": "Asset ID for the account." + }, + "marketId": { + "type": "string", + "description": "Market ID for the account, if `AccountType.ACCOUNT_TYPE_GENERAL` this will be empty." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type related to this account." + } + }, + "title": "Represents an account for an asset on Vega for a particular owner or party" + }, + "vegaAccountDetails": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID of the asset for this account." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the account." + }, + "owner": { + "type": "string", + "description": "Not specified if network account." + }, + "marketId": { + "type": "string", + "description": "Not specified if account is not related to a market." + } + } + }, + "vegaAccountType": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ], + "default": "ACCOUNT_TYPE_UNSPECIFIED", + "description": "- ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "title": "Various collateral/account types as used by Vega" + }, + "vegaAsset": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Internal identifier of the asset." + }, + "details": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Definition of the external source for this asset." + }, + "status": { + "$ref": "#/definitions/vegaAssetStatus", + "description": "Status of the asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetails": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the asset (e.g: Great British Pound)." + }, + "symbol": { + "type": "string", + "description": "Symbol of the asset (e.g: GBP)." + }, + "decimals": { + "type": "string", + "format": "uint64", + "description": "Number of decimal / precision handled by this asset." + }, + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "builtinAsset": { + "$ref": "#/definitions/vegaBuiltinAsset", + "description": "Vega built-in asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20", + "description": "Ethereum ERC20 asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetailsUpdate": { + "type": "object", + "properties": { + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Update", + "description": "Ethereum ERC20 asset update." + } + }, + "description": "Changes to apply on an existing asset." + }, + "vegaAssetStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PROPOSED", + "STATUS_REJECTED", + "STATUS_PENDING_LISTING", + "STATUS_ENABLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_PROPOSED: Asset is proposed and under vote\n - STATUS_REJECTED: Asset has been rejected from governance\n - STATUS_PENDING_LISTING: Asset is pending listing from the bridge\n - STATUS_ENABLED: Asset is fully usable in the network" + }, + "vegaAuctionDuration": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "format": "int64", + "description": "Duration of the auction in seconds." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Target uncrossing trading volume." + } + }, + "title": "Auction duration is used to configure 3 auction periods:\n1. `duration \u003e 0`, `volume == 0`:\n The auction will last for at least N seconds\n2. `duration == 0`, `volume \u003e 0`:\n The auction will end once the given volume will match at uncrossing\n3. `duration \u003e 0`, `volume \u003e 0`:\n The auction will take at least N seconds, but can end sooner if the market can trade a certain volume" + }, + "vegaAuctionTrigger": { + "type": "string", + "enum": [ + "AUCTION_TRIGGER_UNSPECIFIED", + "AUCTION_TRIGGER_BATCH", + "AUCTION_TRIGGER_OPENING", + "AUCTION_TRIGGER_PRICE", + "AUCTION_TRIGGER_LIQUIDITY", + "AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET", + "AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS", + "AUCTION_TRIGGER_GOVERNANCE_SUSPENSION" + ], + "default": "AUCTION_TRIGGER_UNSPECIFIED", + "description": "- AUCTION_TRIGGER_UNSPECIFIED: Default value for AuctionTrigger, no auction triggered\n - AUCTION_TRIGGER_BATCH: Batch auction\n - AUCTION_TRIGGER_OPENING: Opening auction\n - AUCTION_TRIGGER_PRICE: Price monitoring trigger\n - AUCTION_TRIGGER_LIQUIDITY: Deprecated\n - AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET: Liquidity auction due to not enough committed liquidity\n - AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS: Liquidity auction due to not being able to deploy LP orders because there's nothing to peg on one or both sides of the book\n - AUCTION_TRIGGER_GOVERNANCE_SUSPENSION: Market is suspended and put into auction via governance", + "title": "Auction triggers indicate what condition triggered an auction (if market is in auction mode)" + }, + "vegaBuiltinAsset": { + "type": "object", + "properties": { + "maxFaucetAmountMint": { + "type": "string", + "description": "Maximum amount that can be requested by a party through the built-in asset faucet at a time." + } + }, + "title": "Vega internal asset" + }, + "vegaCancelTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaCancelTransferConfiguration", + "title": "Configuration for cancellation of a governance-initiated transfer" + } + } + }, + "vegaCancelTransferConfiguration": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "ID of the governance transfer proposal." + } + } + }, + "vegaDataSourceDefinition": { + "type": "object", + "properties": { + "internal": { + "$ref": "#/definitions/vegaDataSourceDefinitionInternal" + }, + "external": { + "$ref": "#/definitions/vegaDataSourceDefinitionExternal" + } + }, + "description": "Represents the top level object that handles data sources.\nData source definition can be external or internal, with whatever\nnumber of data sources are defined for each type in the child objects below." + }, + "vegaDataSourceDefinitionExternal": { + "type": "object", + "properties": { + "oracle": { + "$ref": "#/definitions/vegaDataSourceSpecConfiguration" + }, + "ethOracle": { + "$ref": "#/definitions/vegaEthCallSpec", + "description": "Contains the data specification that is received from Ethereum sources." + } + }, + "description": "DataSourceDefinitionExternal is the top level object used for all external\ndata sources. It contains one of any of the defined `SourceType` variants." + }, + "vegaDataSourceDefinitionInternal": { + "type": "object", + "properties": { + "time": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTime" + }, + "timeTrigger": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTimeTrigger" + } + }, + "description": "Top level object used for all internal data sources.\nIt contains one of any of the defined source type variants." + }, + "vegaDataSourceSpec": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Hash generated from the DataSpec data." + }, + "createdAt": { + "type": "string", + "format": "int64", + "title": "Creation date and time" + }, + "updatedAt": { + "type": "string", + "format": "int64", + "title": "Last Updated timestamp" + }, + "data": { + "$ref": "#/definitions/vegaDataSourceDefinition" + }, + "status": { + "$ref": "#/definitions/vegaDataSourceSpecStatus", + "title": "Status describes the status of the data source spec" + } + }, + "description": "Data source spec describes the data source base that a product or a risk\nmodel wants to get from the data source engine. This message contains\nadditional information used by the API." + }, + "vegaDataSourceSpecConfiguration": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + }, + "description": "Signers is the list of authorized signatures that signed the data for this\nsource. All the signatures in the data source data should be contained in\nthis external source. All the signatures in the data should be contained in\nthis list." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "description": "Filters describes which source data are considered of interest or not for\nthe product (or the risk model)." + } + }, + "description": "All types of external data sources use the same configuration set for meeting\nrequirements in order for the data to be useful for Vega - valid signatures\nand matching filters." + }, + "vegaDataSourceSpecConfigurationTime": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps should meet in order to be considered." + } + }, + "description": "Internal data source used for emitting timestamps." + }, + "vegaDataSourceSpecConfigurationTimeTrigger": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps need to meet in order to be considered." + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1InternalTimeTrigger" + }, + "title": "An internal time trigger" + } + }, + "description": "Internal data source used for emitting timestamps automatically using predefined intervals and conditions." + }, + "vegaDataSourceSpecStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_DEACTIVATED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value.\n - STATUS_ACTIVE: STATUS_ACTIVE describes an active data source spec.\n - STATUS_DEACTIVATED: STATUS_DEACTIVATED describes a data source spec that is not listening to\ndata anymore.", + "title": "Status describe the status of the data source spec" + }, + "vegaDataSourceSpecToFutureBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the Future will use the value of\nthis property as settlement data." + }, + "tradingTerminationProperty": { + "type": "string", + "description": "Name of the property in the data source data that signals termination of trading." + } + }, + "title": "DataSourceSpecToFutureBinding describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDataSourceSpecToPerpetualBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + }, + "settlementScheduleProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + } + }, + "title": "Describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDelegation": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Party which is delegating." + }, + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Amount delegated. This field is an unsigned integer scaled to the asset's decimal places." + }, + "epochSeq": { + "type": "string", + "description": "Epoch of delegation." + } + } + }, + "vegaDeposit": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the deposit." + }, + "status": { + "$ref": "#/definitions/vegaDepositStatus", + "description": "Status of the deposit." + }, + "partyId": { + "type": "string", + "description": "Party ID of the user initiating the deposit." + }, + "asset": { + "type": "string", + "description": "Vega asset targeted by this deposit." + }, + "amount": { + "type": "string", + "description": "Amount to be deposited. This field is an unsigned integer scaled to the asset's decimal places." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction from the foreign chain." + }, + "creditedTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the Vega account was updated with the deposit." + }, + "createdTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the deposit was created on the Vega network." + } + }, + "title": "Deposit on to the Vega network" + }, + "vegaDepositStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_OPEN", + "STATUS_CANCELLED", + "STATUS_FINALIZED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_OPEN: Deposit is being processed by the network\n - STATUS_CANCELLED: Deposit has been cancelled by the network\n - STATUS_FINALIZED: Deposit has been finalised and accounts have been updated", + "title": "Status of the deposit" + }, + "vegaDispatchMetric": { + "type": "string", + "enum": [ + "DISPATCH_METRIC_UNSPECIFIED", + "DISPATCH_METRIC_MAKER_FEES_PAID", + "DISPATCH_METRIC_MAKER_FEES_RECEIVED", + "DISPATCH_METRIC_LP_FEES_RECEIVED", + "DISPATCH_METRIC_MARKET_VALUE" + ], + "default": "DISPATCH_METRIC_UNSPECIFIED", + "title": "- DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that is using the total maker fees paid in the market\n - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that is using the total maker fees received in the market\n - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that is using the total LP fees received in the market\n - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that is using total value of the market if above the required threshold and not paid given proposer bonus yet" + }, + "vegaDispatchStrategy": { + "type": "object", + "properties": { + "assetForMetric": { + "type": "string", + "description": "Asset to use for metric." + }, + "metric": { + "$ref": "#/definitions/vegaDispatchMetric", + "description": "Metric to apply." + }, + "markets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional markets in scope." + } + } + }, + "vegaERC20": { + "type": "object", + "properties": { + "contractAddress": { + "type": "string", + "description": "Address of the contract for the token, on the ethereum network." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + }, + "title": "ERC20 token based asset, living on the ethereum network" + }, + "vegaERC20Update": { + "type": "object", + "properties": { + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address.\nThis will be interpreted against the asset decimals.\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + } + }, + "vegaEpoch": { + "type": "object", + "properties": { + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence is used as epoch ID." + }, + "timestamps": { + "$ref": "#/definitions/vegaEpochTimestamps", + "description": "Timestamps for start/end etc." + }, + "validators": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNode" + }, + "description": "Validators that participated in this epoch." + }, + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDelegation" + }, + "description": "List of all delegations in epoch." + } + } + }, + "vegaEpochAction": { + "type": "string", + "enum": [ + "EPOCH_ACTION_UNSPECIFIED", + "EPOCH_ACTION_START", + "EPOCH_ACTION_END" + ], + "default": "EPOCH_ACTION_UNSPECIFIED", + "description": "- EPOCH_ACTION_START: Epoch update is for a new epoch.\n - EPOCH_ACTION_END: Epoch update is for the end of an epoch.", + "title": "What epoch action has occurred" + }, + "vegaEpochData": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int32", + "description": "Total number of epochs since node was created." + }, + "offline": { + "type": "integer", + "format": "int32", + "description": "Total number of offline epochs since node was created." + }, + "online": { + "type": "integer", + "format": "int32", + "description": "Total number of online epochs since node was created." + } + } + }, + "vegaEpochRewardSummary": { + "type": "object", + "properties": { + "epoch": { + "type": "string", + "format": "uint64", + "description": "Epoch in which the reward is being paid." + }, + "assetId": { + "type": "string", + "description": "Asset ID in which the reward is being paid." + }, + "marketId": { + "type": "string", + "description": "Market ID in which the reward is being paid." + }, + "rewardType": { + "type": "string", + "description": "Type of reward being paid." + }, + "amount": { + "type": "string", + "description": "Amount distributed. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Details for rewards for a combination of asset, market, and reward type in a given epoch" + }, + "vegaEpochTimestamps": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when epoch started." + }, + "expiryTime": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for the epoch's expiry." + }, + "endTime": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the epoch ended, empty if not ended." + }, + "firstBlock": { + "type": "string", + "format": "uint64", + "description": "Height of first block in the epoch." + }, + "lastBlock": { + "type": "string", + "format": "uint64", + "description": "Height of last block in the epoch, empty if not ended." + } + }, + "title": "Describes in both human readable and block time when an epoch spans" + }, + "vegaErc20WithdrawExt": { + "type": "object", + "properties": { + "receiverAddress": { + "type": "string", + "description": "Address into which the bridge will release the funds." + } + }, + "title": "Extension of data required for the withdraw submissions" + }, + "vegaEthCallSpec": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Ethereum address of the contract to call." + }, + "abi": { + "type": "string", + "description": "The ABI of that contract." + }, + "method": { + "type": "string", + "description": "Name of the method on the contract to call." + }, + "args": { + "type": "array", + "items": { + "type": "object" + }, + "description": "List of arguments to pass to method call.\nProtobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum\ntype according to the ABI." + }, + "trigger": { + "$ref": "#/definitions/vegaEthCallTrigger", + "description": "Conditions for determining when to call the contract method." + }, + "requiredConfirmations": { + "type": "string", + "format": "uint64", + "title": "Number of confirmations required before the query is considered verified" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "title": "Filters the data returned from the contract method" + }, + "normalisers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNormaliser" + }, + "description": "Normalisers are used to convert the data returned from the contract method\ninto a standard format. The key of the map is the name of the property,\nwhich identifies the specific piece of data to other parts of the data\nsourcing framework, for example filters. The value is a JSONPath expression\nfor expressing where in the contract call result the required data is\nlocated, for example $[0] indicates the first result. $[1].price would look\nin the second result returned from the contract for a structure with a key\ncalled 'price' and use that if it exists." + } + }, + "description": "Specifies a data source that derives its content from calling a read method\non an Ethereum contract." + }, + "vegaEthCallTrigger": { + "type": "object", + "properties": { + "timeTrigger": { + "$ref": "#/definitions/vegaEthTimeTrigger" + } + }, + "description": "Determines when the contract method should be called." + }, + "vegaEthTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "uint64", + "description": "Trigger when the Ethereum time is greater or equal to this time, in Unix\nseconds." + }, + "every": { + "type": "string", + "format": "uint64", + "description": "Repeat the call every n seconds after the initial call. If no time for\ninitial call was specified, begin repeating immediately." + }, + "until": { + "type": "string", + "format": "uint64", + "description": "If repeating, stop once Ethereum time is greater than this time, in Unix\nseconds. If not set, then repeat indefinitely." + } + }, + "description": "Trigger for an Ethereum call based on the Ethereum block timestamp. Can be\none-off or repeating." + }, + "vegaExternalDataSourceSpec": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/definitions/vegaDataSourceSpec" + } + } + }, + "vegaFee": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Fee amount paid to the non-aggressive party of the trade. This field is an unsigned integer scaled to the asset's decimal places." + }, + "infrastructureFee": { + "type": "string", + "description": "Fee amount paid for maintaining the Vega infrastructure. This field is an unsigned integer scaled using the asset's decimal places." + }, + "liquidityFee": { + "type": "string", + "description": "Fee amount paid to market makers. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents any fees paid by a party, resulting from a trade" + }, + "vegaFeeFactors": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Market maker fee charged network wide." + }, + "infrastructureFee": { + "type": "string", + "description": "Infrastructure fee charged network wide for staking and governance." + }, + "liquidityFee": { + "type": "string", + "description": "Liquidity fee applied per market for market making." + } + }, + "title": "Fee factors definition" + }, + "vegaFees": { + "type": "object", + "properties": { + "factors": { + "$ref": "#/definitions/vegaFeeFactors", + "description": "Fee factors." + } + }, + "title": "Fees definition" + }, + "vegaFuture": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the future." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the settlement data source filter." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the trading termination data source filter." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data spec and the data source." + } + }, + "title": "Future product definition" + }, + "vegaFutureProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The external data source spec describing the data source of trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaGovernanceData": { + "type": "object", + "properties": { + "proposal": { + "$ref": "#/definitions/vegaProposal", + "description": "Governance proposal that is being voted on." + }, + "yes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVote" + }, + "description": "All YES votes in favour of the proposal above." + }, + "no": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVote" + }, + "description": "All NO votes against the proposal above." + }, + "yesParty": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/vegaVote" + }, + "description": "All latest YES votes by party which is guaranteed to be unique,\nwhere key (string) is the party ID i.e. public key and\nvalue (Vote) is the vote cast by the given party." + }, + "noParty": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/vegaVote" + }, + "description": "All latest NO votes by party which is guaranteed to be unique,\nwhere key (string) is the party ID i.e. public key and\nvalue (Vote) is the vote cast by the given party." + } + }, + "title": "Governance data" + }, + "vegaGovernanceTransferType": { + "type": "string", + "enum": [ + "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED", + "GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING", + "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT" + ], + "default": "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED" + }, + "vegaIcebergOrder": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that will be made visible if the iceberg order is replenished after trading." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "If the visible size of the order falls below this value, it will be replenished back to the peak size using the reserved amount." + }, + "reservedRemaining": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is reserved and used to restore the iceberg's peak when it is refreshed." + } + }, + "title": "Details of an iceberg order" + }, + "vegaInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique instrument ID." + }, + "code": { + "type": "string", + "description": "Code for the instrument." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + }, + "metadata": { + "$ref": "#/definitions/vegaInstrumentMetadata", + "description": "Collection of instrument meta-data." + }, + "future": { + "$ref": "#/definitions/vegaFuture", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpot", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetual", + "description": "Perpetual." + } + }, + "title": "Instrument definition" + }, + "vegaInstrumentConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Instrument name." + }, + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaFutureProduct", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpotProduct", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaInstrumentMetadata": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of 0 or more tags." + } + }, + "title": "Instrument metadata definition" + }, + "vegaLedgerEntry": { + "type": "object", + "properties": { + "fromAccount": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "One or more accounts to transfer from." + }, + "toAccount": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "One or more accounts to transfer to." + }, + "amount": { + "type": "string", + "description": "Amount to transfer. This field is an unsigned integer scaled to the asset's decimal places." + }, + "type": { + "$ref": "#/definitions/vegaTransferType", + "description": "Transfer type for this entry." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in nanoseconds of when the ledger entry was created." + }, + "fromAccountBalance": { + "type": "string", + "description": "Sender account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places." + }, + "toAccountBalance": { + "type": "string", + "description": "Receiver account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents a ledger entry on Vega" + }, + "vegaLedgerMovement": { + "type": "object", + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerEntry" + }, + "description": "All the entries for these ledger movements." + }, + "balances": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPostTransferBalance" + }, + "description": "Resulting balances once the ledger movement are applied." + } + } + }, + "vegaLiquidityMonitoringParameters": { + "type": "object", + "properties": { + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "triggeringRatio": { + "type": "string", + "description": "Specifies the triggering ratio for entering liquidity auction." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction." + } + }, + "title": "LiquidityMonitoringParameters contains settings used for liquidity monitoring" + }, + "vegaLiquidityOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Pegged reference point for the order." + }, + "proportion": { + "type": "integer", + "format": "int64", + "description": "Relative proportion of the commitment to be allocated at a price level." + }, + "offset": { + "type": "string", + "description": "Offset/amount of units away for the order. This field is an unsigned integer scaled using the market's decimal places." + } + }, + "title": "Represents a liquidity order" + }, + "vegaLiquidityOrderReference": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID of the pegged order generated to fulfil this liquidity order." + }, + "liquidityOrder": { + "$ref": "#/definitions/vegaLiquidityOrder", + "description": "Liquidity order from the original submission." + } + }, + "title": "Pair of a liquidity order and the ID of the generated order" + }, + "vegaLiquidityProviderFeeShare": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Liquidity provider party ID." + }, + "equityLikeShare": { + "type": "string", + "description": "Share own by this liquidity provider." + }, + "averageEntryValuation": { + "type": "string", + "description": "Average entry valuation of the liquidity provider for the market." + }, + "averageScore": { + "type": "string", + "description": "Average liquidity score." + }, + "virtualStake": { + "type": "string", + "description": "The virtual stake of this liquidity provider." + } + }, + "title": "Equity like share of liquidity fee for each liquidity provider" + }, + "vegaLiquidityProvision": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the liquidity provision." + }, + "partyId": { + "type": "string", + "description": "Unique party ID for the creator of the provision." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was created." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was updated." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled to the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrderReference" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrderReference" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "version": { + "type": "string", + "format": "uint64", + "description": "Version of this liquidity provision order." + }, + "status": { + "$ref": "#/definitions/vegaLiquidityProvisionStatus", + "description": "Status of this liquidity provision order." + }, + "reference": { + "type": "string", + "description": "Reference shared between this liquidity provision and all its orders." + } + }, + "title": "Liquidity provider commitment" + }, + "vegaLiquidityProvisionStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_STOPPED", + "STATUS_CANCELLED", + "STATUS_REJECTED", + "STATUS_UNDEPLOYED", + "STATUS_PENDING" + ], + "default": "STATUS_UNSPECIFIED", + "description": "Status of a liquidity provision order.\n\n - STATUS_UNSPECIFIED: Always invalid\n - STATUS_ACTIVE: Liquidity provision is active\n - STATUS_STOPPED: Liquidity provision was stopped by the network\n - STATUS_CANCELLED: Liquidity provision was cancelled by the liquidity provider\n - STATUS_REJECTED: Liquidity provision was invalid and got rejected\n - STATUS_UNDEPLOYED: Liquidity provision is valid and accepted by network, but orders aren't deployed\n - STATUS_PENDING: Liquidity provision is valid and accepted by network\nbut has never been deployed. If when it's possible to deploy the orders for the first time\nmargin check fails, then they will be cancelled without any penalties." + }, + "vegaLiquiditySLAParameters": { + "type": "object", + "properties": { + "priceRange": { + "type": "string" + }, + "commitmentMinTimeFraction": { + "type": "string", + "description": "Specifies the minimum fraction of time LPs must spend \"on the book\" providing their committed liquidity." + }, + "providersFeeCalculationTimeStep": { + "type": "string", + "format": "int64", + "description": "Specifies how often the quality of liquidity supplied by the LPs is evaluated and fees arising from that period are earmarked for specific parties." + }, + "performanceHysteresisEpochs": { + "type": "string", + "format": "uint64", + "description": "Specifies the number of liquidity epochs over which past performance will continue to affect rewards." + }, + "slaCompetitionFactor": { + "type": "string", + "description": "Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers\nthat achieved a higher SLA performance than them." + } + } + }, + "vegaLogNormalModelParams": { + "type": "object", + "properties": { + "mu": { + "type": "number", + "format": "double", + "description": "Mu parameter, annualised growth rate of the underlying asset." + }, + "r": { + "type": "number", + "format": "double", + "description": "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number." + }, + "sigma": { + "type": "number", + "format": "double", + "description": "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number." + } + }, + "title": "Risk model parameters for log normal" + }, + "vegaLogNormalRiskModel": { + "type": "object", + "properties": { + "riskAversionParameter": { + "type": "number", + "format": "double", + "description": "Risk Aversion Parameter." + }, + "tau": { + "type": "number", + "format": "double", + "description": "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall\ncalculation to obtain the maintenance margin, must be a strictly non-negative real number." + }, + "params": { + "$ref": "#/definitions/vegaLogNormalModelParams", + "description": "Risk model parameters for log normal." + } + }, + "title": "Risk model for log normal" + }, + "vegaMarginCalculator": { + "type": "object", + "properties": { + "scalingFactors": { + "$ref": "#/definitions/vegaScalingFactors", + "description": "Scaling factors for margin calculation." + } + }, + "title": "Margin Calculator definition" + }, + "vegaMarginLevels": { + "type": "object", + "properties": { + "maintenanceMargin": { + "type": "string", + "description": "Maintenance margin value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "searchLevel": { + "type": "string", + "description": "Margin search level value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "initialMargin": { + "type": "string", + "description": "Initial margin value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "collateralReleaseLevel": { + "type": "string", + "description": "Collateral release level value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "partyId": { + "type": "string", + "description": "Party ID for whom the margin levels apply." + }, + "marketId": { + "type": "string", + "description": "Market ID for which the margin levels apply." + }, + "asset": { + "type": "string", + "description": "Asset ID for which the margin levels apply." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the ledger entry was created." + } + }, + "title": "Represents the margin levels for a party on a market at a given time" + }, + "vegaMarket": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the market." + }, + "tradableInstrument": { + "$ref": "#/definitions/vegaTradableInstrument", + "description": "Tradable instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Number of decimal places that a price must be shifted by in order to get a\ncorrect price denominated in the currency of the market, for example:\n`realPrice = price / 10^decimalPlaces`." + }, + "fees": { + "$ref": "#/definitions/vegaFees", + "description": "Fees configuration that apply to the market." + }, + "openingAuction": { + "$ref": "#/definitions/vegaAuctionDuration", + "description": "Auction duration specifies how long the opening auction will run (minimum\nduration and optionally a minimum traded volume)." + }, + "priceMonitoringSettings": { + "$ref": "#/definitions/vegaPriceMonitoringSettings", + "description": "PriceMonitoringSettings for the market." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "LiquidityMonitoringParameters for the market." + }, + "tradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current mode of execution of the market." + }, + "state": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "marketTimestamps": { + "$ref": "#/definitions/vegaMarketTimestamps", + "description": "Timestamps for when the market state changes." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "The number of decimal places for a position." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "parentMarketId": { + "type": "string", + "title": "ID of the market this market succeeds" + }, + "insurancePoolFraction": { + "type": "string", + "description": "The fraction of the parent market's insurance pool that this market inherits; range 0 through 1." + }, + "successorMarketId": { + "type": "string", + "description": "ID of the market that succeeds this market if it exists. This will be populated by the system when the successor market is enabled." + }, + "liquiditySlaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Liquidity SLA parameters for the market." + } + }, + "title": "Market definition" + }, + "vegaMarketData": { + "type": "object", + "properties": { + "markPrice": { + "type": "string", + "description": "Mark price, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidPrice": { + "type": "string", + "description": "Highest price level on an order book for buy orders, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being bid at the best bid price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestOfferPrice": { + "type": "string", + "description": "Lowest price level on an order book for offer orders. This field is an unsigned integer scaled to the market's decimal places." + }, + "bestOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being offered at the best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestStaticBidPrice": { + "type": "string", + "description": "Highest price on the order book for buy orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticBidVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static bid price excluding pegged orders." + }, + "bestStaticOfferPrice": { + "type": "string", + "description": "Lowest price on the order book for sell orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static offer price, excluding pegged orders." + }, + "midPrice": { + "type": "string", + "description": "Arithmetic average of the best bid price and best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "staticMidPrice": { + "type": "string", + "description": "Arithmetic average of the best static bid price and best static offer price.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "market": { + "type": "string", + "title": "Market ID for the data" + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which this mark price was relevant." + }, + "openInterest": { + "type": "string", + "format": "uint64", + "description": "Sum of the size of all positions greater than zero on the market." + }, + "auctionEnd": { + "type": "string", + "format": "int64", + "description": "Time in seconds until the end of the auction (zero if currently not in auction period)." + }, + "auctionStart": { + "type": "string", + "format": "int64", + "description": "Time until next auction, or start time of the current auction if market is in auction period." + }, + "indicativePrice": { + "type": "string", + "description": "Indicative price (zero if not in auction). This field is an unsigned scaled to the market's decimal places." + }, + "indicativeVolume": { + "type": "string", + "format": "uint64", + "description": "Indicative volume (zero if not in auction)." + }, + "marketTradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current trading mode for the market." + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market is in an auction trading mode, this field indicates what triggered the auction." + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market auction is extended, this field indicates what caused the extension." + }, + "targetStake": { + "type": "string", + "description": "Targeted stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "suppliedStake": { + "type": "string", + "description": "Available stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "priceMonitoringBounds": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringBounds" + }, + "description": "One or more price monitoring bounds for the current timestamp." + }, + "marketValueProxy": { + "type": "string", + "description": "Market value proxy." + }, + "liquidityProviderFeeShare": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProviderFeeShare" + }, + "description": "Equity like share of liquidity fee for each liquidity provider." + }, + "marketState": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "nextMarkToMarket": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the next mark-to-market calculation will occur." + }, + "lastTradedPrice": { + "type": "string", + "description": "Last traded price of the market. This field is an unsigned integer scaled to the market's decimal places." + }, + "marketGrowth": { + "type": "string", + "description": "Market growth at the last market time window." + } + }, + "title": "Represents data generated by a market when open" + }, + "vegaMarketDepth": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for which the depth levels apply." + }, + "buy": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Collection of price levels for the buy side of the book." + }, + "sell": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Collection of price levels for the sell side of the book." + }, + "sequenceNumber": { + "type": "string", + "format": "uint64", + "description": "Sequence number for the market depth data returned." + } + }, + "title": "Represents market depth or order book data for the specified market on Vega" + }, + "vegaMarketDepthUpdate": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for which the market depth updates are for." + }, + "buy": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Collection of updated price levels for the buy side of the book." + }, + "sell": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Collection of updated price levels for the sell side of the book." + }, + "sequenceNumber": { + "type": "string", + "format": "uint64", + "description": "Sequence number for the market depth update data returned. It is increasing but not monotonic." + }, + "previousSequenceNumber": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the previous market depth update, for checking there are no gaps." + } + }, + "title": "Represents the changed market depth since the last update" + }, + "vegaMarketState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_PROPOSED", + "STATE_REJECTED", + "STATE_PENDING", + "STATE_CANCELLED", + "STATE_ACTIVE", + "STATE_SUSPENDED", + "STATE_CLOSED", + "STATE_TRADING_TERMINATED", + "STATE_SETTLED", + "STATE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, invalid\n - STATE_PROPOSED: Governance proposal valid and accepted\n - STATE_REJECTED: Outcome of governance votes is to reject the market\n - STATE_PENDING: Governance vote passes/wins\n - STATE_CANCELLED: Market triggers cancellation condition or governance\nvotes to close before market becomes Active\n - STATE_ACTIVE: Enactment date reached and usual auction exit checks pass\n - STATE_SUSPENDED: Price monitoring or liquidity monitoring trigger\n - STATE_CLOSED: Governance vote to close (Not currently implemented)\n - STATE_TRADING_TERMINATED: Defined by the product (i.e. from a product parameter,\nspecified in market definition, giving close date/time)\n - STATE_SETTLED: Settlement triggered and completed as defined by product\n - STATE_SUSPENDED_VIA_GOVERNANCE: Market has been suspended via governance", + "title": "Current state of the market" + }, + "vegaMarketStateUpdateType": { + "type": "string", + "enum": [ + "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "MARKET_STATE_UPDATE_TYPE_TERMINATE", + "MARKET_STATE_UPDATE_TYPE_SUSPEND", + "MARKET_STATE_UPDATE_TYPE_RESUME" + ], + "default": "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "title": "- MARKET_STATE_UPDATE_TYPE_UNSPECIFIED: Default value, always invalid\n - MARKET_STATE_UPDATE_TYPE_TERMINATE: Request to terminate a market via governance\n - MARKET_STATE_UPDATE_TYPE_SUSPEND: Request to suspend a market via governance\n - MARKET_STATE_UPDATE_TYPE_RESUME: Request to resume a market via governance" + }, + "vegaMarketTimestamps": { + "type": "object", + "properties": { + "proposed": { + "type": "string", + "format": "int64", + "description": "Time when the market is first proposed." + }, + "pending": { + "type": "string", + "format": "int64", + "description": "Time when the market has been voted in and began its opening auction." + }, + "open": { + "type": "string", + "format": "int64", + "description": "Time when the market has left the opening auction and is ready to accept trades." + }, + "close": { + "type": "string", + "format": "int64", + "description": "Time when the market closed." + } + }, + "title": "Time stamps for important times about creating, enacting etc the market" + }, + "vegaNetworkLimits": { + "type": "object", + "properties": { + "canProposeMarket": { + "type": "boolean", + "description": "Are market proposals allowed at this point in time." + }, + "canProposeAsset": { + "type": "boolean", + "description": "Are asset proposals allowed at this point in time." + }, + "proposeMarketEnabled": { + "type": "boolean", + "description": "Are market proposals enabled on this chain." + }, + "proposeAssetEnabled": { + "type": "boolean", + "description": "Are asset proposals enabled on this chain." + }, + "genesisLoaded": { + "type": "boolean", + "description": "True once the genesis file is loaded." + }, + "proposeMarketEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which market proposals will be enabled (0 indicates not set)." + }, + "proposeAssetEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which asset proposals will be enabled (0 indicates not set)." + }, + "canProposeSpotMarket": { + "type": "boolean", + "description": "Are spot market proposals allowed at this point in time." + }, + "canProposePerpetualMarket": { + "type": "boolean", + "description": "Are perpetual market proposals allowed at this point in time." + } + }, + "title": "Network limits, defined in the genesis file" + }, + "vegaNetworkParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Unique key of the network parameter." + }, + "value": { + "type": "string", + "description": "Value for the network parameter." + } + }, + "title": "Represents a network parameter on Vega" + }, + "vegaNewAsset": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Configuration of the new asset." + } + }, + "title": "New asset on Vega" + }, + "vegaNewFreeform": { + "type": "object", + "description": "Freeform proposal\nThis message is just used as a placeholder to sort out the nature of the\nproposal once parsed." + }, + "vegaNewMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewMarketConfiguration", + "description": "Configuration of the new market." + } + }, + "title": "New market on Vega" + }, + "vegaNewMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New futures market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new futures market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the futures market can be." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "successor": { + "$ref": "#/definitions/vegaSuccessorConfiguration", + "description": "Successor configuration. If this proposal is meant to succeed a given market, then this should be set." + } + }, + "title": "Configuration for a new futures market on Vega" + }, + "vegaNewSpotMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewSpotMarketConfiguration", + "description": "Configuration of the new spot market." + } + }, + "title": "New spot market on Vega" + }, + "vegaNewSpotMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New spot market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new spot market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the spot market can be." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration for a new spot market on Vega" + }, + "vegaNewTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewTransferConfiguration", + "description": "Configuration for a new transfer." + } + }, + "title": "New governance transfer" + }, + "vegaNewTransferConfiguration": { + "type": "object", + "properties": { + "sourceType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Source account type, such as network treasury, market insurance pool" + }, + "source": { + "type": "string", + "title": "If network treasury, field is empty, otherwise uses the market ID" + }, + "transferType": { + "$ref": "#/definitions/vegaGovernanceTransferType", + "title": "\"All or nothing\" or \"best effort\":\nAll or nothing: Transfers the specified amount or does not transfer anything\nBest effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount" + }, + "amount": { + "type": "string", + "title": "Maximum amount to transfer" + }, + "asset": { + "type": "string", + "title": "ID of asset to transfer" + }, + "fractionOfBalance": { + "type": "string", + "title": "Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance" + }, + "destinationType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool" + }, + "destination": { + "type": "string", + "title": "Specifies the account to transfer to, depending on the account type:\nNetwork treasury: leave empty\nParty: party's public key\nMarket insurance pool: market ID" + }, + "oneOff": { + "$ref": "#/definitions/vegaOneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaRecurringTransfer" + } + } + }, + "vegaNode": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Node ID i.e. the node's wallet ID." + }, + "pubKey": { + "type": "string", + "description": "Public key of the node operator." + }, + "tmPubKey": { + "type": "string", + "description": "Public key of Tendermint." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key of the node." + }, + "infoUrl": { + "type": "string", + "description": "URL where users can find out more information on the node." + }, + "location": { + "type": "string", + "description": "Country code for the location of the node." + }, + "stakedByOperator": { + "type": "string", + "description": "Amount the node operator has put up themselves. This field is an unsigned integer scaled to the asset's decimal places." + }, + "stakedByDelegates": { + "type": "string", + "description": "Amount of stake that has been delegated by token holders. This field is an unsigned integer scaled to the asset's decimal places." + }, + "stakedTotal": { + "type": "string", + "description": "Total amount staked on node. This field is an unsigned integer scaled to the asset's decimal places." + }, + "maxIntendedStake": { + "type": "string", + "description": "Max amount of (wanted) stake. This field is an unsigned integer scaled to the asset's decimal places." + }, + "pendingStake": { + "type": "string", + "description": "Amount of stake on the next epoch. This field is an unsigned integer scaled to the asset's decimal places." + }, + "epochData": { + "$ref": "#/definitions/vegaEpochData", + "description": "Information about epoch." + }, + "status": { + "$ref": "#/definitions/vegaNodeStatus", + "description": "Node status." + }, + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDelegation" + }, + "description": "Node's delegations." + }, + "rewardScore": { + "$ref": "#/definitions/vegaRewardScore", + "description": "Node reward score." + }, + "rankingScore": { + "$ref": "#/definitions/vegaRankingScore", + "description": "Node ranking information." + }, + "name": { + "type": "string", + "description": "Node name." + }, + "avatarUrl": { + "type": "string", + "description": "Avatar url." + } + } + }, + "vegaNodeData": { + "type": "object", + "properties": { + "stakedTotal": { + "type": "string", + "description": "Total staked amount across all nodes. This field is an unsigned integer scaled to the asset's decimal places." + }, + "totalNodes": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes across all node sets." + }, + "inactiveNodes": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes that had a performance score of 0 at the end of the last epoch." + }, + "tendermintNodes": { + "$ref": "#/definitions/vegaNodeSet", + "description": "Details on the set of consensus nodes in the network." + }, + "ersatzNodes": { + "$ref": "#/definitions/vegaNodeSet", + "description": "Details on the set of ersatz (standby) nodes in the network." + }, + "pendingNodes": { + "$ref": "#/definitions/vegaNodeSet", + "description": "Details on the set of pending nodes in the network." + }, + "uptime": { + "type": "number", + "format": "float", + "description": "Total uptime for all epochs across all nodes." + } + } + }, + "vegaNodeSet": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes in the node set." + }, + "inactive": { + "type": "integer", + "format": "int64", + "description": "Number of nodes in the node set that had a performance score of 0 at the end of the last epoch." + }, + "promoted": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IDs of nodes that were promoted into this node set at the start of the epoch." + }, + "demoted": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IDs of nodes that were demoted into this node set at the start of the epoch." + }, + "maximum": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes allowed in the node set." + } + }, + "title": "Details on the collection of nodes for a particular validator status" + }, + "vegaNodeStatus": { + "type": "string", + "enum": [ + "NODE_STATUS_UNSPECIFIED", + "NODE_STATUS_VALIDATOR", + "NODE_STATUS_NON_VALIDATOR" + ], + "default": "NODE_STATUS_UNSPECIFIED", + "description": "- NODE_STATUS_VALIDATOR: Node is a validating node\n - NODE_STATUS_NON_VALIDATOR: Node is a non-validating node", + "title": "Node status type" + }, + "vegaNormaliser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "expression": { + "type": "string" + } + } + }, + "vegaOneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegaOracleData": { + "type": "object", + "properties": { + "externalData": { + "$ref": "#/definitions/v1ExternalData" + } + } + }, + "vegaOracleSpec": { + "type": "object", + "properties": { + "externalDataSourceSpec": { + "$ref": "#/definitions/vegaExternalDataSourceSpec" + } + }, + "title": "Oracle spec contains an embedded external data source spec.\nIt will be generated by the compiler as: OracleSpec_ExternalDataSourceSpec_*" + }, + "vegaOrder": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID generated for the order." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "partyId": { + "type": "string", + "description": "Party ID for the order." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of contracts." + }, + "remaining": { + "type": "string", + "format": "uint64", + "description": "Size remaining, when this reaches 0 then the order is fully filled and status becomes STATUS_FILLED." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "title": "Time in force indicates how long an order will remain active before it is executed or expires.\n- See OrderTimeInForce" + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the order was created at, in nanoseconds." + }, + "status": { + "$ref": "#/definitions/vegaOrderStatus", + "description": "Current status of the order." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire." + }, + "reference": { + "type": "string", + "description": "Reference given for the order." + }, + "reason": { + "$ref": "#/definitions/vegaOrderError", + "description": "Futher details for why an order with status `STATUS_REJECTED` was rejected." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was last updated." + }, + "version": { + "type": "string", + "format": "uint64", + "description": "Version for the order, initial value is version 1 and is incremented after each successful amend." + }, + "batchId": { + "type": "string", + "format": "uint64", + "description": "Batch ID for the order, used internally for orders submitted during auctions\nto keep track of the auction batch this order falls under. Required for fees calculation." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Pegged order details, used only if the order represents a pegged order." + }, + "liquidityProvisionId": { + "type": "string", + "description": "Set if the order was created as part of a liquidity provision, will be empty if not." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOrder": { + "$ref": "#/definitions/vegaIcebergOrder", + "title": "Details of an iceberg order" + } + }, + "title": "Orders can be submitted, amended and cancelled on Vega in an attempt to make trades with other parties" + }, + "vegaOrderError": { + "type": "string", + "enum": [ + "ORDER_ERROR_UNSPECIFIED", + "ORDER_ERROR_INVALID_MARKET_ID", + "ORDER_ERROR_INVALID_ORDER_ID", + "ORDER_ERROR_OUT_OF_SEQUENCE", + "ORDER_ERROR_INVALID_REMAINING_SIZE", + "ORDER_ERROR_TIME_FAILURE", + "ORDER_ERROR_REMOVAL_FAILURE", + "ORDER_ERROR_INVALID_EXPIRATION_DATETIME", + "ORDER_ERROR_INVALID_ORDER_REFERENCE", + "ORDER_ERROR_EDIT_NOT_ALLOWED", + "ORDER_ERROR_AMEND_FAILURE", + "ORDER_ERROR_NOT_FOUND", + "ORDER_ERROR_INVALID_PARTY_ID", + "ORDER_ERROR_MARKET_CLOSED", + "ORDER_ERROR_MARGIN_CHECK_FAILED", + "ORDER_ERROR_MISSING_GENERAL_ACCOUNT", + "ORDER_ERROR_INTERNAL_ERROR", + "ORDER_ERROR_INVALID_SIZE", + "ORDER_ERROR_INVALID_PERSISTENCE", + "ORDER_ERROR_INVALID_TYPE", + "ORDER_ERROR_SELF_TRADING", + "ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES", + "ORDER_ERROR_INCORRECT_MARKET_TYPE", + "ORDER_ERROR_INVALID_TIME_IN_FORCE", + "ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION", + "ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING", + "ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT", + "ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT", + "ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT", + "ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC", + "ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN", + "ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN", + "ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION", + "ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION", + "ORDER_ERROR_MUST_BE_LIMIT_ORDER", + "ORDER_ERROR_MUST_BE_GTT_OR_GTC", + "ORDER_ERROR_WITHOUT_REFERENCE_PRICE", + "ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE", + "ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO", + "ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE", + "ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO", + "ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE", + "ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER", + "ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER", + "ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER", + "ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS", + "ORDER_ERROR_TOO_MANY_PEGGED_ORDERS", + "ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE", + "ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION" + ], + "default": "ORDER_ERROR_UNSPECIFIED", + "description": "- ORDER_ERROR_UNSPECIFIED: Default value, no error reported\n - ORDER_ERROR_INVALID_MARKET_ID: Order was submitted for a market that does not exist\n - ORDER_ERROR_INVALID_ORDER_ID: Order was submitted with an invalid ID\n - ORDER_ERROR_OUT_OF_SEQUENCE: Order was amended with a sequence number that was not previous version + 1\n - ORDER_ERROR_INVALID_REMAINING_SIZE: Order was amended with an invalid remaining size (e.g. remaining greater than total size)\n - ORDER_ERROR_TIME_FAILURE: Node was unable to get Vega (blockchain) time\n - ORDER_ERROR_REMOVAL_FAILURE: Failed to remove an order from the book\n - ORDER_ERROR_INVALID_EXPIRATION_DATETIME: Order with `TimeInForce.TIME_IN_FORCE_GTT` was submitted or amended\nwith an expiration that was badly formatted or otherwise invalid\n - ORDER_ERROR_INVALID_ORDER_REFERENCE: Order was submitted or amended with an invalid reference field\n - ORDER_ERROR_EDIT_NOT_ALLOWED: Order amend was submitted for an order field that cannot not be amended (e.g. order ID)\n - ORDER_ERROR_AMEND_FAILURE: Amend failure because amend details do not match original order\n - ORDER_ERROR_NOT_FOUND: Order not found in an order book or store\n - ORDER_ERROR_INVALID_PARTY_ID: Order was submitted with an invalid or missing party ID\n - ORDER_ERROR_MARKET_CLOSED: Order was submitted for a market that has closed\n - ORDER_ERROR_MARGIN_CHECK_FAILED: Order was submitted, but the party did not have enough collateral to cover the order\n - ORDER_ERROR_MISSING_GENERAL_ACCOUNT: Order was submitted, but the party did not have an account for this asset\n - ORDER_ERROR_INTERNAL_ERROR: Unspecified internal error\n - ORDER_ERROR_INVALID_SIZE: Order was submitted with an invalid or missing size (e.g. 0)\n - ORDER_ERROR_INVALID_PERSISTENCE: Order was submitted with an invalid persistence for its type\n - ORDER_ERROR_INVALID_TYPE: Order was submitted with an invalid type field\n - ORDER_ERROR_SELF_TRADING: Order was stopped as it would have traded with another order submitted from the same party\n - ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES: Order was submitted, but the party did not have enough collateral to cover the fees for the order\n - ORDER_ERROR_INCORRECT_MARKET_TYPE: Order was submitted with an incorrect or invalid market type\n - ORDER_ERROR_INVALID_TIME_IN_FORCE: Order was submitted with invalid time in force\n - ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION: Good For Normal order has reached the market when it is in auction mode\n - ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING: Good For Auction order has reached the market when it is in continuous trading mode\n - ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT: Attempt to amend order to GTT without ExpiryAt\n - ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT: Attempt to amend ExpiryAt to a value before CreatedAt\n - ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT: Attempt to amend to GTC without an ExpiryAt value\n - ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC: Amending to FOK or IOC is invalid\n - ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN: Amending to GFA or GFN is invalid\n - ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN: Amending from GFA or GFN is invalid\n - ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION: IOC orders are not allowed during auction\n - ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION: FOK orders are not allowed during auction\n - ORDER_ERROR_MUST_BE_LIMIT_ORDER: Pegged orders must be LIMIT orders\n - ORDER_ERROR_MUST_BE_GTT_OR_GTC: Pegged orders can only have TIF GTC or GTT\n - ORDER_ERROR_WITHOUT_REFERENCE_PRICE: Pegged order must have a reference price\n - ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE: Buy pegged order cannot reference best ask price\n - ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO: Pegged order offset must be \u003e= 0\n - ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE: Sell pegged order cannot reference best bid price\n - ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO: Pegged order offset must be \u003e zero\n - ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE: Party has an insufficient balance, or does not have\na general account to submit the order (no deposits made\nfor the required asset)\n - ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER: Cannot amend details of a non pegged details\n - ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER: Could not re-price a pegged order because a market price is unavailable\n - ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER: It is not possible to amend the price of an existing pegged order\n - ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS: FOK, IOC, or GFN order was rejected because it resulted in trades outside the price bounds\n - ORDER_ERROR_TOO_MANY_PEGGED_ORDERS: Unable to submit pegged order, temporarily too many pegged orders across all markets\n - ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE: Post order would trade\n - ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION: Post order would trade", + "title": "OrderError codes are returned in the Order.reason field - If there is an issue\nwith an order during its life-cycle, it will be marked with `status.ORDER_STATUS_REJECTED`" + }, + "vegaOrderStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_EXPIRED", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_FILLED", + "STATUS_REJECTED", + "STATUS_PARTIALLY_FILLED", + "STATUS_PARKED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_ACTIVE: Used for active unfilled or partially filled orders\n - STATUS_EXPIRED: Used for expired GTT orders\n - STATUS_CANCELLED: Used for orders cancelled by the party that created the order\n - STATUS_STOPPED: Used for unfilled FOK or IOC orders, and for orders that were stopped by the network\n - STATUS_FILLED: Used for closed fully filled orders\n - STATUS_REJECTED: Used for orders when not enough collateral was available to fill the margin requirements\n - STATUS_PARTIALLY_FILLED: Used for closed partially filled IOC orders\n - STATUS_PARKED: Order has been removed from the order book and has been parked,\nthis applies to pegged orders and liquidity orders (orders created from a liquidity provision shape)", + "title": "Status values for an order" + }, + "vegaOrderType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LIMIT", + "TYPE_MARKET", + "TYPE_NETWORK" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_LIMIT: Used for Limit orders\n - TYPE_MARKET: Used for Market orders\n - TYPE_NETWORK: Used for orders where the initiating party is the network (with distressed parties)", + "title": "Type values for an order" + }, + "vegaParty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the party, typically represented by a public key." + } + }, + "title": "Party represents an entity who wishes to trade on or query a Vega network" + }, + "vegaPeggedOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Price point the order is linked to." + }, + "offset": { + "type": "string", + "description": "Offset from the price reference." + } + }, + "title": "Pegged orders are limit orders where the price is specified in the form REFERENCE +/- OFFSET\nThey can be used for any limit order that is valid during continuous trading" + }, + "vegaPeggedReference": { + "type": "string", + "enum": [ + "PEGGED_REFERENCE_UNSPECIFIED", + "PEGGED_REFERENCE_MID", + "PEGGED_REFERENCE_BEST_BID", + "PEGGED_REFERENCE_BEST_ASK" + ], + "default": "PEGGED_REFERENCE_UNSPECIFIED", + "description": "- PEGGED_REFERENCE_UNSPECIFIED: Default value for PeggedReference, no reference given\n - PEGGED_REFERENCE_MID: Mid price reference\n - PEGGED_REFERENCE_BEST_BID: Best bid price reference\n - PEGGED_REFERENCE_BEST_ASK: Best ask price reference", + "title": "Pegged reference defines which price point a pegged order is linked to - meaning\nthe price for a pegged order is calculated from the value of the reference price point" + }, + "vegaPerpetual": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the perpetual." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product definition" + }, + "vegaPerpetualProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaPosition": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID in which the position is held." + }, + "partyId": { + "type": "string", + "description": "Party ID holding the position." + }, + "openVolume": { + "type": "string", + "format": "int64", + "description": "Open volume for the position, value is signed +ve for long and -ve for short." + }, + "realisedPnl": { + "type": "string", + "description": "Realised profit and loss for the position, value is signed +ve for long and -ve for short.\nThis field is a signed integer scaled to the market's decimal places." + }, + "unrealisedPnl": { + "type": "string", + "description": "Unrealised profit and loss for the position, value is signed +ve for long and -ve for short.\nThis field is a signed integer scaled to the market's decimal places." + }, + "averageEntryPrice": { + "type": "string", + "description": "Average entry price for the position, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp for the latest time the position was updated." + }, + "lossSocialisationAmount": { + "type": "string", + "description": "Sum of profit that could not be paid due to loss socialisation." + }, + "positionStatus": { + "$ref": "#/definitions/vegaPositionStatus", + "description": "Position status, indicating whether the party was distressed and had orders cancelled or was closed out." + } + }, + "title": "Represents position data for a party on the specified market on Vega" + }, + "vegaPositionStatus": { + "type": "string", + "enum": [ + "POSITION_STATUS_UNSPECIFIED", + "POSITION_STATUS_ORDERS_CLOSED", + "POSITION_STATUS_CLOSED_OUT", + "POSITION_STATUS_DISTRESSED" + ], + "default": "POSITION_STATUS_UNSPECIFIED", + "title": "Represents the status of a position" + }, + "vegaPostTransferBalance": { + "type": "object", + "properties": { + "account": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "Account relating to the transfer." + }, + "balance": { + "type": "string", + "description": "Balance relating to the transfer. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents the balance for an account during a transfer" + }, + "vegaPriceLevel": { + "type": "object", + "properties": { + "price": { + "type": "string", + "description": "Price for the price level, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places. This field\nis an unsigned integer passed as a string and needs to be scaled using the market's decimal places." + }, + "numberOfOrders": { + "type": "string", + "format": "uint64", + "description": "Number of orders at the price level." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Volume at the price level." + } + }, + "title": "Represents a price level from market depth or order book data" + }, + "vegaPriceMonitoringBounds": { + "type": "object", + "properties": { + "minValidPrice": { + "type": "string", + "description": "Minimum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "maxValidPrice": { + "type": "string", + "description": "Maximum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "trigger": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger", + "description": "Price monitoring trigger associated with the bounds." + }, + "referencePrice": { + "type": "string", + "description": "Reference price used to calculate the valid price range. This field is an unsigned integer scaled to the market's decimal places." + } + }, + "title": "Represents a list of valid (at the current timestamp) price ranges per associated trigger" + }, + "vegaPriceMonitoringParameters": { + "type": "object", + "properties": { + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger" + } + } + }, + "title": "PriceMonitoringParameters contains a collection of triggers to be used for a given market" + }, + "vegaPriceMonitoringSettings": { + "type": "object", + "properties": { + "parameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Specifies price monitoring parameters to be used for price monitoring purposes." + } + }, + "title": "PriceMonitoringSettings contains the settings for price monitoring" + }, + "vegaPriceMonitoringTrigger": { + "type": "object", + "properties": { + "horizon": { + "type": "string", + "format": "int64", + "description": "Price monitoring projection horizon τ in seconds." + }, + "probability": { + "type": "string", + "description": "Price monitoring probability level p." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Price monitoring auction extension duration in seconds should the price\nbreach its theoretical level over the specified horizon at the specified\nprobability level." + } + }, + "title": "PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration" + }, + "vegaProposal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique proposal ID." + }, + "reference": { + "type": "string", + "description": "Proposal reference." + }, + "partyId": { + "type": "string", + "description": "Party ID i.e. public key of the party submitting the proposal." + }, + "state": { + "$ref": "#/definitions/vegaProposalState", + "description": "Current state of the proposal, i.e. open, passed, failed etc." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Proposal timestamp for date and time as Unix time in nanoseconds when proposal was submitted to the network." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "reason": { + "$ref": "#/definitions/vegaProposalError", + "description": "Reason for the current state of the proposal, this may be set in case of REJECTED and FAILED statuses." + }, + "errorDetails": { + "type": "string", + "description": "Detailed error associated to the reason." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + }, + "requiredParticipation": { + "type": "string", + "description": "Required vote participation for this proposal." + }, + "requiredMajority": { + "type": "string", + "description": "Required majority for this proposal." + }, + "requiredLiquidityProviderParticipation": { + "type": "string", + "description": "Required participation from liquidity providers, optional but is required for market update proposal." + }, + "requiredLiquidityProviderMajority": { + "type": "string", + "description": "Required majority from liquidity providers, optional but is required for market update proposal." + } + }, + "title": "Governance proposal" + }, + "vegaProposalError": { + "type": "string", + "enum": [ + "PROPOSAL_ERROR_UNSPECIFIED", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE", + "PROPOSAL_ERROR_ENACT_TIME_TOO_SOON", + "PROPOSAL_ERROR_ENACT_TIME_TOO_LATE", + "PROPOSAL_ERROR_INSUFFICIENT_TOKENS", + "PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY", + "PROPOSAL_ERROR_NO_PRODUCT", + "PROPOSAL_ERROR_UNSUPPORTED_PRODUCT", + "PROPOSAL_ERROR_NO_TRADING_MODE", + "PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE", + "PROPOSAL_ERROR_NODE_VALIDATION_FAILED", + "PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD", + "PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS", + "PROPOSAL_ERROR_INVALID_ASSET", + "PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS", + "PROPOSAL_ERROR_NO_RISK_PARAMETERS", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE", + "PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE", + "PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET", + "PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT", + "PROPOSAL_ERROR_INVALID_RISK_PARAMETER", + "PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_INVALID_ASSET_DETAILS", + "PROPOSAL_ERROR_UNKNOWN_TYPE", + "PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE", + "PROPOSAL_ERROR_INVALID_FREEFORM", + "PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE", + "PROPOSAL_ERROR_INVALID_MARKET", + "PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES", + "PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS", + "PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE", + "PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_INVALID_SPOT", + "PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED", + "PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE", + "PROPOSAL_ERROR_INVALID_SLA_PARAMS", + "PROPOSAL_ERROR_MISSING_SLA_PARAMS", + "PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT" + ], + "default": "PROPOSAL_ERROR_UNSPECIFIED", + "description": "- PROPOSAL_ERROR_UNSPECIFIED: Default value\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON: Specified close time is too early based on network parameters\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE: Specified close time is too late based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_SOON: Specified enactment time is too early based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_LATE: Specified enactment time is too late based on network parameters\n - PROPOSAL_ERROR_INSUFFICIENT_TOKENS: Proposer for this proposal has insufficient tokens\n - PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY: Instrument quote name and base name were the same\n - PROPOSAL_ERROR_NO_PRODUCT: Proposal has no product\n - PROPOSAL_ERROR_UNSUPPORTED_PRODUCT: Specified product is not supported\n - PROPOSAL_ERROR_NO_TRADING_MODE: Proposal has no trading mode\n - PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE: Proposal has an unsupported trading mode\n - PROPOSAL_ERROR_NODE_VALIDATION_FAILED: Proposal failed node validation\n - PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD: Field is missing in a builtin asset source\n - PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS: Contract address is missing in the ERC20 asset source\n - PROPOSAL_ERROR_INVALID_ASSET: Asset ID is invalid or does not exist on the Vega network\n - PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS: Proposal terms timestamps are not compatible (Validation \u003c Closing \u003c Enactment)\n - PROPOSAL_ERROR_NO_RISK_PARAMETERS: No risk parameters were specified\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY: Invalid key in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE: Invalid value in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED: Validation failed for network parameter proposal\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL: Opening auction duration is less than the network minimum opening auction time\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE: Opening auction duration is more than the network minimum opening auction time\n - PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET: Market proposal market could not be instantiated in execution\n - PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT: Market proposal market contained invalid product definition\n - PROPOSAL_ERROR_INVALID_RISK_PARAMETER: Market proposal has invalid risk parameter\n - PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED: Proposal was declined because vote didn't reach the majority threshold required\n - PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED: Proposal declined because the participation threshold was not reached\n - PROPOSAL_ERROR_INVALID_ASSET_DETAILS: Asset proposal has invalid asset details\n - PROPOSAL_ERROR_UNKNOWN_TYPE: Proposal is an unknown type\n - PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE: Proposal has an unknown risk parameter type\n - PROPOSAL_ERROR_INVALID_FREEFORM: Validation failed for freeform proposal\n - PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE: Party doesn't have enough equity-like share to propose an update on the market\ntargeted by the proposal\n - PROPOSAL_ERROR_INVALID_MARKET: Market targeted by the proposal does not exist or is not eligible for modification\n - PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES: Market proposal decimal place is higher than the market settlement asset decimal places\n - PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE: LP price range must be larger than 0\n - PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE: LP price range must not be larger than 100\n - PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE: Linear slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE: Quadratic slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_INVALID_SPOT: Validation failed for spot proposal\n - PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED: Spot trading not enabled\n - PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET: Market proposal is invalid, either invalid insurance pool fraction, or it specifies a parent market that it can't succeed.\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED: Governance transfer proposal is invalid\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID: Governance transfer proposal failed\n - PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID: Proposal for cancelling transfer is invalid, check proposal ID\n - PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE: Proposal for updating market state is invalid\n - PROPOSAL_ERROR_INVALID_SLA_PARAMS: Liquidity provision SLA parameters are invalid\n - PROPOSAL_ERROR_MISSING_SLA_PARAMS: Mandatory liquidity provision SLA parameters are missing\n - PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT: Perpetual market proposal contained invalid product definition", + "title": "List of possible errors that can cause a proposal to be in state rejected or failed" + }, + "vegaProposalRationale": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description to show a short title / something in case the link goes offline.\nThis is to be between 0 and 20k unicode characters.\nThis is mandatory for all proposals." + }, + "title": { + "type": "string", + "description": "Title to be used to give a short description of the proposal in lists.\nThis is to be between 0 and 100 unicode characters.\nThis is mandatory for all proposals." + } + }, + "description": "Rationale behind a proposal." + }, + "vegaProposalState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_FAILED", + "STATE_OPEN", + "STATE_PASSED", + "STATE_REJECTED", + "STATE_DECLINED", + "STATE_ENACTED", + "STATE_WAITING_FOR_NODE_VOTE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, always invalid\n - STATE_FAILED: Proposal enactment has failed - even though proposal has passed, its execution could not be performed\n - STATE_OPEN: Proposal is open for voting\n - STATE_PASSED: Proposal has gained enough support to be executed\n - STATE_REJECTED: Proposal wasn't accepted i.e. proposal terms failed validation due to wrong configuration or failed to meet network requirements.\n - STATE_DECLINED: Proposal didn't get enough votes, e.g. either failed to gain required participation or majority level.\n - STATE_ENACTED: Proposal enacted\n - STATE_WAITING_FOR_NODE_VOTE: Waiting for node validation of the proposal", + "title": "Proposal state transition:\nOpen -\u003e\n - Passed -\u003e Enacted.\n - Passed -\u003e Failed.\n - Declined\nRejected\nProposal can enter Failed state from any other state" + }, + "vegaProposalTerms": { + "type": "object", + "properties": { + "closingTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when voting closes for this proposal,\nconstrained by `minClose` and `maxClose` network parameters." + }, + "enactmentTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when proposal gets enacted if passed,\nconstrained by `minEnact` and `maxEnact` network parameters." + }, + "validationTimestamp": { + "type": "string", + "format": "int64", + "description": "Validation timestamp as Unix time in seconds." + }, + "updateMarket": { + "$ref": "#/definitions/vegaUpdateMarket", + "description": "Proposal change for modifying an existing futures market on Vega." + }, + "newMarket": { + "$ref": "#/definitions/vegaNewMarket", + "description": "Proposal change for creating new futures market on Vega." + }, + "updateNetworkParameter": { + "$ref": "#/definitions/vegaUpdateNetworkParameter", + "description": "Proposal change for updating Vega network parameters." + }, + "newAsset": { + "$ref": "#/definitions/vegaNewAsset", + "description": "Proposal change for creating new assets on Vega." + }, + "newFreeform": { + "$ref": "#/definitions/vegaNewFreeform", + "description": "Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system,\nand can be used to gauge community sentiment." + }, + "updateAsset": { + "$ref": "#/definitions/vegaUpdateAsset", + "description": "Proposal change for updating an asset." + }, + "newSpotMarket": { + "$ref": "#/definitions/vegaNewSpotMarket", + "description": "Proposal change for creating new spot market on Vega." + }, + "updateSpotMarket": { + "$ref": "#/definitions/vegaUpdateSpotMarket", + "description": "Proposal change for modifying an existing spot market on Vega." + }, + "newTransfer": { + "$ref": "#/definitions/vegaNewTransfer", + "description": "Proposal change for a governance transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/vegaCancelTransfer", + "description": "Cancel a governance transfer." + }, + "updateMarketState": { + "$ref": "#/definitions/vegaUpdateMarketState", + "description": "Proposal change for updating the state of a market." + } + }, + "title": "Terms for a governance proposal on Vega" + }, + "vegaRankingScore": { + "type": "object", + "properties": { + "stakeScore": { + "type": "string", + "description": "Stake based score - no anti-whaling." + }, + "performanceScore": { + "type": "string", + "description": "Performance based score." + }, + "previousStatus": { + "$ref": "#/definitions/vegaValidatorNodeStatus", + "description": "Status of the validator in the previous epoch." + }, + "status": { + "$ref": "#/definitions/vegaValidatorNodeStatus", + "description": "Status of the validator in the current epoch." + }, + "votingPower": { + "type": "integer", + "format": "int64", + "description": "Tendermint voting power of the validator." + }, + "rankingScore": { + "type": "string", + "description": "Final score." + } + } + }, + "vegaRecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegaReward": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID in which the reward is being paid." + }, + "partyId": { + "type": "string", + "description": "Party ID to whom the reward is being paid." + }, + "epoch": { + "type": "string", + "format": "uint64", + "description": "Epoch in which the reward is being paid." + }, + "amount": { + "type": "string", + "description": "Amount paid as a reward. This field is an unsigned integer scaled to the asset's decimal places." + }, + "percentageOfTotal": { + "type": "string", + "description": "Percentage of total rewards paid in the epoch." + }, + "receivedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp at which the reward was paid as Unix nano time." + }, + "marketId": { + "type": "string", + "description": "Market ID in which the reward is being paid." + }, + "rewardType": { + "type": "string", + "description": "Type of reward being paid." + } + }, + "title": "Details for a single reward payment" + }, + "vegaRewardScore": { + "type": "object", + "properties": { + "rawValidatorScore": { + "type": "string", + "description": "Stake based score - with anti-whaling." + }, + "performanceScore": { + "type": "string", + "description": "Performance based score." + }, + "multisigScore": { + "type": "string", + "description": "Multisig score." + }, + "validatorScore": { + "type": "string", + "description": "Un-normalised score." + }, + "normalisedScore": { + "type": "string", + "description": "Normalised validator score for rewards." + }, + "validatorStatus": { + "$ref": "#/definitions/vegaValidatorNodeStatus", + "description": "Status of the validator for reward." + } + } + }, + "vegaRewardSummary": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID in which the reward is being paid." + }, + "partyId": { + "type": "string", + "description": "Party ID to whom the reward is being paid." + }, + "amount": { + "type": "string", + "description": "Total amount of rewards paid in the asset. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Details for rewards for a single asset" + }, + "vegaRiskFactor": { + "type": "object", + "properties": { + "market": { + "type": "string", + "description": "Market ID that relates to this risk factor." + }, + "short": { + "type": "string", + "description": "Short Risk factor value." + }, + "long": { + "type": "string", + "description": "Long Risk factor value." + } + }, + "title": "Risk factors are used to calculate the current risk associated with orders trading on a given market" + }, + "vegaScalingFactors": { + "type": "object", + "properties": { + "searchLevel": { + "type": "number", + "format": "double", + "description": "Collateral search level. If collateral dips below this value,\nthe system will search for collateral to release." + }, + "initialMargin": { + "type": "number", + "format": "double", + "description": "Initial margin level. This is the minimum amount of collateral\nrequired to open a position in a market that requires margin." + }, + "collateralRelease": { + "type": "number", + "format": "double", + "description": "Collateral release level. If a trader has collateral above this level,\nthe system will release collateral to a trader's general collateral account\nfor the asset." + } + }, + "title": "Scaling Factors (for use in margin calculation)" + }, + "vegaSide": { + "type": "string", + "enum": [ + "SIDE_UNSPECIFIED", + "SIDE_BUY", + "SIDE_SELL" + ], + "default": "SIDE_UNSPECIFIED", + "description": "- SIDE_UNSPECIFIED: Default value, always invalid\n - SIDE_BUY: Buy order\n - SIDE_SELL: Sell order", + "title": "Side relates to the direction of an order, to Buy, or Sell" + }, + "vegaSimpleModelParams": { + "type": "object", + "properties": { + "factorLong": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for long." + }, + "factorShort": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for short." + }, + "maxMoveUp": { + "type": "number", + "format": "double", + "description": "Pre-defined maximum price move up that the model considers as valid." + }, + "minMoveDown": { + "type": "number", + "format": "double", + "description": "Pre-defined minimum price move down that the model considers as valid." + }, + "probabilityOfTrading": { + "type": "number", + "format": "double", + "description": "Pre-defined constant probability of trading." + } + }, + "title": "Risk model parameters for simple modelling" + }, + "vegaSimpleRiskModel": { + "type": "object", + "properties": { + "params": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Risk model params for simple modelling." + } + }, + "title": "Risk model for simple modelling" + }, + "vegaSpot": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Asset ID of the underlying base asset for the spot product." + }, + "quoteAsset": { + "type": "string", + "description": "Asset ID of the underlying quote asset for the spot product." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + } + }, + "title": "Spot product definition" + }, + "vegaSpotProduct": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Base asset ID." + }, + "quoteAsset": { + "type": "string", + "description": "Quote asset ID." + }, + "name": { + "type": "string", + "description": "Product name." + } + }, + "title": "Spot product configuration" + }, + "vegaStopOrder": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "ID of this stop order\nalso the ID of the associated order if it is ever triggered" + }, + "ocoLinkId": { + "type": "string", + "title": "The ID of the 'other' part of the OCO if 2 stop orders were submitted at once" + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "triggerDirection": { + "$ref": "#/definitions/StopOrderTriggerDirection", + "description": "Trigger direction for this stop order." + }, + "status": { + "$ref": "#/definitions/vegaStopOrderStatus", + "description": "Status of the stop order." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Creation time of the stop order." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Last update of this stop order." + }, + "orderId": { + "type": "string", + "description": "ID of the order created once the trigger is hit." + }, + "partyId": { + "type": "string", + "description": "ID of the party that submitted this stop order." + }, + "marketId": { + "type": "string", + "description": "ID of the market the stop order is submitted to." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "title": "Trailing percentage at which the order will be submitted.\nThis should be expressed as a decimal value between 0 and 1, e.g. 0.01 for 1%" + } + } + }, + "vegaStopOrderStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_TRIGGERED", + "STATUS_EXPIRED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Never valid\n - STATUS_PENDING: Pending to be executed once the trigger is breached\n - STATUS_CANCELLED: Cancelled by the user\n - STATUS_STOPPED: Stopped by the network, e.g: OCO on the other side has been triggered\n - STATUS_TRIGGERED: Stop order has been triggered and generated an order\n - STATUS_EXPIRED: Stop order has expired\n - STATUS_REJECTED: Stop order was rejected at submission" + }, + "vegaSuccessorConfiguration": { + "type": "object", + "properties": { + "parentMarketId": { + "type": "string", + "description": "ID of the market that the successor should take over from." + }, + "insurancePoolFraction": { + "type": "string", + "description": "A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor." + } + }, + "description": "Configuration required to turn a new market proposal in to a successor market proposal." + }, + "vegaTargetStakeParameters": { + "type": "object", + "properties": { + "timeWindow": { + "type": "string", + "format": "int64", + "description": "Specifies length of time window expressed in seconds for target stake calculation." + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Specifies scaling factors used in target stake calculation." + } + }, + "title": "TargetStakeParameters contains parameters used in target stake calculation" + }, + "vegaTradableInstrument": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrument", + "description": "Details for the underlying instrument." + }, + "marginCalculator": { + "$ref": "#/definitions/vegaMarginCalculator", + "description": "Margin calculator for the instrument." + }, + "logNormalRiskModel": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal." + }, + "simpleRiskModel": { + "$ref": "#/definitions/vegaSimpleRiskModel", + "description": "Simple." + } + }, + "title": "Tradable Instrument definition" + }, + "vegaTrade": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the trade." + }, + "marketId": { + "type": "string", + "description": "Market ID on which the trade occurred." + }, + "price": { + "type": "string", + "description": "Price for the trade, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size filled for the trade." + }, + "buyer": { + "type": "string", + "description": "Unique party ID for the buyer." + }, + "seller": { + "type": "string", + "description": "Unique party ID for the seller." + }, + "aggressor": { + "$ref": "#/definitions/vegaSide", + "description": "Direction of the aggressive party e.g. SIDE_BUY or SIDE_SELL." + }, + "buyOrder": { + "type": "string", + "description": "Identifier of the order from the buy side." + }, + "sellOrder": { + "type": "string", + "description": "Identifier of the order from the sell side." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the trade occurred." + }, + "type": { + "$ref": "#/definitions/vegaTradeType", + "description": "Type for the trade." + }, + "buyerFee": { + "$ref": "#/definitions/vegaFee", + "description": "Fee amount charged to the buyer party for the trade." + }, + "sellerFee": { + "$ref": "#/definitions/vegaFee", + "description": "Fee amount charged to the seller party for the trade." + }, + "buyerAuctionBatch": { + "type": "string", + "format": "uint64", + "description": "Auction batch number that the buy side order was placed in." + }, + "sellerAuctionBatch": { + "type": "string", + "format": "uint64", + "description": "Auction batch number that the sell side order was placed in." + } + }, + "title": "A trade occurs when an aggressive order crosses one or more passive orders on the order book for a market on Vega" + }, + "vegaTradeType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_DEFAULT", + "TYPE_NETWORK_CLOSE_OUT_GOOD", + "TYPE_NETWORK_CLOSE_OUT_BAD" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_DEFAULT: Normal trading between two parties\n - TYPE_NETWORK_CLOSE_OUT_GOOD: Trading initiated by the network with another party on the book,\nwhich helps to zero-out the positions of one or more distressed parties\n - TYPE_NETWORK_CLOSE_OUT_BAD: Trading initiated by the network with another party off the book,\nwith a distressed party in order to zero-out the position of the party", + "title": "Type values for a trade" + }, + "vegaTransferType": { + "type": "string", + "enum": [ + "TRANSFER_TYPE_UNSPECIFIED", + "TRANSFER_TYPE_LOSS", + "TRANSFER_TYPE_WIN", + "TRANSFER_TYPE_MTM_LOSS", + "TRANSFER_TYPE_MTM_WIN", + "TRANSFER_TYPE_MARGIN_LOW", + "TRANSFER_TYPE_MARGIN_HIGH", + "TRANSFER_TYPE_MARGIN_CONFISCATED", + "TRANSFER_TYPE_MAKER_FEE_PAY", + "TRANSFER_TYPE_MAKER_FEE_RECEIVE", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE", + "TRANSFER_TYPE_LIQUIDITY_FEE_PAY", + "TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE", + "TRANSFER_TYPE_BOND_LOW", + "TRANSFER_TYPE_BOND_HIGH", + "TRANSFER_TYPE_WITHDRAW", + "TRANSFER_TYPE_DEPOSIT", + "TRANSFER_TYPE_BOND_SLASHING", + "TRANSFER_TYPE_REWARD_PAYOUT", + "TRANSFER_TYPE_TRANSFER_FUNDS_SEND", + "TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE", + "TRANSFER_TYPE_CLEAR_ACCOUNT", + "TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE", + "TRANSFER_TYPE_SPOT", + "TRANSFER_TYPE_HOLDING_LOCK", + "TRANSFER_TYPE_HOLDING_RELEASE", + "TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION", + "TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE", + "TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE", + "TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY", + "TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY", + "TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT", + "TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE", + "TRANSFER_TYPE_PERP_FUNDING_LOSS", + "TRANSFER_TYPE_PERP_FUNDING_WIN" + ], + "default": "TRANSFER_TYPE_UNSPECIFIED", + "description": "- TRANSFER_TYPE_UNSPECIFIED: Default value, always invalid\n - TRANSFER_TYPE_LOSS: Funds deducted after final settlement loss\n - TRANSFER_TYPE_WIN: Funds added to general account after final settlement gain\n - TRANSFER_TYPE_MTM_LOSS: Funds deducted from margin account after mark to market loss\n - TRANSFER_TYPE_MTM_WIN: Funds added to margin account after mark to market gain\n - TRANSFER_TYPE_MARGIN_LOW: Funds transferred from general account to meet margin requirement\n - TRANSFER_TYPE_MARGIN_HIGH: Excess margin amount returned to general account\n - TRANSFER_TYPE_MARGIN_CONFISCATED: Margin confiscated from margin account to fulfil closeout\n - TRANSFER_TYPE_MAKER_FEE_PAY: Maker fee paid from general account\n - TRANSFER_TYPE_MAKER_FEE_RECEIVE: Maker fee received into general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY: Infrastructure fee paid from general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE: Infrastructure fee received into general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_PAY: Liquidity fee paid from general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE: Liquidity fee received into general account\n - TRANSFER_TYPE_BOND_LOW: Bond account funded from general account to meet required bond amount\n - TRANSFER_TYPE_BOND_HIGH: Bond returned to general account after liquidity commitment was reduced\n - TRANSFER_TYPE_WITHDRAW: Funds withdrawn from general account\n - TRANSFER_TYPE_DEPOSIT: Funds deposited to general account\n - TRANSFER_TYPE_BOND_SLASHING: Bond account penalised when liquidity commitment not met\n - TRANSFER_TYPE_REWARD_PAYOUT: Reward payout received\n - TRANSFER_TYPE_TRANSFER_FUNDS_SEND: Internal Vega network instruction for the collateral engine to move funds from a user's general account into the pending transfers pool\n - TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE: Internal Vega network instruction for the collateral engine to move funds from the pending transfers pool account into the destination account\n - TRANSFER_TYPE_CLEAR_ACCOUNT: Market-related accounts emptied because market has closed\n - TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE: Balances restored after network restart\n - TRANSFER_TYPE_SPOT: Spot trade delivery\n - TRANSFER_TYPE_HOLDING_LOCK: An internal instruction to transfer a quantity corresponding to an active spot order from a general account into a party holding account.\n - TRANSFER_TYPE_HOLDING_RELEASE: An internal instruction to transfer an excess quantity corresponding to an active spot order from a holding account into a party general account.\n - TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION: Insurance pool fraction transfer from parent to successor market.\n - TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE: Allocates liquidity fee earnings to each liquidity provider's network controlled liquidity fee account.\n - TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE: Distributes net fee earnings from liquidity provider's fee account to their general account.\n - TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY: Applies SLA penalty by moving funds from party's bond account to market's insurance pool.\n - TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY: Applies SLA penalty by moving funds from the liquidity provider's fee account to market insurance pool.\n - TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT: Collects penalties from the liquidity provider's fee account before the fee revenue is paid, and transfers it to the market's bonus distribution account.\n - TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE: Distributes performance bonus from market bonus to liquidity provider's general account.\n - TRANSFER_TYPE_PERP_FUNDING_LOSS: Funds deducted from margin account after a perpetuals funding loss.\n - TRANSFER_TYPE_PERP_FUNDING_WIN: Funds added to margin account after a perpetuals funding gain.", + "title": "Transfers can occur between parties on Vega, these are the types that indicate why a transfer took place" + }, + "vegaUpdateAsset": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaAssetDetailsUpdate", + "description": "Changes to apply on an existing asset." + } + }, + "title": "Update an existing asset on Vega" + }, + "vegaUpdateFutureProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data of settlement data." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data source for trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "The binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaUpdateInstrumentConfiguration": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaUpdateFutureProduct", + "description": "Future." + }, + "perpetual": { + "$ref": "#/definitions/vegaUpdatePerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaUpdateMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateMarketConfiguration", + "description": "Updated configuration of the futures market." + } + }, + "title": "Update an existing market on Vega" + }, + "vegaUpdateMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaUpdateInstrumentConfiguration", + "description": "Updated futures market instrument configuration." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + } + }, + "title": "Configuration to update a futures market on Vega" + }, + "vegaUpdateMarketState": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaUpdateMarketStateConfiguration", + "title": "Configuration for governance-initiated change of a market's state" + } + } + }, + "vegaUpdateMarketStateConfiguration": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "ID of the market" + }, + "updateType": { + "$ref": "#/definitions/vegaMarketStateUpdateType", + "title": "Type of the market update" + }, + "price": { + "type": "string", + "title": "Settlement price, relevant only for market termination for futures markets" + } + } + }, + "vegaUpdateNetworkParameter": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "The network parameter to update." + } + }, + "title": "Update network configuration on Vega" + }, + "vegaUpdatePerpetualProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaUpdateSpotMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateSpotMarketConfiguration", + "description": "Updated configuration of the spot market." + } + }, + "title": "Update an existing spot market on Vega" + }, + "vegaUpdateSpotMarketConfiguration": { + "type": "object", + "properties": { + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration to update a spot market on Vega" + }, + "vegaValidatorNodeStatus": { + "type": "string", + "enum": [ + "VALIDATOR_NODE_STATUS_UNSPECIFIED", + "VALIDATOR_NODE_STATUS_TENDERMINT", + "VALIDATOR_NODE_STATUS_ERSATZ", + "VALIDATOR_NODE_STATUS_PENDING" + ], + "default": "VALIDATOR_NODE_STATUS_UNSPECIFIED", + "description": "- VALIDATOR_NODE_STATUS_TENDERMINT: Node is a tendermint validator\n - VALIDATOR_NODE_STATUS_ERSATZ: Node is an ersatz validator\n - VALIDATOR_NODE_STATUS_PENDING: Node is a pending validator", + "title": "Validation status of the node" + }, + "vegaVote": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "description": "Voter's party ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Which way the party voted." + }, + "proposalId": { + "type": "string", + "description": "Proposal ID being voted on." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds when the vote was acknowledged by the network." + }, + "totalGovernanceTokenBalance": { + "type": "string", + "description": "Total number of governance token for the party that cast the vote." + }, + "totalGovernanceTokenWeight": { + "type": "string", + "description": "The weight of this vote based on the total number of governance tokens." + }, + "totalEquityLikeShareWeight": { + "type": "string", + "description": "The weight of the vote compared to the total amount of equity-like share on the market." + } + }, + "title": "Governance vote" + }, + "vegaVoteValue": { + "type": "string", + "enum": [ + "VALUE_UNSPECIFIED", + "VALUE_NO", + "VALUE_YES" + ], + "default": "VALUE_UNSPECIFIED", + "description": "- VALUE_UNSPECIFIED: Default value, always invalid\n - VALUE_NO: Vote against the proposal\n - VALUE_YES: Vote in favour of the proposal", + "title": "Vote value" + }, + "vegaWithdrawExt": { + "type": "object", + "properties": { + "erc20": { + "$ref": "#/definitions/vegaErc20WithdrawExt", + "description": "ERC20 withdrawal details." + } + }, + "title": "Withdrawal external details" + }, + "vegaWithdrawal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the withdrawal." + }, + "partyId": { + "type": "string", + "description": "Unique party ID of the user initiating the withdrawal." + }, + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to withdraw funds from." + }, + "status": { + "$ref": "#/definitions/vegaWithdrawalStatus", + "description": "Status of the withdrawal." + }, + "ref": { + "type": "string", + "description": "Reference which is used by the foreign chain\nto refer to this withdrawal." + }, + "txHash": { + "type": "string", + "description": "Hash of the foreign chain for this transaction." + }, + "createdTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the network started to process this withdrawal." + }, + "withdrawnTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the withdrawal was finalised by the network." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Withdrawal from the Vega network" + }, + "vegaWithdrawalStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_OPEN", + "STATUS_REJECTED", + "STATUS_FINALIZED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_OPEN: Withdrawal is open and being processed by the network\n - STATUS_REJECTED: Withdrawal have been cancelled\n - STATUS_FINALIZED: Withdrawal went through and is fully finalised, the funds are removed from the\nVega network and are unlocked on the foreign chain bridge, for example, on the Ethereum network", + "title": "Status of the withdrawal" + }, + "vegacommandsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegacommandsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64", + "description": "First epoch from which this transfer shall be paid." + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "factor": { + "type": "string", + "description": "Factor needs to be \u003e 0." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegacommandsv1Transfer": { + "type": "object", + "properties": { + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type from which the funds of the party\nshould be taken." + }, + "to": { + "type": "string", + "description": "Public key of the destination account." + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the destination account." + }, + "asset": { + "type": "string", + "description": "Asset ID of the asset to be transferred." + }, + "amount": { + "type": "string", + "description": "Amount to be taken from the source account. This field is an unsigned integer scaled to the asset's decimal places." + }, + "reference": { + "type": "string", + "description": "Reference to be attached to the transfer." + }, + "oneOff": { + "$ref": "#/definitions/vegacommandsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegacommandsv1RecurringTransfer" + } + }, + "title": "Transfer initiated by a party" + }, + "vegaeventsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64" + } + } + }, + "vegaeventsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64" + }, + "factor": { + "type": "string" + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy" + } + } + }, + "vegaeventsv1Transfer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "from": { + "type": "string" + }, + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType" + }, + "to": { + "type": "string" + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType" + }, + "asset": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/v1TransferStatus" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "reason": { + "type": "string" + }, + "oneOff": { + "$ref": "#/definitions/vegaeventsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaeventsv1RecurringTransfer" + }, + "oneOffGovernance": { + "$ref": "#/definitions/v1OneOffGovernanceTransfer" + }, + "recurringGovernance": { + "$ref": "#/definitions/v1RecurringGovernanceTransfer" + } + } + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/api/v1/core.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/api/v1/core.swagger.json new file mode 100644 index 000000000..e02252184 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/api/v1/core.swagger.json @@ -0,0 +1,6425 @@ +{ + "swagger": "2.0", + "info": { + "title": "Vega core APIs", + "version": "v0.72.1" + }, + "tags": [ + { + "name": "CoreService" + } + ], + "host": "lb.testnet.vega.xyz", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "ConditionOperator": { + "type": "string", + "enum": [ + "OPERATOR_UNSPECIFIED", + "OPERATOR_EQUALS", + "OPERATOR_GREATER_THAN", + "OPERATOR_GREATER_THAN_OR_EQUAL", + "OPERATOR_LESS_THAN", + "OPERATOR_LESS_THAN_OR_EQUAL" + ], + "default": "OPERATOR_UNSPECIFIED", + "description": "Operator describes the type of comparison.\n\n - OPERATOR_UNSPECIFIED: The default value\n - OPERATOR_EQUALS: Verify if the property values are strictly equal or not.\n - OPERATOR_GREATER_THAN: Verify if the data source data value is greater than the Condition value.\n - OPERATOR_GREATER_THAN_OR_EQUAL: Verify if the data source data value is greater than or equal to the Condition\nvalue.\n - OPERATOR_LESS_THAN: Verify if the data source data value is less than the Condition value.\n - OPERATOR_LESS_THAN_OR_EQUAL: Verify if the data source data value is less or equal to than the Condition\nvalue." + }, + "FundingPeriodDataPointSource": { + "type": "string", + "enum": [ + "SOURCE_UNSPECIFIED", + "SOURCE_EXTERNAL", + "SOURCE_INTERNAL" + ], + "default": "SOURCE_UNSPECIFIED", + "description": " - SOURCE_UNSPECIFIED: Default value\n - SOURCE_EXTERNAL: Data point is from an external data source, such as an oracle, and represents the spot price of the underlying asset.\n - SOURCE_INTERNAL: Data point from within Vega such as the mark price after performing mark-to-market." + }, + "MarketTradingMode": { + "type": "string", + "enum": [ + "TRADING_MODE_UNSPECIFIED", + "TRADING_MODE_CONTINUOUS", + "TRADING_MODE_BATCH_AUCTION", + "TRADING_MODE_OPENING_AUCTION", + "TRADING_MODE_MONITORING_AUCTION", + "TRADING_MODE_NO_TRADING", + "TRADING_MODE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "TRADING_MODE_UNSPECIFIED", + "description": "- TRADING_MODE_UNSPECIFIED: Default value, this is invalid\n - TRADING_MODE_CONTINUOUS: Normal trading\n - TRADING_MODE_BATCH_AUCTION: Auction trading (FBA)\n - TRADING_MODE_OPENING_AUCTION: Opening auction\n - TRADING_MODE_MONITORING_AUCTION: Auction triggered by monitoring\n - TRADING_MODE_NO_TRADING: No trading is allowed\n - TRADING_MODE_SUSPENDED_VIA_GOVERNANCE: Special auction mode triggered via governance", + "title": "Trading mode the market is currently running, also referred to as 'market state'" + }, + "OracleDataSubmissionOracleSource": { + "type": "string", + "enum": [ + "ORACLE_SOURCE_UNSPECIFIED", + "ORACLE_SOURCE_OPEN_ORACLE", + "ORACLE_SOURCE_JSON", + "ORACLE_SOURCE_ETHEREUM" + ], + "default": "ORACLE_SOURCE_UNSPECIFIED", + "description": "- ORACLE_SOURCE_UNSPECIFIED: Default value\n - ORACLE_SOURCE_OPEN_ORACLE: Specifies that the payload will be base64 encoded JSON conforming to the Open Oracle standard\n - ORACLE_SOURCE_JSON: Specifies that the payload will be base64 encoded JSON, but does not specify the shape of the data\n - ORACLE_SOURCE_ETHEREUM: Specifies that the payload will be base64 encoded JSON conforming to the ETH standard", + "title": "Supported oracle sources" + }, + "OrderTimeInForce": { + "type": "string", + "enum": [ + "TIME_IN_FORCE_UNSPECIFIED", + "TIME_IN_FORCE_GTC", + "TIME_IN_FORCE_GTT", + "TIME_IN_FORCE_IOC", + "TIME_IN_FORCE_FOK", + "TIME_IN_FORCE_GFA", + "TIME_IN_FORCE_GFN" + ], + "default": "TIME_IN_FORCE_UNSPECIFIED", + "description": "- TIME_IN_FORCE_UNSPECIFIED: Default value for TimeInForce, can be valid for an amend\n - TIME_IN_FORCE_GTC: Good until cancelled, the order trades any amount and as much as possible\nand remains on the book until it either trades completely or is cancelled\n - TIME_IN_FORCE_GTT: Good until specified time, this order type trades any amount and as much as possible\nand remains on the book until it either trades completely, is cancelled, or expires at a set time\nNOTE: this may in future be multiple types or have sub types for orders that provide different ways of specifying expiry\n - TIME_IN_FORCE_IOC: Immediate or cancel, the order trades any amount and as much as possible\nbut does not remain on the book (whether it trades or not)\n - TIME_IN_FORCE_FOK: Fill or kill, the order either trades completely i.e. remainingSize == 0 after adding,\nor not at all, and does not remain on the book if it doesn't trade\n - TIME_IN_FORCE_GFA: Good for auction, this order is only accepted during an auction period\n - TIME_IN_FORCE_GFN: Good for normal, this order is only accepted during normal trading (that can be continuous trading or frequent batched auctions)", + "title": "Time In Force for an order" + }, + "StopOrderExpiryStrategy": { + "type": "string", + "enum": [ + "EXPIRY_STRATEGY_UNSPECIFIED", + "EXPIRY_STRATEGY_CANCELS", + "EXPIRY_STRATEGY_SUBMIT" + ], + "default": "EXPIRY_STRATEGY_UNSPECIFIED", + "description": " - EXPIRY_STRATEGY_UNSPECIFIED: Never valid\n - EXPIRY_STRATEGY_CANCELS: Stop order should be cancelled if the expiry time is reached.\n - EXPIRY_STRATEGY_SUBMIT: Order should be submitted if the expiry time is reached." + }, + "StopOrderTriggerDirection": { + "type": "string", + "enum": [ + "TRIGGER_DIRECTION_UNSPECIFIED", + "TRIGGER_DIRECTION_RISES_ABOVE", + "TRIGGER_DIRECTION_FALLS_BELOW" + ], + "default": "TRIGGER_DIRECTION_UNSPECIFIED", + "title": "- TRIGGER_DIRECTION_UNSPECIFIED: Never valid\n - TRIGGER_DIRECTION_RISES_ABOVE: Stop order is triggered once the price rises above a certain level\n - TRIGGER_DIRECTION_FALLS_BELOW: Stop order is triggered once the price falls below a certain level" + }, + "TransactionResultFailureDetails": { + "type": "object", + "properties": { + "error": { + "type": "string", + "title": "Error message explaining the reason for the transaction failing processing" + } + } + }, + "TransactionResultSuccessDetails": { + "type": "object" + }, + "UndelegateSubmissionMethod": { + "type": "string", + "enum": [ + "METHOD_UNSPECIFIED", + "METHOD_NOW", + "METHOD_AT_END_OF_EPOCH" + ], + "default": "METHOD_UNSPECIFIED" + }, + "commandsv1CancelTransfer": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "Transfer ID of the transfer to cancel." + } + }, + "title": "Request for cancelling a recurring transfer" + }, + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "protobufNullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "v1AnnounceNode": { + "type": "object", + "properties": { + "vegaPubKey": { + "type": "string", + "description": "Vega public key, required field." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key, required field." + }, + "chainPubKey": { + "type": "string", + "description": "Public key for the blockchain, required field." + }, + "infoUrl": { + "type": "string", + "description": "URL with more info on the node." + }, + "country": { + "type": "string", + "description": "Country code (ISO 3166-1 alpha-2) for the location of the node." + }, + "id": { + "type": "string", + "description": "Node ID of the validator, i.e. the node's public master key." + }, + "name": { + "type": "string", + "description": "Name of the validator." + }, + "avatarUrl": { + "type": "string", + "description": "AvatarURL of the validator." + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "Vega public key derivation index." + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "description": "Epoch from which the validator is expected\nto be ready to validate blocks." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the ethereum wallet." + }, + "vegaSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the Vega wallet." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + } + }, + "title": "Used to announce a node as a new pending validator" + }, + "v1AuctionEvent": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "openingAuction": { + "type": "boolean", + "title": "True if the event indicates an auction opening and False otherwise" + }, + "leave": { + "type": "boolean", + "title": "True if the event indicates leaving auction mode and False otherwise" + }, + "start": { + "type": "string", + "format": "int64", + "title": "Timestamp containing the start time for an auction" + }, + "end": { + "type": "string", + "format": "int64", + "title": "Timestamp containing the end time for an auction" + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "title": "Reason this market is/was in auction" + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "title": "If an auction was ongoing, but was extended for whatever reason, this field will\nbe set to the trigger type indicating which component extended the auction" + } + }, + "title": "Auction event indicating a change in auction state, for example starting or ending an auction" + }, + "v1BatchMarketInstructions": { + "type": "object", + "properties": { + "cancellations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "description": "List of order cancellations to be processed sequentially." + }, + "amendments": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "description": "List of order amendments to be processed sequentially." + }, + "submissions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "description": "List of order submissions to be processed sequentially." + }, + "stopOrdersCancellation": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "description": "List of stop order cancellations to be processed sequentially." + }, + "stopOrdersSubmission": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "description": "List of stop order submissions to be processed sequentially." + } + }, + "title": "Batch of order instructions.\nThis command accepts only the following batches of commands\nand will be processed in the following order:\n- OrderCancellation\n- OrderAmendment\n- OrderSubmission\nThe total amount of commands in the batch across all three lists of\ninstructions is restricted by the following network parameter:\n\"spam.protection.max.batchSize\"" + }, + "v1BeginBlock": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "hash": { + "type": "string" + } + }, + "title": "BeginBlock" + }, + "v1BusEvent": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Unique event ID for the message" + }, + "block": { + "type": "string", + "title": "The batch or block of transactions that the events relate to" + }, + "type": { + "$ref": "#/definitions/v1BusEventType", + "title": "The type of bus event. Must be one of the list below:" + }, + "timeUpdate": { + "$ref": "#/definitions/v1TimeUpdate", + "title": "Time update events" + }, + "ledgerMovements": { + "$ref": "#/definitions/v1LedgerMovements", + "title": "Transfer responses update events" + }, + "positionResolution": { + "$ref": "#/definitions/v1PositionResolution", + "title": "Position resolution events" + }, + "order": { + "$ref": "#/definitions/vegaOrder", + "title": "Order events" + }, + "account": { + "$ref": "#/definitions/vegaAccount", + "title": "Account events" + }, + "party": { + "$ref": "#/definitions/vegaParty", + "title": "Party events" + }, + "trade": { + "$ref": "#/definitions/vegaTrade", + "title": "Trade events" + }, + "marginLevels": { + "$ref": "#/definitions/vegaMarginLevels", + "title": "Margin level update events" + }, + "proposal": { + "$ref": "#/definitions/vegaProposal", + "title": "Proposal events for governance" + }, + "vote": { + "$ref": "#/definitions/vegaVote", + "title": "Vote events for governance" + }, + "marketData": { + "$ref": "#/definitions/vegaMarketData", + "title": "Market data events" + }, + "nodeSignature": { + "$ref": "#/definitions/v1NodeSignature", + "title": "Node signature events" + }, + "lossSocialization": { + "$ref": "#/definitions/v1LossSocialization", + "title": "Loss socialization events" + }, + "settlePosition": { + "$ref": "#/definitions/v1SettlePosition", + "title": "Position settlement events" + }, + "settleDistressed": { + "$ref": "#/definitions/v1SettleDistressed", + "title": "Position distressed events" + }, + "marketCreated": { + "$ref": "#/definitions/vegaMarket", + "title": "Market created events" + }, + "asset": { + "$ref": "#/definitions/vegaAsset", + "title": "Asset events" + }, + "marketTick": { + "$ref": "#/definitions/v1MarketTick", + "title": "Market tick events" + }, + "withdrawal": { + "$ref": "#/definitions/vegaWithdrawal", + "title": "Withdrawal events" + }, + "deposit": { + "$ref": "#/definitions/vegaDeposit", + "title": "Deposit events" + }, + "auction": { + "$ref": "#/definitions/v1AuctionEvent", + "title": "Auction events" + }, + "riskFactor": { + "$ref": "#/definitions/vegaRiskFactor", + "title": "Risk factor events" + }, + "networkParameter": { + "$ref": "#/definitions/vegaNetworkParameter", + "title": "Network parameter events" + }, + "liquidityProvision": { + "$ref": "#/definitions/vegaLiquidityProvision", + "title": "LiquidityProvision events" + }, + "marketUpdated": { + "$ref": "#/definitions/vegaMarket", + "title": "Market created events" + }, + "oracleSpec": { + "$ref": "#/definitions/vegaOracleSpec", + "title": "OracleSpec events" + }, + "oracleData": { + "$ref": "#/definitions/vegaOracleData", + "title": "OracleData events" + }, + "delegationBalance": { + "$ref": "#/definitions/v1DelegationBalanceEvent", + "title": "Delegation balance events" + }, + "validatorScore": { + "$ref": "#/definitions/v1ValidatorScoreEvent", + "title": "Validator score calculated" + }, + "epochEvent": { + "$ref": "#/definitions/v1EpochEvent", + "title": "Epoch update events" + }, + "validatorUpdate": { + "$ref": "#/definitions/v1ValidatorUpdate", + "title": "Validator update events" + }, + "stakeLinking": { + "$ref": "#/definitions/v1StakeLinking", + "title": "Staking event" + }, + "rewardPayout": { + "$ref": "#/definitions/v1RewardPayoutEvent", + "title": "Reward payout event" + }, + "checkpoint": { + "$ref": "#/definitions/v1CheckpointEvent", + "title": "Checkpoint was created" + }, + "keyRotation": { + "$ref": "#/definitions/v1KeyRotation", + "title": "Key rotation took place" + }, + "stateVar": { + "$ref": "#/definitions/v1StateVar", + "title": "State variable consensus state transition update" + }, + "networkLimits": { + "$ref": "#/definitions/vegaNetworkLimits", + "title": "Network limits events" + }, + "transfer": { + "$ref": "#/definitions/vegaeventsv1Transfer", + "title": "Transfer event" + }, + "rankingEvent": { + "$ref": "#/definitions/v1ValidatorRankingEvent", + "title": "Ranking event" + }, + "erc20MultisigSignerEvent": { + "$ref": "#/definitions/v1ERC20MultiSigSignerEvent", + "title": "ERC20 multi sig signer event" + }, + "erc20MultisigSetThresholdEvent": { + "$ref": "#/definitions/v1ERC20MultiSigThresholdSetEvent", + "title": "ERC20 multi sig set threshold event" + }, + "erc20MultisigSignerAdded": { + "$ref": "#/definitions/v1ERC20MultiSigSignerAdded", + "title": "ERC20 multi sig signer added" + }, + "erc20MultisigSignerRemoved": { + "$ref": "#/definitions/v1ERC20MultiSigSignerRemoved", + "title": "ERC20 multi sig signer removed" + }, + "positionStateEvent": { + "$ref": "#/definitions/v1PositionStateEvent", + "title": "Position status for a party in a market" + }, + "ethereumKeyRotation": { + "$ref": "#/definitions/v1EthereumKeyRotation", + "title": "Ethereum key rotation took place" + }, + "protocolUpgradeEvent": { + "$ref": "#/definitions/v1ProtocolUpgradeEvent", + "title": "Protocol upgrade proposal updates" + }, + "beginBlock": { + "$ref": "#/definitions/v1BeginBlock", + "title": "Core is starting to process a new block" + }, + "endBlock": { + "$ref": "#/definitions/v1EndBlock", + "title": "Core finished processing a block" + }, + "protocolUpgradeStarted": { + "$ref": "#/definitions/v1ProtocolUpgradeStarted", + "title": "Core is starting a protocol upgrade" + }, + "settleMarket": { + "$ref": "#/definitions/v1SettleMarket", + "title": "Settle market event for data-node to update positions for settled markets" + }, + "transactionResult": { + "$ref": "#/definitions/v1TransactionResult", + "title": "Result of a transaction processed by the network" + }, + "coreSnapshotEvent": { + "$ref": "#/definitions/v1CoreSnapshotData", + "title": "Core snapshot has been taken at the end of the block" + }, + "protocolUpgradeDataNodeReady": { + "$ref": "#/definitions/v1ProtocolUpgradeDataNodeReady", + "title": "Core snapshot has been taken at the end of the block" + }, + "distressedOrders": { + "$ref": "#/definitions/v1DistressedOrders", + "title": "Parties that had their orders closed because they were distressed" + }, + "expiredOrders": { + "$ref": "#/definitions/v1ExpiredOrders", + "title": "Orders that expired for a given market" + }, + "distressedPositions": { + "$ref": "#/definitions/v1DistressedPositions", + "title": "Open positions on the market that are/were distressed" + }, + "stopOrder": { + "$ref": "#/definitions/v1StopOrderEvent", + "title": "A stop order event" + }, + "fundingPeriod": { + "$ref": "#/definitions/v1FundingPeriod", + "description": "Start or end of a funding period." + }, + "fundingPeriodDataPoint": { + "$ref": "#/definitions/v1FundingPeriodDataPoint", + "description": "Data point within a funding period." + }, + "market": { + "$ref": "#/definitions/v1MarketEvent", + "title": "Market tick events" + }, + "txErrEvent": { + "$ref": "#/definitions/v1TxErrorEvent", + "title": "Transaction error events, not included in the ALL event type" + }, + "version": { + "type": "integer", + "format": "int64", + "title": "Version of bus event" + }, + "chainId": { + "type": "string" + }, + "txHash": { + "type": "string" + } + }, + "title": "Bus event is a container for event bus events emitted by Vega" + }, + "v1BusEventType": { + "type": "string", + "enum": [ + "BUS_EVENT_TYPE_UNSPECIFIED", + "BUS_EVENT_TYPE_ALL", + "BUS_EVENT_TYPE_TIME_UPDATE", + "BUS_EVENT_TYPE_LEDGER_MOVEMENTS", + "BUS_EVENT_TYPE_POSITION_RESOLUTION", + "BUS_EVENT_TYPE_ORDER", + "BUS_EVENT_TYPE_ACCOUNT", + "BUS_EVENT_TYPE_PARTY", + "BUS_EVENT_TYPE_TRADE", + "BUS_EVENT_TYPE_MARGIN_LEVELS", + "BUS_EVENT_TYPE_PROPOSAL", + "BUS_EVENT_TYPE_VOTE", + "BUS_EVENT_TYPE_MARKET_DATA", + "BUS_EVENT_TYPE_NODE_SIGNATURE", + "BUS_EVENT_TYPE_LOSS_SOCIALIZATION", + "BUS_EVENT_TYPE_SETTLE_POSITION", + "BUS_EVENT_TYPE_SETTLE_DISTRESSED", + "BUS_EVENT_TYPE_MARKET_CREATED", + "BUS_EVENT_TYPE_ASSET", + "BUS_EVENT_TYPE_MARKET_TICK", + "BUS_EVENT_TYPE_WITHDRAWAL", + "BUS_EVENT_TYPE_DEPOSIT", + "BUS_EVENT_TYPE_AUCTION", + "BUS_EVENT_TYPE_RISK_FACTOR", + "BUS_EVENT_TYPE_NETWORK_PARAMETER", + "BUS_EVENT_TYPE_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_MARKET_UPDATED", + "BUS_EVENT_TYPE_ORACLE_SPEC", + "BUS_EVENT_TYPE_ORACLE_DATA", + "BUS_EVENT_TYPE_DELEGATION_BALANCE", + "BUS_EVENT_TYPE_VALIDATOR_SCORE", + "BUS_EVENT_TYPE_EPOCH_UPDATE", + "BUS_EVENT_TYPE_VALIDATOR_UPDATE", + "BUS_EVENT_TYPE_STAKE_LINKING", + "BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT", + "BUS_EVENT_TYPE_CHECKPOINT", + "BUS_EVENT_TYPE_STREAM_START", + "BUS_EVENT_TYPE_KEY_ROTATION", + "BUS_EVENT_TYPE_STATE_VAR", + "BUS_EVENT_TYPE_NETWORK_LIMITS", + "BUS_EVENT_TYPE_TRANSFER", + "BUS_EVENT_TYPE_VALIDATOR_RANKING", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED", + "BUS_EVENT_TYPE_POSITION_STATE", + "BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL", + "BUS_EVENT_TYPE_BEGIN_BLOCK", + "BUS_EVENT_TYPE_END_BLOCK", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED", + "BUS_EVENT_TYPE_SETTLE_MARKET", + "BUS_EVENT_TYPE_TRANSACTION_RESULT", + "BUS_EVENT_TYPE_SNAPSHOT_TAKEN", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY", + "BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED", + "BUS_EVENT_TYPE_EXPIRED_ORDERS", + "BUS_EVENT_TYPE_DISTRESSED_POSITIONS", + "BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_STOP_ORDER", + "BUS_EVENT_TYPE_FUNDING_PERIOD", + "BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT", + "BUS_EVENT_TYPE_MARKET", + "BUS_EVENT_TYPE_TX_ERROR" + ], + "default": "BUS_EVENT_TYPE_UNSPECIFIED", + "description": "- BUS_EVENT_TYPE_UNSPECIFIED: Default value, always invalid\n - BUS_EVENT_TYPE_ALL: Events of ALL event types, used when filtering stream from event bus\n - BUS_EVENT_TYPE_TIME_UPDATE: Event for blockchain time updates\n - BUS_EVENT_TYPE_LEDGER_MOVEMENTS: Event for when a transfer happens internally, contains the transfer information\n - BUS_EVENT_TYPE_POSITION_RESOLUTION: Event indicating position resolution has occurred\n - BUS_EVENT_TYPE_ORDER: Event for order updates, both new and existing orders\n - BUS_EVENT_TYPE_ACCOUNT: Event for account updates\n - BUS_EVENT_TYPE_PARTY: Event for party updates\n - BUS_EVENT_TYPE_TRADE: Event indicating a new trade has occurred\n - BUS_EVENT_TYPE_MARGIN_LEVELS: Event indicating margin levels have changed for a party\n - BUS_EVENT_TYPE_PROPOSAL: Event for proposal updates (for governance)\n - BUS_EVENT_TYPE_VOTE: Event indicating a new vote has occurred (for governance)\n - BUS_EVENT_TYPE_MARKET_DATA: Event for market data updates\n - BUS_EVENT_TYPE_NODE_SIGNATURE: Event for a new signature for a Vega node\n - BUS_EVENT_TYPE_LOSS_SOCIALIZATION: Event indicating loss socialisation occurred for a party\n - BUS_EVENT_TYPE_SETTLE_POSITION: Event for when a position is being settled\n - BUS_EVENT_TYPE_SETTLE_DISTRESSED: Event for when a position is distressed\n - BUS_EVENT_TYPE_MARKET_CREATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ASSET: Event for when an asset is added to Vega\n - BUS_EVENT_TYPE_MARKET_TICK: Event indicating a market tick event\n - BUS_EVENT_TYPE_WITHDRAWAL: Event for when a withdrawal occurs\n - BUS_EVENT_TYPE_DEPOSIT: Event for when a deposit occurs\n - BUS_EVENT_TYPE_AUCTION: Event indicating a change in auction state, for example starting or ending an auction\n - BUS_EVENT_TYPE_RISK_FACTOR: Event indicating a risk factor has been updated\n - BUS_EVENT_TYPE_NETWORK_PARAMETER: Event indicating a network parameter has been added or updated\n - BUS_EVENT_TYPE_LIQUIDITY_PROVISION: Event indicating a liquidity provision has been created or updated\n - BUS_EVENT_TYPE_MARKET_UPDATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ORACLE_SPEC: Event indicating an oracle spec has been created or updated\n - BUS_EVENT_TYPE_ORACLE_DATA: Event indicating that an oracle data has been broadcast\n - BUS_EVENT_TYPE_DELEGATION_BALANCE: Event indicating that an delegation balance of a party to a node for current epoch has changed\n - BUS_EVENT_TYPE_VALIDATOR_SCORE: Event indicating the validator score for the given epoch\n - BUS_EVENT_TYPE_EPOCH_UPDATE: Event indicating the start or end of an epoch\n - BUS_EVENT_TYPE_VALIDATOR_UPDATE: Event indicating that validator node has been updated\n - BUS_EVENT_TYPE_STAKE_LINKING: Event indicating a new staking event have been processed by the network\n - BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT: Event indicating the payout of a reward has been initiated\n - BUS_EVENT_TYPE_CHECKPOINT: Event indicating a new checkpoint was created\n - BUS_EVENT_TYPE_STREAM_START: Event indicating stream is starting\n - BUS_EVENT_TYPE_KEY_ROTATION: Event indicating key rotation took place\n - BUS_EVENT_TYPE_STATE_VAR: Event indicating state transitions in state variable consensus\n - BUS_EVENT_TYPE_NETWORK_LIMITS: Event indicating network limits set or updated\n - BUS_EVENT_TYPE_TRANSFER: Event indicating a update for a transfer\n - BUS_EVENT_TYPE_VALIDATOR_RANKING: Event indicating the ranking of validator and their status in Vega\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT: Event indicating a new multi sig signer event have been processed\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD: Event indicating the erc20 multi sig threshold have been updated\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED: Event indicating a new signer has been added to the ERC-20 multisig\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED: Event indicating a signer has been removed from the ERC-20 multisig\n - BUS_EVENT_TYPE_POSITION_STATE: Event indicating that a party's position has changed\n - BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION: Event indicating Ethereum key rotation took place\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL: Event indicating protocol upgrade proposal updates\n - BUS_EVENT_TYPE_BEGIN_BLOCK: Event indicating the core is starting to process a new block\n - BUS_EVENT_TYPE_END_BLOCK: Event indicating the core finished to process a block\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED: Event indicating the core is starting a protocol upgrade\n - BUS_EVENT_TYPE_SETTLE_MARKET: Event indicating the market has stopped and settled\n - BUS_EVENT_TYPE_TRANSACTION_RESULT: Event indicating the result of a transaction processed by the network\n - BUS_EVENT_TYPE_SNAPSHOT_TAKEN: Event indicating a snapshot was taken at this block height\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY: Event data node uses to notify that it is ready to upgrade\n - BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_EXPIRED_ORDERS: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_DISTRESSED_POSITIONS: Event indicating parties have become, or were, distressed but still have an active position.\n - BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION: Event indicating a spot liquidity provision has been created or updated.\n - BUS_EVENT_TYPE_STOP_ORDER: Event indicating a stop order has been submitted or updated.\n - BUS_EVENT_TYPE_FUNDING_PERIOD: Event indicating the start or end of a funding period.\n - BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT: Event indicating a data point for a funding period has been received.\n - BUS_EVENT_TYPE_MARKET: Event indicating a market related event, for example when a market opens\n - BUS_EVENT_TYPE_TX_ERROR: Event used to report failed transactions back to a user, this is excluded from the ALL type", + "title": "Bus event type is used to specify a type of event\nIt has 2 styles of event:\nSingle values (e.g. BUS_EVENT_TYPE_ORDER) where they represent one data item\nGroup values (e.g. BUS_EVENT_TYPE_AUCTION) where they represent a group of data items" + }, + "v1CheckRawTransactionResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the transaction was checked by the node" + }, + "code": { + "type": "integer", + "format": "int64", + "title": "Check code result" + }, + "gasWanted": { + "type": "string", + "format": "int64", + "title": "Gas wanted for transaction" + }, + "gasUsed": { + "type": "string", + "format": "int64", + "title": "Gas used for transaction" + }, + "data": { + "type": "string", + "title": "Data for details" + }, + "log": { + "type": "string", + "title": "Transaction log" + }, + "info": { + "type": "string", + "title": "Information about the transaction" + } + }, + "title": "Response for checking a version agnostic transaction on Vega" + }, + "v1CheckTransactionResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the transaction was checked by the node" + }, + "code": { + "type": "integer", + "format": "int64", + "title": "Check code result" + }, + "gasWanted": { + "type": "string", + "format": "int64", + "title": "Gas wanted for transaction" + }, + "gasUsed": { + "type": "string", + "format": "int64", + "title": "Gas used for transaction" + }, + "data": { + "type": "string", + "title": "Data for details" + }, + "log": { + "type": "string", + "title": "Transaction log" + }, + "info": { + "type": "string", + "title": "Information about the transaction" + } + } + }, + "v1CheckpointEvent": { + "type": "object", + "properties": { + "hash": { + "type": "string" + }, + "blockHash": { + "type": "string" + }, + "blockHeight": { + "type": "string", + "format": "uint64" + } + } + }, + "v1Condition": { + "type": "object", + "properties": { + "operator": { + "$ref": "#/definitions/ConditionOperator", + "description": "Type of comparison to make on the value." + }, + "value": { + "type": "string", + "description": "Value to be compared with by the operator." + } + }, + "title": "Condition describes the condition that must be validated by the network" + }, + "v1CoreSnapshotData": { + "type": "object", + "properties": { + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height at which snapshot was taken" + }, + "blockHash": { + "type": "string", + "title": "Hash of the snapshot block" + }, + "coreVersion": { + "type": "string", + "description": "Semver version number of the core." + }, + "protocolUpgradeBlock": { + "type": "boolean", + "title": "Indicates if the snapshot is taken as part of protocol upgrade" + } + }, + "description": "CoreSnapshotData represents the core snapshot data." + }, + "v1CreateTeam": { + "type": "object", + "properties": { + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "description": "Creates a referral team. The team creator automatically becomes\nthe team leader, called a referrer. This cannot be changed.\nA referrer cannot already be or become a liquidity provider,\nnor can they be on an existing team as referrer or referee.", + "title": "Request for creating a referral team" + }, + "v1Data": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + } + }, + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Property" + }, + "title": "Data holds all the properties of the data" + }, + "matchedSpecIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "`matched_specs_ids` lists all the specs that matched this data.\nWhen the array is empty, it means no spec matched this data." + }, + "broadcastAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the data was broadcast to the markets\nwith a matching spec. It has no value when the data did not match any spec." + }, + "metaData": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Property" + }, + "title": "Holds all metadata properties" + }, + "error": { + "type": "string", + "description": "Error message if the data could not be sourced." + } + }, + "description": "Data describes valid source data that has been received by the node.\nIt represents both matched and unmatched data." + }, + "v1DelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Delegate to the specified node ID." + }, + "amount": { + "type": "string", + "description": "Amount of stake to delegate. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Command to submit an instruction to delegate some stake to a node" + }, + "v1DelegationBalanceEvent": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "nodeId": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "epochSeq": { + "type": "string" + } + }, + "title": "DelegationBalanceEvent - updates on the delegation balance of a party to a node in the current epoch in effect" + }, + "v1DistressedOrders": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "parties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of Party IDs i.e. each party's public key for the event" + } + }, + "title": "Distressed order contains the party IDs for all parties that were distressed and had their orders closed,\nbut did not need to be closed out after cancelling their orders" + }, + "v1DistressedPositions": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "distressedParties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of party IDs i.e. each party's public key, that are distressed but still have open volume" + }, + "safeParties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of party IDs i.e. each party's public key, who were distressed but now can safely maintain their position" + } + }, + "description": "Distressed positions event contains the party IDs for all parties that were distressed, had their orders closed but because of insufficient volume on the book\ncould not be fully closed out. These parties are distressed, but still hold an active position on the book as a result. Once enough volume is on the book to close\nthem out, a SettleDistressed event will be sent. In case they manage to reduce their position, or meet the margin requirements, this status will be updated.\nParties that are no longer distressed but active will be listed in the safe_parties field." + }, + "v1ERC20MultiSigSignerAdded": { + "type": "object", + "properties": { + "signatureId": { + "type": "string", + "title": "ID of the signature bundle" + }, + "validatorId": { + "type": "string", + "title": "Node ID of the Vega node to be added" + }, + "timestamp": { + "type": "string", + "format": "int64", + "title": "Time at which this happened" + }, + "newSigner": { + "type": "string", + "title": "Ethereum address of the new signer" + }, + "submitter": { + "type": "string", + "title": "Address of the submitter of the transaction" + }, + "nonce": { + "type": "string", + "description": "Nonce used." + }, + "epochSeq": { + "type": "string", + "title": "Epoch that the node was added for" + } + } + }, + "v1ERC20MultiSigSignerEvent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1ERC20MultiSigSignerEventType" + }, + "signer": { + "type": "string" + }, + "nonce": { + "type": "string" + }, + "blockTime": { + "type": "string", + "format": "int64" + }, + "txHash": { + "type": "string" + }, + "logIndex": { + "type": "string", + "format": "uint64" + }, + "blockNumber": { + "type": "string", + "format": "uint64" + } + } + }, + "v1ERC20MultiSigSignerEventType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ADDED", + "TYPE_REMOVED" + ], + "default": "TYPE_UNSPECIFIED" + }, + "v1ERC20MultiSigSignerRemoved": { + "type": "object", + "properties": { + "signatureSubmitters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ERC20MultiSigSignerRemovedSubmitter" + }, + "title": "List containing all the IDs of bundle generated\nThere should be one bundle generated for every validators\nin the validator set" + }, + "validatorId": { + "type": "string", + "title": "Node ID of the Vega node which is to be removed" + }, + "timestamp": { + "type": "string", + "format": "int64", + "title": "Time at which this happened" + }, + "oldSigner": { + "type": "string", + "title": "Ethereum address of the signer to be removed" + }, + "nonce": { + "type": "string", + "description": "Nonce used." + }, + "epochSeq": { + "type": "string", + "title": "Epoch that the node was removed for" + } + } + }, + "v1ERC20MultiSigSignerRemovedSubmitter": { + "type": "object", + "properties": { + "signatureId": { + "type": "string", + "description": "Signature ID of the signer removed." + }, + "submitter": { + "type": "string", + "title": "Address of the submitter of the transaction" + } + } + }, + "v1ERC20MultiSigThresholdSetEvent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "newThreshold": { + "type": "integer", + "format": "int64" + }, + "nonce": { + "type": "string" + }, + "blockTime": { + "type": "string", + "format": "int64" + }, + "txHash": { + "type": "string" + }, + "logIndex": { + "type": "string", + "format": "uint64" + }, + "blockNumber": { + "type": "string", + "format": "uint64" + } + } + }, + "v1ETHAddress": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "v1EndBlock": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64" + } + }, + "title": "EndBlock" + }, + "v1EpochEvent": { + "type": "object", + "properties": { + "seq": { + "type": "string", + "format": "uint64", + "title": "Sequence number that increases by one each epoch" + }, + "action": { + "$ref": "#/definitions/vegaEpochAction", + "title": "Action tells us what action is taking place" + }, + "startTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch started" + }, + "expireTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch should end" + }, + "endTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch actually ended" + } + }, + "title": "Epoch details" + }, + "v1EthereumKeyRotateSubmission": { + "type": "object", + "properties": { + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newAddress": { + "type": "string", + "description": "New address to rotate to." + }, + "currentAddress": { + "type": "string", + "description": "Currently used public address." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature that can be verified using the new ethereum address." + } + }, + "title": "Transaction to allow a validator to rotate their ethereum keys" + }, + "v1EthereumKeyRotation": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the node that rotated their Ethereum key" + }, + "oldAddress": { + "type": "string", + "title": "Ethereum address that was previously associated with the node" + }, + "newAddress": { + "type": "string", + "title": "Ethereum address that is newly associated with the node" + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height when the key rotation took effect" + } + }, + "title": "Event that contains information about an Ethereum key rotation" + }, + "v1ExpiredOrders": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "orderIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of expired order IDs" + } + } + }, + "v1ExternalData": { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/v1Data" + } + } + }, + "v1Filter": { + "type": "object", + "properties": { + "key": { + "$ref": "#/definitions/v1PropertyKey", + "description": "Data source's data property key targeted by the filter." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that should be matched by the data to be\nconsidered of interest." + } + }, + "description": "Filter describes the conditions under which a data source data is considered of\ninterest or not." + }, + "v1FundingPeriod": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "ID of the market for which this funding period relates to." + }, + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the funding period." + }, + "start": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the funding period started." + }, + "end": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the funding period ended." + }, + "fundingPayment": { + "type": "string", + "description": "Funding payment for this period as the difference between the time-weighted average price of the external and internal data point." + }, + "fundingRate": { + "type": "string", + "description": "Percentage difference between the time-weighted average price of the external and internal data point." + }, + "internalTwap": { + "type": "string", + "description": "TWAP for this period based on the internal data-points." + }, + "externalTwap": { + "type": "string", + "description": "TWAP for this period based on the external data-points." + } + }, + "description": "Event notifying on the details of a funding interval for a perpetuals market." + }, + "v1FundingPeriodDataPoint": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID which the data point relates to." + }, + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the funding period this data point belongs to." + }, + "dataPointType": { + "$ref": "#/definitions/FundingPeriodDataPointSource", + "description": "Origin of the data point." + }, + "price": { + "type": "string", + "description": "Price of the asset as seen by this data point." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the data point was received." + }, + "twap": { + "type": "string", + "description": "The TWAP for this source with this data-point added." + } + }, + "description": "Event notifying a data point for a funding period." + }, + "v1GetSpamStatisticsResponse": { + "type": "object", + "properties": { + "chainId": { + "type": "string", + "description": "Chain ID for which the statistics are captured." + }, + "statistics": { + "$ref": "#/definitions/v1SpamStatistics", + "title": "Spam statistics for the party" + } + }, + "title": "Response containing all the spam statistics of a party for the current epoch" + }, + "v1GetVegaTimeResponse": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "title": "Timestamp representation of current VegaTime as represented in\nUnix nanoseconds, for example `1580473859111222333` corresponds to `2020-01-31T12:30:59.111222333Z`" + } + }, + "title": "Response for the current consensus coordinated time on the Vega network, referred to as \"VegaTime\"" + }, + "v1IcebergOpts": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is made visible and can be traded with during the execution of a single order." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "Minimum allowed remaining size of the order before it is replenished back to its peak size." + } + }, + "title": "Iceberg order options" + }, + "v1InternalTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "int64", + "description": "Trigger when the vega time is greater or equal to this time, in Unix seconds." + }, + "every": { + "type": "string", + "format": "int64", + "description": "Repeat the trigger every n seconds after the initial. If no time for\ninitial was specified, begin repeating immediately." + } + }, + "description": "Trigger for an internal time data source." + }, + "v1IssueSignatures": { + "type": "object", + "properties": { + "submitter": { + "type": "string", + "description": "Ethereum address which will submit the signatures to the smart contract." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "What kind of signatures to generate, namely for whether a signer is being added or removed." + }, + "validatorNodeId": { + "type": "string", + "description": "Node ID of the validator node that will be signed in or out of the smart contract." + } + }, + "title": "Transaction for a validator to submit signatures to a smart contract" + }, + "v1JoinTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to join." + } + }, + "description": "A party that joins a referral team is called a referee. A referee cannot\nbe a liquidity provider, nor can they create a team or join multiple teams.\nTo switch teams, the referee can ask to join another team, and the switch will\nbe effective at the end of the epoch.", + "title": "Request to join a team" + }, + "v1KeyRotateSubmission": { + "type": "object", + "properties": { + "newPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "New Vega public key derivation index." + }, + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newPubKey": { + "type": "string", + "description": "New public key to rotate to." + }, + "currentPubKeyHash": { + "type": "string", + "description": "Hash of currently used public key." + } + }, + "title": "Transaction to allow a validator to rotate their Vega keys" + }, + "v1KeyRotation": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the node that rotated their Vega key" + }, + "oldPubKey": { + "type": "string", + "title": "Vega public key that was previously associated with the node" + }, + "newPubKey": { + "type": "string", + "title": "Vega public key that is newly associated with the node" + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height when the key rotation took effect" + } + }, + "title": "Event that contains information about a Vega key rotation" + }, + "v1LastBlockHeightResponse": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64", + "title": "Last block height" + }, + "hash": { + "type": "string", + "title": "Last block hash" + }, + "spamPowHashFunction": { + "type": "string", + "title": "Supported proof of work hash function" + }, + "spamPowDifficulty": { + "type": "integer", + "format": "int64", + "title": "Difficulty of the proof of work, i.e. the target number of zeros" + }, + "spamPowNumberOfPastBlocks": { + "type": "integer", + "format": "int64", + "title": "Supported proof of work number of blocks behind current height allowed" + }, + "spamPowNumberOfTxPerBlock": { + "type": "integer", + "format": "int64", + "title": "Allowed number of transactions per block" + }, + "spamPowIncreasingDifficulty": { + "type": "boolean", + "title": "Boolean indicating whether increasing difficulty is allowed for using the\nsame height for more than `spam_pow_number_of_past_blocks` transactions" + }, + "chainId": { + "type": "string", + "title": "Network chain id from which the block comes from" + } + }, + "title": "Response with the height of the last block processed by\ntendermint" + }, + "v1LedgerMovements": { + "type": "object", + "properties": { + "ledgerMovements": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerMovement" + }, + "title": "One or more entries containing internal transfer information" + } + }, + "title": "Transfer responses event contains a collection of transfer information" + }, + "v1LiquidityProvisionAmendment": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be amended." + }, + "commitmentAmount": { + "type": "string", + "description": "From here at least one of the following is required to consider the command valid." + }, + "fee": { + "type": "string" + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "reference": { + "type": "string" + } + }, + "title": "Amend a liquidity provision request" + }, + "v1LiquidityProvisionCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be cancelled." + } + }, + "title": "Cancel a liquidity provision request" + }, + "v1LiquidityProvisionSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled using the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "reference": { + "type": "string", + "description": "Reference to be added to every order created out of this liquidity provision submission." + } + }, + "title": "A liquidity provision submitted for a given market" + }, + "v1LossSocialization": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID (public key) for the event" + }, + "amount": { + "type": "string", + "title": "Amount distributed" + } + }, + "title": "Loss socialization event contains details on the amount of wins unable to be distributed" + }, + "v1MarketEvent": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "payload": { + "type": "string", + "title": "Payload is a unique information string" + } + }, + "title": "MarketEvent - the common denominator for all market events\ninterface has a method to return a string for logging" + }, + "v1MarketTick": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Market ID for the event" + }, + "time": { + "type": "string", + "format": "int64", + "title": "Timestamp containing latest update from Vega blockchain aka Vega-time" + } + }, + "title": "Market tick event contains the time value for when a particular market was last processed on Vega" + }, + "v1NodeSignature": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the resource being signed." + }, + "sig": { + "type": "string", + "format": "byte", + "description": "The signature generated by the signer." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "Kind of resource being signed." + } + }, + "title": "Represents a signature from a validator, to be used by a foreign chain in order to recognise a decision taken by the Vega network" + }, + "v1NodeSignatureKind": { + "type": "string", + "enum": [ + "NODE_SIGNATURE_KIND_UNSPECIFIED", + "NODE_SIGNATURE_KIND_ASSET_NEW", + "NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED", + "NODE_SIGNATURE_KIND_ASSET_UPDATE" + ], + "default": "NODE_SIGNATURE_KIND_UNSPECIFIED", + "description": "- NODE_SIGNATURE_KIND_UNSPECIFIED: Represents an unspecified or missing value from the input\n - NODE_SIGNATURE_KIND_ASSET_NEW: Represents a signature for a new asset allow-listing\n - NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL: Represents a signature for an asset withdrawal\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED: Represents a signature for a new signer added to the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED: Represents a signature for a signer removed from the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ASSET_UPDATE: Represents a signature for an asset update allow-listing", + "title": "Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc" + }, + "v1ObserveEventBusResponse": { + "type": "object", + "properties": { + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/v1BusEvent" + }, + "description": "One or more events that match the subscription request criteria." + } + }, + "title": "Response to a subscribed stream of events from the Vega event bus" + }, + "v1OneOffGovernanceTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64" + } + } + }, + "v1OracleDataSubmission": { + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/OracleDataSubmissionOracleSource", + "description": "Source from which the data is coming from. Must be base64 encoded.\nOracle data is a type of external data source data." + }, + "payload": { + "type": "string", + "format": "byte", + "description": "Data provided by the data source\nIn the case of Open Oracle - it will be the entire object - it will contain messages, signatures and price data." + } + }, + "title": "Command to submit new Oracle data from third party providers" + }, + "v1OrderAmendment": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Order ID, this is required to find the order and will not be updated, required field." + }, + "marketId": { + "type": "string", + "description": "Market ID, this is required to find the order and will not be updated." + }, + "price": { + "type": "string", + "description": "Amend the price for the order if the price value is set, otherwise price will remain unchanged.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "sizeDelta": { + "type": "string", + "format": "int64", + "description": "Amend the size for the order by the delta specified:\n- To reduce the size from the current value set a negative integer value\n- To increase the size from the current value, set a positive integer value\n- To leave the size unchanged set a value of zero\nThis field needs to be scaled using the market's position decimal places." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Amend the expiry time for the order, if the Timestamp value is set, otherwise expiry time will remain unchanged." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Amend the time in force for the order, set to TIME_IN_FORCE_UNSPECIFIED to remain unchanged." + }, + "peggedOffset": { + "type": "string", + "description": "Amend the pegged order offset for the order. This field is an unsigned integer scaled to the market's decimal places." + }, + "peggedReference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Amend the pegged order reference for the order." + } + }, + "title": "An order amendment is a request to amend or update an existing order on Vega" + }, + "v1OrderCancellation": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID for the order. This is set by the system after consensus. Required field." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + } + }, + "title": "Order cancellation is a request to cancel an existing order on Vega" + }, + "v1OrderSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places,\nrequired field for limit orders, however it is not required for market orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of units, cannot be negative." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL, required field." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Time in force indicates how long an order will remain active before it is executed or expires, required field." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire,\nrequired field only for `Order.TimeInForce`.TIME_IN_FORCE_GTT`." + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order, required field - See `Order.Type`." + }, + "reference": { + "type": "string", + "description": "Reference given for the order, this is typically used to retrieve an order submitted through consensus, currently\nset internally by the node to return a unique reference ID for the order submission." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Used to specify the details for a pegged order." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOpts": { + "$ref": "#/definitions/v1IcebergOpts", + "description": "Parameters used to specify an iceberg order." + } + }, + "title": "Order submission is a request to submit or create a new order on Vega" + }, + "v1PoWBlockState": { + "type": "object", + "properties": { + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height for the current Proof of Work state statistics" + }, + "blockHash": { + "type": "string", + "title": "Hash of the current block" + }, + "transactionsSeen": { + "type": "string", + "format": "uint64", + "title": "Total number of transactions seen in the block" + }, + "expectedDifficulty": { + "type": "string", + "format": "uint64", + "description": "This is the minimum required difficulty for the next transaction submitted on this block\nif it is possible to submit more transactions on this block, otherwise nil." + }, + "hashFunction": { + "type": "string", + "title": "Hashing function used to calculate the block hash" + }, + "difficulty": { + "type": "string", + "format": "uint64", + "title": "Base difficulty for this block for when transactions seen \u003c tx_per_block" + }, + "txPerBlock": { + "type": "string", + "format": "uint64", + "title": "Number of transactions that can have their proof-of-work calculated with this block hash before\neither the difficulty increases, or no more transactions can use this block hash" + }, + "increasingDifficulty": { + "type": "boolean", + "title": "Whether or not this block allows for increasing proof-of-work difficulty if the\ntx-per-block-hash limit has been reached" + } + }, + "title": "Proof of Work state for a given block" + }, + "v1PoWStatistic": { + "type": "object", + "properties": { + "blockStates": { + "type": "array", + "items": { + "$ref": "#/definitions/v1PoWBlockState" + }, + "title": "Block state for each block in scope for PoW calculation" + }, + "bannedUntil": { + "type": "string", + "title": "PoW banned until timestamp as RFC3339Nano" + }, + "numberOfPastBlocks": { + "type": "string", + "format": "uint64", + "title": "Number of block behind the current block whose hash can be used for proof-of-work calculations" + } + }, + "title": "Proof of work statistics for a party" + }, + "v1PositionResolution": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "distressed": { + "type": "string", + "format": "int64", + "title": "Number of distressed traders" + }, + "closed": { + "type": "string", + "format": "int64", + "title": "Number of close outs" + }, + "markPrice": { + "type": "string", + "title": "Mark price as a string representing a scaled price" + } + }, + "title": "Position resolution event contains information on distressed trades" + }, + "v1PositionStateEvent": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Party ID for this position update" + }, + "marketId": { + "type": "string", + "title": "Market ID for this position update" + }, + "size": { + "type": "string", + "format": "int64", + "title": "Current position" + }, + "potentialBuys": { + "type": "string", + "format": "int64", + "title": "Potential orders" + }, + "potentialSells": { + "type": "string", + "format": "int64" + }, + "vwBuyPrice": { + "type": "string", + "title": "Volume weighted prices" + }, + "vwSellPrice": { + "type": "string" + } + }, + "title": "Position state event contains the current position state for a single party in a single market" + }, + "v1ProofOfWork": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "description": "Unique transaction identifier used to seed the proof-of-work hash." + }, + "nonce": { + "type": "string", + "format": "uint64", + "description": "Number which, combined with the transaction identifier, will produce a hash with the required number of leading zeros to be accepted by the network." + } + }, + "title": "Components needed for the network to verify proof-of-work" + }, + "v1PropagateChainEventResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the event was accepted by the node,\n**Important** - success does not mean that the event is confirmed by consensus" + } + }, + "title": "Response for a new event sent by the blockchain queue to be propagated on Vega" + }, + "v1Property": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "value": { + "type": "string", + "description": "Value of the property." + } + }, + "description": "Property describes one property of data spec with a key with its value." + }, + "v1PropertyKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "type": { + "$ref": "#/definitions/v1PropertyKeyType", + "description": "Data type of the property." + }, + "numberDecimalPlaces": { + "type": "string", + "format": "uint64", + "title": "Optional decimal place to be be applied on the provided value\nvalid only for PropertyType of type DECIMAL and INTEGER" + } + }, + "description": "PropertyKey describes the property key contained in data source data." + }, + "v1PropertyKeyType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_EMPTY", + "TYPE_INTEGER", + "TYPE_STRING", + "TYPE_BOOLEAN", + "TYPE_DECIMAL", + "TYPE_TIMESTAMP" + ], + "default": "TYPE_UNSPECIFIED", + "description": "Type describes the data type of properties that are supported by the data source\nengine.\n\n - TYPE_UNSPECIFIED: The default value.\n - TYPE_EMPTY: Any type.\n - TYPE_INTEGER: Integer type.\n - TYPE_STRING: String type.\n - TYPE_BOOLEAN: Boolean type.\n - TYPE_DECIMAL: Any floating point decimal type.\n - TYPE_TIMESTAMP: Timestamp date type." + }, + "v1ProposalSubmission": { + "type": "object", + "properties": { + "reference": { + "type": "string", + "description": "Reference identifying the proposal." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + } + }, + "title": "Command to submit a new proposal for the\nVega network governance" + }, + "v1ProtocolUpgradeDataNodeReady": { + "type": "object", + "properties": { + "lastBlockHeight": { + "type": "string", + "format": "uint64" + } + }, + "title": "Event indicating the data node is ready for protocol upgrade" + }, + "v1ProtocolUpgradeEvent": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height at which to perform the upgrade" + }, + "vegaReleaseTag": { + "type": "string", + "title": "Release tag for the vega binary" + }, + "approvers": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tendermint validators that have agreed to the upgrade" + }, + "status": { + "$ref": "#/definitions/v1ProtocolUpgradeProposalStatus", + "title": "Status of the proposal" + } + } + }, + "v1ProtocolUpgradeProposal": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "description": "Block height at which to perform the upgrade." + }, + "vegaReleaseTag": { + "type": "string", + "description": "Release tag for the Vega binary." + } + }, + "title": "Transaction for a validator to suggest a protocol upgrade" + }, + "v1ProtocolUpgradeProposalStatus": { + "type": "string", + "enum": [ + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED" + ], + "default": "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "title": "- PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING: The proposal is pending\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED: The proposal is approved\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED: The proposal is rejected" + }, + "v1ProtocolUpgradeStarted": { + "type": "object", + "properties": { + "lastBlockHeight": { + "type": "string", + "format": "uint64" + } + }, + "title": "Event indicating the core is starting a protocol upgrade" + }, + "v1PubKey": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + }, + "description": "PubKey is the public key that signed this data.\nDifferent public keys coming from different sources will be further separated." + }, + "v1RecurringGovernanceTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64" + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy" + } + } + }, + "v1RewardPayoutEvent": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "epochSeq": { + "type": "string" + }, + "asset": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "percentOfTotalReward": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "rewardType": { + "type": "string" + }, + "market": { + "type": "string" + } + } + }, + "v1SettleDistressed": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID i.e. a party's public key for the event" + }, + "margin": { + "type": "string", + "title": "Margin value as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places" + }, + "price": { + "type": "string", + "title": "Price as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places" + } + }, + "title": "Settle distressed event contains information on distressed trading parties who are closed out" + }, + "v1SettleMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "price": { + "type": "string", + "title": "Price of settlement as a string" + }, + "positionFactor": { + "type": "string", + "title": "Position factor - 10 ^ number of position decimal places" + } + }, + "title": "Settle market event to notify data node that a market has been settled\nso positions and PL can be updated accordingly" + }, + "v1SettlePosition": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID (public key) for the event" + }, + "price": { + "type": "string", + "title": "Price of settlement as a string" + }, + "tradeSettlements": { + "type": "array", + "items": { + "$ref": "#/definitions/v1TradeSettlement" + }, + "title": "A collection of 1 or more trade settlements" + }, + "positionFactor": { + "type": "string", + "title": "Position factor - 10 ^ number of position decimal places" + } + }, + "title": "Settle position event contains position settlement information for a party" + }, + "v1Signature": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Hex encoded bytes of the signature." + }, + "algo": { + "type": "string", + "description": "Algorithm used to create the signature." + }, + "version": { + "type": "integer", + "format": "int64", + "description": "Version of the signature used to create the signature." + } + }, + "description": "Signature to authenticate a transaction and to be verified by the Vega\nnetwork." + }, + "v1Signer": { + "type": "object", + "properties": { + "pubKey": { + "$ref": "#/definitions/v1PubKey", + "description": "List of authorized public keys that signed the data for this\nsource. All the public keys in the data should be contained in these\npublic keys." + }, + "ethAddress": { + "$ref": "#/definitions/v1ETHAddress", + "description": "In case of an open oracle - Ethereum address will be submitted." + } + } + }, + "v1SpamStatistic": { + "type": "object", + "properties": { + "countForEpoch": { + "type": "string", + "format": "uint64", + "title": "Current transaction count received from the party during this epoch for this policy" + }, + "maxForEpoch": { + "type": "string", + "format": "uint64", + "title": "Maximum number of transactions allowed for this policy in an epoch" + }, + "bannedUntil": { + "type": "string", + "title": "If blocked the timestamp when the party will be unblocked as RFC3339Nano" + }, + "minTokensRequired": { + "type": "string", + "title": "Effective minimum number of tokens required to submit a transaction of this type" + } + }, + "title": "Statistics for a given spam policy" + }, + "v1SpamStatistics": { + "type": "object", + "properties": { + "proposals": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for proposal transactions made by the party" + }, + "delegations": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for delegation transactions made by the party" + }, + "transfers": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for transfer transactions made by the party" + }, + "nodeAnnouncements": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for node announcement transactions made by the party" + }, + "votes": { + "$ref": "#/definitions/v1VoteSpamStatistics", + "title": "Statistics for proposal votes made by the party" + }, + "pow": { + "$ref": "#/definitions/v1PoWStatistic", + "title": "Statistics for proof of work difficulty observed per block for the party" + }, + "issueSignatures": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for multisig signatures issued for the party" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Epoch in which these statistics apply to" + } + }, + "title": "Complete spam statistics captured for a given party" + }, + "v1StakeLinking": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Internal ID for this staking event" + }, + "type": { + "$ref": "#/definitions/v1StakeLinkingType", + "description": "Stake linking event type." + }, + "ts": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the event was emitted by Ethereum." + }, + "party": { + "type": "string", + "description": "Party to whom the event is directed at." + }, + "amount": { + "type": "string", + "description": "Amount of stake deposited or removed." + }, + "status": { + "$ref": "#/definitions/v1StakeLinkingStatus", + "description": "Status of the event." + }, + "finalizedAt": { + "type": "string", + "format": "int64", + "description": "Time at which the Vega network finalised the state of the event." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction in which the event happened." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Block when the event happened." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Block time." + }, + "logIndex": { + "type": "string", + "format": "uint64", + "description": "Log index." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum address from which the stake link was initiated." + } + }, + "title": "StakeLinking - an event notifying of stake being deposited or removed for a given party\nThese events are emitted for every Staking deposit or removed accepted by the network" + }, + "v1StakeLinkingStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_ACCEPTED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates an event waiting for confirmation from the Vega network\n - STATUS_ACCEPTED: Indicates an event accepted by the Vega network\n - STATUS_REJECTED: Indicates an event rejected by the Vega network" + }, + "v1StakeLinkingType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LINK", + "TYPE_UNLINK" + ], + "default": "TYPE_UNSPECIFIED", + "title": "- TYPE_UNSPECIFIED: Default value\n - TYPE_LINK: Indicate of a stake deposit instruction\n - TYPE_UNLINK: Indicate of a stake remove instruction" + }, + "v1StateVar": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "eventId": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "title": "StateVar event updates on state changes in state variable consensus" + }, + "v1Statistics": { + "type": "object", + "properties": { + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Current block height as reported by the Vega blockchain" + }, + "backlogLength": { + "type": "string", + "format": "uint64", + "title": "Current backlog length i.e., number of transactions, that are waiting to be included in a block" + }, + "totalPeers": { + "type": "string", + "format": "uint64", + "title": "Total number of connected peers to this node" + }, + "genesisTime": { + "type": "string", + "title": "Genesis block date and time formatted in ISO-8601 datetime format with nanosecond precision" + }, + "currentTime": { + "type": "string", + "title": "Current system date and time formatted in ISO-8601 datetime format with nanosecond precision" + }, + "vegaTime": { + "type": "string", + "title": "Current Vega date and time formatted in ISO-8601 datetime format with nanosecond precision" + }, + "status": { + "$ref": "#/definitions/vegaChainStatus", + "title": "Status of the connection to the Vega blockchain" + }, + "txPerBlock": { + "type": "string", + "format": "uint64", + "title": "Transactions per block" + }, + "averageTxBytes": { + "type": "string", + "format": "uint64", + "title": "Average transaction size in bytes" + }, + "averageOrdersPerBlock": { + "type": "string", + "format": "uint64", + "title": "Average orders per block" + }, + "tradesPerSecond": { + "type": "string", + "format": "uint64", + "title": "Trades emitted per second" + }, + "ordersPerSecond": { + "type": "string", + "format": "uint64", + "title": "Orders processed per second" + }, + "totalMarkets": { + "type": "string", + "format": "uint64", + "title": "Total markets on this Vega network" + }, + "totalAmendOrder": { + "type": "string", + "format": "uint64", + "title": "Total number of order amendments since genesis across all markets" + }, + "totalCancelOrder": { + "type": "string", + "format": "uint64", + "title": "Total number of order cancellations since genesis across all markets" + }, + "totalCreateOrder": { + "type": "string", + "format": "uint64", + "title": "Total number of order submissions since genesis across all markets" + }, + "totalOrders": { + "type": "string", + "format": "uint64", + "title": "Total number of orders processed since genesis across all markets" + }, + "totalTrades": { + "type": "string", + "format": "uint64", + "title": "Total number of trades emitted since genesis across all markets" + }, + "orderSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to order data" + }, + "tradeSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to trade data" + }, + "candleSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to candlestick data" + }, + "marketDepthSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to market depth data" + }, + "positionsSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to positions data" + }, + "accountSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to account data" + }, + "marketDataSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to market data" + }, + "appVersionHash": { + "type": "string", + "title": "Version hash of the Vega node software" + }, + "appVersion": { + "type": "string", + "title": "Version of the Vega node software" + }, + "chainVersion": { + "type": "string", + "title": "Version of the underlying Vega blockchain" + }, + "blockDuration": { + "type": "string", + "format": "uint64", + "title": "Current block duration, in nanoseconds" + }, + "uptime": { + "type": "string", + "title": "Total uptime for this node formatted in ISO-8601 datetime format with nanosecond precision" + }, + "chainId": { + "type": "string", + "title": "Unique ID for the underlying Vega blockchain" + }, + "marketDepthUpdatesSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to market depth update data" + }, + "blockHash": { + "type": "string", + "title": "Current block hash" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Current epoch" + }, + "epochStartTime": { + "type": "string", + "title": "Epoch start time" + }, + "epochExpiryTime": { + "type": "string", + "title": "Epoch expected end time" + }, + "eventCount": { + "type": "string", + "format": "uint64", + "title": "Number of events in the last block" + }, + "eventsPerSecond": { + "type": "string", + "format": "uint64", + "title": "Rate of events per second in the last block" + } + }, + "title": "Vega domain specific statistics as reported by the node the caller is connected to" + }, + "v1StatisticsResponse": { + "type": "object", + "properties": { + "statistics": { + "$ref": "#/definitions/v1Statistics" + } + }, + "title": "Response containing statistics about the Vega network" + }, + "v1StopOrderEvent": { + "type": "object", + "properties": { + "submission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "stopOrder": { + "$ref": "#/definitions/vegaStopOrder" + } + } + }, + "v1StopOrderSetup": { + "type": "object", + "properties": { + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission", + "description": "Order to be submitted once the trigger is breached." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "description": "Trailing percentage at which the order will be submitted." + } + }, + "title": "Price and expiry configuration for a stop order" + }, + "v1StopOrdersCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Optional market ID." + }, + "stopOrderId": { + "type": "string", + "description": "Optional order ID." + } + }, + "title": "Cancel a stop order.\nThe following combinations are available:\nEmpty object will cancel all stop orders for the party\nMarket ID alone will cancel all stop orders in a market\nMarket ID and order ID will cancel a specific stop order in a market\nIf the stop order is part of an OCO, both stop orders will be cancelled" + }, + "v1StopOrdersSubmission": { + "type": "object", + "properties": { + "risesAbove": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price rises above a given trigger price." + }, + "fallsBelow": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price falls below a given trigger price." + } + }, + "title": "Stop order submission submits stops orders.\nIt is possible to make a single stop order submission by\nspecifying a single direction,\nor an OCO (One Cancels the Other) stop order submission\nby specifying a configuration for both directions" + }, + "v1SubmitRawTransactionRequestType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ASYNC", + "TYPE_SYNC", + "TYPE_COMMIT" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_ASYNC: Transaction will be submitted without waiting for response\n - TYPE_SYNC: Transaction will be submitted, and blocking until the\ntendermint mempool returns a response\n - TYPE_COMMIT: Transaction will be submitted, and blocking until the tendermint\nnetwork has committed it into a block. Used only for debugging,\nnot for submitting transactions", + "title": "Blockchain transaction type" + }, + "v1SubmitRawTransactionResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the transaction was accepted by the node,\n**Important** - success does not mean that the event is confirmed by consensus" + }, + "txHash": { + "type": "string", + "title": "Hash of the transaction, if accepted" + }, + "code": { + "type": "integer", + "format": "int64" + }, + "data": { + "type": "string" + }, + "log": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + } + }, + "title": "Response for submitting a version agnostic transaction on Vega" + }, + "v1SubmitTransactionRequestType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ASYNC", + "TYPE_SYNC", + "TYPE_COMMIT" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_ASYNC: Transaction will be submitted without waiting for response\n - TYPE_SYNC: Transaction will be submitted, and blocking until the\ntendermint mempool returns a response\n - TYPE_COMMIT: Transaction will be submitted, and blocking until the tendermint\nnetwork has committed it into a block. Used only for debugging,\nnot for submitting transactions", + "title": "Blockchain transaction type" + }, + "v1SubmitTransactionResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the transaction was accepted by the node,\n**Important** - success does not mean that the event is confirmed by consensus" + }, + "txHash": { + "type": "string", + "title": "Hash of the transaction, if accepted" + }, + "code": { + "type": "integer", + "format": "int64", + "title": "Result code for success if unsuccessful" + }, + "data": { + "type": "string", + "title": "Data for details" + }, + "log": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64", + "title": "Height for commit" + } + }, + "title": "Response for submitting a transaction v2 on Vega" + }, + "v1TimeUpdate": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "title": "Timestamp containing latest update from Vega blockchain aka Vega-time" + } + }, + "title": "Time update event contains the latest time update from Vega blockchain and indicates the start of a new block" + }, + "v1TradeSettlement": { + "type": "object", + "properties": { + "size": { + "type": "string", + "format": "int64", + "title": "Size of trade settlement" + }, + "price": { + "type": "string", + "title": "Price of settlement as string (in asset decimals)" + }, + "marketPrice": { + "type": "string", + "title": "Price of settlement as a string (in market decimals)" + } + }, + "title": "Trade settlement is part of the settle position event" + }, + "v1Transaction": { + "type": "object", + "properties": { + "inputData": { + "type": "string", + "format": "byte", + "description": "One of the set of Vega commands.\nThese bytes are should be built as follows:\n chain_id_as_bytes + \\0 character as delimiter + proto_marshalled_command." + }, + "signature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature of the input data." + }, + "address": { + "type": "string", + "description": "Hex-encoded address of the sender. Not supported yet." + }, + "pubKey": { + "type": "string", + "description": "Hex-encoded public key of the sender." + }, + "version": { + "$ref": "#/definitions/v1TxVersion", + "description": "Version of the transaction, to be used in the future in case changes are implemented\nto the transaction format." + }, + "pow": { + "$ref": "#/definitions/v1ProofOfWork", + "description": "Proof of work contains the random transaction id used by the client and the nonce." + } + }, + "description": "Represents a transaction to be sent to Vega." + }, + "v1TransactionResult": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Unique party ID for the related party" + }, + "status": { + "type": "boolean", + "description": "Status of the transaction, did it succeed or an error was raised." + }, + "hash": { + "type": "string", + "title": "Hash of the transaction" + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "proposal": { + "$ref": "#/definitions/v1ProposalSubmission" + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission" + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission" + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission" + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission" + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission" + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation" + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment" + }, + "transfer": { + "$ref": "#/definitions/vegacommandsv1Transfer" + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer" + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode" + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission" + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal" + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures" + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions" + }, + "keyRotateSubmission": { + "$ref": "#/definitions/v1KeyRotateSubmission" + }, + "ethereumKeyRotateSubmission": { + "$ref": "#/definitions/v1EthereumKeyRotateSubmission" + }, + "stopOrderSubmission": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "stopOrderCancellation": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "createTeam": { + "$ref": "#/definitions/v1CreateTeam" + }, + "updateTeam": { + "$ref": "#/definitions/v1UpdateTeam" + }, + "joinTeam": { + "$ref": "#/definitions/v1JoinTeam" + }, + "success": { + "$ref": "#/definitions/TransactionResultSuccessDetails" + }, + "failure": { + "$ref": "#/definitions/TransactionResultFailureDetails" + } + } + }, + "v1TransferStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_DONE", + "STATUS_REJECTED", + "STATUS_STOPPED", + "STATUS_CANCELLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates a transfer still being processed\n - STATUS_DONE: Indicates a transfer accepted by the Vega network\n - STATUS_REJECTED: Indicates a transfer rejected by the Vega network\n - STATUS_STOPPED: Indicates a transfer stopped by the Vega network\ne.g: no funds left to cover the transfer\n - STATUS_CANCELLED: Indicates a transfer cancelled by the user" + }, + "v1TxErrorEvent": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Unique party ID for the related party" + }, + "errMsg": { + "type": "string", + "title": "Error message describing what went wrong" + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "proposal": { + "$ref": "#/definitions/v1ProposalSubmission" + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission" + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission" + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission" + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission" + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission" + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation" + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment" + }, + "transfer": { + "$ref": "#/definitions/vegacommandsv1Transfer" + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer" + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode" + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission" + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal" + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures" + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions" + } + } + }, + "v1TxVersion": { + "type": "string", + "enum": [ + "TX_VERSION_UNSPECIFIED", + "TX_VERSION_V2", + "TX_VERSION_V3" + ], + "default": "TX_VERSION_UNSPECIFIED", + "description": "Current supported version of the transaction inside the network.\n\n - TX_VERSION_UNSPECIFIED: Represents an unspecified or missing value from the input\n - TX_VERSION_V2: This version requires the proof-of-work added to the transaction.\n - TX_VERSION_V3: This version requires the chain ID to be appended in front of the input data\nbyte, with a `\\0` delimiter." + }, + "v1UndelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Optional, if not specified = ALL.\nIf provided, this field must be an unsigned integer passed as a string\nand needs to be scaled using the asset decimal places for the token." + }, + "method": { + "$ref": "#/definitions/UndelegateSubmissionMethod", + "description": "Method of delegation." + } + } + }, + "v1UpdateTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to update." + }, + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "title": "Request for updating a team's properties" + }, + "v1ValidatorRankingEvent": { + "type": "object", + "properties": { + "nodeId": { + "type": "string" + }, + "stakeScore": { + "type": "string", + "title": "Stake based score - no anti-whaling" + }, + "performanceScore": { + "type": "string", + "title": "Performance base score" + }, + "rankingScore": { + "type": "string", + "title": "Final score" + }, + "previousStatus": { + "type": "string", + "title": "Status of the validator in the previous epoch" + }, + "nextStatus": { + "type": "string", + "title": "Status of the validator in the next epoch" + }, + "epochSeq": { + "type": "string", + "title": "Epoch seq for which the status is valid" + }, + "tmVotingPower": { + "type": "integer", + "format": "int64", + "title": "Tendermint voting power of the validator" + } + }, + "title": "Event that explains the status of the validator for the coming epoch" + }, + "v1ValidatorScoreEvent": { + "type": "object", + "properties": { + "nodeId": { + "type": "string" + }, + "epochSeq": { + "type": "string" + }, + "validatorScore": { + "type": "string" + }, + "normalisedScore": { + "type": "string" + }, + "validatorPerformance": { + "type": "string" + }, + "rawValidatorScore": { + "type": "string" + }, + "validatorStatus": { + "type": "string" + }, + "multisigScore": { + "type": "string" + } + }, + "title": "ValidatorScoreEvent is the score a validator gets for a given epoch" + }, + "v1ValidatorUpdate": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the validator node" + }, + "vegaPubKey": { + "type": "string", + "title": "Vega public key of validator node" + }, + "ethereumAddress": { + "type": "string", + "title": "Ethereum public key of validator node" + }, + "tmPubKey": { + "type": "string", + "title": "Public key of Tendermint" + }, + "infoUrl": { + "type": "string", + "title": "URL with more info on the node" + }, + "country": { + "type": "string", + "title": "Country code (ISO 3166-1 alpha-2) for the location of the node" + }, + "name": { + "type": "string", + "title": "Name of the validator" + }, + "avatarUrl": { + "type": "string", + "title": "AvatarURL of the validator" + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "title": "Vega public key derivation index" + }, + "added": { + "type": "boolean", + "title": "Flag indicating if the validator has been added to or removed from vega" + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the announced pending node will start participating in the network" + }, + "submitterAddress": { + "type": "string", + "title": "Ethereum public key being used as the submitter to allow automatic signature generation" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the node was announced or removed from the network" + } + }, + "title": "Validator update event contains information about validator node" + }, + "v1VoteSpamStatistic": { + "type": "object", + "properties": { + "proposal": { + "type": "string", + "description": "Unique ID of the proposal being voted on by the party." + }, + "countForEpoch": { + "type": "string", + "format": "uint64", + "title": "Current vote count received from the party for the given proposal during this epoch" + }, + "minTokensRequired": { + "type": "string", + "title": "Effective minimum number of tokens required to vote on the proposal" + } + }, + "description": "Vote statistics for the voting spam policies\nwhich are calculated as a ratio of the total votes\nthat have been rejected." + }, + "v1VoteSpamStatistics": { + "type": "object", + "properties": { + "statistics": { + "type": "array", + "items": { + "$ref": "#/definitions/v1VoteSpamStatistic" + }, + "title": "List of statistics for proposals voted on by the party" + }, + "maxForEpoch": { + "type": "string", + "format": "uint64", + "title": "Maximum number of votes per proposal allowed in an epoch" + }, + "bannedUntil": { + "type": "string", + "title": "If blocked the timestamp when the party will be unblocked as RFC3339Nano" + } + }, + "title": "Voting statistics by proposal for a given party for the current epoch" + }, + "v1VoteSubmission": { + "type": "object", + "properties": { + "proposalId": { + "type": "string", + "description": "Submit vote for the specified proposal ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Actual value of the vote." + } + }, + "description": "Command to submit a new vote for a governance proposal." + }, + "v1WithdrawSubmission": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to be withdrawn." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Represents the submission request to withdraw funds for a party on Vega" + }, + "vegaAccount": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique account ID, used internally by Vega." + }, + "owner": { + "type": "string", + "description": "Party that the account belongs to, special values include `network`, which represents the Vega network and is\nmost commonly seen during liquidation of distressed trading positions." + }, + "balance": { + "type": "string", + "description": "Balance of the asset, the balance is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places\nand importantly balances cannot be negative." + }, + "asset": { + "type": "string", + "description": "Asset ID for the account." + }, + "marketId": { + "type": "string", + "description": "Market ID for the account, if `AccountType.ACCOUNT_TYPE_GENERAL` this will be empty." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type related to this account." + } + }, + "title": "Represents an account for an asset on Vega for a particular owner or party" + }, + "vegaAccountDetails": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID of the asset for this account." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the account." + }, + "owner": { + "type": "string", + "description": "Not specified if network account." + }, + "marketId": { + "type": "string", + "description": "Not specified if account is not related to a market." + } + } + }, + "vegaAccountType": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ], + "default": "ACCOUNT_TYPE_UNSPECIFIED", + "description": "- ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "title": "Various collateral/account types as used by Vega" + }, + "vegaAsset": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Internal identifier of the asset." + }, + "details": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Definition of the external source for this asset." + }, + "status": { + "$ref": "#/definitions/vegaAssetStatus", + "description": "Status of the asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetails": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the asset (e.g: Great British Pound)." + }, + "symbol": { + "type": "string", + "description": "Symbol of the asset (e.g: GBP)." + }, + "decimals": { + "type": "string", + "format": "uint64", + "description": "Number of decimal / precision handled by this asset." + }, + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "builtinAsset": { + "$ref": "#/definitions/vegaBuiltinAsset", + "description": "Vega built-in asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20", + "description": "Ethereum ERC20 asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetailsUpdate": { + "type": "object", + "properties": { + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Update", + "description": "Ethereum ERC20 asset update." + } + }, + "description": "Changes to apply on an existing asset." + }, + "vegaAssetStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PROPOSED", + "STATUS_REJECTED", + "STATUS_PENDING_LISTING", + "STATUS_ENABLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_PROPOSED: Asset is proposed and under vote\n - STATUS_REJECTED: Asset has been rejected from governance\n - STATUS_PENDING_LISTING: Asset is pending listing from the bridge\n - STATUS_ENABLED: Asset is fully usable in the network" + }, + "vegaAuctionDuration": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "format": "int64", + "description": "Duration of the auction in seconds." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Target uncrossing trading volume." + } + }, + "title": "Auction duration is used to configure 3 auction periods:\n1. `duration \u003e 0`, `volume == 0`:\n The auction will last for at least N seconds\n2. `duration == 0`, `volume \u003e 0`:\n The auction will end once the given volume will match at uncrossing\n3. `duration \u003e 0`, `volume \u003e 0`:\n The auction will take at least N seconds, but can end sooner if the market can trade a certain volume" + }, + "vegaAuctionTrigger": { + "type": "string", + "enum": [ + "AUCTION_TRIGGER_UNSPECIFIED", + "AUCTION_TRIGGER_BATCH", + "AUCTION_TRIGGER_OPENING", + "AUCTION_TRIGGER_PRICE", + "AUCTION_TRIGGER_LIQUIDITY", + "AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET", + "AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS", + "AUCTION_TRIGGER_GOVERNANCE_SUSPENSION" + ], + "default": "AUCTION_TRIGGER_UNSPECIFIED", + "description": "- AUCTION_TRIGGER_UNSPECIFIED: Default value for AuctionTrigger, no auction triggered\n - AUCTION_TRIGGER_BATCH: Batch auction\n - AUCTION_TRIGGER_OPENING: Opening auction\n - AUCTION_TRIGGER_PRICE: Price monitoring trigger\n - AUCTION_TRIGGER_LIQUIDITY: Deprecated\n - AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET: Liquidity auction due to not enough committed liquidity\n - AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS: Liquidity auction due to not being able to deploy LP orders because there's nothing to peg on one or both sides of the book\n - AUCTION_TRIGGER_GOVERNANCE_SUSPENSION: Market is suspended and put into auction via governance", + "title": "Auction triggers indicate what condition triggered an auction (if market is in auction mode)" + }, + "vegaBuiltinAsset": { + "type": "object", + "properties": { + "maxFaucetAmountMint": { + "type": "string", + "description": "Maximum amount that can be requested by a party through the built-in asset faucet at a time." + } + }, + "title": "Vega internal asset" + }, + "vegaCancelTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaCancelTransferConfiguration", + "title": "Configuration for cancellation of a governance-initiated transfer" + } + } + }, + "vegaCancelTransferConfiguration": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "ID of the governance transfer proposal." + } + } + }, + "vegaChainStatus": { + "type": "string", + "enum": [ + "CHAIN_STATUS_UNSPECIFIED", + "CHAIN_STATUS_DISCONNECTED", + "CHAIN_STATUS_REPLAYING", + "CHAIN_STATUS_CONNECTED" + ], + "default": "CHAIN_STATUS_UNSPECIFIED", + "description": "- CHAIN_STATUS_UNSPECIFIED: Default value, always invalid\n - CHAIN_STATUS_DISCONNECTED: Blockchain is disconnected\n - CHAIN_STATUS_REPLAYING: Blockchain is replaying historic transactions\n - CHAIN_STATUS_CONNECTED: Blockchain is connected and receiving transactions", + "title": "Vega blockchain status as reported by the node the caller is connected to" + }, + "vegaDataSourceDefinition": { + "type": "object", + "properties": { + "internal": { + "$ref": "#/definitions/vegaDataSourceDefinitionInternal" + }, + "external": { + "$ref": "#/definitions/vegaDataSourceDefinitionExternal" + } + }, + "description": "Represents the top level object that handles data sources.\nData source definition can be external or internal, with whatever\nnumber of data sources are defined for each type in the child objects below." + }, + "vegaDataSourceDefinitionExternal": { + "type": "object", + "properties": { + "oracle": { + "$ref": "#/definitions/vegaDataSourceSpecConfiguration" + }, + "ethOracle": { + "$ref": "#/definitions/vegaEthCallSpec", + "description": "Contains the data specification that is received from Ethereum sources." + } + }, + "description": "DataSourceDefinitionExternal is the top level object used for all external\ndata sources. It contains one of any of the defined `SourceType` variants." + }, + "vegaDataSourceDefinitionInternal": { + "type": "object", + "properties": { + "time": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTime" + }, + "timeTrigger": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTimeTrigger" + } + }, + "description": "Top level object used for all internal data sources.\nIt contains one of any of the defined source type variants." + }, + "vegaDataSourceSpec": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Hash generated from the DataSpec data." + }, + "createdAt": { + "type": "string", + "format": "int64", + "title": "Creation date and time" + }, + "updatedAt": { + "type": "string", + "format": "int64", + "title": "Last Updated timestamp" + }, + "data": { + "$ref": "#/definitions/vegaDataSourceDefinition" + }, + "status": { + "$ref": "#/definitions/vegaDataSourceSpecStatus", + "title": "Status describes the status of the data source spec" + } + }, + "description": "Data source spec describes the data source base that a product or a risk\nmodel wants to get from the data source engine. This message contains\nadditional information used by the API." + }, + "vegaDataSourceSpecConfiguration": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + }, + "description": "Signers is the list of authorized signatures that signed the data for this\nsource. All the signatures in the data source data should be contained in\nthis external source. All the signatures in the data should be contained in\nthis list." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "description": "Filters describes which source data are considered of interest or not for\nthe product (or the risk model)." + } + }, + "description": "All types of external data sources use the same configuration set for meeting\nrequirements in order for the data to be useful for Vega - valid signatures\nand matching filters." + }, + "vegaDataSourceSpecConfigurationTime": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps should meet in order to be considered." + } + }, + "description": "Internal data source used for emitting timestamps." + }, + "vegaDataSourceSpecConfigurationTimeTrigger": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps need to meet in order to be considered." + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1InternalTimeTrigger" + }, + "title": "An internal time trigger" + } + }, + "description": "Internal data source used for emitting timestamps automatically using predefined intervals and conditions." + }, + "vegaDataSourceSpecStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_DEACTIVATED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value.\n - STATUS_ACTIVE: STATUS_ACTIVE describes an active data source spec.\n - STATUS_DEACTIVATED: STATUS_DEACTIVATED describes a data source spec that is not listening to\ndata anymore.", + "title": "Status describe the status of the data source spec" + }, + "vegaDataSourceSpecToFutureBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the Future will use the value of\nthis property as settlement data." + }, + "tradingTerminationProperty": { + "type": "string", + "description": "Name of the property in the data source data that signals termination of trading." + } + }, + "title": "DataSourceSpecToFutureBinding describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDataSourceSpecToPerpetualBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + }, + "settlementScheduleProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + } + }, + "title": "Describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDeposit": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the deposit." + }, + "status": { + "$ref": "#/definitions/vegaDepositStatus", + "description": "Status of the deposit." + }, + "partyId": { + "type": "string", + "description": "Party ID of the user initiating the deposit." + }, + "asset": { + "type": "string", + "description": "Vega asset targeted by this deposit." + }, + "amount": { + "type": "string", + "description": "Amount to be deposited. This field is an unsigned integer scaled to the asset's decimal places." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction from the foreign chain." + }, + "creditedTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the Vega account was updated with the deposit." + }, + "createdTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the deposit was created on the Vega network." + } + }, + "title": "Deposit on to the Vega network" + }, + "vegaDepositStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_OPEN", + "STATUS_CANCELLED", + "STATUS_FINALIZED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_OPEN: Deposit is being processed by the network\n - STATUS_CANCELLED: Deposit has been cancelled by the network\n - STATUS_FINALIZED: Deposit has been finalised and accounts have been updated", + "title": "Status of the deposit" + }, + "vegaDispatchMetric": { + "type": "string", + "enum": [ + "DISPATCH_METRIC_UNSPECIFIED", + "DISPATCH_METRIC_MAKER_FEES_PAID", + "DISPATCH_METRIC_MAKER_FEES_RECEIVED", + "DISPATCH_METRIC_LP_FEES_RECEIVED", + "DISPATCH_METRIC_MARKET_VALUE" + ], + "default": "DISPATCH_METRIC_UNSPECIFIED", + "title": "- DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that is using the total maker fees paid in the market\n - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that is using the total maker fees received in the market\n - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that is using the total LP fees received in the market\n - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that is using total value of the market if above the required threshold and not paid given proposer bonus yet" + }, + "vegaDispatchStrategy": { + "type": "object", + "properties": { + "assetForMetric": { + "type": "string", + "description": "Asset to use for metric." + }, + "metric": { + "$ref": "#/definitions/vegaDispatchMetric", + "description": "Metric to apply." + }, + "markets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional markets in scope." + } + } + }, + "vegaERC20": { + "type": "object", + "properties": { + "contractAddress": { + "type": "string", + "description": "Address of the contract for the token, on the ethereum network." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + }, + "title": "ERC20 token based asset, living on the ethereum network" + }, + "vegaERC20Update": { + "type": "object", + "properties": { + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address.\nThis will be interpreted against the asset decimals.\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + } + }, + "vegaEpochAction": { + "type": "string", + "enum": [ + "EPOCH_ACTION_UNSPECIFIED", + "EPOCH_ACTION_START", + "EPOCH_ACTION_END" + ], + "default": "EPOCH_ACTION_UNSPECIFIED", + "description": "- EPOCH_ACTION_START: Epoch update is for a new epoch.\n - EPOCH_ACTION_END: Epoch update is for the end of an epoch.", + "title": "What epoch action has occurred" + }, + "vegaErc20WithdrawExt": { + "type": "object", + "properties": { + "receiverAddress": { + "type": "string", + "description": "Address into which the bridge will release the funds." + } + }, + "title": "Extension of data required for the withdraw submissions" + }, + "vegaEthCallSpec": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Ethereum address of the contract to call." + }, + "abi": { + "type": "string", + "description": "The ABI of that contract." + }, + "method": { + "type": "string", + "description": "Name of the method on the contract to call." + }, + "args": { + "type": "array", + "items": { + "type": "object" + }, + "description": "List of arguments to pass to method call.\nProtobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum\ntype according to the ABI." + }, + "trigger": { + "$ref": "#/definitions/vegaEthCallTrigger", + "description": "Conditions for determining when to call the contract method." + }, + "requiredConfirmations": { + "type": "string", + "format": "uint64", + "title": "Number of confirmations required before the query is considered verified" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "title": "Filters the data returned from the contract method" + }, + "normalisers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNormaliser" + }, + "description": "Normalisers are used to convert the data returned from the contract method\ninto a standard format. The key of the map is the name of the property,\nwhich identifies the specific piece of data to other parts of the data\nsourcing framework, for example filters. The value is a JSONPath expression\nfor expressing where in the contract call result the required data is\nlocated, for example $[0] indicates the first result. $[1].price would look\nin the second result returned from the contract for a structure with a key\ncalled 'price' and use that if it exists." + } + }, + "description": "Specifies a data source that derives its content from calling a read method\non an Ethereum contract." + }, + "vegaEthCallTrigger": { + "type": "object", + "properties": { + "timeTrigger": { + "$ref": "#/definitions/vegaEthTimeTrigger" + } + }, + "description": "Determines when the contract method should be called." + }, + "vegaEthTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "uint64", + "description": "Trigger when the Ethereum time is greater or equal to this time, in Unix\nseconds." + }, + "every": { + "type": "string", + "format": "uint64", + "description": "Repeat the call every n seconds after the initial call. If no time for\ninitial call was specified, begin repeating immediately." + }, + "until": { + "type": "string", + "format": "uint64", + "description": "If repeating, stop once Ethereum time is greater than this time, in Unix\nseconds. If not set, then repeat indefinitely." + } + }, + "description": "Trigger for an Ethereum call based on the Ethereum block timestamp. Can be\none-off or repeating." + }, + "vegaExternalDataSourceSpec": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/definitions/vegaDataSourceSpec" + } + } + }, + "vegaFee": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Fee amount paid to the non-aggressive party of the trade. This field is an unsigned integer scaled to the asset's decimal places." + }, + "infrastructureFee": { + "type": "string", + "description": "Fee amount paid for maintaining the Vega infrastructure. This field is an unsigned integer scaled using the asset's decimal places." + }, + "liquidityFee": { + "type": "string", + "description": "Fee amount paid to market makers. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents any fees paid by a party, resulting from a trade" + }, + "vegaFeeFactors": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Market maker fee charged network wide." + }, + "infrastructureFee": { + "type": "string", + "description": "Infrastructure fee charged network wide for staking and governance." + }, + "liquidityFee": { + "type": "string", + "description": "Liquidity fee applied per market for market making." + } + }, + "title": "Fee factors definition" + }, + "vegaFees": { + "type": "object", + "properties": { + "factors": { + "$ref": "#/definitions/vegaFeeFactors", + "description": "Fee factors." + } + }, + "title": "Fees definition" + }, + "vegaFuture": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the future." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the settlement data source filter." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the trading termination data source filter." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data spec and the data source." + } + }, + "title": "Future product definition" + }, + "vegaFutureProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The external data source spec describing the data source of trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaGovernanceTransferType": { + "type": "string", + "enum": [ + "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED", + "GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING", + "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT" + ], + "default": "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED" + }, + "vegaIcebergOrder": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that will be made visible if the iceberg order is replenished after trading." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "If the visible size of the order falls below this value, it will be replenished back to the peak size using the reserved amount." + }, + "reservedRemaining": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is reserved and used to restore the iceberg's peak when it is refreshed." + } + }, + "title": "Details of an iceberg order" + }, + "vegaInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique instrument ID." + }, + "code": { + "type": "string", + "description": "Code for the instrument." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + }, + "metadata": { + "$ref": "#/definitions/vegaInstrumentMetadata", + "description": "Collection of instrument meta-data." + }, + "future": { + "$ref": "#/definitions/vegaFuture", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpot", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetual", + "description": "Perpetual." + } + }, + "title": "Instrument definition" + }, + "vegaInstrumentConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Instrument name." + }, + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaFutureProduct", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpotProduct", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaInstrumentMetadata": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of 0 or more tags." + } + }, + "title": "Instrument metadata definition" + }, + "vegaLedgerEntry": { + "type": "object", + "properties": { + "fromAccount": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "One or more accounts to transfer from." + }, + "toAccount": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "One or more accounts to transfer to." + }, + "amount": { + "type": "string", + "description": "Amount to transfer. This field is an unsigned integer scaled to the asset's decimal places." + }, + "type": { + "$ref": "#/definitions/vegaTransferType", + "description": "Transfer type for this entry." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in nanoseconds of when the ledger entry was created." + }, + "fromAccountBalance": { + "type": "string", + "description": "Sender account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places." + }, + "toAccountBalance": { + "type": "string", + "description": "Receiver account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents a ledger entry on Vega" + }, + "vegaLedgerMovement": { + "type": "object", + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerEntry" + }, + "description": "All the entries for these ledger movements." + }, + "balances": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPostTransferBalance" + }, + "description": "Resulting balances once the ledger movement are applied." + } + } + }, + "vegaLiquidityMonitoringParameters": { + "type": "object", + "properties": { + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "triggeringRatio": { + "type": "string", + "description": "Specifies the triggering ratio for entering liquidity auction." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction." + } + }, + "title": "LiquidityMonitoringParameters contains settings used for liquidity monitoring" + }, + "vegaLiquidityOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Pegged reference point for the order." + }, + "proportion": { + "type": "integer", + "format": "int64", + "description": "Relative proportion of the commitment to be allocated at a price level." + }, + "offset": { + "type": "string", + "description": "Offset/amount of units away for the order. This field is an unsigned integer scaled using the market's decimal places." + } + }, + "title": "Represents a liquidity order" + }, + "vegaLiquidityOrderReference": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID of the pegged order generated to fulfil this liquidity order." + }, + "liquidityOrder": { + "$ref": "#/definitions/vegaLiquidityOrder", + "description": "Liquidity order from the original submission." + } + }, + "title": "Pair of a liquidity order and the ID of the generated order" + }, + "vegaLiquidityProviderFeeShare": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Liquidity provider party ID." + }, + "equityLikeShare": { + "type": "string", + "description": "Share own by this liquidity provider." + }, + "averageEntryValuation": { + "type": "string", + "description": "Average entry valuation of the liquidity provider for the market." + }, + "averageScore": { + "type": "string", + "description": "Average liquidity score." + }, + "virtualStake": { + "type": "string", + "description": "The virtual stake of this liquidity provider." + } + }, + "title": "Equity like share of liquidity fee for each liquidity provider" + }, + "vegaLiquidityProvision": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the liquidity provision." + }, + "partyId": { + "type": "string", + "description": "Unique party ID for the creator of the provision." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was created." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was updated." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled to the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrderReference" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrderReference" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "version": { + "type": "string", + "format": "uint64", + "description": "Version of this liquidity provision order." + }, + "status": { + "$ref": "#/definitions/vegaLiquidityProvisionStatus", + "description": "Status of this liquidity provision order." + }, + "reference": { + "type": "string", + "description": "Reference shared between this liquidity provision and all its orders." + } + }, + "title": "Liquidity provider commitment" + }, + "vegaLiquidityProvisionStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_STOPPED", + "STATUS_CANCELLED", + "STATUS_REJECTED", + "STATUS_UNDEPLOYED", + "STATUS_PENDING" + ], + "default": "STATUS_UNSPECIFIED", + "description": "Status of a liquidity provision order.\n\n - STATUS_UNSPECIFIED: Always invalid\n - STATUS_ACTIVE: Liquidity provision is active\n - STATUS_STOPPED: Liquidity provision was stopped by the network\n - STATUS_CANCELLED: Liquidity provision was cancelled by the liquidity provider\n - STATUS_REJECTED: Liquidity provision was invalid and got rejected\n - STATUS_UNDEPLOYED: Liquidity provision is valid and accepted by network, but orders aren't deployed\n - STATUS_PENDING: Liquidity provision is valid and accepted by network\nbut has never been deployed. If when it's possible to deploy the orders for the first time\nmargin check fails, then they will be cancelled without any penalties." + }, + "vegaLiquiditySLAParameters": { + "type": "object", + "properties": { + "priceRange": { + "type": "string" + }, + "commitmentMinTimeFraction": { + "type": "string", + "description": "Specifies the minimum fraction of time LPs must spend \"on the book\" providing their committed liquidity." + }, + "providersFeeCalculationTimeStep": { + "type": "string", + "format": "int64", + "description": "Specifies how often the quality of liquidity supplied by the LPs is evaluated and fees arising from that period are earmarked for specific parties." + }, + "performanceHysteresisEpochs": { + "type": "string", + "format": "uint64", + "description": "Specifies the number of liquidity epochs over which past performance will continue to affect rewards." + }, + "slaCompetitionFactor": { + "type": "string", + "description": "Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers\nthat achieved a higher SLA performance than them." + } + } + }, + "vegaLogNormalModelParams": { + "type": "object", + "properties": { + "mu": { + "type": "number", + "format": "double", + "description": "Mu parameter, annualised growth rate of the underlying asset." + }, + "r": { + "type": "number", + "format": "double", + "description": "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number." + }, + "sigma": { + "type": "number", + "format": "double", + "description": "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number." + } + }, + "title": "Risk model parameters for log normal" + }, + "vegaLogNormalRiskModel": { + "type": "object", + "properties": { + "riskAversionParameter": { + "type": "number", + "format": "double", + "description": "Risk Aversion Parameter." + }, + "tau": { + "type": "number", + "format": "double", + "description": "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall\ncalculation to obtain the maintenance margin, must be a strictly non-negative real number." + }, + "params": { + "$ref": "#/definitions/vegaLogNormalModelParams", + "description": "Risk model parameters for log normal." + } + }, + "title": "Risk model for log normal" + }, + "vegaMarginCalculator": { + "type": "object", + "properties": { + "scalingFactors": { + "$ref": "#/definitions/vegaScalingFactors", + "description": "Scaling factors for margin calculation." + } + }, + "title": "Margin Calculator definition" + }, + "vegaMarginLevels": { + "type": "object", + "properties": { + "maintenanceMargin": { + "type": "string", + "description": "Maintenance margin value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "searchLevel": { + "type": "string", + "description": "Margin search level value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "initialMargin": { + "type": "string", + "description": "Initial margin value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "collateralReleaseLevel": { + "type": "string", + "description": "Collateral release level value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "partyId": { + "type": "string", + "description": "Party ID for whom the margin levels apply." + }, + "marketId": { + "type": "string", + "description": "Market ID for which the margin levels apply." + }, + "asset": { + "type": "string", + "description": "Asset ID for which the margin levels apply." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the ledger entry was created." + } + }, + "title": "Represents the margin levels for a party on a market at a given time" + }, + "vegaMarket": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the market." + }, + "tradableInstrument": { + "$ref": "#/definitions/vegaTradableInstrument", + "description": "Tradable instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Number of decimal places that a price must be shifted by in order to get a\ncorrect price denominated in the currency of the market, for example:\n`realPrice = price / 10^decimalPlaces`." + }, + "fees": { + "$ref": "#/definitions/vegaFees", + "description": "Fees configuration that apply to the market." + }, + "openingAuction": { + "$ref": "#/definitions/vegaAuctionDuration", + "description": "Auction duration specifies how long the opening auction will run (minimum\nduration and optionally a minimum traded volume)." + }, + "priceMonitoringSettings": { + "$ref": "#/definitions/vegaPriceMonitoringSettings", + "description": "PriceMonitoringSettings for the market." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "LiquidityMonitoringParameters for the market." + }, + "tradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current mode of execution of the market." + }, + "state": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "marketTimestamps": { + "$ref": "#/definitions/vegaMarketTimestamps", + "description": "Timestamps for when the market state changes." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "The number of decimal places for a position." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "parentMarketId": { + "type": "string", + "title": "ID of the market this market succeeds" + }, + "insurancePoolFraction": { + "type": "string", + "description": "The fraction of the parent market's insurance pool that this market inherits; range 0 through 1." + }, + "successorMarketId": { + "type": "string", + "description": "ID of the market that succeeds this market if it exists. This will be populated by the system when the successor market is enabled." + }, + "liquiditySlaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Liquidity SLA parameters for the market." + } + }, + "title": "Market definition" + }, + "vegaMarketData": { + "type": "object", + "properties": { + "markPrice": { + "type": "string", + "description": "Mark price, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidPrice": { + "type": "string", + "description": "Highest price level on an order book for buy orders, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being bid at the best bid price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestOfferPrice": { + "type": "string", + "description": "Lowest price level on an order book for offer orders. This field is an unsigned integer scaled to the market's decimal places." + }, + "bestOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being offered at the best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestStaticBidPrice": { + "type": "string", + "description": "Highest price on the order book for buy orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticBidVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static bid price excluding pegged orders." + }, + "bestStaticOfferPrice": { + "type": "string", + "description": "Lowest price on the order book for sell orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static offer price, excluding pegged orders." + }, + "midPrice": { + "type": "string", + "description": "Arithmetic average of the best bid price and best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "staticMidPrice": { + "type": "string", + "description": "Arithmetic average of the best static bid price and best static offer price.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "market": { + "type": "string", + "title": "Market ID for the data" + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which this mark price was relevant." + }, + "openInterest": { + "type": "string", + "format": "uint64", + "description": "Sum of the size of all positions greater than zero on the market." + }, + "auctionEnd": { + "type": "string", + "format": "int64", + "description": "Time in seconds until the end of the auction (zero if currently not in auction period)." + }, + "auctionStart": { + "type": "string", + "format": "int64", + "description": "Time until next auction, or start time of the current auction if market is in auction period." + }, + "indicativePrice": { + "type": "string", + "description": "Indicative price (zero if not in auction). This field is an unsigned scaled to the market's decimal places." + }, + "indicativeVolume": { + "type": "string", + "format": "uint64", + "description": "Indicative volume (zero if not in auction)." + }, + "marketTradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current trading mode for the market." + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market is in an auction trading mode, this field indicates what triggered the auction." + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market auction is extended, this field indicates what caused the extension." + }, + "targetStake": { + "type": "string", + "description": "Targeted stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "suppliedStake": { + "type": "string", + "description": "Available stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "priceMonitoringBounds": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringBounds" + }, + "description": "One or more price monitoring bounds for the current timestamp." + }, + "marketValueProxy": { + "type": "string", + "description": "Market value proxy." + }, + "liquidityProviderFeeShare": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProviderFeeShare" + }, + "description": "Equity like share of liquidity fee for each liquidity provider." + }, + "marketState": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "nextMarkToMarket": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the next mark-to-market calculation will occur." + }, + "lastTradedPrice": { + "type": "string", + "description": "Last traded price of the market. This field is an unsigned integer scaled to the market's decimal places." + }, + "marketGrowth": { + "type": "string", + "description": "Market growth at the last market time window." + } + }, + "title": "Represents data generated by a market when open" + }, + "vegaMarketState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_PROPOSED", + "STATE_REJECTED", + "STATE_PENDING", + "STATE_CANCELLED", + "STATE_ACTIVE", + "STATE_SUSPENDED", + "STATE_CLOSED", + "STATE_TRADING_TERMINATED", + "STATE_SETTLED", + "STATE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, invalid\n - STATE_PROPOSED: Governance proposal valid and accepted\n - STATE_REJECTED: Outcome of governance votes is to reject the market\n - STATE_PENDING: Governance vote passes/wins\n - STATE_CANCELLED: Market triggers cancellation condition or governance\nvotes to close before market becomes Active\n - STATE_ACTIVE: Enactment date reached and usual auction exit checks pass\n - STATE_SUSPENDED: Price monitoring or liquidity monitoring trigger\n - STATE_CLOSED: Governance vote to close (Not currently implemented)\n - STATE_TRADING_TERMINATED: Defined by the product (i.e. from a product parameter,\nspecified in market definition, giving close date/time)\n - STATE_SETTLED: Settlement triggered and completed as defined by product\n - STATE_SUSPENDED_VIA_GOVERNANCE: Market has been suspended via governance", + "title": "Current state of the market" + }, + "vegaMarketStateUpdateType": { + "type": "string", + "enum": [ + "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "MARKET_STATE_UPDATE_TYPE_TERMINATE", + "MARKET_STATE_UPDATE_TYPE_SUSPEND", + "MARKET_STATE_UPDATE_TYPE_RESUME" + ], + "default": "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "title": "- MARKET_STATE_UPDATE_TYPE_UNSPECIFIED: Default value, always invalid\n - MARKET_STATE_UPDATE_TYPE_TERMINATE: Request to terminate a market via governance\n - MARKET_STATE_UPDATE_TYPE_SUSPEND: Request to suspend a market via governance\n - MARKET_STATE_UPDATE_TYPE_RESUME: Request to resume a market via governance" + }, + "vegaMarketTimestamps": { + "type": "object", + "properties": { + "proposed": { + "type": "string", + "format": "int64", + "description": "Time when the market is first proposed." + }, + "pending": { + "type": "string", + "format": "int64", + "description": "Time when the market has been voted in and began its opening auction." + }, + "open": { + "type": "string", + "format": "int64", + "description": "Time when the market has left the opening auction and is ready to accept trades." + }, + "close": { + "type": "string", + "format": "int64", + "description": "Time when the market closed." + } + }, + "title": "Time stamps for important times about creating, enacting etc the market" + }, + "vegaNetworkLimits": { + "type": "object", + "properties": { + "canProposeMarket": { + "type": "boolean", + "description": "Are market proposals allowed at this point in time." + }, + "canProposeAsset": { + "type": "boolean", + "description": "Are asset proposals allowed at this point in time." + }, + "proposeMarketEnabled": { + "type": "boolean", + "description": "Are market proposals enabled on this chain." + }, + "proposeAssetEnabled": { + "type": "boolean", + "description": "Are asset proposals enabled on this chain." + }, + "genesisLoaded": { + "type": "boolean", + "description": "True once the genesis file is loaded." + }, + "proposeMarketEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which market proposals will be enabled (0 indicates not set)." + }, + "proposeAssetEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which asset proposals will be enabled (0 indicates not set)." + }, + "canProposeSpotMarket": { + "type": "boolean", + "description": "Are spot market proposals allowed at this point in time." + }, + "canProposePerpetualMarket": { + "type": "boolean", + "description": "Are perpetual market proposals allowed at this point in time." + } + }, + "title": "Network limits, defined in the genesis file" + }, + "vegaNetworkParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Unique key of the network parameter." + }, + "value": { + "type": "string", + "description": "Value for the network parameter." + } + }, + "title": "Represents a network parameter on Vega" + }, + "vegaNewAsset": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Configuration of the new asset." + } + }, + "title": "New asset on Vega" + }, + "vegaNewFreeform": { + "type": "object", + "description": "Freeform proposal\nThis message is just used as a placeholder to sort out the nature of the\nproposal once parsed." + }, + "vegaNewMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewMarketConfiguration", + "description": "Configuration of the new market." + } + }, + "title": "New market on Vega" + }, + "vegaNewMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New futures market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new futures market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the futures market can be." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "successor": { + "$ref": "#/definitions/vegaSuccessorConfiguration", + "description": "Successor configuration. If this proposal is meant to succeed a given market, then this should be set." + } + }, + "title": "Configuration for a new futures market on Vega" + }, + "vegaNewSpotMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewSpotMarketConfiguration", + "description": "Configuration of the new spot market." + } + }, + "title": "New spot market on Vega" + }, + "vegaNewSpotMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New spot market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new spot market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the spot market can be." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration for a new spot market on Vega" + }, + "vegaNewTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewTransferConfiguration", + "description": "Configuration for a new transfer." + } + }, + "title": "New governance transfer" + }, + "vegaNewTransferConfiguration": { + "type": "object", + "properties": { + "sourceType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Source account type, such as network treasury, market insurance pool" + }, + "source": { + "type": "string", + "title": "If network treasury, field is empty, otherwise uses the market ID" + }, + "transferType": { + "$ref": "#/definitions/vegaGovernanceTransferType", + "title": "\"All or nothing\" or \"best effort\":\nAll or nothing: Transfers the specified amount or does not transfer anything\nBest effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount" + }, + "amount": { + "type": "string", + "title": "Maximum amount to transfer" + }, + "asset": { + "type": "string", + "title": "ID of asset to transfer" + }, + "fractionOfBalance": { + "type": "string", + "title": "Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance" + }, + "destinationType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool" + }, + "destination": { + "type": "string", + "title": "Specifies the account to transfer to, depending on the account type:\nNetwork treasury: leave empty\nParty: party's public key\nMarket insurance pool: market ID" + }, + "oneOff": { + "$ref": "#/definitions/vegaOneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaRecurringTransfer" + } + } + }, + "vegaNormaliser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "expression": { + "type": "string" + } + } + }, + "vegaOneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegaOracleData": { + "type": "object", + "properties": { + "externalData": { + "$ref": "#/definitions/v1ExternalData" + } + } + }, + "vegaOracleSpec": { + "type": "object", + "properties": { + "externalDataSourceSpec": { + "$ref": "#/definitions/vegaExternalDataSourceSpec" + } + }, + "title": "Oracle spec contains an embedded external data source spec.\nIt will be generated by the compiler as: OracleSpec_ExternalDataSourceSpec_*" + }, + "vegaOrder": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID generated for the order." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "partyId": { + "type": "string", + "description": "Party ID for the order." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of contracts." + }, + "remaining": { + "type": "string", + "format": "uint64", + "description": "Size remaining, when this reaches 0 then the order is fully filled and status becomes STATUS_FILLED." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "title": "Time in force indicates how long an order will remain active before it is executed or expires.\n- See OrderTimeInForce" + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the order was created at, in nanoseconds." + }, + "status": { + "$ref": "#/definitions/vegaOrderStatus", + "description": "Current status of the order." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire." + }, + "reference": { + "type": "string", + "description": "Reference given for the order." + }, + "reason": { + "$ref": "#/definitions/vegaOrderError", + "description": "Futher details for why an order with status `STATUS_REJECTED` was rejected." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was last updated." + }, + "version": { + "type": "string", + "format": "uint64", + "description": "Version for the order, initial value is version 1 and is incremented after each successful amend." + }, + "batchId": { + "type": "string", + "format": "uint64", + "description": "Batch ID for the order, used internally for orders submitted during auctions\nto keep track of the auction batch this order falls under. Required for fees calculation." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Pegged order details, used only if the order represents a pegged order." + }, + "liquidityProvisionId": { + "type": "string", + "description": "Set if the order was created as part of a liquidity provision, will be empty if not." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOrder": { + "$ref": "#/definitions/vegaIcebergOrder", + "title": "Details of an iceberg order" + } + }, + "title": "Orders can be submitted, amended and cancelled on Vega in an attempt to make trades with other parties" + }, + "vegaOrderError": { + "type": "string", + "enum": [ + "ORDER_ERROR_UNSPECIFIED", + "ORDER_ERROR_INVALID_MARKET_ID", + "ORDER_ERROR_INVALID_ORDER_ID", + "ORDER_ERROR_OUT_OF_SEQUENCE", + "ORDER_ERROR_INVALID_REMAINING_SIZE", + "ORDER_ERROR_TIME_FAILURE", + "ORDER_ERROR_REMOVAL_FAILURE", + "ORDER_ERROR_INVALID_EXPIRATION_DATETIME", + "ORDER_ERROR_INVALID_ORDER_REFERENCE", + "ORDER_ERROR_EDIT_NOT_ALLOWED", + "ORDER_ERROR_AMEND_FAILURE", + "ORDER_ERROR_NOT_FOUND", + "ORDER_ERROR_INVALID_PARTY_ID", + "ORDER_ERROR_MARKET_CLOSED", + "ORDER_ERROR_MARGIN_CHECK_FAILED", + "ORDER_ERROR_MISSING_GENERAL_ACCOUNT", + "ORDER_ERROR_INTERNAL_ERROR", + "ORDER_ERROR_INVALID_SIZE", + "ORDER_ERROR_INVALID_PERSISTENCE", + "ORDER_ERROR_INVALID_TYPE", + "ORDER_ERROR_SELF_TRADING", + "ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES", + "ORDER_ERROR_INCORRECT_MARKET_TYPE", + "ORDER_ERROR_INVALID_TIME_IN_FORCE", + "ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION", + "ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING", + "ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT", + "ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT", + "ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT", + "ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC", + "ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN", + "ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN", + "ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION", + "ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION", + "ORDER_ERROR_MUST_BE_LIMIT_ORDER", + "ORDER_ERROR_MUST_BE_GTT_OR_GTC", + "ORDER_ERROR_WITHOUT_REFERENCE_PRICE", + "ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE", + "ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO", + "ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE", + "ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO", + "ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE", + "ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER", + "ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER", + "ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER", + "ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS", + "ORDER_ERROR_TOO_MANY_PEGGED_ORDERS", + "ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE", + "ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION" + ], + "default": "ORDER_ERROR_UNSPECIFIED", + "description": "- ORDER_ERROR_UNSPECIFIED: Default value, no error reported\n - ORDER_ERROR_INVALID_MARKET_ID: Order was submitted for a market that does not exist\n - ORDER_ERROR_INVALID_ORDER_ID: Order was submitted with an invalid ID\n - ORDER_ERROR_OUT_OF_SEQUENCE: Order was amended with a sequence number that was not previous version + 1\n - ORDER_ERROR_INVALID_REMAINING_SIZE: Order was amended with an invalid remaining size (e.g. remaining greater than total size)\n - ORDER_ERROR_TIME_FAILURE: Node was unable to get Vega (blockchain) time\n - ORDER_ERROR_REMOVAL_FAILURE: Failed to remove an order from the book\n - ORDER_ERROR_INVALID_EXPIRATION_DATETIME: Order with `TimeInForce.TIME_IN_FORCE_GTT` was submitted or amended\nwith an expiration that was badly formatted or otherwise invalid\n - ORDER_ERROR_INVALID_ORDER_REFERENCE: Order was submitted or amended with an invalid reference field\n - ORDER_ERROR_EDIT_NOT_ALLOWED: Order amend was submitted for an order field that cannot not be amended (e.g. order ID)\n - ORDER_ERROR_AMEND_FAILURE: Amend failure because amend details do not match original order\n - ORDER_ERROR_NOT_FOUND: Order not found in an order book or store\n - ORDER_ERROR_INVALID_PARTY_ID: Order was submitted with an invalid or missing party ID\n - ORDER_ERROR_MARKET_CLOSED: Order was submitted for a market that has closed\n - ORDER_ERROR_MARGIN_CHECK_FAILED: Order was submitted, but the party did not have enough collateral to cover the order\n - ORDER_ERROR_MISSING_GENERAL_ACCOUNT: Order was submitted, but the party did not have an account for this asset\n - ORDER_ERROR_INTERNAL_ERROR: Unspecified internal error\n - ORDER_ERROR_INVALID_SIZE: Order was submitted with an invalid or missing size (e.g. 0)\n - ORDER_ERROR_INVALID_PERSISTENCE: Order was submitted with an invalid persistence for its type\n - ORDER_ERROR_INVALID_TYPE: Order was submitted with an invalid type field\n - ORDER_ERROR_SELF_TRADING: Order was stopped as it would have traded with another order submitted from the same party\n - ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES: Order was submitted, but the party did not have enough collateral to cover the fees for the order\n - ORDER_ERROR_INCORRECT_MARKET_TYPE: Order was submitted with an incorrect or invalid market type\n - ORDER_ERROR_INVALID_TIME_IN_FORCE: Order was submitted with invalid time in force\n - ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION: Good For Normal order has reached the market when it is in auction mode\n - ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING: Good For Auction order has reached the market when it is in continuous trading mode\n - ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT: Attempt to amend order to GTT without ExpiryAt\n - ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT: Attempt to amend ExpiryAt to a value before CreatedAt\n - ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT: Attempt to amend to GTC without an ExpiryAt value\n - ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC: Amending to FOK or IOC is invalid\n - ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN: Amending to GFA or GFN is invalid\n - ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN: Amending from GFA or GFN is invalid\n - ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION: IOC orders are not allowed during auction\n - ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION: FOK orders are not allowed during auction\n - ORDER_ERROR_MUST_BE_LIMIT_ORDER: Pegged orders must be LIMIT orders\n - ORDER_ERROR_MUST_BE_GTT_OR_GTC: Pegged orders can only have TIF GTC or GTT\n - ORDER_ERROR_WITHOUT_REFERENCE_PRICE: Pegged order must have a reference price\n - ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE: Buy pegged order cannot reference best ask price\n - ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO: Pegged order offset must be \u003e= 0\n - ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE: Sell pegged order cannot reference best bid price\n - ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO: Pegged order offset must be \u003e zero\n - ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE: Party has an insufficient balance, or does not have\na general account to submit the order (no deposits made\nfor the required asset)\n - ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER: Cannot amend details of a non pegged details\n - ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER: Could not re-price a pegged order because a market price is unavailable\n - ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER: It is not possible to amend the price of an existing pegged order\n - ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS: FOK, IOC, or GFN order was rejected because it resulted in trades outside the price bounds\n - ORDER_ERROR_TOO_MANY_PEGGED_ORDERS: Unable to submit pegged order, temporarily too many pegged orders across all markets\n - ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE: Post order would trade\n - ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION: Post order would trade", + "title": "OrderError codes are returned in the Order.reason field - If there is an issue\nwith an order during its life-cycle, it will be marked with `status.ORDER_STATUS_REJECTED`" + }, + "vegaOrderStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_EXPIRED", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_FILLED", + "STATUS_REJECTED", + "STATUS_PARTIALLY_FILLED", + "STATUS_PARKED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_ACTIVE: Used for active unfilled or partially filled orders\n - STATUS_EXPIRED: Used for expired GTT orders\n - STATUS_CANCELLED: Used for orders cancelled by the party that created the order\n - STATUS_STOPPED: Used for unfilled FOK or IOC orders, and for orders that were stopped by the network\n - STATUS_FILLED: Used for closed fully filled orders\n - STATUS_REJECTED: Used for orders when not enough collateral was available to fill the margin requirements\n - STATUS_PARTIALLY_FILLED: Used for closed partially filled IOC orders\n - STATUS_PARKED: Order has been removed from the order book and has been parked,\nthis applies to pegged orders and liquidity orders (orders created from a liquidity provision shape)", + "title": "Status values for an order" + }, + "vegaOrderType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LIMIT", + "TYPE_MARKET", + "TYPE_NETWORK" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_LIMIT: Used for Limit orders\n - TYPE_MARKET: Used for Market orders\n - TYPE_NETWORK: Used for orders where the initiating party is the network (with distressed parties)", + "title": "Type values for an order" + }, + "vegaParty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the party, typically represented by a public key." + } + }, + "title": "Party represents an entity who wishes to trade on or query a Vega network" + }, + "vegaPeggedOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Price point the order is linked to." + }, + "offset": { + "type": "string", + "description": "Offset from the price reference." + } + }, + "title": "Pegged orders are limit orders where the price is specified in the form REFERENCE +/- OFFSET\nThey can be used for any limit order that is valid during continuous trading" + }, + "vegaPeggedReference": { + "type": "string", + "enum": [ + "PEGGED_REFERENCE_UNSPECIFIED", + "PEGGED_REFERENCE_MID", + "PEGGED_REFERENCE_BEST_BID", + "PEGGED_REFERENCE_BEST_ASK" + ], + "default": "PEGGED_REFERENCE_UNSPECIFIED", + "description": "- PEGGED_REFERENCE_UNSPECIFIED: Default value for PeggedReference, no reference given\n - PEGGED_REFERENCE_MID: Mid price reference\n - PEGGED_REFERENCE_BEST_BID: Best bid price reference\n - PEGGED_REFERENCE_BEST_ASK: Best ask price reference", + "title": "Pegged reference defines which price point a pegged order is linked to - meaning\nthe price for a pegged order is calculated from the value of the reference price point" + }, + "vegaPerpetual": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the perpetual." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product definition" + }, + "vegaPerpetualProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaPostTransferBalance": { + "type": "object", + "properties": { + "account": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "Account relating to the transfer." + }, + "balance": { + "type": "string", + "description": "Balance relating to the transfer. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents the balance for an account during a transfer" + }, + "vegaPriceMonitoringBounds": { + "type": "object", + "properties": { + "minValidPrice": { + "type": "string", + "description": "Minimum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "maxValidPrice": { + "type": "string", + "description": "Maximum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "trigger": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger", + "description": "Price monitoring trigger associated with the bounds." + }, + "referencePrice": { + "type": "string", + "description": "Reference price used to calculate the valid price range. This field is an unsigned integer scaled to the market's decimal places." + } + }, + "title": "Represents a list of valid (at the current timestamp) price ranges per associated trigger" + }, + "vegaPriceMonitoringParameters": { + "type": "object", + "properties": { + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger" + } + } + }, + "title": "PriceMonitoringParameters contains a collection of triggers to be used for a given market" + }, + "vegaPriceMonitoringSettings": { + "type": "object", + "properties": { + "parameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Specifies price monitoring parameters to be used for price monitoring purposes." + } + }, + "title": "PriceMonitoringSettings contains the settings for price monitoring" + }, + "vegaPriceMonitoringTrigger": { + "type": "object", + "properties": { + "horizon": { + "type": "string", + "format": "int64", + "description": "Price monitoring projection horizon τ in seconds." + }, + "probability": { + "type": "string", + "description": "Price monitoring probability level p." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Price monitoring auction extension duration in seconds should the price\nbreach its theoretical level over the specified horizon at the specified\nprobability level." + } + }, + "title": "PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration" + }, + "vegaProposal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique proposal ID." + }, + "reference": { + "type": "string", + "description": "Proposal reference." + }, + "partyId": { + "type": "string", + "description": "Party ID i.e. public key of the party submitting the proposal." + }, + "state": { + "$ref": "#/definitions/vegaProposalState", + "description": "Current state of the proposal, i.e. open, passed, failed etc." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Proposal timestamp for date and time as Unix time in nanoseconds when proposal was submitted to the network." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "reason": { + "$ref": "#/definitions/vegaProposalError", + "description": "Reason for the current state of the proposal, this may be set in case of REJECTED and FAILED statuses." + }, + "errorDetails": { + "type": "string", + "description": "Detailed error associated to the reason." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + }, + "requiredParticipation": { + "type": "string", + "description": "Required vote participation for this proposal." + }, + "requiredMajority": { + "type": "string", + "description": "Required majority for this proposal." + }, + "requiredLiquidityProviderParticipation": { + "type": "string", + "description": "Required participation from liquidity providers, optional but is required for market update proposal." + }, + "requiredLiquidityProviderMajority": { + "type": "string", + "description": "Required majority from liquidity providers, optional but is required for market update proposal." + } + }, + "title": "Governance proposal" + }, + "vegaProposalError": { + "type": "string", + "enum": [ + "PROPOSAL_ERROR_UNSPECIFIED", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE", + "PROPOSAL_ERROR_ENACT_TIME_TOO_SOON", + "PROPOSAL_ERROR_ENACT_TIME_TOO_LATE", + "PROPOSAL_ERROR_INSUFFICIENT_TOKENS", + "PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY", + "PROPOSAL_ERROR_NO_PRODUCT", + "PROPOSAL_ERROR_UNSUPPORTED_PRODUCT", + "PROPOSAL_ERROR_NO_TRADING_MODE", + "PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE", + "PROPOSAL_ERROR_NODE_VALIDATION_FAILED", + "PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD", + "PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS", + "PROPOSAL_ERROR_INVALID_ASSET", + "PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS", + "PROPOSAL_ERROR_NO_RISK_PARAMETERS", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE", + "PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE", + "PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET", + "PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT", + "PROPOSAL_ERROR_INVALID_RISK_PARAMETER", + "PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_INVALID_ASSET_DETAILS", + "PROPOSAL_ERROR_UNKNOWN_TYPE", + "PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE", + "PROPOSAL_ERROR_INVALID_FREEFORM", + "PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE", + "PROPOSAL_ERROR_INVALID_MARKET", + "PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES", + "PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS", + "PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE", + "PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_INVALID_SPOT", + "PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED", + "PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE", + "PROPOSAL_ERROR_INVALID_SLA_PARAMS", + "PROPOSAL_ERROR_MISSING_SLA_PARAMS", + "PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT" + ], + "default": "PROPOSAL_ERROR_UNSPECIFIED", + "description": "- PROPOSAL_ERROR_UNSPECIFIED: Default value\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON: Specified close time is too early based on network parameters\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE: Specified close time is too late based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_SOON: Specified enactment time is too early based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_LATE: Specified enactment time is too late based on network parameters\n - PROPOSAL_ERROR_INSUFFICIENT_TOKENS: Proposer for this proposal has insufficient tokens\n - PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY: Instrument quote name and base name were the same\n - PROPOSAL_ERROR_NO_PRODUCT: Proposal has no product\n - PROPOSAL_ERROR_UNSUPPORTED_PRODUCT: Specified product is not supported\n - PROPOSAL_ERROR_NO_TRADING_MODE: Proposal has no trading mode\n - PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE: Proposal has an unsupported trading mode\n - PROPOSAL_ERROR_NODE_VALIDATION_FAILED: Proposal failed node validation\n - PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD: Field is missing in a builtin asset source\n - PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS: Contract address is missing in the ERC20 asset source\n - PROPOSAL_ERROR_INVALID_ASSET: Asset ID is invalid or does not exist on the Vega network\n - PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS: Proposal terms timestamps are not compatible (Validation \u003c Closing \u003c Enactment)\n - PROPOSAL_ERROR_NO_RISK_PARAMETERS: No risk parameters were specified\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY: Invalid key in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE: Invalid value in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED: Validation failed for network parameter proposal\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL: Opening auction duration is less than the network minimum opening auction time\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE: Opening auction duration is more than the network minimum opening auction time\n - PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET: Market proposal market could not be instantiated in execution\n - PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT: Market proposal market contained invalid product definition\n - PROPOSAL_ERROR_INVALID_RISK_PARAMETER: Market proposal has invalid risk parameter\n - PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED: Proposal was declined because vote didn't reach the majority threshold required\n - PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED: Proposal declined because the participation threshold was not reached\n - PROPOSAL_ERROR_INVALID_ASSET_DETAILS: Asset proposal has invalid asset details\n - PROPOSAL_ERROR_UNKNOWN_TYPE: Proposal is an unknown type\n - PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE: Proposal has an unknown risk parameter type\n - PROPOSAL_ERROR_INVALID_FREEFORM: Validation failed for freeform proposal\n - PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE: Party doesn't have enough equity-like share to propose an update on the market\ntargeted by the proposal\n - PROPOSAL_ERROR_INVALID_MARKET: Market targeted by the proposal does not exist or is not eligible for modification\n - PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES: Market proposal decimal place is higher than the market settlement asset decimal places\n - PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE: LP price range must be larger than 0\n - PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE: LP price range must not be larger than 100\n - PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE: Linear slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE: Quadratic slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_INVALID_SPOT: Validation failed for spot proposal\n - PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED: Spot trading not enabled\n - PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET: Market proposal is invalid, either invalid insurance pool fraction, or it specifies a parent market that it can't succeed.\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED: Governance transfer proposal is invalid\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID: Governance transfer proposal failed\n - PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID: Proposal for cancelling transfer is invalid, check proposal ID\n - PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE: Proposal for updating market state is invalid\n - PROPOSAL_ERROR_INVALID_SLA_PARAMS: Liquidity provision SLA parameters are invalid\n - PROPOSAL_ERROR_MISSING_SLA_PARAMS: Mandatory liquidity provision SLA parameters are missing\n - PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT: Perpetual market proposal contained invalid product definition", + "title": "List of possible errors that can cause a proposal to be in state rejected or failed" + }, + "vegaProposalRationale": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description to show a short title / something in case the link goes offline.\nThis is to be between 0 and 20k unicode characters.\nThis is mandatory for all proposals." + }, + "title": { + "type": "string", + "description": "Title to be used to give a short description of the proposal in lists.\nThis is to be between 0 and 100 unicode characters.\nThis is mandatory for all proposals." + } + }, + "description": "Rationale behind a proposal." + }, + "vegaProposalState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_FAILED", + "STATE_OPEN", + "STATE_PASSED", + "STATE_REJECTED", + "STATE_DECLINED", + "STATE_ENACTED", + "STATE_WAITING_FOR_NODE_VOTE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, always invalid\n - STATE_FAILED: Proposal enactment has failed - even though proposal has passed, its execution could not be performed\n - STATE_OPEN: Proposal is open for voting\n - STATE_PASSED: Proposal has gained enough support to be executed\n - STATE_REJECTED: Proposal wasn't accepted i.e. proposal terms failed validation due to wrong configuration or failed to meet network requirements.\n - STATE_DECLINED: Proposal didn't get enough votes, e.g. either failed to gain required participation or majority level.\n - STATE_ENACTED: Proposal enacted\n - STATE_WAITING_FOR_NODE_VOTE: Waiting for node validation of the proposal", + "title": "Proposal state transition:\nOpen -\u003e\n - Passed -\u003e Enacted.\n - Passed -\u003e Failed.\n - Declined\nRejected\nProposal can enter Failed state from any other state" + }, + "vegaProposalTerms": { + "type": "object", + "properties": { + "closingTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when voting closes for this proposal,\nconstrained by `minClose` and `maxClose` network parameters." + }, + "enactmentTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when proposal gets enacted if passed,\nconstrained by `minEnact` and `maxEnact` network parameters." + }, + "validationTimestamp": { + "type": "string", + "format": "int64", + "description": "Validation timestamp as Unix time in seconds." + }, + "updateMarket": { + "$ref": "#/definitions/vegaUpdateMarket", + "description": "Proposal change for modifying an existing futures market on Vega." + }, + "newMarket": { + "$ref": "#/definitions/vegaNewMarket", + "description": "Proposal change for creating new futures market on Vega." + }, + "updateNetworkParameter": { + "$ref": "#/definitions/vegaUpdateNetworkParameter", + "description": "Proposal change for updating Vega network parameters." + }, + "newAsset": { + "$ref": "#/definitions/vegaNewAsset", + "description": "Proposal change for creating new assets on Vega." + }, + "newFreeform": { + "$ref": "#/definitions/vegaNewFreeform", + "description": "Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system,\nand can be used to gauge community sentiment." + }, + "updateAsset": { + "$ref": "#/definitions/vegaUpdateAsset", + "description": "Proposal change for updating an asset." + }, + "newSpotMarket": { + "$ref": "#/definitions/vegaNewSpotMarket", + "description": "Proposal change for creating new spot market on Vega." + }, + "updateSpotMarket": { + "$ref": "#/definitions/vegaUpdateSpotMarket", + "description": "Proposal change for modifying an existing spot market on Vega." + }, + "newTransfer": { + "$ref": "#/definitions/vegaNewTransfer", + "description": "Proposal change for a governance transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/vegaCancelTransfer", + "description": "Cancel a governance transfer." + }, + "updateMarketState": { + "$ref": "#/definitions/vegaUpdateMarketState", + "description": "Proposal change for updating the state of a market." + } + }, + "title": "Terms for a governance proposal on Vega" + }, + "vegaRecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegaRiskFactor": { + "type": "object", + "properties": { + "market": { + "type": "string", + "description": "Market ID that relates to this risk factor." + }, + "short": { + "type": "string", + "description": "Short Risk factor value." + }, + "long": { + "type": "string", + "description": "Long Risk factor value." + } + }, + "title": "Risk factors are used to calculate the current risk associated with orders trading on a given market" + }, + "vegaScalingFactors": { + "type": "object", + "properties": { + "searchLevel": { + "type": "number", + "format": "double", + "description": "Collateral search level. If collateral dips below this value,\nthe system will search for collateral to release." + }, + "initialMargin": { + "type": "number", + "format": "double", + "description": "Initial margin level. This is the minimum amount of collateral\nrequired to open a position in a market that requires margin." + }, + "collateralRelease": { + "type": "number", + "format": "double", + "description": "Collateral release level. If a trader has collateral above this level,\nthe system will release collateral to a trader's general collateral account\nfor the asset." + } + }, + "title": "Scaling Factors (for use in margin calculation)" + }, + "vegaSide": { + "type": "string", + "enum": [ + "SIDE_UNSPECIFIED", + "SIDE_BUY", + "SIDE_SELL" + ], + "default": "SIDE_UNSPECIFIED", + "description": "- SIDE_UNSPECIFIED: Default value, always invalid\n - SIDE_BUY: Buy order\n - SIDE_SELL: Sell order", + "title": "Side relates to the direction of an order, to Buy, or Sell" + }, + "vegaSimpleModelParams": { + "type": "object", + "properties": { + "factorLong": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for long." + }, + "factorShort": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for short." + }, + "maxMoveUp": { + "type": "number", + "format": "double", + "description": "Pre-defined maximum price move up that the model considers as valid." + }, + "minMoveDown": { + "type": "number", + "format": "double", + "description": "Pre-defined minimum price move down that the model considers as valid." + }, + "probabilityOfTrading": { + "type": "number", + "format": "double", + "description": "Pre-defined constant probability of trading." + } + }, + "title": "Risk model parameters for simple modelling" + }, + "vegaSimpleRiskModel": { + "type": "object", + "properties": { + "params": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Risk model params for simple modelling." + } + }, + "title": "Risk model for simple modelling" + }, + "vegaSpot": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Asset ID of the underlying base asset for the spot product." + }, + "quoteAsset": { + "type": "string", + "description": "Asset ID of the underlying quote asset for the spot product." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + } + }, + "title": "Spot product definition" + }, + "vegaSpotProduct": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Base asset ID." + }, + "quoteAsset": { + "type": "string", + "description": "Quote asset ID." + }, + "name": { + "type": "string", + "description": "Product name." + } + }, + "title": "Spot product configuration" + }, + "vegaStopOrder": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "ID of this stop order\nalso the ID of the associated order if it is ever triggered" + }, + "ocoLinkId": { + "type": "string", + "title": "The ID of the 'other' part of the OCO if 2 stop orders were submitted at once" + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "triggerDirection": { + "$ref": "#/definitions/StopOrderTriggerDirection", + "description": "Trigger direction for this stop order." + }, + "status": { + "$ref": "#/definitions/vegaStopOrderStatus", + "description": "Status of the stop order." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Creation time of the stop order." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Last update of this stop order." + }, + "orderId": { + "type": "string", + "description": "ID of the order created once the trigger is hit." + }, + "partyId": { + "type": "string", + "description": "ID of the party that submitted this stop order." + }, + "marketId": { + "type": "string", + "description": "ID of the market the stop order is submitted to." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "title": "Trailing percentage at which the order will be submitted.\nThis should be expressed as a decimal value between 0 and 1, e.g. 0.01 for 1%" + } + } + }, + "vegaStopOrderStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_TRIGGERED", + "STATUS_EXPIRED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Never valid\n - STATUS_PENDING: Pending to be executed once the trigger is breached\n - STATUS_CANCELLED: Cancelled by the user\n - STATUS_STOPPED: Stopped by the network, e.g: OCO on the other side has been triggered\n - STATUS_TRIGGERED: Stop order has been triggered and generated an order\n - STATUS_EXPIRED: Stop order has expired\n - STATUS_REJECTED: Stop order was rejected at submission" + }, + "vegaSuccessorConfiguration": { + "type": "object", + "properties": { + "parentMarketId": { + "type": "string", + "description": "ID of the market that the successor should take over from." + }, + "insurancePoolFraction": { + "type": "string", + "description": "A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor." + } + }, + "description": "Configuration required to turn a new market proposal in to a successor market proposal." + }, + "vegaTargetStakeParameters": { + "type": "object", + "properties": { + "timeWindow": { + "type": "string", + "format": "int64", + "description": "Specifies length of time window expressed in seconds for target stake calculation." + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Specifies scaling factors used in target stake calculation." + } + }, + "title": "TargetStakeParameters contains parameters used in target stake calculation" + }, + "vegaTradableInstrument": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrument", + "description": "Details for the underlying instrument." + }, + "marginCalculator": { + "$ref": "#/definitions/vegaMarginCalculator", + "description": "Margin calculator for the instrument." + }, + "logNormalRiskModel": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal." + }, + "simpleRiskModel": { + "$ref": "#/definitions/vegaSimpleRiskModel", + "description": "Simple." + } + }, + "title": "Tradable Instrument definition" + }, + "vegaTrade": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the trade." + }, + "marketId": { + "type": "string", + "description": "Market ID on which the trade occurred." + }, + "price": { + "type": "string", + "description": "Price for the trade, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size filled for the trade." + }, + "buyer": { + "type": "string", + "description": "Unique party ID for the buyer." + }, + "seller": { + "type": "string", + "description": "Unique party ID for the seller." + }, + "aggressor": { + "$ref": "#/definitions/vegaSide", + "description": "Direction of the aggressive party e.g. SIDE_BUY or SIDE_SELL." + }, + "buyOrder": { + "type": "string", + "description": "Identifier of the order from the buy side." + }, + "sellOrder": { + "type": "string", + "description": "Identifier of the order from the sell side." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the trade occurred." + }, + "type": { + "$ref": "#/definitions/vegaTradeType", + "description": "Type for the trade." + }, + "buyerFee": { + "$ref": "#/definitions/vegaFee", + "description": "Fee amount charged to the buyer party for the trade." + }, + "sellerFee": { + "$ref": "#/definitions/vegaFee", + "description": "Fee amount charged to the seller party for the trade." + }, + "buyerAuctionBatch": { + "type": "string", + "format": "uint64", + "description": "Auction batch number that the buy side order was placed in." + }, + "sellerAuctionBatch": { + "type": "string", + "format": "uint64", + "description": "Auction batch number that the sell side order was placed in." + } + }, + "title": "A trade occurs when an aggressive order crosses one or more passive orders on the order book for a market on Vega" + }, + "vegaTradeType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_DEFAULT", + "TYPE_NETWORK_CLOSE_OUT_GOOD", + "TYPE_NETWORK_CLOSE_OUT_BAD" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_DEFAULT: Normal trading between two parties\n - TYPE_NETWORK_CLOSE_OUT_GOOD: Trading initiated by the network with another party on the book,\nwhich helps to zero-out the positions of one or more distressed parties\n - TYPE_NETWORK_CLOSE_OUT_BAD: Trading initiated by the network with another party off the book,\nwith a distressed party in order to zero-out the position of the party", + "title": "Type values for a trade" + }, + "vegaTransferType": { + "type": "string", + "enum": [ + "TRANSFER_TYPE_UNSPECIFIED", + "TRANSFER_TYPE_LOSS", + "TRANSFER_TYPE_WIN", + "TRANSFER_TYPE_MTM_LOSS", + "TRANSFER_TYPE_MTM_WIN", + "TRANSFER_TYPE_MARGIN_LOW", + "TRANSFER_TYPE_MARGIN_HIGH", + "TRANSFER_TYPE_MARGIN_CONFISCATED", + "TRANSFER_TYPE_MAKER_FEE_PAY", + "TRANSFER_TYPE_MAKER_FEE_RECEIVE", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE", + "TRANSFER_TYPE_LIQUIDITY_FEE_PAY", + "TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE", + "TRANSFER_TYPE_BOND_LOW", + "TRANSFER_TYPE_BOND_HIGH", + "TRANSFER_TYPE_WITHDRAW", + "TRANSFER_TYPE_DEPOSIT", + "TRANSFER_TYPE_BOND_SLASHING", + "TRANSFER_TYPE_REWARD_PAYOUT", + "TRANSFER_TYPE_TRANSFER_FUNDS_SEND", + "TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE", + "TRANSFER_TYPE_CLEAR_ACCOUNT", + "TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE", + "TRANSFER_TYPE_SPOT", + "TRANSFER_TYPE_HOLDING_LOCK", + "TRANSFER_TYPE_HOLDING_RELEASE", + "TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION", + "TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE", + "TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE", + "TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY", + "TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY", + "TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT", + "TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE", + "TRANSFER_TYPE_PERP_FUNDING_LOSS", + "TRANSFER_TYPE_PERP_FUNDING_WIN" + ], + "default": "TRANSFER_TYPE_UNSPECIFIED", + "description": "- TRANSFER_TYPE_UNSPECIFIED: Default value, always invalid\n - TRANSFER_TYPE_LOSS: Funds deducted after final settlement loss\n - TRANSFER_TYPE_WIN: Funds added to general account after final settlement gain\n - TRANSFER_TYPE_MTM_LOSS: Funds deducted from margin account after mark to market loss\n - TRANSFER_TYPE_MTM_WIN: Funds added to margin account after mark to market gain\n - TRANSFER_TYPE_MARGIN_LOW: Funds transferred from general account to meet margin requirement\n - TRANSFER_TYPE_MARGIN_HIGH: Excess margin amount returned to general account\n - TRANSFER_TYPE_MARGIN_CONFISCATED: Margin confiscated from margin account to fulfil closeout\n - TRANSFER_TYPE_MAKER_FEE_PAY: Maker fee paid from general account\n - TRANSFER_TYPE_MAKER_FEE_RECEIVE: Maker fee received into general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY: Infrastructure fee paid from general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE: Infrastructure fee received into general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_PAY: Liquidity fee paid from general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE: Liquidity fee received into general account\n - TRANSFER_TYPE_BOND_LOW: Bond account funded from general account to meet required bond amount\n - TRANSFER_TYPE_BOND_HIGH: Bond returned to general account after liquidity commitment was reduced\n - TRANSFER_TYPE_WITHDRAW: Funds withdrawn from general account\n - TRANSFER_TYPE_DEPOSIT: Funds deposited to general account\n - TRANSFER_TYPE_BOND_SLASHING: Bond account penalised when liquidity commitment not met\n - TRANSFER_TYPE_REWARD_PAYOUT: Reward payout received\n - TRANSFER_TYPE_TRANSFER_FUNDS_SEND: Internal Vega network instruction for the collateral engine to move funds from a user's general account into the pending transfers pool\n - TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE: Internal Vega network instruction for the collateral engine to move funds from the pending transfers pool account into the destination account\n - TRANSFER_TYPE_CLEAR_ACCOUNT: Market-related accounts emptied because market has closed\n - TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE: Balances restored after network restart\n - TRANSFER_TYPE_SPOT: Spot trade delivery\n - TRANSFER_TYPE_HOLDING_LOCK: An internal instruction to transfer a quantity corresponding to an active spot order from a general account into a party holding account.\n - TRANSFER_TYPE_HOLDING_RELEASE: An internal instruction to transfer an excess quantity corresponding to an active spot order from a holding account into a party general account.\n - TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION: Insurance pool fraction transfer from parent to successor market.\n - TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE: Allocates liquidity fee earnings to each liquidity provider's network controlled liquidity fee account.\n - TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE: Distributes net fee earnings from liquidity provider's fee account to their general account.\n - TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY: Applies SLA penalty by moving funds from party's bond account to market's insurance pool.\n - TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY: Applies SLA penalty by moving funds from the liquidity provider's fee account to market insurance pool.\n - TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT: Collects penalties from the liquidity provider's fee account before the fee revenue is paid, and transfers it to the market's bonus distribution account.\n - TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE: Distributes performance bonus from market bonus to liquidity provider's general account.\n - TRANSFER_TYPE_PERP_FUNDING_LOSS: Funds deducted from margin account after a perpetuals funding loss.\n - TRANSFER_TYPE_PERP_FUNDING_WIN: Funds added to margin account after a perpetuals funding gain.", + "title": "Transfers can occur between parties on Vega, these are the types that indicate why a transfer took place" + }, + "vegaUpdateAsset": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaAssetDetailsUpdate", + "description": "Changes to apply on an existing asset." + } + }, + "title": "Update an existing asset on Vega" + }, + "vegaUpdateFutureProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data of settlement data." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data source for trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "The binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaUpdateInstrumentConfiguration": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaUpdateFutureProduct", + "description": "Future." + }, + "perpetual": { + "$ref": "#/definitions/vegaUpdatePerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaUpdateMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateMarketConfiguration", + "description": "Updated configuration of the futures market." + } + }, + "title": "Update an existing market on Vega" + }, + "vegaUpdateMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaUpdateInstrumentConfiguration", + "description": "Updated futures market instrument configuration." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + } + }, + "title": "Configuration to update a futures market on Vega" + }, + "vegaUpdateMarketState": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaUpdateMarketStateConfiguration", + "title": "Configuration for governance-initiated change of a market's state" + } + } + }, + "vegaUpdateMarketStateConfiguration": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "ID of the market" + }, + "updateType": { + "$ref": "#/definitions/vegaMarketStateUpdateType", + "title": "Type of the market update" + }, + "price": { + "type": "string", + "title": "Settlement price, relevant only for market termination for futures markets" + } + } + }, + "vegaUpdateNetworkParameter": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "The network parameter to update." + } + }, + "title": "Update network configuration on Vega" + }, + "vegaUpdatePerpetualProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaUpdateSpotMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateSpotMarketConfiguration", + "description": "Updated configuration of the spot market." + } + }, + "title": "Update an existing spot market on Vega" + }, + "vegaUpdateSpotMarketConfiguration": { + "type": "object", + "properties": { + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration to update a spot market on Vega" + }, + "vegaVote": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "description": "Voter's party ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Which way the party voted." + }, + "proposalId": { + "type": "string", + "description": "Proposal ID being voted on." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds when the vote was acknowledged by the network." + }, + "totalGovernanceTokenBalance": { + "type": "string", + "description": "Total number of governance token for the party that cast the vote." + }, + "totalGovernanceTokenWeight": { + "type": "string", + "description": "The weight of this vote based on the total number of governance tokens." + }, + "totalEquityLikeShareWeight": { + "type": "string", + "description": "The weight of the vote compared to the total amount of equity-like share on the market." + } + }, + "title": "Governance vote" + }, + "vegaVoteValue": { + "type": "string", + "enum": [ + "VALUE_UNSPECIFIED", + "VALUE_NO", + "VALUE_YES" + ], + "default": "VALUE_UNSPECIFIED", + "description": "- VALUE_UNSPECIFIED: Default value, always invalid\n - VALUE_NO: Vote against the proposal\n - VALUE_YES: Vote in favour of the proposal", + "title": "Vote value" + }, + "vegaWithdrawExt": { + "type": "object", + "properties": { + "erc20": { + "$ref": "#/definitions/vegaErc20WithdrawExt", + "description": "ERC20 withdrawal details." + } + }, + "title": "Withdrawal external details" + }, + "vegaWithdrawal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the withdrawal." + }, + "partyId": { + "type": "string", + "description": "Unique party ID of the user initiating the withdrawal." + }, + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to withdraw funds from." + }, + "status": { + "$ref": "#/definitions/vegaWithdrawalStatus", + "description": "Status of the withdrawal." + }, + "ref": { + "type": "string", + "description": "Reference which is used by the foreign chain\nto refer to this withdrawal." + }, + "txHash": { + "type": "string", + "description": "Hash of the foreign chain for this transaction." + }, + "createdTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the network started to process this withdrawal." + }, + "withdrawnTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the withdrawal was finalised by the network." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Withdrawal from the Vega network" + }, + "vegaWithdrawalStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_OPEN", + "STATUS_REJECTED", + "STATUS_FINALIZED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_OPEN: Withdrawal is open and being processed by the network\n - STATUS_REJECTED: Withdrawal have been cancelled\n - STATUS_FINALIZED: Withdrawal went through and is fully finalised, the funds are removed from the\nVega network and are unlocked on the foreign chain bridge, for example, on the Ethereum network", + "title": "Status of the withdrawal" + }, + "vegacommandsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegacommandsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64", + "description": "First epoch from which this transfer shall be paid." + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "factor": { + "type": "string", + "description": "Factor needs to be \u003e 0." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegacommandsv1Transfer": { + "type": "object", + "properties": { + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type from which the funds of the party\nshould be taken." + }, + "to": { + "type": "string", + "description": "Public key of the destination account." + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the destination account." + }, + "asset": { + "type": "string", + "description": "Asset ID of the asset to be transferred." + }, + "amount": { + "type": "string", + "description": "Amount to be taken from the source account. This field is an unsigned integer scaled to the asset's decimal places." + }, + "reference": { + "type": "string", + "description": "Reference to be attached to the transfer." + }, + "oneOff": { + "$ref": "#/definitions/vegacommandsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegacommandsv1RecurringTransfer" + } + }, + "title": "Transfer initiated by a party" + }, + "vegaeventsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64" + } + } + }, + "vegaeventsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64" + }, + "factor": { + "type": "string" + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy" + } + } + }, + "vegaeventsv1Transfer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "from": { + "type": "string" + }, + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType" + }, + "to": { + "type": "string" + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType" + }, + "asset": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/v1TransferStatus" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "reason": { + "type": "string" + }, + "oneOff": { + "$ref": "#/definitions/vegaeventsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaeventsv1RecurringTransfer" + }, + "oneOffGovernance": { + "$ref": "#/definitions/v1OneOffGovernanceTransfer" + }, + "recurringGovernance": { + "$ref": "#/definitions/v1RecurringGovernanceTransfer" + } + } + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/api/v1/corestate.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/api/v1/corestate.swagger.json new file mode 100644 index 000000000..4ed51fc61 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/api/v1/corestate.swagger.json @@ -0,0 +1,2642 @@ +{ + "swagger": "2.0", + "info": { + "title": "Vega core state APIs", + "version": "v0.72.1" + }, + "tags": [ + { + "name": "CoreStateService" + } + ], + "host": "lb.testnet.vega.xyz", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "ConditionOperator": { + "type": "string", + "enum": [ + "OPERATOR_UNSPECIFIED", + "OPERATOR_EQUALS", + "OPERATOR_GREATER_THAN", + "OPERATOR_GREATER_THAN_OR_EQUAL", + "OPERATOR_LESS_THAN", + "OPERATOR_LESS_THAN_OR_EQUAL" + ], + "default": "OPERATOR_UNSPECIFIED", + "description": "Operator describes the type of comparison.\n\n - OPERATOR_UNSPECIFIED: The default value\n - OPERATOR_EQUALS: Verify if the property values are strictly equal or not.\n - OPERATOR_GREATER_THAN: Verify if the data source data value is greater than the Condition value.\n - OPERATOR_GREATER_THAN_OR_EQUAL: Verify if the data source data value is greater than or equal to the Condition\nvalue.\n - OPERATOR_LESS_THAN: Verify if the data source data value is less than the Condition value.\n - OPERATOR_LESS_THAN_OR_EQUAL: Verify if the data source data value is less or equal to than the Condition\nvalue." + }, + "MarketTradingMode": { + "type": "string", + "enum": [ + "TRADING_MODE_UNSPECIFIED", + "TRADING_MODE_CONTINUOUS", + "TRADING_MODE_BATCH_AUCTION", + "TRADING_MODE_OPENING_AUCTION", + "TRADING_MODE_MONITORING_AUCTION", + "TRADING_MODE_NO_TRADING", + "TRADING_MODE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "TRADING_MODE_UNSPECIFIED", + "description": "- TRADING_MODE_UNSPECIFIED: Default value, this is invalid\n - TRADING_MODE_CONTINUOUS: Normal trading\n - TRADING_MODE_BATCH_AUCTION: Auction trading (FBA)\n - TRADING_MODE_OPENING_AUCTION: Opening auction\n - TRADING_MODE_MONITORING_AUCTION: Auction triggered by monitoring\n - TRADING_MODE_NO_TRADING: No trading is allowed\n - TRADING_MODE_SUSPENDED_VIA_GOVERNANCE: Special auction mode triggered via governance", + "title": "Trading mode the market is currently running, also referred to as 'market state'" + }, + "apiv1Account": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "market": { + "type": "string" + }, + "balance": { + "type": "string" + }, + "asset": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "protobufNullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "v1Condition": { + "type": "object", + "properties": { + "operator": { + "$ref": "#/definitions/ConditionOperator", + "description": "Type of comparison to make on the value." + }, + "value": { + "type": "string", + "description": "Value to be compared with by the operator." + } + }, + "title": "Condition describes the condition that must be validated by the network" + }, + "v1ETHAddress": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "v1Filter": { + "type": "object", + "properties": { + "key": { + "$ref": "#/definitions/v1PropertyKey", + "description": "Data source's data property key targeted by the filter." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that should be matched by the data to be\nconsidered of interest." + } + }, + "description": "Filter describes the conditions under which a data source data is considered of\ninterest or not." + }, + "v1InternalTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "int64", + "description": "Trigger when the vega time is greater or equal to this time, in Unix seconds." + }, + "every": { + "type": "string", + "format": "int64", + "description": "Repeat the trigger every n seconds after the initial. If no time for\ninitial was specified, begin repeating immediately." + } + }, + "description": "Trigger for an internal time data source." + }, + "v1ListAccountsResponse": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/apiv1Account" + } + } + } + }, + "v1ListAssetsResponse": { + "type": "object", + "properties": { + "assets": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaAsset" + } + } + } + }, + "v1ListDelegationsResponse": { + "type": "object", + "properties": { + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDelegation" + } + } + } + }, + "v1ListMarketsDataResponse": { + "type": "object", + "properties": { + "marketsData": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketData" + } + } + } + }, + "v1ListMarketsResponse": { + "type": "object", + "properties": { + "markets": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarket" + } + } + } + }, + "v1ListNetworkLimitsResponse": { + "type": "object", + "properties": { + "networkLimits": { + "$ref": "#/definitions/vegaNetworkLimits" + } + } + }, + "v1ListNetworkParametersResponse": { + "type": "object", + "properties": { + "networkParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNetworkParameter" + } + } + } + }, + "v1ListPartiesResponse": { + "type": "object", + "properties": { + "parties": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaParty" + } + } + } + }, + "v1ListPartiesStakeResponse": { + "type": "object", + "properties": { + "partiesStake": { + "type": "array", + "items": { + "$ref": "#/definitions/v1PartyStake" + } + } + } + }, + "v1ListProposalsResponse": { + "type": "object", + "properties": { + "proposals": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaProposal" + } + } + } + }, + "v1ListValidatorsResponse": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ValidatorUpdate" + } + } + } + }, + "v1ListVotesResponse": { + "type": "object", + "properties": { + "votes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVote" + } + } + } + }, + "v1PartyStake": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "currentStakeAvailable": { + "type": "string" + }, + "stakeLinkings": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StakeLinking" + } + } + } + }, + "v1PropertyKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "type": { + "$ref": "#/definitions/v1PropertyKeyType", + "description": "Data type of the property." + }, + "numberDecimalPlaces": { + "type": "string", + "format": "uint64", + "title": "Optional decimal place to be be applied on the provided value\nvalid only for PropertyType of type DECIMAL and INTEGER" + } + }, + "description": "PropertyKey describes the property key contained in data source data." + }, + "v1PropertyKeyType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_EMPTY", + "TYPE_INTEGER", + "TYPE_STRING", + "TYPE_BOOLEAN", + "TYPE_DECIMAL", + "TYPE_TIMESTAMP" + ], + "default": "TYPE_UNSPECIFIED", + "description": "Type describes the data type of properties that are supported by the data source\nengine.\n\n - TYPE_UNSPECIFIED: The default value.\n - TYPE_EMPTY: Any type.\n - TYPE_INTEGER: Integer type.\n - TYPE_STRING: String type.\n - TYPE_BOOLEAN: Boolean type.\n - TYPE_DECIMAL: Any floating point decimal type.\n - TYPE_TIMESTAMP: Timestamp date type." + }, + "v1PubKey": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + }, + "description": "PubKey is the public key that signed this data.\nDifferent public keys coming from different sources will be further separated." + }, + "v1Signer": { + "type": "object", + "properties": { + "pubKey": { + "$ref": "#/definitions/v1PubKey", + "description": "List of authorized public keys that signed the data for this\nsource. All the public keys in the data should be contained in these\npublic keys." + }, + "ethAddress": { + "$ref": "#/definitions/v1ETHAddress", + "description": "In case of an open oracle - Ethereum address will be submitted." + } + } + }, + "v1StakeLinking": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Internal ID for this staking event" + }, + "type": { + "$ref": "#/definitions/v1StakeLinkingType", + "description": "Stake linking event type." + }, + "ts": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the event was emitted by Ethereum." + }, + "party": { + "type": "string", + "description": "Party to whom the event is directed at." + }, + "amount": { + "type": "string", + "description": "Amount of stake deposited or removed." + }, + "status": { + "$ref": "#/definitions/v1StakeLinkingStatus", + "description": "Status of the event." + }, + "finalizedAt": { + "type": "string", + "format": "int64", + "description": "Time at which the Vega network finalised the state of the event." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction in which the event happened." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Block when the event happened." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Block time." + }, + "logIndex": { + "type": "string", + "format": "uint64", + "description": "Log index." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum address from which the stake link was initiated." + } + }, + "title": "StakeLinking - an event notifying of stake being deposited or removed for a given party\nThese events are emitted for every Staking deposit or removed accepted by the network" + }, + "v1StakeLinkingStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_ACCEPTED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates an event waiting for confirmation from the Vega network\n - STATUS_ACCEPTED: Indicates an event accepted by the Vega network\n - STATUS_REJECTED: Indicates an event rejected by the Vega network" + }, + "v1StakeLinkingType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LINK", + "TYPE_UNLINK" + ], + "default": "TYPE_UNSPECIFIED", + "title": "- TYPE_UNSPECIFIED: Default value\n - TYPE_LINK: Indicate of a stake deposit instruction\n - TYPE_UNLINK: Indicate of a stake remove instruction" + }, + "v1ValidatorUpdate": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the validator node" + }, + "vegaPubKey": { + "type": "string", + "title": "Vega public key of validator node" + }, + "ethereumAddress": { + "type": "string", + "title": "Ethereum public key of validator node" + }, + "tmPubKey": { + "type": "string", + "title": "Public key of Tendermint" + }, + "infoUrl": { + "type": "string", + "title": "URL with more info on the node" + }, + "country": { + "type": "string", + "title": "Country code (ISO 3166-1 alpha-2) for the location of the node" + }, + "name": { + "type": "string", + "title": "Name of the validator" + }, + "avatarUrl": { + "type": "string", + "title": "AvatarURL of the validator" + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "title": "Vega public key derivation index" + }, + "added": { + "type": "boolean", + "title": "Flag indicating if the validator has been added to or removed from vega" + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the announced pending node will start participating in the network" + }, + "submitterAddress": { + "type": "string", + "title": "Ethereum public key being used as the submitter to allow automatic signature generation" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the node was announced or removed from the network" + } + }, + "title": "Validator update event contains information about validator node" + }, + "vegaAccountType": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ], + "default": "ACCOUNT_TYPE_UNSPECIFIED", + "description": "- ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "title": "Various collateral/account types as used by Vega" + }, + "vegaAsset": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Internal identifier of the asset." + }, + "details": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Definition of the external source for this asset." + }, + "status": { + "$ref": "#/definitions/vegaAssetStatus", + "description": "Status of the asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetails": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the asset (e.g: Great British Pound)." + }, + "symbol": { + "type": "string", + "description": "Symbol of the asset (e.g: GBP)." + }, + "decimals": { + "type": "string", + "format": "uint64", + "description": "Number of decimal / precision handled by this asset." + }, + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "builtinAsset": { + "$ref": "#/definitions/vegaBuiltinAsset", + "description": "Vega built-in asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20", + "description": "Ethereum ERC20 asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetailsUpdate": { + "type": "object", + "properties": { + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Update", + "description": "Ethereum ERC20 asset update." + } + }, + "description": "Changes to apply on an existing asset." + }, + "vegaAssetStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PROPOSED", + "STATUS_REJECTED", + "STATUS_PENDING_LISTING", + "STATUS_ENABLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_PROPOSED: Asset is proposed and under vote\n - STATUS_REJECTED: Asset has been rejected from governance\n - STATUS_PENDING_LISTING: Asset is pending listing from the bridge\n - STATUS_ENABLED: Asset is fully usable in the network" + }, + "vegaAuctionDuration": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "format": "int64", + "description": "Duration of the auction in seconds." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Target uncrossing trading volume." + } + }, + "title": "Auction duration is used to configure 3 auction periods:\n1. `duration \u003e 0`, `volume == 0`:\n The auction will last for at least N seconds\n2. `duration == 0`, `volume \u003e 0`:\n The auction will end once the given volume will match at uncrossing\n3. `duration \u003e 0`, `volume \u003e 0`:\n The auction will take at least N seconds, but can end sooner if the market can trade a certain volume" + }, + "vegaAuctionTrigger": { + "type": "string", + "enum": [ + "AUCTION_TRIGGER_UNSPECIFIED", + "AUCTION_TRIGGER_BATCH", + "AUCTION_TRIGGER_OPENING", + "AUCTION_TRIGGER_PRICE", + "AUCTION_TRIGGER_LIQUIDITY", + "AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET", + "AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS", + "AUCTION_TRIGGER_GOVERNANCE_SUSPENSION" + ], + "default": "AUCTION_TRIGGER_UNSPECIFIED", + "description": "- AUCTION_TRIGGER_UNSPECIFIED: Default value for AuctionTrigger, no auction triggered\n - AUCTION_TRIGGER_BATCH: Batch auction\n - AUCTION_TRIGGER_OPENING: Opening auction\n - AUCTION_TRIGGER_PRICE: Price monitoring trigger\n - AUCTION_TRIGGER_LIQUIDITY: Deprecated\n - AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET: Liquidity auction due to not enough committed liquidity\n - AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS: Liquidity auction due to not being able to deploy LP orders because there's nothing to peg on one or both sides of the book\n - AUCTION_TRIGGER_GOVERNANCE_SUSPENSION: Market is suspended and put into auction via governance", + "title": "Auction triggers indicate what condition triggered an auction (if market is in auction mode)" + }, + "vegaBuiltinAsset": { + "type": "object", + "properties": { + "maxFaucetAmountMint": { + "type": "string", + "description": "Maximum amount that can be requested by a party through the built-in asset faucet at a time." + } + }, + "title": "Vega internal asset" + }, + "vegaCancelTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaCancelTransferConfiguration", + "title": "Configuration for cancellation of a governance-initiated transfer" + } + } + }, + "vegaCancelTransferConfiguration": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "ID of the governance transfer proposal." + } + } + }, + "vegaDataSourceDefinition": { + "type": "object", + "properties": { + "internal": { + "$ref": "#/definitions/vegaDataSourceDefinitionInternal" + }, + "external": { + "$ref": "#/definitions/vegaDataSourceDefinitionExternal" + } + }, + "description": "Represents the top level object that handles data sources.\nData source definition can be external or internal, with whatever\nnumber of data sources are defined for each type in the child objects below." + }, + "vegaDataSourceDefinitionExternal": { + "type": "object", + "properties": { + "oracle": { + "$ref": "#/definitions/vegaDataSourceSpecConfiguration" + }, + "ethOracle": { + "$ref": "#/definitions/vegaEthCallSpec", + "description": "Contains the data specification that is received from Ethereum sources." + } + }, + "description": "DataSourceDefinitionExternal is the top level object used for all external\ndata sources. It contains one of any of the defined `SourceType` variants." + }, + "vegaDataSourceDefinitionInternal": { + "type": "object", + "properties": { + "time": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTime" + }, + "timeTrigger": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTimeTrigger" + } + }, + "description": "Top level object used for all internal data sources.\nIt contains one of any of the defined source type variants." + }, + "vegaDataSourceSpec": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Hash generated from the DataSpec data." + }, + "createdAt": { + "type": "string", + "format": "int64", + "title": "Creation date and time" + }, + "updatedAt": { + "type": "string", + "format": "int64", + "title": "Last Updated timestamp" + }, + "data": { + "$ref": "#/definitions/vegaDataSourceDefinition" + }, + "status": { + "$ref": "#/definitions/vegaDataSourceSpecStatus", + "title": "Status describes the status of the data source spec" + } + }, + "description": "Data source spec describes the data source base that a product or a risk\nmodel wants to get from the data source engine. This message contains\nadditional information used by the API." + }, + "vegaDataSourceSpecConfiguration": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + }, + "description": "Signers is the list of authorized signatures that signed the data for this\nsource. All the signatures in the data source data should be contained in\nthis external source. All the signatures in the data should be contained in\nthis list." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "description": "Filters describes which source data are considered of interest or not for\nthe product (or the risk model)." + } + }, + "description": "All types of external data sources use the same configuration set for meeting\nrequirements in order for the data to be useful for Vega - valid signatures\nand matching filters." + }, + "vegaDataSourceSpecConfigurationTime": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps should meet in order to be considered." + } + }, + "description": "Internal data source used for emitting timestamps." + }, + "vegaDataSourceSpecConfigurationTimeTrigger": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps need to meet in order to be considered." + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1InternalTimeTrigger" + }, + "title": "An internal time trigger" + } + }, + "description": "Internal data source used for emitting timestamps automatically using predefined intervals and conditions." + }, + "vegaDataSourceSpecStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_DEACTIVATED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value.\n - STATUS_ACTIVE: STATUS_ACTIVE describes an active data source spec.\n - STATUS_DEACTIVATED: STATUS_DEACTIVATED describes a data source spec that is not listening to\ndata anymore.", + "title": "Status describe the status of the data source spec" + }, + "vegaDataSourceSpecToFutureBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the Future will use the value of\nthis property as settlement data." + }, + "tradingTerminationProperty": { + "type": "string", + "description": "Name of the property in the data source data that signals termination of trading." + } + }, + "title": "DataSourceSpecToFutureBinding describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDataSourceSpecToPerpetualBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + }, + "settlementScheduleProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + } + }, + "title": "Describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDelegation": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Party which is delegating." + }, + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Amount delegated. This field is an unsigned integer scaled to the asset's decimal places." + }, + "epochSeq": { + "type": "string", + "description": "Epoch of delegation." + } + } + }, + "vegaDispatchMetric": { + "type": "string", + "enum": [ + "DISPATCH_METRIC_UNSPECIFIED", + "DISPATCH_METRIC_MAKER_FEES_PAID", + "DISPATCH_METRIC_MAKER_FEES_RECEIVED", + "DISPATCH_METRIC_LP_FEES_RECEIVED", + "DISPATCH_METRIC_MARKET_VALUE" + ], + "default": "DISPATCH_METRIC_UNSPECIFIED", + "title": "- DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that is using the total maker fees paid in the market\n - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that is using the total maker fees received in the market\n - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that is using the total LP fees received in the market\n - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that is using total value of the market if above the required threshold and not paid given proposer bonus yet" + }, + "vegaDispatchStrategy": { + "type": "object", + "properties": { + "assetForMetric": { + "type": "string", + "description": "Asset to use for metric." + }, + "metric": { + "$ref": "#/definitions/vegaDispatchMetric", + "description": "Metric to apply." + }, + "markets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional markets in scope." + } + } + }, + "vegaERC20": { + "type": "object", + "properties": { + "contractAddress": { + "type": "string", + "description": "Address of the contract for the token, on the ethereum network." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + }, + "title": "ERC20 token based asset, living on the ethereum network" + }, + "vegaERC20Update": { + "type": "object", + "properties": { + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address.\nThis will be interpreted against the asset decimals.\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + } + }, + "vegaEthCallSpec": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Ethereum address of the contract to call." + }, + "abi": { + "type": "string", + "description": "The ABI of that contract." + }, + "method": { + "type": "string", + "description": "Name of the method on the contract to call." + }, + "args": { + "type": "array", + "items": { + "type": "object" + }, + "description": "List of arguments to pass to method call.\nProtobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum\ntype according to the ABI." + }, + "trigger": { + "$ref": "#/definitions/vegaEthCallTrigger", + "description": "Conditions for determining when to call the contract method." + }, + "requiredConfirmations": { + "type": "string", + "format": "uint64", + "title": "Number of confirmations required before the query is considered verified" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "title": "Filters the data returned from the contract method" + }, + "normalisers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNormaliser" + }, + "description": "Normalisers are used to convert the data returned from the contract method\ninto a standard format. The key of the map is the name of the property,\nwhich identifies the specific piece of data to other parts of the data\nsourcing framework, for example filters. The value is a JSONPath expression\nfor expressing where in the contract call result the required data is\nlocated, for example $[0] indicates the first result. $[1].price would look\nin the second result returned from the contract for a structure with a key\ncalled 'price' and use that if it exists." + } + }, + "description": "Specifies a data source that derives its content from calling a read method\non an Ethereum contract." + }, + "vegaEthCallTrigger": { + "type": "object", + "properties": { + "timeTrigger": { + "$ref": "#/definitions/vegaEthTimeTrigger" + } + }, + "description": "Determines when the contract method should be called." + }, + "vegaEthTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "uint64", + "description": "Trigger when the Ethereum time is greater or equal to this time, in Unix\nseconds." + }, + "every": { + "type": "string", + "format": "uint64", + "description": "Repeat the call every n seconds after the initial call. If no time for\ninitial call was specified, begin repeating immediately." + }, + "until": { + "type": "string", + "format": "uint64", + "description": "If repeating, stop once Ethereum time is greater than this time, in Unix\nseconds. If not set, then repeat indefinitely." + } + }, + "description": "Trigger for an Ethereum call based on the Ethereum block timestamp. Can be\none-off or repeating." + }, + "vegaFeeFactors": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Market maker fee charged network wide." + }, + "infrastructureFee": { + "type": "string", + "description": "Infrastructure fee charged network wide for staking and governance." + }, + "liquidityFee": { + "type": "string", + "description": "Liquidity fee applied per market for market making." + } + }, + "title": "Fee factors definition" + }, + "vegaFees": { + "type": "object", + "properties": { + "factors": { + "$ref": "#/definitions/vegaFeeFactors", + "description": "Fee factors." + } + }, + "title": "Fees definition" + }, + "vegaFuture": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the future." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the settlement data source filter." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the trading termination data source filter." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data spec and the data source." + } + }, + "title": "Future product definition" + }, + "vegaFutureProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The external data source spec describing the data source of trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaGovernanceTransferType": { + "type": "string", + "enum": [ + "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED", + "GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING", + "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT" + ], + "default": "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED" + }, + "vegaInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique instrument ID." + }, + "code": { + "type": "string", + "description": "Code for the instrument." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + }, + "metadata": { + "$ref": "#/definitions/vegaInstrumentMetadata", + "description": "Collection of instrument meta-data." + }, + "future": { + "$ref": "#/definitions/vegaFuture", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpot", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetual", + "description": "Perpetual." + } + }, + "title": "Instrument definition" + }, + "vegaInstrumentConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Instrument name." + }, + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaFutureProduct", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpotProduct", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaInstrumentMetadata": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of 0 or more tags." + } + }, + "title": "Instrument metadata definition" + }, + "vegaLiquidityMonitoringParameters": { + "type": "object", + "properties": { + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "triggeringRatio": { + "type": "string", + "description": "Specifies the triggering ratio for entering liquidity auction." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction." + } + }, + "title": "LiquidityMonitoringParameters contains settings used for liquidity monitoring" + }, + "vegaLiquidityProviderFeeShare": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Liquidity provider party ID." + }, + "equityLikeShare": { + "type": "string", + "description": "Share own by this liquidity provider." + }, + "averageEntryValuation": { + "type": "string", + "description": "Average entry valuation of the liquidity provider for the market." + }, + "averageScore": { + "type": "string", + "description": "Average liquidity score." + }, + "virtualStake": { + "type": "string", + "description": "The virtual stake of this liquidity provider." + } + }, + "title": "Equity like share of liquidity fee for each liquidity provider" + }, + "vegaLiquiditySLAParameters": { + "type": "object", + "properties": { + "priceRange": { + "type": "string" + }, + "commitmentMinTimeFraction": { + "type": "string", + "description": "Specifies the minimum fraction of time LPs must spend \"on the book\" providing their committed liquidity." + }, + "providersFeeCalculationTimeStep": { + "type": "string", + "format": "int64", + "description": "Specifies how often the quality of liquidity supplied by the LPs is evaluated and fees arising from that period are earmarked for specific parties." + }, + "performanceHysteresisEpochs": { + "type": "string", + "format": "uint64", + "description": "Specifies the number of liquidity epochs over which past performance will continue to affect rewards." + }, + "slaCompetitionFactor": { + "type": "string", + "description": "Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers\nthat achieved a higher SLA performance than them." + } + } + }, + "vegaLogNormalModelParams": { + "type": "object", + "properties": { + "mu": { + "type": "number", + "format": "double", + "description": "Mu parameter, annualised growth rate of the underlying asset." + }, + "r": { + "type": "number", + "format": "double", + "description": "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number." + }, + "sigma": { + "type": "number", + "format": "double", + "description": "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number." + } + }, + "title": "Risk model parameters for log normal" + }, + "vegaLogNormalRiskModel": { + "type": "object", + "properties": { + "riskAversionParameter": { + "type": "number", + "format": "double", + "description": "Risk Aversion Parameter." + }, + "tau": { + "type": "number", + "format": "double", + "description": "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall\ncalculation to obtain the maintenance margin, must be a strictly non-negative real number." + }, + "params": { + "$ref": "#/definitions/vegaLogNormalModelParams", + "description": "Risk model parameters for log normal." + } + }, + "title": "Risk model for log normal" + }, + "vegaMarginCalculator": { + "type": "object", + "properties": { + "scalingFactors": { + "$ref": "#/definitions/vegaScalingFactors", + "description": "Scaling factors for margin calculation." + } + }, + "title": "Margin Calculator definition" + }, + "vegaMarket": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the market." + }, + "tradableInstrument": { + "$ref": "#/definitions/vegaTradableInstrument", + "description": "Tradable instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Number of decimal places that a price must be shifted by in order to get a\ncorrect price denominated in the currency of the market, for example:\n`realPrice = price / 10^decimalPlaces`." + }, + "fees": { + "$ref": "#/definitions/vegaFees", + "description": "Fees configuration that apply to the market." + }, + "openingAuction": { + "$ref": "#/definitions/vegaAuctionDuration", + "description": "Auction duration specifies how long the opening auction will run (minimum\nduration and optionally a minimum traded volume)." + }, + "priceMonitoringSettings": { + "$ref": "#/definitions/vegaPriceMonitoringSettings", + "description": "PriceMonitoringSettings for the market." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "LiquidityMonitoringParameters for the market." + }, + "tradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current mode of execution of the market." + }, + "state": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "marketTimestamps": { + "$ref": "#/definitions/vegaMarketTimestamps", + "description": "Timestamps for when the market state changes." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "The number of decimal places for a position." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "parentMarketId": { + "type": "string", + "title": "ID of the market this market succeeds" + }, + "insurancePoolFraction": { + "type": "string", + "description": "The fraction of the parent market's insurance pool that this market inherits; range 0 through 1." + }, + "successorMarketId": { + "type": "string", + "description": "ID of the market that succeeds this market if it exists. This will be populated by the system when the successor market is enabled." + }, + "liquiditySlaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Liquidity SLA parameters for the market." + } + }, + "title": "Market definition" + }, + "vegaMarketData": { + "type": "object", + "properties": { + "markPrice": { + "type": "string", + "description": "Mark price, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidPrice": { + "type": "string", + "description": "Highest price level on an order book for buy orders, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being bid at the best bid price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestOfferPrice": { + "type": "string", + "description": "Lowest price level on an order book for offer orders. This field is an unsigned integer scaled to the market's decimal places." + }, + "bestOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being offered at the best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestStaticBidPrice": { + "type": "string", + "description": "Highest price on the order book for buy orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticBidVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static bid price excluding pegged orders." + }, + "bestStaticOfferPrice": { + "type": "string", + "description": "Lowest price on the order book for sell orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static offer price, excluding pegged orders." + }, + "midPrice": { + "type": "string", + "description": "Arithmetic average of the best bid price and best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "staticMidPrice": { + "type": "string", + "description": "Arithmetic average of the best static bid price and best static offer price.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "market": { + "type": "string", + "title": "Market ID for the data" + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which this mark price was relevant." + }, + "openInterest": { + "type": "string", + "format": "uint64", + "description": "Sum of the size of all positions greater than zero on the market." + }, + "auctionEnd": { + "type": "string", + "format": "int64", + "description": "Time in seconds until the end of the auction (zero if currently not in auction period)." + }, + "auctionStart": { + "type": "string", + "format": "int64", + "description": "Time until next auction, or start time of the current auction if market is in auction period." + }, + "indicativePrice": { + "type": "string", + "description": "Indicative price (zero if not in auction). This field is an unsigned scaled to the market's decimal places." + }, + "indicativeVolume": { + "type": "string", + "format": "uint64", + "description": "Indicative volume (zero if not in auction)." + }, + "marketTradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current trading mode for the market." + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market is in an auction trading mode, this field indicates what triggered the auction." + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market auction is extended, this field indicates what caused the extension." + }, + "targetStake": { + "type": "string", + "description": "Targeted stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "suppliedStake": { + "type": "string", + "description": "Available stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "priceMonitoringBounds": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringBounds" + }, + "description": "One or more price monitoring bounds for the current timestamp." + }, + "marketValueProxy": { + "type": "string", + "description": "Market value proxy." + }, + "liquidityProviderFeeShare": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProviderFeeShare" + }, + "description": "Equity like share of liquidity fee for each liquidity provider." + }, + "marketState": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "nextMarkToMarket": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the next mark-to-market calculation will occur." + }, + "lastTradedPrice": { + "type": "string", + "description": "Last traded price of the market. This field is an unsigned integer scaled to the market's decimal places." + }, + "marketGrowth": { + "type": "string", + "description": "Market growth at the last market time window." + } + }, + "title": "Represents data generated by a market when open" + }, + "vegaMarketState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_PROPOSED", + "STATE_REJECTED", + "STATE_PENDING", + "STATE_CANCELLED", + "STATE_ACTIVE", + "STATE_SUSPENDED", + "STATE_CLOSED", + "STATE_TRADING_TERMINATED", + "STATE_SETTLED", + "STATE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, invalid\n - STATE_PROPOSED: Governance proposal valid and accepted\n - STATE_REJECTED: Outcome of governance votes is to reject the market\n - STATE_PENDING: Governance vote passes/wins\n - STATE_CANCELLED: Market triggers cancellation condition or governance\nvotes to close before market becomes Active\n - STATE_ACTIVE: Enactment date reached and usual auction exit checks pass\n - STATE_SUSPENDED: Price monitoring or liquidity monitoring trigger\n - STATE_CLOSED: Governance vote to close (Not currently implemented)\n - STATE_TRADING_TERMINATED: Defined by the product (i.e. from a product parameter,\nspecified in market definition, giving close date/time)\n - STATE_SETTLED: Settlement triggered and completed as defined by product\n - STATE_SUSPENDED_VIA_GOVERNANCE: Market has been suspended via governance", + "title": "Current state of the market" + }, + "vegaMarketStateUpdateType": { + "type": "string", + "enum": [ + "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "MARKET_STATE_UPDATE_TYPE_TERMINATE", + "MARKET_STATE_UPDATE_TYPE_SUSPEND", + "MARKET_STATE_UPDATE_TYPE_RESUME" + ], + "default": "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "title": "- MARKET_STATE_UPDATE_TYPE_UNSPECIFIED: Default value, always invalid\n - MARKET_STATE_UPDATE_TYPE_TERMINATE: Request to terminate a market via governance\n - MARKET_STATE_UPDATE_TYPE_SUSPEND: Request to suspend a market via governance\n - MARKET_STATE_UPDATE_TYPE_RESUME: Request to resume a market via governance" + }, + "vegaMarketTimestamps": { + "type": "object", + "properties": { + "proposed": { + "type": "string", + "format": "int64", + "description": "Time when the market is first proposed." + }, + "pending": { + "type": "string", + "format": "int64", + "description": "Time when the market has been voted in and began its opening auction." + }, + "open": { + "type": "string", + "format": "int64", + "description": "Time when the market has left the opening auction and is ready to accept trades." + }, + "close": { + "type": "string", + "format": "int64", + "description": "Time when the market closed." + } + }, + "title": "Time stamps for important times about creating, enacting etc the market" + }, + "vegaNetworkLimits": { + "type": "object", + "properties": { + "canProposeMarket": { + "type": "boolean", + "description": "Are market proposals allowed at this point in time." + }, + "canProposeAsset": { + "type": "boolean", + "description": "Are asset proposals allowed at this point in time." + }, + "proposeMarketEnabled": { + "type": "boolean", + "description": "Are market proposals enabled on this chain." + }, + "proposeAssetEnabled": { + "type": "boolean", + "description": "Are asset proposals enabled on this chain." + }, + "genesisLoaded": { + "type": "boolean", + "description": "True once the genesis file is loaded." + }, + "proposeMarketEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which market proposals will be enabled (0 indicates not set)." + }, + "proposeAssetEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which asset proposals will be enabled (0 indicates not set)." + }, + "canProposeSpotMarket": { + "type": "boolean", + "description": "Are spot market proposals allowed at this point in time." + }, + "canProposePerpetualMarket": { + "type": "boolean", + "description": "Are perpetual market proposals allowed at this point in time." + } + }, + "title": "Network limits, defined in the genesis file" + }, + "vegaNetworkParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Unique key of the network parameter." + }, + "value": { + "type": "string", + "description": "Value for the network parameter." + } + }, + "title": "Represents a network parameter on Vega" + }, + "vegaNewAsset": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Configuration of the new asset." + } + }, + "title": "New asset on Vega" + }, + "vegaNewFreeform": { + "type": "object", + "description": "Freeform proposal\nThis message is just used as a placeholder to sort out the nature of the\nproposal once parsed." + }, + "vegaNewMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewMarketConfiguration", + "description": "Configuration of the new market." + } + }, + "title": "New market on Vega" + }, + "vegaNewMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New futures market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new futures market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the futures market can be." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "successor": { + "$ref": "#/definitions/vegaSuccessorConfiguration", + "description": "Successor configuration. If this proposal is meant to succeed a given market, then this should be set." + } + }, + "title": "Configuration for a new futures market on Vega" + }, + "vegaNewSpotMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewSpotMarketConfiguration", + "description": "Configuration of the new spot market." + } + }, + "title": "New spot market on Vega" + }, + "vegaNewSpotMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New spot market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new spot market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the spot market can be." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration for a new spot market on Vega" + }, + "vegaNewTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewTransferConfiguration", + "description": "Configuration for a new transfer." + } + }, + "title": "New governance transfer" + }, + "vegaNewTransferConfiguration": { + "type": "object", + "properties": { + "sourceType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Source account type, such as network treasury, market insurance pool" + }, + "source": { + "type": "string", + "title": "If network treasury, field is empty, otherwise uses the market ID" + }, + "transferType": { + "$ref": "#/definitions/vegaGovernanceTransferType", + "title": "\"All or nothing\" or \"best effort\":\nAll or nothing: Transfers the specified amount or does not transfer anything\nBest effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount" + }, + "amount": { + "type": "string", + "title": "Maximum amount to transfer" + }, + "asset": { + "type": "string", + "title": "ID of asset to transfer" + }, + "fractionOfBalance": { + "type": "string", + "title": "Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance" + }, + "destinationType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool" + }, + "destination": { + "type": "string", + "title": "Specifies the account to transfer to, depending on the account type:\nNetwork treasury: leave empty\nParty: party's public key\nMarket insurance pool: market ID" + }, + "oneOff": { + "$ref": "#/definitions/vegaOneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaRecurringTransfer" + } + } + }, + "vegaNormaliser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "expression": { + "type": "string" + } + } + }, + "vegaOneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegaParty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the party, typically represented by a public key." + } + }, + "title": "Party represents an entity who wishes to trade on or query a Vega network" + }, + "vegaPerpetual": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the perpetual." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product definition" + }, + "vegaPerpetualProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaPriceMonitoringBounds": { + "type": "object", + "properties": { + "minValidPrice": { + "type": "string", + "description": "Minimum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "maxValidPrice": { + "type": "string", + "description": "Maximum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "trigger": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger", + "description": "Price monitoring trigger associated with the bounds." + }, + "referencePrice": { + "type": "string", + "description": "Reference price used to calculate the valid price range. This field is an unsigned integer scaled to the market's decimal places." + } + }, + "title": "Represents a list of valid (at the current timestamp) price ranges per associated trigger" + }, + "vegaPriceMonitoringParameters": { + "type": "object", + "properties": { + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger" + } + } + }, + "title": "PriceMonitoringParameters contains a collection of triggers to be used for a given market" + }, + "vegaPriceMonitoringSettings": { + "type": "object", + "properties": { + "parameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Specifies price monitoring parameters to be used for price monitoring purposes." + } + }, + "title": "PriceMonitoringSettings contains the settings for price monitoring" + }, + "vegaPriceMonitoringTrigger": { + "type": "object", + "properties": { + "horizon": { + "type": "string", + "format": "int64", + "description": "Price monitoring projection horizon τ in seconds." + }, + "probability": { + "type": "string", + "description": "Price monitoring probability level p." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Price monitoring auction extension duration in seconds should the price\nbreach its theoretical level over the specified horizon at the specified\nprobability level." + } + }, + "title": "PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration" + }, + "vegaProposal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique proposal ID." + }, + "reference": { + "type": "string", + "description": "Proposal reference." + }, + "partyId": { + "type": "string", + "description": "Party ID i.e. public key of the party submitting the proposal." + }, + "state": { + "$ref": "#/definitions/vegaProposalState", + "description": "Current state of the proposal, i.e. open, passed, failed etc." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Proposal timestamp for date and time as Unix time in nanoseconds when proposal was submitted to the network." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "reason": { + "$ref": "#/definitions/vegaProposalError", + "description": "Reason for the current state of the proposal, this may be set in case of REJECTED and FAILED statuses." + }, + "errorDetails": { + "type": "string", + "description": "Detailed error associated to the reason." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + }, + "requiredParticipation": { + "type": "string", + "description": "Required vote participation for this proposal." + }, + "requiredMajority": { + "type": "string", + "description": "Required majority for this proposal." + }, + "requiredLiquidityProviderParticipation": { + "type": "string", + "description": "Required participation from liquidity providers, optional but is required for market update proposal." + }, + "requiredLiquidityProviderMajority": { + "type": "string", + "description": "Required majority from liquidity providers, optional but is required for market update proposal." + } + }, + "title": "Governance proposal" + }, + "vegaProposalError": { + "type": "string", + "enum": [ + "PROPOSAL_ERROR_UNSPECIFIED", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE", + "PROPOSAL_ERROR_ENACT_TIME_TOO_SOON", + "PROPOSAL_ERROR_ENACT_TIME_TOO_LATE", + "PROPOSAL_ERROR_INSUFFICIENT_TOKENS", + "PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY", + "PROPOSAL_ERROR_NO_PRODUCT", + "PROPOSAL_ERROR_UNSUPPORTED_PRODUCT", + "PROPOSAL_ERROR_NO_TRADING_MODE", + "PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE", + "PROPOSAL_ERROR_NODE_VALIDATION_FAILED", + "PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD", + "PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS", + "PROPOSAL_ERROR_INVALID_ASSET", + "PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS", + "PROPOSAL_ERROR_NO_RISK_PARAMETERS", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE", + "PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE", + "PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET", + "PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT", + "PROPOSAL_ERROR_INVALID_RISK_PARAMETER", + "PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_INVALID_ASSET_DETAILS", + "PROPOSAL_ERROR_UNKNOWN_TYPE", + "PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE", + "PROPOSAL_ERROR_INVALID_FREEFORM", + "PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE", + "PROPOSAL_ERROR_INVALID_MARKET", + "PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES", + "PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS", + "PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE", + "PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_INVALID_SPOT", + "PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED", + "PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE", + "PROPOSAL_ERROR_INVALID_SLA_PARAMS", + "PROPOSAL_ERROR_MISSING_SLA_PARAMS", + "PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT" + ], + "default": "PROPOSAL_ERROR_UNSPECIFIED", + "description": "- PROPOSAL_ERROR_UNSPECIFIED: Default value\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON: Specified close time is too early based on network parameters\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE: Specified close time is too late based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_SOON: Specified enactment time is too early based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_LATE: Specified enactment time is too late based on network parameters\n - PROPOSAL_ERROR_INSUFFICIENT_TOKENS: Proposer for this proposal has insufficient tokens\n - PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY: Instrument quote name and base name were the same\n - PROPOSAL_ERROR_NO_PRODUCT: Proposal has no product\n - PROPOSAL_ERROR_UNSUPPORTED_PRODUCT: Specified product is not supported\n - PROPOSAL_ERROR_NO_TRADING_MODE: Proposal has no trading mode\n - PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE: Proposal has an unsupported trading mode\n - PROPOSAL_ERROR_NODE_VALIDATION_FAILED: Proposal failed node validation\n - PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD: Field is missing in a builtin asset source\n - PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS: Contract address is missing in the ERC20 asset source\n - PROPOSAL_ERROR_INVALID_ASSET: Asset ID is invalid or does not exist on the Vega network\n - PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS: Proposal terms timestamps are not compatible (Validation \u003c Closing \u003c Enactment)\n - PROPOSAL_ERROR_NO_RISK_PARAMETERS: No risk parameters were specified\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY: Invalid key in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE: Invalid value in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED: Validation failed for network parameter proposal\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL: Opening auction duration is less than the network minimum opening auction time\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE: Opening auction duration is more than the network minimum opening auction time\n - PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET: Market proposal market could not be instantiated in execution\n - PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT: Market proposal market contained invalid product definition\n - PROPOSAL_ERROR_INVALID_RISK_PARAMETER: Market proposal has invalid risk parameter\n - PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED: Proposal was declined because vote didn't reach the majority threshold required\n - PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED: Proposal declined because the participation threshold was not reached\n - PROPOSAL_ERROR_INVALID_ASSET_DETAILS: Asset proposal has invalid asset details\n - PROPOSAL_ERROR_UNKNOWN_TYPE: Proposal is an unknown type\n - PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE: Proposal has an unknown risk parameter type\n - PROPOSAL_ERROR_INVALID_FREEFORM: Validation failed for freeform proposal\n - PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE: Party doesn't have enough equity-like share to propose an update on the market\ntargeted by the proposal\n - PROPOSAL_ERROR_INVALID_MARKET: Market targeted by the proposal does not exist or is not eligible for modification\n - PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES: Market proposal decimal place is higher than the market settlement asset decimal places\n - PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE: LP price range must be larger than 0\n - PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE: LP price range must not be larger than 100\n - PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE: Linear slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE: Quadratic slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_INVALID_SPOT: Validation failed for spot proposal\n - PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED: Spot trading not enabled\n - PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET: Market proposal is invalid, either invalid insurance pool fraction, or it specifies a parent market that it can't succeed.\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED: Governance transfer proposal is invalid\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID: Governance transfer proposal failed\n - PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID: Proposal for cancelling transfer is invalid, check proposal ID\n - PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE: Proposal for updating market state is invalid\n - PROPOSAL_ERROR_INVALID_SLA_PARAMS: Liquidity provision SLA parameters are invalid\n - PROPOSAL_ERROR_MISSING_SLA_PARAMS: Mandatory liquidity provision SLA parameters are missing\n - PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT: Perpetual market proposal contained invalid product definition", + "title": "List of possible errors that can cause a proposal to be in state rejected or failed" + }, + "vegaProposalRationale": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description to show a short title / something in case the link goes offline.\nThis is to be between 0 and 20k unicode characters.\nThis is mandatory for all proposals." + }, + "title": { + "type": "string", + "description": "Title to be used to give a short description of the proposal in lists.\nThis is to be between 0 and 100 unicode characters.\nThis is mandatory for all proposals." + } + }, + "description": "Rationale behind a proposal." + }, + "vegaProposalState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_FAILED", + "STATE_OPEN", + "STATE_PASSED", + "STATE_REJECTED", + "STATE_DECLINED", + "STATE_ENACTED", + "STATE_WAITING_FOR_NODE_VOTE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, always invalid\n - STATE_FAILED: Proposal enactment has failed - even though proposal has passed, its execution could not be performed\n - STATE_OPEN: Proposal is open for voting\n - STATE_PASSED: Proposal has gained enough support to be executed\n - STATE_REJECTED: Proposal wasn't accepted i.e. proposal terms failed validation due to wrong configuration or failed to meet network requirements.\n - STATE_DECLINED: Proposal didn't get enough votes, e.g. either failed to gain required participation or majority level.\n - STATE_ENACTED: Proposal enacted\n - STATE_WAITING_FOR_NODE_VOTE: Waiting for node validation of the proposal", + "title": "Proposal state transition:\nOpen -\u003e\n - Passed -\u003e Enacted.\n - Passed -\u003e Failed.\n - Declined\nRejected\nProposal can enter Failed state from any other state" + }, + "vegaProposalTerms": { + "type": "object", + "properties": { + "closingTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when voting closes for this proposal,\nconstrained by `minClose` and `maxClose` network parameters." + }, + "enactmentTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when proposal gets enacted if passed,\nconstrained by `minEnact` and `maxEnact` network parameters." + }, + "validationTimestamp": { + "type": "string", + "format": "int64", + "description": "Validation timestamp as Unix time in seconds." + }, + "updateMarket": { + "$ref": "#/definitions/vegaUpdateMarket", + "description": "Proposal change for modifying an existing futures market on Vega." + }, + "newMarket": { + "$ref": "#/definitions/vegaNewMarket", + "description": "Proposal change for creating new futures market on Vega." + }, + "updateNetworkParameter": { + "$ref": "#/definitions/vegaUpdateNetworkParameter", + "description": "Proposal change for updating Vega network parameters." + }, + "newAsset": { + "$ref": "#/definitions/vegaNewAsset", + "description": "Proposal change for creating new assets on Vega." + }, + "newFreeform": { + "$ref": "#/definitions/vegaNewFreeform", + "description": "Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system,\nand can be used to gauge community sentiment." + }, + "updateAsset": { + "$ref": "#/definitions/vegaUpdateAsset", + "description": "Proposal change for updating an asset." + }, + "newSpotMarket": { + "$ref": "#/definitions/vegaNewSpotMarket", + "description": "Proposal change for creating new spot market on Vega." + }, + "updateSpotMarket": { + "$ref": "#/definitions/vegaUpdateSpotMarket", + "description": "Proposal change for modifying an existing spot market on Vega." + }, + "newTransfer": { + "$ref": "#/definitions/vegaNewTransfer", + "description": "Proposal change for a governance transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/vegaCancelTransfer", + "description": "Cancel a governance transfer." + }, + "updateMarketState": { + "$ref": "#/definitions/vegaUpdateMarketState", + "description": "Proposal change for updating the state of a market." + } + }, + "title": "Terms for a governance proposal on Vega" + }, + "vegaRecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegaScalingFactors": { + "type": "object", + "properties": { + "searchLevel": { + "type": "number", + "format": "double", + "description": "Collateral search level. If collateral dips below this value,\nthe system will search for collateral to release." + }, + "initialMargin": { + "type": "number", + "format": "double", + "description": "Initial margin level. This is the minimum amount of collateral\nrequired to open a position in a market that requires margin." + }, + "collateralRelease": { + "type": "number", + "format": "double", + "description": "Collateral release level. If a trader has collateral above this level,\nthe system will release collateral to a trader's general collateral account\nfor the asset." + } + }, + "title": "Scaling Factors (for use in margin calculation)" + }, + "vegaSimpleModelParams": { + "type": "object", + "properties": { + "factorLong": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for long." + }, + "factorShort": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for short." + }, + "maxMoveUp": { + "type": "number", + "format": "double", + "description": "Pre-defined maximum price move up that the model considers as valid." + }, + "minMoveDown": { + "type": "number", + "format": "double", + "description": "Pre-defined minimum price move down that the model considers as valid." + }, + "probabilityOfTrading": { + "type": "number", + "format": "double", + "description": "Pre-defined constant probability of trading." + } + }, + "title": "Risk model parameters for simple modelling" + }, + "vegaSimpleRiskModel": { + "type": "object", + "properties": { + "params": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Risk model params for simple modelling." + } + }, + "title": "Risk model for simple modelling" + }, + "vegaSpot": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Asset ID of the underlying base asset for the spot product." + }, + "quoteAsset": { + "type": "string", + "description": "Asset ID of the underlying quote asset for the spot product." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + } + }, + "title": "Spot product definition" + }, + "vegaSpotProduct": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Base asset ID." + }, + "quoteAsset": { + "type": "string", + "description": "Quote asset ID." + }, + "name": { + "type": "string", + "description": "Product name." + } + }, + "title": "Spot product configuration" + }, + "vegaSuccessorConfiguration": { + "type": "object", + "properties": { + "parentMarketId": { + "type": "string", + "description": "ID of the market that the successor should take over from." + }, + "insurancePoolFraction": { + "type": "string", + "description": "A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor." + } + }, + "description": "Configuration required to turn a new market proposal in to a successor market proposal." + }, + "vegaTargetStakeParameters": { + "type": "object", + "properties": { + "timeWindow": { + "type": "string", + "format": "int64", + "description": "Specifies length of time window expressed in seconds for target stake calculation." + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Specifies scaling factors used in target stake calculation." + } + }, + "title": "TargetStakeParameters contains parameters used in target stake calculation" + }, + "vegaTradableInstrument": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrument", + "description": "Details for the underlying instrument." + }, + "marginCalculator": { + "$ref": "#/definitions/vegaMarginCalculator", + "description": "Margin calculator for the instrument." + }, + "logNormalRiskModel": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal." + }, + "simpleRiskModel": { + "$ref": "#/definitions/vegaSimpleRiskModel", + "description": "Simple." + } + }, + "title": "Tradable Instrument definition" + }, + "vegaUpdateAsset": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaAssetDetailsUpdate", + "description": "Changes to apply on an existing asset." + } + }, + "title": "Update an existing asset on Vega" + }, + "vegaUpdateFutureProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data of settlement data." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data source for trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "The binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaUpdateInstrumentConfiguration": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaUpdateFutureProduct", + "description": "Future." + }, + "perpetual": { + "$ref": "#/definitions/vegaUpdatePerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaUpdateMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateMarketConfiguration", + "description": "Updated configuration of the futures market." + } + }, + "title": "Update an existing market on Vega" + }, + "vegaUpdateMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaUpdateInstrumentConfiguration", + "description": "Updated futures market instrument configuration." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + } + }, + "title": "Configuration to update a futures market on Vega" + }, + "vegaUpdateMarketState": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaUpdateMarketStateConfiguration", + "title": "Configuration for governance-initiated change of a market's state" + } + } + }, + "vegaUpdateMarketStateConfiguration": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "ID of the market" + }, + "updateType": { + "$ref": "#/definitions/vegaMarketStateUpdateType", + "title": "Type of the market update" + }, + "price": { + "type": "string", + "title": "Settlement price, relevant only for market termination for futures markets" + } + } + }, + "vegaUpdateNetworkParameter": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "The network parameter to update." + } + }, + "title": "Update network configuration on Vega" + }, + "vegaUpdatePerpetualProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaUpdateSpotMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateSpotMarketConfiguration", + "description": "Updated configuration of the spot market." + } + }, + "title": "Update an existing spot market on Vega" + }, + "vegaUpdateSpotMarketConfiguration": { + "type": "object", + "properties": { + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration to update a spot market on Vega" + }, + "vegaVote": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "description": "Voter's party ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Which way the party voted." + }, + "proposalId": { + "type": "string", + "description": "Proposal ID being voted on." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds when the vote was acknowledged by the network." + }, + "totalGovernanceTokenBalance": { + "type": "string", + "description": "Total number of governance token for the party that cast the vote." + }, + "totalGovernanceTokenWeight": { + "type": "string", + "description": "The weight of this vote based on the total number of governance tokens." + }, + "totalEquityLikeShareWeight": { + "type": "string", + "description": "The weight of the vote compared to the total amount of equity-like share on the market." + } + }, + "title": "Governance vote" + }, + "vegaVoteValue": { + "type": "string", + "enum": [ + "VALUE_UNSPECIFIED", + "VALUE_NO", + "VALUE_YES" + ], + "default": "VALUE_UNSPECIFIED", + "description": "- VALUE_UNSPECIFIED: Default value, always invalid\n - VALUE_NO: Vote against the proposal\n - VALUE_YES: Vote in favour of the proposal", + "title": "Vote value" + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/assets.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/assets.swagger.json new file mode 100644 index 000000000..9d097dbb9 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/assets.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/assets.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/chain_events.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/chain_events.swagger.json new file mode 100644 index 000000000..7e122e440 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/chain_events.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/chain_events.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/checkpoint/v1/checkpoint.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/checkpoint/v1/checkpoint.swagger.json new file mode 100644 index 000000000..cdccfb99c --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/checkpoint/v1/checkpoint.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/checkpoint/v1/checkpoint.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/commands.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/commands.swagger.json new file mode 100644 index 000000000..26814accb --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/commands.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/commands.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/data.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/data.swagger.json new file mode 100644 index 000000000..72e1066f9 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/data.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/data.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/signature.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/signature.swagger.json new file mode 100644 index 000000000..bca419264 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/signature.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/signature.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/transaction.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/transaction.swagger.json new file mode 100644 index 000000000..80565817c --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/transaction.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/transaction.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/validator_commands.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/validator_commands.swagger.json new file mode 100644 index 000000000..11a4f0aac --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/commands/v1/validator_commands.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/validator_commands.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/data/v1/data.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/data/v1/data.swagger.json new file mode 100644 index 000000000..dac21342e --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/data/v1/data.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/data/v1/data.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "rpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/data/v1/spec.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/data/v1/spec.swagger.json new file mode 100644 index 000000000..77fbc8b87 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/data/v1/spec.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/data/v1/spec.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "rpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/data_source.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/data_source.swagger.json new file mode 100644 index 000000000..fc4472949 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/data_source.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/data_source.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/events/v1/events.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/events/v1/events.swagger.json new file mode 100644 index 000000000..2b32a0c55 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/events/v1/events.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/events/v1/events.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/governance.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/governance.swagger.json new file mode 100644 index 000000000..45c945a56 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/governance.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/governance.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/markets.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/markets.swagger.json new file mode 100644 index 000000000..8fbf8badc --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/markets.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/markets.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/oracle.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/oracle.swagger.json new file mode 100644 index 000000000..ef6f33a5a --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/oracle.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/oracle.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/snapshot/v1/snapshot.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/snapshot/v1/snapshot.swagger.json new file mode 100644 index 000000000..fbdb3af1d --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/snapshot/v1/snapshot.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/snapshot/v1/snapshot.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/vega.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/vega.swagger.json new file mode 100644 index 000000000..53809884b --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/vega.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/vega.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/wallet/v1/wallet.swagger.json b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/wallet/v1/wallet.swagger.json new file mode 100644 index 000000000..f14317268 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/blockexplorer/swagger/vega/wallet/v1/wallet.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/wallet/v1/wallet.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/blockexplorer/api/v1/blockexplorer.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/blockexplorer/api/v1/blockexplorer.swagger.json new file mode 100644 index 000000000..08a27e5df --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/blockexplorer/api/v1/blockexplorer.swagger.json @@ -0,0 +1,3068 @@ +{ + "swagger": "2.0", + "info": { + "title": "Vega block explorer APIs", + "version": "v0.72.1" + }, + "tags": [ + { + "name": "BlockExplorerService" + } + ], + "host": "lb.testnet.vega.xyz", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "ConditionOperator": { + "type": "string", + "enum": [ + "OPERATOR_UNSPECIFIED", + "OPERATOR_EQUALS", + "OPERATOR_GREATER_THAN", + "OPERATOR_GREATER_THAN_OR_EQUAL", + "OPERATOR_LESS_THAN", + "OPERATOR_LESS_THAN_OR_EQUAL" + ], + "default": "OPERATOR_UNSPECIFIED", + "description": "Operator describes the type of comparison.\n\n - OPERATOR_UNSPECIFIED: The default value\n - OPERATOR_EQUALS: Verify if the property values are strictly equal or not.\n - OPERATOR_GREATER_THAN: Verify if the data source data value is greater than the Condition value.\n - OPERATOR_GREATER_THAN_OR_EQUAL: Verify if the data source data value is greater than or equal to the Condition\nvalue.\n - OPERATOR_LESS_THAN: Verify if the data source data value is less than the Condition value.\n - OPERATOR_LESS_THAN_OR_EQUAL: Verify if the data source data value is less or equal to than the Condition\nvalue." + }, + "OracleDataSubmissionOracleSource": { + "type": "string", + "enum": [ + "ORACLE_SOURCE_UNSPECIFIED", + "ORACLE_SOURCE_OPEN_ORACLE", + "ORACLE_SOURCE_JSON", + "ORACLE_SOURCE_ETHEREUM" + ], + "default": "ORACLE_SOURCE_UNSPECIFIED", + "description": "- ORACLE_SOURCE_UNSPECIFIED: Default value\n - ORACLE_SOURCE_OPEN_ORACLE: Specifies that the payload will be base64 encoded JSON conforming to the Open Oracle standard\n - ORACLE_SOURCE_JSON: Specifies that the payload will be base64 encoded JSON, but does not specify the shape of the data\n - ORACLE_SOURCE_ETHEREUM: Specifies that the payload will be base64 encoded JSON conforming to the ETH standard", + "title": "Supported oracle sources" + }, + "OrderTimeInForce": { + "type": "string", + "enum": [ + "TIME_IN_FORCE_UNSPECIFIED", + "TIME_IN_FORCE_GTC", + "TIME_IN_FORCE_GTT", + "TIME_IN_FORCE_IOC", + "TIME_IN_FORCE_FOK", + "TIME_IN_FORCE_GFA", + "TIME_IN_FORCE_GFN" + ], + "default": "TIME_IN_FORCE_UNSPECIFIED", + "description": "- TIME_IN_FORCE_UNSPECIFIED: Default value for TimeInForce, can be valid for an amend\n - TIME_IN_FORCE_GTC: Good until cancelled, the order trades any amount and as much as possible\nand remains on the book until it either trades completely or is cancelled\n - TIME_IN_FORCE_GTT: Good until specified time, this order type trades any amount and as much as possible\nand remains on the book until it either trades completely, is cancelled, or expires at a set time\nNOTE: this may in future be multiple types or have sub types for orders that provide different ways of specifying expiry\n - TIME_IN_FORCE_IOC: Immediate or cancel, the order trades any amount and as much as possible\nbut does not remain on the book (whether it trades or not)\n - TIME_IN_FORCE_FOK: Fill or kill, the order either trades completely i.e. remainingSize == 0 after adding,\nor not at all, and does not remain on the book if it doesn't trade\n - TIME_IN_FORCE_GFA: Good for auction, this order is only accepted during an auction period\n - TIME_IN_FORCE_GFN: Good for normal, this order is only accepted during normal trading (that can be continuous trading or frequent batched auctions)", + "title": "Time In Force for an order" + }, + "StopOrderExpiryStrategy": { + "type": "string", + "enum": [ + "EXPIRY_STRATEGY_UNSPECIFIED", + "EXPIRY_STRATEGY_CANCELS", + "EXPIRY_STRATEGY_SUBMIT" + ], + "default": "EXPIRY_STRATEGY_UNSPECIFIED", + "description": " - EXPIRY_STRATEGY_UNSPECIFIED: Never valid\n - EXPIRY_STRATEGY_CANCELS: Stop order should be cancelled if the expiry time is reached.\n - EXPIRY_STRATEGY_SUBMIT: Order should be submitted if the expiry time is reached." + }, + "UndelegateSubmissionMethod": { + "type": "string", + "enum": [ + "METHOD_UNSPECIFIED", + "METHOD_NOW", + "METHOD_AT_END_OF_EPOCH" + ], + "default": "METHOD_UNSPECIFIED" + }, + "blockexplorerapiv1Transaction": { + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "Height of the block the transaction was found in" + }, + "index": { + "type": "integer", + "format": "int64", + "title": "Index of the transaction in the block" + }, + "hash": { + "type": "string", + "title": "Hash of the transaction" + }, + "submitter": { + "type": "string", + "title": "Vega public key of the transaction's submitter" + }, + "type": { + "type": "string", + "title": "Type of transaction" + }, + "code": { + "type": "integer", + "format": "int64", + "title": "Results code of the transaction. 0 indicates the transaction was successful" + }, + "cursor": { + "type": "string", + "title": "Cursor for this transaction. This is used for paginating results" + }, + "command": { + "$ref": "#/definitions/v1InputData", + "title": "Actual command of the transaction" + }, + "signature": { + "$ref": "#/definitions/v1Signature", + "title": "Signature generated by the submitter for the transaction" + }, + "error": { + "type": "string", + "title": "Optional error happening when processing / checking the transaction\nThis should be set if error code is not 0" + } + } + }, + "commandsv1CancelTransfer": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "Transfer ID of the transfer to cancel." + } + }, + "title": "Request for cancelling a recurring transfer" + }, + "commandsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "commandsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64", + "description": "First epoch from which this transfer shall be paid." + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "factor": { + "type": "string", + "description": "Factor needs to be \u003e 0." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "commandsv1Transfer": { + "type": "object", + "properties": { + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type from which the funds of the party\nshould be taken." + }, + "to": { + "type": "string", + "description": "Public key of the destination account." + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the destination account." + }, + "asset": { + "type": "string", + "description": "Asset ID of the asset to be transferred." + }, + "amount": { + "type": "string", + "description": "Amount to be taken from the source account. This field is an unsigned integer scaled to the asset's decimal places." + }, + "reference": { + "type": "string", + "description": "Reference to be attached to the transfer." + }, + "oneOff": { + "$ref": "#/definitions/commandsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/commandsv1RecurringTransfer" + } + }, + "title": "Transfer initiated by a party" + }, + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "protobufNullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "v1AnnounceNode": { + "type": "object", + "properties": { + "vegaPubKey": { + "type": "string", + "description": "Vega public key, required field." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key, required field." + }, + "chainPubKey": { + "type": "string", + "description": "Public key for the blockchain, required field." + }, + "infoUrl": { + "type": "string", + "description": "URL with more info on the node." + }, + "country": { + "type": "string", + "description": "Country code (ISO 3166-1 alpha-2) for the location of the node." + }, + "id": { + "type": "string", + "description": "Node ID of the validator, i.e. the node's public master key." + }, + "name": { + "type": "string", + "description": "Name of the validator." + }, + "avatarUrl": { + "type": "string", + "description": "AvatarURL of the validator." + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "Vega public key derivation index." + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "description": "Epoch from which the validator is expected\nto be ready to validate blocks." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the ethereum wallet." + }, + "vegaSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the Vega wallet." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + } + }, + "title": "Used to announce a node as a new pending validator" + }, + "v1BatchMarketInstructions": { + "type": "object", + "properties": { + "cancellations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "description": "List of order cancellations to be processed sequentially." + }, + "amendments": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "description": "List of order amendments to be processed sequentially." + }, + "submissions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "description": "List of order submissions to be processed sequentially." + }, + "stopOrdersCancellation": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "description": "List of stop order cancellations to be processed sequentially." + }, + "stopOrdersSubmission": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "description": "List of stop order submissions to be processed sequentially." + } + }, + "title": "Batch of order instructions.\nThis command accepts only the following batches of commands\nand will be processed in the following order:\n- OrderCancellation\n- OrderAmendment\n- OrderSubmission\nThe total amount of commands in the batch across all three lists of\ninstructions is restricted by the following network parameter:\n\"spam.protection.max.batchSize\"" + }, + "v1ChainEvent": { + "type": "object", + "properties": { + "txId": { + "type": "string", + "description": "Transaction ID of the transaction in which the events happened, usually a hash." + }, + "nonce": { + "type": "string", + "format": "uint64", + "description": "Arbitrary one-time integer used to prevent replay attacks." + }, + "builtin": { + "$ref": "#/definitions/vegaBuiltinAssetEvent", + "description": "Built-in asset event." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Event", + "description": "Ethereum ERC20 event." + }, + "stakingEvent": { + "$ref": "#/definitions/vegaStakingEvent", + "description": "Ethereum Staking event." + }, + "erc20Multisig": { + "$ref": "#/definitions/vegaERC20MultiSigEvent", + "description": "Ethereum ERC20 multisig event." + }, + "contractCall": { + "$ref": "#/definitions/vegaEthContractCallEvent", + "title": "Arbitrary contract call" + } + }, + "title": "Event forwarded to the Vega network to provide information on events happening on other networks" + }, + "v1Condition": { + "type": "object", + "properties": { + "operator": { + "$ref": "#/definitions/ConditionOperator", + "description": "Type of comparison to make on the value." + }, + "value": { + "type": "string", + "description": "Value to be compared with by the operator." + } + }, + "title": "Condition describes the condition that must be validated by the network" + }, + "v1CreateTeam": { + "type": "object", + "properties": { + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "description": "Creates a referral team. The team creator automatically becomes\nthe team leader, called a referrer. This cannot be changed.\nA referrer cannot already be or become a liquidity provider,\nnor can they be on an existing team as referrer or referee.", + "title": "Request for creating a referral team" + }, + "v1DelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Delegate to the specified node ID." + }, + "amount": { + "type": "string", + "description": "Amount of stake to delegate. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Command to submit an instruction to delegate some stake to a node" + }, + "v1ETHAddress": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "v1EthereumKeyRotateSubmission": { + "type": "object", + "properties": { + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newAddress": { + "type": "string", + "description": "New address to rotate to." + }, + "currentAddress": { + "type": "string", + "description": "Currently used public address." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature that can be verified using the new ethereum address." + } + }, + "title": "Transaction to allow a validator to rotate their ethereum keys" + }, + "v1Filter": { + "type": "object", + "properties": { + "key": { + "$ref": "#/definitions/v1PropertyKey", + "description": "Data source's data property key targeted by the filter." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that should be matched by the data to be\nconsidered of interest." + } + }, + "description": "Filter describes the conditions under which a data source data is considered of\ninterest or not." + }, + "v1GetTransactionResponse": { + "type": "object", + "properties": { + "transaction": { + "$ref": "#/definitions/blockexplorerapiv1Transaction", + "title": "Transaction corresponding to the hash" + } + } + }, + "v1IcebergOpts": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is made visible and can be traded with during the execution of a single order." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "Minimum allowed remaining size of the order before it is replenished back to its peak size." + } + }, + "title": "Iceberg order options" + }, + "v1InfoResponse": { + "type": "object", + "properties": { + "version": { + "type": "string", + "title": "Semver formatted version of the data node" + }, + "commitHash": { + "type": "string", + "title": "Commit hash from which the data node was built" + } + } + }, + "v1InputData": { + "type": "object", + "properties": { + "nonce": { + "type": "string", + "format": "uint64", + "description": "Number to provide uniqueness to prevent accidental replays and,\nin combination with `block_height`, deliberate attacks.\nA nonce provides uniqueness for otherwise identical transactions,\nensuring that the transaction hash uniquely identifies a specific transaction.\nGranted all other fields are equal, the nonce can either be a counter\nor generated at random to submit multiple transactions within the same\nblock (see below), without being identified as replays.\nPlease note that Protocol Buffers do not have a canonical, unique encoding\nand therefore different libraries or binaries may encode the same message\nslightly differently, causing a different hash." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Block height at which the transaction was made.\nThis should be the current block height. The transaction will be valid\nfrom the block and up to the `tolerance` block height.\nExample: If the network has a tolerance of 150 blocks and `block_height`\nis set to `200`, then the transaction will be valid until block `350`.\nNote that a `block_height` that is ahead of the real block height will be\nrejected. The tolerance can be queried from the chain's network parameters.\n`block_height` prevents replay attacks in conjunction with `nonce` (see above)." + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission", + "description": "Command for submitting an order." + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation", + "description": "Command to cancel an order." + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment", + "description": "Command to amend an order." + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission", + "description": "Command to submit a withdrawal." + }, + "proposalSubmission": { + "$ref": "#/definitions/v1ProposalSubmission", + "description": "Command to submit a governance proposal." + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission", + "description": "Command to submit a vote on a governance proposal." + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission", + "description": "Command to submit a liquidity commitment." + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission", + "description": "Command to delegate tokens to a validator." + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission", + "description": "Command to remove tokens delegated to a validator." + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation", + "description": "Command to request cancelling a liquidity commitment." + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment", + "description": "Command to request amending a liquidity commitment." + }, + "transfer": { + "$ref": "#/definitions/commandsv1Transfer", + "description": "Command to submit a transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer", + "description": "Command to request cancelling a recurring transfer." + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode", + "description": "Command used by a node operator to announce its node as a pending validator." + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions", + "description": "Command to submit a batch of order instructions to a market." + }, + "stopOrdersSubmission": { + "$ref": "#/definitions/v1StopOrdersSubmission", + "description": "Command to submit a pair of stop orders." + }, + "stopOrdersCancellation": { + "$ref": "#/definitions/v1StopOrdersCancellation", + "description": "Command to cancel stop orders." + }, + "createTeam": { + "$ref": "#/definitions/v1CreateTeam", + "description": "Command to create a team." + }, + "updateTeam": { + "$ref": "#/definitions/v1UpdateTeam", + "description": "Command to update a team." + }, + "joinTeam": { + "$ref": "#/definitions/v1JoinTeam", + "description": "Command to join a team." + }, + "nodeVote": { + "$ref": "#/definitions/v1NodeVote", + "description": "Command used by a validator when a node votes for validating that a given resource exists or is valid,\nfor example, an ERC20 deposit is valid and exists on ethereum." + }, + "nodeSignature": { + "$ref": "#/definitions/v1NodeSignature", + "description": "Command used by a validator to submit a signature, to be used by a foreign chain to recognise a decision taken by the Vega network." + }, + "chainEvent": { + "$ref": "#/definitions/v1ChainEvent", + "description": "Command used by a validator to submit an event forwarded to the Vega network to provide information\non events happening on other networks, to be used by a foreign chain\nto recognise a decision taken by the Vega network." + }, + "keyRotateSubmission": { + "$ref": "#/definitions/v1KeyRotateSubmission", + "description": "Command used by a validator to allow given validator to rotate their Vega keys." + }, + "stateVariableProposal": { + "$ref": "#/definitions/v1StateVariableProposal", + "description": "Command used by a validator to submit a floating point value." + }, + "validatorHeartbeat": { + "$ref": "#/definitions/v1ValidatorHeartbeat", + "description": "Command used by a validator to signal they are still online and validating blocks\nor ready to validate blocks when they are still a pending validator." + }, + "ethereumKeyRotateSubmission": { + "$ref": "#/definitions/v1EthereumKeyRotateSubmission", + "description": "Command used by a validator to allow given validator to rotate their Ethereum keys." + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal", + "description": "Command used by a validator to propose a protocol upgrade." + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures", + "description": "Command used by a validator to submit signatures to a smart contract." + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission", + "description": "Command to submit new oracle data from third party providers." + } + } + }, + "v1InternalTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "int64", + "description": "Trigger when the vega time is greater or equal to this time, in Unix seconds." + }, + "every": { + "type": "string", + "format": "int64", + "description": "Repeat the trigger every n seconds after the initial. If no time for\ninitial was specified, begin repeating immediately." + } + }, + "description": "Trigger for an internal time data source." + }, + "v1IssueSignatures": { + "type": "object", + "properties": { + "submitter": { + "type": "string", + "description": "Ethereum address which will submit the signatures to the smart contract." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "What kind of signatures to generate, namely for whether a signer is being added or removed." + }, + "validatorNodeId": { + "type": "string", + "description": "Node ID of the validator node that will be signed in or out of the smart contract." + } + }, + "title": "Transaction for a validator to submit signatures to a smart contract" + }, + "v1JoinTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to join." + } + }, + "description": "A party that joins a referral team is called a referee. A referee cannot\nbe a liquidity provider, nor can they create a team or join multiple teams.\nTo switch teams, the referee can ask to join another team, and the switch will\nbe effective at the end of the epoch.", + "title": "Request to join a team" + }, + "v1KeyRotateSubmission": { + "type": "object", + "properties": { + "newPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "New Vega public key derivation index." + }, + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newPubKey": { + "type": "string", + "description": "New public key to rotate to." + }, + "currentPubKeyHash": { + "type": "string", + "description": "Hash of currently used public key." + } + }, + "title": "Transaction to allow a validator to rotate their Vega keys" + }, + "v1LiquidityProvisionAmendment": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be amended." + }, + "commitmentAmount": { + "type": "string", + "description": "From here at least one of the following is required to consider the command valid." + }, + "fee": { + "type": "string" + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "reference": { + "type": "string" + } + }, + "title": "Amend a liquidity provision request" + }, + "v1LiquidityProvisionCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be cancelled." + } + }, + "title": "Cancel a liquidity provision request" + }, + "v1LiquidityProvisionSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled using the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "reference": { + "type": "string", + "description": "Reference to be added to every order created out of this liquidity provision submission." + } + }, + "title": "A liquidity provision submitted for a given market" + }, + "v1ListTransactionsResponse": { + "type": "object", + "properties": { + "transactions": { + "type": "array", + "items": { + "$ref": "#/definitions/blockexplorerapiv1Transaction" + }, + "title": "Transaction corresponding to the specific request and filters" + } + } + }, + "v1NodeSignature": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the resource being signed." + }, + "sig": { + "type": "string", + "format": "byte", + "description": "The signature generated by the signer." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "Kind of resource being signed." + } + }, + "title": "Represents a signature from a validator, to be used by a foreign chain in order to recognise a decision taken by the Vega network" + }, + "v1NodeSignatureKind": { + "type": "string", + "enum": [ + "NODE_SIGNATURE_KIND_UNSPECIFIED", + "NODE_SIGNATURE_KIND_ASSET_NEW", + "NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED", + "NODE_SIGNATURE_KIND_ASSET_UPDATE" + ], + "default": "NODE_SIGNATURE_KIND_UNSPECIFIED", + "description": "- NODE_SIGNATURE_KIND_UNSPECIFIED: Represents an unspecified or missing value from the input\n - NODE_SIGNATURE_KIND_ASSET_NEW: Represents a signature for a new asset allow-listing\n - NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL: Represents a signature for an asset withdrawal\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED: Represents a signature for a new signer added to the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED: Represents a signature for a signer removed from the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ASSET_UPDATE: Represents a signature for an asset update allow-listing", + "title": "Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc" + }, + "v1NodeVote": { + "type": "object", + "properties": { + "reference": { + "type": "string", + "description": "Reference identifying the resource making the vote, required field." + }, + "type": { + "$ref": "#/definitions/v1NodeVoteType", + "description": "Type of NodeVote, also required." + } + }, + "description": "Used when a node votes for validating that a given resource exists or is valid,\nfor example, an ERC20 deposit is valid and exists on ethereum." + }, + "v1NodeVoteType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_STAKE_DEPOSITED", + "TYPE_STAKE_REMOVED", + "TYPE_FUNDS_DEPOSITED", + "TYPE_SIGNER_ADDED", + "TYPE_SIGNER_REMOVED", + "TYPE_BRIDGE_STOPPED", + "TYPE_BRIDGE_RESUMED", + "TYPE_ASSET_LISTED", + "TYPE_LIMITS_UPDATED", + "TYPE_STAKE_TOTAL_SUPPLY", + "TYPE_SIGNER_THRESHOLD_SET", + "TYPE_GOVERNANCE_VALIDATE_ASSET", + "TYPE_ETHEREUM_CONTRACT_CALL_RESULT" + ], + "default": "TYPE_UNSPECIFIED", + "title": "- TYPE_UNSPECIFIED: Represents an unspecified or missing value from the input\n - TYPE_STAKE_DEPOSITED: Node vote for a new stake deposit\n - TYPE_STAKE_REMOVED: Node vote for a new stake removed event\n - TYPE_FUNDS_DEPOSITED: Node vote for a new collateral deposit\n - TYPE_SIGNER_ADDED: Node vote for a new signer added to the erc20 bridge\n - TYPE_SIGNER_REMOVED: Node vote for a signer removed from the erc20 bridge\n - TYPE_BRIDGE_STOPPED: Node vote for a bridge stopped event\n - TYPE_BRIDGE_RESUMED: Node vote for a bridge resumed event\n - TYPE_ASSET_LISTED: Node vote for a newly listed asset\n - TYPE_LIMITS_UPDATED: Node vote for an asset limits update\n - TYPE_STAKE_TOTAL_SUPPLY: Node vote to share the total supply of the staking token\n - TYPE_SIGNER_THRESHOLD_SET: Node vote to update the threshold of the signer set for the multisig contract\n - TYPE_GOVERNANCE_VALIDATE_ASSET: Node vote to validate a new assert governance proposal\n - TYPE_ETHEREUM_CONTRACT_CALL_RESULT: Node vote for an Ethereum contract call result" + }, + "v1OracleDataSubmission": { + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/OracleDataSubmissionOracleSource", + "description": "Source from which the data is coming from. Must be base64 encoded.\nOracle data is a type of external data source data." + }, + "payload": { + "type": "string", + "format": "byte", + "description": "Data provided by the data source\nIn the case of Open Oracle - it will be the entire object - it will contain messages, signatures and price data." + } + }, + "title": "Command to submit new Oracle data from third party providers" + }, + "v1OrderAmendment": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Order ID, this is required to find the order and will not be updated, required field." + }, + "marketId": { + "type": "string", + "description": "Market ID, this is required to find the order and will not be updated." + }, + "price": { + "type": "string", + "description": "Amend the price for the order if the price value is set, otherwise price will remain unchanged.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "sizeDelta": { + "type": "string", + "format": "int64", + "description": "Amend the size for the order by the delta specified:\n- To reduce the size from the current value set a negative integer value\n- To increase the size from the current value, set a positive integer value\n- To leave the size unchanged set a value of zero\nThis field needs to be scaled using the market's position decimal places." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Amend the expiry time for the order, if the Timestamp value is set, otherwise expiry time will remain unchanged." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Amend the time in force for the order, set to TIME_IN_FORCE_UNSPECIFIED to remain unchanged." + }, + "peggedOffset": { + "type": "string", + "description": "Amend the pegged order offset for the order. This field is an unsigned integer scaled to the market's decimal places." + }, + "peggedReference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Amend the pegged order reference for the order." + } + }, + "title": "An order amendment is a request to amend or update an existing order on Vega" + }, + "v1OrderCancellation": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID for the order. This is set by the system after consensus. Required field." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + } + }, + "title": "Order cancellation is a request to cancel an existing order on Vega" + }, + "v1OrderSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places,\nrequired field for limit orders, however it is not required for market orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of units, cannot be negative." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL, required field." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Time in force indicates how long an order will remain active before it is executed or expires, required field." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire,\nrequired field only for `Order.TimeInForce`.TIME_IN_FORCE_GTT`." + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order, required field - See `Order.Type`." + }, + "reference": { + "type": "string", + "description": "Reference given for the order, this is typically used to retrieve an order submitted through consensus, currently\nset internally by the node to return a unique reference ID for the order submission." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Used to specify the details for a pegged order." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOpts": { + "$ref": "#/definitions/v1IcebergOpts", + "description": "Parameters used to specify an iceberg order." + } + }, + "title": "Order submission is a request to submit or create a new order on Vega" + }, + "v1PropertyKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "type": { + "$ref": "#/definitions/v1PropertyKeyType", + "description": "Data type of the property." + }, + "numberDecimalPlaces": { + "type": "string", + "format": "uint64", + "title": "Optional decimal place to be be applied on the provided value\nvalid only for PropertyType of type DECIMAL and INTEGER" + } + }, + "description": "PropertyKey describes the property key contained in data source data." + }, + "v1PropertyKeyType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_EMPTY", + "TYPE_INTEGER", + "TYPE_STRING", + "TYPE_BOOLEAN", + "TYPE_DECIMAL", + "TYPE_TIMESTAMP" + ], + "default": "TYPE_UNSPECIFIED", + "description": "Type describes the data type of properties that are supported by the data source\nengine.\n\n - TYPE_UNSPECIFIED: The default value.\n - TYPE_EMPTY: Any type.\n - TYPE_INTEGER: Integer type.\n - TYPE_STRING: String type.\n - TYPE_BOOLEAN: Boolean type.\n - TYPE_DECIMAL: Any floating point decimal type.\n - TYPE_TIMESTAMP: Timestamp date type." + }, + "v1ProposalSubmission": { + "type": "object", + "properties": { + "reference": { + "type": "string", + "description": "Reference identifying the proposal." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + } + }, + "title": "Command to submit a new proposal for the\nVega network governance" + }, + "v1ProtocolUpgradeProposal": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "description": "Block height at which to perform the upgrade." + }, + "vegaReleaseTag": { + "type": "string", + "description": "Release tag for the Vega binary." + } + }, + "title": "Transaction for a validator to suggest a protocol upgrade" + }, + "v1PubKey": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + }, + "description": "PubKey is the public key that signed this data.\nDifferent public keys coming from different sources will be further separated." + }, + "v1Signature": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Hex encoded bytes of the signature." + }, + "algo": { + "type": "string", + "description": "Algorithm used to create the signature." + }, + "version": { + "type": "integer", + "format": "int64", + "description": "Version of the signature used to create the signature." + } + }, + "description": "Signature to authenticate a transaction and to be verified by the Vega\nnetwork." + }, + "v1Signer": { + "type": "object", + "properties": { + "pubKey": { + "$ref": "#/definitions/v1PubKey", + "description": "List of authorized public keys that signed the data for this\nsource. All the public keys in the data should be contained in these\npublic keys." + }, + "ethAddress": { + "$ref": "#/definitions/v1ETHAddress", + "description": "In case of an open oracle - Ethereum address will be submitted." + } + } + }, + "v1StateVariableProposal": { + "type": "object", + "properties": { + "proposal": { + "$ref": "#/definitions/vegaStateValueProposal", + "description": "State value proposal details." + } + }, + "title": "Transaction for a validator to submit a floating point value" + }, + "v1StopOrderSetup": { + "type": "object", + "properties": { + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission", + "description": "Order to be submitted once the trigger is breached." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "description": "Trailing percentage at which the order will be submitted." + } + }, + "title": "Price and expiry configuration for a stop order" + }, + "v1StopOrdersCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Optional market ID." + }, + "stopOrderId": { + "type": "string", + "description": "Optional order ID." + } + }, + "title": "Cancel a stop order.\nThe following combinations are available:\nEmpty object will cancel all stop orders for the party\nMarket ID alone will cancel all stop orders in a market\nMarket ID and order ID will cancel a specific stop order in a market\nIf the stop order is part of an OCO, both stop orders will be cancelled" + }, + "v1StopOrdersSubmission": { + "type": "object", + "properties": { + "risesAbove": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price rises above a given trigger price." + }, + "fallsBelow": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price falls below a given trigger price." + } + }, + "title": "Stop order submission submits stops orders.\nIt is possible to make a single stop order submission by\nspecifying a single direction,\nor an OCO (One Cancels the Other) stop order submission\nby specifying a configuration for both directions" + }, + "v1UndelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Optional, if not specified = ALL.\nIf provided, this field must be an unsigned integer passed as a string\nand needs to be scaled using the asset decimal places for the token." + }, + "method": { + "$ref": "#/definitions/UndelegateSubmissionMethod", + "description": "Method of delegation." + } + } + }, + "v1UpdateTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to update." + }, + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "title": "Request for updating a team's properties" + }, + "v1ValidatorHeartbeat": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Node ID of the validator emitting the heartbeat." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the ethereum wallet." + }, + "vegaSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the vega wallet." + }, + "message": { + "type": "string", + "description": "Message which has been signed." + } + }, + "title": "Message from a validator signalling they are still online and validating blocks\nor ready to validate blocks when they are still a pending validator" + }, + "v1VoteSubmission": { + "type": "object", + "properties": { + "proposalId": { + "type": "string", + "description": "Submit vote for the specified proposal ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Actual value of the vote." + } + }, + "description": "Command to submit a new vote for a governance proposal." + }, + "v1WithdrawSubmission": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to be withdrawn." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Represents the submission request to withdraw funds for a party on Vega" + }, + "vegaAccountType": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ], + "default": "ACCOUNT_TYPE_UNSPECIFIED", + "description": "- ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "title": "Various collateral/account types as used by Vega" + }, + "vegaAssetDetails": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the asset (e.g: Great British Pound)." + }, + "symbol": { + "type": "string", + "description": "Symbol of the asset (e.g: GBP)." + }, + "decimals": { + "type": "string", + "format": "uint64", + "description": "Number of decimal / precision handled by this asset." + }, + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "builtinAsset": { + "$ref": "#/definitions/vegaBuiltinAsset", + "description": "Vega built-in asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20", + "description": "Ethereum ERC20 asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetailsUpdate": { + "type": "object", + "properties": { + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Update", + "description": "Ethereum ERC20 asset update." + } + }, + "description": "Changes to apply on an existing asset." + }, + "vegaBuiltinAsset": { + "type": "object", + "properties": { + "maxFaucetAmountMint": { + "type": "string", + "description": "Maximum amount that can be requested by a party through the built-in asset faucet at a time." + } + }, + "title": "Vega internal asset" + }, + "vegaBuiltinAssetDeposit": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "partyId": { + "type": "string", + "description": "Vega party ID i.e. public key." + }, + "amount": { + "type": "string", + "description": "Amount to be deposited. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Deposit for a Vega built-in asset" + }, + "vegaBuiltinAssetEvent": { + "type": "object", + "properties": { + "deposit": { + "$ref": "#/definitions/vegaBuiltinAssetDeposit", + "description": "Built-in asset deposit." + }, + "withdrawal": { + "$ref": "#/definitions/vegaBuiltinAssetWithdrawal", + "description": "Built-in asset withdrawal." + } + }, + "title": "Event related to a Vega built-in asset" + }, + "vegaBuiltinAssetWithdrawal": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "partyId": { + "type": "string", + "description": "Vega network party ID i.e. public key." + }, + "amount": { + "type": "string", + "description": "The amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Withdrawal for a Vega built-in asset" + }, + "vegaCancelTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaCancelTransferConfiguration", + "title": "Configuration for cancellation of a governance-initiated transfer" + } + } + }, + "vegaCancelTransferConfiguration": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "ID of the governance transfer proposal." + } + } + }, + "vegaDataSourceDefinition": { + "type": "object", + "properties": { + "internal": { + "$ref": "#/definitions/vegaDataSourceDefinitionInternal" + }, + "external": { + "$ref": "#/definitions/vegaDataSourceDefinitionExternal" + } + }, + "description": "Represents the top level object that handles data sources.\nData source definition can be external or internal, with whatever\nnumber of data sources are defined for each type in the child objects below." + }, + "vegaDataSourceDefinitionExternal": { + "type": "object", + "properties": { + "oracle": { + "$ref": "#/definitions/vegaDataSourceSpecConfiguration" + }, + "ethOracle": { + "$ref": "#/definitions/vegaEthCallSpec", + "description": "Contains the data specification that is received from Ethereum sources." + } + }, + "description": "DataSourceDefinitionExternal is the top level object used for all external\ndata sources. It contains one of any of the defined `SourceType` variants." + }, + "vegaDataSourceDefinitionInternal": { + "type": "object", + "properties": { + "time": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTime" + }, + "timeTrigger": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTimeTrigger" + } + }, + "description": "Top level object used for all internal data sources.\nIt contains one of any of the defined source type variants." + }, + "vegaDataSourceSpecConfiguration": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + }, + "description": "Signers is the list of authorized signatures that signed the data for this\nsource. All the signatures in the data source data should be contained in\nthis external source. All the signatures in the data should be contained in\nthis list." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "description": "Filters describes which source data are considered of interest or not for\nthe product (or the risk model)." + } + }, + "description": "All types of external data sources use the same configuration set for meeting\nrequirements in order for the data to be useful for Vega - valid signatures\nand matching filters." + }, + "vegaDataSourceSpecConfigurationTime": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps should meet in order to be considered." + } + }, + "description": "Internal data source used for emitting timestamps." + }, + "vegaDataSourceSpecConfigurationTimeTrigger": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps need to meet in order to be considered." + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1InternalTimeTrigger" + }, + "title": "An internal time trigger" + } + }, + "description": "Internal data source used for emitting timestamps automatically using predefined intervals and conditions." + }, + "vegaDataSourceSpecToFutureBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the Future will use the value of\nthis property as settlement data." + }, + "tradingTerminationProperty": { + "type": "string", + "description": "Name of the property in the data source data that signals termination of trading." + } + }, + "title": "DataSourceSpecToFutureBinding describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDataSourceSpecToPerpetualBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + }, + "settlementScheduleProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + } + }, + "title": "Describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDispatchMetric": { + "type": "string", + "enum": [ + "DISPATCH_METRIC_UNSPECIFIED", + "DISPATCH_METRIC_MAKER_FEES_PAID", + "DISPATCH_METRIC_MAKER_FEES_RECEIVED", + "DISPATCH_METRIC_LP_FEES_RECEIVED", + "DISPATCH_METRIC_MARKET_VALUE" + ], + "default": "DISPATCH_METRIC_UNSPECIFIED", + "title": "- DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that is using the total maker fees paid in the market\n - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that is using the total maker fees received in the market\n - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that is using the total LP fees received in the market\n - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that is using total value of the market if above the required threshold and not paid given proposer bonus yet" + }, + "vegaDispatchStrategy": { + "type": "object", + "properties": { + "assetForMetric": { + "type": "string", + "description": "Asset to use for metric." + }, + "metric": { + "$ref": "#/definitions/vegaDispatchMetric", + "description": "Metric to apply." + }, + "markets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional markets in scope." + } + } + }, + "vegaERC20": { + "type": "object", + "properties": { + "contractAddress": { + "type": "string", + "description": "Address of the contract for the token, on the ethereum network." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + }, + "title": "ERC20 token based asset, living on the ethereum network" + }, + "vegaERC20AssetDelist": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + } + }, + "title": "Asset deny-listing for an ERC20 token" + }, + "vegaERC20AssetLimitsUpdated": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "sourceEthereumAddress": { + "type": "string", + "description": "Ethereum wallet that initiated the deposit." + }, + "lifetimeLimits": { + "type": "string", + "description": "Updated lifetime limits." + }, + "withdrawThreshold": { + "type": "string", + "description": "Updated withdrawal threshold." + } + } + }, + "vegaERC20AssetList": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "assetSource": { + "type": "string", + "description": "Ethereum address of the asset." + } + }, + "title": "Asset allow-listing for an ERC20 token" + }, + "vegaERC20Deposit": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "sourceEthereumAddress": { + "type": "string", + "description": "Ethereum wallet that initiated the deposit." + }, + "targetPartyId": { + "type": "string", + "description": "Vega party ID i.e. public key that is the target of the deposit." + }, + "amount": { + "type": "string", + "description": "Amount to be deposited." + } + }, + "title": "Asset deposit for an ERC20 token" + }, + "vegaERC20Event": { + "type": "object", + "properties": { + "index": { + "type": "string", + "format": "uint64", + "description": "Index of the log in the transaction." + }, + "block": { + "type": "string", + "format": "uint64", + "description": "Block in which the transaction was added." + }, + "assetList": { + "$ref": "#/definitions/vegaERC20AssetList", + "description": "List an ERC20 asset." + }, + "assetDelist": { + "$ref": "#/definitions/vegaERC20AssetDelist", + "description": "De-list an ERC20 asset." + }, + "deposit": { + "$ref": "#/definitions/vegaERC20Deposit", + "description": "Deposit ERC20 asset." + }, + "withdrawal": { + "$ref": "#/definitions/vegaERC20Withdrawal", + "description": "Withdraw ERC20 asset." + }, + "assetLimitsUpdated": { + "$ref": "#/definitions/vegaERC20AssetLimitsUpdated", + "description": "Update an ERC20 asset." + }, + "bridgeStopped": { + "type": "boolean", + "description": "Bridge operations has been stopped." + }, + "bridgeResumed": { + "type": "boolean", + "description": "Bridge operations has been resumed." + } + }, + "title": "Event related to an ERC20 token" + }, + "vegaERC20MultiSigEvent": { + "type": "object", + "properties": { + "index": { + "type": "string", + "format": "uint64", + "title": "Index of the log in the transaction" + }, + "block": { + "type": "string", + "format": "uint64", + "title": "Block in which the transaction was added" + }, + "signerAdded": { + "$ref": "#/definitions/vegaERC20SignerAdded", + "title": "Add a signer to the erc20 bridge" + }, + "signerRemoved": { + "$ref": "#/definitions/vegaERC20SignerRemoved", + "title": "Remove a signer from the erc20 bridge" + }, + "thresholdSet": { + "$ref": "#/definitions/vegaERC20ThresholdSet", + "title": "Threshold set" + } + }, + "title": "Event related to the ERC20 MultiSig" + }, + "vegaERC20SignerAdded": { + "type": "object", + "properties": { + "newSigner": { + "type": "string", + "title": "Ethereum address of the new signer" + }, + "nonce": { + "type": "string", + "title": "Nonce created by the Vega network used for this new signer" + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Time at which the block was produced\nwill be used to inform the core at what time\nthe stake was made unavailable." + } + }, + "title": "New signer added to the ERC20 bridge" + }, + "vegaERC20SignerRemoved": { + "type": "object", + "properties": { + "oldSigner": { + "type": "string", + "title": "Ethereum address of the old signer" + }, + "nonce": { + "type": "string", + "title": "Nonce created by the Vega network used for this old signer" + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Time at which the block was produced.\nWill be used to inform the core at what time\nthe stake was made unavailable." + } + }, + "title": "Signer removed from the ERC20 bridge" + }, + "vegaERC20ThresholdSet": { + "type": "object", + "properties": { + "newThreshold": { + "type": "integer", + "format": "int64", + "title": "New threshold value to set" + }, + "nonce": { + "type": "string", + "title": "Nonce created by the Vega network" + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Time at which the block was produced.\nWill be used to inform the core at what time\nthe stake was made unavailable." + } + }, + "title": "Threshold has been updated on the multisig control" + }, + "vegaERC20Update": { + "type": "object", + "properties": { + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address.\nThis will be interpreted against the asset decimals.\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + } + }, + "vegaERC20Withdrawal": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "targetEthereumAddress": { + "type": "string", + "description": "Target Ethereum wallet address." + }, + "referenceNonce": { + "type": "string", + "description": "Reference nonce used for the transaction." + } + }, + "title": "Asset withdrawal for an ERC20 token" + }, + "vegaErc20WithdrawExt": { + "type": "object", + "properties": { + "receiverAddress": { + "type": "string", + "description": "Address into which the bridge will release the funds." + } + }, + "title": "Extension of data required for the withdraw submissions" + }, + "vegaEthCallSpec": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Ethereum address of the contract to call." + }, + "abi": { + "type": "string", + "description": "The ABI of that contract." + }, + "method": { + "type": "string", + "description": "Name of the method on the contract to call." + }, + "args": { + "type": "array", + "items": { + "type": "object" + }, + "description": "List of arguments to pass to method call.\nProtobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum\ntype according to the ABI." + }, + "trigger": { + "$ref": "#/definitions/vegaEthCallTrigger", + "description": "Conditions for determining when to call the contract method." + }, + "requiredConfirmations": { + "type": "string", + "format": "uint64", + "title": "Number of confirmations required before the query is considered verified" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "title": "Filters the data returned from the contract method" + }, + "normalisers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNormaliser" + }, + "description": "Normalisers are used to convert the data returned from the contract method\ninto a standard format. The key of the map is the name of the property,\nwhich identifies the specific piece of data to other parts of the data\nsourcing framework, for example filters. The value is a JSONPath expression\nfor expressing where in the contract call result the required data is\nlocated, for example $[0] indicates the first result. $[1].price would look\nin the second result returned from the contract for a structure with a key\ncalled 'price' and use that if it exists." + } + }, + "description": "Specifies a data source that derives its content from calling a read method\non an Ethereum contract." + }, + "vegaEthCallTrigger": { + "type": "object", + "properties": { + "timeTrigger": { + "$ref": "#/definitions/vegaEthTimeTrigger" + } + }, + "description": "Determines when the contract method should be called." + }, + "vegaEthContractCallEvent": { + "type": "object", + "properties": { + "specId": { + "type": "string", + "description": "ID of the data source spec that triggered this contract call." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Ethereum block height." + }, + "blockTime": { + "type": "string", + "format": "uint64", + "description": "Ethereum block time in Unix seconds." + }, + "result": { + "type": "string", + "format": "byte", + "description": "Result of contract call, packed according to the ABI stored in the associated data source spec." + }, + "error": { + "type": "string", + "description": "Error message if the call failed." + } + }, + "title": "Result of calling an arbitrary Ethereum contract method" + }, + "vegaEthTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "uint64", + "description": "Trigger when the Ethereum time is greater or equal to this time, in Unix\nseconds." + }, + "every": { + "type": "string", + "format": "uint64", + "description": "Repeat the call every n seconds after the initial call. If no time for\ninitial call was specified, begin repeating immediately." + }, + "until": { + "type": "string", + "format": "uint64", + "description": "If repeating, stop once Ethereum time is greater than this time, in Unix\nseconds. If not set, then repeat indefinitely." + } + }, + "description": "Trigger for an Ethereum call based on the Ethereum block timestamp. Can be\none-off or repeating." + }, + "vegaFutureProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The external data source spec describing the data source of trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaGovernanceTransferType": { + "type": "string", + "enum": [ + "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED", + "GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING", + "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT" + ], + "default": "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED" + }, + "vegaInstrumentConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Instrument name." + }, + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaFutureProduct", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpotProduct", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaKeyValueBundle": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "tolerance": { + "type": "string" + }, + "value": { + "$ref": "#/definitions/vegaStateVarValue" + } + } + }, + "vegaLiquidityMonitoringParameters": { + "type": "object", + "properties": { + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "triggeringRatio": { + "type": "string", + "description": "Specifies the triggering ratio for entering liquidity auction." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction." + } + }, + "title": "LiquidityMonitoringParameters contains settings used for liquidity monitoring" + }, + "vegaLiquidityOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Pegged reference point for the order." + }, + "proportion": { + "type": "integer", + "format": "int64", + "description": "Relative proportion of the commitment to be allocated at a price level." + }, + "offset": { + "type": "string", + "description": "Offset/amount of units away for the order. This field is an unsigned integer scaled using the market's decimal places." + } + }, + "title": "Represents a liquidity order" + }, + "vegaLiquiditySLAParameters": { + "type": "object", + "properties": { + "priceRange": { + "type": "string" + }, + "commitmentMinTimeFraction": { + "type": "string", + "description": "Specifies the minimum fraction of time LPs must spend \"on the book\" providing their committed liquidity." + }, + "providersFeeCalculationTimeStep": { + "type": "string", + "format": "int64", + "description": "Specifies how often the quality of liquidity supplied by the LPs is evaluated and fees arising from that period are earmarked for specific parties." + }, + "performanceHysteresisEpochs": { + "type": "string", + "format": "uint64", + "description": "Specifies the number of liquidity epochs over which past performance will continue to affect rewards." + }, + "slaCompetitionFactor": { + "type": "string", + "description": "Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers\nthat achieved a higher SLA performance than them." + } + } + }, + "vegaLogNormalModelParams": { + "type": "object", + "properties": { + "mu": { + "type": "number", + "format": "double", + "description": "Mu parameter, annualised growth rate of the underlying asset." + }, + "r": { + "type": "number", + "format": "double", + "description": "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number." + }, + "sigma": { + "type": "number", + "format": "double", + "description": "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number." + } + }, + "title": "Risk model parameters for log normal" + }, + "vegaLogNormalRiskModel": { + "type": "object", + "properties": { + "riskAversionParameter": { + "type": "number", + "format": "double", + "description": "Risk Aversion Parameter." + }, + "tau": { + "type": "number", + "format": "double", + "description": "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall\ncalculation to obtain the maintenance margin, must be a strictly non-negative real number." + }, + "params": { + "$ref": "#/definitions/vegaLogNormalModelParams", + "description": "Risk model parameters for log normal." + } + }, + "title": "Risk model for log normal" + }, + "vegaMarketStateUpdateType": { + "type": "string", + "enum": [ + "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "MARKET_STATE_UPDATE_TYPE_TERMINATE", + "MARKET_STATE_UPDATE_TYPE_SUSPEND", + "MARKET_STATE_UPDATE_TYPE_RESUME" + ], + "default": "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "title": "- MARKET_STATE_UPDATE_TYPE_UNSPECIFIED: Default value, always invalid\n - MARKET_STATE_UPDATE_TYPE_TERMINATE: Request to terminate a market via governance\n - MARKET_STATE_UPDATE_TYPE_SUSPEND: Request to suspend a market via governance\n - MARKET_STATE_UPDATE_TYPE_RESUME: Request to resume a market via governance" + }, + "vegaMatrixValue": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVectorValue" + } + } + } + }, + "vegaNetworkParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Unique key of the network parameter." + }, + "value": { + "type": "string", + "description": "Value for the network parameter." + } + }, + "title": "Represents a network parameter on Vega" + }, + "vegaNewAsset": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Configuration of the new asset." + } + }, + "title": "New asset on Vega" + }, + "vegaNewFreeform": { + "type": "object", + "description": "Freeform proposal\nThis message is just used as a placeholder to sort out the nature of the\nproposal once parsed." + }, + "vegaNewMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewMarketConfiguration", + "description": "Configuration of the new market." + } + }, + "title": "New market on Vega" + }, + "vegaNewMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New futures market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new futures market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the futures market can be." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "successor": { + "$ref": "#/definitions/vegaSuccessorConfiguration", + "description": "Successor configuration. If this proposal is meant to succeed a given market, then this should be set." + } + }, + "title": "Configuration for a new futures market on Vega" + }, + "vegaNewSpotMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewSpotMarketConfiguration", + "description": "Configuration of the new spot market." + } + }, + "title": "New spot market on Vega" + }, + "vegaNewSpotMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New spot market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new spot market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the spot market can be." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration for a new spot market on Vega" + }, + "vegaNewTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewTransferConfiguration", + "description": "Configuration for a new transfer." + } + }, + "title": "New governance transfer" + }, + "vegaNewTransferConfiguration": { + "type": "object", + "properties": { + "sourceType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Source account type, such as network treasury, market insurance pool" + }, + "source": { + "type": "string", + "title": "If network treasury, field is empty, otherwise uses the market ID" + }, + "transferType": { + "$ref": "#/definitions/vegaGovernanceTransferType", + "title": "\"All or nothing\" or \"best effort\":\nAll or nothing: Transfers the specified amount or does not transfer anything\nBest effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount" + }, + "amount": { + "type": "string", + "title": "Maximum amount to transfer" + }, + "asset": { + "type": "string", + "title": "ID of asset to transfer" + }, + "fractionOfBalance": { + "type": "string", + "title": "Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance" + }, + "destinationType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool" + }, + "destination": { + "type": "string", + "title": "Specifies the account to transfer to, depending on the account type:\nNetwork treasury: leave empty\nParty: party's public key\nMarket insurance pool: market ID" + }, + "oneOff": { + "$ref": "#/definitions/vegaOneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaRecurringTransfer" + } + } + }, + "vegaNormaliser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "expression": { + "type": "string" + } + } + }, + "vegaOneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegaOrderType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LIMIT", + "TYPE_MARKET", + "TYPE_NETWORK" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_LIMIT: Used for Limit orders\n - TYPE_MARKET: Used for Market orders\n - TYPE_NETWORK: Used for orders where the initiating party is the network (with distressed parties)", + "title": "Type values for an order" + }, + "vegaPeggedOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Price point the order is linked to." + }, + "offset": { + "type": "string", + "description": "Offset from the price reference." + } + }, + "title": "Pegged orders are limit orders where the price is specified in the form REFERENCE +/- OFFSET\nThey can be used for any limit order that is valid during continuous trading" + }, + "vegaPeggedReference": { + "type": "string", + "enum": [ + "PEGGED_REFERENCE_UNSPECIFIED", + "PEGGED_REFERENCE_MID", + "PEGGED_REFERENCE_BEST_BID", + "PEGGED_REFERENCE_BEST_ASK" + ], + "default": "PEGGED_REFERENCE_UNSPECIFIED", + "description": "- PEGGED_REFERENCE_UNSPECIFIED: Default value for PeggedReference, no reference given\n - PEGGED_REFERENCE_MID: Mid price reference\n - PEGGED_REFERENCE_BEST_BID: Best bid price reference\n - PEGGED_REFERENCE_BEST_ASK: Best ask price reference", + "title": "Pegged reference defines which price point a pegged order is linked to - meaning\nthe price for a pegged order is calculated from the value of the reference price point" + }, + "vegaPerpetualProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaPriceMonitoringParameters": { + "type": "object", + "properties": { + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger" + } + } + }, + "title": "PriceMonitoringParameters contains a collection of triggers to be used for a given market" + }, + "vegaPriceMonitoringTrigger": { + "type": "object", + "properties": { + "horizon": { + "type": "string", + "format": "int64", + "description": "Price monitoring projection horizon τ in seconds." + }, + "probability": { + "type": "string", + "description": "Price monitoring probability level p." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Price monitoring auction extension duration in seconds should the price\nbreach its theoretical level over the specified horizon at the specified\nprobability level." + } + }, + "title": "PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration" + }, + "vegaProposalRationale": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description to show a short title / something in case the link goes offline.\nThis is to be between 0 and 20k unicode characters.\nThis is mandatory for all proposals." + }, + "title": { + "type": "string", + "description": "Title to be used to give a short description of the proposal in lists.\nThis is to be between 0 and 100 unicode characters.\nThis is mandatory for all proposals." + } + }, + "description": "Rationale behind a proposal." + }, + "vegaProposalTerms": { + "type": "object", + "properties": { + "closingTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when voting closes for this proposal,\nconstrained by `minClose` and `maxClose` network parameters." + }, + "enactmentTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when proposal gets enacted if passed,\nconstrained by `minEnact` and `maxEnact` network parameters." + }, + "validationTimestamp": { + "type": "string", + "format": "int64", + "description": "Validation timestamp as Unix time in seconds." + }, + "updateMarket": { + "$ref": "#/definitions/vegaUpdateMarket", + "description": "Proposal change for modifying an existing futures market on Vega." + }, + "newMarket": { + "$ref": "#/definitions/vegaNewMarket", + "description": "Proposal change for creating new futures market on Vega." + }, + "updateNetworkParameter": { + "$ref": "#/definitions/vegaUpdateNetworkParameter", + "description": "Proposal change for updating Vega network parameters." + }, + "newAsset": { + "$ref": "#/definitions/vegaNewAsset", + "description": "Proposal change for creating new assets on Vega." + }, + "newFreeform": { + "$ref": "#/definitions/vegaNewFreeform", + "description": "Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system,\nand can be used to gauge community sentiment." + }, + "updateAsset": { + "$ref": "#/definitions/vegaUpdateAsset", + "description": "Proposal change for updating an asset." + }, + "newSpotMarket": { + "$ref": "#/definitions/vegaNewSpotMarket", + "description": "Proposal change for creating new spot market on Vega." + }, + "updateSpotMarket": { + "$ref": "#/definitions/vegaUpdateSpotMarket", + "description": "Proposal change for modifying an existing spot market on Vega." + }, + "newTransfer": { + "$ref": "#/definitions/vegaNewTransfer", + "description": "Proposal change for a governance transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/vegaCancelTransfer", + "description": "Cancel a governance transfer." + }, + "updateMarketState": { + "$ref": "#/definitions/vegaUpdateMarketState", + "description": "Proposal change for updating the state of a market." + } + }, + "title": "Terms for a governance proposal on Vega" + }, + "vegaRecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegaScalarValue": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + } + }, + "vegaSide": { + "type": "string", + "enum": [ + "SIDE_UNSPECIFIED", + "SIDE_BUY", + "SIDE_SELL" + ], + "default": "SIDE_UNSPECIFIED", + "description": "- SIDE_UNSPECIFIED: Default value, always invalid\n - SIDE_BUY: Buy order\n - SIDE_SELL: Sell order", + "title": "Side relates to the direction of an order, to Buy, or Sell" + }, + "vegaSimpleModelParams": { + "type": "object", + "properties": { + "factorLong": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for long." + }, + "factorShort": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for short." + }, + "maxMoveUp": { + "type": "number", + "format": "double", + "description": "Pre-defined maximum price move up that the model considers as valid." + }, + "minMoveDown": { + "type": "number", + "format": "double", + "description": "Pre-defined minimum price move down that the model considers as valid." + }, + "probabilityOfTrading": { + "type": "number", + "format": "double", + "description": "Pre-defined constant probability of trading." + } + }, + "title": "Risk model parameters for simple modelling" + }, + "vegaSpotProduct": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Base asset ID." + }, + "quoteAsset": { + "type": "string", + "description": "Quote asset ID." + }, + "name": { + "type": "string", + "description": "Product name." + } + }, + "title": "Spot product configuration" + }, + "vegaStakeDeposited": { + "type": "object", + "properties": { + "ethereumAddress": { + "type": "string", + "title": "Ethereum Address of the user depositing stake (hex encode with 0x prefix)" + }, + "vegaPublicKey": { + "type": "string", + "description": "Hex encoded public key of the party receiving the stake deposit." + }, + "amount": { + "type": "string", + "description": "Amount deposited as an unsigned base 10 integer scaled to the asset's decimal places." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Time at which the block was produced.\nWill be used to inform the core at what time\nthe stake started to be available." + } + } + }, + "vegaStakeRemoved": { + "type": "object", + "properties": { + "ethereumAddress": { + "type": "string", + "description": "Ethereum address of the user removing stake. This should be hex encoded with 0x prefix." + }, + "vegaPublicKey": { + "type": "string", + "description": "Hex encoded public key of the party from which to remove stake." + }, + "amount": { + "type": "string", + "description": "Amount removed as a base 10 unsigned integer scaled to the asset's decimal places." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "The time at which the block was produced\nwill be used to inform the core at what time\nthe stake was made unavailable." + } + } + }, + "vegaStakeTotalSupply": { + "type": "object", + "properties": { + "tokenAddress": { + "type": "string", + "title": "Address of the staking asset" + }, + "totalSupply": { + "type": "string", + "description": "Total supply observed for the token as an unsigned based 10 integer scaled to the asset's decimal places." + } + } + }, + "vegaStakingEvent": { + "type": "object", + "properties": { + "index": { + "type": "string", + "format": "uint64", + "description": "Index of the log in the transaction." + }, + "block": { + "type": "string", + "format": "uint64", + "description": "Block in which the transaction was added." + }, + "stakeDeposited": { + "$ref": "#/definitions/vegaStakeDeposited" + }, + "stakeRemoved": { + "$ref": "#/definitions/vegaStakeRemoved" + }, + "totalSupply": { + "$ref": "#/definitions/vegaStakeTotalSupply" + } + }, + "description": "Event related to staking on the Vega network." + }, + "vegaStateValueProposal": { + "type": "object", + "properties": { + "stateVarId": { + "type": "string", + "description": "State variable ID." + }, + "eventId": { + "type": "string", + "description": "Event ID." + }, + "kvb": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaKeyValueBundle" + }, + "description": "Key value tolerance triplets." + } + } + }, + "vegaStateVarValue": { + "type": "object", + "properties": { + "scalarVal": { + "$ref": "#/definitions/vegaScalarValue" + }, + "vectorVal": { + "$ref": "#/definitions/vegaVectorValue" + }, + "matrixVal": { + "$ref": "#/definitions/vegaMatrixValue" + } + } + }, + "vegaSuccessorConfiguration": { + "type": "object", + "properties": { + "parentMarketId": { + "type": "string", + "description": "ID of the market that the successor should take over from." + }, + "insurancePoolFraction": { + "type": "string", + "description": "A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor." + } + }, + "description": "Configuration required to turn a new market proposal in to a successor market proposal." + }, + "vegaTargetStakeParameters": { + "type": "object", + "properties": { + "timeWindow": { + "type": "string", + "format": "int64", + "description": "Specifies length of time window expressed in seconds for target stake calculation." + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Specifies scaling factors used in target stake calculation." + } + }, + "title": "TargetStakeParameters contains parameters used in target stake calculation" + }, + "vegaUpdateAsset": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaAssetDetailsUpdate", + "description": "Changes to apply on an existing asset." + } + }, + "title": "Update an existing asset on Vega" + }, + "vegaUpdateFutureProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data of settlement data." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data source for trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "The binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaUpdateInstrumentConfiguration": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaUpdateFutureProduct", + "description": "Future." + }, + "perpetual": { + "$ref": "#/definitions/vegaUpdatePerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaUpdateMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateMarketConfiguration", + "description": "Updated configuration of the futures market." + } + }, + "title": "Update an existing market on Vega" + }, + "vegaUpdateMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaUpdateInstrumentConfiguration", + "description": "Updated futures market instrument configuration." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + } + }, + "title": "Configuration to update a futures market on Vega" + }, + "vegaUpdateMarketState": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaUpdateMarketStateConfiguration", + "title": "Configuration for governance-initiated change of a market's state" + } + } + }, + "vegaUpdateMarketStateConfiguration": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "ID of the market" + }, + "updateType": { + "$ref": "#/definitions/vegaMarketStateUpdateType", + "title": "Type of the market update" + }, + "price": { + "type": "string", + "title": "Settlement price, relevant only for market termination for futures markets" + } + } + }, + "vegaUpdateNetworkParameter": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "The network parameter to update." + } + }, + "title": "Update network configuration on Vega" + }, + "vegaUpdatePerpetualProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaUpdateSpotMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateSpotMarketConfiguration", + "description": "Updated configuration of the spot market." + } + }, + "title": "Update an existing spot market on Vega" + }, + "vegaUpdateSpotMarketConfiguration": { + "type": "object", + "properties": { + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration to update a spot market on Vega" + }, + "vegaVectorValue": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "vegaVoteValue": { + "type": "string", + "enum": [ + "VALUE_UNSPECIFIED", + "VALUE_NO", + "VALUE_YES" + ], + "default": "VALUE_UNSPECIFIED", + "description": "- VALUE_UNSPECIFIED: Default value, always invalid\n - VALUE_NO: Vote against the proposal\n - VALUE_YES: Vote in favour of the proposal", + "title": "Vote value" + }, + "vegaWithdrawExt": { + "type": "object", + "properties": { + "erc20": { + "$ref": "#/definitions/vegaErc20WithdrawExt", + "description": "ERC20 withdrawal details." + } + }, + "title": "Withdrawal external details" + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/data-node/api/v2/trading_data.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/data-node/api/v2/trading_data.swagger.json new file mode 100644 index 000000000..1e550c3e3 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/data-node/api/v2/trading_data.swagger.json @@ -0,0 +1,15611 @@ +{ + "swagger": "2.0", + "info": { + "title": "Vega data node APIs", + "version": "v0.72.1" + }, + "tags": [ + { + "name": "TradingDataService" + } + ], + "host": "https://api.testnet.vega.xyz", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/api/v2/accounts": { + "get": { + "summary": "List accounts", + "description": "Get a list of accounts matching the supplied filter, including their current balances.\nIf a given account has never had a balance, it will be absent from the list.", + "operationId": "TradingDataService_ListAccounts", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListAccountsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "filter.assetId", + "description": "Restrict accounts to those holding balances in this asset ID.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filter.partyIds", + "description": "Restrict accounts to those owned by the parties in this list. Pass an empty list for no filter.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.marketIds", + "description": "Restrict accounts to those connected to the markets in this list. Pass an empty list for no filter.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.accountTypes", + "description": "Restrict accounts to those connected to any of the types in this list. Pass an empty list for no filter.\n\n - ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Accounts" + ] + } + }, + "/api/v2/asset/{assetId}": { + "get": { + "summary": "Get asset", + "description": "Get a single asset using its ID. Use the assets list query to get an asset's ID", + "operationId": "TradingDataService_GetAsset", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetAssetResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "assetId", + "description": "Asset ID to get data for.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Assets" + ] + } + }, + "/api/v2/assets": { + "get": { + "summary": "List assets", + "description": "Get a list of assets available on the Vega network", + "operationId": "TradingDataService_ListAssets", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListAssetsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "assetId", + "description": "Optional asset ID to list data for.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Assets" + ] + } + }, + "/api/v2/balance/changes": { + "get": { + "summary": "List balance changes", + "description": "Get a list of the changes in account balances over a period of time.", + "operationId": "TradingDataService_ListBalanceChanges", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListBalanceChangesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "filter.assetId", + "description": "Restrict accounts to those holding balances in this asset ID.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filter.partyIds", + "description": "Restrict accounts to those owned by the parties in this list. Pass an empty list for no filter.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.marketIds", + "description": "Restrict accounts to those connected to the markets in this list. Pass an empty list for no filter.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.accountTypes", + "description": "Restrict accounts to those connected to any of the types in this list. Pass an empty list for no filter.\n\n - ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "dateRange.startTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "dateRange.endTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + } + ], + "tags": [ + "Accounts" + ] + } + }, + "/api/v2/candle": { + "get": { + "summary": "List candle data", + "description": "Get a list of candle data for a given candle ID. Candle IDs can be obtained by calling list-candle-intervals", + "operationId": "TradingDataService_ListCandleData", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListCandleDataResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "candleId", + "description": "Candle ID to retrieve candle data for.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "fromTimestamp", + "description": "Timestamp in Unix nanoseconds to retrieve candles from.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "toTimestamp", + "description": "Timestamp in Unix nanoseconds to retrieve candles to.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Candles" + ] + } + }, + "/api/v2/candle/intervals": { + "get": { + "summary": "List candle intervals", + "description": "Get a list of all available intervals for a given market along with the corresponding candle ID", + "operationId": "TradingDataService_ListCandleIntervals", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListCandleIntervalsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Unique ID for the market to list candle intervals for.", + "in": "query", + "required": true, + "type": "string" + } + ], + "tags": [ + "Candles" + ] + } + }, + "/api/v2/checkpoints": { + "get": { + "summary": "List checkpoints", + "description": "Get a list of information about checkpoints generated by the network", + "operationId": "TradingDataService_ListCheckpoints", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListCheckpointsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Network" + ] + } + }, + "/api/v2/delegations": { + "get": { + "summary": "List delegations", + "description": "Get a list of the token delegations on the network", + "operationId": "TradingDataService_ListDelegations", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListDelegationsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Restrict delegations to those made by the given party ID.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "nodeId", + "description": "Restrict delegations to those made to the given node ID.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "epochId", + "description": "Return delegations made in the given epoch. If not set, delegations for the current epoch will be returned.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Network" + ] + } + }, + "/api/v2/deposit/{id}": { + "get": { + "summary": "Get deposit", + "description": "Get a deposit by its ID", + "operationId": "TradingDataService_GetDeposit", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetDepositResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "Deposit ID to return data for.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Assets" + ] + } + }, + "/api/v2/deposits": { + "get": { + "summary": "List deposits", + "description": "Get a list of deposits for a given party.\nIf a date range is provided, filtering will be based on the last time the deposit\nhas been updated in Vega time.", + "operationId": "TradingDataService_ListDeposits", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListDepositsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Restrict deposits to those made by the given party ID.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "dateRange.startTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "dateRange.endTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + } + ], + "tags": [ + "Assets" + ] + } + }, + "/api/v2/epoch": { + "get": { + "summary": "Get epoch", + "description": "Get data for a specific epoch, if ID is omitted, it retrieves the current epoch", + "operationId": "TradingDataService_GetEpoch", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetEpochResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "Epoch ID. If provided, returns the epoch with the given ID.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "block", + "description": "Block height. If provided, returns the epoch that the given block is in.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + } + ], + "tags": [ + "Network" + ] + } + }, + "/api/v2/erc20/asset/limits/bundle": { + "get": { + "summary": "Get ERC20 set asset limits bundle", + "description": "Get the signature bundle to update the token limits. These are `maxLifetimeDeposit` and `withdrawThreshold` for a given ERC20 token that is\nalready allowlisted in the collateral bridge.", + "operationId": "TradingDataService_GetERC20SetAssetLimitsBundle", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetERC20SetAssetLimitsBundleResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "proposalId", + "description": "Proposal ID of the asset update proposal.", + "in": "query", + "required": true, + "type": "string" + } + ], + "tags": [ + "ERC20 bridge" + ] + } + }, + "/api/v2/erc20/asset/list/bundle": { + "get": { + "summary": "Get ERC20 list asset bundle", + "description": "Get the signatures bundle to allowlist an ERC20 token in the collateral bridge", + "operationId": "TradingDataService_GetERC20ListAssetBundle", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetERC20ListAssetBundleResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "assetId", + "description": "Asset ID of the asset bundle requested.", + "in": "query", + "required": true, + "type": "string" + } + ], + "tags": [ + "ERC20 bridge" + ] + } + }, + "/api/v2/erc20/asset/withdrawal/bundle": { + "get": { + "summary": "Get ERC20 withdrawal approval", + "description": "Get the signature bundle to finalise a withdrawal on Ethereum", + "operationId": "TradingDataService_GetERC20WithdrawalApproval", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetERC20WithdrawalApprovalResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "withdrawalId", + "description": "Withdrawal ID to retrieve.", + "in": "query", + "required": true, + "type": "string" + } + ], + "tags": [ + "ERC20 bridge" + ] + } + }, + "/api/v2/erc20/multisigcontrol/signer/added/bundles": { + "get": { + "summary": "List ERC20 multi-sig signer added bundles", + "description": "Get a list of the signature bundles to add a particular validator to the signer list of the multisig contract", + "operationId": "TradingDataService_ListERC20MultiSigSignerAddedBundles", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListERC20MultiSigSignerAddedBundlesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "nodeId", + "description": "Node ID of the validator for which a signature bundle is required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "submitter", + "description": "Ethereum address of the validator that will submit the bundle.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "epochSeq", + "description": "Epoch in which the bundle was generated, i.e. the epoch in which the node was promoted to consensus validator.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "ERC20 bridge" + ] + } + }, + "/api/v2/erc20/multisigcontrol/signer/removed/bundles": { + "get": { + "summary": "List ERC20 multi-sig signer removed bundles", + "description": "Get a list of the signature bundles to remove a particular validator from signer list of the multisig contract", + "operationId": "TradingDataService_ListERC20MultiSigSignerRemovedBundles", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListERC20MultiSigSignerRemovedBundlesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "nodeId", + "description": "Node ID of the validator of which a signature bundle is required.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "submitter", + "description": "Ethereum address of the validator that will submit the bundle.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "epochSeq", + "description": "Epoch in which the bundle was generated, i.e. the epoch in which the node was demoted from a consensus validator.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "ERC20 bridge" + ] + } + }, + "/api/v2/estimate/fee": { + "get": { + "summary": "Estimate fee", + "description": "Estimate the fee that would be incurred for submitting an order\nwith the specified price and size on the market.", + "operationId": "TradingDataService_EstimateFee", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2EstimateFeeResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Market ID, used to specify the fee factors.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "price", + "description": "Price at which the potential order is expected to trade.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "size", + "description": "Size at which the potential order is expected to trade.", + "in": "query", + "required": true, + "type": "string", + "format": "uint64" + } + ], + "tags": [ + "Orders" + ] + } + }, + "/api/v2/estimate/margin": { + "get": { + "summary": "Estimate margin", + "description": "Estimate the margin that would be required for submitting this order", + "operationId": "TradingDataService_EstimateMargin", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2EstimateMarginResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Market ID for the order.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "partyId", + "description": "Party ID of the order.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "side", + "description": "Order side - indicator for Seller or Buyer side.\n\n - SIDE_UNSPECIFIED: Default value, always invalid\n - SIDE_BUY: Buy order\n - SIDE_SELL: Sell order", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "SIDE_UNSPECIFIED", + "SIDE_BUY", + "SIDE_SELL" + ], + "default": "SIDE_UNSPECIFIED" + }, + { + "name": "type", + "description": "Type of the order.\n\n - TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_LIMIT: Used for Limit orders\n - TYPE_MARKET: Used for Market orders\n - TYPE_NETWORK: Used for orders where the initiating party is the network (with distressed parties)", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LIMIT", + "TYPE_MARKET", + "TYPE_NETWORK" + ], + "default": "TYPE_UNSPECIFIED" + }, + { + "name": "size", + "description": "Size of order.", + "in": "query", + "required": true, + "type": "string", + "format": "uint64" + }, + { + "name": "price", + "description": "Price of the asset.", + "in": "query", + "required": true, + "type": "string" + } + ], + "tags": [ + "Orders" + ] + } + }, + "/api/v2/estimate/position": { + "get": { + "summary": "Estimate position", + "description": "Estimate the margin that would be required for maintaining the specified position.\nIf the optional collateral available argument is supplied, the response also contains the estimate of the liquidation price.", + "operationId": "TradingDataService_EstimatePosition", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2EstimatePositionResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Market ID to estimate position for.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "openVolume", + "description": "Open volume. This field is a signed integer scaled to the market's position decimal places.\nA negative number denotes a short position.", + "in": "query", + "required": true, + "type": "string", + "format": "int64" + }, + { + "name": "collateralAvailable", + "description": "Optional argument specifying collateral available for the position, if provided then response will contain the liquidation price estimate.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Positions" + ] + } + }, + "/api/v2/governance": { + "get": { + "summary": "Get governance data", + "description": "Get a single proposal's details either by proposal ID or by reference", + "operationId": "TradingDataService_GetGovernanceData", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetGovernanceDataResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "proposalId", + "description": "Proposal ID to get governance data for, if provided.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "reference", + "description": "Reference to get proposal data for, if provided.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Governance" + ] + } + }, + "/api/v2/governances": { + "get": { + "summary": "List governance data", + "description": "Get a list of proposals", + "operationId": "TradingDataService_ListGovernanceData", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListGovernanceDataResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "proposalState", + "description": "Restrict proposals to those with the given state.\n\n - STATE_UNSPECIFIED: Default value, always invalid\n - STATE_FAILED: Proposal enactment has failed - even though proposal has passed, its execution could not be performed\n - STATE_OPEN: Proposal is open for voting\n - STATE_PASSED: Proposal has gained enough support to be executed\n - STATE_REJECTED: Proposal wasn't accepted i.e. proposal terms failed validation due to wrong configuration or failed to meet network requirements.\n - STATE_DECLINED: Proposal didn't get enough votes, e.g. either failed to gain required participation or majority level.\n - STATE_ENACTED: Proposal enacted\n - STATE_WAITING_FOR_NODE_VOTE: Waiting for node validation of the proposal", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_FAILED", + "STATE_OPEN", + "STATE_PASSED", + "STATE_REJECTED", + "STATE_DECLINED", + "STATE_ENACTED", + "STATE_WAITING_FOR_NODE_VOTE" + ], + "default": "STATE_UNSPECIFIED" + }, + { + "name": "proposalType", + "description": "Restrict proposals to those with the given type.\n\n - TYPE_ALL: List all proposals\n - TYPE_NEW_MARKET: List new market proposals\n - TYPE_UPDATE_MARKET: List update market proposals\n - TYPE_NETWORK_PARAMETERS: List change Vega network parameter proposals\n - TYPE_NEW_ASSET: New asset proposals\n - TYPE_NEW_FREE_FORM: Proposals for creating a new free form proposal\n - TYPE_UPDATE_ASSET: Update asset proposals", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ALL", + "TYPE_NEW_MARKET", + "TYPE_UPDATE_MARKET", + "TYPE_NETWORK_PARAMETERS", + "TYPE_NEW_ASSET", + "TYPE_NEW_FREE_FORM", + "TYPE_UPDATE_ASSET" + ], + "default": "TYPE_UNSPECIFIED" + }, + { + "name": "proposerPartyId", + "description": "Restrict proposals to those proposed by the given party ID.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "proposalReference", + "description": "Restrict proposals to those with the given reference.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Governance" + ] + } + }, + "/api/v2/info": { + "get": { + "summary": "Data node information", + "description": "Get information about the data node.\nResponse contains a semver formatted version of the data node and the commit hash, from which the data node was built", + "operationId": "TradingDataService_Info", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2InfoResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "Node information" + ] + } + }, + "/api/v2/ledgerentry/export": { + "get": { + "summary": "Export ledger entries", + "description": "Export ledger entries records ledger entries to a csv file.\nMay or may not contain a date range - if no date range is provided, list all records for all times.\n\nLedger entries can be exported by:\n - export ledger entries for a single party for a given asset within a given time range\n - export ledger entries for a single party for a given asset for all times\nbuf:lint:ignore RPC_RESPONSE_STANDARD_NAME\nbuf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE", + "operationId": "TradingDataService_ExportLedgerEntries", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/apiHttpBody" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of apiHttpBody" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Restrict exported ledger entries to those relating to the given party ID.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "assetId", + "description": "Restrict exported ledger entries to those relating to the given asset ID.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "dateRange.startTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "dateRange.endTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + } + ], + "tags": [ + "Ledger entries" + ] + } + }, + "/api/v2/ledgerentry/history": { + "get": { + "summary": "List ledger entries", + "description": "Get a list of ledger entries within the given date range.\nThis query requests and sums the number of ledger entries from a given subset of accounts, specified via the 'filter' argument.\nIt returns a time series - implemented as a list of AggregateLedgerEntry structs - with a row for every time\nthe summed ledger entries of the set of specified accounts changes.\nEach account filter must contain no more than one party ID.\n\nEntries can be filtered by:\n - the sending account (market ID, asset ID, account type)\n - receiving account (market ID, asset ID, account type)\n - sending AND receiving account\n - transfer type either in addition to the above filters or as a standalone option", + "operationId": "TradingDataService_ListLedgerEntries", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListLedgerEntriesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "filter.closeOnAccountFilters", + "description": "Determines whether an entry must have accounts matching both the account_from_filter\nand the account_to_filter. If set to 'true', entries must have matches in both filters.\nIf set to `false`, entries matching only the account_from_filter or the account_to_filter will also be included.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "filter.fromAccountFilter.assetId", + "description": "Restrict accounts to those holding balances in this asset ID.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filter.fromAccountFilter.partyIds", + "description": "Restrict accounts to those owned by the parties in this list. Pass an empty list for no filter.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.fromAccountFilter.marketIds", + "description": "Restrict accounts to those connected to the markets in this list. Pass an empty list for no filter.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.fromAccountFilter.accountTypes", + "description": "Restrict accounts to those connected to any of the types in this list. Pass an empty list for no filter.\n\n - ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "filter.toAccountFilter.assetId", + "description": "Restrict accounts to those holding balances in this asset ID.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filter.toAccountFilter.partyIds", + "description": "Restrict accounts to those owned by the parties in this list. Pass an empty list for no filter.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.toAccountFilter.marketIds", + "description": "Restrict accounts to those connected to the markets in this list. Pass an empty list for no filter.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.toAccountFilter.accountTypes", + "description": "Restrict accounts to those connected to any of the types in this list. Pass an empty list for no filter.\n\n - ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "filter.transferTypes", + "description": "List of transfer types that is used for filtering sender and receiver accounts.\n\n - TRANSFER_TYPE_UNSPECIFIED: Default value, always invalid\n - TRANSFER_TYPE_LOSS: Funds deducted after final settlement loss\n - TRANSFER_TYPE_WIN: Funds added to general account after final settlement gain\n - TRANSFER_TYPE_MTM_LOSS: Funds deducted from margin account after mark to market loss\n - TRANSFER_TYPE_MTM_WIN: Funds added to margin account after mark to market gain\n - TRANSFER_TYPE_MARGIN_LOW: Funds transferred from general account to meet margin requirement\n - TRANSFER_TYPE_MARGIN_HIGH: Excess margin amount returned to general account\n - TRANSFER_TYPE_MARGIN_CONFISCATED: Margin confiscated from margin account to fulfil closeout\n - TRANSFER_TYPE_MAKER_FEE_PAY: Maker fee paid from general account\n - TRANSFER_TYPE_MAKER_FEE_RECEIVE: Maker fee received into general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY: Infrastructure fee paid from general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE: Infrastructure fee received into general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_PAY: Liquidity fee paid from general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE: Liquidity fee received into general account\n - TRANSFER_TYPE_BOND_LOW: Bond account funded from general account to meet required bond amount\n - TRANSFER_TYPE_BOND_HIGH: Bond returned to general account after liquidity commitment was reduced\n - TRANSFER_TYPE_WITHDRAW: Funds withdrawn from general account\n - TRANSFER_TYPE_DEPOSIT: Funds deposited to general account\n - TRANSFER_TYPE_BOND_SLASHING: Bond account penalised when liquidity commitment not met\n - TRANSFER_TYPE_REWARD_PAYOUT: Reward payout received\n - TRANSFER_TYPE_TRANSFER_FUNDS_SEND: Internal Vega network instruction for the collateral engine to move funds from a user's general account into the pending transfers pool\n - TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE: Internal Vega network instruction for the collateral engine to move funds from the pending transfers pool account into the destination account\n - TRANSFER_TYPE_CLEAR_ACCOUNT: Market-related accounts emptied because market has closed\n - TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE: Balances restored after network restart\n - TRANSFER_TYPE_SPOT: Spot trade delivery\n - TRANSFER_TYPE_HOLDING_LOCK: An internal instruction to transfer a quantity corresponding to an active spot order from a general account into a party holding account.\n - TRANSFER_TYPE_HOLDING_RELEASE: An internal instruction to transfer an excess quantity corresponding to an active spot order from a holding account into a party general account.\n - TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION: Insurance pool fraction transfer from parent to successor market.\n - TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE: Allocates liquidity fee earnings to each liquidity provider's network controlled liquidity fee account.\n - TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE: Distributes net fee earnings from liquidity provider's fee account to their general account.\n - TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY: Applies SLA penalty by moving funds from party's bond account to market's insurance pool.\n - TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY: Applies SLA penalty by moving funds from the liquidity provider's fee account to market insurance pool.\n - TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT: Collects penalties from the liquidity provider's fee account before the fee revenue is paid, and transfers it to the market's bonus distribution account.\n - TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE: Distributes performance bonus from market bonus to liquidity provider's general account.\n - TRANSFER_TYPE_PERP_FUNDING_LOSS: Funds deducted from margin account after a perpetuals funding loss.\n - TRANSFER_TYPE_PERP_FUNDING_WIN: Funds added to margin account after a perpetuals funding gain.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "TRANSFER_TYPE_UNSPECIFIED", + "TRANSFER_TYPE_LOSS", + "TRANSFER_TYPE_WIN", + "TRANSFER_TYPE_MTM_LOSS", + "TRANSFER_TYPE_MTM_WIN", + "TRANSFER_TYPE_MARGIN_LOW", + "TRANSFER_TYPE_MARGIN_HIGH", + "TRANSFER_TYPE_MARGIN_CONFISCATED", + "TRANSFER_TYPE_MAKER_FEE_PAY", + "TRANSFER_TYPE_MAKER_FEE_RECEIVE", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE", + "TRANSFER_TYPE_LIQUIDITY_FEE_PAY", + "TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE", + "TRANSFER_TYPE_BOND_LOW", + "TRANSFER_TYPE_BOND_HIGH", + "TRANSFER_TYPE_WITHDRAW", + "TRANSFER_TYPE_DEPOSIT", + "TRANSFER_TYPE_BOND_SLASHING", + "TRANSFER_TYPE_REWARD_PAYOUT", + "TRANSFER_TYPE_TRANSFER_FUNDS_SEND", + "TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE", + "TRANSFER_TYPE_CLEAR_ACCOUNT", + "TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE", + "TRANSFER_TYPE_SPOT", + "TRANSFER_TYPE_HOLDING_LOCK", + "TRANSFER_TYPE_HOLDING_RELEASE", + "TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION", + "TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE", + "TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE", + "TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY", + "TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY", + "TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT", + "TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE", + "TRANSFER_TYPE_PERP_FUNDING_LOSS", + "TRANSFER_TYPE_PERP_FUNDING_WIN" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "dateRange.startTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "dateRange.endTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + } + ], + "tags": [ + "Ledger entries" + ] + } + }, + "/api/v2/liquidity/providers": { + "get": { + "summary": "List liquidity providers data", + "description": "List information about active liquidity provider(s) for a given market, or liquidity provider's party ID", + "operationId": "TradingDataService_ListLiquidityProviders", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListLiquidityProvidersResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Market ID to retrieve liquidity providers for.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "partyId", + "description": "Party ID to retrieve data for.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Liquidity providers" + ] + } + }, + "/api/v2/liquidity/provisions": { + "get": { + "summary": "List liquidity provisions", + "description": "Get a list of liquidity provisions for a given market", + "operationId": "TradingDataService_ListLiquidityProvisions", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListLiquidityProvisionsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Restrict liquidity provision orders to those placed on the given market.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "partyId", + "description": "Restrict liquidity provision orders to those placed by the given party.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "reference", + "description": "Restrict liquidity provision orders to those with the given order reference.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "live", + "description": "Whether to include live liquidity provision orders. If not set, live orders will not be included.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Liquidity provisions" + ] + } + }, + "/api/v2/margin/levels": { + "get": { + "summary": "List margin levels", + "description": "Get a list margin levels that match the provided criteria. If no filter is provided, all margin levels will be returned.", + "operationId": "TradingDataService_ListMarginLevels", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListMarginLevelsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Party ID for which to list the margin levels.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "marketId", + "description": "Market ID for which to list the margin levels.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Margin levels" + ] + } + }, + "/api/v2/market/data/{marketId}": { + "get": { + "summary": "Get market data history", + "description": "Get market data history for a market ID from between a given date range", + "operationId": "TradingDataService_GetMarketDataHistoryByID", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetMarketDataHistoryByIDResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Market ID to request data history for.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "startTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "endTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Markets" + ] + } + }, + "/api/v2/market/data/{marketId}/latest": { + "get": { + "summary": "Get latest market data", + "description": "Get the latest market data for a given market", + "operationId": "TradingDataService_GetLatestMarketData", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetLatestMarketDataResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Market ID to retrieve market data for.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Markets" + ] + } + }, + "/api/v2/market/depth/{marketId}/latest": { + "get": { + "summary": "Get latest market depth", + "description": "Get the latest market depth for a given market", + "operationId": "TradingDataService_GetLatestMarketDepth", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetLatestMarketDepthResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Market ID to request market depth for, required field.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "maxDepth", + "description": "Maximum market depth.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + } + ], + "tags": [ + "Markets" + ] + } + }, + "/api/v2/market/{marketId}": { + "get": { + "summary": "Get market", + "description": "Get information about a specific market using its ID. A market's ID will be the same as the ID of the proposal that\ngenerated it", + "operationId": "TradingDataService_GetMarket", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetMarketResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Market ID of the market to retrieve data for.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Markets" + ] + } + }, + "/api/v2/market/{marketId}/trade/latest": { + "get": { + "summary": "Get last trade", + "description": "Get the last trade made for a given market.", + "operationId": "TradingDataService_GetLastTrade", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetLastTradeResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Market ID to retrieve the last trade for.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Trades" + ] + } + }, + "/api/v2/markets": { + "get": { + "summary": "List markets", + "description": "Get a list of markets", + "operationId": "TradingDataService_ListMarkets", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListMarketsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "includeSettled", + "description": "Whether to include settled markets. If not set, settled markets will be included.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Markets" + ] + } + }, + "/api/v2/markets/data": { + "get": { + "summary": "List latest market data", + "description": "Get a list of the latest market data for every market", + "operationId": "TradingDataService_ListLatestMarketData", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListLatestMarketDataResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "Markets" + ] + } + }, + "/api/v2/network/data": { + "get": { + "summary": "Get network data", + "description": "Get data regarding the nodes of the network", + "operationId": "TradingDataService_GetNetworkData", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetNetworkDataResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "Network" + ] + } + }, + "/api/v2/network/limits": { + "get": { + "summary": "Get network limits", + "description": "Get the network limits relating to asset and market creation", + "operationId": "TradingDataService_GetNetworkLimits", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetNetworkLimitsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "Network" + ] + } + }, + "/api/v2/network/parameters": { + "get": { + "summary": "List network parameters", + "description": "Get a list of the network parameter keys and their values", + "operationId": "TradingDataService_ListNetworkParameters", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListNetworkParametersResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Network" + ] + } + }, + "/api/v2/network/parameters/{key}": { + "get": { + "summary": "Get network parameter", + "description": "Get a network parameter's value by its key", + "operationId": "TradingDataService_GetNetworkParameter", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetNetworkParameterResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "key", + "description": "Key identifying the network parameter.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Network" + ] + } + }, + "/api/v2/networkhistory": { + "get": { + "summary": "Network history status", + "description": "Get information about the current state of network history's IPFS swarm", + "operationId": "TradingDataService_GetNetworkHistoryStatus", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetNetworkHistoryStatusResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "Network history" + ] + } + }, + "/api/v2/networkhistory/bootstrap": { + "get": { + "summary": "Network history bootstrap peers", + "description": "Get a list of IPFS peers that can be used to initialise a new data node with network history", + "operationId": "TradingDataService_GetNetworkHistoryBootstrapPeers", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetNetworkHistoryBootstrapPeersResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "Network history" + ] + } + }, + "/api/v2/networkhistory/export": { + "get": { + "summary": "Export network history as CSV", + "description": "Export CSV table data from network history between two block heights.\n\nThe requested block heights must fall on network history segment boundaries, which can\nbe discovered by calling the API to list all network history segments. By default\nsegments contain 1000 blocks. In that case ranges such as (1, 1000), (1001, 2000), (1, 3000)\nwould all fall on segment boundaries and be valid.\n\nThe generated CSV file is compressed into a ZIP file and returned, with the file name\nin the following format: `[chain id]-[table name]-[start block]-[end block].zip`\n\nIn gRPC, results are returned in a chunked stream of base64 encoded data.\n\nThrough the REST gateway, the base64 data chunks are decoded and streamed as a\n`content-type: application/zip` HTTP response.\n\nThe CSV exported data uses a comma as a DELIMITER between fields, and \" for QUOTE-ing fields.\n\nIf a value contains any of: DELIMITER, QUOTE, carriage return, or line feed then the whole\nvalue is prefixed and suffixed by the QUOTE character and any occurrence within\nthe value of a QUOTE character preceded by another QUOTE.\n\nA NULL is output as the NULL parameter string and is not quoted, while a non-NULL value\nmatching the NULL parameter string is quoted.\n\nFor example, with the default settings, a NULL is written as an unquoted empty string,\nwhile an empty string data value is written with double quotes.\n\nNote that CSV files produced may contain quoted values containing embedded carriage returns and line feeds.\nThus the files are not strictly one line per table row like text-format files.\n\nThe first row of the CSV file is a header that describes the contents of each column\nin subsequent rows.\n\nUsually the ZIP file will contain only a single CSV file. However it is possible that\nthe (from_block, to_block) request spans over a range of blocks in which the underlying\nschema of the database changes. For example, a column may have been added, removed, or renamed.\n\nIf this happens, the CSV file will be split at the point of the schema change and the zip\nfile will contain multiple CSV files, with a potentially different set of headers. The\n'version' number of the database schema is part of the in the CSV filename:\n\n `[chain id]-[table name]-[schema version]-[start block]-[end block].zip`\n\nFor example, a zip file might be called mainnet-sometable-000001-003000.zip\n\nAnd contain two CSV files: `mainnet-sometable-1-000001-002000.csv`:\n\ntimestamp, value\n1, foo\n2, bar\n\nAnd `mainnet-sometable-2-002001-003000.csv`:\n\ntimestamp, value, extra_value\n3, baz, apple\n\nIt is worth noting that the schema will not change within a single network history segment.\nbuf:lint:ignore RPC_RESPONSE_STANDARD_NAME\nbuf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE", + "operationId": "TradingDataService_ExportNetworkHistory", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/apiHttpBody" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of apiHttpBody" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "fromBlock", + "description": "Block to begin exporting from. Must be the first block of a history segment,\nwhich by default are 1000 blocks each; in that case - 1, 1001, 2001 etc. are valid values.\nThis can be checked by first calling the API to list all network history segments.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "toBlock", + "description": "Last block to export up to and including. Must be the last block of a history segment\nwhich by default are 1000 blocks each; in that case - 1000, 2000, 3000 etc. are valid values.\nThis can be checked by first calling the API to list all network history segments.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "table", + "description": "Table to export data from.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "TABLE_UNSPECIFIED", + "TABLE_BALANCES", + "TABLE_CHECKPOINTS", + "TABLE_DELEGATIONS", + "TABLE_LEDGER", + "TABLE_ORDERS", + "TABLE_TRADES", + "TABLE_MARKET_DATA", + "TABLE_MARGIN_LEVELS", + "TABLE_POSITIONS", + "TABLE_LIQUIDITY_PROVISIONS", + "TABLE_MARKETS", + "TABLE_DEPOSITS", + "TABLE_WITHDRAWALS", + "TABLE_BLOCKS", + "TABLE_REWARDS" + ], + "default": "TABLE_UNSPECIFIED" + } + ], + "tags": [ + "Network history" + ] + } + }, + "/api/v2/networkhistory/segments": { + "get": { + "summary": "List all network history segments", + "description": "Get a list of all history segments stored by the data node currently connected to", + "operationId": "TradingDataService_ListAllNetworkHistorySegments", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListAllNetworkHistorySegmentsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "Network history" + ] + } + }, + "/api/v2/node/signatures": { + "get": { + "summary": "List node signatures", + "description": "Get a list of aggregate signatures from all the nodes of the network", + "operationId": "TradingDataService_ListNodeSignatures", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListNodeSignaturesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "Resource ID to list signatures for.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "ERC20 bridge" + ] + } + }, + "/api/v2/node/{id}": { + "get": { + "summary": "Get node", + "description": "Get information about a given node", + "operationId": "TradingDataService_GetNode", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetNodeResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "Node ID to get data for.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Network" + ] + } + }, + "/api/v2/nodes": { + "get": { + "summary": "List nodes", + "description": "Get a list of the nodes on the network along with the related information.", + "operationId": "TradingDataService_ListNodes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListNodesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "epochSeq", + "description": "Return the node list for the given epoch. If not set, the node list for the current epoch will be returned.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Network" + ] + } + }, + "/api/v2/oracle/data": { + "get": { + "summary": "List oracle data", + "description": "Get a list of all oracle data that have been broadcast to any market", + "operationId": "TradingDataService_ListOracleData", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListOracleDataResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "oracleSpecId", + "description": "Oracle spec ID to list data for.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Data sources" + ] + } + }, + "/api/v2/oracle/spec/{oracleSpecId}": { + "get": { + "summary": "Get oracle spec", + "description": "Get an oracle spec by ID. Oracle spec IDs can be found by querying markets that use them as a data source", + "operationId": "TradingDataService_GetOracleSpec", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetOracleSpecResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "oracleSpecId", + "description": "Oracle spec ID to request data for.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Data sources" + ] + } + }, + "/api/v2/oracle/specs": { + "get": { + "summary": "List oracle specs", + "description": "Get a list of all oracles specs that are defined against all markets", + "operationId": "TradingDataService_ListOracleSpecs", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListOracleSpecsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Data sources" + ] + } + }, + "/api/v2/order/versions/{orderId}": { + "get": { + "summary": "List order versions", + "description": "Get a list of all versions of an order in the order history", + "operationId": "TradingDataService_ListOrderVersions", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListOrderVersionsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "orderId", + "description": "Order ID to list versions for.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Orders" + ] + } + }, + "/api/v2/order/{orderId}": { + "get": { + "summary": "Get order", + "description": "Get an order by its ID. An order's ID will be the SHA3-256 hash of the signature that the order was submitted with", + "operationId": "TradingDataService_GetOrder", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetOrderResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "orderId", + "description": "Order ID to retrieve order information for.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "version", + "description": "Historic version number of the order to return. If not set, the most current version will be returned.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "tags": [ + "Orders" + ] + } + }, + "/api/v2/orders": { + "get": { + "summary": "List orders", + "description": "Get a list of orders that match the given filters", + "operationId": "TradingDataService_ListOrders", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListOrdersResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "filter.statuses", + "description": "Restrict orders to those with the given statuses.\n\n - STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_ACTIVE: Used for active unfilled or partially filled orders\n - STATUS_EXPIRED: Used for expired GTT orders\n - STATUS_CANCELLED: Used for orders cancelled by the party that created the order\n - STATUS_STOPPED: Used for unfilled FOK or IOC orders, and for orders that were stopped by the network\n - STATUS_FILLED: Used for closed fully filled orders\n - STATUS_REJECTED: Used for orders when not enough collateral was available to fill the margin requirements\n - STATUS_PARTIALLY_FILLED: Used for closed partially filled IOC orders\n - STATUS_PARKED: Order has been removed from the order book and has been parked,\nthis applies to pegged orders and liquidity orders (orders created from a liquidity provision shape)", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_EXPIRED", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_FILLED", + "STATUS_REJECTED", + "STATUS_PARTIALLY_FILLED", + "STATUS_PARKED" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "filter.types", + "description": "Restrict orders to those with the given types.\n\n - TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_LIMIT: Used for Limit orders\n - TYPE_MARKET: Used for Market orders\n - TYPE_NETWORK: Used for orders where the initiating party is the network (with distressed parties)", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LIMIT", + "TYPE_MARKET", + "TYPE_NETWORK" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "filter.timeInForces", + "description": "Restrict orders to those with the given Time In Force.\n\n - TIME_IN_FORCE_UNSPECIFIED: Default value for TimeInForce, can be valid for an amend\n - TIME_IN_FORCE_GTC: Good until cancelled, the order trades any amount and as much as possible\nand remains on the book until it either trades completely or is cancelled\n - TIME_IN_FORCE_GTT: Good until specified time, this order type trades any amount and as much as possible\nand remains on the book until it either trades completely, is cancelled, or expires at a set time\nNOTE: this may in future be multiple types or have sub types for orders that provide different ways of specifying expiry\n - TIME_IN_FORCE_IOC: Immediate or cancel, the order trades any amount and as much as possible\nbut does not remain on the book (whether it trades or not)\n - TIME_IN_FORCE_FOK: Fill or kill, the order either trades completely i.e. remainingSize == 0 after adding,\nor not at all, and does not remain on the book if it doesn't trade\n - TIME_IN_FORCE_GFA: Good for auction, this order is only accepted during an auction period\n - TIME_IN_FORCE_GFN: Good for normal, this order is only accepted during normal trading (that can be continuous trading or frequent batched auctions)", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "TIME_IN_FORCE_UNSPECIFIED", + "TIME_IN_FORCE_GTC", + "TIME_IN_FORCE_GTT", + "TIME_IN_FORCE_IOC", + "TIME_IN_FORCE_FOK", + "TIME_IN_FORCE_GFA", + "TIME_IN_FORCE_GFN" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "filter.excludeLiquidity", + "description": "Indicator if liquidity provision orders should be included or not in the list.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "filter.partyIds", + "description": "Restrict orders to those placed by the given party IDs.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.marketIds", + "description": "Restrict orders to those placed on the given market IDs.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.reference", + "description": "Restrict orders to those with the given reference.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "filter.dateRange.startTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "filter.dateRange.endTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "filter.liveOnly", + "description": "Restrict orders to those that are live. If not set, it is treated as being false.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Orders" + ] + } + }, + "/api/v2/parties": { + "get": { + "summary": "List parties", + "description": "Get a list of parties", + "operationId": "TradingDataService_ListParties", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListPartiesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Restrict the returned party to only the given party ID. If not set, all parties will be returned.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Parties" + ] + } + }, + "/api/v2/parties/{partyId}/stake": { + "get": { + "summary": "Get stake", + "description": "Get staking information for a given party", + "operationId": "TradingDataService_GetStake", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetStakeResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Party ID for which the stake information is requested.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Network" + ] + } + }, + "/api/v2/party/{partyId}": { + "get": { + "summary": "Get party", + "description": "Get a single party", + "operationId": "TradingDataService_GetParty", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetPartyResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Party ID to retrieve party information for.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Parties" + ] + } + }, + "/api/v2/positions": { + "get": { + "summary": "List positions", + "description": "Get a list of all of a party's positions", + "operationId": "TradingDataService_ListAllPositions", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListAllPositionsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "filter.partyIds", + "description": "Restrict positions to those related to the given parties.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.marketIds", + "description": "Restrict positions to those on the given markets.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Positions" + ] + } + }, + "/api/v2/rewards": { + "get": { + "summary": "List rewards", + "description": "Get a list of rewards that match the provided criteria. If no filter is provided, all rewards will be returned.", + "operationId": "TradingDataService_ListRewards", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListRewardsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Restrict rewards data to those that were received by the given party.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "assetId", + "description": "Restrict rewards data to those that were paid with the given asset ID.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "fromEpoch", + "description": "Restrict rewards data to those that were paid after and including the given epoch ID.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "toEpoch", + "description": "Restrict rewards data to those that were paid up to and including the given epoch ID.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + } + ], + "tags": [ + "Rewards" + ] + } + }, + "/api/v2/rewards/epoch/summaries": { + "get": { + "summary": "List epoch reward summaries", + "description": "Get a list of reward summaries by epoch for a given range of epochs.\nThe result is filtered by list of asset IDs, market IDs and starting and ending epochs, for which to return rewards.\nIf no data is provided, all reward summaries will be returned, grouped by epochs, market IDs, asset IDs and reward type.", + "operationId": "TradingDataService_ListEpochRewardSummaries", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListEpochRewardSummariesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "filter.assetIds", + "description": "Restrict reward summaries to those connected to the assets in the given list.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.marketIds", + "description": "Restrict reward summaries to those connected to the markets in the given list.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.fromEpoch", + "description": "Restrict rewards summaries to those that were paid after and including the given epoch ID.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "filter.toEpoch", + "description": "Restrict rewards summaries to those that were paid up to and including the given epoch ID.", + "in": "query", + "required": false, + "type": "string", + "format": "uint64" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Rewards" + ] + } + }, + "/api/v2/rewards/summaries": { + "get": { + "summary": "List reward summaries", + "description": "Get a list of reward summaries where the reward amount is the total rewards received over all epochs\nper party ID and asset ID.\nRequest parameters are optional party ID and asset ID.\nIf no data is provided, all reward summaries will be returned grouped by party and asset ID.", + "operationId": "TradingDataService_ListRewardSummaries", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListRewardSummariesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Restrict the reward summary to rewards paid to the given parties.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "assetId", + "description": "Restrict the reward summary to rewards paid in the given assets.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Rewards" + ] + } + }, + "/api/v2/snapshots": { + "get": { + "summary": "List snapshots", + "description": "Get a list of core snapshots taken", + "operationId": "TradingDataService_ListCoreSnapshots", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListCoreSnapshotsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Network" + ] + } + }, + "/api/v2/stoporder/{orderId}": { + "get": { + "summary": "Get stop order", + "description": "Get a stop order by its ID. A stop order's ID will be the SHA3-256 hash of the signature that the order was submitted with.\nA stop order's ID is likely to be different from the ID of the order that will be submitted when the stop is triggered.", + "operationId": "TradingDataService_GetStopOrder", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetStopOrderResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "orderId", + "description": "Order ID to retrieve order information for.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Orders" + ] + } + }, + "/api/v2/stoporders": { + "get": { + "summary": "List stop orders", + "description": "Get a list of stop orders that match the given filters", + "operationId": "TradingDataService_ListStopOrders", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListStopOrdersResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "filter.statuses", + "description": "Restrict orders to those with the given statuses.\n\n - STATUS_UNSPECIFIED: Never valid\n - STATUS_PENDING: Pending to be executed once the trigger is breached\n - STATUS_CANCELLED: Cancelled by the user\n - STATUS_STOPPED: Stopped by the network, e.g: OCO on the other side has been triggered\n - STATUS_TRIGGERED: Stop order has been triggered and generated an order\n - STATUS_EXPIRED: Stop order has expired\n - STATUS_REJECTED: Stop order was rejected at submission", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_TRIGGERED", + "STATUS_EXPIRED", + "STATUS_REJECTED" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "filter.expiryStrategies", + "description": "Restrict orders to those with the given expiry strategies.\n\n - EXPIRY_STRATEGY_UNSPECIFIED: Never valid\n - EXPIRY_STRATEGY_CANCELS: Stop order should be cancelled if the expiry time is reached.\n - EXPIRY_STRATEGY_SUBMIT: Order should be submitted if the expiry time is reached.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "EXPIRY_STRATEGY_UNSPECIFIED", + "EXPIRY_STRATEGY_CANCELS", + "EXPIRY_STRATEGY_SUBMIT" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "filter.dateRange.startTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "filter.dateRange.endTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "filter.partyIds", + "description": "Restrict orders to those placed by the given party IDs.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "filter.marketIds", + "description": "Restrict orders to those placed on the given market IDs.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + } + ], + "tags": [ + "Orders" + ] + } + }, + "/api/v2/stream/accounts": { + "get": { + "summary": "Accounts subscription", + "description": "Subscribe to a stream of accounts", + "operationId": "TradingDataService_ObserveAccounts", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObserveAccountsResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObserveAccountsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Market ID to filter accounts by. If empty, no markets will be filtered.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "partyId", + "description": "Party ID to filter accounts by. If empty, no parties will be filtered.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "asset", + "description": "Asset ID to filter accounts by. If empty, no assets will be filtered.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "type", + "description": "Account type to subscribe to, required field.\n\n - ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ], + "default": "ACCOUNT_TYPE_UNSPECIFIED" + } + ], + "tags": [ + "Accounts" + ] + } + }, + "/api/v2/stream/candle/data": { + "get": { + "summary": "Observe candle data", + "description": "Subscribe to a stream of candle updates", + "operationId": "TradingDataService_ObserveCandleData", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObserveCandleDataResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObserveCandleDataResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "candleId", + "description": "Unique ID for the candle.", + "in": "query", + "required": true, + "type": "string" + } + ], + "tags": [ + "Candles" + ] + } + }, + "/api/v2/stream/event/bus": { + "get": { + "summary": "Observe event bus", + "description": "Subscribe to a stream of events from the core", + "operationId": "TradingDataService_ObserveEventBus", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObserveEventBusResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObserveEventBusResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "type", + "description": "One or more types of event, required field.\n\n - BUS_EVENT_TYPE_UNSPECIFIED: Default value, always invalid\n - BUS_EVENT_TYPE_ALL: Events of ALL event types, used when filtering stream from event bus\n - BUS_EVENT_TYPE_TIME_UPDATE: Event for blockchain time updates\n - BUS_EVENT_TYPE_LEDGER_MOVEMENTS: Event for when a transfer happens internally, contains the transfer information\n - BUS_EVENT_TYPE_POSITION_RESOLUTION: Event indicating position resolution has occurred\n - BUS_EVENT_TYPE_ORDER: Event for order updates, both new and existing orders\n - BUS_EVENT_TYPE_ACCOUNT: Event for account updates\n - BUS_EVENT_TYPE_PARTY: Event for party updates\n - BUS_EVENT_TYPE_TRADE: Event indicating a new trade has occurred\n - BUS_EVENT_TYPE_MARGIN_LEVELS: Event indicating margin levels have changed for a party\n - BUS_EVENT_TYPE_PROPOSAL: Event for proposal updates (for governance)\n - BUS_EVENT_TYPE_VOTE: Event indicating a new vote has occurred (for governance)\n - BUS_EVENT_TYPE_MARKET_DATA: Event for market data updates\n - BUS_EVENT_TYPE_NODE_SIGNATURE: Event for a new signature for a Vega node\n - BUS_EVENT_TYPE_LOSS_SOCIALIZATION: Event indicating loss socialisation occurred for a party\n - BUS_EVENT_TYPE_SETTLE_POSITION: Event for when a position is being settled\n - BUS_EVENT_TYPE_SETTLE_DISTRESSED: Event for when a position is distressed\n - BUS_EVENT_TYPE_MARKET_CREATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ASSET: Event for when an asset is added to Vega\n - BUS_EVENT_TYPE_MARKET_TICK: Event indicating a market tick event\n - BUS_EVENT_TYPE_WITHDRAWAL: Event for when a withdrawal occurs\n - BUS_EVENT_TYPE_DEPOSIT: Event for when a deposit occurs\n - BUS_EVENT_TYPE_AUCTION: Event indicating a change in auction state, for example starting or ending an auction\n - BUS_EVENT_TYPE_RISK_FACTOR: Event indicating a risk factor has been updated\n - BUS_EVENT_TYPE_NETWORK_PARAMETER: Event indicating a network parameter has been added or updated\n - BUS_EVENT_TYPE_LIQUIDITY_PROVISION: Event indicating a liquidity provision has been created or updated\n - BUS_EVENT_TYPE_MARKET_UPDATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ORACLE_SPEC: Event indicating an oracle spec has been created or updated\n - BUS_EVENT_TYPE_ORACLE_DATA: Event indicating that an oracle data has been broadcast\n - BUS_EVENT_TYPE_DELEGATION_BALANCE: Event indicating that an delegation balance of a party to a node for current epoch has changed\n - BUS_EVENT_TYPE_VALIDATOR_SCORE: Event indicating the validator score for the given epoch\n - BUS_EVENT_TYPE_EPOCH_UPDATE: Event indicating the start or end of an epoch\n - BUS_EVENT_TYPE_VALIDATOR_UPDATE: Event indicating that validator node has been updated\n - BUS_EVENT_TYPE_STAKE_LINKING: Event indicating a new staking event have been processed by the network\n - BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT: Event indicating the payout of a reward has been initiated\n - BUS_EVENT_TYPE_CHECKPOINT: Event indicating a new checkpoint was created\n - BUS_EVENT_TYPE_STREAM_START: Event indicating stream is starting\n - BUS_EVENT_TYPE_KEY_ROTATION: Event indicating key rotation took place\n - BUS_EVENT_TYPE_STATE_VAR: Event indicating state transitions in state variable consensus\n - BUS_EVENT_TYPE_NETWORK_LIMITS: Event indicating network limits set or updated\n - BUS_EVENT_TYPE_TRANSFER: Event indicating a update for a transfer\n - BUS_EVENT_TYPE_VALIDATOR_RANKING: Event indicating the ranking of validator and their status in Vega\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT: Event indicating a new multi sig signer event have been processed\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD: Event indicating the erc20 multi sig threshold have been updated\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED: Event indicating a new signer has been added to the ERC-20 multisig\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED: Event indicating a signer has been removed from the ERC-20 multisig\n - BUS_EVENT_TYPE_POSITION_STATE: Event indicating that a party's position has changed\n - BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION: Event indicating Ethereum key rotation took place\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL: Event indicating protocol upgrade proposal updates\n - BUS_EVENT_TYPE_BEGIN_BLOCK: Event indicating the core is starting to process a new block\n - BUS_EVENT_TYPE_END_BLOCK: Event indicating the core finished to process a block\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED: Event indicating the core is starting a protocol upgrade\n - BUS_EVENT_TYPE_SETTLE_MARKET: Event indicating the market has stopped and settled\n - BUS_EVENT_TYPE_TRANSACTION_RESULT: Event indicating the result of a transaction processed by the network\n - BUS_EVENT_TYPE_SNAPSHOT_TAKEN: Event indicating a snapshot was taken at this block height\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY: Event data node uses to notify that it is ready to upgrade\n - BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_EXPIRED_ORDERS: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_DISTRESSED_POSITIONS: Event indicating parties have become, or were, distressed but still have an active position.\n - BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION: Event indicating a spot liquidity provision has been created or updated.\n - BUS_EVENT_TYPE_STOP_ORDER: Event indicating a stop order has been submitted or updated.\n - BUS_EVENT_TYPE_FUNDING_PERIOD: Event indicating the start or end of a funding period.\n - BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT: Event indicating a data point for a funding period has been received.\n - BUS_EVENT_TYPE_MARKET: Event indicating a market related event, for example when a market opens\n - BUS_EVENT_TYPE_TX_ERROR: Event used to report failed transactions back to a user, this is excluded from the ALL type", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "BUS_EVENT_TYPE_UNSPECIFIED", + "BUS_EVENT_TYPE_ALL", + "BUS_EVENT_TYPE_TIME_UPDATE", + "BUS_EVENT_TYPE_LEDGER_MOVEMENTS", + "BUS_EVENT_TYPE_POSITION_RESOLUTION", + "BUS_EVENT_TYPE_ORDER", + "BUS_EVENT_TYPE_ACCOUNT", + "BUS_EVENT_TYPE_PARTY", + "BUS_EVENT_TYPE_TRADE", + "BUS_EVENT_TYPE_MARGIN_LEVELS", + "BUS_EVENT_TYPE_PROPOSAL", + "BUS_EVENT_TYPE_VOTE", + "BUS_EVENT_TYPE_MARKET_DATA", + "BUS_EVENT_TYPE_NODE_SIGNATURE", + "BUS_EVENT_TYPE_LOSS_SOCIALIZATION", + "BUS_EVENT_TYPE_SETTLE_POSITION", + "BUS_EVENT_TYPE_SETTLE_DISTRESSED", + "BUS_EVENT_TYPE_MARKET_CREATED", + "BUS_EVENT_TYPE_ASSET", + "BUS_EVENT_TYPE_MARKET_TICK", + "BUS_EVENT_TYPE_WITHDRAWAL", + "BUS_EVENT_TYPE_DEPOSIT", + "BUS_EVENT_TYPE_AUCTION", + "BUS_EVENT_TYPE_RISK_FACTOR", + "BUS_EVENT_TYPE_NETWORK_PARAMETER", + "BUS_EVENT_TYPE_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_MARKET_UPDATED", + "BUS_EVENT_TYPE_ORACLE_SPEC", + "BUS_EVENT_TYPE_ORACLE_DATA", + "BUS_EVENT_TYPE_DELEGATION_BALANCE", + "BUS_EVENT_TYPE_VALIDATOR_SCORE", + "BUS_EVENT_TYPE_EPOCH_UPDATE", + "BUS_EVENT_TYPE_VALIDATOR_UPDATE", + "BUS_EVENT_TYPE_STAKE_LINKING", + "BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT", + "BUS_EVENT_TYPE_CHECKPOINT", + "BUS_EVENT_TYPE_STREAM_START", + "BUS_EVENT_TYPE_KEY_ROTATION", + "BUS_EVENT_TYPE_STATE_VAR", + "BUS_EVENT_TYPE_NETWORK_LIMITS", + "BUS_EVENT_TYPE_TRANSFER", + "BUS_EVENT_TYPE_VALIDATOR_RANKING", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED", + "BUS_EVENT_TYPE_POSITION_STATE", + "BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL", + "BUS_EVENT_TYPE_BEGIN_BLOCK", + "BUS_EVENT_TYPE_END_BLOCK", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED", + "BUS_EVENT_TYPE_SETTLE_MARKET", + "BUS_EVENT_TYPE_TRANSACTION_RESULT", + "BUS_EVENT_TYPE_SNAPSHOT_TAKEN", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY", + "BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED", + "BUS_EVENT_TYPE_EXPIRED_ORDERS", + "BUS_EVENT_TYPE_DISTRESSED_POSITIONS", + "BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_STOP_ORDER", + "BUS_EVENT_TYPE_FUNDING_PERIOD", + "BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT", + "BUS_EVENT_TYPE_MARKET", + "BUS_EVENT_TYPE_TX_ERROR" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "marketId", + "description": "Market ID to filter for, optional field. If empty, no markets will be excluded from the stream.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "partyId", + "description": "Party ID to filter for, optional field. If empty, no parties will be excluded from the stream.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "batchSize", + "description": "Batch size,\nIf not specified, any events received will be sent immediately. If the client is not ready\nfor the next data-set, data may be dropped a number of times, and eventually the stream is closed.\nif specified, the first batch will be sent when ready. To receive the next set of events, the client\nmust write an `ObserveEventBatch` message on the stream to flush the buffer.\nIf no message is received in 5 seconds, the stream is closed.\nDefault: 0, send any and all events when they are available.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + } + ], + "tags": [ + "Events" + ] + } + }, + "/api/v2/stream/governance": { + "get": { + "summary": "Observe governance", + "description": "Subscribe to a stream of updates to governance proposals", + "operationId": "TradingDataService_ObserveGovernance", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObserveGovernanceResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObserveGovernanceResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Restrict proposal updates to those proposed by the given party ID.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Governance" + ] + } + }, + "/api/v2/stream/ledger/movements": { + "get": { + "summary": "Observe ledger movements", + "description": "Subscribe to a stream of transfer responses", + "operationId": "TradingDataService_ObserveLedgerMovements", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObserveLedgerMovementsResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObserveLedgerMovementsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "Ledger movements" + ] + } + }, + "/api/v2/stream/liquidity-provisions": { + "get": { + "summary": "Observe liquidity provisions", + "description": "Subscribe to a stream of liquidity provision events for a given market and party", + "operationId": "TradingDataService_ObserveLiquidityProvisions", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObserveLiquidityProvisionsResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObserveLiquidityProvisionsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Target market to observe for liquidity provision orders.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "partyId", + "description": "Target party to observe for submitted liquidity provision orders.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Liquidity provisions" + ] + } + }, + "/api/v2/stream/margin/levels": { + "get": { + "summary": "Observe margin levels", + "description": "Subscribe to a stream of margin levels updates", + "operationId": "TradingDataService_ObserveMarginLevels", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObserveMarginLevelsResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObserveMarginLevelsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Restrict margin level updates to those relating to the given party.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "marketId", + "description": "Restrict margin level updates to those relating to the given market.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Margin levels" + ] + } + }, + "/api/v2/stream/markets/data": { + "get": { + "summary": "Observe markets data", + "description": "Subscribe to a stream of data about a given market", + "operationId": "TradingDataService_ObserveMarketsData", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObserveMarketsDataResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObserveMarketsDataResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketIds", + "description": "Restrict updates to market data by the given market IDs.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + } + ], + "tags": [ + "Markets" + ] + } + }, + "/api/v2/stream/markets/depth": { + "get": { + "summary": "Observe markets depth", + "description": "Subscribe to a stream of the latest market depth for a given market", + "operationId": "TradingDataService_ObserveMarketsDepth", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObserveMarketsDepthResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObserveMarketsDepthResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketIds", + "description": "Restrict market depth data by the given market IDs.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + } + ], + "tags": [ + "Markets" + ] + } + }, + "/api/v2/stream/markets/depth/updates": { + "get": { + "summary": "Observe markets depth updates", + "description": "Subscribe to a stream of updates on market depth for a given market", + "operationId": "TradingDataService_ObserveMarketsDepthUpdates", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObserveMarketsDepthUpdatesResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObserveMarketsDepthUpdatesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketIds", + "description": "Restrict updates to market depth by the given market IDs.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + } + ], + "tags": [ + "Markets" + ] + } + }, + "/api/v2/stream/orders": { + "get": { + "summary": "Observe orders", + "description": "Subscribe to a stream of orders", + "operationId": "TradingDataService_ObserveOrders", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObserveOrdersResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObserveOrdersResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketIds", + "description": "Restrict orders to those placed on the given markets.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "partyIds", + "description": "Restrict orders to those placed on the by the given parties.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "excludeLiquidity", + "description": "Whether liquidity orders should be excluded from the stream. If not set, liquidity orders will be included.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Orders" + ] + } + }, + "/api/v2/stream/positions": { + "get": { + "summary": "Observe positions", + "description": "Subscribe to a stream of position updates. The first messages sent through the stream will contain\ninformation about current positions, followed by updates to those positions.", + "operationId": "TradingDataService_ObservePositions", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObservePositionsResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObservePositionsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Restrict position updates to those related to the given parties.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "marketId", + "description": "Restrict position updates to those related to the given markets.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Positions" + ] + } + }, + "/api/v2/stream/trades": { + "get": { + "summary": "Observe trades", + "description": "Subscribe to a stream of trades, optionally filtered by party/market", + "operationId": "TradingDataService_ObserveTrades", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObserveTradesResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObserveTradesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketIds", + "description": "Restrict the trades streamed to those made on the given markets.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "partyIds", + "description": "Restrict the trades streamed to those made by the given parties.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + } + ], + "tags": [ + "Trades" + ] + } + }, + "/api/v2/stream/votes": { + "get": { + "summary": "Observe votes", + "description": "Subscribe to a stream of votes cast on a given proposal, or by all votes made by a given party", + "operationId": "TradingDataService_ObserveVotes", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v2ObserveVotesResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v2ObserveVotesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Restrict vote updates to those made by the given party.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "proposalId", + "description": "Restrict vote updates to those made on the given proposal.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Governance" + ] + } + }, + "/api/v2/successor_markets/{marketId}": { + "get": { + "summary": "List successor markets", + "description": "Given a market ID, return the full lineage of markets since inception, or all successor markets since and including\nthe given market ID. The markets will be returned in succession order, i.e. the market at position i will be the parent\nof the market at position i+1.", + "operationId": "TradingDataService_ListSuccessorMarkets", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListSuccessorMarketsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketId", + "description": "Market ID that is a member of the succession line. This can be the original market\nor any subsequent child market that succeeded it.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "includeFullHistory", + "description": "Flag to indicate whether or not to include the full succession line, or only list\nthe children of the given market ID. If true, the full succession line is included.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Markets" + ] + } + }, + "/api/v2/trades": { + "get": { + "summary": "List trades", + "description": "Get a list of all trades, optionally filtered by party/market/order", + "operationId": "TradingDataService_ListTrades", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListTradesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "marketIds", + "description": "Restrict trades to those that occurred on the given markets.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "orderIds", + "description": "Restrict trades to those that were caused by the given orders.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "partyIds", + "description": "Restrict trades to those that were caused by orders placed by the given parties.", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "dateRange.startTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "dateRange.endTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + } + ], + "tags": [ + "Trades" + ] + } + }, + "/api/v2/transfers": { + "get": { + "summary": "List transfers", + "description": "Get a list of transfers between public keys. A valid value for public key can be one of:\n- a party ID\n- \"network\"\n- \"0000000000000000000000000000000000000000000000000000000000000000\", the public key for the global rewards account", + "operationId": "TradingDataService_ListTransfers", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListTransfersResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "pubkey", + "description": "Restrict transfer to those where the given public key is a sender or receiver.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "direction", + "description": "Restrict transfers to those in the given direction from the supplied public key.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "TRANSFER_DIRECTION_UNSPECIFIED", + "TRANSFER_DIRECTION_TRANSFER_FROM", + "TRANSFER_DIRECTION_TRANSFER_TO", + "TRANSFER_DIRECTION_TRANSFER_TO_OR_FROM" + ], + "default": "TRANSFER_DIRECTION_UNSPECIFIED" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Transfers" + ] + } + }, + "/api/v2/upgrade/proposals": { + "get": { + "summary": "List protocol upgrade proposals", + "description": "Get a list of protocol upgrade proposals, optionally filtering on status or approver.", + "operationId": "TradingDataService_ListProtocolUpgradeProposals", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListProtocolUpgradeProposalsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "status", + "description": "Restrict protocol upgrade proposals to those with the given status.\n\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING: The proposal is pending\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED: The proposal is approved\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED: The proposal is rejected", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED" + ], + "default": "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED" + }, + { + "name": "approvedBy", + "description": "Restrict protocol upgrade proposals to those approved by the given node ID.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Network" + ] + } + }, + "/api/v2/upgrade/status": { + "get": { + "summary": "Get protocol upgrade status", + "description": "Get status of a protocol upgrade", + "operationId": "TradingDataService_GetProtocolUpgradeStatus", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetProtocolUpgradeStatusResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "Network" + ] + } + }, + "/api/v2/vega/keys/ethereum/rotations": { + "get": { + "summary": "List Ethereum key rotations", + "description": "Get a list of information about Ethereum key rotations that have been performed by validator nodes", + "operationId": "TradingDataService_ListEthereumKeyRotations", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListEthereumKeyRotationsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "nodeId", + "description": "Node ID to get the rotation for, if provided.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Network" + ] + } + }, + "/api/v2/vega/keys/rotations": { + "get": { + "summary": "List key rotations", + "description": "Get a list of information about Vega key rotations that have been performed by validator nodes", + "operationId": "TradingDataService_ListKeyRotations", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListKeyRotationsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "nodeId", + "description": "Node ID to get key rotations for, if provided.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Network" + ] + } + }, + "/api/v2/vega/time": { + "get": { + "summary": "Get Vega time", + "description": "Get the current time of the network in Unix nanoseconds", + "operationId": "TradingDataService_GetVegaTime", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetVegaTimeResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "Network" + ] + } + }, + "/api/v2/votes": { + "get": { + "summary": "List votes", + "description": "Get a list of votes. A party ID or a proposal ID must be provided.", + "operationId": "TradingDataService_ListVotes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListVotesResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Party for which the votes are requested.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "proposalId", + "description": "Proposal ID to list votes for.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + } + ], + "tags": [ + "Governance" + ] + } + }, + "/api/v2/withdrawal/{id}": { + "get": { + "summary": "Get withdrawal", + "description": "Get a withdrawal by its ID. A withdrawal's ID will be the SHA3-256 hash of the signature that the withdrawal was submitted with", + "operationId": "TradingDataService_GetWithdrawal", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2GetWithdrawalResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "Withdrawal ID to retrieve data for.", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Assets" + ] + } + }, + "/api/v2/withdrawals": { + "get": { + "summary": "List withdrawals", + "description": "Get a list of withdrawals for a given party", + "operationId": "TradingDataService_ListWithdrawals", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v2ListWithdrawalsResponse" + } + }, + "500": { + "description": "An internal server error", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Restrict withdrawals to those made by this party ID.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "pagination.before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "pagination.newestFirst", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "in": "query", + "required": false, + "type": "boolean" + }, + { + "name": "dateRange.startTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + }, + { + "name": "dateRange.endTimestamp", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + } + ], + "tags": [ + "Assets" + ] + } + } + }, + "definitions": { + "ConditionOperator": { + "type": "string", + "enum": [ + "OPERATOR_UNSPECIFIED", + "OPERATOR_EQUALS", + "OPERATOR_GREATER_THAN", + "OPERATOR_GREATER_THAN_OR_EQUAL", + "OPERATOR_LESS_THAN", + "OPERATOR_LESS_THAN_OR_EQUAL" + ], + "default": "OPERATOR_UNSPECIFIED", + "description": "Operator describes the type of comparison.\n\n - OPERATOR_UNSPECIFIED: The default value\n - OPERATOR_EQUALS: Verify if the property values are strictly equal or not.\n - OPERATOR_GREATER_THAN: Verify if the data source data value is greater than the Condition value.\n - OPERATOR_GREATER_THAN_OR_EQUAL: Verify if the data source data value is greater than or equal to the Condition\nvalue.\n - OPERATOR_LESS_THAN: Verify if the data source data value is less than the Condition value.\n - OPERATOR_LESS_THAN_OR_EQUAL: Verify if the data source data value is less or equal to than the Condition\nvalue." + }, + "FundingPeriodDataPointSource": { + "type": "string", + "enum": [ + "SOURCE_UNSPECIFIED", + "SOURCE_EXTERNAL", + "SOURCE_INTERNAL" + ], + "default": "SOURCE_UNSPECIFIED", + "description": " - SOURCE_UNSPECIFIED: Default value\n - SOURCE_EXTERNAL: Data point is from an external data source, such as an oracle, and represents the spot price of the underlying asset.\n - SOURCE_INTERNAL: Data point from within Vega such as the mark price after performing mark-to-market." + }, + "MarketTradingMode": { + "type": "string", + "enum": [ + "TRADING_MODE_UNSPECIFIED", + "TRADING_MODE_CONTINUOUS", + "TRADING_MODE_BATCH_AUCTION", + "TRADING_MODE_OPENING_AUCTION", + "TRADING_MODE_MONITORING_AUCTION", + "TRADING_MODE_NO_TRADING", + "TRADING_MODE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "TRADING_MODE_UNSPECIFIED", + "description": "- TRADING_MODE_UNSPECIFIED: Default value, this is invalid\n - TRADING_MODE_CONTINUOUS: Normal trading\n - TRADING_MODE_BATCH_AUCTION: Auction trading (FBA)\n - TRADING_MODE_OPENING_AUCTION: Opening auction\n - TRADING_MODE_MONITORING_AUCTION: Auction triggered by monitoring\n - TRADING_MODE_NO_TRADING: No trading is allowed\n - TRADING_MODE_SUSPENDED_VIA_GOVERNANCE: Special auction mode triggered via governance", + "title": "Trading mode the market is currently running, also referred to as 'market state'" + }, + "OracleDataSubmissionOracleSource": { + "type": "string", + "enum": [ + "ORACLE_SOURCE_UNSPECIFIED", + "ORACLE_SOURCE_OPEN_ORACLE", + "ORACLE_SOURCE_JSON", + "ORACLE_SOURCE_ETHEREUM" + ], + "default": "ORACLE_SOURCE_UNSPECIFIED", + "description": "- ORACLE_SOURCE_UNSPECIFIED: Default value\n - ORACLE_SOURCE_OPEN_ORACLE: Specifies that the payload will be base64 encoded JSON conforming to the Open Oracle standard\n - ORACLE_SOURCE_JSON: Specifies that the payload will be base64 encoded JSON, but does not specify the shape of the data\n - ORACLE_SOURCE_ETHEREUM: Specifies that the payload will be base64 encoded JSON conforming to the ETH standard", + "title": "Supported oracle sources" + }, + "OrderTimeInForce": { + "type": "string", + "enum": [ + "TIME_IN_FORCE_UNSPECIFIED", + "TIME_IN_FORCE_GTC", + "TIME_IN_FORCE_GTT", + "TIME_IN_FORCE_IOC", + "TIME_IN_FORCE_FOK", + "TIME_IN_FORCE_GFA", + "TIME_IN_FORCE_GFN" + ], + "default": "TIME_IN_FORCE_UNSPECIFIED", + "description": "- TIME_IN_FORCE_UNSPECIFIED: Default value for TimeInForce, can be valid for an amend\n - TIME_IN_FORCE_GTC: Good until cancelled, the order trades any amount and as much as possible\nand remains on the book until it either trades completely or is cancelled\n - TIME_IN_FORCE_GTT: Good until specified time, this order type trades any amount and as much as possible\nand remains on the book until it either trades completely, is cancelled, or expires at a set time\nNOTE: this may in future be multiple types or have sub types for orders that provide different ways of specifying expiry\n - TIME_IN_FORCE_IOC: Immediate or cancel, the order trades any amount and as much as possible\nbut does not remain on the book (whether it trades or not)\n - TIME_IN_FORCE_FOK: Fill or kill, the order either trades completely i.e. remainingSize == 0 after adding,\nor not at all, and does not remain on the book if it doesn't trade\n - TIME_IN_FORCE_GFA: Good for auction, this order is only accepted during an auction period\n - TIME_IN_FORCE_GFN: Good for normal, this order is only accepted during normal trading (that can be continuous trading or frequent batched auctions)", + "title": "Time In Force for an order" + }, + "StopOrderExpiryStrategy": { + "type": "string", + "enum": [ + "EXPIRY_STRATEGY_UNSPECIFIED", + "EXPIRY_STRATEGY_CANCELS", + "EXPIRY_STRATEGY_SUBMIT" + ], + "default": "EXPIRY_STRATEGY_UNSPECIFIED", + "description": " - EXPIRY_STRATEGY_UNSPECIFIED: Never valid\n - EXPIRY_STRATEGY_CANCELS: Stop order should be cancelled if the expiry time is reached.\n - EXPIRY_STRATEGY_SUBMIT: Order should be submitted if the expiry time is reached." + }, + "StopOrderTriggerDirection": { + "type": "string", + "enum": [ + "TRIGGER_DIRECTION_UNSPECIFIED", + "TRIGGER_DIRECTION_RISES_ABOVE", + "TRIGGER_DIRECTION_FALLS_BELOW" + ], + "default": "TRIGGER_DIRECTION_UNSPECIFIED", + "title": "- TRIGGER_DIRECTION_UNSPECIFIED: Never valid\n - TRIGGER_DIRECTION_RISES_ABOVE: Stop order is triggered once the price rises above a certain level\n - TRIGGER_DIRECTION_FALLS_BELOW: Stop order is triggered once the price falls below a certain level" + }, + "TransactionResultFailureDetails": { + "type": "object", + "properties": { + "error": { + "type": "string", + "title": "Error message explaining the reason for the transaction failing processing" + } + } + }, + "TransactionResultSuccessDetails": { + "type": "object" + }, + "UndelegateSubmissionMethod": { + "type": "string", + "enum": [ + "METHOD_UNSPECIFIED", + "METHOD_NOW", + "METHOD_AT_END_OF_EPOCH" + ], + "default": "METHOD_UNSPECIFIED" + }, + "apiHttpBody": { + "type": "object", + "properties": { + "contentType": { + "type": "string", + "description": "The HTTP Content-Type header value specifying the content type of the body." + }, + "data": { + "type": "string", + "format": "byte", + "description": "The HTTP request/response body as raw binary." + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + }, + "description": "Application specific response metadata. Must be set in the first response\nfor streaming APIs." + } + }, + "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n message GetResourceRequest {\n // A unique request id.\n string request_id = 1;\n\n // The raw HTTP body is bound to this field.\n google.api.HttpBody http_body = 2;\n\n }\n\n service ResourceService {\n rpc GetResource(GetResourceRequest)\n returns (google.api.HttpBody);\n rpc UpdateResource(google.api.HttpBody)\n returns (google.protobuf.Empty);\n\n }\n\nExample with streaming methods:\n\n service CaldavService {\n rpc GetCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n rpc UpdateCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n\n }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged." + }, + "apiv2Candle": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for the point in time when the candle was initially created/opened." + }, + "lastUpdate": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for the point in time when the candle was last updated." + }, + "high": { + "type": "string", + "description": "Highest price for trading during the candle interval." + }, + "low": { + "type": "string", + "description": "Lowest price for trading during the candle interval." + }, + "open": { + "type": "string", + "description": "Open trade price." + }, + "close": { + "type": "string", + "description": "Closing trade price." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Total trading volume during the candle interval." + }, + "notional": { + "type": "string", + "format": "uint64", + "description": "Total notional value traded during the candle interval." + } + }, + "title": "Represents the high, low, open, and closing prices for an interval of trading,\nreferred to commonly as a candlestick or candle" + }, + "commandsv1CancelTransfer": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "Transfer ID of the transfer to cancel." + } + }, + "title": "Request for cancelling a recurring transfer" + }, + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + } + }, + "additionalProperties": {}, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "protobufNullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "v1AnnounceNode": { + "type": "object", + "properties": { + "vegaPubKey": { + "type": "string", + "description": "Vega public key, required field." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key, required field." + }, + "chainPubKey": { + "type": "string", + "description": "Public key for the blockchain, required field." + }, + "infoUrl": { + "type": "string", + "description": "URL with more info on the node." + }, + "country": { + "type": "string", + "description": "Country code (ISO 3166-1 alpha-2) for the location of the node." + }, + "id": { + "type": "string", + "description": "Node ID of the validator, i.e. the node's public master key." + }, + "name": { + "type": "string", + "description": "Name of the validator." + }, + "avatarUrl": { + "type": "string", + "description": "AvatarURL of the validator." + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "Vega public key derivation index." + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "description": "Epoch from which the validator is expected\nto be ready to validate blocks." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the ethereum wallet." + }, + "vegaSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the Vega wallet." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + } + }, + "title": "Used to announce a node as a new pending validator" + }, + "v1AuctionEvent": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "openingAuction": { + "type": "boolean", + "title": "True if the event indicates an auction opening and False otherwise" + }, + "leave": { + "type": "boolean", + "title": "True if the event indicates leaving auction mode and False otherwise" + }, + "start": { + "type": "string", + "format": "int64", + "title": "Timestamp containing the start time for an auction" + }, + "end": { + "type": "string", + "format": "int64", + "title": "Timestamp containing the end time for an auction" + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "title": "Reason this market is/was in auction" + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "title": "If an auction was ongoing, but was extended for whatever reason, this field will\nbe set to the trigger type indicating which component extended the auction" + } + }, + "title": "Auction event indicating a change in auction state, for example starting or ending an auction" + }, + "v1BatchMarketInstructions": { + "type": "object", + "properties": { + "cancellations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "description": "List of order cancellations to be processed sequentially." + }, + "amendments": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "description": "List of order amendments to be processed sequentially." + }, + "submissions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "description": "List of order submissions to be processed sequentially." + }, + "stopOrdersCancellation": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "description": "List of stop order cancellations to be processed sequentially." + }, + "stopOrdersSubmission": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "description": "List of stop order submissions to be processed sequentially." + } + }, + "title": "Batch of order instructions.\nThis command accepts only the following batches of commands\nand will be processed in the following order:\n- OrderCancellation\n- OrderAmendment\n- OrderSubmission\nThe total amount of commands in the batch across all three lists of\ninstructions is restricted by the following network parameter:\n\"spam.protection.max.batchSize\"" + }, + "v1BeginBlock": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "hash": { + "type": "string" + } + }, + "title": "BeginBlock" + }, + "v1BusEvent": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Unique event ID for the message" + }, + "block": { + "type": "string", + "title": "The batch or block of transactions that the events relate to" + }, + "type": { + "$ref": "#/definitions/v1BusEventType", + "title": "The type of bus event. Must be one of the list below:" + }, + "timeUpdate": { + "$ref": "#/definitions/v1TimeUpdate", + "title": "Time update events" + }, + "ledgerMovements": { + "$ref": "#/definitions/v1LedgerMovements", + "title": "Transfer responses update events" + }, + "positionResolution": { + "$ref": "#/definitions/v1PositionResolution", + "title": "Position resolution events" + }, + "order": { + "$ref": "#/definitions/vegaOrder", + "title": "Order events" + }, + "account": { + "$ref": "#/definitions/vegaAccount", + "title": "Account events" + }, + "party": { + "$ref": "#/definitions/vegaParty", + "title": "Party events" + }, + "trade": { + "$ref": "#/definitions/vegaTrade", + "title": "Trade events" + }, + "marginLevels": { + "$ref": "#/definitions/vegaMarginLevels", + "title": "Margin level update events" + }, + "proposal": { + "$ref": "#/definitions/vegaProposal", + "title": "Proposal events for governance" + }, + "vote": { + "$ref": "#/definitions/vegaVote", + "title": "Vote events for governance" + }, + "marketData": { + "$ref": "#/definitions/vegaMarketData", + "title": "Market data events" + }, + "nodeSignature": { + "$ref": "#/definitions/v1NodeSignature", + "title": "Node signature events" + }, + "lossSocialization": { + "$ref": "#/definitions/v1LossSocialization", + "title": "Loss socialization events" + }, + "settlePosition": { + "$ref": "#/definitions/v1SettlePosition", + "title": "Position settlement events" + }, + "settleDistressed": { + "$ref": "#/definitions/v1SettleDistressed", + "title": "Position distressed events" + }, + "marketCreated": { + "$ref": "#/definitions/vegaMarket", + "title": "Market created events" + }, + "asset": { + "$ref": "#/definitions/vegaAsset", + "title": "Asset events" + }, + "marketTick": { + "$ref": "#/definitions/v1MarketTick", + "title": "Market tick events" + }, + "withdrawal": { + "$ref": "#/definitions/vegaWithdrawal", + "title": "Withdrawal events" + }, + "deposit": { + "$ref": "#/definitions/vegaDeposit", + "title": "Deposit events" + }, + "auction": { + "$ref": "#/definitions/v1AuctionEvent", + "title": "Auction events" + }, + "riskFactor": { + "$ref": "#/definitions/vegaRiskFactor", + "title": "Risk factor events" + }, + "networkParameter": { + "$ref": "#/definitions/vegaNetworkParameter", + "title": "Network parameter events" + }, + "liquidityProvision": { + "$ref": "#/definitions/vegaLiquidityProvision", + "title": "LiquidityProvision events" + }, + "marketUpdated": { + "$ref": "#/definitions/vegaMarket", + "title": "Market created events" + }, + "oracleSpec": { + "$ref": "#/definitions/vegaOracleSpec", + "title": "OracleSpec events" + }, + "oracleData": { + "$ref": "#/definitions/vegaOracleData", + "title": "OracleData events" + }, + "delegationBalance": { + "$ref": "#/definitions/v1DelegationBalanceEvent", + "title": "Delegation balance events" + }, + "validatorScore": { + "$ref": "#/definitions/v1ValidatorScoreEvent", + "title": "Validator score calculated" + }, + "epochEvent": { + "$ref": "#/definitions/v1EpochEvent", + "title": "Epoch update events" + }, + "validatorUpdate": { + "$ref": "#/definitions/v1ValidatorUpdate", + "title": "Validator update events" + }, + "stakeLinking": { + "$ref": "#/definitions/v1StakeLinking", + "title": "Staking event" + }, + "rewardPayout": { + "$ref": "#/definitions/v1RewardPayoutEvent", + "title": "Reward payout event" + }, + "checkpoint": { + "$ref": "#/definitions/v1CheckpointEvent", + "title": "Checkpoint was created" + }, + "keyRotation": { + "$ref": "#/definitions/v1KeyRotation", + "title": "Key rotation took place" + }, + "stateVar": { + "$ref": "#/definitions/v1StateVar", + "title": "State variable consensus state transition update" + }, + "networkLimits": { + "$ref": "#/definitions/vegaNetworkLimits", + "title": "Network limits events" + }, + "transfer": { + "$ref": "#/definitions/vegaeventsv1Transfer", + "title": "Transfer event" + }, + "rankingEvent": { + "$ref": "#/definitions/v1ValidatorRankingEvent", + "title": "Ranking event" + }, + "erc20MultisigSignerEvent": { + "$ref": "#/definitions/v1ERC20MultiSigSignerEvent", + "title": "ERC20 multi sig signer event" + }, + "erc20MultisigSetThresholdEvent": { + "$ref": "#/definitions/v1ERC20MultiSigThresholdSetEvent", + "title": "ERC20 multi sig set threshold event" + }, + "erc20MultisigSignerAdded": { + "$ref": "#/definitions/v1ERC20MultiSigSignerAdded", + "title": "ERC20 multi sig signer added" + }, + "erc20MultisigSignerRemoved": { + "$ref": "#/definitions/v1ERC20MultiSigSignerRemoved", + "title": "ERC20 multi sig signer removed" + }, + "positionStateEvent": { + "$ref": "#/definitions/v1PositionStateEvent", + "title": "Position status for a party in a market" + }, + "ethereumKeyRotation": { + "$ref": "#/definitions/v1EthereumKeyRotation", + "title": "Ethereum key rotation took place" + }, + "protocolUpgradeEvent": { + "$ref": "#/definitions/v1ProtocolUpgradeEvent", + "title": "Protocol upgrade proposal updates" + }, + "beginBlock": { + "$ref": "#/definitions/v1BeginBlock", + "title": "Core is starting to process a new block" + }, + "endBlock": { + "$ref": "#/definitions/v1EndBlock", + "title": "Core finished processing a block" + }, + "protocolUpgradeStarted": { + "$ref": "#/definitions/v1ProtocolUpgradeStarted", + "title": "Core is starting a protocol upgrade" + }, + "settleMarket": { + "$ref": "#/definitions/v1SettleMarket", + "title": "Settle market event for data-node to update positions for settled markets" + }, + "transactionResult": { + "$ref": "#/definitions/v1TransactionResult", + "title": "Result of a transaction processed by the network" + }, + "coreSnapshotEvent": { + "$ref": "#/definitions/v1CoreSnapshotData", + "title": "Core snapshot has been taken at the end of the block" + }, + "protocolUpgradeDataNodeReady": { + "$ref": "#/definitions/v1ProtocolUpgradeDataNodeReady", + "title": "Core snapshot has been taken at the end of the block" + }, + "distressedOrders": { + "$ref": "#/definitions/v1DistressedOrders", + "title": "Parties that had their orders closed because they were distressed" + }, + "expiredOrders": { + "$ref": "#/definitions/v1ExpiredOrders", + "title": "Orders that expired for a given market" + }, + "distressedPositions": { + "$ref": "#/definitions/v1DistressedPositions", + "title": "Open positions on the market that are/were distressed" + }, + "stopOrder": { + "$ref": "#/definitions/v1StopOrderEvent", + "title": "A stop order event" + }, + "fundingPeriod": { + "$ref": "#/definitions/v1FundingPeriod", + "description": "Start or end of a funding period." + }, + "fundingPeriodDataPoint": { + "$ref": "#/definitions/v1FundingPeriodDataPoint", + "description": "Data point within a funding period." + }, + "market": { + "$ref": "#/definitions/v1MarketEvent", + "title": "Market tick events" + }, + "txErrEvent": { + "$ref": "#/definitions/v1TxErrorEvent", + "title": "Transaction error events, not included in the ALL event type" + }, + "version": { + "type": "integer", + "format": "int64", + "title": "Version of bus event" + }, + "chainId": { + "type": "string" + }, + "txHash": { + "type": "string" + } + }, + "title": "Bus event is a container for event bus events emitted by Vega" + }, + "v1BusEventType": { + "type": "string", + "enum": [ + "BUS_EVENT_TYPE_UNSPECIFIED", + "BUS_EVENT_TYPE_ALL", + "BUS_EVENT_TYPE_TIME_UPDATE", + "BUS_EVENT_TYPE_LEDGER_MOVEMENTS", + "BUS_EVENT_TYPE_POSITION_RESOLUTION", + "BUS_EVENT_TYPE_ORDER", + "BUS_EVENT_TYPE_ACCOUNT", + "BUS_EVENT_TYPE_PARTY", + "BUS_EVENT_TYPE_TRADE", + "BUS_EVENT_TYPE_MARGIN_LEVELS", + "BUS_EVENT_TYPE_PROPOSAL", + "BUS_EVENT_TYPE_VOTE", + "BUS_EVENT_TYPE_MARKET_DATA", + "BUS_EVENT_TYPE_NODE_SIGNATURE", + "BUS_EVENT_TYPE_LOSS_SOCIALIZATION", + "BUS_EVENT_TYPE_SETTLE_POSITION", + "BUS_EVENT_TYPE_SETTLE_DISTRESSED", + "BUS_EVENT_TYPE_MARKET_CREATED", + "BUS_EVENT_TYPE_ASSET", + "BUS_EVENT_TYPE_MARKET_TICK", + "BUS_EVENT_TYPE_WITHDRAWAL", + "BUS_EVENT_TYPE_DEPOSIT", + "BUS_EVENT_TYPE_AUCTION", + "BUS_EVENT_TYPE_RISK_FACTOR", + "BUS_EVENT_TYPE_NETWORK_PARAMETER", + "BUS_EVENT_TYPE_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_MARKET_UPDATED", + "BUS_EVENT_TYPE_ORACLE_SPEC", + "BUS_EVENT_TYPE_ORACLE_DATA", + "BUS_EVENT_TYPE_DELEGATION_BALANCE", + "BUS_EVENT_TYPE_VALIDATOR_SCORE", + "BUS_EVENT_TYPE_EPOCH_UPDATE", + "BUS_EVENT_TYPE_VALIDATOR_UPDATE", + "BUS_EVENT_TYPE_STAKE_LINKING", + "BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT", + "BUS_EVENT_TYPE_CHECKPOINT", + "BUS_EVENT_TYPE_STREAM_START", + "BUS_EVENT_TYPE_KEY_ROTATION", + "BUS_EVENT_TYPE_STATE_VAR", + "BUS_EVENT_TYPE_NETWORK_LIMITS", + "BUS_EVENT_TYPE_TRANSFER", + "BUS_EVENT_TYPE_VALIDATOR_RANKING", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED", + "BUS_EVENT_TYPE_POSITION_STATE", + "BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL", + "BUS_EVENT_TYPE_BEGIN_BLOCK", + "BUS_EVENT_TYPE_END_BLOCK", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED", + "BUS_EVENT_TYPE_SETTLE_MARKET", + "BUS_EVENT_TYPE_TRANSACTION_RESULT", + "BUS_EVENT_TYPE_SNAPSHOT_TAKEN", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY", + "BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED", + "BUS_EVENT_TYPE_EXPIRED_ORDERS", + "BUS_EVENT_TYPE_DISTRESSED_POSITIONS", + "BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_STOP_ORDER", + "BUS_EVENT_TYPE_FUNDING_PERIOD", + "BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT", + "BUS_EVENT_TYPE_MARKET", + "BUS_EVENT_TYPE_TX_ERROR" + ], + "default": "BUS_EVENT_TYPE_UNSPECIFIED", + "description": "- BUS_EVENT_TYPE_UNSPECIFIED: Default value, always invalid\n - BUS_EVENT_TYPE_ALL: Events of ALL event types, used when filtering stream from event bus\n - BUS_EVENT_TYPE_TIME_UPDATE: Event for blockchain time updates\n - BUS_EVENT_TYPE_LEDGER_MOVEMENTS: Event for when a transfer happens internally, contains the transfer information\n - BUS_EVENT_TYPE_POSITION_RESOLUTION: Event indicating position resolution has occurred\n - BUS_EVENT_TYPE_ORDER: Event for order updates, both new and existing orders\n - BUS_EVENT_TYPE_ACCOUNT: Event for account updates\n - BUS_EVENT_TYPE_PARTY: Event for party updates\n - BUS_EVENT_TYPE_TRADE: Event indicating a new trade has occurred\n - BUS_EVENT_TYPE_MARGIN_LEVELS: Event indicating margin levels have changed for a party\n - BUS_EVENT_TYPE_PROPOSAL: Event for proposal updates (for governance)\n - BUS_EVENT_TYPE_VOTE: Event indicating a new vote has occurred (for governance)\n - BUS_EVENT_TYPE_MARKET_DATA: Event for market data updates\n - BUS_EVENT_TYPE_NODE_SIGNATURE: Event for a new signature for a Vega node\n - BUS_EVENT_TYPE_LOSS_SOCIALIZATION: Event indicating loss socialisation occurred for a party\n - BUS_EVENT_TYPE_SETTLE_POSITION: Event for when a position is being settled\n - BUS_EVENT_TYPE_SETTLE_DISTRESSED: Event for when a position is distressed\n - BUS_EVENT_TYPE_MARKET_CREATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ASSET: Event for when an asset is added to Vega\n - BUS_EVENT_TYPE_MARKET_TICK: Event indicating a market tick event\n - BUS_EVENT_TYPE_WITHDRAWAL: Event for when a withdrawal occurs\n - BUS_EVENT_TYPE_DEPOSIT: Event for when a deposit occurs\n - BUS_EVENT_TYPE_AUCTION: Event indicating a change in auction state, for example starting or ending an auction\n - BUS_EVENT_TYPE_RISK_FACTOR: Event indicating a risk factor has been updated\n - BUS_EVENT_TYPE_NETWORK_PARAMETER: Event indicating a network parameter has been added or updated\n - BUS_EVENT_TYPE_LIQUIDITY_PROVISION: Event indicating a liquidity provision has been created or updated\n - BUS_EVENT_TYPE_MARKET_UPDATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ORACLE_SPEC: Event indicating an oracle spec has been created or updated\n - BUS_EVENT_TYPE_ORACLE_DATA: Event indicating that an oracle data has been broadcast\n - BUS_EVENT_TYPE_DELEGATION_BALANCE: Event indicating that an delegation balance of a party to a node for current epoch has changed\n - BUS_EVENT_TYPE_VALIDATOR_SCORE: Event indicating the validator score for the given epoch\n - BUS_EVENT_TYPE_EPOCH_UPDATE: Event indicating the start or end of an epoch\n - BUS_EVENT_TYPE_VALIDATOR_UPDATE: Event indicating that validator node has been updated\n - BUS_EVENT_TYPE_STAKE_LINKING: Event indicating a new staking event have been processed by the network\n - BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT: Event indicating the payout of a reward has been initiated\n - BUS_EVENT_TYPE_CHECKPOINT: Event indicating a new checkpoint was created\n - BUS_EVENT_TYPE_STREAM_START: Event indicating stream is starting\n - BUS_EVENT_TYPE_KEY_ROTATION: Event indicating key rotation took place\n - BUS_EVENT_TYPE_STATE_VAR: Event indicating state transitions in state variable consensus\n - BUS_EVENT_TYPE_NETWORK_LIMITS: Event indicating network limits set or updated\n - BUS_EVENT_TYPE_TRANSFER: Event indicating a update for a transfer\n - BUS_EVENT_TYPE_VALIDATOR_RANKING: Event indicating the ranking of validator and their status in Vega\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT: Event indicating a new multi sig signer event have been processed\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD: Event indicating the erc20 multi sig threshold have been updated\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED: Event indicating a new signer has been added to the ERC-20 multisig\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED: Event indicating a signer has been removed from the ERC-20 multisig\n - BUS_EVENT_TYPE_POSITION_STATE: Event indicating that a party's position has changed\n - BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION: Event indicating Ethereum key rotation took place\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL: Event indicating protocol upgrade proposal updates\n - BUS_EVENT_TYPE_BEGIN_BLOCK: Event indicating the core is starting to process a new block\n - BUS_EVENT_TYPE_END_BLOCK: Event indicating the core finished to process a block\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED: Event indicating the core is starting a protocol upgrade\n - BUS_EVENT_TYPE_SETTLE_MARKET: Event indicating the market has stopped and settled\n - BUS_EVENT_TYPE_TRANSACTION_RESULT: Event indicating the result of a transaction processed by the network\n - BUS_EVENT_TYPE_SNAPSHOT_TAKEN: Event indicating a snapshot was taken at this block height\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY: Event data node uses to notify that it is ready to upgrade\n - BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_EXPIRED_ORDERS: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_DISTRESSED_POSITIONS: Event indicating parties have become, or were, distressed but still have an active position.\n - BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION: Event indicating a spot liquidity provision has been created or updated.\n - BUS_EVENT_TYPE_STOP_ORDER: Event indicating a stop order has been submitted or updated.\n - BUS_EVENT_TYPE_FUNDING_PERIOD: Event indicating the start or end of a funding period.\n - BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT: Event indicating a data point for a funding period has been received.\n - BUS_EVENT_TYPE_MARKET: Event indicating a market related event, for example when a market opens\n - BUS_EVENT_TYPE_TX_ERROR: Event used to report failed transactions back to a user, this is excluded from the ALL type", + "title": "Bus event type is used to specify a type of event\nIt has 2 styles of event:\nSingle values (e.g. BUS_EVENT_TYPE_ORDER) where they represent one data item\nGroup values (e.g. BUS_EVENT_TYPE_AUCTION) where they represent a group of data items" + }, + "v1CheckpointEvent": { + "type": "object", + "properties": { + "hash": { + "type": "string" + }, + "blockHash": { + "type": "string" + }, + "blockHeight": { + "type": "string", + "format": "uint64" + } + } + }, + "v1Condition": { + "type": "object", + "properties": { + "operator": { + "$ref": "#/definitions/ConditionOperator", + "description": "Type of comparison to make on the value." + }, + "value": { + "type": "string", + "description": "Value to be compared with by the operator." + } + }, + "title": "Condition describes the condition that must be validated by the network" + }, + "v1CoreSnapshotData": { + "type": "object", + "properties": { + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height at which snapshot was taken" + }, + "blockHash": { + "type": "string", + "title": "Hash of the snapshot block" + }, + "coreVersion": { + "type": "string", + "description": "Semver version number of the core." + }, + "protocolUpgradeBlock": { + "type": "boolean", + "title": "Indicates if the snapshot is taken as part of protocol upgrade" + } + }, + "description": "CoreSnapshotData represents the core snapshot data." + }, + "v1CreateTeam": { + "type": "object", + "properties": { + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "description": "Creates a referral team. The team creator automatically becomes\nthe team leader, called a referrer. This cannot be changed.\nA referrer cannot already be or become a liquidity provider,\nnor can they be on an existing team as referrer or referee.", + "title": "Request for creating a referral team" + }, + "v1Data": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + } + }, + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Property" + }, + "title": "Data holds all the properties of the data" + }, + "matchedSpecIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "`matched_specs_ids` lists all the specs that matched this data.\nWhen the array is empty, it means no spec matched this data." + }, + "broadcastAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the data was broadcast to the markets\nwith a matching spec. It has no value when the data did not match any spec." + }, + "metaData": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Property" + }, + "title": "Holds all metadata properties" + }, + "error": { + "type": "string", + "description": "Error message if the data could not be sourced." + } + }, + "description": "Data describes valid source data that has been received by the node.\nIt represents both matched and unmatched data." + }, + "v1DelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Delegate to the specified node ID." + }, + "amount": { + "type": "string", + "description": "Amount of stake to delegate. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Command to submit an instruction to delegate some stake to a node" + }, + "v1DelegationBalanceEvent": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "nodeId": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "epochSeq": { + "type": "string" + } + }, + "title": "DelegationBalanceEvent - updates on the delegation balance of a party to a node in the current epoch in effect" + }, + "v1DistressedOrders": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "parties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of Party IDs i.e. each party's public key for the event" + } + }, + "title": "Distressed order contains the party IDs for all parties that were distressed and had their orders closed,\nbut did not need to be closed out after cancelling their orders" + }, + "v1DistressedPositions": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "distressedParties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of party IDs i.e. each party's public key, that are distressed but still have open volume" + }, + "safeParties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of party IDs i.e. each party's public key, who were distressed but now can safely maintain their position" + } + }, + "description": "Distressed positions event contains the party IDs for all parties that were distressed, had their orders closed but because of insufficient volume on the book\ncould not be fully closed out. These parties are distressed, but still hold an active position on the book as a result. Once enough volume is on the book to close\nthem out, a SettleDistressed event will be sent. In case they manage to reduce their position, or meet the margin requirements, this status will be updated.\nParties that are no longer distressed but active will be listed in the safe_parties field." + }, + "v1ERC20MultiSigSignerAdded": { + "type": "object", + "properties": { + "signatureId": { + "type": "string", + "title": "ID of the signature bundle" + }, + "validatorId": { + "type": "string", + "title": "Node ID of the Vega node to be added" + }, + "timestamp": { + "type": "string", + "format": "int64", + "title": "Time at which this happened" + }, + "newSigner": { + "type": "string", + "title": "Ethereum address of the new signer" + }, + "submitter": { + "type": "string", + "title": "Address of the submitter of the transaction" + }, + "nonce": { + "type": "string", + "description": "Nonce used." + }, + "epochSeq": { + "type": "string", + "title": "Epoch that the node was added for" + } + } + }, + "v1ERC20MultiSigSignerEvent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1ERC20MultiSigSignerEventType" + }, + "signer": { + "type": "string" + }, + "nonce": { + "type": "string" + }, + "blockTime": { + "type": "string", + "format": "int64" + }, + "txHash": { + "type": "string" + }, + "logIndex": { + "type": "string", + "format": "uint64" + }, + "blockNumber": { + "type": "string", + "format": "uint64" + } + } + }, + "v1ERC20MultiSigSignerEventType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ADDED", + "TYPE_REMOVED" + ], + "default": "TYPE_UNSPECIFIED" + }, + "v1ERC20MultiSigSignerRemoved": { + "type": "object", + "properties": { + "signatureSubmitters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ERC20MultiSigSignerRemovedSubmitter" + }, + "title": "List containing all the IDs of bundle generated\nThere should be one bundle generated for every validators\nin the validator set" + }, + "validatorId": { + "type": "string", + "title": "Node ID of the Vega node which is to be removed" + }, + "timestamp": { + "type": "string", + "format": "int64", + "title": "Time at which this happened" + }, + "oldSigner": { + "type": "string", + "title": "Ethereum address of the signer to be removed" + }, + "nonce": { + "type": "string", + "description": "Nonce used." + }, + "epochSeq": { + "type": "string", + "title": "Epoch that the node was removed for" + } + } + }, + "v1ERC20MultiSigSignerRemovedSubmitter": { + "type": "object", + "properties": { + "signatureId": { + "type": "string", + "description": "Signature ID of the signer removed." + }, + "submitter": { + "type": "string", + "title": "Address of the submitter of the transaction" + } + } + }, + "v1ERC20MultiSigThresholdSetEvent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "newThreshold": { + "type": "integer", + "format": "int64" + }, + "nonce": { + "type": "string" + }, + "blockTime": { + "type": "string", + "format": "int64" + }, + "txHash": { + "type": "string" + }, + "logIndex": { + "type": "string", + "format": "uint64" + }, + "blockNumber": { + "type": "string", + "format": "uint64" + } + } + }, + "v1ETHAddress": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "v1EndBlock": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64" + } + }, + "title": "EndBlock" + }, + "v1EpochEvent": { + "type": "object", + "properties": { + "seq": { + "type": "string", + "format": "uint64", + "title": "Sequence number that increases by one each epoch" + }, + "action": { + "$ref": "#/definitions/vegaEpochAction", + "title": "Action tells us what action is taking place" + }, + "startTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch started" + }, + "expireTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch should end" + }, + "endTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch actually ended" + } + }, + "title": "Epoch details" + }, + "v1EthereumKeyRotateSubmission": { + "type": "object", + "properties": { + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newAddress": { + "type": "string", + "description": "New address to rotate to." + }, + "currentAddress": { + "type": "string", + "description": "Currently used public address." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature that can be verified using the new ethereum address." + } + }, + "title": "Transaction to allow a validator to rotate their ethereum keys" + }, + "v1EthereumKeyRotation": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the node that rotated their Ethereum key" + }, + "oldAddress": { + "type": "string", + "title": "Ethereum address that was previously associated with the node" + }, + "newAddress": { + "type": "string", + "title": "Ethereum address that is newly associated with the node" + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height when the key rotation took effect" + } + }, + "title": "Event that contains information about an Ethereum key rotation" + }, + "v1ExpiredOrders": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "orderIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of expired order IDs" + } + } + }, + "v1ExternalData": { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/v1Data" + } + } + }, + "v1Filter": { + "type": "object", + "properties": { + "key": { + "$ref": "#/definitions/v1PropertyKey", + "description": "Data source's data property key targeted by the filter." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that should be matched by the data to be\nconsidered of interest." + } + }, + "description": "Filter describes the conditions under which a data source data is considered of\ninterest or not." + }, + "v1FundingPeriod": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "ID of the market for which this funding period relates to." + }, + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the funding period." + }, + "start": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the funding period started." + }, + "end": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the funding period ended." + }, + "fundingPayment": { + "type": "string", + "description": "Funding payment for this period as the difference between the time-weighted average price of the external and internal data point." + }, + "fundingRate": { + "type": "string", + "description": "Percentage difference between the time-weighted average price of the external and internal data point." + }, + "internalTwap": { + "type": "string", + "description": "TWAP for this period based on the internal data-points." + }, + "externalTwap": { + "type": "string", + "description": "TWAP for this period based on the external data-points." + } + }, + "description": "Event notifying on the details of a funding interval for a perpetuals market." + }, + "v1FundingPeriodDataPoint": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID which the data point relates to." + }, + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the funding period this data point belongs to." + }, + "dataPointType": { + "$ref": "#/definitions/FundingPeriodDataPointSource", + "description": "Origin of the data point." + }, + "price": { + "type": "string", + "description": "Price of the asset as seen by this data point." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the data point was received." + }, + "twap": { + "type": "string", + "description": "The TWAP for this source with this data-point added." + } + }, + "description": "Event notifying a data point for a funding period." + }, + "v1IcebergOpts": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is made visible and can be traded with during the execution of a single order." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "Minimum allowed remaining size of the order before it is replenished back to its peak size." + } + }, + "title": "Iceberg order options" + }, + "v1InternalTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "int64", + "description": "Trigger when the vega time is greater or equal to this time, in Unix seconds." + }, + "every": { + "type": "string", + "format": "int64", + "description": "Repeat the trigger every n seconds after the initial. If no time for\ninitial was specified, begin repeating immediately." + } + }, + "description": "Trigger for an internal time data source." + }, + "v1IssueSignatures": { + "type": "object", + "properties": { + "submitter": { + "type": "string", + "description": "Ethereum address which will submit the signatures to the smart contract." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "What kind of signatures to generate, namely for whether a signer is being added or removed." + }, + "validatorNodeId": { + "type": "string", + "description": "Node ID of the validator node that will be signed in or out of the smart contract." + } + }, + "title": "Transaction for a validator to submit signatures to a smart contract" + }, + "v1JoinTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to join." + } + }, + "description": "A party that joins a referral team is called a referee. A referee cannot\nbe a liquidity provider, nor can they create a team or join multiple teams.\nTo switch teams, the referee can ask to join another team, and the switch will\nbe effective at the end of the epoch.", + "title": "Request to join a team" + }, + "v1KeyRotateSubmission": { + "type": "object", + "properties": { + "newPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "New Vega public key derivation index." + }, + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newPubKey": { + "type": "string", + "description": "New public key to rotate to." + }, + "currentPubKeyHash": { + "type": "string", + "description": "Hash of currently used public key." + } + }, + "title": "Transaction to allow a validator to rotate their Vega keys" + }, + "v1KeyRotation": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the node that rotated their Vega key" + }, + "oldPubKey": { + "type": "string", + "title": "Vega public key that was previously associated with the node" + }, + "newPubKey": { + "type": "string", + "title": "Vega public key that is newly associated with the node" + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height when the key rotation took effect" + } + }, + "title": "Event that contains information about a Vega key rotation" + }, + "v1LedgerMovements": { + "type": "object", + "properties": { + "ledgerMovements": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerMovement" + }, + "title": "One or more entries containing internal transfer information" + } + }, + "title": "Transfer responses event contains a collection of transfer information" + }, + "v1LiquidityProvisionAmendment": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be amended." + }, + "commitmentAmount": { + "type": "string", + "description": "From here at least one of the following is required to consider the command valid." + }, + "fee": { + "type": "string" + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "reference": { + "type": "string" + } + }, + "title": "Amend a liquidity provision request" + }, + "v1LiquidityProvisionCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be cancelled." + } + }, + "title": "Cancel a liquidity provision request" + }, + "v1LiquidityProvisionSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled using the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "reference": { + "type": "string", + "description": "Reference to be added to every order created out of this liquidity provision submission." + } + }, + "title": "A liquidity provision submitted for a given market" + }, + "v1LossSocialization": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID (public key) for the event" + }, + "amount": { + "type": "string", + "title": "Amount distributed" + } + }, + "title": "Loss socialization event contains details on the amount of wins unable to be distributed" + }, + "v1MarketEvent": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "payload": { + "type": "string", + "title": "Payload is a unique information string" + } + }, + "title": "MarketEvent - the common denominator for all market events\ninterface has a method to return a string for logging" + }, + "v1MarketTick": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Market ID for the event" + }, + "time": { + "type": "string", + "format": "int64", + "title": "Timestamp containing latest update from Vega blockchain aka Vega-time" + } + }, + "title": "Market tick event contains the time value for when a particular market was last processed on Vega" + }, + "v1NodeSignature": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the resource being signed." + }, + "sig": { + "type": "string", + "format": "byte", + "description": "The signature generated by the signer." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "Kind of resource being signed." + } + }, + "title": "Represents a signature from a validator, to be used by a foreign chain in order to recognise a decision taken by the Vega network" + }, + "v1NodeSignatureKind": { + "type": "string", + "enum": [ + "NODE_SIGNATURE_KIND_UNSPECIFIED", + "NODE_SIGNATURE_KIND_ASSET_NEW", + "NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED", + "NODE_SIGNATURE_KIND_ASSET_UPDATE" + ], + "default": "NODE_SIGNATURE_KIND_UNSPECIFIED", + "description": "- NODE_SIGNATURE_KIND_UNSPECIFIED: Represents an unspecified or missing value from the input\n - NODE_SIGNATURE_KIND_ASSET_NEW: Represents a signature for a new asset allow-listing\n - NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL: Represents a signature for an asset withdrawal\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED: Represents a signature for a new signer added to the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED: Represents a signature for a signer removed from the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ASSET_UPDATE: Represents a signature for an asset update allow-listing", + "title": "Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc" + }, + "v1OneOffGovernanceTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64" + } + } + }, + "v1OracleDataSubmission": { + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/OracleDataSubmissionOracleSource", + "description": "Source from which the data is coming from. Must be base64 encoded.\nOracle data is a type of external data source data." + }, + "payload": { + "type": "string", + "format": "byte", + "description": "Data provided by the data source\nIn the case of Open Oracle - it will be the entire object - it will contain messages, signatures and price data." + } + }, + "title": "Command to submit new Oracle data from third party providers" + }, + "v1OrderAmendment": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Order ID, this is required to find the order and will not be updated, required field." + }, + "marketId": { + "type": "string", + "description": "Market ID, this is required to find the order and will not be updated." + }, + "price": { + "type": "string", + "description": "Amend the price for the order if the price value is set, otherwise price will remain unchanged.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "sizeDelta": { + "type": "string", + "format": "int64", + "description": "Amend the size for the order by the delta specified:\n- To reduce the size from the current value set a negative integer value\n- To increase the size from the current value, set a positive integer value\n- To leave the size unchanged set a value of zero\nThis field needs to be scaled using the market's position decimal places." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Amend the expiry time for the order, if the Timestamp value is set, otherwise expiry time will remain unchanged." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Amend the time in force for the order, set to TIME_IN_FORCE_UNSPECIFIED to remain unchanged." + }, + "peggedOffset": { + "type": "string", + "description": "Amend the pegged order offset for the order. This field is an unsigned integer scaled to the market's decimal places." + }, + "peggedReference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Amend the pegged order reference for the order." + } + }, + "title": "An order amendment is a request to amend or update an existing order on Vega" + }, + "v1OrderCancellation": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID for the order. This is set by the system after consensus. Required field." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + } + }, + "title": "Order cancellation is a request to cancel an existing order on Vega" + }, + "v1OrderSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places,\nrequired field for limit orders, however it is not required for market orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of units, cannot be negative." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL, required field." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Time in force indicates how long an order will remain active before it is executed or expires, required field." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire,\nrequired field only for `Order.TimeInForce`.TIME_IN_FORCE_GTT`." + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order, required field - See `Order.Type`." + }, + "reference": { + "type": "string", + "description": "Reference given for the order, this is typically used to retrieve an order submitted through consensus, currently\nset internally by the node to return a unique reference ID for the order submission." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Used to specify the details for a pegged order." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOpts": { + "$ref": "#/definitions/v1IcebergOpts", + "description": "Parameters used to specify an iceberg order." + } + }, + "title": "Order submission is a request to submit or create a new order on Vega" + }, + "v1PositionResolution": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "distressed": { + "type": "string", + "format": "int64", + "title": "Number of distressed traders" + }, + "closed": { + "type": "string", + "format": "int64", + "title": "Number of close outs" + }, + "markPrice": { + "type": "string", + "title": "Mark price as a string representing a scaled price" + } + }, + "title": "Position resolution event contains information on distressed trades" + }, + "v1PositionStateEvent": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Party ID for this position update" + }, + "marketId": { + "type": "string", + "title": "Market ID for this position update" + }, + "size": { + "type": "string", + "format": "int64", + "title": "Current position" + }, + "potentialBuys": { + "type": "string", + "format": "int64", + "title": "Potential orders" + }, + "potentialSells": { + "type": "string", + "format": "int64" + }, + "vwBuyPrice": { + "type": "string", + "title": "Volume weighted prices" + }, + "vwSellPrice": { + "type": "string" + } + }, + "title": "Position state event contains the current position state for a single party in a single market" + }, + "v1Property": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "value": { + "type": "string", + "description": "Value of the property." + } + }, + "description": "Property describes one property of data spec with a key with its value." + }, + "v1PropertyKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "type": { + "$ref": "#/definitions/v1PropertyKeyType", + "description": "Data type of the property." + }, + "numberDecimalPlaces": { + "type": "string", + "format": "uint64", + "title": "Optional decimal place to be be applied on the provided value\nvalid only for PropertyType of type DECIMAL and INTEGER" + } + }, + "description": "PropertyKey describes the property key contained in data source data." + }, + "v1PropertyKeyType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_EMPTY", + "TYPE_INTEGER", + "TYPE_STRING", + "TYPE_BOOLEAN", + "TYPE_DECIMAL", + "TYPE_TIMESTAMP" + ], + "default": "TYPE_UNSPECIFIED", + "description": "Type describes the data type of properties that are supported by the data source\nengine.\n\n - TYPE_UNSPECIFIED: The default value.\n - TYPE_EMPTY: Any type.\n - TYPE_INTEGER: Integer type.\n - TYPE_STRING: String type.\n - TYPE_BOOLEAN: Boolean type.\n - TYPE_DECIMAL: Any floating point decimal type.\n - TYPE_TIMESTAMP: Timestamp date type." + }, + "v1ProposalSubmission": { + "type": "object", + "properties": { + "reference": { + "type": "string", + "description": "Reference identifying the proposal." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + } + }, + "title": "Command to submit a new proposal for the\nVega network governance" + }, + "v1ProtocolUpgradeDataNodeReady": { + "type": "object", + "properties": { + "lastBlockHeight": { + "type": "string", + "format": "uint64" + } + }, + "title": "Event indicating the data node is ready for protocol upgrade" + }, + "v1ProtocolUpgradeEvent": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height at which to perform the upgrade" + }, + "vegaReleaseTag": { + "type": "string", + "title": "Release tag for the vega binary" + }, + "approvers": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tendermint validators that have agreed to the upgrade" + }, + "status": { + "$ref": "#/definitions/v1ProtocolUpgradeProposalStatus", + "title": "Status of the proposal" + } + } + }, + "v1ProtocolUpgradeProposal": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "description": "Block height at which to perform the upgrade." + }, + "vegaReleaseTag": { + "type": "string", + "description": "Release tag for the Vega binary." + } + }, + "title": "Transaction for a validator to suggest a protocol upgrade" + }, + "v1ProtocolUpgradeProposalStatus": { + "type": "string", + "enum": [ + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED" + ], + "default": "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "title": "- PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING: The proposal is pending\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED: The proposal is approved\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED: The proposal is rejected" + }, + "v1ProtocolUpgradeStarted": { + "type": "object", + "properties": { + "lastBlockHeight": { + "type": "string", + "format": "uint64" + } + }, + "title": "Event indicating the core is starting a protocol upgrade" + }, + "v1PubKey": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + }, + "description": "PubKey is the public key that signed this data.\nDifferent public keys coming from different sources will be further separated." + }, + "v1RecurringGovernanceTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64" + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy" + } + } + }, + "v1RewardPayoutEvent": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "epochSeq": { + "type": "string" + }, + "asset": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "percentOfTotalReward": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "rewardType": { + "type": "string" + }, + "market": { + "type": "string" + } + } + }, + "v1SettleDistressed": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID i.e. a party's public key for the event" + }, + "margin": { + "type": "string", + "title": "Margin value as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places" + }, + "price": { + "type": "string", + "title": "Price as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places" + } + }, + "title": "Settle distressed event contains information on distressed trading parties who are closed out" + }, + "v1SettleMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "price": { + "type": "string", + "title": "Price of settlement as a string" + }, + "positionFactor": { + "type": "string", + "title": "Position factor - 10 ^ number of position decimal places" + } + }, + "title": "Settle market event to notify data node that a market has been settled\nso positions and PL can be updated accordingly" + }, + "v1SettlePosition": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID (public key) for the event" + }, + "price": { + "type": "string", + "title": "Price of settlement as a string" + }, + "tradeSettlements": { + "type": "array", + "items": { + "$ref": "#/definitions/v1TradeSettlement" + }, + "title": "A collection of 1 or more trade settlements" + }, + "positionFactor": { + "type": "string", + "title": "Position factor - 10 ^ number of position decimal places" + } + }, + "title": "Settle position event contains position settlement information for a party" + }, + "v1Signature": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Hex encoded bytes of the signature." + }, + "algo": { + "type": "string", + "description": "Algorithm used to create the signature." + }, + "version": { + "type": "integer", + "format": "int64", + "description": "Version of the signature used to create the signature." + } + }, + "description": "Signature to authenticate a transaction and to be verified by the Vega\nnetwork." + }, + "v1Signer": { + "type": "object", + "properties": { + "pubKey": { + "$ref": "#/definitions/v1PubKey", + "description": "List of authorized public keys that signed the data for this\nsource. All the public keys in the data should be contained in these\npublic keys." + }, + "ethAddress": { + "$ref": "#/definitions/v1ETHAddress", + "description": "In case of an open oracle - Ethereum address will be submitted." + } + } + }, + "v1StakeLinking": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Internal ID for this staking event" + }, + "type": { + "$ref": "#/definitions/v1StakeLinkingType", + "description": "Stake linking event type." + }, + "ts": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the event was emitted by Ethereum." + }, + "party": { + "type": "string", + "description": "Party to whom the event is directed at." + }, + "amount": { + "type": "string", + "description": "Amount of stake deposited or removed." + }, + "status": { + "$ref": "#/definitions/v1StakeLinkingStatus", + "description": "Status of the event." + }, + "finalizedAt": { + "type": "string", + "format": "int64", + "description": "Time at which the Vega network finalised the state of the event." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction in which the event happened." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Block when the event happened." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Block time." + }, + "logIndex": { + "type": "string", + "format": "uint64", + "description": "Log index." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum address from which the stake link was initiated." + } + }, + "title": "StakeLinking - an event notifying of stake being deposited or removed for a given party\nThese events are emitted for every Staking deposit or removed accepted by the network" + }, + "v1StakeLinkingStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_ACCEPTED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates an event waiting for confirmation from the Vega network\n - STATUS_ACCEPTED: Indicates an event accepted by the Vega network\n - STATUS_REJECTED: Indicates an event rejected by the Vega network" + }, + "v1StakeLinkingType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LINK", + "TYPE_UNLINK" + ], + "default": "TYPE_UNSPECIFIED", + "title": "- TYPE_UNSPECIFIED: Default value\n - TYPE_LINK: Indicate of a stake deposit instruction\n - TYPE_UNLINK: Indicate of a stake remove instruction" + }, + "v1StateVar": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "eventId": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "title": "StateVar event updates on state changes in state variable consensus" + }, + "v1StopOrderEvent": { + "type": "object", + "properties": { + "submission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "stopOrder": { + "$ref": "#/definitions/vegaStopOrder" + } + } + }, + "v1StopOrderSetup": { + "type": "object", + "properties": { + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission", + "description": "Order to be submitted once the trigger is breached." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "description": "Trailing percentage at which the order will be submitted." + } + }, + "title": "Price and expiry configuration for a stop order" + }, + "v1StopOrdersCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Optional market ID." + }, + "stopOrderId": { + "type": "string", + "description": "Optional order ID." + } + }, + "title": "Cancel a stop order.\nThe following combinations are available:\nEmpty object will cancel all stop orders for the party\nMarket ID alone will cancel all stop orders in a market\nMarket ID and order ID will cancel a specific stop order in a market\nIf the stop order is part of an OCO, both stop orders will be cancelled" + }, + "v1StopOrdersSubmission": { + "type": "object", + "properties": { + "risesAbove": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price rises above a given trigger price." + }, + "fallsBelow": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price falls below a given trigger price." + } + }, + "title": "Stop order submission submits stops orders.\nIt is possible to make a single stop order submission by\nspecifying a single direction,\nor an OCO (One Cancels the Other) stop order submission\nby specifying a configuration for both directions" + }, + "v1TimeUpdate": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "title": "Timestamp containing latest update from Vega blockchain aka Vega-time" + } + }, + "title": "Time update event contains the latest time update from Vega blockchain and indicates the start of a new block" + }, + "v1TradeSettlement": { + "type": "object", + "properties": { + "size": { + "type": "string", + "format": "int64", + "title": "Size of trade settlement" + }, + "price": { + "type": "string", + "title": "Price of settlement as string (in asset decimals)" + }, + "marketPrice": { + "type": "string", + "title": "Price of settlement as a string (in market decimals)" + } + }, + "title": "Trade settlement is part of the settle position event" + }, + "v1TransactionResult": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Unique party ID for the related party" + }, + "status": { + "type": "boolean", + "description": "Status of the transaction, did it succeed or an error was raised." + }, + "hash": { + "type": "string", + "title": "Hash of the transaction" + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "proposal": { + "$ref": "#/definitions/v1ProposalSubmission" + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission" + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission" + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission" + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission" + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission" + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation" + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment" + }, + "transfer": { + "$ref": "#/definitions/vegacommandsv1Transfer" + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer" + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode" + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission" + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal" + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures" + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions" + }, + "keyRotateSubmission": { + "$ref": "#/definitions/v1KeyRotateSubmission" + }, + "ethereumKeyRotateSubmission": { + "$ref": "#/definitions/v1EthereumKeyRotateSubmission" + }, + "stopOrderSubmission": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "stopOrderCancellation": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "createTeam": { + "$ref": "#/definitions/v1CreateTeam" + }, + "updateTeam": { + "$ref": "#/definitions/v1UpdateTeam" + }, + "joinTeam": { + "$ref": "#/definitions/v1JoinTeam" + }, + "success": { + "$ref": "#/definitions/TransactionResultSuccessDetails" + }, + "failure": { + "$ref": "#/definitions/TransactionResultFailureDetails" + } + } + }, + "v1TransferStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_DONE", + "STATUS_REJECTED", + "STATUS_STOPPED", + "STATUS_CANCELLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates a transfer still being processed\n - STATUS_DONE: Indicates a transfer accepted by the Vega network\n - STATUS_REJECTED: Indicates a transfer rejected by the Vega network\n - STATUS_STOPPED: Indicates a transfer stopped by the Vega network\ne.g: no funds left to cover the transfer\n - STATUS_CANCELLED: Indicates a transfer cancelled by the user" + }, + "v1TxErrorEvent": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Unique party ID for the related party" + }, + "errMsg": { + "type": "string", + "title": "Error message describing what went wrong" + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "proposal": { + "$ref": "#/definitions/v1ProposalSubmission" + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission" + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission" + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission" + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission" + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission" + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation" + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment" + }, + "transfer": { + "$ref": "#/definitions/vegacommandsv1Transfer" + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer" + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode" + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission" + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal" + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures" + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions" + } + } + }, + "v1UndelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Optional, if not specified = ALL.\nIf provided, this field must be an unsigned integer passed as a string\nand needs to be scaled using the asset decimal places for the token." + }, + "method": { + "$ref": "#/definitions/UndelegateSubmissionMethod", + "description": "Method of delegation." + } + } + }, + "v1UpdateTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to update." + }, + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "title": "Request for updating a team's properties" + }, + "v1ValidatorRankingEvent": { + "type": "object", + "properties": { + "nodeId": { + "type": "string" + }, + "stakeScore": { + "type": "string", + "title": "Stake based score - no anti-whaling" + }, + "performanceScore": { + "type": "string", + "title": "Performance base score" + }, + "rankingScore": { + "type": "string", + "title": "Final score" + }, + "previousStatus": { + "type": "string", + "title": "Status of the validator in the previous epoch" + }, + "nextStatus": { + "type": "string", + "title": "Status of the validator in the next epoch" + }, + "epochSeq": { + "type": "string", + "title": "Epoch seq for which the status is valid" + }, + "tmVotingPower": { + "type": "integer", + "format": "int64", + "title": "Tendermint voting power of the validator" + } + }, + "title": "Event that explains the status of the validator for the coming epoch" + }, + "v1ValidatorScoreEvent": { + "type": "object", + "properties": { + "nodeId": { + "type": "string" + }, + "epochSeq": { + "type": "string" + }, + "validatorScore": { + "type": "string" + }, + "normalisedScore": { + "type": "string" + }, + "validatorPerformance": { + "type": "string" + }, + "rawValidatorScore": { + "type": "string" + }, + "validatorStatus": { + "type": "string" + }, + "multisigScore": { + "type": "string" + } + }, + "title": "ValidatorScoreEvent is the score a validator gets for a given epoch" + }, + "v1ValidatorUpdate": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the validator node" + }, + "vegaPubKey": { + "type": "string", + "title": "Vega public key of validator node" + }, + "ethereumAddress": { + "type": "string", + "title": "Ethereum public key of validator node" + }, + "tmPubKey": { + "type": "string", + "title": "Public key of Tendermint" + }, + "infoUrl": { + "type": "string", + "title": "URL with more info on the node" + }, + "country": { + "type": "string", + "title": "Country code (ISO 3166-1 alpha-2) for the location of the node" + }, + "name": { + "type": "string", + "title": "Name of the validator" + }, + "avatarUrl": { + "type": "string", + "title": "AvatarURL of the validator" + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "title": "Vega public key derivation index" + }, + "added": { + "type": "boolean", + "title": "Flag indicating if the validator has been added to or removed from vega" + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the announced pending node will start participating in the network" + }, + "submitterAddress": { + "type": "string", + "title": "Ethereum public key being used as the submitter to allow automatic signature generation" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the node was announced or removed from the network" + } + }, + "title": "Validator update event contains information about validator node" + }, + "v1VoteSubmission": { + "type": "object", + "properties": { + "proposalId": { + "type": "string", + "description": "Submit vote for the specified proposal ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Actual value of the vote." + } + }, + "description": "Command to submit a new vote for a governance proposal." + }, + "v1WithdrawSubmission": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to be withdrawn." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Represents the submission request to withdraw funds for a party on Vega" + }, + "v2AccountBalance": { + "type": "object", + "properties": { + "owner": { + "type": "string", + "description": "Party that owns the account.\nSpecial values include `network` - represents the Vega network and is\nmost commonly seen during liquidation of a distressed trading position." + }, + "balance": { + "type": "string", + "description": "Asset balance represented as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places.\nBalances cannot be negative." + }, + "asset": { + "type": "string", + "description": "Asset ID for the account." + }, + "marketId": { + "type": "string", + "description": "Market ID for the account, this field will be empty if the asset is in a general account." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type of this account." + } + }, + "title": "Represents the current balance of an account for an asset on Vega, for a particular owner or party" + }, + "v2AccountEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2AccountBalance", + "description": "Account balance data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages with reference to this account." + } + }, + "description": "Account data item with the corresponding cursor." + }, + "v2AccountFilter": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Restrict accounts to those holding balances in this asset ID." + }, + "partyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict accounts to those owned by the parties in this list. Pass an empty list for no filter." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict accounts to those connected to the markets in this list. Pass an empty list for no filter." + }, + "accountTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaAccountType" + }, + "description": "Restrict accounts to those connected to any of the types in this list. Pass an empty list for no filter." + } + }, + "description": "Account filter is used to filter account data.\n\nAn account is defined as a set of asset ID, type, party ID, and market ID.\n- Every account has an associated asset and type.\n- Certain account types such as the global reward pool for example, do not have an associated party.\n These are denoted by the special party ID 'network'.\n- Certain account types do not have an associated market such as the general party accounts, for example.\n These are denoted by the special market ID '' (an empty string)." + }, + "v2AccountSnapshotPage": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AccountBalance" + }, + "description": "List of account balances." + }, + "lastPage": { + "type": "boolean", + "description": "Indicator if the current page is the last one or not." + } + }, + "title": "'Initial image' snapshot containing current account balances - may be sent over several response messages" + }, + "v2AccountUpdates": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AccountBalance" + }, + "description": "List of account balances." + } + }, + "title": "List of account updates in the last block" + }, + "v2AccountsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AccountEdge" + }, + "description": "Page of accounts data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of accounts data and corresponding page information." + }, + "v2AggregatedBalance": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in nanseconds of the block in which the balance exists." + }, + "balance": { + "type": "string", + "description": "Balance of the set of requested accounts at the time above." + }, + "partyId": { + "type": "string", + "description": "If grouping by party, the party ID." + }, + "assetId": { + "type": "string", + "description": "If grouping by asset, the asset ID." + }, + "marketId": { + "type": "string", + "title": "If grouping by market, the market ID" + }, + "accountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "If grouping by account type, the account type." + } + }, + "title": "AggregatedBalance data contains the balance of the set of requested accounts combined with corresponding\nparty ID, market ID and account type details" + }, + "v2AggregatedBalanceConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AggregatedBalanceEdge" + }, + "description": "Page of aggregated balance data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of aggregated balance objects and corresponding page information" + }, + "v2AggregatedBalanceEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2AggregatedBalance", + "description": "Balance of the set of requested accounts." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Aggregated balance data with the corresponding cursor." + }, + "v2AggregatedLedgerEntriesConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AggregatedLedgerEntriesEdge" + }, + "description": "Page of 'AggregatedLedgerEntry' data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of aggregated ledger entries data and corresponding page information." + }, + "v2AggregatedLedgerEntriesEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2AggregatedLedgerEntry", + "description": "'AggregatedLedgerEntry' data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "title": "Represents the aggregated ledger entry data with corresponding cursor for it" + }, + "v2AggregatedLedgerEntry": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of the block in which the result is referring to." + }, + "quantity": { + "type": "string", + "description": "Amount of ledger entries for the set of requested accounts at the time above." + }, + "transferType": { + "$ref": "#/definitions/vegaTransferType", + "description": "Transfer type." + }, + "assetId": { + "type": "string", + "description": "Asset ID for the asset associated with the entry." + }, + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of account sent from." + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of account received to." + }, + "fromAccountPartyId": { + "type": "string", + "description": "Sender's party ID." + }, + "toAccountPartyId": { + "type": "string", + "description": "Receiver's party ID." + }, + "fromAccountMarketId": { + "type": "string", + "description": "Sender market ID." + }, + "toAccountMarketId": { + "type": "string", + "description": "Receiver market ID." + }, + "fromAccountBalance": { + "type": "string", + "description": "Sender account balance after the transfer." + }, + "toAccountBalance": { + "type": "string", + "description": "Receiver account balance after the transfer." + } + }, + "title": "Represents an aggregated view of ledger entry data, sender and receiver accounts,\ndetails and balances for both sides after the transfer has been made" + }, + "v2AssetEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaAsset", + "description": "Asset data returned." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Assets data with the corresponding cursor." + }, + "v2AssetsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AssetEdge" + }, + "description": "Page of assets data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of asset data and corresponding page information" + }, + "v2CandleDataConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2CandleEdge" + }, + "description": "Page of candle data items and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of candles data and corresponding page information" + }, + "v2CandleEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/apiv2Candle", + "description": "Candlestick data, i.e. high, low, open, and closing prices for an interval of trading." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Candle data with the corresponding cursor." + }, + "v2Checkpoint": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "description": "Hash of the checkpoint." + }, + "blockHash": { + "type": "string", + "description": "Block hash at which the checkpoint is made." + }, + "atBlock": { + "type": "string", + "format": "uint64", + "description": "Block number at which the checkpoint is made." + } + }, + "title": "Actual data regarding a checkpoint" + }, + "v2CheckpointEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2Checkpoint", + "description": "Data relating to a single checkpoint generated by the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Checkpoint data with the corresponding cursor." + }, + "v2CheckpointsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2CheckpointEdge" + }, + "description": "Page of checkpoints data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of checkpoints data and corresponding page information" + }, + "v2CoreSnapshotConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2CoreSnapshotEdge" + }, + "description": "Page of core snapshot data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of core snapshot data and corresponding page information." + }, + "v2CoreSnapshotEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1CoreSnapshotData", + "description": "Core snapshot data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Core snapshot data with the corresponding cursor." + }, + "v2DateRange": { + "type": "object", + "properties": { + "startTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range." + }, + "endTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range." + } + }, + "description": "Date range for queries that can return historical data\nTimestamps should be provided as unix time in Unix nanoseconds and are inclusive." + }, + "v2DelegationEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaDelegation", + "description": "How much a party is delegating to a node and when." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Delegation data with the corresponding cursor." + }, + "v2DelegationsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2DelegationEdge" + }, + "description": "Page of delegations data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of delegations data and corresponding page information" + }, + "v2DepositEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaDeposit", + "description": "Data associated with a single deposit made on the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Deposits data with the corresponding cursor." + }, + "v2DepositsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2DepositEdge" + }, + "description": "Page of deposits data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of deposits data received and corresponding page information" + }, + "v2ERC20MultiSigSignerAddedBundle": { + "type": "object", + "properties": { + "newSigner": { + "type": "string", + "description": "Ethereum address of the signer to be removed." + }, + "submitter": { + "type": "string", + "description": "Ethereum address of the submitter." + }, + "nonce": { + "type": "string", + "description": "Nonce used in the signing operation." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Unixnano timestamp for when the validator was added." + }, + "signatures": { + "type": "string", + "description": "Bundle of signatures from current validators to sign in the new signer." + }, + "epochSeq": { + "type": "string", + "description": "Epoch in which the validator was added." + } + }, + "title": "Signature bundle data to be added" + }, + "v2ERC20MultiSigSignerAddedBundleEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2ERC20MultiSigSignerAddedBundle", + "description": "Signature bundle data to be added." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Signature bundle data that is to be added with the corresponding cursor." + }, + "v2ERC20MultiSigSignerAddedConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ERC20MultiSigSignerAddedBundleEdge" + }, + "description": "Page of signature bundle data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of signature data items to be added and corresponding page information" + }, + "v2ERC20MultiSigSignerRemovedBundle": { + "type": "object", + "properties": { + "oldSigner": { + "type": "string", + "description": "Ethereum address of the signer to be removed." + }, + "submitter": { + "type": "string", + "description": "Ethereum address of the submitter." + }, + "nonce": { + "type": "string", + "description": "Nonce used in the signing operation." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Unixnano timestamp for when the validator was added." + }, + "signatures": { + "type": "string", + "description": "Bundle of signatures from current validators to sign in the new signer." + }, + "epochSeq": { + "type": "string", + "description": "Epoch in which the validator was removed." + } + }, + "title": "Signature bundle data to be removed" + }, + "v2ERC20MultiSigSignerRemovedBundleEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2ERC20MultiSigSignerRemovedBundle", + "description": "Signature bundle data to be added." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Signature bundle data to be removed, with the corresponding cursor." + }, + "v2ERC20MultiSigSignerRemovedConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ERC20MultiSigSignerRemovedBundleEdge" + }, + "description": "Page of signature bundle data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of signature data items to be removed and corresponding page information." + }, + "v2EpochRewardSummaryConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2EpochRewardSummaryEdge" + }, + "description": "Page of rewards summary data for epochs and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of rewards summary data for epoch and corresponding page information" + }, + "v2EpochRewardSummaryEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaEpochRewardSummary", + "description": "Rewards summary data for epoch." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Rewards summary data for epoch with the corresponding cursor." + }, + "v2EstimateFeeResponse": { + "type": "object", + "properties": { + "fee": { + "$ref": "#/definitions/vegaFee", + "description": "Summary of the estimated fees for this order if it were to trade now." + } + }, + "title": "Response that is received from EstimateFeeRequest, contains the estimated fees for a given order" + }, + "v2EstimateMarginResponse": { + "type": "object", + "properties": { + "marginLevels": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Summary of the estimated margins for this order if it were to trade now." + } + }, + "title": "Response to an estimate margin request, containing the estimated margin levels for a given order" + }, + "v2EstimatePositionResponse": { + "type": "object", + "properties": { + "margin": { + "$ref": "#/definitions/v2MarginEstimate", + "description": "Margin level range estimate for the specified position." + }, + "liquidation": { + "$ref": "#/definitions/v2LiquidationEstimate", + "description": "Liquidation price range estimate for the specified position. Only populated if available collateral was specified in the request." + } + }, + "description": "Response for the estimate of the margin level and, if available collateral was provided in the request, liquidation price for the specified position." + }, + "v2EthereumKeyRotationEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1EthereumKeyRotation", + "description": "Data relating to an Ethereum key rotation performed by a node on the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Ethereum key rotation data with the corresponding cursor." + }, + "v2EthereumKeyRotationsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2EthereumKeyRotationEdge" + }, + "description": "Page of Ethereum key rotations data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of Ethereum key rotations data and corresponding page information" + }, + "v2GetActiveNetworkHistoryPeerAddressesResponse": { + "type": "object", + "properties": { + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of IP addresses for the active peers." + } + }, + "title": "Response containing the addresses of active network history peers" + }, + "v2GetAssetResponse": { + "type": "object", + "properties": { + "asset": { + "$ref": "#/definitions/vegaAsset", + "description": "Asset information that is returned." + } + }, + "title": "Response from getting an asset" + }, + "v2GetDepositResponse": { + "type": "object", + "properties": { + "deposit": { + "$ref": "#/definitions/vegaDeposit", + "description": "Deposit matching the ID from the request." + } + }, + "title": "Response that is received from getting deposit data" + }, + "v2GetERC20ListAssetBundleResponse": { + "type": "object", + "properties": { + "assetSource": { + "type": "string", + "description": "Address of the asset on Ethereum." + }, + "vegaAssetId": { + "type": "string", + "description": "Asset ID for the underlying Vega asset." + }, + "nonce": { + "type": "string", + "description": "Nonce that uniquely identifies this signature bundle and prevents resubmission." + }, + "signatures": { + "type": "string", + "description": "Signatures bundle as hex encoded data, prefixed with `0x`\ne.g: `0x + sig1 + sig2 + ... + sixN`." + } + }, + "title": "Response from listing the signature bundle to an ERC-20 token in the collateral bridge" + }, + "v2GetERC20SetAssetLimitsBundleResponse": { + "type": "object", + "properties": { + "assetSource": { + "type": "string", + "description": "Address of the asset on Ethereum." + }, + "vegaAssetId": { + "type": "string", + "description": "Asset ID for the underlying Vega asset." + }, + "nonce": { + "type": "string", + "description": "Nonce that uniquely identifies this signature bundle and prevents resubmission." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limit deposit for this asset." + }, + "threshold": { + "type": "string", + "description": "Threshold withdraw for this asset." + }, + "signatures": { + "type": "string", + "description": "Signatures bundle as hex encoded data, prefixed with `0x`\ne.g: `0x + sig1 + sig2 + ... + sixN`." + } + }, + "title": "Response for the signature bundle to update the token limits i.e. maxLifetimeDeposit and withdrawThreshold for a given ERC20 token that is already allowlisted in the collateral bridge" + }, + "v2GetERC20WithdrawalApprovalResponse": { + "type": "object", + "properties": { + "assetSource": { + "type": "string", + "description": "Address of asset on Ethereum." + }, + "amount": { + "type": "string", + "description": "Amount to be withdrawn." + }, + "nonce": { + "type": "string", + "description": "Nonce that uniquely identifies this signature bundle and prevents resubmission." + }, + "signatures": { + "type": "string", + "description": "Signatures bundle as hex encoded data, prefixed with `0x`\ne.g: 0x + sig1 + sig2 + ... + sixN." + }, + "targetAddress": { + "type": "string", + "description": "Ethereum address, prefixed with `0x`, that will receive the withdrawn assets." + }, + "creation": { + "type": "string", + "format": "int64", + "description": "Creation timestamps." + } + }, + "title": "Response with all information required to bundle the call to finalise the withdrawal on the erc20 bridge\nfunction withdraw_asset(address asset_source, uint256 asset_id, uint256 amount, uint256 expiry, uint256 nonce, bytes memory signatures)" + }, + "v2GetEpochResponse": { + "type": "object", + "properties": { + "epoch": { + "$ref": "#/definitions/vegaEpoch", + "description": "Data specific to a single epoch on the Vega network. This includes the epoch number,\nstart and end times, and the nodes that participated in the epoch." + } + }, + "title": "Response from getting epoch" + }, + "v2GetGovernanceDataResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/vegaGovernanceData", + "description": "Governance data content, i.e. proposal and votes for and against." + } + }, + "title": "Response from getting governance data" + }, + "v2GetLastTradeResponse": { + "type": "object", + "properties": { + "trade": { + "$ref": "#/definitions/vegaTrade", + "description": "Information about the trade, if one is found." + } + }, + "title": "Response for the latest trade that occurred on Vega for a given market" + }, + "v2GetLatestMarketDataResponse": { + "type": "object", + "properties": { + "marketData": { + "$ref": "#/definitions/vegaMarketData", + "description": "Market data that was requested." + } + }, + "title": "Response that is received when listing the latest market data for a given market" + }, + "v2GetLatestMarketDepthResponse": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID of the depth levels returned." + }, + "buy": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Zero or more price levels for the buy side of the market depth data." + }, + "sell": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Zero or more price levels for the sell side of the market depth data." + }, + "lastTrade": { + "$ref": "#/definitions/vegaTrade", + "description": "Last trade recorded on Vega." + }, + "sequenceNumber": { + "type": "string", + "format": "uint64", + "description": "Sequence number incremented after each update." + } + }, + "title": "Response that is received when latest market depth data is queried" + }, + "v2GetMarketDataHistoryByIDResponse": { + "type": "object", + "properties": { + "marketData": { + "$ref": "#/definitions/v2MarketDataConnection", + "description": "Page of market data history with the corresponding page information." + } + }, + "title": "Response that is received when querying Market Data History" + }, + "v2GetMarketResponse": { + "type": "object", + "properties": { + "market": { + "$ref": "#/definitions/vegaMarket", + "description": "Information about the market requested." + } + }, + "title": "Response from getting a market by ID" + }, + "v2GetMostRecentNetworkHistorySegmentResponse": { + "type": "object", + "properties": { + "segment": { + "$ref": "#/definitions/v2HistorySegment", + "description": "Data relating to a history segment created by a Vega data node." + }, + "swarmKeySeed": { + "type": "string", + "description": "Key seed for the swarm section." + } + }, + "title": "Response from getting most recent history segment" + }, + "v2GetNetworkDataResponse": { + "type": "object", + "properties": { + "nodeData": { + "$ref": "#/definitions/vegaNodeData", + "description": "Summary of information with respect to nodes on the Vega network." + } + }, + "title": "Response from getting network data" + }, + "v2GetNetworkHistoryBootstrapPeersResponse": { + "type": "object", + "properties": { + "bootstrapPeers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of peers that can be used to bootstrap a Vega data node." + } + }, + "title": "Response containing the nodes network history bootstrap peers" + }, + "v2GetNetworkHistoryStatusResponse": { + "type": "object", + "properties": { + "ipfsAddress": { + "type": "string", + "description": "IPFS address of the data node currently connected to." + }, + "swarmKey": { + "type": "string", + "description": "Swarm key used by the IPFS swarm." + }, + "swarmKeySeed": { + "type": "string", + "description": "Swarm key seed used by the IPFS swarm." + }, + "connectedPeers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of peers connected to the IPFS swarm." + } + }, + "title": "Response containing the status of network history" + }, + "v2GetNetworkLimitsResponse": { + "type": "object", + "properties": { + "limits": { + "$ref": "#/definitions/vegaNetworkLimits", + "description": "List of received network limits." + } + }, + "title": "Response received when querying the current network limits" + }, + "v2GetNetworkParameterResponse": { + "type": "object", + "properties": { + "networkParameter": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "Network parameter key and value." + } + }, + "title": "Response that is received when getting a network parameter" + }, + "v2GetNodeResponse": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaNode", + "description": "Data specific to a single node on the Vega network." + } + }, + "title": "Response from getting node" + }, + "v2GetOracleSpecResponse": { + "type": "object", + "properties": { + "oracleSpec": { + "$ref": "#/definitions/vegaOracleSpec", + "description": "External data spec matching the ID." + } + }, + "title": "Response for a oracle spec" + }, + "v2GetOrderResponse": { + "type": "object", + "properties": { + "order": { + "$ref": "#/definitions/vegaOrder", + "description": "Order details, if one was found." + } + }, + "title": "Response received from the query for getting a single order" + }, + "v2GetPartyResponse": { + "type": "object", + "properties": { + "party": { + "$ref": "#/definitions/vegaParty", + "description": "Data for the party requested." + } + }, + "title": "Response from getting party by ID" + }, + "v2GetProtocolUpgradeStatusResponse": { + "type": "object", + "properties": { + "ready": { + "type": "boolean", + "description": "Indicator if the upgrade is ready or not." + } + }, + "title": "Response from getting protocol upgrade status" + }, + "v2GetRiskFactorsResponse": { + "type": "object", + "properties": { + "riskFactor": { + "$ref": "#/definitions/vegaRiskFactor", + "description": "Risk factor emitted by the risk model for a given market." + } + }, + "title": "Response that is received from getting a risk factor" + }, + "v2GetStakeResponse": { + "type": "object", + "properties": { + "currentStakeAvailable": { + "type": "string", + "description": "Current stake available information." + }, + "stakeLinkings": { + "$ref": "#/definitions/v2StakesConnection", + "description": "Paged list of stake data with corresponding page information." + } + }, + "title": "Response that is received from requesting stake information" + }, + "v2GetStopOrderResponse": { + "type": "object", + "properties": { + "order": { + "$ref": "#/definitions/v1StopOrderEvent", + "description": "Order details, if one was found." + } + }, + "description": "Response received from the query for getting a single stop order." + }, + "v2GetVegaTimeResponse": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp representation of current VegaTime as represented in nanoseconds, for example\n`1580473859111222333` corresponds to `2020-01-31T12:30:59.111222333Z`." + } + }, + "title": "Response for the current consensus coordinated time on the Vega network, referred to as \"VegaTime\"" + }, + "v2GetWithdrawalResponse": { + "type": "object", + "properties": { + "withdrawal": { + "$ref": "#/definitions/vegaWithdrawal", + "description": "Withdrawal matching the ID from the request." + } + }, + "title": "Response for a withdrawal request" + }, + "v2GovernanceDataConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2GovernanceDataEdge" + }, + "description": "Page of governance data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of governance data and corresponding page information" + }, + "v2GovernanceDataEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaGovernanceData", + "description": "Governance data content, i.e. proposal and votes for and against." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Governance data with the corresponding cursor." + }, + "v2HistorySegment": { + "type": "object", + "properties": { + "fromHeight": { + "type": "string", + "format": "int64", + "description": "Starting height of the history segment." + }, + "toHeight": { + "type": "string", + "format": "int64", + "description": "Ending height of the history segment." + }, + "historySegmentId": { + "type": "string", + "description": "History segment ID." + }, + "previousHistorySegmentId": { + "type": "string", + "description": "Previous history segment ID." + }, + "databaseVersion": { + "type": "string", + "format": "int64", + "description": "Database schema version of the history segment." + }, + "chainId": { + "type": "string", + "description": "Chain ID of the history segment." + } + }, + "title": "Describes a network history segment" + }, + "v2InfoResponse": { + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Semver formatted version of the data node." + }, + "commitHash": { + "type": "string", + "description": "Commit hash from which the data node was built." + } + }, + "title": "Response that is received from the node information query" + }, + "v2IntervalToCandleId": { + "type": "object", + "properties": { + "interval": { + "type": "string", + "description": "Interval for the candle." + }, + "candleId": { + "type": "string", + "description": "Unique id of the candle." + } + }, + "title": "Maps an interval for a given market to its corresponding candle ID" + }, + "v2KeyRotationConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2KeyRotationEdge" + }, + "description": "Page of key rotation data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of key rotations data and corresponding page information" + }, + "v2KeyRotationEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1KeyRotation", + "description": "Data relating to a key rotation that was performed by a node on the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Key rotation data with the corresponding cursor." + }, + "v2LedgerEntryFilter": { + "type": "object", + "properties": { + "closeOnAccountFilters": { + "type": "boolean", + "description": "Determines whether an entry must have accounts matching both the account_from_filter\nand the account_to_filter. If set to 'true', entries must have matches in both filters.\nIf set to `false`, entries matching only the account_from_filter or the account_to_filter will also be included." + }, + "fromAccountFilter": { + "$ref": "#/definitions/v2AccountFilter", + "description": "Used to set values for filtering sender accounts." + }, + "toAccountFilter": { + "$ref": "#/definitions/v2AccountFilter", + "description": "Used to set values for filtering receiver accounts." + }, + "transferTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaTransferType" + }, + "description": "List of transfer types that is used for filtering sender and receiver accounts." + } + }, + "description": "Ledger entry filter sets filters on returned set of ledger entries." + }, + "v2LiquidationEstimate": { + "type": "object", + "properties": { + "worstCase": { + "$ref": "#/definitions/v2LiquidationPrice", + "description": "Liquidation price estimate assuming slippage cap is applied." + }, + "bestCase": { + "$ref": "#/definitions/v2LiquidationPrice", + "description": "Liquidation price estimate assuming no slippage." + } + }, + "description": "Liquidation estimate for both worst and best case possible." + }, + "v2LiquidationPrice": { + "type": "object", + "properties": { + "openVolumeOnly": { + "type": "string", + "description": "Liquidation price for current open volume ignoring any active orders." + }, + "includingBuyOrders": { + "type": "string", + "description": "Liquidation price assuming buy orders start getting filled." + }, + "includingSellOrders": { + "type": "string", + "description": "Liquidation price assuming sell orders start getting filled." + } + }, + "description": "Liquidation price estimate for either only the current open volume and position given some or all buy orders get filled, or position given some or all sell orders get filled." + }, + "v2LiquidityProvider": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "description": "Party ID of the liquidity provider." + }, + "marketId": { + "type": "string", + "description": "ID of the market the liquidity provider is active in." + }, + "feeShare": { + "$ref": "#/definitions/vegaLiquidityProviderFeeShare", + "description": "Information used for calculating an LP's fee share, such as the equity like share,\naverage entry valuation and liquidity score for the liquidity provider for the specified market." + } + }, + "description": "Liquidity provider information." + }, + "v2LiquidityProviderConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2LiquidityProviderEdge" + }, + "description": "Page of liquidity provider data." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of liquidity provider data and corresponding page information." + }, + "v2LiquidityProviderEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2LiquidityProvider", + "description": "Liquidity provider information returned by the API." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further data." + } + }, + "description": "Liquidity provider data with the corresponding cursor." + }, + "v2LiquidityProvisionsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2LiquidityProvisionsEdge" + }, + "description": "Page of liquidity provisions data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of liquidity provisions data and corresponding page information" + }, + "v2LiquidityProvisionsEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaLiquidityProvision", + "description": "Data corresponding to a liquidity provider's commitment." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Liquidity provision data with the corresponding cursor." + }, + "v2ListAccountsResponse": { + "type": "object", + "properties": { + "accounts": { + "$ref": "#/definitions/v2AccountsConnection", + "description": "Page of accounts data and corresponding page information." + } + }, + "description": "Response that is received from listing accounts query." + }, + "v2ListAllNetworkHistorySegmentsResponse": { + "type": "object", + "properties": { + "segments": { + "type": "array", + "items": { + "$ref": "#/definitions/v2HistorySegment" + }, + "description": "Page of history segments data and corresponding page information." + } + }, + "title": "Response with a list of all the nodes history segments" + }, + "v2ListAllPositionsResponse": { + "type": "object", + "properties": { + "positions": { + "$ref": "#/definitions/v2PositionConnection", + "description": "Page of positions data and corresponding page information." + } + }, + "title": "Response to query for listing of positions, given the filter is supplied" + }, + "v2ListAssetsResponse": { + "type": "object", + "properties": { + "assets": { + "$ref": "#/definitions/v2AssetsConnection", + "description": "Page of assets data and corresponding page information." + } + }, + "title": "Response from listing assets" + }, + "v2ListBalanceChangesResponse": { + "type": "object", + "properties": { + "balances": { + "$ref": "#/definitions/v2AggregatedBalanceConnection", + "description": "Page of aggregated balances data and corresponding page information." + } + }, + "description": "Response that is received from querying balances changes." + }, + "v2ListCandleDataResponse": { + "type": "object", + "properties": { + "candles": { + "$ref": "#/definitions/v2CandleDataConnection", + "description": "Page of candle data and corresponding page information." + } + }, + "title": "Response for list of candles for a market at an interval" + }, + "v2ListCandleIntervalsResponse": { + "type": "object", + "properties": { + "intervalToCandleId": { + "type": "array", + "items": { + "$ref": "#/definitions/v2IntervalToCandleId" + }, + "description": "List of the mappings." + } + }, + "title": "List of mapped pairs `interval` -\u003e `candle ID` for a given market" + }, + "v2ListCheckpointsResponse": { + "type": "object", + "properties": { + "checkpoints": { + "$ref": "#/definitions/v2CheckpointsConnection", + "description": "Page of checkpoints data and corresponding page information." + } + }, + "title": "Response message containing all checkpoints requested" + }, + "v2ListCoreSnapshotsResponse": { + "type": "object", + "properties": { + "coreSnapshots": { + "$ref": "#/definitions/v2CoreSnapshotConnection", + "description": "Page of core snapshot data and corresponding page information." + } + }, + "description": "Response from a ListCoreSnapshots RPC call; a paginated list of the core snapshots." + }, + "v2ListDelegationsResponse": { + "type": "object", + "properties": { + "delegations": { + "$ref": "#/definitions/v2DelegationsConnection", + "description": "Page of delegations data and corresponding page information." + } + }, + "title": "Response from listing delegations" + }, + "v2ListDepositsResponse": { + "type": "object", + "properties": { + "deposits": { + "$ref": "#/definitions/v2DepositsConnection", + "description": "Page of deposits data and corresponding page information." + } + }, + "title": "Response from listing deposits" + }, + "v2ListERC20MultiSigSignerAddedBundlesResponse": { + "type": "object", + "properties": { + "bundles": { + "$ref": "#/definitions/v2ERC20MultiSigSignerAddedConnection", + "description": "Page of bundles for that validator - it may have been added multiple times if removed in between - and corresponding page information." + } + }, + "title": "Response from adding a signature bundle to the signer list of a multisig contract for a particular validator" + }, + "v2ListERC20MultiSigSignerRemovedBundlesResponse": { + "type": "object", + "properties": { + "bundles": { + "$ref": "#/definitions/v2ERC20MultiSigSignerRemovedConnection", + "description": "Page of signer bundle data items for that validator and corresponding page information." + } + }, + "title": "Response when removing a signature bundle from the signer list of the multisig contract for a particular validator" + }, + "v2ListEntitiesResponse": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaAccount" + } + }, + "orders": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrder" + } + }, + "positions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPosition" + } + }, + "ledgerEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerEntry" + } + }, + "balanceChanges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AccountBalance" + } + }, + "transfers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaeventsv1Transfer" + } + }, + "votes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVote" + } + }, + "erc20MultiSigSignerAddedBundles": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ERC20MultiSigSignerAddedBundle" + } + }, + "erc20MultiSigSignerRemovedBundles": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ERC20MultiSigSignerRemovedBundle" + } + }, + "trades": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaTrade" + } + }, + "oracleSpecs": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOracleSpec" + } + }, + "oracleData": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOracleData" + } + }, + "markets": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarket" + } + }, + "parties": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaParty" + } + }, + "marginLevels": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarginLevels" + } + }, + "rewards": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaReward" + } + }, + "deposits": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDeposit" + } + }, + "withdrawals": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaWithdrawal" + } + }, + "assets": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaAsset" + } + }, + "liquidityProvisions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProvision" + } + }, + "proposals": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaProposal" + } + }, + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDelegation" + } + }, + "nodes": { + "type": "array", + "items": { + "$ref": "#/definitions/v2NodeBasic" + } + }, + "nodeSignatures": { + "type": "array", + "items": { + "$ref": "#/definitions/v1NodeSignature" + } + }, + "networkParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNetworkParameter" + } + }, + "keyRotations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1KeyRotation" + } + }, + "ethereumKeyRotations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1EthereumKeyRotation" + } + }, + "protocolUpgradeProposals": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ProtocolUpgradeEvent" + } + } + }, + "title": "Response from listing entities that were created for a given transaction hash" + }, + "v2ListEpochRewardSummariesResponse": { + "type": "object", + "properties": { + "summaries": { + "$ref": "#/definitions/v2EpochRewardSummaryConnection", + "description": "Page of rewards details for a single party and corresponding page information." + } + }, + "title": "Return message with reward details in for a single party" + }, + "v2ListEthereumKeyRotationsResponse": { + "type": "object", + "properties": { + "keyRotations": { + "$ref": "#/definitions/v2EthereumKeyRotationsConnection", + "description": "Page of Ethereum key rotations data and corresponding page information." + } + }, + "title": "Response message containing Ethereum key rotations" + }, + "v2ListGovernanceDataRequestType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ALL", + "TYPE_NEW_MARKET", + "TYPE_UPDATE_MARKET", + "TYPE_NETWORK_PARAMETERS", + "TYPE_NEW_ASSET", + "TYPE_NEW_FREE_FORM", + "TYPE_UPDATE_ASSET" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_ALL: List all proposals\n - TYPE_NEW_MARKET: List new market proposals\n - TYPE_UPDATE_MARKET: List update market proposals\n - TYPE_NETWORK_PARAMETERS: List change Vega network parameter proposals\n - TYPE_NEW_ASSET: New asset proposals\n - TYPE_NEW_FREE_FORM: Proposals for creating a new free form proposal\n - TYPE_UPDATE_ASSET: Update asset proposals", + "title": "Filter for the types of governance proposals to view" + }, + "v2ListGovernanceDataResponse": { + "type": "object", + "properties": { + "connection": { + "$ref": "#/definitions/v2GovernanceDataConnection", + "description": "Page of governance data and corresponding page information." + } + }, + "title": "Response from listing governance data" + }, + "v2ListKeyRotationsResponse": { + "type": "object", + "properties": { + "rotations": { + "$ref": "#/definitions/v2KeyRotationConnection", + "description": "Page of key rotations data and corresponding page information." + } + }, + "title": "Response message containing Vega key rotations" + }, + "v2ListLatestMarketDataResponse": { + "type": "object", + "properties": { + "marketsData": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketData" + } + } + }, + "title": "Response that is received when listing the latest market data for every market" + }, + "v2ListLedgerEntriesResponse": { + "type": "object", + "properties": { + "ledgerEntries": { + "$ref": "#/definitions/v2AggregatedLedgerEntriesConnection", + "description": "Page of aggregated ledger entries data and corresponding page information." + } + }, + "title": "Response that is received when listing ledger entries" + }, + "v2ListLiquidityProvidersResponse": { + "type": "object", + "properties": { + "liquidityProviders": { + "$ref": "#/definitions/v2LiquidityProviderConnection", + "description": "Page of liquidity providers and corresponding page information." + } + }, + "description": "Response for listing liquidity providers." + }, + "v2ListLiquidityProvisionsResponse": { + "type": "object", + "properties": { + "liquidityProvisions": { + "$ref": "#/definitions/v2LiquidityProvisionsConnection", + "description": "Page of liquidity provisions data and corresponding page information." + } + }, + "title": "Response from listing liquidity provisions" + }, + "v2ListMarginLevelsResponse": { + "type": "object", + "properties": { + "marginLevels": { + "$ref": "#/definitions/v2MarginConnection", + "description": "Page of margin levels data and corresponding page information." + } + }, + "title": "Response from listing margin levels" + }, + "v2ListMarketsResponse": { + "type": "object", + "properties": { + "markets": { + "$ref": "#/definitions/v2MarketConnection", + "description": "Page of markets and corresponding page information." + } + }, + "title": "Response from listing markets" + }, + "v2ListNetworkParametersResponse": { + "type": "object", + "properties": { + "networkParameters": { + "$ref": "#/definitions/v2NetworkParameterConnection", + "description": "Page of network parameters and corresponding page information." + } + }, + "title": "Response containing all of the Vega network parameters" + }, + "v2ListNodeSignaturesResponse": { + "type": "object", + "properties": { + "signatures": { + "$ref": "#/definitions/v2NodeSignaturesConnection", + "description": "Page of nodes signatures and corresponding page information." + } + }, + "title": "Response to specify the ID of the resource to retrieve aggregated signatures for" + }, + "v2ListNodesResponse": { + "type": "object", + "properties": { + "nodes": { + "$ref": "#/definitions/v2NodesConnection", + "description": "Page of node data and corresponding page information." + } + }, + "title": "Response from listing nodes" + }, + "v2ListOracleDataResponse": { + "type": "object", + "properties": { + "oracleData": { + "$ref": "#/definitions/v2OracleDataConnection", + "description": "Page of seen oracle data and corresponding page information." + } + }, + "title": "Response to get all seen oracle data" + }, + "v2ListOracleSpecsResponse": { + "type": "object", + "properties": { + "oracleSpecs": { + "$ref": "#/definitions/v2OracleSpecsConnection", + "description": "Page of active oracle specs and corresponding page information." + } + }, + "title": "Response to get all active oracle specs" + }, + "v2ListOrderVersionsResponse": { + "type": "object", + "properties": { + "orders": { + "$ref": "#/definitions/v2OrderConnection", + "description": "Page of order versions and corresponding page information." + } + }, + "title": "Response that is received when listing possible order versions" + }, + "v2ListOrdersResponse": { + "type": "object", + "properties": { + "orders": { + "$ref": "#/definitions/v2OrderConnection", + "description": "Page of orders data and corresponding page information." + } + }, + "title": "Response that is received from the query to list orders" + }, + "v2ListPartiesResponse": { + "type": "object", + "properties": { + "parties": { + "$ref": "#/definitions/v2PartyConnection", + "description": "Page of parties data and corresponding page information." + } + }, + "title": "Response from listing parties" + }, + "v2ListPositionsResponse": { + "type": "object", + "properties": { + "positions": { + "$ref": "#/definitions/v2PositionConnection", + "description": "Page of positions data and corresponding page information." + } + }, + "title": "Response for a list of positions for a party" + }, + "v2ListProtocolUpgradeProposalsResponse": { + "type": "object", + "properties": { + "protocolUpgradeProposals": { + "$ref": "#/definitions/v2ProtocolUpgradeProposalConnection", + "description": "Page of protocol upgrade proposals and corresponding page information." + } + }, + "title": "Response type from a ListProtocolUpgradeProposals RPC call; a paginated list of protocol upgrade proposals" + }, + "v2ListRewardSummariesResponse": { + "type": "object", + "properties": { + "summaries": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaRewardSummary" + }, + "description": "Page of rewards details data and corresponding page information." + } + }, + "title": "Response from listing reward details in for a single party" + }, + "v2ListRewardsResponse": { + "type": "object", + "properties": { + "rewards": { + "$ref": "#/definitions/v2RewardsConnection", + "description": "Page of rewards data and corresponding page information." + } + }, + "title": "Response for listing reward details for a single party" + }, + "v2ListStopOrdersResponse": { + "type": "object", + "properties": { + "orders": { + "$ref": "#/definitions/v2StopOrderConnection", + "description": "Page of stop orders data and corresponding page information." + } + }, + "description": "Response that is received from the query to list stop orders." + }, + "v2ListSuccessorMarketsResponse": { + "type": "object", + "properties": { + "successorMarkets": { + "$ref": "#/definitions/v2SuccessorMarketConnection", + "description": "List of markets in the succession line." + } + }, + "description": "Response from a list successor markets request." + }, + "v2ListTradesResponse": { + "type": "object", + "properties": { + "trades": { + "$ref": "#/definitions/v2TradeConnection", + "description": "Page of trades data and corresponding page information." + } + }, + "title": "Response from listing trades" + }, + "v2ListTransfersResponse": { + "type": "object", + "properties": { + "transfers": { + "$ref": "#/definitions/v2TransferConnection", + "description": "Page of transfers data and corresponding page information." + } + }, + "title": "Response that is received when listing transfers" + }, + "v2ListVotesResponse": { + "type": "object", + "properties": { + "votes": { + "$ref": "#/definitions/v2VoteConnection", + "description": "Page of votes data received and corresponding page information." + } + }, + "title": "Response that is received when listing Votes" + }, + "v2ListWithdrawalsResponse": { + "type": "object", + "properties": { + "withdrawals": { + "$ref": "#/definitions/v2WithdrawalsConnection", + "description": "Page of withdrawals data and corresponding page information." + } + }, + "title": "Response from listing withdrawals data" + }, + "v2MarginConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2MarginEdge" + }, + "description": "Page of margins data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of margins data and corresponding page information." + }, + "v2MarginEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Margin levels data that satisfy a list margin levels request." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Margin data with the corresponding cursor." + }, + "v2MarginEstimate": { + "type": "object", + "properties": { + "worstCase": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Margin level estimate assuming slippage cap is applied." + }, + "bestCase": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Margin level estimate assuming no slippage." + } + }, + "description": "Margin level estimate for both worst and best case possible." + }, + "v2MarketConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2MarketEdge" + }, + "description": "Page of markets and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of markets and corresponding page information." + }, + "v2MarketDataConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2MarketDataEdge" + }, + "description": "Page of market data items and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of market data items and corresponding page information" + }, + "v2MarketDataEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaMarketData", + "description": "Data generated by a market when open." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Market data with the corresponding cursor." + }, + "v2MarketEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaMarket", + "description": "Information about the market." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Market information with the corresponding cursor." + }, + "v2NetworkParameterConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2NetworkParameterEdge" + }, + "description": "Page of network parameters data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of network parameters and corresponding page information" + }, + "v2NetworkParameterEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "Name and associated value of a network parameter." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Network parameter with the corresponding cursor." + }, + "v2NodeBasic": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID identifying the node." + }, + "pubKey": { + "type": "string", + "description": "Node operator's public key." + }, + "tmPubKey": { + "type": "string", + "description": "Tendermint public key of the node." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key of the node." + }, + "infoUrl": { + "type": "string", + "description": "URL that provides more information about the node." + }, + "location": { + "type": "string", + "description": "Country code for the location of the node." + }, + "status": { + "$ref": "#/definitions/vegaNodeStatus", + "description": "Node status." + }, + "name": { + "type": "string", + "description": "Node name." + }, + "avatarUrl": { + "type": "string", + "description": "Avatar URL." + } + }, + "description": "Represents a basic node without any epoch specific details like delegations, staking, rewards etc." + }, + "v2NodeEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaNode", + "description": "Data specific to a single node on the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Node data with the corresponding cursor." + }, + "v2NodeSignatureEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1NodeSignature", + "description": "Node signature data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Nodes signature edge with the corresponding cursor." + }, + "v2NodeSignaturesConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2NodeSignatureEdge" + }, + "description": "Page of node signatures and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of node signatures and corresponding page information." + }, + "v2NodesConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2NodeEdge" + }, + "description": "Page of node data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of node data and corresponding page information" + }, + "v2ObserveAccountsResponse": { + "type": "object", + "properties": { + "snapshot": { + "$ref": "#/definitions/v2AccountSnapshotPage", + "description": "'Initial image' snapshot containing current account balances." + }, + "updates": { + "$ref": "#/definitions/v2AccountUpdates", + "description": "List of account updates in the last block." + } + }, + "description": "Response that is received when subscribing to a stream of accounts." + }, + "v2ObserveCandleDataResponse": { + "type": "object", + "properties": { + "candle": { + "$ref": "#/definitions/apiv2Candle", + "description": "Candle data." + } + }, + "title": "Response that is received when subscribing to a stream of candles" + }, + "v2ObserveEventBusResponse": { + "type": "object", + "properties": { + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/v1BusEvent" + }, + "description": "List of events that occurred on the Vega event bus." + } + }, + "title": "Response to a subscribed stream of events from the Vega event bus" + }, + "v2ObserveGovernanceResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/vegaGovernanceData", + "description": "Governance data, i.e. proposal and votes for and against." + } + }, + "title": "Response from governance subscription" + }, + "v2ObserveLedgerMovementsResponse": { + "type": "object", + "properties": { + "ledgerMovement": { + "$ref": "#/definitions/vegaLedgerMovement", + "description": "Ledger movements data with list of ledger entries and and post-transfer balances." + } + }, + "title": "Response from ledger movements subscription" + }, + "v2ObserveLiquidityProvisionsResponse": { + "type": "object", + "properties": { + "liquidityProvisions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProvision" + } + } + }, + "title": "Response from liquidity provisions subscription" + }, + "v2ObserveMarginLevelsResponse": { + "type": "object", + "properties": { + "marginLevels": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Margin levels data that match the subscription request filters." + } + }, + "title": "Response from subscribing to margin levels data" + }, + "v2ObserveMarketsDataResponse": { + "type": "object", + "properties": { + "marketData": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketData" + }, + "description": "List of market data." + } + }, + "title": "Response that is received for market data subscription" + }, + "v2ObserveMarketsDepthResponse": { + "type": "object", + "properties": { + "marketDepth": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketDepth" + }, + "description": "List of market depth data." + } + }, + "description": "Response that is received for MarketDepth subscription." + }, + "v2ObserveMarketsDepthUpdatesResponse": { + "type": "object", + "properties": { + "update": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketDepthUpdate" + }, + "description": "List of market depth update data." + } + }, + "title": "Response that is received for market depth update subscription" + }, + "v2ObserveOrdersResponse": { + "type": "object", + "properties": { + "snapshot": { + "$ref": "#/definitions/v2OrderSnapshotPage", + "description": "An 'initial image' snapshot containing current live orders." + }, + "updates": { + "$ref": "#/definitions/v2OrderUpdates", + "description": "List of order updates in the last block." + } + }, + "description": "Response that is received from an orders subscription." + }, + "v2ObservePositionsResponse": { + "type": "object", + "properties": { + "snapshot": { + "$ref": "#/definitions/v2PositionSnapshotPage", + "description": "An 'initial image' snapshot containing current positions." + }, + "updates": { + "$ref": "#/definitions/v2PositionUpdates", + "description": "List of position updates in the last block." + } + }, + "title": "Response received from a positions subscription request" + }, + "v2ObserveTradesResponse": { + "type": "object", + "properties": { + "trades": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaTrade" + }, + "description": "List of 0 or more trades." + } + }, + "title": "Stream of trades" + }, + "v2ObserveVotesResponse": { + "type": "object", + "properties": { + "vote": { + "$ref": "#/definitions/vegaVote", + "description": "Data associated with governance votes that are published to the stream." + } + }, + "title": "Response that is received from votes subscription" + }, + "v2OracleDataConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2OracleDataEdge" + }, + "description": "Page of oracle data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of oracle data and corresponding page information." + }, + "v2OracleDataEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaOracleData", + "description": "Data that was received from an external oracle." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Oracle data item with the corresponding cursor." + }, + "v2OracleSpecEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaOracleSpec", + "description": "External spec data that satisfies the list request." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Oracle specs data item with the corresponding cursor." + }, + "v2OracleSpecsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2OracleSpecEdge" + }, + "description": "Page of oracle specs data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of oracle specs and corresponding page information" + }, + "v2OrderConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2OrderEdge" + }, + "description": "Page of orders and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of orders data and corresponding page information." + }, + "v2OrderEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaOrder", + "description": "Data associated with an order submitted to a Vega node." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Order data with the corresponding cursor." + }, + "v2OrderFilter": { + "type": "object", + "properties": { + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrderStatus" + }, + "description": "Restrict orders to those with the given statuses." + }, + "types": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrderType" + }, + "description": "Restrict orders to those with the given types." + }, + "timeInForces": { + "type": "array", + "items": { + "$ref": "#/definitions/OrderTimeInForce" + }, + "description": "Restrict orders to those with the given Time In Force." + }, + "excludeLiquidity": { + "type": "boolean", + "description": "Indicator if liquidity provision orders should be included or not in the list." + }, + "partyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict orders to those placed by the given party IDs." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict orders to those placed on the given market IDs." + }, + "reference": { + "type": "string", + "description": "Restrict orders to those with the given reference." + }, + "dateRange": { + "$ref": "#/definitions/v2DateRange", + "description": "Restrict orders to those placed during the given date range. If not set, all orders will be returned." + }, + "liveOnly": { + "type": "boolean", + "description": "Restrict orders to those that are live. If not set, it is treated as being false." + } + }, + "title": "Order filter that contains all filtering conditions and values that are applied to the orders listing" + }, + "v2OrderInfo": { + "type": "object", + "properties": { + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. buy or sell." + }, + "price": { + "type": "string", + "description": "Price for the order. The price is an unsigned integer. For example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "remaining": { + "type": "string", + "format": "uint64", + "description": "Size remaining." + }, + "isMarketOrder": { + "type": "boolean", + "description": "Boolean that indicates if it is a market order." + } + }, + "description": "Basic description of an order." + }, + "v2OrderSnapshotPage": { + "type": "object", + "properties": { + "orders": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrder" + }, + "description": "List of order data parts." + }, + "lastPage": { + "type": "boolean", + "description": "Indicator if the last page is reached or not." + } + }, + "description": "'Initial image' of live orders, may be sent over multiple response messages." + }, + "v2OrderUpdates": { + "type": "object", + "properties": { + "orders": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrder" + }, + "description": "List of orders data." + } + }, + "description": "List of order updates in the last block." + }, + "v2PageInfo": { + "type": "object", + "properties": { + "hasNextPage": { + "type": "boolean", + "description": "Indicator if there is a next page." + }, + "hasPreviousPage": { + "type": "boolean", + "description": "Indicator if there is a previous page." + }, + "startCursor": { + "type": "string", + "description": "Start cursor." + }, + "endCursor": { + "type": "string", + "description": "End cursor." + } + }, + "title": "Page information for cursor based pagination" + }, + "v2Pagination": { + "type": "object", + "properties": { + "first": { + "type": "integer", + "format": "int32", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'." + }, + "after": { + "type": "string", + "description": "If paging forwards, the cursor string for the last row of the previous page." + }, + "last": { + "type": "integer", + "format": "int32", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'." + }, + "before": { + "type": "string", + "description": "If paging forwards, the cursor string for the first row of the previous page." + }, + "newestFirst": { + "type": "boolean", + "description": "Whether to order the results with the newest records first. If not set, the default value is true." + } + }, + "description": "All data returned from the API is ordered in a well-defined manner.\nThe specific columns and the order in which the sorting is performed\ndepend on the API endpoint being called. However, the primary sorting\ncolumn is usually the timestamp of the block in which the data was last updated.\n\nTo prevent excessively large response messages and to avoid overloading\ndatabase resources, the API employs a cursor-based pagination mechanism.\n\nThis Pagination message can be optionally provided as part of the request to specify:\n- The starting point within the total result set for beginning the page\n- The size of the returned page\n- The ordering of the data within that page\n\nIf no Pagination message is provided, the API will return the first page of\ndata using the default page size. The default page size is 1000.\n\nTo retrieve subsequent pages, the caller must examine the PageInfo structure\nreturned in the response to find a cursor string that uniquely identifies the\nlast row of that page. This cursor should then be passed in the 'after' field\nof the Pagination message in a subsequent request.\n\nFor paging backward, take the cursor for the first row of the page from PageInfo\nand pass it in the 'before' field of the Pagination message.\n\nPagination message that uses both first/after and last/before is considered invalid." + }, + "v2PartyConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2PartyEdge" + }, + "description": "Page of parties and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of parties data and corresponding page information." + }, + "v2PartyEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaParty", + "description": "Data associated with a party." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Party data with the corresponding cursor." + }, + "v2PingResponse": { + "type": "object", + "title": "Ping response from the data node" + }, + "v2PositionConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2PositionEdge" + }, + "description": "Page of positions data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of positions and corresponding page information" + }, + "v2PositionEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaPosition", + "description": "Position data for a party on a market." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Position data with the corresponding cursor." + }, + "v2PositionSnapshotPage": { + "type": "object", + "properties": { + "positions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPosition" + }, + "description": "List of positions data." + }, + "lastPage": { + "type": "boolean", + "description": "Indicator if last page is reached or not." + } + }, + "title": "'Initial image' of current positions, may be sent over multiple response messages" + }, + "v2PositionUpdates": { + "type": "object", + "properties": { + "positions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPosition" + }, + "description": "List of positions data." + } + }, + "title": "List of position updates in the last block" + }, + "v2PositionsFilter": { + "type": "object", + "properties": { + "partyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict positions to those related to the given parties." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict positions to those on the given markets." + } + }, + "title": "Filter to apply to the ListAllPositionsRequest" + }, + "v2ProtocolUpgradeProposalConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ProtocolUpgradeProposalEdge" + }, + "description": "Page of protocol upgrade proposals data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of protocol upgrade proposals and corresponding page information" + }, + "v2ProtocolUpgradeProposalEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1ProtocolUpgradeEvent", + "description": "Protocol upgrade proposal data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Protocol upgrade proposal data with the corresponding cursor." + }, + "v2RewardEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaReward", + "description": "Details for a single reward payment." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Rewards data with the corresponding cursor." + }, + "v2RewardSummaryFilter": { + "type": "object", + "properties": { + "assetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict reward summaries to those connected to the assets in the given list." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict reward summaries to those connected to the markets in the given list." + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "description": "Restrict rewards summaries to those that were paid after and including the given epoch ID." + }, + "toEpoch": { + "type": "string", + "format": "uint64", + "description": "Restrict rewards summaries to those that were paid up to and including the given epoch ID." + } + }, + "title": "Filter to restrict the results returned by the ListEpochRewardSummaries" + }, + "v2RewardsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2RewardEdge" + }, + "description": "Page of rewards data items and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of rewards data and corresponding page information." + }, + "v2StakeLinkingEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1StakeLinking", + "description": "Stake linking represent the intent from a party to deposit." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Stake linking data with the corresponding cursor." + }, + "v2StakesConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2StakeLinkingEdge" + }, + "description": "Page of stake data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of stake data and corresponding page information." + }, + "v2StopOrderConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2StopOrderEdge" + }, + "description": "Page of stop orders and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of stop orders data and corresponding page information." + }, + "v2StopOrderEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1StopOrderEvent", + "description": "Data associated with an order submitted to a Vega node." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Order data with the corresponding cursor." + }, + "v2StopOrderFilter": { + "type": "object", + "properties": { + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaStopOrderStatus" + }, + "description": "Restrict orders to those with the given statuses." + }, + "expiryStrategies": { + "type": "array", + "items": { + "$ref": "#/definitions/StopOrderExpiryStrategy" + }, + "description": "Restrict orders to those with the given expiry strategies." + }, + "dateRange": { + "$ref": "#/definitions/v2DateRange", + "description": "Restrict orders to those placed during the given date range. If not set, all orders will be returned." + }, + "partyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict orders to those placed by the given party IDs." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict orders to those placed on the given market IDs." + } + }, + "description": "Stop order filter that contains all filtering conditions and values that are applied to the stop orders listing.", + "title": "Stop order filter" + }, + "v2SuccessorMarket": { + "type": "object", + "properties": { + "market": { + "$ref": "#/definitions/vegaMarket", + "description": "The market that is a member of the succession line." + }, + "proposals": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaGovernanceData" + }, + "description": "All proposals for child markets that have the market as a parent." + } + }, + "description": "Successor market information includes the market that is a member of the succession line\nand any governance data that is associated with proposals for child markets\nwhether enacted or not." + }, + "v2SuccessorMarketConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2SuccessorMarketEdge" + }, + "description": "Page of successor markets and their cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information for pagination control." + } + }, + "description": "Page of successor market records and corresponding page information." + }, + "v2SuccessorMarketEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2SuccessorMarket", + "description": "Successor market record." + }, + "cursor": { + "type": "string", + "description": "Cursor identifying the record for pagination control." + } + }, + "title": "Successor market record with the corresponding cursor for paginated results" + }, + "v2Table": { + "type": "string", + "enum": [ + "TABLE_UNSPECIFIED", + "TABLE_BALANCES", + "TABLE_CHECKPOINTS", + "TABLE_DELEGATIONS", + "TABLE_LEDGER", + "TABLE_ORDERS", + "TABLE_TRADES", + "TABLE_MARKET_DATA", + "TABLE_MARGIN_LEVELS", + "TABLE_POSITIONS", + "TABLE_LIQUIDITY_PROVISIONS", + "TABLE_MARKETS", + "TABLE_DEPOSITS", + "TABLE_WITHDRAWALS", + "TABLE_BLOCKS", + "TABLE_REWARDS" + ], + "default": "TABLE_UNSPECIFIED" + }, + "v2TradeConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2TradeEdge" + }, + "description": "Page of trades and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of trades and corresponding page information" + }, + "v2TradeEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaTrade", + "description": "Data associated with a trade that has been executed." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Trade data item with the corresponding cursor.." + }, + "v2TransferConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2TransferEdge" + }, + "description": "Page of transfers data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of transfers data items and corresponding page information" + }, + "v2TransferDirection": { + "type": "string", + "enum": [ + "TRANSFER_DIRECTION_UNSPECIFIED", + "TRANSFER_DIRECTION_TRANSFER_FROM", + "TRANSFER_DIRECTION_TRANSFER_TO", + "TRANSFER_DIRECTION_TRANSFER_TO_OR_FROM" + ], + "default": "TRANSFER_DIRECTION_UNSPECIFIED", + "title": "Direction of a transfer" + }, + "v2TransferEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaeventsv1Transfer", + "description": "Data relating to a transfer that has been made." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Transfers data with the corresponding cursor." + }, + "v2VoteConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2VoteEdge" + }, + "description": "Page of vote data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of vote data items and corresponding page information" + }, + "v2VoteEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaVote", + "description": "Data associated with a governance vote." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Votes data with the corresponding cursor." + }, + "v2WithdrawalEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaWithdrawal", + "description": "Data associated with a single withdrawal made from the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Withdrawals data with the corresponding cursor." + }, + "v2WithdrawalsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2WithdrawalEdge" + }, + "description": "Page of withdrawals data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of withdrawals data and corresponding page information" + }, + "vegaAccount": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique account ID, used internally by Vega." + }, + "owner": { + "type": "string", + "description": "Party that the account belongs to, special values include `network`, which represents the Vega network and is\nmost commonly seen during liquidation of distressed trading positions." + }, + "balance": { + "type": "string", + "description": "Balance of the asset, the balance is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places\nand importantly balances cannot be negative." + }, + "asset": { + "type": "string", + "description": "Asset ID for the account." + }, + "marketId": { + "type": "string", + "description": "Market ID for the account, if `AccountType.ACCOUNT_TYPE_GENERAL` this will be empty." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type related to this account." + } + }, + "title": "Represents an account for an asset on Vega for a particular owner or party" + }, + "vegaAccountDetails": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID of the asset for this account." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the account." + }, + "owner": { + "type": "string", + "description": "Not specified if network account." + }, + "marketId": { + "type": "string", + "description": "Not specified if account is not related to a market." + } + } + }, + "vegaAccountType": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ], + "default": "ACCOUNT_TYPE_UNSPECIFIED", + "description": "- ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "title": "Various collateral/account types as used by Vega" + }, + "vegaAsset": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Internal identifier of the asset." + }, + "details": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Definition of the external source for this asset." + }, + "status": { + "$ref": "#/definitions/vegaAssetStatus", + "description": "Status of the asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetails": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the asset (e.g: Great British Pound)." + }, + "symbol": { + "type": "string", + "description": "Symbol of the asset (e.g: GBP)." + }, + "decimals": { + "type": "string", + "format": "uint64", + "description": "Number of decimal / precision handled by this asset." + }, + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "builtinAsset": { + "$ref": "#/definitions/vegaBuiltinAsset", + "description": "Vega built-in asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20", + "description": "Ethereum ERC20 asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetailsUpdate": { + "type": "object", + "properties": { + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Update", + "description": "Ethereum ERC20 asset update." + } + }, + "description": "Changes to apply on an existing asset." + }, + "vegaAssetStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PROPOSED", + "STATUS_REJECTED", + "STATUS_PENDING_LISTING", + "STATUS_ENABLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_PROPOSED: Asset is proposed and under vote\n - STATUS_REJECTED: Asset has been rejected from governance\n - STATUS_PENDING_LISTING: Asset is pending listing from the bridge\n - STATUS_ENABLED: Asset is fully usable in the network" + }, + "vegaAuctionDuration": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "format": "int64", + "description": "Duration of the auction in seconds." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Target uncrossing trading volume." + } + }, + "title": "Auction duration is used to configure 3 auction periods:\n1. `duration \u003e 0`, `volume == 0`:\n The auction will last for at least N seconds\n2. `duration == 0`, `volume \u003e 0`:\n The auction will end once the given volume will match at uncrossing\n3. `duration \u003e 0`, `volume \u003e 0`:\n The auction will take at least N seconds, but can end sooner if the market can trade a certain volume" + }, + "vegaAuctionTrigger": { + "type": "string", + "enum": [ + "AUCTION_TRIGGER_UNSPECIFIED", + "AUCTION_TRIGGER_BATCH", + "AUCTION_TRIGGER_OPENING", + "AUCTION_TRIGGER_PRICE", + "AUCTION_TRIGGER_LIQUIDITY", + "AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET", + "AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS", + "AUCTION_TRIGGER_GOVERNANCE_SUSPENSION" + ], + "default": "AUCTION_TRIGGER_UNSPECIFIED", + "description": "- AUCTION_TRIGGER_UNSPECIFIED: Default value for AuctionTrigger, no auction triggered\n - AUCTION_TRIGGER_BATCH: Batch auction\n - AUCTION_TRIGGER_OPENING: Opening auction\n - AUCTION_TRIGGER_PRICE: Price monitoring trigger\n - AUCTION_TRIGGER_LIQUIDITY: Deprecated\n - AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET: Liquidity auction due to not enough committed liquidity\n - AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS: Liquidity auction due to not being able to deploy LP orders because there's nothing to peg on one or both sides of the book\n - AUCTION_TRIGGER_GOVERNANCE_SUSPENSION: Market is suspended and put into auction via governance", + "title": "Auction triggers indicate what condition triggered an auction (if market is in auction mode)" + }, + "vegaBuiltinAsset": { + "type": "object", + "properties": { + "maxFaucetAmountMint": { + "type": "string", + "description": "Maximum amount that can be requested by a party through the built-in asset faucet at a time." + } + }, + "title": "Vega internal asset" + }, + "vegaCancelTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaCancelTransferConfiguration", + "title": "Configuration for cancellation of a governance-initiated transfer" + } + } + }, + "vegaCancelTransferConfiguration": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "ID of the governance transfer proposal." + } + } + }, + "vegaDataSourceDefinition": { + "type": "object", + "properties": { + "internal": { + "$ref": "#/definitions/vegaDataSourceDefinitionInternal" + }, + "external": { + "$ref": "#/definitions/vegaDataSourceDefinitionExternal" + } + }, + "description": "Represents the top level object that handles data sources.\nData source definition can be external or internal, with whatever\nnumber of data sources are defined for each type in the child objects below." + }, + "vegaDataSourceDefinitionExternal": { + "type": "object", + "properties": { + "oracle": { + "$ref": "#/definitions/vegaDataSourceSpecConfiguration" + }, + "ethOracle": { + "$ref": "#/definitions/vegaEthCallSpec", + "description": "Contains the data specification that is received from Ethereum sources." + } + }, + "description": "DataSourceDefinitionExternal is the top level object used for all external\ndata sources. It contains one of any of the defined `SourceType` variants." + }, + "vegaDataSourceDefinitionInternal": { + "type": "object", + "properties": { + "time": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTime" + }, + "timeTrigger": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTimeTrigger" + } + }, + "description": "Top level object used for all internal data sources.\nIt contains one of any of the defined source type variants." + }, + "vegaDataSourceSpec": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Hash generated from the DataSpec data." + }, + "createdAt": { + "type": "string", + "format": "int64", + "title": "Creation date and time" + }, + "updatedAt": { + "type": "string", + "format": "int64", + "title": "Last Updated timestamp" + }, + "data": { + "$ref": "#/definitions/vegaDataSourceDefinition" + }, + "status": { + "$ref": "#/definitions/vegaDataSourceSpecStatus", + "title": "Status describes the status of the data source spec" + } + }, + "description": "Data source spec describes the data source base that a product or a risk\nmodel wants to get from the data source engine. This message contains\nadditional information used by the API." + }, + "vegaDataSourceSpecConfiguration": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + }, + "description": "Signers is the list of authorized signatures that signed the data for this\nsource. All the signatures in the data source data should be contained in\nthis external source. All the signatures in the data should be contained in\nthis list." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "description": "Filters describes which source data are considered of interest or not for\nthe product (or the risk model)." + } + }, + "description": "All types of external data sources use the same configuration set for meeting\nrequirements in order for the data to be useful for Vega - valid signatures\nand matching filters." + }, + "vegaDataSourceSpecConfigurationTime": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps should meet in order to be considered." + } + }, + "description": "Internal data source used for emitting timestamps." + }, + "vegaDataSourceSpecConfigurationTimeTrigger": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps need to meet in order to be considered." + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1InternalTimeTrigger" + }, + "title": "An internal time trigger" + } + }, + "description": "Internal data source used for emitting timestamps automatically using predefined intervals and conditions." + }, + "vegaDataSourceSpecStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_DEACTIVATED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value.\n - STATUS_ACTIVE: STATUS_ACTIVE describes an active data source spec.\n - STATUS_DEACTIVATED: STATUS_DEACTIVATED describes a data source spec that is not listening to\ndata anymore.", + "title": "Status describe the status of the data source spec" + }, + "vegaDataSourceSpecToFutureBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the Future will use the value of\nthis property as settlement data." + }, + "tradingTerminationProperty": { + "type": "string", + "description": "Name of the property in the data source data that signals termination of trading." + } + }, + "title": "DataSourceSpecToFutureBinding describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDataSourceSpecToPerpetualBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + }, + "settlementScheduleProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + } + }, + "title": "Describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDelegation": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Party which is delegating." + }, + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Amount delegated. This field is an unsigned integer scaled to the asset's decimal places." + }, + "epochSeq": { + "type": "string", + "description": "Epoch of delegation." + } + } + }, + "vegaDeposit": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the deposit." + }, + "status": { + "$ref": "#/definitions/vegaDepositStatus", + "description": "Status of the deposit." + }, + "partyId": { + "type": "string", + "description": "Party ID of the user initiating the deposit." + }, + "asset": { + "type": "string", + "description": "Vega asset targeted by this deposit." + }, + "amount": { + "type": "string", + "description": "Amount to be deposited. This field is an unsigned integer scaled to the asset's decimal places." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction from the foreign chain." + }, + "creditedTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the Vega account was updated with the deposit." + }, + "createdTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the deposit was created on the Vega network." + } + }, + "title": "Deposit on to the Vega network" + }, + "vegaDepositStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_OPEN", + "STATUS_CANCELLED", + "STATUS_FINALIZED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_OPEN: Deposit is being processed by the network\n - STATUS_CANCELLED: Deposit has been cancelled by the network\n - STATUS_FINALIZED: Deposit has been finalised and accounts have been updated", + "title": "Status of the deposit" + }, + "vegaDispatchMetric": { + "type": "string", + "enum": [ + "DISPATCH_METRIC_UNSPECIFIED", + "DISPATCH_METRIC_MAKER_FEES_PAID", + "DISPATCH_METRIC_MAKER_FEES_RECEIVED", + "DISPATCH_METRIC_LP_FEES_RECEIVED", + "DISPATCH_METRIC_MARKET_VALUE" + ], + "default": "DISPATCH_METRIC_UNSPECIFIED", + "title": "- DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that is using the total maker fees paid in the market\n - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that is using the total maker fees received in the market\n - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that is using the total LP fees received in the market\n - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that is using total value of the market if above the required threshold and not paid given proposer bonus yet" + }, + "vegaDispatchStrategy": { + "type": "object", + "properties": { + "assetForMetric": { + "type": "string", + "description": "Asset to use for metric." + }, + "metric": { + "$ref": "#/definitions/vegaDispatchMetric", + "description": "Metric to apply." + }, + "markets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional markets in scope." + } + } + }, + "vegaERC20": { + "type": "object", + "properties": { + "contractAddress": { + "type": "string", + "description": "Address of the contract for the token, on the ethereum network." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + }, + "title": "ERC20 token based asset, living on the ethereum network" + }, + "vegaERC20Update": { + "type": "object", + "properties": { + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address.\nThis will be interpreted against the asset decimals.\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + } + }, + "vegaEpoch": { + "type": "object", + "properties": { + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence is used as epoch ID." + }, + "timestamps": { + "$ref": "#/definitions/vegaEpochTimestamps", + "description": "Timestamps for start/end etc." + }, + "validators": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNode" + }, + "description": "Validators that participated in this epoch." + }, + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDelegation" + }, + "description": "List of all delegations in epoch." + } + } + }, + "vegaEpochAction": { + "type": "string", + "enum": [ + "EPOCH_ACTION_UNSPECIFIED", + "EPOCH_ACTION_START", + "EPOCH_ACTION_END" + ], + "default": "EPOCH_ACTION_UNSPECIFIED", + "description": "- EPOCH_ACTION_START: Epoch update is for a new epoch.\n - EPOCH_ACTION_END: Epoch update is for the end of an epoch.", + "title": "What epoch action has occurred" + }, + "vegaEpochData": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int32", + "description": "Total number of epochs since node was created." + }, + "offline": { + "type": "integer", + "format": "int32", + "description": "Total number of offline epochs since node was created." + }, + "online": { + "type": "integer", + "format": "int32", + "description": "Total number of online epochs since node was created." + } + } + }, + "vegaEpochRewardSummary": { + "type": "object", + "properties": { + "epoch": { + "type": "string", + "format": "uint64", + "description": "Epoch in which the reward is being paid." + }, + "assetId": { + "type": "string", + "description": "Asset ID in which the reward is being paid." + }, + "marketId": { + "type": "string", + "description": "Market ID in which the reward is being paid." + }, + "rewardType": { + "type": "string", + "description": "Type of reward being paid." + }, + "amount": { + "type": "string", + "description": "Amount distributed. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Details for rewards for a combination of asset, market, and reward type in a given epoch" + }, + "vegaEpochTimestamps": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when epoch started." + }, + "expiryTime": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for the epoch's expiry." + }, + "endTime": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the epoch ended, empty if not ended." + }, + "firstBlock": { + "type": "string", + "format": "uint64", + "description": "Height of first block in the epoch." + }, + "lastBlock": { + "type": "string", + "format": "uint64", + "description": "Height of last block in the epoch, empty if not ended." + } + }, + "title": "Describes in both human readable and block time when an epoch spans" + }, + "vegaErc20WithdrawExt": { + "type": "object", + "properties": { + "receiverAddress": { + "type": "string", + "description": "Address into which the bridge will release the funds." + } + }, + "title": "Extension of data required for the withdraw submissions" + }, + "vegaEthCallSpec": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Ethereum address of the contract to call." + }, + "abi": { + "type": "string", + "description": "The ABI of that contract." + }, + "method": { + "type": "string", + "description": "Name of the method on the contract to call." + }, + "args": { + "type": "array", + "items": { + "type": "object" + }, + "description": "List of arguments to pass to method call.\nProtobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum\ntype according to the ABI." + }, + "trigger": { + "$ref": "#/definitions/vegaEthCallTrigger", + "description": "Conditions for determining when to call the contract method." + }, + "requiredConfirmations": { + "type": "string", + "format": "uint64", + "title": "Number of confirmations required before the query is considered verified" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "title": "Filters the data returned from the contract method" + }, + "normalisers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNormaliser" + }, + "description": "Normalisers are used to convert the data returned from the contract method\ninto a standard format. The key of the map is the name of the property,\nwhich identifies the specific piece of data to other parts of the data\nsourcing framework, for example filters. The value is a JSONPath expression\nfor expressing where in the contract call result the required data is\nlocated, for example $[0] indicates the first result. $[1].price would look\nin the second result returned from the contract for a structure with a key\ncalled 'price' and use that if it exists." + } + }, + "description": "Specifies a data source that derives its content from calling a read method\non an Ethereum contract." + }, + "vegaEthCallTrigger": { + "type": "object", + "properties": { + "timeTrigger": { + "$ref": "#/definitions/vegaEthTimeTrigger" + } + }, + "description": "Determines when the contract method should be called." + }, + "vegaEthTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "uint64", + "description": "Trigger when the Ethereum time is greater or equal to this time, in Unix\nseconds." + }, + "every": { + "type": "string", + "format": "uint64", + "description": "Repeat the call every n seconds after the initial call. If no time for\ninitial call was specified, begin repeating immediately." + }, + "until": { + "type": "string", + "format": "uint64", + "description": "If repeating, stop once Ethereum time is greater than this time, in Unix\nseconds. If not set, then repeat indefinitely." + } + }, + "description": "Trigger for an Ethereum call based on the Ethereum block timestamp. Can be\none-off or repeating." + }, + "vegaExternalDataSourceSpec": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/definitions/vegaDataSourceSpec" + } + } + }, + "vegaFee": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Fee amount paid to the non-aggressive party of the trade. This field is an unsigned integer scaled to the asset's decimal places." + }, + "infrastructureFee": { + "type": "string", + "description": "Fee amount paid for maintaining the Vega infrastructure. This field is an unsigned integer scaled using the asset's decimal places." + }, + "liquidityFee": { + "type": "string", + "description": "Fee amount paid to market makers. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents any fees paid by a party, resulting from a trade" + }, + "vegaFeeFactors": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Market maker fee charged network wide." + }, + "infrastructureFee": { + "type": "string", + "description": "Infrastructure fee charged network wide for staking and governance." + }, + "liquidityFee": { + "type": "string", + "description": "Liquidity fee applied per market for market making." + } + }, + "title": "Fee factors definition" + }, + "vegaFees": { + "type": "object", + "properties": { + "factors": { + "$ref": "#/definitions/vegaFeeFactors", + "description": "Fee factors." + } + }, + "title": "Fees definition" + }, + "vegaFuture": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the future." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the settlement data source filter." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the trading termination data source filter." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data spec and the data source." + } + }, + "title": "Future product definition" + }, + "vegaFutureProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The external data source spec describing the data source of trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaGovernanceData": { + "type": "object", + "properties": { + "proposal": { + "$ref": "#/definitions/vegaProposal", + "description": "Governance proposal that is being voted on." + }, + "yes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVote" + }, + "description": "All YES votes in favour of the proposal above." + }, + "no": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVote" + }, + "description": "All NO votes against the proposal above." + }, + "yesParty": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/vegaVote" + }, + "description": "All latest YES votes by party which is guaranteed to be unique,\nwhere key (string) is the party ID i.e. public key and\nvalue (Vote) is the vote cast by the given party." + }, + "noParty": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/vegaVote" + }, + "description": "All latest NO votes by party which is guaranteed to be unique,\nwhere key (string) is the party ID i.e. public key and\nvalue (Vote) is the vote cast by the given party." + } + }, + "title": "Governance data" + }, + "vegaGovernanceTransferType": { + "type": "string", + "enum": [ + "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED", + "GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING", + "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT" + ], + "default": "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED" + }, + "vegaIcebergOrder": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that will be made visible if the iceberg order is replenished after trading." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "If the visible size of the order falls below this value, it will be replenished back to the peak size using the reserved amount." + }, + "reservedRemaining": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is reserved and used to restore the iceberg's peak when it is refreshed." + } + }, + "title": "Details of an iceberg order" + }, + "vegaInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique instrument ID." + }, + "code": { + "type": "string", + "description": "Code for the instrument." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + }, + "metadata": { + "$ref": "#/definitions/vegaInstrumentMetadata", + "description": "Collection of instrument meta-data." + }, + "future": { + "$ref": "#/definitions/vegaFuture", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpot", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetual", + "description": "Perpetual." + } + }, + "title": "Instrument definition" + }, + "vegaInstrumentConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Instrument name." + }, + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaFutureProduct", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpotProduct", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaInstrumentMetadata": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of 0 or more tags." + } + }, + "title": "Instrument metadata definition" + }, + "vegaLedgerEntry": { + "type": "object", + "properties": { + "fromAccount": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "One or more accounts to transfer from." + }, + "toAccount": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "One or more accounts to transfer to." + }, + "amount": { + "type": "string", + "description": "Amount to transfer. This field is an unsigned integer scaled to the asset's decimal places." + }, + "type": { + "$ref": "#/definitions/vegaTransferType", + "description": "Transfer type for this entry." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in nanoseconds of when the ledger entry was created." + }, + "fromAccountBalance": { + "type": "string", + "description": "Sender account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places." + }, + "toAccountBalance": { + "type": "string", + "description": "Receiver account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents a ledger entry on Vega" + }, + "vegaLedgerMovement": { + "type": "object", + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerEntry" + }, + "description": "All the entries for these ledger movements." + }, + "balances": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPostTransferBalance" + }, + "description": "Resulting balances once the ledger movement are applied." + } + } + }, + "vegaLiquidityMonitoringParameters": { + "type": "object", + "properties": { + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "triggeringRatio": { + "type": "string", + "description": "Specifies the triggering ratio for entering liquidity auction." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction." + } + }, + "title": "LiquidityMonitoringParameters contains settings used for liquidity monitoring" + }, + "vegaLiquidityOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Pegged reference point for the order." + }, + "proportion": { + "type": "integer", + "format": "int64", + "description": "Relative proportion of the commitment to be allocated at a price level." + }, + "offset": { + "type": "string", + "description": "Offset/amount of units away for the order. This field is an unsigned integer scaled using the market's decimal places." + } + }, + "title": "Represents a liquidity order" + }, + "vegaLiquidityOrderReference": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID of the pegged order generated to fulfil this liquidity order." + }, + "liquidityOrder": { + "$ref": "#/definitions/vegaLiquidityOrder", + "description": "Liquidity order from the original submission." + } + }, + "title": "Pair of a liquidity order and the ID of the generated order" + }, + "vegaLiquidityProviderFeeShare": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Liquidity provider party ID." + }, + "equityLikeShare": { + "type": "string", + "description": "Share own by this liquidity provider." + }, + "averageEntryValuation": { + "type": "string", + "description": "Average entry valuation of the liquidity provider for the market." + }, + "averageScore": { + "type": "string", + "description": "Average liquidity score." + }, + "virtualStake": { + "type": "string", + "description": "The virtual stake of this liquidity provider." + } + }, + "title": "Equity like share of liquidity fee for each liquidity provider" + }, + "vegaLiquidityProvision": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the liquidity provision." + }, + "partyId": { + "type": "string", + "description": "Unique party ID for the creator of the provision." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was created." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was updated." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled to the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrderReference" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrderReference" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "version": { + "type": "string", + "format": "uint64", + "description": "Version of this liquidity provision order." + }, + "status": { + "$ref": "#/definitions/vegaLiquidityProvisionStatus", + "description": "Status of this liquidity provision order." + }, + "reference": { + "type": "string", + "description": "Reference shared between this liquidity provision and all its orders." + } + }, + "title": "Liquidity provider commitment" + }, + "vegaLiquidityProvisionStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_STOPPED", + "STATUS_CANCELLED", + "STATUS_REJECTED", + "STATUS_UNDEPLOYED", + "STATUS_PENDING" + ], + "default": "STATUS_UNSPECIFIED", + "description": "Status of a liquidity provision order.\n\n - STATUS_UNSPECIFIED: Always invalid\n - STATUS_ACTIVE: Liquidity provision is active\n - STATUS_STOPPED: Liquidity provision was stopped by the network\n - STATUS_CANCELLED: Liquidity provision was cancelled by the liquidity provider\n - STATUS_REJECTED: Liquidity provision was invalid and got rejected\n - STATUS_UNDEPLOYED: Liquidity provision is valid and accepted by network, but orders aren't deployed\n - STATUS_PENDING: Liquidity provision is valid and accepted by network\nbut has never been deployed. If when it's possible to deploy the orders for the first time\nmargin check fails, then they will be cancelled without any penalties." + }, + "vegaLiquiditySLAParameters": { + "type": "object", + "properties": { + "priceRange": { + "type": "string" + }, + "commitmentMinTimeFraction": { + "type": "string", + "description": "Specifies the minimum fraction of time LPs must spend \"on the book\" providing their committed liquidity." + }, + "providersFeeCalculationTimeStep": { + "type": "string", + "format": "int64", + "description": "Specifies how often the quality of liquidity supplied by the LPs is evaluated and fees arising from that period are earmarked for specific parties." + }, + "performanceHysteresisEpochs": { + "type": "string", + "format": "uint64", + "description": "Specifies the number of liquidity epochs over which past performance will continue to affect rewards." + }, + "slaCompetitionFactor": { + "type": "string", + "description": "Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers\nthat achieved a higher SLA performance than them." + } + } + }, + "vegaLogNormalModelParams": { + "type": "object", + "properties": { + "mu": { + "type": "number", + "format": "double", + "description": "Mu parameter, annualised growth rate of the underlying asset." + }, + "r": { + "type": "number", + "format": "double", + "description": "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number." + }, + "sigma": { + "type": "number", + "format": "double", + "description": "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number." + } + }, + "title": "Risk model parameters for log normal" + }, + "vegaLogNormalRiskModel": { + "type": "object", + "properties": { + "riskAversionParameter": { + "type": "number", + "format": "double", + "description": "Risk Aversion Parameter." + }, + "tau": { + "type": "number", + "format": "double", + "description": "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall\ncalculation to obtain the maintenance margin, must be a strictly non-negative real number." + }, + "params": { + "$ref": "#/definitions/vegaLogNormalModelParams", + "description": "Risk model parameters for log normal." + } + }, + "title": "Risk model for log normal" + }, + "vegaMarginCalculator": { + "type": "object", + "properties": { + "scalingFactors": { + "$ref": "#/definitions/vegaScalingFactors", + "description": "Scaling factors for margin calculation." + } + }, + "title": "Margin Calculator definition" + }, + "vegaMarginLevels": { + "type": "object", + "properties": { + "maintenanceMargin": { + "type": "string", + "description": "Maintenance margin value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "searchLevel": { + "type": "string", + "description": "Margin search level value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "initialMargin": { + "type": "string", + "description": "Initial margin value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "collateralReleaseLevel": { + "type": "string", + "description": "Collateral release level value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "partyId": { + "type": "string", + "description": "Party ID for whom the margin levels apply." + }, + "marketId": { + "type": "string", + "description": "Market ID for which the margin levels apply." + }, + "asset": { + "type": "string", + "description": "Asset ID for which the margin levels apply." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the ledger entry was created." + } + }, + "title": "Represents the margin levels for a party on a market at a given time" + }, + "vegaMarket": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the market." + }, + "tradableInstrument": { + "$ref": "#/definitions/vegaTradableInstrument", + "description": "Tradable instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Number of decimal places that a price must be shifted by in order to get a\ncorrect price denominated in the currency of the market, for example:\n`realPrice = price / 10^decimalPlaces`." + }, + "fees": { + "$ref": "#/definitions/vegaFees", + "description": "Fees configuration that apply to the market." + }, + "openingAuction": { + "$ref": "#/definitions/vegaAuctionDuration", + "description": "Auction duration specifies how long the opening auction will run (minimum\nduration and optionally a minimum traded volume)." + }, + "priceMonitoringSettings": { + "$ref": "#/definitions/vegaPriceMonitoringSettings", + "description": "PriceMonitoringSettings for the market." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "LiquidityMonitoringParameters for the market." + }, + "tradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current mode of execution of the market." + }, + "state": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "marketTimestamps": { + "$ref": "#/definitions/vegaMarketTimestamps", + "description": "Timestamps for when the market state changes." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "The number of decimal places for a position." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "parentMarketId": { + "type": "string", + "title": "ID of the market this market succeeds" + }, + "insurancePoolFraction": { + "type": "string", + "description": "The fraction of the parent market's insurance pool that this market inherits; range 0 through 1." + }, + "successorMarketId": { + "type": "string", + "description": "ID of the market that succeeds this market if it exists. This will be populated by the system when the successor market is enabled." + }, + "liquiditySlaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Liquidity SLA parameters for the market." + } + }, + "title": "Market definition" + }, + "vegaMarketData": { + "type": "object", + "properties": { + "markPrice": { + "type": "string", + "description": "Mark price, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidPrice": { + "type": "string", + "description": "Highest price level on an order book for buy orders, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being bid at the best bid price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestOfferPrice": { + "type": "string", + "description": "Lowest price level on an order book for offer orders. This field is an unsigned integer scaled to the market's decimal places." + }, + "bestOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being offered at the best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestStaticBidPrice": { + "type": "string", + "description": "Highest price on the order book for buy orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticBidVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static bid price excluding pegged orders." + }, + "bestStaticOfferPrice": { + "type": "string", + "description": "Lowest price on the order book for sell orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static offer price, excluding pegged orders." + }, + "midPrice": { + "type": "string", + "description": "Arithmetic average of the best bid price and best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "staticMidPrice": { + "type": "string", + "description": "Arithmetic average of the best static bid price and best static offer price.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "market": { + "type": "string", + "title": "Market ID for the data" + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which this mark price was relevant." + }, + "openInterest": { + "type": "string", + "format": "uint64", + "description": "Sum of the size of all positions greater than zero on the market." + }, + "auctionEnd": { + "type": "string", + "format": "int64", + "description": "Time in seconds until the end of the auction (zero if currently not in auction period)." + }, + "auctionStart": { + "type": "string", + "format": "int64", + "description": "Time until next auction, or start time of the current auction if market is in auction period." + }, + "indicativePrice": { + "type": "string", + "description": "Indicative price (zero if not in auction). This field is an unsigned scaled to the market's decimal places." + }, + "indicativeVolume": { + "type": "string", + "format": "uint64", + "description": "Indicative volume (zero if not in auction)." + }, + "marketTradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current trading mode for the market." + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market is in an auction trading mode, this field indicates what triggered the auction." + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market auction is extended, this field indicates what caused the extension." + }, + "targetStake": { + "type": "string", + "description": "Targeted stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "suppliedStake": { + "type": "string", + "description": "Available stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "priceMonitoringBounds": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringBounds" + }, + "description": "One or more price monitoring bounds for the current timestamp." + }, + "marketValueProxy": { + "type": "string", + "description": "Market value proxy." + }, + "liquidityProviderFeeShare": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProviderFeeShare" + }, + "description": "Equity like share of liquidity fee for each liquidity provider." + }, + "marketState": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "nextMarkToMarket": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the next mark-to-market calculation will occur." + }, + "lastTradedPrice": { + "type": "string", + "description": "Last traded price of the market. This field is an unsigned integer scaled to the market's decimal places." + }, + "marketGrowth": { + "type": "string", + "description": "Market growth at the last market time window." + } + }, + "title": "Represents data generated by a market when open" + }, + "vegaMarketDepth": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for which the depth levels apply." + }, + "buy": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Collection of price levels for the buy side of the book." + }, + "sell": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Collection of price levels for the sell side of the book." + }, + "sequenceNumber": { + "type": "string", + "format": "uint64", + "description": "Sequence number for the market depth data returned." + } + }, + "title": "Represents market depth or order book data for the specified market on Vega" + }, + "vegaMarketDepthUpdate": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for which the market depth updates are for." + }, + "buy": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Collection of updated price levels for the buy side of the book." + }, + "sell": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Collection of updated price levels for the sell side of the book." + }, + "sequenceNumber": { + "type": "string", + "format": "uint64", + "description": "Sequence number for the market depth update data returned. It is increasing but not monotonic." + }, + "previousSequenceNumber": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the previous market depth update, for checking there are no gaps." + } + }, + "title": "Represents the changed market depth since the last update" + }, + "vegaMarketState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_PROPOSED", + "STATE_REJECTED", + "STATE_PENDING", + "STATE_CANCELLED", + "STATE_ACTIVE", + "STATE_SUSPENDED", + "STATE_CLOSED", + "STATE_TRADING_TERMINATED", + "STATE_SETTLED", + "STATE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, invalid\n - STATE_PROPOSED: Governance proposal valid and accepted\n - STATE_REJECTED: Outcome of governance votes is to reject the market\n - STATE_PENDING: Governance vote passes/wins\n - STATE_CANCELLED: Market triggers cancellation condition or governance\nvotes to close before market becomes Active\n - STATE_ACTIVE: Enactment date reached and usual auction exit checks pass\n - STATE_SUSPENDED: Price monitoring or liquidity monitoring trigger\n - STATE_CLOSED: Governance vote to close (Not currently implemented)\n - STATE_TRADING_TERMINATED: Defined by the product (i.e. from a product parameter,\nspecified in market definition, giving close date/time)\n - STATE_SETTLED: Settlement triggered and completed as defined by product\n - STATE_SUSPENDED_VIA_GOVERNANCE: Market has been suspended via governance", + "title": "Current state of the market" + }, + "vegaMarketStateUpdateType": { + "type": "string", + "enum": [ + "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "MARKET_STATE_UPDATE_TYPE_TERMINATE", + "MARKET_STATE_UPDATE_TYPE_SUSPEND", + "MARKET_STATE_UPDATE_TYPE_RESUME" + ], + "default": "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "title": "- MARKET_STATE_UPDATE_TYPE_UNSPECIFIED: Default value, always invalid\n - MARKET_STATE_UPDATE_TYPE_TERMINATE: Request to terminate a market via governance\n - MARKET_STATE_UPDATE_TYPE_SUSPEND: Request to suspend a market via governance\n - MARKET_STATE_UPDATE_TYPE_RESUME: Request to resume a market via governance" + }, + "vegaMarketTimestamps": { + "type": "object", + "properties": { + "proposed": { + "type": "string", + "format": "int64", + "description": "Time when the market is first proposed." + }, + "pending": { + "type": "string", + "format": "int64", + "description": "Time when the market has been voted in and began its opening auction." + }, + "open": { + "type": "string", + "format": "int64", + "description": "Time when the market has left the opening auction and is ready to accept trades." + }, + "close": { + "type": "string", + "format": "int64", + "description": "Time when the market closed." + } + }, + "title": "Time stamps for important times about creating, enacting etc the market" + }, + "vegaNetworkLimits": { + "type": "object", + "properties": { + "canProposeMarket": { + "type": "boolean", + "description": "Are market proposals allowed at this point in time." + }, + "canProposeAsset": { + "type": "boolean", + "description": "Are asset proposals allowed at this point in time." + }, + "proposeMarketEnabled": { + "type": "boolean", + "description": "Are market proposals enabled on this chain." + }, + "proposeAssetEnabled": { + "type": "boolean", + "description": "Are asset proposals enabled on this chain." + }, + "genesisLoaded": { + "type": "boolean", + "description": "True once the genesis file is loaded." + }, + "proposeMarketEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which market proposals will be enabled (0 indicates not set)." + }, + "proposeAssetEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which asset proposals will be enabled (0 indicates not set)." + }, + "canProposeSpotMarket": { + "type": "boolean", + "description": "Are spot market proposals allowed at this point in time." + }, + "canProposePerpetualMarket": { + "type": "boolean", + "description": "Are perpetual market proposals allowed at this point in time." + } + }, + "title": "Network limits, defined in the genesis file" + }, + "vegaNetworkParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Unique key of the network parameter." + }, + "value": { + "type": "string", + "description": "Value for the network parameter." + } + }, + "title": "Represents a network parameter on Vega" + }, + "vegaNewAsset": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Configuration of the new asset." + } + }, + "title": "New asset on Vega" + }, + "vegaNewFreeform": { + "type": "object", + "description": "Freeform proposal\nThis message is just used as a placeholder to sort out the nature of the\nproposal once parsed." + }, + "vegaNewMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewMarketConfiguration", + "description": "Configuration of the new market." + } + }, + "title": "New market on Vega" + }, + "vegaNewMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New futures market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new futures market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the futures market can be." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "successor": { + "$ref": "#/definitions/vegaSuccessorConfiguration", + "description": "Successor configuration. If this proposal is meant to succeed a given market, then this should be set." + } + }, + "title": "Configuration for a new futures market on Vega" + }, + "vegaNewSpotMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewSpotMarketConfiguration", + "description": "Configuration of the new spot market." + } + }, + "title": "New spot market on Vega" + }, + "vegaNewSpotMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New spot market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new spot market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the spot market can be." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration for a new spot market on Vega" + }, + "vegaNewTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewTransferConfiguration", + "description": "Configuration for a new transfer." + } + }, + "title": "New governance transfer" + }, + "vegaNewTransferConfiguration": { + "type": "object", + "properties": { + "sourceType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Source account type, such as network treasury, market insurance pool" + }, + "source": { + "type": "string", + "title": "If network treasury, field is empty, otherwise uses the market ID" + }, + "transferType": { + "$ref": "#/definitions/vegaGovernanceTransferType", + "title": "\"All or nothing\" or \"best effort\":\nAll or nothing: Transfers the specified amount or does not transfer anything\nBest effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount" + }, + "amount": { + "type": "string", + "title": "Maximum amount to transfer" + }, + "asset": { + "type": "string", + "title": "ID of asset to transfer" + }, + "fractionOfBalance": { + "type": "string", + "title": "Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance" + }, + "destinationType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool" + }, + "destination": { + "type": "string", + "title": "Specifies the account to transfer to, depending on the account type:\nNetwork treasury: leave empty\nParty: party's public key\nMarket insurance pool: market ID" + }, + "oneOff": { + "$ref": "#/definitions/vegaOneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaRecurringTransfer" + } + } + }, + "vegaNode": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Node ID i.e. the node's wallet ID." + }, + "pubKey": { + "type": "string", + "description": "Public key of the node operator." + }, + "tmPubKey": { + "type": "string", + "description": "Public key of Tendermint." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key of the node." + }, + "infoUrl": { + "type": "string", + "description": "URL where users can find out more information on the node." + }, + "location": { + "type": "string", + "description": "Country code for the location of the node." + }, + "stakedByOperator": { + "type": "string", + "description": "Amount the node operator has put up themselves. This field is an unsigned integer scaled to the asset's decimal places." + }, + "stakedByDelegates": { + "type": "string", + "description": "Amount of stake that has been delegated by token holders. This field is an unsigned integer scaled to the asset's decimal places." + }, + "stakedTotal": { + "type": "string", + "description": "Total amount staked on node. This field is an unsigned integer scaled to the asset's decimal places." + }, + "maxIntendedStake": { + "type": "string", + "description": "Max amount of (wanted) stake. This field is an unsigned integer scaled to the asset's decimal places." + }, + "pendingStake": { + "type": "string", + "description": "Amount of stake on the next epoch. This field is an unsigned integer scaled to the asset's decimal places." + }, + "epochData": { + "$ref": "#/definitions/vegaEpochData", + "description": "Information about epoch." + }, + "status": { + "$ref": "#/definitions/vegaNodeStatus", + "description": "Node status." + }, + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDelegation" + }, + "description": "Node's delegations." + }, + "rewardScore": { + "$ref": "#/definitions/vegaRewardScore", + "description": "Node reward score." + }, + "rankingScore": { + "$ref": "#/definitions/vegaRankingScore", + "description": "Node ranking information." + }, + "name": { + "type": "string", + "description": "Node name." + }, + "avatarUrl": { + "type": "string", + "description": "Avatar url." + } + } + }, + "vegaNodeData": { + "type": "object", + "properties": { + "stakedTotal": { + "type": "string", + "description": "Total staked amount across all nodes. This field is an unsigned integer scaled to the asset's decimal places." + }, + "totalNodes": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes across all node sets." + }, + "inactiveNodes": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes that had a performance score of 0 at the end of the last epoch." + }, + "tendermintNodes": { + "$ref": "#/definitions/vegaNodeSet", + "description": "Details on the set of consensus nodes in the network." + }, + "ersatzNodes": { + "$ref": "#/definitions/vegaNodeSet", + "description": "Details on the set of ersatz (standby) nodes in the network." + }, + "pendingNodes": { + "$ref": "#/definitions/vegaNodeSet", + "description": "Details on the set of pending nodes in the network." + }, + "uptime": { + "type": "number", + "format": "float", + "description": "Total uptime for all epochs across all nodes." + } + } + }, + "vegaNodeSet": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes in the node set." + }, + "inactive": { + "type": "integer", + "format": "int64", + "description": "Number of nodes in the node set that had a performance score of 0 at the end of the last epoch." + }, + "promoted": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IDs of nodes that were promoted into this node set at the start of the epoch." + }, + "demoted": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IDs of nodes that were demoted into this node set at the start of the epoch." + }, + "maximum": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes allowed in the node set." + } + }, + "title": "Details on the collection of nodes for a particular validator status" + }, + "vegaNodeStatus": { + "type": "string", + "enum": [ + "NODE_STATUS_UNSPECIFIED", + "NODE_STATUS_VALIDATOR", + "NODE_STATUS_NON_VALIDATOR" + ], + "default": "NODE_STATUS_UNSPECIFIED", + "description": "- NODE_STATUS_VALIDATOR: Node is a validating node\n - NODE_STATUS_NON_VALIDATOR: Node is a non-validating node", + "title": "Node status type" + }, + "vegaNormaliser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "expression": { + "type": "string" + } + } + }, + "vegaOneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegaOracleData": { + "type": "object", + "properties": { + "externalData": { + "$ref": "#/definitions/v1ExternalData" + } + } + }, + "vegaOracleSpec": { + "type": "object", + "properties": { + "externalDataSourceSpec": { + "$ref": "#/definitions/vegaExternalDataSourceSpec" + } + }, + "title": "Oracle spec contains an embedded external data source spec.\nIt will be generated by the compiler as: OracleSpec_ExternalDataSourceSpec_*" + }, + "vegaOrder": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID generated for the order." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "partyId": { + "type": "string", + "description": "Party ID for the order." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of contracts." + }, + "remaining": { + "type": "string", + "format": "uint64", + "description": "Size remaining, when this reaches 0 then the order is fully filled and status becomes STATUS_FILLED." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "title": "Time in force indicates how long an order will remain active before it is executed or expires.\n- See OrderTimeInForce" + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the order was created at, in nanoseconds." + }, + "status": { + "$ref": "#/definitions/vegaOrderStatus", + "description": "Current status of the order." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire." + }, + "reference": { + "type": "string", + "description": "Reference given for the order." + }, + "reason": { + "$ref": "#/definitions/vegaOrderError", + "description": "Futher details for why an order with status `STATUS_REJECTED` was rejected." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was last updated." + }, + "version": { + "type": "string", + "format": "uint64", + "description": "Version for the order, initial value is version 1 and is incremented after each successful amend." + }, + "batchId": { + "type": "string", + "format": "uint64", + "description": "Batch ID for the order, used internally for orders submitted during auctions\nto keep track of the auction batch this order falls under. Required for fees calculation." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Pegged order details, used only if the order represents a pegged order." + }, + "liquidityProvisionId": { + "type": "string", + "description": "Set if the order was created as part of a liquidity provision, will be empty if not." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOrder": { + "$ref": "#/definitions/vegaIcebergOrder", + "title": "Details of an iceberg order" + } + }, + "title": "Orders can be submitted, amended and cancelled on Vega in an attempt to make trades with other parties" + }, + "vegaOrderError": { + "type": "string", + "enum": [ + "ORDER_ERROR_UNSPECIFIED", + "ORDER_ERROR_INVALID_MARKET_ID", + "ORDER_ERROR_INVALID_ORDER_ID", + "ORDER_ERROR_OUT_OF_SEQUENCE", + "ORDER_ERROR_INVALID_REMAINING_SIZE", + "ORDER_ERROR_TIME_FAILURE", + "ORDER_ERROR_REMOVAL_FAILURE", + "ORDER_ERROR_INVALID_EXPIRATION_DATETIME", + "ORDER_ERROR_INVALID_ORDER_REFERENCE", + "ORDER_ERROR_EDIT_NOT_ALLOWED", + "ORDER_ERROR_AMEND_FAILURE", + "ORDER_ERROR_NOT_FOUND", + "ORDER_ERROR_INVALID_PARTY_ID", + "ORDER_ERROR_MARKET_CLOSED", + "ORDER_ERROR_MARGIN_CHECK_FAILED", + "ORDER_ERROR_MISSING_GENERAL_ACCOUNT", + "ORDER_ERROR_INTERNAL_ERROR", + "ORDER_ERROR_INVALID_SIZE", + "ORDER_ERROR_INVALID_PERSISTENCE", + "ORDER_ERROR_INVALID_TYPE", + "ORDER_ERROR_SELF_TRADING", + "ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES", + "ORDER_ERROR_INCORRECT_MARKET_TYPE", + "ORDER_ERROR_INVALID_TIME_IN_FORCE", + "ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION", + "ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING", + "ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT", + "ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT", + "ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT", + "ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC", + "ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN", + "ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN", + "ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION", + "ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION", + "ORDER_ERROR_MUST_BE_LIMIT_ORDER", + "ORDER_ERROR_MUST_BE_GTT_OR_GTC", + "ORDER_ERROR_WITHOUT_REFERENCE_PRICE", + "ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE", + "ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO", + "ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE", + "ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO", + "ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE", + "ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER", + "ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER", + "ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER", + "ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS", + "ORDER_ERROR_TOO_MANY_PEGGED_ORDERS", + "ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE", + "ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION" + ], + "default": "ORDER_ERROR_UNSPECIFIED", + "description": "- ORDER_ERROR_UNSPECIFIED: Default value, no error reported\n - ORDER_ERROR_INVALID_MARKET_ID: Order was submitted for a market that does not exist\n - ORDER_ERROR_INVALID_ORDER_ID: Order was submitted with an invalid ID\n - ORDER_ERROR_OUT_OF_SEQUENCE: Order was amended with a sequence number that was not previous version + 1\n - ORDER_ERROR_INVALID_REMAINING_SIZE: Order was amended with an invalid remaining size (e.g. remaining greater than total size)\n - ORDER_ERROR_TIME_FAILURE: Node was unable to get Vega (blockchain) time\n - ORDER_ERROR_REMOVAL_FAILURE: Failed to remove an order from the book\n - ORDER_ERROR_INVALID_EXPIRATION_DATETIME: Order with `TimeInForce.TIME_IN_FORCE_GTT` was submitted or amended\nwith an expiration that was badly formatted or otherwise invalid\n - ORDER_ERROR_INVALID_ORDER_REFERENCE: Order was submitted or amended with an invalid reference field\n - ORDER_ERROR_EDIT_NOT_ALLOWED: Order amend was submitted for an order field that cannot not be amended (e.g. order ID)\n - ORDER_ERROR_AMEND_FAILURE: Amend failure because amend details do not match original order\n - ORDER_ERROR_NOT_FOUND: Order not found in an order book or store\n - ORDER_ERROR_INVALID_PARTY_ID: Order was submitted with an invalid or missing party ID\n - ORDER_ERROR_MARKET_CLOSED: Order was submitted for a market that has closed\n - ORDER_ERROR_MARGIN_CHECK_FAILED: Order was submitted, but the party did not have enough collateral to cover the order\n - ORDER_ERROR_MISSING_GENERAL_ACCOUNT: Order was submitted, but the party did not have an account for this asset\n - ORDER_ERROR_INTERNAL_ERROR: Unspecified internal error\n - ORDER_ERROR_INVALID_SIZE: Order was submitted with an invalid or missing size (e.g. 0)\n - ORDER_ERROR_INVALID_PERSISTENCE: Order was submitted with an invalid persistence for its type\n - ORDER_ERROR_INVALID_TYPE: Order was submitted with an invalid type field\n - ORDER_ERROR_SELF_TRADING: Order was stopped as it would have traded with another order submitted from the same party\n - ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES: Order was submitted, but the party did not have enough collateral to cover the fees for the order\n - ORDER_ERROR_INCORRECT_MARKET_TYPE: Order was submitted with an incorrect or invalid market type\n - ORDER_ERROR_INVALID_TIME_IN_FORCE: Order was submitted with invalid time in force\n - ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION: Good For Normal order has reached the market when it is in auction mode\n - ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING: Good For Auction order has reached the market when it is in continuous trading mode\n - ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT: Attempt to amend order to GTT without ExpiryAt\n - ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT: Attempt to amend ExpiryAt to a value before CreatedAt\n - ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT: Attempt to amend to GTC without an ExpiryAt value\n - ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC: Amending to FOK or IOC is invalid\n - ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN: Amending to GFA or GFN is invalid\n - ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN: Amending from GFA or GFN is invalid\n - ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION: IOC orders are not allowed during auction\n - ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION: FOK orders are not allowed during auction\n - ORDER_ERROR_MUST_BE_LIMIT_ORDER: Pegged orders must be LIMIT orders\n - ORDER_ERROR_MUST_BE_GTT_OR_GTC: Pegged orders can only have TIF GTC or GTT\n - ORDER_ERROR_WITHOUT_REFERENCE_PRICE: Pegged order must have a reference price\n - ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE: Buy pegged order cannot reference best ask price\n - ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO: Pegged order offset must be \u003e= 0\n - ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE: Sell pegged order cannot reference best bid price\n - ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO: Pegged order offset must be \u003e zero\n - ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE: Party has an insufficient balance, or does not have\na general account to submit the order (no deposits made\nfor the required asset)\n - ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER: Cannot amend details of a non pegged details\n - ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER: Could not re-price a pegged order because a market price is unavailable\n - ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER: It is not possible to amend the price of an existing pegged order\n - ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS: FOK, IOC, or GFN order was rejected because it resulted in trades outside the price bounds\n - ORDER_ERROR_TOO_MANY_PEGGED_ORDERS: Unable to submit pegged order, temporarily too many pegged orders across all markets\n - ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE: Post order would trade\n - ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION: Post order would trade", + "title": "OrderError codes are returned in the Order.reason field - If there is an issue\nwith an order during its life-cycle, it will be marked with `status.ORDER_STATUS_REJECTED`" + }, + "vegaOrderStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_EXPIRED", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_FILLED", + "STATUS_REJECTED", + "STATUS_PARTIALLY_FILLED", + "STATUS_PARKED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_ACTIVE: Used for active unfilled or partially filled orders\n - STATUS_EXPIRED: Used for expired GTT orders\n - STATUS_CANCELLED: Used for orders cancelled by the party that created the order\n - STATUS_STOPPED: Used for unfilled FOK or IOC orders, and for orders that were stopped by the network\n - STATUS_FILLED: Used for closed fully filled orders\n - STATUS_REJECTED: Used for orders when not enough collateral was available to fill the margin requirements\n - STATUS_PARTIALLY_FILLED: Used for closed partially filled IOC orders\n - STATUS_PARKED: Order has been removed from the order book and has been parked,\nthis applies to pegged orders and liquidity orders (orders created from a liquidity provision shape)", + "title": "Status values for an order" + }, + "vegaOrderType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LIMIT", + "TYPE_MARKET", + "TYPE_NETWORK" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_LIMIT: Used for Limit orders\n - TYPE_MARKET: Used for Market orders\n - TYPE_NETWORK: Used for orders where the initiating party is the network (with distressed parties)", + "title": "Type values for an order" + }, + "vegaParty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the party, typically represented by a public key." + } + }, + "title": "Party represents an entity who wishes to trade on or query a Vega network" + }, + "vegaPeggedOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Price point the order is linked to." + }, + "offset": { + "type": "string", + "description": "Offset from the price reference." + } + }, + "title": "Pegged orders are limit orders where the price is specified in the form REFERENCE +/- OFFSET\nThey can be used for any limit order that is valid during continuous trading" + }, + "vegaPeggedReference": { + "type": "string", + "enum": [ + "PEGGED_REFERENCE_UNSPECIFIED", + "PEGGED_REFERENCE_MID", + "PEGGED_REFERENCE_BEST_BID", + "PEGGED_REFERENCE_BEST_ASK" + ], + "default": "PEGGED_REFERENCE_UNSPECIFIED", + "description": "- PEGGED_REFERENCE_UNSPECIFIED: Default value for PeggedReference, no reference given\n - PEGGED_REFERENCE_MID: Mid price reference\n - PEGGED_REFERENCE_BEST_BID: Best bid price reference\n - PEGGED_REFERENCE_BEST_ASK: Best ask price reference", + "title": "Pegged reference defines which price point a pegged order is linked to - meaning\nthe price for a pegged order is calculated from the value of the reference price point" + }, + "vegaPerpetual": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the perpetual." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product definition" + }, + "vegaPerpetualProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaPosition": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID in which the position is held." + }, + "partyId": { + "type": "string", + "description": "Party ID holding the position." + }, + "openVolume": { + "type": "string", + "format": "int64", + "description": "Open volume for the position, value is signed +ve for long and -ve for short." + }, + "realisedPnl": { + "type": "string", + "description": "Realised profit and loss for the position, value is signed +ve for long and -ve for short.\nThis field is a signed integer scaled to the market's decimal places." + }, + "unrealisedPnl": { + "type": "string", + "description": "Unrealised profit and loss for the position, value is signed +ve for long and -ve for short.\nThis field is a signed integer scaled to the market's decimal places." + }, + "averageEntryPrice": { + "type": "string", + "description": "Average entry price for the position, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp for the latest time the position was updated." + }, + "lossSocialisationAmount": { + "type": "string", + "description": "Sum of profit that could not be paid due to loss socialisation." + }, + "positionStatus": { + "$ref": "#/definitions/vegaPositionStatus", + "description": "Position status, indicating whether the party was distressed and had orders cancelled or was closed out." + } + }, + "title": "Represents position data for a party on the specified market on Vega" + }, + "vegaPositionStatus": { + "type": "string", + "enum": [ + "POSITION_STATUS_UNSPECIFIED", + "POSITION_STATUS_ORDERS_CLOSED", + "POSITION_STATUS_CLOSED_OUT", + "POSITION_STATUS_DISTRESSED" + ], + "default": "POSITION_STATUS_UNSPECIFIED", + "title": "Represents the status of a position" + }, + "vegaPostTransferBalance": { + "type": "object", + "properties": { + "account": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "Account relating to the transfer." + }, + "balance": { + "type": "string", + "description": "Balance relating to the transfer. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents the balance for an account during a transfer" + }, + "vegaPriceLevel": { + "type": "object", + "properties": { + "price": { + "type": "string", + "description": "Price for the price level, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places. This field\nis an unsigned integer passed as a string and needs to be scaled using the market's decimal places." + }, + "numberOfOrders": { + "type": "string", + "format": "uint64", + "description": "Number of orders at the price level." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Volume at the price level." + } + }, + "title": "Represents a price level from market depth or order book data" + }, + "vegaPriceMonitoringBounds": { + "type": "object", + "properties": { + "minValidPrice": { + "type": "string", + "description": "Minimum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "maxValidPrice": { + "type": "string", + "description": "Maximum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "trigger": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger", + "description": "Price monitoring trigger associated with the bounds." + }, + "referencePrice": { + "type": "string", + "description": "Reference price used to calculate the valid price range. This field is an unsigned integer scaled to the market's decimal places." + } + }, + "title": "Represents a list of valid (at the current timestamp) price ranges per associated trigger" + }, + "vegaPriceMonitoringParameters": { + "type": "object", + "properties": { + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger" + } + } + }, + "title": "PriceMonitoringParameters contains a collection of triggers to be used for a given market" + }, + "vegaPriceMonitoringSettings": { + "type": "object", + "properties": { + "parameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Specifies price monitoring parameters to be used for price monitoring purposes." + } + }, + "title": "PriceMonitoringSettings contains the settings for price monitoring" + }, + "vegaPriceMonitoringTrigger": { + "type": "object", + "properties": { + "horizon": { + "type": "string", + "format": "int64", + "description": "Price monitoring projection horizon τ in seconds." + }, + "probability": { + "type": "string", + "description": "Price monitoring probability level p." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Price monitoring auction extension duration in seconds should the price\nbreach its theoretical level over the specified horizon at the specified\nprobability level." + } + }, + "title": "PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration" + }, + "vegaProposal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique proposal ID." + }, + "reference": { + "type": "string", + "description": "Proposal reference." + }, + "partyId": { + "type": "string", + "description": "Party ID i.e. public key of the party submitting the proposal." + }, + "state": { + "$ref": "#/definitions/vegaProposalState", + "description": "Current state of the proposal, i.e. open, passed, failed etc." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Proposal timestamp for date and time as Unix time in nanoseconds when proposal was submitted to the network." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "reason": { + "$ref": "#/definitions/vegaProposalError", + "description": "Reason for the current state of the proposal, this may be set in case of REJECTED and FAILED statuses." + }, + "errorDetails": { + "type": "string", + "description": "Detailed error associated to the reason." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + }, + "requiredParticipation": { + "type": "string", + "description": "Required vote participation for this proposal." + }, + "requiredMajority": { + "type": "string", + "description": "Required majority for this proposal." + }, + "requiredLiquidityProviderParticipation": { + "type": "string", + "description": "Required participation from liquidity providers, optional but is required for market update proposal." + }, + "requiredLiquidityProviderMajority": { + "type": "string", + "description": "Required majority from liquidity providers, optional but is required for market update proposal." + } + }, + "title": "Governance proposal" + }, + "vegaProposalError": { + "type": "string", + "enum": [ + "PROPOSAL_ERROR_UNSPECIFIED", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE", + "PROPOSAL_ERROR_ENACT_TIME_TOO_SOON", + "PROPOSAL_ERROR_ENACT_TIME_TOO_LATE", + "PROPOSAL_ERROR_INSUFFICIENT_TOKENS", + "PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY", + "PROPOSAL_ERROR_NO_PRODUCT", + "PROPOSAL_ERROR_UNSUPPORTED_PRODUCT", + "PROPOSAL_ERROR_NO_TRADING_MODE", + "PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE", + "PROPOSAL_ERROR_NODE_VALIDATION_FAILED", + "PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD", + "PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS", + "PROPOSAL_ERROR_INVALID_ASSET", + "PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS", + "PROPOSAL_ERROR_NO_RISK_PARAMETERS", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE", + "PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE", + "PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET", + "PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT", + "PROPOSAL_ERROR_INVALID_RISK_PARAMETER", + "PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_INVALID_ASSET_DETAILS", + "PROPOSAL_ERROR_UNKNOWN_TYPE", + "PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE", + "PROPOSAL_ERROR_INVALID_FREEFORM", + "PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE", + "PROPOSAL_ERROR_INVALID_MARKET", + "PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES", + "PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS", + "PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE", + "PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_INVALID_SPOT", + "PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED", + "PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE", + "PROPOSAL_ERROR_INVALID_SLA_PARAMS", + "PROPOSAL_ERROR_MISSING_SLA_PARAMS", + "PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT" + ], + "default": "PROPOSAL_ERROR_UNSPECIFIED", + "description": "- PROPOSAL_ERROR_UNSPECIFIED: Default value\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON: Specified close time is too early based on network parameters\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE: Specified close time is too late based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_SOON: Specified enactment time is too early based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_LATE: Specified enactment time is too late based on network parameters\n - PROPOSAL_ERROR_INSUFFICIENT_TOKENS: Proposer for this proposal has insufficient tokens\n - PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY: Instrument quote name and base name were the same\n - PROPOSAL_ERROR_NO_PRODUCT: Proposal has no product\n - PROPOSAL_ERROR_UNSUPPORTED_PRODUCT: Specified product is not supported\n - PROPOSAL_ERROR_NO_TRADING_MODE: Proposal has no trading mode\n - PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE: Proposal has an unsupported trading mode\n - PROPOSAL_ERROR_NODE_VALIDATION_FAILED: Proposal failed node validation\n - PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD: Field is missing in a builtin asset source\n - PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS: Contract address is missing in the ERC20 asset source\n - PROPOSAL_ERROR_INVALID_ASSET: Asset ID is invalid or does not exist on the Vega network\n - PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS: Proposal terms timestamps are not compatible (Validation \u003c Closing \u003c Enactment)\n - PROPOSAL_ERROR_NO_RISK_PARAMETERS: No risk parameters were specified\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY: Invalid key in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE: Invalid value in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED: Validation failed for network parameter proposal\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL: Opening auction duration is less than the network minimum opening auction time\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE: Opening auction duration is more than the network minimum opening auction time\n - PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET: Market proposal market could not be instantiated in execution\n - PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT: Market proposal market contained invalid product definition\n - PROPOSAL_ERROR_INVALID_RISK_PARAMETER: Market proposal has invalid risk parameter\n - PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED: Proposal was declined because vote didn't reach the majority threshold required\n - PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED: Proposal declined because the participation threshold was not reached\n - PROPOSAL_ERROR_INVALID_ASSET_DETAILS: Asset proposal has invalid asset details\n - PROPOSAL_ERROR_UNKNOWN_TYPE: Proposal is an unknown type\n - PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE: Proposal has an unknown risk parameter type\n - PROPOSAL_ERROR_INVALID_FREEFORM: Validation failed for freeform proposal\n - PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE: Party doesn't have enough equity-like share to propose an update on the market\ntargeted by the proposal\n - PROPOSAL_ERROR_INVALID_MARKET: Market targeted by the proposal does not exist or is not eligible for modification\n - PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES: Market proposal decimal place is higher than the market settlement asset decimal places\n - PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE: LP price range must be larger than 0\n - PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE: LP price range must not be larger than 100\n - PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE: Linear slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE: Quadratic slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_INVALID_SPOT: Validation failed for spot proposal\n - PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED: Spot trading not enabled\n - PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET: Market proposal is invalid, either invalid insurance pool fraction, or it specifies a parent market that it can't succeed.\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED: Governance transfer proposal is invalid\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID: Governance transfer proposal failed\n - PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID: Proposal for cancelling transfer is invalid, check proposal ID\n - PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE: Proposal for updating market state is invalid\n - PROPOSAL_ERROR_INVALID_SLA_PARAMS: Liquidity provision SLA parameters are invalid\n - PROPOSAL_ERROR_MISSING_SLA_PARAMS: Mandatory liquidity provision SLA parameters are missing\n - PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT: Perpetual market proposal contained invalid product definition", + "title": "List of possible errors that can cause a proposal to be in state rejected or failed" + }, + "vegaProposalRationale": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description to show a short title / something in case the link goes offline.\nThis is to be between 0 and 20k unicode characters.\nThis is mandatory for all proposals." + }, + "title": { + "type": "string", + "description": "Title to be used to give a short description of the proposal in lists.\nThis is to be between 0 and 100 unicode characters.\nThis is mandatory for all proposals." + } + }, + "description": "Rationale behind a proposal." + }, + "vegaProposalState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_FAILED", + "STATE_OPEN", + "STATE_PASSED", + "STATE_REJECTED", + "STATE_DECLINED", + "STATE_ENACTED", + "STATE_WAITING_FOR_NODE_VOTE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, always invalid\n - STATE_FAILED: Proposal enactment has failed - even though proposal has passed, its execution could not be performed\n - STATE_OPEN: Proposal is open for voting\n - STATE_PASSED: Proposal has gained enough support to be executed\n - STATE_REJECTED: Proposal wasn't accepted i.e. proposal terms failed validation due to wrong configuration or failed to meet network requirements.\n - STATE_DECLINED: Proposal didn't get enough votes, e.g. either failed to gain required participation or majority level.\n - STATE_ENACTED: Proposal enacted\n - STATE_WAITING_FOR_NODE_VOTE: Waiting for node validation of the proposal", + "title": "Proposal state transition:\nOpen -\u003e\n - Passed -\u003e Enacted.\n - Passed -\u003e Failed.\n - Declined\nRejected\nProposal can enter Failed state from any other state" + }, + "vegaProposalTerms": { + "type": "object", + "properties": { + "closingTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when voting closes for this proposal,\nconstrained by `minClose` and `maxClose` network parameters." + }, + "enactmentTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when proposal gets enacted if passed,\nconstrained by `minEnact` and `maxEnact` network parameters." + }, + "validationTimestamp": { + "type": "string", + "format": "int64", + "description": "Validation timestamp as Unix time in seconds." + }, + "updateMarket": { + "$ref": "#/definitions/vegaUpdateMarket", + "description": "Proposal change for modifying an existing futures market on Vega." + }, + "newMarket": { + "$ref": "#/definitions/vegaNewMarket", + "description": "Proposal change for creating new futures market on Vega." + }, + "updateNetworkParameter": { + "$ref": "#/definitions/vegaUpdateNetworkParameter", + "description": "Proposal change for updating Vega network parameters." + }, + "newAsset": { + "$ref": "#/definitions/vegaNewAsset", + "description": "Proposal change for creating new assets on Vega." + }, + "newFreeform": { + "$ref": "#/definitions/vegaNewFreeform", + "description": "Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system,\nand can be used to gauge community sentiment." + }, + "updateAsset": { + "$ref": "#/definitions/vegaUpdateAsset", + "description": "Proposal change for updating an asset." + }, + "newSpotMarket": { + "$ref": "#/definitions/vegaNewSpotMarket", + "description": "Proposal change for creating new spot market on Vega." + }, + "updateSpotMarket": { + "$ref": "#/definitions/vegaUpdateSpotMarket", + "description": "Proposal change for modifying an existing spot market on Vega." + }, + "newTransfer": { + "$ref": "#/definitions/vegaNewTransfer", + "description": "Proposal change for a governance transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/vegaCancelTransfer", + "description": "Cancel a governance transfer." + }, + "updateMarketState": { + "$ref": "#/definitions/vegaUpdateMarketState", + "description": "Proposal change for updating the state of a market." + } + }, + "title": "Terms for a governance proposal on Vega" + }, + "vegaRankingScore": { + "type": "object", + "properties": { + "stakeScore": { + "type": "string", + "description": "Stake based score - no anti-whaling." + }, + "performanceScore": { + "type": "string", + "description": "Performance based score." + }, + "previousStatus": { + "$ref": "#/definitions/vegaValidatorNodeStatus", + "description": "Status of the validator in the previous epoch." + }, + "status": { + "$ref": "#/definitions/vegaValidatorNodeStatus", + "description": "Status of the validator in the current epoch." + }, + "votingPower": { + "type": "integer", + "format": "int64", + "description": "Tendermint voting power of the validator." + }, + "rankingScore": { + "type": "string", + "description": "Final score." + } + } + }, + "vegaRecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegaReward": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID in which the reward is being paid." + }, + "partyId": { + "type": "string", + "description": "Party ID to whom the reward is being paid." + }, + "epoch": { + "type": "string", + "format": "uint64", + "description": "Epoch in which the reward is being paid." + }, + "amount": { + "type": "string", + "description": "Amount paid as a reward. This field is an unsigned integer scaled to the asset's decimal places." + }, + "percentageOfTotal": { + "type": "string", + "description": "Percentage of total rewards paid in the epoch." + }, + "receivedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp at which the reward was paid as Unix nano time." + }, + "marketId": { + "type": "string", + "description": "Market ID in which the reward is being paid." + }, + "rewardType": { + "type": "string", + "description": "Type of reward being paid." + } + }, + "title": "Details for a single reward payment" + }, + "vegaRewardScore": { + "type": "object", + "properties": { + "rawValidatorScore": { + "type": "string", + "description": "Stake based score - with anti-whaling." + }, + "performanceScore": { + "type": "string", + "description": "Performance based score." + }, + "multisigScore": { + "type": "string", + "description": "Multisig score." + }, + "validatorScore": { + "type": "string", + "description": "Un-normalised score." + }, + "normalisedScore": { + "type": "string", + "description": "Normalised validator score for rewards." + }, + "validatorStatus": { + "$ref": "#/definitions/vegaValidatorNodeStatus", + "description": "Status of the validator for reward." + } + } + }, + "vegaRewardSummary": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID in which the reward is being paid." + }, + "partyId": { + "type": "string", + "description": "Party ID to whom the reward is being paid." + }, + "amount": { + "type": "string", + "description": "Total amount of rewards paid in the asset. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Details for rewards for a single asset" + }, + "vegaRiskFactor": { + "type": "object", + "properties": { + "market": { + "type": "string", + "description": "Market ID that relates to this risk factor." + }, + "short": { + "type": "string", + "description": "Short Risk factor value." + }, + "long": { + "type": "string", + "description": "Long Risk factor value." + } + }, + "title": "Risk factors are used to calculate the current risk associated with orders trading on a given market" + }, + "vegaScalingFactors": { + "type": "object", + "properties": { + "searchLevel": { + "type": "number", + "format": "double", + "description": "Collateral search level. If collateral dips below this value,\nthe system will search for collateral to release." + }, + "initialMargin": { + "type": "number", + "format": "double", + "description": "Initial margin level. This is the minimum amount of collateral\nrequired to open a position in a market that requires margin." + }, + "collateralRelease": { + "type": "number", + "format": "double", + "description": "Collateral release level. If a trader has collateral above this level,\nthe system will release collateral to a trader's general collateral account\nfor the asset." + } + }, + "title": "Scaling Factors (for use in margin calculation)" + }, + "vegaSide": { + "type": "string", + "enum": [ + "SIDE_UNSPECIFIED", + "SIDE_BUY", + "SIDE_SELL" + ], + "default": "SIDE_UNSPECIFIED", + "description": "- SIDE_UNSPECIFIED: Default value, always invalid\n - SIDE_BUY: Buy order\n - SIDE_SELL: Sell order", + "title": "Side relates to the direction of an order, to Buy, or Sell" + }, + "vegaSimpleModelParams": { + "type": "object", + "properties": { + "factorLong": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for long." + }, + "factorShort": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for short." + }, + "maxMoveUp": { + "type": "number", + "format": "double", + "description": "Pre-defined maximum price move up that the model considers as valid." + }, + "minMoveDown": { + "type": "number", + "format": "double", + "description": "Pre-defined minimum price move down that the model considers as valid." + }, + "probabilityOfTrading": { + "type": "number", + "format": "double", + "description": "Pre-defined constant probability of trading." + } + }, + "title": "Risk model parameters for simple modelling" + }, + "vegaSimpleRiskModel": { + "type": "object", + "properties": { + "params": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Risk model params for simple modelling." + } + }, + "title": "Risk model for simple modelling" + }, + "vegaSpot": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Asset ID of the underlying base asset for the spot product." + }, + "quoteAsset": { + "type": "string", + "description": "Asset ID of the underlying quote asset for the spot product." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + } + }, + "title": "Spot product definition" + }, + "vegaSpotProduct": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Base asset ID." + }, + "quoteAsset": { + "type": "string", + "description": "Quote asset ID." + }, + "name": { + "type": "string", + "description": "Product name." + } + }, + "title": "Spot product configuration" + }, + "vegaStopOrder": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "ID of this stop order\nalso the ID of the associated order if it is ever triggered" + }, + "ocoLinkId": { + "type": "string", + "title": "The ID of the 'other' part of the OCO if 2 stop orders were submitted at once" + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "triggerDirection": { + "$ref": "#/definitions/StopOrderTriggerDirection", + "description": "Trigger direction for this stop order." + }, + "status": { + "$ref": "#/definitions/vegaStopOrderStatus", + "description": "Status of the stop order." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Creation time of the stop order." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Last update of this stop order." + }, + "orderId": { + "type": "string", + "description": "ID of the order created once the trigger is hit." + }, + "partyId": { + "type": "string", + "description": "ID of the party that submitted this stop order." + }, + "marketId": { + "type": "string", + "description": "ID of the market the stop order is submitted to." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "title": "Trailing percentage at which the order will be submitted.\nThis should be expressed as a decimal value between 0 and 1, e.g. 0.01 for 1%" + } + } + }, + "vegaStopOrderStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_TRIGGERED", + "STATUS_EXPIRED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Never valid\n - STATUS_PENDING: Pending to be executed once the trigger is breached\n - STATUS_CANCELLED: Cancelled by the user\n - STATUS_STOPPED: Stopped by the network, e.g: OCO on the other side has been triggered\n - STATUS_TRIGGERED: Stop order has been triggered and generated an order\n - STATUS_EXPIRED: Stop order has expired\n - STATUS_REJECTED: Stop order was rejected at submission" + }, + "vegaSuccessorConfiguration": { + "type": "object", + "properties": { + "parentMarketId": { + "type": "string", + "description": "ID of the market that the successor should take over from." + }, + "insurancePoolFraction": { + "type": "string", + "description": "A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor." + } + }, + "description": "Configuration required to turn a new market proposal in to a successor market proposal." + }, + "vegaTargetStakeParameters": { + "type": "object", + "properties": { + "timeWindow": { + "type": "string", + "format": "int64", + "description": "Specifies length of time window expressed in seconds for target stake calculation." + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Specifies scaling factors used in target stake calculation." + } + }, + "title": "TargetStakeParameters contains parameters used in target stake calculation" + }, + "vegaTradableInstrument": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrument", + "description": "Details for the underlying instrument." + }, + "marginCalculator": { + "$ref": "#/definitions/vegaMarginCalculator", + "description": "Margin calculator for the instrument." + }, + "logNormalRiskModel": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal." + }, + "simpleRiskModel": { + "$ref": "#/definitions/vegaSimpleRiskModel", + "description": "Simple." + } + }, + "title": "Tradable Instrument definition" + }, + "vegaTrade": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the trade." + }, + "marketId": { + "type": "string", + "description": "Market ID on which the trade occurred." + }, + "price": { + "type": "string", + "description": "Price for the trade, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size filled for the trade." + }, + "buyer": { + "type": "string", + "description": "Unique party ID for the buyer." + }, + "seller": { + "type": "string", + "description": "Unique party ID for the seller." + }, + "aggressor": { + "$ref": "#/definitions/vegaSide", + "description": "Direction of the aggressive party e.g. SIDE_BUY or SIDE_SELL." + }, + "buyOrder": { + "type": "string", + "description": "Identifier of the order from the buy side." + }, + "sellOrder": { + "type": "string", + "description": "Identifier of the order from the sell side." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the trade occurred." + }, + "type": { + "$ref": "#/definitions/vegaTradeType", + "description": "Type for the trade." + }, + "buyerFee": { + "$ref": "#/definitions/vegaFee", + "description": "Fee amount charged to the buyer party for the trade." + }, + "sellerFee": { + "$ref": "#/definitions/vegaFee", + "description": "Fee amount charged to the seller party for the trade." + }, + "buyerAuctionBatch": { + "type": "string", + "format": "uint64", + "description": "Auction batch number that the buy side order was placed in." + }, + "sellerAuctionBatch": { + "type": "string", + "format": "uint64", + "description": "Auction batch number that the sell side order was placed in." + } + }, + "title": "A trade occurs when an aggressive order crosses one or more passive orders on the order book for a market on Vega" + }, + "vegaTradeType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_DEFAULT", + "TYPE_NETWORK_CLOSE_OUT_GOOD", + "TYPE_NETWORK_CLOSE_OUT_BAD" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_DEFAULT: Normal trading between two parties\n - TYPE_NETWORK_CLOSE_OUT_GOOD: Trading initiated by the network with another party on the book,\nwhich helps to zero-out the positions of one or more distressed parties\n - TYPE_NETWORK_CLOSE_OUT_BAD: Trading initiated by the network with another party off the book,\nwith a distressed party in order to zero-out the position of the party", + "title": "Type values for a trade" + }, + "vegaTransferType": { + "type": "string", + "enum": [ + "TRANSFER_TYPE_UNSPECIFIED", + "TRANSFER_TYPE_LOSS", + "TRANSFER_TYPE_WIN", + "TRANSFER_TYPE_MTM_LOSS", + "TRANSFER_TYPE_MTM_WIN", + "TRANSFER_TYPE_MARGIN_LOW", + "TRANSFER_TYPE_MARGIN_HIGH", + "TRANSFER_TYPE_MARGIN_CONFISCATED", + "TRANSFER_TYPE_MAKER_FEE_PAY", + "TRANSFER_TYPE_MAKER_FEE_RECEIVE", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE", + "TRANSFER_TYPE_LIQUIDITY_FEE_PAY", + "TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE", + "TRANSFER_TYPE_BOND_LOW", + "TRANSFER_TYPE_BOND_HIGH", + "TRANSFER_TYPE_WITHDRAW", + "TRANSFER_TYPE_DEPOSIT", + "TRANSFER_TYPE_BOND_SLASHING", + "TRANSFER_TYPE_REWARD_PAYOUT", + "TRANSFER_TYPE_TRANSFER_FUNDS_SEND", + "TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE", + "TRANSFER_TYPE_CLEAR_ACCOUNT", + "TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE", + "TRANSFER_TYPE_SPOT", + "TRANSFER_TYPE_HOLDING_LOCK", + "TRANSFER_TYPE_HOLDING_RELEASE", + "TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION", + "TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE", + "TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE", + "TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY", + "TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY", + "TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT", + "TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE", + "TRANSFER_TYPE_PERP_FUNDING_LOSS", + "TRANSFER_TYPE_PERP_FUNDING_WIN" + ], + "default": "TRANSFER_TYPE_UNSPECIFIED", + "description": "- TRANSFER_TYPE_UNSPECIFIED: Default value, always invalid\n - TRANSFER_TYPE_LOSS: Funds deducted after final settlement loss\n - TRANSFER_TYPE_WIN: Funds added to general account after final settlement gain\n - TRANSFER_TYPE_MTM_LOSS: Funds deducted from margin account after mark to market loss\n - TRANSFER_TYPE_MTM_WIN: Funds added to margin account after mark to market gain\n - TRANSFER_TYPE_MARGIN_LOW: Funds transferred from general account to meet margin requirement\n - TRANSFER_TYPE_MARGIN_HIGH: Excess margin amount returned to general account\n - TRANSFER_TYPE_MARGIN_CONFISCATED: Margin confiscated from margin account to fulfil closeout\n - TRANSFER_TYPE_MAKER_FEE_PAY: Maker fee paid from general account\n - TRANSFER_TYPE_MAKER_FEE_RECEIVE: Maker fee received into general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY: Infrastructure fee paid from general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE: Infrastructure fee received into general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_PAY: Liquidity fee paid from general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE: Liquidity fee received into general account\n - TRANSFER_TYPE_BOND_LOW: Bond account funded from general account to meet required bond amount\n - TRANSFER_TYPE_BOND_HIGH: Bond returned to general account after liquidity commitment was reduced\n - TRANSFER_TYPE_WITHDRAW: Funds withdrawn from general account\n - TRANSFER_TYPE_DEPOSIT: Funds deposited to general account\n - TRANSFER_TYPE_BOND_SLASHING: Bond account penalised when liquidity commitment not met\n - TRANSFER_TYPE_REWARD_PAYOUT: Reward payout received\n - TRANSFER_TYPE_TRANSFER_FUNDS_SEND: Internal Vega network instruction for the collateral engine to move funds from a user's general account into the pending transfers pool\n - TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE: Internal Vega network instruction for the collateral engine to move funds from the pending transfers pool account into the destination account\n - TRANSFER_TYPE_CLEAR_ACCOUNT: Market-related accounts emptied because market has closed\n - TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE: Balances restored after network restart\n - TRANSFER_TYPE_SPOT: Spot trade delivery\n - TRANSFER_TYPE_HOLDING_LOCK: An internal instruction to transfer a quantity corresponding to an active spot order from a general account into a party holding account.\n - TRANSFER_TYPE_HOLDING_RELEASE: An internal instruction to transfer an excess quantity corresponding to an active spot order from a holding account into a party general account.\n - TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION: Insurance pool fraction transfer from parent to successor market.\n - TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE: Allocates liquidity fee earnings to each liquidity provider's network controlled liquidity fee account.\n - TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE: Distributes net fee earnings from liquidity provider's fee account to their general account.\n - TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY: Applies SLA penalty by moving funds from party's bond account to market's insurance pool.\n - TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY: Applies SLA penalty by moving funds from the liquidity provider's fee account to market insurance pool.\n - TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT: Collects penalties from the liquidity provider's fee account before the fee revenue is paid, and transfers it to the market's bonus distribution account.\n - TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE: Distributes performance bonus from market bonus to liquidity provider's general account.\n - TRANSFER_TYPE_PERP_FUNDING_LOSS: Funds deducted from margin account after a perpetuals funding loss.\n - TRANSFER_TYPE_PERP_FUNDING_WIN: Funds added to margin account after a perpetuals funding gain.", + "title": "Transfers can occur between parties on Vega, these are the types that indicate why a transfer took place" + }, + "vegaUpdateAsset": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaAssetDetailsUpdate", + "description": "Changes to apply on an existing asset." + } + }, + "title": "Update an existing asset on Vega" + }, + "vegaUpdateFutureProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data of settlement data." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data source for trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "The binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaUpdateInstrumentConfiguration": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaUpdateFutureProduct", + "description": "Future." + }, + "perpetual": { + "$ref": "#/definitions/vegaUpdatePerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaUpdateMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateMarketConfiguration", + "description": "Updated configuration of the futures market." + } + }, + "title": "Update an existing market on Vega" + }, + "vegaUpdateMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaUpdateInstrumentConfiguration", + "description": "Updated futures market instrument configuration." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + } + }, + "title": "Configuration to update a futures market on Vega" + }, + "vegaUpdateMarketState": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaUpdateMarketStateConfiguration", + "title": "Configuration for governance-initiated change of a market's state" + } + } + }, + "vegaUpdateMarketStateConfiguration": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "ID of the market" + }, + "updateType": { + "$ref": "#/definitions/vegaMarketStateUpdateType", + "title": "Type of the market update" + }, + "price": { + "type": "string", + "title": "Settlement price, relevant only for market termination for futures markets" + } + } + }, + "vegaUpdateNetworkParameter": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "The network parameter to update." + } + }, + "title": "Update network configuration on Vega" + }, + "vegaUpdatePerpetualProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaUpdateSpotMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateSpotMarketConfiguration", + "description": "Updated configuration of the spot market." + } + }, + "title": "Update an existing spot market on Vega" + }, + "vegaUpdateSpotMarketConfiguration": { + "type": "object", + "properties": { + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration to update a spot market on Vega" + }, + "vegaValidatorNodeStatus": { + "type": "string", + "enum": [ + "VALIDATOR_NODE_STATUS_UNSPECIFIED", + "VALIDATOR_NODE_STATUS_TENDERMINT", + "VALIDATOR_NODE_STATUS_ERSATZ", + "VALIDATOR_NODE_STATUS_PENDING" + ], + "default": "VALIDATOR_NODE_STATUS_UNSPECIFIED", + "description": "- VALIDATOR_NODE_STATUS_TENDERMINT: Node is a tendermint validator\n - VALIDATOR_NODE_STATUS_ERSATZ: Node is an ersatz validator\n - VALIDATOR_NODE_STATUS_PENDING: Node is a pending validator", + "title": "Validation status of the node" + }, + "vegaVote": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "description": "Voter's party ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Which way the party voted." + }, + "proposalId": { + "type": "string", + "description": "Proposal ID being voted on." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds when the vote was acknowledged by the network." + }, + "totalGovernanceTokenBalance": { + "type": "string", + "description": "Total number of governance token for the party that cast the vote." + }, + "totalGovernanceTokenWeight": { + "type": "string", + "description": "The weight of this vote based on the total number of governance tokens." + }, + "totalEquityLikeShareWeight": { + "type": "string", + "description": "The weight of the vote compared to the total amount of equity-like share on the market." + } + }, + "title": "Governance vote" + }, + "vegaVoteValue": { + "type": "string", + "enum": [ + "VALUE_UNSPECIFIED", + "VALUE_NO", + "VALUE_YES" + ], + "default": "VALUE_UNSPECIFIED", + "description": "- VALUE_UNSPECIFIED: Default value, always invalid\n - VALUE_NO: Vote against the proposal\n - VALUE_YES: Vote in favour of the proposal", + "title": "Vote value" + }, + "vegaWithdrawExt": { + "type": "object", + "properties": { + "erc20": { + "$ref": "#/definitions/vegaErc20WithdrawExt", + "description": "ERC20 withdrawal details." + } + }, + "title": "Withdrawal external details" + }, + "vegaWithdrawal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the withdrawal." + }, + "partyId": { + "type": "string", + "description": "Unique party ID of the user initiating the withdrawal." + }, + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to withdraw funds from." + }, + "status": { + "$ref": "#/definitions/vegaWithdrawalStatus", + "description": "Status of the withdrawal." + }, + "ref": { + "type": "string", + "description": "Reference which is used by the foreign chain\nto refer to this withdrawal." + }, + "txHash": { + "type": "string", + "description": "Hash of the foreign chain for this transaction." + }, + "createdTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the network started to process this withdrawal." + }, + "withdrawnTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the withdrawal was finalised by the network." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Withdrawal from the Vega network" + }, + "vegaWithdrawalStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_OPEN", + "STATUS_REJECTED", + "STATUS_FINALIZED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_OPEN: Withdrawal is open and being processed by the network\n - STATUS_REJECTED: Withdrawal have been cancelled\n - STATUS_FINALIZED: Withdrawal went through and is fully finalised, the funds are removed from the\nVega network and are unlocked on the foreign chain bridge, for example, on the Ethereum network", + "title": "Status of the withdrawal" + }, + "vegacommandsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegacommandsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64", + "description": "First epoch from which this transfer shall be paid." + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "factor": { + "type": "string", + "description": "Factor needs to be \u003e 0." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegacommandsv1Transfer": { + "type": "object", + "properties": { + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type from which the funds of the party\nshould be taken." + }, + "to": { + "type": "string", + "description": "Public key of the destination account." + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the destination account." + }, + "asset": { + "type": "string", + "description": "Asset ID of the asset to be transferred." + }, + "amount": { + "type": "string", + "description": "Amount to be taken from the source account. This field is an unsigned integer scaled to the asset's decimal places." + }, + "reference": { + "type": "string", + "description": "Reference to be attached to the transfer." + }, + "oneOff": { + "$ref": "#/definitions/vegacommandsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegacommandsv1RecurringTransfer" + } + }, + "title": "Transfer initiated by a party" + }, + "vegaeventsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64" + } + } + }, + "vegaeventsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64" + }, + "factor": { + "type": "string" + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy" + } + } + }, + "vegaeventsv1Transfer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "from": { + "type": "string" + }, + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType" + }, + "to": { + "type": "string" + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType" + }, + "asset": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/v1TransferStatus" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "reason": { + "type": "string" + }, + "oneOff": { + "$ref": "#/definitions/vegaeventsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaeventsv1RecurringTransfer" + }, + "oneOffGovernance": { + "$ref": "#/definitions/v1OneOffGovernanceTransfer" + }, + "recurringGovernance": { + "$ref": "#/definitions/v1RecurringGovernanceTransfer" + } + } + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/api/v1/core.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/api/v1/core.swagger.json new file mode 100644 index 000000000..e02252184 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/api/v1/core.swagger.json @@ -0,0 +1,6425 @@ +{ + "swagger": "2.0", + "info": { + "title": "Vega core APIs", + "version": "v0.72.1" + }, + "tags": [ + { + "name": "CoreService" + } + ], + "host": "lb.testnet.vega.xyz", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "ConditionOperator": { + "type": "string", + "enum": [ + "OPERATOR_UNSPECIFIED", + "OPERATOR_EQUALS", + "OPERATOR_GREATER_THAN", + "OPERATOR_GREATER_THAN_OR_EQUAL", + "OPERATOR_LESS_THAN", + "OPERATOR_LESS_THAN_OR_EQUAL" + ], + "default": "OPERATOR_UNSPECIFIED", + "description": "Operator describes the type of comparison.\n\n - OPERATOR_UNSPECIFIED: The default value\n - OPERATOR_EQUALS: Verify if the property values are strictly equal or not.\n - OPERATOR_GREATER_THAN: Verify if the data source data value is greater than the Condition value.\n - OPERATOR_GREATER_THAN_OR_EQUAL: Verify if the data source data value is greater than or equal to the Condition\nvalue.\n - OPERATOR_LESS_THAN: Verify if the data source data value is less than the Condition value.\n - OPERATOR_LESS_THAN_OR_EQUAL: Verify if the data source data value is less or equal to than the Condition\nvalue." + }, + "FundingPeriodDataPointSource": { + "type": "string", + "enum": [ + "SOURCE_UNSPECIFIED", + "SOURCE_EXTERNAL", + "SOURCE_INTERNAL" + ], + "default": "SOURCE_UNSPECIFIED", + "description": " - SOURCE_UNSPECIFIED: Default value\n - SOURCE_EXTERNAL: Data point is from an external data source, such as an oracle, and represents the spot price of the underlying asset.\n - SOURCE_INTERNAL: Data point from within Vega such as the mark price after performing mark-to-market." + }, + "MarketTradingMode": { + "type": "string", + "enum": [ + "TRADING_MODE_UNSPECIFIED", + "TRADING_MODE_CONTINUOUS", + "TRADING_MODE_BATCH_AUCTION", + "TRADING_MODE_OPENING_AUCTION", + "TRADING_MODE_MONITORING_AUCTION", + "TRADING_MODE_NO_TRADING", + "TRADING_MODE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "TRADING_MODE_UNSPECIFIED", + "description": "- TRADING_MODE_UNSPECIFIED: Default value, this is invalid\n - TRADING_MODE_CONTINUOUS: Normal trading\n - TRADING_MODE_BATCH_AUCTION: Auction trading (FBA)\n - TRADING_MODE_OPENING_AUCTION: Opening auction\n - TRADING_MODE_MONITORING_AUCTION: Auction triggered by monitoring\n - TRADING_MODE_NO_TRADING: No trading is allowed\n - TRADING_MODE_SUSPENDED_VIA_GOVERNANCE: Special auction mode triggered via governance", + "title": "Trading mode the market is currently running, also referred to as 'market state'" + }, + "OracleDataSubmissionOracleSource": { + "type": "string", + "enum": [ + "ORACLE_SOURCE_UNSPECIFIED", + "ORACLE_SOURCE_OPEN_ORACLE", + "ORACLE_SOURCE_JSON", + "ORACLE_SOURCE_ETHEREUM" + ], + "default": "ORACLE_SOURCE_UNSPECIFIED", + "description": "- ORACLE_SOURCE_UNSPECIFIED: Default value\n - ORACLE_SOURCE_OPEN_ORACLE: Specifies that the payload will be base64 encoded JSON conforming to the Open Oracle standard\n - ORACLE_SOURCE_JSON: Specifies that the payload will be base64 encoded JSON, but does not specify the shape of the data\n - ORACLE_SOURCE_ETHEREUM: Specifies that the payload will be base64 encoded JSON conforming to the ETH standard", + "title": "Supported oracle sources" + }, + "OrderTimeInForce": { + "type": "string", + "enum": [ + "TIME_IN_FORCE_UNSPECIFIED", + "TIME_IN_FORCE_GTC", + "TIME_IN_FORCE_GTT", + "TIME_IN_FORCE_IOC", + "TIME_IN_FORCE_FOK", + "TIME_IN_FORCE_GFA", + "TIME_IN_FORCE_GFN" + ], + "default": "TIME_IN_FORCE_UNSPECIFIED", + "description": "- TIME_IN_FORCE_UNSPECIFIED: Default value for TimeInForce, can be valid for an amend\n - TIME_IN_FORCE_GTC: Good until cancelled, the order trades any amount and as much as possible\nand remains on the book until it either trades completely or is cancelled\n - TIME_IN_FORCE_GTT: Good until specified time, this order type trades any amount and as much as possible\nand remains on the book until it either trades completely, is cancelled, or expires at a set time\nNOTE: this may in future be multiple types or have sub types for orders that provide different ways of specifying expiry\n - TIME_IN_FORCE_IOC: Immediate or cancel, the order trades any amount and as much as possible\nbut does not remain on the book (whether it trades or not)\n - TIME_IN_FORCE_FOK: Fill or kill, the order either trades completely i.e. remainingSize == 0 after adding,\nor not at all, and does not remain on the book if it doesn't trade\n - TIME_IN_FORCE_GFA: Good for auction, this order is only accepted during an auction period\n - TIME_IN_FORCE_GFN: Good for normal, this order is only accepted during normal trading (that can be continuous trading or frequent batched auctions)", + "title": "Time In Force for an order" + }, + "StopOrderExpiryStrategy": { + "type": "string", + "enum": [ + "EXPIRY_STRATEGY_UNSPECIFIED", + "EXPIRY_STRATEGY_CANCELS", + "EXPIRY_STRATEGY_SUBMIT" + ], + "default": "EXPIRY_STRATEGY_UNSPECIFIED", + "description": " - EXPIRY_STRATEGY_UNSPECIFIED: Never valid\n - EXPIRY_STRATEGY_CANCELS: Stop order should be cancelled if the expiry time is reached.\n - EXPIRY_STRATEGY_SUBMIT: Order should be submitted if the expiry time is reached." + }, + "StopOrderTriggerDirection": { + "type": "string", + "enum": [ + "TRIGGER_DIRECTION_UNSPECIFIED", + "TRIGGER_DIRECTION_RISES_ABOVE", + "TRIGGER_DIRECTION_FALLS_BELOW" + ], + "default": "TRIGGER_DIRECTION_UNSPECIFIED", + "title": "- TRIGGER_DIRECTION_UNSPECIFIED: Never valid\n - TRIGGER_DIRECTION_RISES_ABOVE: Stop order is triggered once the price rises above a certain level\n - TRIGGER_DIRECTION_FALLS_BELOW: Stop order is triggered once the price falls below a certain level" + }, + "TransactionResultFailureDetails": { + "type": "object", + "properties": { + "error": { + "type": "string", + "title": "Error message explaining the reason for the transaction failing processing" + } + } + }, + "TransactionResultSuccessDetails": { + "type": "object" + }, + "UndelegateSubmissionMethod": { + "type": "string", + "enum": [ + "METHOD_UNSPECIFIED", + "METHOD_NOW", + "METHOD_AT_END_OF_EPOCH" + ], + "default": "METHOD_UNSPECIFIED" + }, + "commandsv1CancelTransfer": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "Transfer ID of the transfer to cancel." + } + }, + "title": "Request for cancelling a recurring transfer" + }, + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "protobufNullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "v1AnnounceNode": { + "type": "object", + "properties": { + "vegaPubKey": { + "type": "string", + "description": "Vega public key, required field." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key, required field." + }, + "chainPubKey": { + "type": "string", + "description": "Public key for the blockchain, required field." + }, + "infoUrl": { + "type": "string", + "description": "URL with more info on the node." + }, + "country": { + "type": "string", + "description": "Country code (ISO 3166-1 alpha-2) for the location of the node." + }, + "id": { + "type": "string", + "description": "Node ID of the validator, i.e. the node's public master key." + }, + "name": { + "type": "string", + "description": "Name of the validator." + }, + "avatarUrl": { + "type": "string", + "description": "AvatarURL of the validator." + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "Vega public key derivation index." + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "description": "Epoch from which the validator is expected\nto be ready to validate blocks." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the ethereum wallet." + }, + "vegaSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the Vega wallet." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + } + }, + "title": "Used to announce a node as a new pending validator" + }, + "v1AuctionEvent": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "openingAuction": { + "type": "boolean", + "title": "True if the event indicates an auction opening and False otherwise" + }, + "leave": { + "type": "boolean", + "title": "True if the event indicates leaving auction mode and False otherwise" + }, + "start": { + "type": "string", + "format": "int64", + "title": "Timestamp containing the start time for an auction" + }, + "end": { + "type": "string", + "format": "int64", + "title": "Timestamp containing the end time for an auction" + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "title": "Reason this market is/was in auction" + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "title": "If an auction was ongoing, but was extended for whatever reason, this field will\nbe set to the trigger type indicating which component extended the auction" + } + }, + "title": "Auction event indicating a change in auction state, for example starting or ending an auction" + }, + "v1BatchMarketInstructions": { + "type": "object", + "properties": { + "cancellations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "description": "List of order cancellations to be processed sequentially." + }, + "amendments": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "description": "List of order amendments to be processed sequentially." + }, + "submissions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "description": "List of order submissions to be processed sequentially." + }, + "stopOrdersCancellation": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "description": "List of stop order cancellations to be processed sequentially." + }, + "stopOrdersSubmission": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "description": "List of stop order submissions to be processed sequentially." + } + }, + "title": "Batch of order instructions.\nThis command accepts only the following batches of commands\nand will be processed in the following order:\n- OrderCancellation\n- OrderAmendment\n- OrderSubmission\nThe total amount of commands in the batch across all three lists of\ninstructions is restricted by the following network parameter:\n\"spam.protection.max.batchSize\"" + }, + "v1BeginBlock": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "hash": { + "type": "string" + } + }, + "title": "BeginBlock" + }, + "v1BusEvent": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Unique event ID for the message" + }, + "block": { + "type": "string", + "title": "The batch or block of transactions that the events relate to" + }, + "type": { + "$ref": "#/definitions/v1BusEventType", + "title": "The type of bus event. Must be one of the list below:" + }, + "timeUpdate": { + "$ref": "#/definitions/v1TimeUpdate", + "title": "Time update events" + }, + "ledgerMovements": { + "$ref": "#/definitions/v1LedgerMovements", + "title": "Transfer responses update events" + }, + "positionResolution": { + "$ref": "#/definitions/v1PositionResolution", + "title": "Position resolution events" + }, + "order": { + "$ref": "#/definitions/vegaOrder", + "title": "Order events" + }, + "account": { + "$ref": "#/definitions/vegaAccount", + "title": "Account events" + }, + "party": { + "$ref": "#/definitions/vegaParty", + "title": "Party events" + }, + "trade": { + "$ref": "#/definitions/vegaTrade", + "title": "Trade events" + }, + "marginLevels": { + "$ref": "#/definitions/vegaMarginLevels", + "title": "Margin level update events" + }, + "proposal": { + "$ref": "#/definitions/vegaProposal", + "title": "Proposal events for governance" + }, + "vote": { + "$ref": "#/definitions/vegaVote", + "title": "Vote events for governance" + }, + "marketData": { + "$ref": "#/definitions/vegaMarketData", + "title": "Market data events" + }, + "nodeSignature": { + "$ref": "#/definitions/v1NodeSignature", + "title": "Node signature events" + }, + "lossSocialization": { + "$ref": "#/definitions/v1LossSocialization", + "title": "Loss socialization events" + }, + "settlePosition": { + "$ref": "#/definitions/v1SettlePosition", + "title": "Position settlement events" + }, + "settleDistressed": { + "$ref": "#/definitions/v1SettleDistressed", + "title": "Position distressed events" + }, + "marketCreated": { + "$ref": "#/definitions/vegaMarket", + "title": "Market created events" + }, + "asset": { + "$ref": "#/definitions/vegaAsset", + "title": "Asset events" + }, + "marketTick": { + "$ref": "#/definitions/v1MarketTick", + "title": "Market tick events" + }, + "withdrawal": { + "$ref": "#/definitions/vegaWithdrawal", + "title": "Withdrawal events" + }, + "deposit": { + "$ref": "#/definitions/vegaDeposit", + "title": "Deposit events" + }, + "auction": { + "$ref": "#/definitions/v1AuctionEvent", + "title": "Auction events" + }, + "riskFactor": { + "$ref": "#/definitions/vegaRiskFactor", + "title": "Risk factor events" + }, + "networkParameter": { + "$ref": "#/definitions/vegaNetworkParameter", + "title": "Network parameter events" + }, + "liquidityProvision": { + "$ref": "#/definitions/vegaLiquidityProvision", + "title": "LiquidityProvision events" + }, + "marketUpdated": { + "$ref": "#/definitions/vegaMarket", + "title": "Market created events" + }, + "oracleSpec": { + "$ref": "#/definitions/vegaOracleSpec", + "title": "OracleSpec events" + }, + "oracleData": { + "$ref": "#/definitions/vegaOracleData", + "title": "OracleData events" + }, + "delegationBalance": { + "$ref": "#/definitions/v1DelegationBalanceEvent", + "title": "Delegation balance events" + }, + "validatorScore": { + "$ref": "#/definitions/v1ValidatorScoreEvent", + "title": "Validator score calculated" + }, + "epochEvent": { + "$ref": "#/definitions/v1EpochEvent", + "title": "Epoch update events" + }, + "validatorUpdate": { + "$ref": "#/definitions/v1ValidatorUpdate", + "title": "Validator update events" + }, + "stakeLinking": { + "$ref": "#/definitions/v1StakeLinking", + "title": "Staking event" + }, + "rewardPayout": { + "$ref": "#/definitions/v1RewardPayoutEvent", + "title": "Reward payout event" + }, + "checkpoint": { + "$ref": "#/definitions/v1CheckpointEvent", + "title": "Checkpoint was created" + }, + "keyRotation": { + "$ref": "#/definitions/v1KeyRotation", + "title": "Key rotation took place" + }, + "stateVar": { + "$ref": "#/definitions/v1StateVar", + "title": "State variable consensus state transition update" + }, + "networkLimits": { + "$ref": "#/definitions/vegaNetworkLimits", + "title": "Network limits events" + }, + "transfer": { + "$ref": "#/definitions/vegaeventsv1Transfer", + "title": "Transfer event" + }, + "rankingEvent": { + "$ref": "#/definitions/v1ValidatorRankingEvent", + "title": "Ranking event" + }, + "erc20MultisigSignerEvent": { + "$ref": "#/definitions/v1ERC20MultiSigSignerEvent", + "title": "ERC20 multi sig signer event" + }, + "erc20MultisigSetThresholdEvent": { + "$ref": "#/definitions/v1ERC20MultiSigThresholdSetEvent", + "title": "ERC20 multi sig set threshold event" + }, + "erc20MultisigSignerAdded": { + "$ref": "#/definitions/v1ERC20MultiSigSignerAdded", + "title": "ERC20 multi sig signer added" + }, + "erc20MultisigSignerRemoved": { + "$ref": "#/definitions/v1ERC20MultiSigSignerRemoved", + "title": "ERC20 multi sig signer removed" + }, + "positionStateEvent": { + "$ref": "#/definitions/v1PositionStateEvent", + "title": "Position status for a party in a market" + }, + "ethereumKeyRotation": { + "$ref": "#/definitions/v1EthereumKeyRotation", + "title": "Ethereum key rotation took place" + }, + "protocolUpgradeEvent": { + "$ref": "#/definitions/v1ProtocolUpgradeEvent", + "title": "Protocol upgrade proposal updates" + }, + "beginBlock": { + "$ref": "#/definitions/v1BeginBlock", + "title": "Core is starting to process a new block" + }, + "endBlock": { + "$ref": "#/definitions/v1EndBlock", + "title": "Core finished processing a block" + }, + "protocolUpgradeStarted": { + "$ref": "#/definitions/v1ProtocolUpgradeStarted", + "title": "Core is starting a protocol upgrade" + }, + "settleMarket": { + "$ref": "#/definitions/v1SettleMarket", + "title": "Settle market event for data-node to update positions for settled markets" + }, + "transactionResult": { + "$ref": "#/definitions/v1TransactionResult", + "title": "Result of a transaction processed by the network" + }, + "coreSnapshotEvent": { + "$ref": "#/definitions/v1CoreSnapshotData", + "title": "Core snapshot has been taken at the end of the block" + }, + "protocolUpgradeDataNodeReady": { + "$ref": "#/definitions/v1ProtocolUpgradeDataNodeReady", + "title": "Core snapshot has been taken at the end of the block" + }, + "distressedOrders": { + "$ref": "#/definitions/v1DistressedOrders", + "title": "Parties that had their orders closed because they were distressed" + }, + "expiredOrders": { + "$ref": "#/definitions/v1ExpiredOrders", + "title": "Orders that expired for a given market" + }, + "distressedPositions": { + "$ref": "#/definitions/v1DistressedPositions", + "title": "Open positions on the market that are/were distressed" + }, + "stopOrder": { + "$ref": "#/definitions/v1StopOrderEvent", + "title": "A stop order event" + }, + "fundingPeriod": { + "$ref": "#/definitions/v1FundingPeriod", + "description": "Start or end of a funding period." + }, + "fundingPeriodDataPoint": { + "$ref": "#/definitions/v1FundingPeriodDataPoint", + "description": "Data point within a funding period." + }, + "market": { + "$ref": "#/definitions/v1MarketEvent", + "title": "Market tick events" + }, + "txErrEvent": { + "$ref": "#/definitions/v1TxErrorEvent", + "title": "Transaction error events, not included in the ALL event type" + }, + "version": { + "type": "integer", + "format": "int64", + "title": "Version of bus event" + }, + "chainId": { + "type": "string" + }, + "txHash": { + "type": "string" + } + }, + "title": "Bus event is a container for event bus events emitted by Vega" + }, + "v1BusEventType": { + "type": "string", + "enum": [ + "BUS_EVENT_TYPE_UNSPECIFIED", + "BUS_EVENT_TYPE_ALL", + "BUS_EVENT_TYPE_TIME_UPDATE", + "BUS_EVENT_TYPE_LEDGER_MOVEMENTS", + "BUS_EVENT_TYPE_POSITION_RESOLUTION", + "BUS_EVENT_TYPE_ORDER", + "BUS_EVENT_TYPE_ACCOUNT", + "BUS_EVENT_TYPE_PARTY", + "BUS_EVENT_TYPE_TRADE", + "BUS_EVENT_TYPE_MARGIN_LEVELS", + "BUS_EVENT_TYPE_PROPOSAL", + "BUS_EVENT_TYPE_VOTE", + "BUS_EVENT_TYPE_MARKET_DATA", + "BUS_EVENT_TYPE_NODE_SIGNATURE", + "BUS_EVENT_TYPE_LOSS_SOCIALIZATION", + "BUS_EVENT_TYPE_SETTLE_POSITION", + "BUS_EVENT_TYPE_SETTLE_DISTRESSED", + "BUS_EVENT_TYPE_MARKET_CREATED", + "BUS_EVENT_TYPE_ASSET", + "BUS_EVENT_TYPE_MARKET_TICK", + "BUS_EVENT_TYPE_WITHDRAWAL", + "BUS_EVENT_TYPE_DEPOSIT", + "BUS_EVENT_TYPE_AUCTION", + "BUS_EVENT_TYPE_RISK_FACTOR", + "BUS_EVENT_TYPE_NETWORK_PARAMETER", + "BUS_EVENT_TYPE_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_MARKET_UPDATED", + "BUS_EVENT_TYPE_ORACLE_SPEC", + "BUS_EVENT_TYPE_ORACLE_DATA", + "BUS_EVENT_TYPE_DELEGATION_BALANCE", + "BUS_EVENT_TYPE_VALIDATOR_SCORE", + "BUS_EVENT_TYPE_EPOCH_UPDATE", + "BUS_EVENT_TYPE_VALIDATOR_UPDATE", + "BUS_EVENT_TYPE_STAKE_LINKING", + "BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT", + "BUS_EVENT_TYPE_CHECKPOINT", + "BUS_EVENT_TYPE_STREAM_START", + "BUS_EVENT_TYPE_KEY_ROTATION", + "BUS_EVENT_TYPE_STATE_VAR", + "BUS_EVENT_TYPE_NETWORK_LIMITS", + "BUS_EVENT_TYPE_TRANSFER", + "BUS_EVENT_TYPE_VALIDATOR_RANKING", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED", + "BUS_EVENT_TYPE_POSITION_STATE", + "BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL", + "BUS_EVENT_TYPE_BEGIN_BLOCK", + "BUS_EVENT_TYPE_END_BLOCK", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED", + "BUS_EVENT_TYPE_SETTLE_MARKET", + "BUS_EVENT_TYPE_TRANSACTION_RESULT", + "BUS_EVENT_TYPE_SNAPSHOT_TAKEN", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY", + "BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED", + "BUS_EVENT_TYPE_EXPIRED_ORDERS", + "BUS_EVENT_TYPE_DISTRESSED_POSITIONS", + "BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_STOP_ORDER", + "BUS_EVENT_TYPE_FUNDING_PERIOD", + "BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT", + "BUS_EVENT_TYPE_MARKET", + "BUS_EVENT_TYPE_TX_ERROR" + ], + "default": "BUS_EVENT_TYPE_UNSPECIFIED", + "description": "- BUS_EVENT_TYPE_UNSPECIFIED: Default value, always invalid\n - BUS_EVENT_TYPE_ALL: Events of ALL event types, used when filtering stream from event bus\n - BUS_EVENT_TYPE_TIME_UPDATE: Event for blockchain time updates\n - BUS_EVENT_TYPE_LEDGER_MOVEMENTS: Event for when a transfer happens internally, contains the transfer information\n - BUS_EVENT_TYPE_POSITION_RESOLUTION: Event indicating position resolution has occurred\n - BUS_EVENT_TYPE_ORDER: Event for order updates, both new and existing orders\n - BUS_EVENT_TYPE_ACCOUNT: Event for account updates\n - BUS_EVENT_TYPE_PARTY: Event for party updates\n - BUS_EVENT_TYPE_TRADE: Event indicating a new trade has occurred\n - BUS_EVENT_TYPE_MARGIN_LEVELS: Event indicating margin levels have changed for a party\n - BUS_EVENT_TYPE_PROPOSAL: Event for proposal updates (for governance)\n - BUS_EVENT_TYPE_VOTE: Event indicating a new vote has occurred (for governance)\n - BUS_EVENT_TYPE_MARKET_DATA: Event for market data updates\n - BUS_EVENT_TYPE_NODE_SIGNATURE: Event for a new signature for a Vega node\n - BUS_EVENT_TYPE_LOSS_SOCIALIZATION: Event indicating loss socialisation occurred for a party\n - BUS_EVENT_TYPE_SETTLE_POSITION: Event for when a position is being settled\n - BUS_EVENT_TYPE_SETTLE_DISTRESSED: Event for when a position is distressed\n - BUS_EVENT_TYPE_MARKET_CREATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ASSET: Event for when an asset is added to Vega\n - BUS_EVENT_TYPE_MARKET_TICK: Event indicating a market tick event\n - BUS_EVENT_TYPE_WITHDRAWAL: Event for when a withdrawal occurs\n - BUS_EVENT_TYPE_DEPOSIT: Event for when a deposit occurs\n - BUS_EVENT_TYPE_AUCTION: Event indicating a change in auction state, for example starting or ending an auction\n - BUS_EVENT_TYPE_RISK_FACTOR: Event indicating a risk factor has been updated\n - BUS_EVENT_TYPE_NETWORK_PARAMETER: Event indicating a network parameter has been added or updated\n - BUS_EVENT_TYPE_LIQUIDITY_PROVISION: Event indicating a liquidity provision has been created or updated\n - BUS_EVENT_TYPE_MARKET_UPDATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ORACLE_SPEC: Event indicating an oracle spec has been created or updated\n - BUS_EVENT_TYPE_ORACLE_DATA: Event indicating that an oracle data has been broadcast\n - BUS_EVENT_TYPE_DELEGATION_BALANCE: Event indicating that an delegation balance of a party to a node for current epoch has changed\n - BUS_EVENT_TYPE_VALIDATOR_SCORE: Event indicating the validator score for the given epoch\n - BUS_EVENT_TYPE_EPOCH_UPDATE: Event indicating the start or end of an epoch\n - BUS_EVENT_TYPE_VALIDATOR_UPDATE: Event indicating that validator node has been updated\n - BUS_EVENT_TYPE_STAKE_LINKING: Event indicating a new staking event have been processed by the network\n - BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT: Event indicating the payout of a reward has been initiated\n - BUS_EVENT_TYPE_CHECKPOINT: Event indicating a new checkpoint was created\n - BUS_EVENT_TYPE_STREAM_START: Event indicating stream is starting\n - BUS_EVENT_TYPE_KEY_ROTATION: Event indicating key rotation took place\n - BUS_EVENT_TYPE_STATE_VAR: Event indicating state transitions in state variable consensus\n - BUS_EVENT_TYPE_NETWORK_LIMITS: Event indicating network limits set or updated\n - BUS_EVENT_TYPE_TRANSFER: Event indicating a update for a transfer\n - BUS_EVENT_TYPE_VALIDATOR_RANKING: Event indicating the ranking of validator and their status in Vega\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT: Event indicating a new multi sig signer event have been processed\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD: Event indicating the erc20 multi sig threshold have been updated\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED: Event indicating a new signer has been added to the ERC-20 multisig\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED: Event indicating a signer has been removed from the ERC-20 multisig\n - BUS_EVENT_TYPE_POSITION_STATE: Event indicating that a party's position has changed\n - BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION: Event indicating Ethereum key rotation took place\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL: Event indicating protocol upgrade proposal updates\n - BUS_EVENT_TYPE_BEGIN_BLOCK: Event indicating the core is starting to process a new block\n - BUS_EVENT_TYPE_END_BLOCK: Event indicating the core finished to process a block\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED: Event indicating the core is starting a protocol upgrade\n - BUS_EVENT_TYPE_SETTLE_MARKET: Event indicating the market has stopped and settled\n - BUS_EVENT_TYPE_TRANSACTION_RESULT: Event indicating the result of a transaction processed by the network\n - BUS_EVENT_TYPE_SNAPSHOT_TAKEN: Event indicating a snapshot was taken at this block height\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY: Event data node uses to notify that it is ready to upgrade\n - BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_EXPIRED_ORDERS: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_DISTRESSED_POSITIONS: Event indicating parties have become, or were, distressed but still have an active position.\n - BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION: Event indicating a spot liquidity provision has been created or updated.\n - BUS_EVENT_TYPE_STOP_ORDER: Event indicating a stop order has been submitted or updated.\n - BUS_EVENT_TYPE_FUNDING_PERIOD: Event indicating the start or end of a funding period.\n - BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT: Event indicating a data point for a funding period has been received.\n - BUS_EVENT_TYPE_MARKET: Event indicating a market related event, for example when a market opens\n - BUS_EVENT_TYPE_TX_ERROR: Event used to report failed transactions back to a user, this is excluded from the ALL type", + "title": "Bus event type is used to specify a type of event\nIt has 2 styles of event:\nSingle values (e.g. BUS_EVENT_TYPE_ORDER) where they represent one data item\nGroup values (e.g. BUS_EVENT_TYPE_AUCTION) where they represent a group of data items" + }, + "v1CheckRawTransactionResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the transaction was checked by the node" + }, + "code": { + "type": "integer", + "format": "int64", + "title": "Check code result" + }, + "gasWanted": { + "type": "string", + "format": "int64", + "title": "Gas wanted for transaction" + }, + "gasUsed": { + "type": "string", + "format": "int64", + "title": "Gas used for transaction" + }, + "data": { + "type": "string", + "title": "Data for details" + }, + "log": { + "type": "string", + "title": "Transaction log" + }, + "info": { + "type": "string", + "title": "Information about the transaction" + } + }, + "title": "Response for checking a version agnostic transaction on Vega" + }, + "v1CheckTransactionResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the transaction was checked by the node" + }, + "code": { + "type": "integer", + "format": "int64", + "title": "Check code result" + }, + "gasWanted": { + "type": "string", + "format": "int64", + "title": "Gas wanted for transaction" + }, + "gasUsed": { + "type": "string", + "format": "int64", + "title": "Gas used for transaction" + }, + "data": { + "type": "string", + "title": "Data for details" + }, + "log": { + "type": "string", + "title": "Transaction log" + }, + "info": { + "type": "string", + "title": "Information about the transaction" + } + } + }, + "v1CheckpointEvent": { + "type": "object", + "properties": { + "hash": { + "type": "string" + }, + "blockHash": { + "type": "string" + }, + "blockHeight": { + "type": "string", + "format": "uint64" + } + } + }, + "v1Condition": { + "type": "object", + "properties": { + "operator": { + "$ref": "#/definitions/ConditionOperator", + "description": "Type of comparison to make on the value." + }, + "value": { + "type": "string", + "description": "Value to be compared with by the operator." + } + }, + "title": "Condition describes the condition that must be validated by the network" + }, + "v1CoreSnapshotData": { + "type": "object", + "properties": { + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height at which snapshot was taken" + }, + "blockHash": { + "type": "string", + "title": "Hash of the snapshot block" + }, + "coreVersion": { + "type": "string", + "description": "Semver version number of the core." + }, + "protocolUpgradeBlock": { + "type": "boolean", + "title": "Indicates if the snapshot is taken as part of protocol upgrade" + } + }, + "description": "CoreSnapshotData represents the core snapshot data." + }, + "v1CreateTeam": { + "type": "object", + "properties": { + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "description": "Creates a referral team. The team creator automatically becomes\nthe team leader, called a referrer. This cannot be changed.\nA referrer cannot already be or become a liquidity provider,\nnor can they be on an existing team as referrer or referee.", + "title": "Request for creating a referral team" + }, + "v1Data": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + } + }, + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Property" + }, + "title": "Data holds all the properties of the data" + }, + "matchedSpecIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "`matched_specs_ids` lists all the specs that matched this data.\nWhen the array is empty, it means no spec matched this data." + }, + "broadcastAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the data was broadcast to the markets\nwith a matching spec. It has no value when the data did not match any spec." + }, + "metaData": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Property" + }, + "title": "Holds all metadata properties" + }, + "error": { + "type": "string", + "description": "Error message if the data could not be sourced." + } + }, + "description": "Data describes valid source data that has been received by the node.\nIt represents both matched and unmatched data." + }, + "v1DelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Delegate to the specified node ID." + }, + "amount": { + "type": "string", + "description": "Amount of stake to delegate. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Command to submit an instruction to delegate some stake to a node" + }, + "v1DelegationBalanceEvent": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "nodeId": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "epochSeq": { + "type": "string" + } + }, + "title": "DelegationBalanceEvent - updates on the delegation balance of a party to a node in the current epoch in effect" + }, + "v1DistressedOrders": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "parties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of Party IDs i.e. each party's public key for the event" + } + }, + "title": "Distressed order contains the party IDs for all parties that were distressed and had their orders closed,\nbut did not need to be closed out after cancelling their orders" + }, + "v1DistressedPositions": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "distressedParties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of party IDs i.e. each party's public key, that are distressed but still have open volume" + }, + "safeParties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of party IDs i.e. each party's public key, who were distressed but now can safely maintain their position" + } + }, + "description": "Distressed positions event contains the party IDs for all parties that were distressed, had their orders closed but because of insufficient volume on the book\ncould not be fully closed out. These parties are distressed, but still hold an active position on the book as a result. Once enough volume is on the book to close\nthem out, a SettleDistressed event will be sent. In case they manage to reduce their position, or meet the margin requirements, this status will be updated.\nParties that are no longer distressed but active will be listed in the safe_parties field." + }, + "v1ERC20MultiSigSignerAdded": { + "type": "object", + "properties": { + "signatureId": { + "type": "string", + "title": "ID of the signature bundle" + }, + "validatorId": { + "type": "string", + "title": "Node ID of the Vega node to be added" + }, + "timestamp": { + "type": "string", + "format": "int64", + "title": "Time at which this happened" + }, + "newSigner": { + "type": "string", + "title": "Ethereum address of the new signer" + }, + "submitter": { + "type": "string", + "title": "Address of the submitter of the transaction" + }, + "nonce": { + "type": "string", + "description": "Nonce used." + }, + "epochSeq": { + "type": "string", + "title": "Epoch that the node was added for" + } + } + }, + "v1ERC20MultiSigSignerEvent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1ERC20MultiSigSignerEventType" + }, + "signer": { + "type": "string" + }, + "nonce": { + "type": "string" + }, + "blockTime": { + "type": "string", + "format": "int64" + }, + "txHash": { + "type": "string" + }, + "logIndex": { + "type": "string", + "format": "uint64" + }, + "blockNumber": { + "type": "string", + "format": "uint64" + } + } + }, + "v1ERC20MultiSigSignerEventType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ADDED", + "TYPE_REMOVED" + ], + "default": "TYPE_UNSPECIFIED" + }, + "v1ERC20MultiSigSignerRemoved": { + "type": "object", + "properties": { + "signatureSubmitters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ERC20MultiSigSignerRemovedSubmitter" + }, + "title": "List containing all the IDs of bundle generated\nThere should be one bundle generated for every validators\nin the validator set" + }, + "validatorId": { + "type": "string", + "title": "Node ID of the Vega node which is to be removed" + }, + "timestamp": { + "type": "string", + "format": "int64", + "title": "Time at which this happened" + }, + "oldSigner": { + "type": "string", + "title": "Ethereum address of the signer to be removed" + }, + "nonce": { + "type": "string", + "description": "Nonce used." + }, + "epochSeq": { + "type": "string", + "title": "Epoch that the node was removed for" + } + } + }, + "v1ERC20MultiSigSignerRemovedSubmitter": { + "type": "object", + "properties": { + "signatureId": { + "type": "string", + "description": "Signature ID of the signer removed." + }, + "submitter": { + "type": "string", + "title": "Address of the submitter of the transaction" + } + } + }, + "v1ERC20MultiSigThresholdSetEvent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "newThreshold": { + "type": "integer", + "format": "int64" + }, + "nonce": { + "type": "string" + }, + "blockTime": { + "type": "string", + "format": "int64" + }, + "txHash": { + "type": "string" + }, + "logIndex": { + "type": "string", + "format": "uint64" + }, + "blockNumber": { + "type": "string", + "format": "uint64" + } + } + }, + "v1ETHAddress": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "v1EndBlock": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64" + } + }, + "title": "EndBlock" + }, + "v1EpochEvent": { + "type": "object", + "properties": { + "seq": { + "type": "string", + "format": "uint64", + "title": "Sequence number that increases by one each epoch" + }, + "action": { + "$ref": "#/definitions/vegaEpochAction", + "title": "Action tells us what action is taking place" + }, + "startTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch started" + }, + "expireTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch should end" + }, + "endTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch actually ended" + } + }, + "title": "Epoch details" + }, + "v1EthereumKeyRotateSubmission": { + "type": "object", + "properties": { + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newAddress": { + "type": "string", + "description": "New address to rotate to." + }, + "currentAddress": { + "type": "string", + "description": "Currently used public address." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature that can be verified using the new ethereum address." + } + }, + "title": "Transaction to allow a validator to rotate their ethereum keys" + }, + "v1EthereumKeyRotation": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the node that rotated their Ethereum key" + }, + "oldAddress": { + "type": "string", + "title": "Ethereum address that was previously associated with the node" + }, + "newAddress": { + "type": "string", + "title": "Ethereum address that is newly associated with the node" + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height when the key rotation took effect" + } + }, + "title": "Event that contains information about an Ethereum key rotation" + }, + "v1ExpiredOrders": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "orderIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of expired order IDs" + } + } + }, + "v1ExternalData": { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/v1Data" + } + } + }, + "v1Filter": { + "type": "object", + "properties": { + "key": { + "$ref": "#/definitions/v1PropertyKey", + "description": "Data source's data property key targeted by the filter." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that should be matched by the data to be\nconsidered of interest." + } + }, + "description": "Filter describes the conditions under which a data source data is considered of\ninterest or not." + }, + "v1FundingPeriod": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "ID of the market for which this funding period relates to." + }, + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the funding period." + }, + "start": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the funding period started." + }, + "end": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the funding period ended." + }, + "fundingPayment": { + "type": "string", + "description": "Funding payment for this period as the difference between the time-weighted average price of the external and internal data point." + }, + "fundingRate": { + "type": "string", + "description": "Percentage difference between the time-weighted average price of the external and internal data point." + }, + "internalTwap": { + "type": "string", + "description": "TWAP for this period based on the internal data-points." + }, + "externalTwap": { + "type": "string", + "description": "TWAP for this period based on the external data-points." + } + }, + "description": "Event notifying on the details of a funding interval for a perpetuals market." + }, + "v1FundingPeriodDataPoint": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID which the data point relates to." + }, + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the funding period this data point belongs to." + }, + "dataPointType": { + "$ref": "#/definitions/FundingPeriodDataPointSource", + "description": "Origin of the data point." + }, + "price": { + "type": "string", + "description": "Price of the asset as seen by this data point." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the data point was received." + }, + "twap": { + "type": "string", + "description": "The TWAP for this source with this data-point added." + } + }, + "description": "Event notifying a data point for a funding period." + }, + "v1GetSpamStatisticsResponse": { + "type": "object", + "properties": { + "chainId": { + "type": "string", + "description": "Chain ID for which the statistics are captured." + }, + "statistics": { + "$ref": "#/definitions/v1SpamStatistics", + "title": "Spam statistics for the party" + } + }, + "title": "Response containing all the spam statistics of a party for the current epoch" + }, + "v1GetVegaTimeResponse": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "title": "Timestamp representation of current VegaTime as represented in\nUnix nanoseconds, for example `1580473859111222333` corresponds to `2020-01-31T12:30:59.111222333Z`" + } + }, + "title": "Response for the current consensus coordinated time on the Vega network, referred to as \"VegaTime\"" + }, + "v1IcebergOpts": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is made visible and can be traded with during the execution of a single order." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "Minimum allowed remaining size of the order before it is replenished back to its peak size." + } + }, + "title": "Iceberg order options" + }, + "v1InternalTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "int64", + "description": "Trigger when the vega time is greater or equal to this time, in Unix seconds." + }, + "every": { + "type": "string", + "format": "int64", + "description": "Repeat the trigger every n seconds after the initial. If no time for\ninitial was specified, begin repeating immediately." + } + }, + "description": "Trigger for an internal time data source." + }, + "v1IssueSignatures": { + "type": "object", + "properties": { + "submitter": { + "type": "string", + "description": "Ethereum address which will submit the signatures to the smart contract." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "What kind of signatures to generate, namely for whether a signer is being added or removed." + }, + "validatorNodeId": { + "type": "string", + "description": "Node ID of the validator node that will be signed in or out of the smart contract." + } + }, + "title": "Transaction for a validator to submit signatures to a smart contract" + }, + "v1JoinTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to join." + } + }, + "description": "A party that joins a referral team is called a referee. A referee cannot\nbe a liquidity provider, nor can they create a team or join multiple teams.\nTo switch teams, the referee can ask to join another team, and the switch will\nbe effective at the end of the epoch.", + "title": "Request to join a team" + }, + "v1KeyRotateSubmission": { + "type": "object", + "properties": { + "newPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "New Vega public key derivation index." + }, + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newPubKey": { + "type": "string", + "description": "New public key to rotate to." + }, + "currentPubKeyHash": { + "type": "string", + "description": "Hash of currently used public key." + } + }, + "title": "Transaction to allow a validator to rotate their Vega keys" + }, + "v1KeyRotation": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the node that rotated their Vega key" + }, + "oldPubKey": { + "type": "string", + "title": "Vega public key that was previously associated with the node" + }, + "newPubKey": { + "type": "string", + "title": "Vega public key that is newly associated with the node" + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height when the key rotation took effect" + } + }, + "title": "Event that contains information about a Vega key rotation" + }, + "v1LastBlockHeightResponse": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64", + "title": "Last block height" + }, + "hash": { + "type": "string", + "title": "Last block hash" + }, + "spamPowHashFunction": { + "type": "string", + "title": "Supported proof of work hash function" + }, + "spamPowDifficulty": { + "type": "integer", + "format": "int64", + "title": "Difficulty of the proof of work, i.e. the target number of zeros" + }, + "spamPowNumberOfPastBlocks": { + "type": "integer", + "format": "int64", + "title": "Supported proof of work number of blocks behind current height allowed" + }, + "spamPowNumberOfTxPerBlock": { + "type": "integer", + "format": "int64", + "title": "Allowed number of transactions per block" + }, + "spamPowIncreasingDifficulty": { + "type": "boolean", + "title": "Boolean indicating whether increasing difficulty is allowed for using the\nsame height for more than `spam_pow_number_of_past_blocks` transactions" + }, + "chainId": { + "type": "string", + "title": "Network chain id from which the block comes from" + } + }, + "title": "Response with the height of the last block processed by\ntendermint" + }, + "v1LedgerMovements": { + "type": "object", + "properties": { + "ledgerMovements": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerMovement" + }, + "title": "One or more entries containing internal transfer information" + } + }, + "title": "Transfer responses event contains a collection of transfer information" + }, + "v1LiquidityProvisionAmendment": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be amended." + }, + "commitmentAmount": { + "type": "string", + "description": "From here at least one of the following is required to consider the command valid." + }, + "fee": { + "type": "string" + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "reference": { + "type": "string" + } + }, + "title": "Amend a liquidity provision request" + }, + "v1LiquidityProvisionCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be cancelled." + } + }, + "title": "Cancel a liquidity provision request" + }, + "v1LiquidityProvisionSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled using the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "reference": { + "type": "string", + "description": "Reference to be added to every order created out of this liquidity provision submission." + } + }, + "title": "A liquidity provision submitted for a given market" + }, + "v1LossSocialization": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID (public key) for the event" + }, + "amount": { + "type": "string", + "title": "Amount distributed" + } + }, + "title": "Loss socialization event contains details on the amount of wins unable to be distributed" + }, + "v1MarketEvent": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "payload": { + "type": "string", + "title": "Payload is a unique information string" + } + }, + "title": "MarketEvent - the common denominator for all market events\ninterface has a method to return a string for logging" + }, + "v1MarketTick": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Market ID for the event" + }, + "time": { + "type": "string", + "format": "int64", + "title": "Timestamp containing latest update from Vega blockchain aka Vega-time" + } + }, + "title": "Market tick event contains the time value for when a particular market was last processed on Vega" + }, + "v1NodeSignature": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the resource being signed." + }, + "sig": { + "type": "string", + "format": "byte", + "description": "The signature generated by the signer." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "Kind of resource being signed." + } + }, + "title": "Represents a signature from a validator, to be used by a foreign chain in order to recognise a decision taken by the Vega network" + }, + "v1NodeSignatureKind": { + "type": "string", + "enum": [ + "NODE_SIGNATURE_KIND_UNSPECIFIED", + "NODE_SIGNATURE_KIND_ASSET_NEW", + "NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED", + "NODE_SIGNATURE_KIND_ASSET_UPDATE" + ], + "default": "NODE_SIGNATURE_KIND_UNSPECIFIED", + "description": "- NODE_SIGNATURE_KIND_UNSPECIFIED: Represents an unspecified or missing value from the input\n - NODE_SIGNATURE_KIND_ASSET_NEW: Represents a signature for a new asset allow-listing\n - NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL: Represents a signature for an asset withdrawal\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED: Represents a signature for a new signer added to the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED: Represents a signature for a signer removed from the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ASSET_UPDATE: Represents a signature for an asset update allow-listing", + "title": "Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc" + }, + "v1ObserveEventBusResponse": { + "type": "object", + "properties": { + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/v1BusEvent" + }, + "description": "One or more events that match the subscription request criteria." + } + }, + "title": "Response to a subscribed stream of events from the Vega event bus" + }, + "v1OneOffGovernanceTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64" + } + } + }, + "v1OracleDataSubmission": { + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/OracleDataSubmissionOracleSource", + "description": "Source from which the data is coming from. Must be base64 encoded.\nOracle data is a type of external data source data." + }, + "payload": { + "type": "string", + "format": "byte", + "description": "Data provided by the data source\nIn the case of Open Oracle - it will be the entire object - it will contain messages, signatures and price data." + } + }, + "title": "Command to submit new Oracle data from third party providers" + }, + "v1OrderAmendment": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Order ID, this is required to find the order and will not be updated, required field." + }, + "marketId": { + "type": "string", + "description": "Market ID, this is required to find the order and will not be updated." + }, + "price": { + "type": "string", + "description": "Amend the price for the order if the price value is set, otherwise price will remain unchanged.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "sizeDelta": { + "type": "string", + "format": "int64", + "description": "Amend the size for the order by the delta specified:\n- To reduce the size from the current value set a negative integer value\n- To increase the size from the current value, set a positive integer value\n- To leave the size unchanged set a value of zero\nThis field needs to be scaled using the market's position decimal places." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Amend the expiry time for the order, if the Timestamp value is set, otherwise expiry time will remain unchanged." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Amend the time in force for the order, set to TIME_IN_FORCE_UNSPECIFIED to remain unchanged." + }, + "peggedOffset": { + "type": "string", + "description": "Amend the pegged order offset for the order. This field is an unsigned integer scaled to the market's decimal places." + }, + "peggedReference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Amend the pegged order reference for the order." + } + }, + "title": "An order amendment is a request to amend or update an existing order on Vega" + }, + "v1OrderCancellation": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID for the order. This is set by the system after consensus. Required field." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + } + }, + "title": "Order cancellation is a request to cancel an existing order on Vega" + }, + "v1OrderSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places,\nrequired field for limit orders, however it is not required for market orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of units, cannot be negative." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL, required field." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Time in force indicates how long an order will remain active before it is executed or expires, required field." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire,\nrequired field only for `Order.TimeInForce`.TIME_IN_FORCE_GTT`." + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order, required field - See `Order.Type`." + }, + "reference": { + "type": "string", + "description": "Reference given for the order, this is typically used to retrieve an order submitted through consensus, currently\nset internally by the node to return a unique reference ID for the order submission." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Used to specify the details for a pegged order." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOpts": { + "$ref": "#/definitions/v1IcebergOpts", + "description": "Parameters used to specify an iceberg order." + } + }, + "title": "Order submission is a request to submit or create a new order on Vega" + }, + "v1PoWBlockState": { + "type": "object", + "properties": { + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height for the current Proof of Work state statistics" + }, + "blockHash": { + "type": "string", + "title": "Hash of the current block" + }, + "transactionsSeen": { + "type": "string", + "format": "uint64", + "title": "Total number of transactions seen in the block" + }, + "expectedDifficulty": { + "type": "string", + "format": "uint64", + "description": "This is the minimum required difficulty for the next transaction submitted on this block\nif it is possible to submit more transactions on this block, otherwise nil." + }, + "hashFunction": { + "type": "string", + "title": "Hashing function used to calculate the block hash" + }, + "difficulty": { + "type": "string", + "format": "uint64", + "title": "Base difficulty for this block for when transactions seen \u003c tx_per_block" + }, + "txPerBlock": { + "type": "string", + "format": "uint64", + "title": "Number of transactions that can have their proof-of-work calculated with this block hash before\neither the difficulty increases, or no more transactions can use this block hash" + }, + "increasingDifficulty": { + "type": "boolean", + "title": "Whether or not this block allows for increasing proof-of-work difficulty if the\ntx-per-block-hash limit has been reached" + } + }, + "title": "Proof of Work state for a given block" + }, + "v1PoWStatistic": { + "type": "object", + "properties": { + "blockStates": { + "type": "array", + "items": { + "$ref": "#/definitions/v1PoWBlockState" + }, + "title": "Block state for each block in scope for PoW calculation" + }, + "bannedUntil": { + "type": "string", + "title": "PoW banned until timestamp as RFC3339Nano" + }, + "numberOfPastBlocks": { + "type": "string", + "format": "uint64", + "title": "Number of block behind the current block whose hash can be used for proof-of-work calculations" + } + }, + "title": "Proof of work statistics for a party" + }, + "v1PositionResolution": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "distressed": { + "type": "string", + "format": "int64", + "title": "Number of distressed traders" + }, + "closed": { + "type": "string", + "format": "int64", + "title": "Number of close outs" + }, + "markPrice": { + "type": "string", + "title": "Mark price as a string representing a scaled price" + } + }, + "title": "Position resolution event contains information on distressed trades" + }, + "v1PositionStateEvent": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Party ID for this position update" + }, + "marketId": { + "type": "string", + "title": "Market ID for this position update" + }, + "size": { + "type": "string", + "format": "int64", + "title": "Current position" + }, + "potentialBuys": { + "type": "string", + "format": "int64", + "title": "Potential orders" + }, + "potentialSells": { + "type": "string", + "format": "int64" + }, + "vwBuyPrice": { + "type": "string", + "title": "Volume weighted prices" + }, + "vwSellPrice": { + "type": "string" + } + }, + "title": "Position state event contains the current position state for a single party in a single market" + }, + "v1ProofOfWork": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "description": "Unique transaction identifier used to seed the proof-of-work hash." + }, + "nonce": { + "type": "string", + "format": "uint64", + "description": "Number which, combined with the transaction identifier, will produce a hash with the required number of leading zeros to be accepted by the network." + } + }, + "title": "Components needed for the network to verify proof-of-work" + }, + "v1PropagateChainEventResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the event was accepted by the node,\n**Important** - success does not mean that the event is confirmed by consensus" + } + }, + "title": "Response for a new event sent by the blockchain queue to be propagated on Vega" + }, + "v1Property": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "value": { + "type": "string", + "description": "Value of the property." + } + }, + "description": "Property describes one property of data spec with a key with its value." + }, + "v1PropertyKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "type": { + "$ref": "#/definitions/v1PropertyKeyType", + "description": "Data type of the property." + }, + "numberDecimalPlaces": { + "type": "string", + "format": "uint64", + "title": "Optional decimal place to be be applied on the provided value\nvalid only for PropertyType of type DECIMAL and INTEGER" + } + }, + "description": "PropertyKey describes the property key contained in data source data." + }, + "v1PropertyKeyType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_EMPTY", + "TYPE_INTEGER", + "TYPE_STRING", + "TYPE_BOOLEAN", + "TYPE_DECIMAL", + "TYPE_TIMESTAMP" + ], + "default": "TYPE_UNSPECIFIED", + "description": "Type describes the data type of properties that are supported by the data source\nengine.\n\n - TYPE_UNSPECIFIED: The default value.\n - TYPE_EMPTY: Any type.\n - TYPE_INTEGER: Integer type.\n - TYPE_STRING: String type.\n - TYPE_BOOLEAN: Boolean type.\n - TYPE_DECIMAL: Any floating point decimal type.\n - TYPE_TIMESTAMP: Timestamp date type." + }, + "v1ProposalSubmission": { + "type": "object", + "properties": { + "reference": { + "type": "string", + "description": "Reference identifying the proposal." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + } + }, + "title": "Command to submit a new proposal for the\nVega network governance" + }, + "v1ProtocolUpgradeDataNodeReady": { + "type": "object", + "properties": { + "lastBlockHeight": { + "type": "string", + "format": "uint64" + } + }, + "title": "Event indicating the data node is ready for protocol upgrade" + }, + "v1ProtocolUpgradeEvent": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height at which to perform the upgrade" + }, + "vegaReleaseTag": { + "type": "string", + "title": "Release tag for the vega binary" + }, + "approvers": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tendermint validators that have agreed to the upgrade" + }, + "status": { + "$ref": "#/definitions/v1ProtocolUpgradeProposalStatus", + "title": "Status of the proposal" + } + } + }, + "v1ProtocolUpgradeProposal": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "description": "Block height at which to perform the upgrade." + }, + "vegaReleaseTag": { + "type": "string", + "description": "Release tag for the Vega binary." + } + }, + "title": "Transaction for a validator to suggest a protocol upgrade" + }, + "v1ProtocolUpgradeProposalStatus": { + "type": "string", + "enum": [ + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED" + ], + "default": "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "title": "- PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING: The proposal is pending\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED: The proposal is approved\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED: The proposal is rejected" + }, + "v1ProtocolUpgradeStarted": { + "type": "object", + "properties": { + "lastBlockHeight": { + "type": "string", + "format": "uint64" + } + }, + "title": "Event indicating the core is starting a protocol upgrade" + }, + "v1PubKey": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + }, + "description": "PubKey is the public key that signed this data.\nDifferent public keys coming from different sources will be further separated." + }, + "v1RecurringGovernanceTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64" + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy" + } + } + }, + "v1RewardPayoutEvent": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "epochSeq": { + "type": "string" + }, + "asset": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "percentOfTotalReward": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "rewardType": { + "type": "string" + }, + "market": { + "type": "string" + } + } + }, + "v1SettleDistressed": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID i.e. a party's public key for the event" + }, + "margin": { + "type": "string", + "title": "Margin value as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places" + }, + "price": { + "type": "string", + "title": "Price as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places" + } + }, + "title": "Settle distressed event contains information on distressed trading parties who are closed out" + }, + "v1SettleMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "price": { + "type": "string", + "title": "Price of settlement as a string" + }, + "positionFactor": { + "type": "string", + "title": "Position factor - 10 ^ number of position decimal places" + } + }, + "title": "Settle market event to notify data node that a market has been settled\nso positions and PL can be updated accordingly" + }, + "v1SettlePosition": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID (public key) for the event" + }, + "price": { + "type": "string", + "title": "Price of settlement as a string" + }, + "tradeSettlements": { + "type": "array", + "items": { + "$ref": "#/definitions/v1TradeSettlement" + }, + "title": "A collection of 1 or more trade settlements" + }, + "positionFactor": { + "type": "string", + "title": "Position factor - 10 ^ number of position decimal places" + } + }, + "title": "Settle position event contains position settlement information for a party" + }, + "v1Signature": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Hex encoded bytes of the signature." + }, + "algo": { + "type": "string", + "description": "Algorithm used to create the signature." + }, + "version": { + "type": "integer", + "format": "int64", + "description": "Version of the signature used to create the signature." + } + }, + "description": "Signature to authenticate a transaction and to be verified by the Vega\nnetwork." + }, + "v1Signer": { + "type": "object", + "properties": { + "pubKey": { + "$ref": "#/definitions/v1PubKey", + "description": "List of authorized public keys that signed the data for this\nsource. All the public keys in the data should be contained in these\npublic keys." + }, + "ethAddress": { + "$ref": "#/definitions/v1ETHAddress", + "description": "In case of an open oracle - Ethereum address will be submitted." + } + } + }, + "v1SpamStatistic": { + "type": "object", + "properties": { + "countForEpoch": { + "type": "string", + "format": "uint64", + "title": "Current transaction count received from the party during this epoch for this policy" + }, + "maxForEpoch": { + "type": "string", + "format": "uint64", + "title": "Maximum number of transactions allowed for this policy in an epoch" + }, + "bannedUntil": { + "type": "string", + "title": "If blocked the timestamp when the party will be unblocked as RFC3339Nano" + }, + "minTokensRequired": { + "type": "string", + "title": "Effective minimum number of tokens required to submit a transaction of this type" + } + }, + "title": "Statistics for a given spam policy" + }, + "v1SpamStatistics": { + "type": "object", + "properties": { + "proposals": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for proposal transactions made by the party" + }, + "delegations": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for delegation transactions made by the party" + }, + "transfers": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for transfer transactions made by the party" + }, + "nodeAnnouncements": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for node announcement transactions made by the party" + }, + "votes": { + "$ref": "#/definitions/v1VoteSpamStatistics", + "title": "Statistics for proposal votes made by the party" + }, + "pow": { + "$ref": "#/definitions/v1PoWStatistic", + "title": "Statistics for proof of work difficulty observed per block for the party" + }, + "issueSignatures": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for multisig signatures issued for the party" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Epoch in which these statistics apply to" + } + }, + "title": "Complete spam statistics captured for a given party" + }, + "v1StakeLinking": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Internal ID for this staking event" + }, + "type": { + "$ref": "#/definitions/v1StakeLinkingType", + "description": "Stake linking event type." + }, + "ts": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the event was emitted by Ethereum." + }, + "party": { + "type": "string", + "description": "Party to whom the event is directed at." + }, + "amount": { + "type": "string", + "description": "Amount of stake deposited or removed." + }, + "status": { + "$ref": "#/definitions/v1StakeLinkingStatus", + "description": "Status of the event." + }, + "finalizedAt": { + "type": "string", + "format": "int64", + "description": "Time at which the Vega network finalised the state of the event." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction in which the event happened." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Block when the event happened." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Block time." + }, + "logIndex": { + "type": "string", + "format": "uint64", + "description": "Log index." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum address from which the stake link was initiated." + } + }, + "title": "StakeLinking - an event notifying of stake being deposited or removed for a given party\nThese events are emitted for every Staking deposit or removed accepted by the network" + }, + "v1StakeLinkingStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_ACCEPTED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates an event waiting for confirmation from the Vega network\n - STATUS_ACCEPTED: Indicates an event accepted by the Vega network\n - STATUS_REJECTED: Indicates an event rejected by the Vega network" + }, + "v1StakeLinkingType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LINK", + "TYPE_UNLINK" + ], + "default": "TYPE_UNSPECIFIED", + "title": "- TYPE_UNSPECIFIED: Default value\n - TYPE_LINK: Indicate of a stake deposit instruction\n - TYPE_UNLINK: Indicate of a stake remove instruction" + }, + "v1StateVar": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "eventId": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "title": "StateVar event updates on state changes in state variable consensus" + }, + "v1Statistics": { + "type": "object", + "properties": { + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Current block height as reported by the Vega blockchain" + }, + "backlogLength": { + "type": "string", + "format": "uint64", + "title": "Current backlog length i.e., number of transactions, that are waiting to be included in a block" + }, + "totalPeers": { + "type": "string", + "format": "uint64", + "title": "Total number of connected peers to this node" + }, + "genesisTime": { + "type": "string", + "title": "Genesis block date and time formatted in ISO-8601 datetime format with nanosecond precision" + }, + "currentTime": { + "type": "string", + "title": "Current system date and time formatted in ISO-8601 datetime format with nanosecond precision" + }, + "vegaTime": { + "type": "string", + "title": "Current Vega date and time formatted in ISO-8601 datetime format with nanosecond precision" + }, + "status": { + "$ref": "#/definitions/vegaChainStatus", + "title": "Status of the connection to the Vega blockchain" + }, + "txPerBlock": { + "type": "string", + "format": "uint64", + "title": "Transactions per block" + }, + "averageTxBytes": { + "type": "string", + "format": "uint64", + "title": "Average transaction size in bytes" + }, + "averageOrdersPerBlock": { + "type": "string", + "format": "uint64", + "title": "Average orders per block" + }, + "tradesPerSecond": { + "type": "string", + "format": "uint64", + "title": "Trades emitted per second" + }, + "ordersPerSecond": { + "type": "string", + "format": "uint64", + "title": "Orders processed per second" + }, + "totalMarkets": { + "type": "string", + "format": "uint64", + "title": "Total markets on this Vega network" + }, + "totalAmendOrder": { + "type": "string", + "format": "uint64", + "title": "Total number of order amendments since genesis across all markets" + }, + "totalCancelOrder": { + "type": "string", + "format": "uint64", + "title": "Total number of order cancellations since genesis across all markets" + }, + "totalCreateOrder": { + "type": "string", + "format": "uint64", + "title": "Total number of order submissions since genesis across all markets" + }, + "totalOrders": { + "type": "string", + "format": "uint64", + "title": "Total number of orders processed since genesis across all markets" + }, + "totalTrades": { + "type": "string", + "format": "uint64", + "title": "Total number of trades emitted since genesis across all markets" + }, + "orderSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to order data" + }, + "tradeSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to trade data" + }, + "candleSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to candlestick data" + }, + "marketDepthSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to market depth data" + }, + "positionsSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to positions data" + }, + "accountSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to account data" + }, + "marketDataSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to market data" + }, + "appVersionHash": { + "type": "string", + "title": "Version hash of the Vega node software" + }, + "appVersion": { + "type": "string", + "title": "Version of the Vega node software" + }, + "chainVersion": { + "type": "string", + "title": "Version of the underlying Vega blockchain" + }, + "blockDuration": { + "type": "string", + "format": "uint64", + "title": "Current block duration, in nanoseconds" + }, + "uptime": { + "type": "string", + "title": "Total uptime for this node formatted in ISO-8601 datetime format with nanosecond precision" + }, + "chainId": { + "type": "string", + "title": "Unique ID for the underlying Vega blockchain" + }, + "marketDepthUpdatesSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to market depth update data" + }, + "blockHash": { + "type": "string", + "title": "Current block hash" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Current epoch" + }, + "epochStartTime": { + "type": "string", + "title": "Epoch start time" + }, + "epochExpiryTime": { + "type": "string", + "title": "Epoch expected end time" + }, + "eventCount": { + "type": "string", + "format": "uint64", + "title": "Number of events in the last block" + }, + "eventsPerSecond": { + "type": "string", + "format": "uint64", + "title": "Rate of events per second in the last block" + } + }, + "title": "Vega domain specific statistics as reported by the node the caller is connected to" + }, + "v1StatisticsResponse": { + "type": "object", + "properties": { + "statistics": { + "$ref": "#/definitions/v1Statistics" + } + }, + "title": "Response containing statistics about the Vega network" + }, + "v1StopOrderEvent": { + "type": "object", + "properties": { + "submission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "stopOrder": { + "$ref": "#/definitions/vegaStopOrder" + } + } + }, + "v1StopOrderSetup": { + "type": "object", + "properties": { + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission", + "description": "Order to be submitted once the trigger is breached." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "description": "Trailing percentage at which the order will be submitted." + } + }, + "title": "Price and expiry configuration for a stop order" + }, + "v1StopOrdersCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Optional market ID." + }, + "stopOrderId": { + "type": "string", + "description": "Optional order ID." + } + }, + "title": "Cancel a stop order.\nThe following combinations are available:\nEmpty object will cancel all stop orders for the party\nMarket ID alone will cancel all stop orders in a market\nMarket ID and order ID will cancel a specific stop order in a market\nIf the stop order is part of an OCO, both stop orders will be cancelled" + }, + "v1StopOrdersSubmission": { + "type": "object", + "properties": { + "risesAbove": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price rises above a given trigger price." + }, + "fallsBelow": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price falls below a given trigger price." + } + }, + "title": "Stop order submission submits stops orders.\nIt is possible to make a single stop order submission by\nspecifying a single direction,\nor an OCO (One Cancels the Other) stop order submission\nby specifying a configuration for both directions" + }, + "v1SubmitRawTransactionRequestType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ASYNC", + "TYPE_SYNC", + "TYPE_COMMIT" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_ASYNC: Transaction will be submitted without waiting for response\n - TYPE_SYNC: Transaction will be submitted, and blocking until the\ntendermint mempool returns a response\n - TYPE_COMMIT: Transaction will be submitted, and blocking until the tendermint\nnetwork has committed it into a block. Used only for debugging,\nnot for submitting transactions", + "title": "Blockchain transaction type" + }, + "v1SubmitRawTransactionResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the transaction was accepted by the node,\n**Important** - success does not mean that the event is confirmed by consensus" + }, + "txHash": { + "type": "string", + "title": "Hash of the transaction, if accepted" + }, + "code": { + "type": "integer", + "format": "int64" + }, + "data": { + "type": "string" + }, + "log": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + } + }, + "title": "Response for submitting a version agnostic transaction on Vega" + }, + "v1SubmitTransactionRequestType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ASYNC", + "TYPE_SYNC", + "TYPE_COMMIT" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_ASYNC: Transaction will be submitted without waiting for response\n - TYPE_SYNC: Transaction will be submitted, and blocking until the\ntendermint mempool returns a response\n - TYPE_COMMIT: Transaction will be submitted, and blocking until the tendermint\nnetwork has committed it into a block. Used only for debugging,\nnot for submitting transactions", + "title": "Blockchain transaction type" + }, + "v1SubmitTransactionResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the transaction was accepted by the node,\n**Important** - success does not mean that the event is confirmed by consensus" + }, + "txHash": { + "type": "string", + "title": "Hash of the transaction, if accepted" + }, + "code": { + "type": "integer", + "format": "int64", + "title": "Result code for success if unsuccessful" + }, + "data": { + "type": "string", + "title": "Data for details" + }, + "log": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64", + "title": "Height for commit" + } + }, + "title": "Response for submitting a transaction v2 on Vega" + }, + "v1TimeUpdate": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "title": "Timestamp containing latest update from Vega blockchain aka Vega-time" + } + }, + "title": "Time update event contains the latest time update from Vega blockchain and indicates the start of a new block" + }, + "v1TradeSettlement": { + "type": "object", + "properties": { + "size": { + "type": "string", + "format": "int64", + "title": "Size of trade settlement" + }, + "price": { + "type": "string", + "title": "Price of settlement as string (in asset decimals)" + }, + "marketPrice": { + "type": "string", + "title": "Price of settlement as a string (in market decimals)" + } + }, + "title": "Trade settlement is part of the settle position event" + }, + "v1Transaction": { + "type": "object", + "properties": { + "inputData": { + "type": "string", + "format": "byte", + "description": "One of the set of Vega commands.\nThese bytes are should be built as follows:\n chain_id_as_bytes + \\0 character as delimiter + proto_marshalled_command." + }, + "signature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature of the input data." + }, + "address": { + "type": "string", + "description": "Hex-encoded address of the sender. Not supported yet." + }, + "pubKey": { + "type": "string", + "description": "Hex-encoded public key of the sender." + }, + "version": { + "$ref": "#/definitions/v1TxVersion", + "description": "Version of the transaction, to be used in the future in case changes are implemented\nto the transaction format." + }, + "pow": { + "$ref": "#/definitions/v1ProofOfWork", + "description": "Proof of work contains the random transaction id used by the client and the nonce." + } + }, + "description": "Represents a transaction to be sent to Vega." + }, + "v1TransactionResult": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Unique party ID for the related party" + }, + "status": { + "type": "boolean", + "description": "Status of the transaction, did it succeed or an error was raised." + }, + "hash": { + "type": "string", + "title": "Hash of the transaction" + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "proposal": { + "$ref": "#/definitions/v1ProposalSubmission" + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission" + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission" + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission" + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission" + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission" + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation" + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment" + }, + "transfer": { + "$ref": "#/definitions/vegacommandsv1Transfer" + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer" + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode" + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission" + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal" + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures" + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions" + }, + "keyRotateSubmission": { + "$ref": "#/definitions/v1KeyRotateSubmission" + }, + "ethereumKeyRotateSubmission": { + "$ref": "#/definitions/v1EthereumKeyRotateSubmission" + }, + "stopOrderSubmission": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "stopOrderCancellation": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "createTeam": { + "$ref": "#/definitions/v1CreateTeam" + }, + "updateTeam": { + "$ref": "#/definitions/v1UpdateTeam" + }, + "joinTeam": { + "$ref": "#/definitions/v1JoinTeam" + }, + "success": { + "$ref": "#/definitions/TransactionResultSuccessDetails" + }, + "failure": { + "$ref": "#/definitions/TransactionResultFailureDetails" + } + } + }, + "v1TransferStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_DONE", + "STATUS_REJECTED", + "STATUS_STOPPED", + "STATUS_CANCELLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates a transfer still being processed\n - STATUS_DONE: Indicates a transfer accepted by the Vega network\n - STATUS_REJECTED: Indicates a transfer rejected by the Vega network\n - STATUS_STOPPED: Indicates a transfer stopped by the Vega network\ne.g: no funds left to cover the transfer\n - STATUS_CANCELLED: Indicates a transfer cancelled by the user" + }, + "v1TxErrorEvent": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Unique party ID for the related party" + }, + "errMsg": { + "type": "string", + "title": "Error message describing what went wrong" + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "proposal": { + "$ref": "#/definitions/v1ProposalSubmission" + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission" + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission" + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission" + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission" + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission" + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation" + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment" + }, + "transfer": { + "$ref": "#/definitions/vegacommandsv1Transfer" + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer" + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode" + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission" + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal" + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures" + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions" + } + } + }, + "v1TxVersion": { + "type": "string", + "enum": [ + "TX_VERSION_UNSPECIFIED", + "TX_VERSION_V2", + "TX_VERSION_V3" + ], + "default": "TX_VERSION_UNSPECIFIED", + "description": "Current supported version of the transaction inside the network.\n\n - TX_VERSION_UNSPECIFIED: Represents an unspecified or missing value from the input\n - TX_VERSION_V2: This version requires the proof-of-work added to the transaction.\n - TX_VERSION_V3: This version requires the chain ID to be appended in front of the input data\nbyte, with a `\\0` delimiter." + }, + "v1UndelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Optional, if not specified = ALL.\nIf provided, this field must be an unsigned integer passed as a string\nand needs to be scaled using the asset decimal places for the token." + }, + "method": { + "$ref": "#/definitions/UndelegateSubmissionMethod", + "description": "Method of delegation." + } + } + }, + "v1UpdateTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to update." + }, + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "title": "Request for updating a team's properties" + }, + "v1ValidatorRankingEvent": { + "type": "object", + "properties": { + "nodeId": { + "type": "string" + }, + "stakeScore": { + "type": "string", + "title": "Stake based score - no anti-whaling" + }, + "performanceScore": { + "type": "string", + "title": "Performance base score" + }, + "rankingScore": { + "type": "string", + "title": "Final score" + }, + "previousStatus": { + "type": "string", + "title": "Status of the validator in the previous epoch" + }, + "nextStatus": { + "type": "string", + "title": "Status of the validator in the next epoch" + }, + "epochSeq": { + "type": "string", + "title": "Epoch seq for which the status is valid" + }, + "tmVotingPower": { + "type": "integer", + "format": "int64", + "title": "Tendermint voting power of the validator" + } + }, + "title": "Event that explains the status of the validator for the coming epoch" + }, + "v1ValidatorScoreEvent": { + "type": "object", + "properties": { + "nodeId": { + "type": "string" + }, + "epochSeq": { + "type": "string" + }, + "validatorScore": { + "type": "string" + }, + "normalisedScore": { + "type": "string" + }, + "validatorPerformance": { + "type": "string" + }, + "rawValidatorScore": { + "type": "string" + }, + "validatorStatus": { + "type": "string" + }, + "multisigScore": { + "type": "string" + } + }, + "title": "ValidatorScoreEvent is the score a validator gets for a given epoch" + }, + "v1ValidatorUpdate": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the validator node" + }, + "vegaPubKey": { + "type": "string", + "title": "Vega public key of validator node" + }, + "ethereumAddress": { + "type": "string", + "title": "Ethereum public key of validator node" + }, + "tmPubKey": { + "type": "string", + "title": "Public key of Tendermint" + }, + "infoUrl": { + "type": "string", + "title": "URL with more info on the node" + }, + "country": { + "type": "string", + "title": "Country code (ISO 3166-1 alpha-2) for the location of the node" + }, + "name": { + "type": "string", + "title": "Name of the validator" + }, + "avatarUrl": { + "type": "string", + "title": "AvatarURL of the validator" + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "title": "Vega public key derivation index" + }, + "added": { + "type": "boolean", + "title": "Flag indicating if the validator has been added to or removed from vega" + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the announced pending node will start participating in the network" + }, + "submitterAddress": { + "type": "string", + "title": "Ethereum public key being used as the submitter to allow automatic signature generation" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the node was announced or removed from the network" + } + }, + "title": "Validator update event contains information about validator node" + }, + "v1VoteSpamStatistic": { + "type": "object", + "properties": { + "proposal": { + "type": "string", + "description": "Unique ID of the proposal being voted on by the party." + }, + "countForEpoch": { + "type": "string", + "format": "uint64", + "title": "Current vote count received from the party for the given proposal during this epoch" + }, + "minTokensRequired": { + "type": "string", + "title": "Effective minimum number of tokens required to vote on the proposal" + } + }, + "description": "Vote statistics for the voting spam policies\nwhich are calculated as a ratio of the total votes\nthat have been rejected." + }, + "v1VoteSpamStatistics": { + "type": "object", + "properties": { + "statistics": { + "type": "array", + "items": { + "$ref": "#/definitions/v1VoteSpamStatistic" + }, + "title": "List of statistics for proposals voted on by the party" + }, + "maxForEpoch": { + "type": "string", + "format": "uint64", + "title": "Maximum number of votes per proposal allowed in an epoch" + }, + "bannedUntil": { + "type": "string", + "title": "If blocked the timestamp when the party will be unblocked as RFC3339Nano" + } + }, + "title": "Voting statistics by proposal for a given party for the current epoch" + }, + "v1VoteSubmission": { + "type": "object", + "properties": { + "proposalId": { + "type": "string", + "description": "Submit vote for the specified proposal ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Actual value of the vote." + } + }, + "description": "Command to submit a new vote for a governance proposal." + }, + "v1WithdrawSubmission": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to be withdrawn." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Represents the submission request to withdraw funds for a party on Vega" + }, + "vegaAccount": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique account ID, used internally by Vega." + }, + "owner": { + "type": "string", + "description": "Party that the account belongs to, special values include `network`, which represents the Vega network and is\nmost commonly seen during liquidation of distressed trading positions." + }, + "balance": { + "type": "string", + "description": "Balance of the asset, the balance is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places\nand importantly balances cannot be negative." + }, + "asset": { + "type": "string", + "description": "Asset ID for the account." + }, + "marketId": { + "type": "string", + "description": "Market ID for the account, if `AccountType.ACCOUNT_TYPE_GENERAL` this will be empty." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type related to this account." + } + }, + "title": "Represents an account for an asset on Vega for a particular owner or party" + }, + "vegaAccountDetails": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID of the asset for this account." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the account." + }, + "owner": { + "type": "string", + "description": "Not specified if network account." + }, + "marketId": { + "type": "string", + "description": "Not specified if account is not related to a market." + } + } + }, + "vegaAccountType": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ], + "default": "ACCOUNT_TYPE_UNSPECIFIED", + "description": "- ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "title": "Various collateral/account types as used by Vega" + }, + "vegaAsset": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Internal identifier of the asset." + }, + "details": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Definition of the external source for this asset." + }, + "status": { + "$ref": "#/definitions/vegaAssetStatus", + "description": "Status of the asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetails": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the asset (e.g: Great British Pound)." + }, + "symbol": { + "type": "string", + "description": "Symbol of the asset (e.g: GBP)." + }, + "decimals": { + "type": "string", + "format": "uint64", + "description": "Number of decimal / precision handled by this asset." + }, + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "builtinAsset": { + "$ref": "#/definitions/vegaBuiltinAsset", + "description": "Vega built-in asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20", + "description": "Ethereum ERC20 asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetailsUpdate": { + "type": "object", + "properties": { + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Update", + "description": "Ethereum ERC20 asset update." + } + }, + "description": "Changes to apply on an existing asset." + }, + "vegaAssetStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PROPOSED", + "STATUS_REJECTED", + "STATUS_PENDING_LISTING", + "STATUS_ENABLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_PROPOSED: Asset is proposed and under vote\n - STATUS_REJECTED: Asset has been rejected from governance\n - STATUS_PENDING_LISTING: Asset is pending listing from the bridge\n - STATUS_ENABLED: Asset is fully usable in the network" + }, + "vegaAuctionDuration": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "format": "int64", + "description": "Duration of the auction in seconds." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Target uncrossing trading volume." + } + }, + "title": "Auction duration is used to configure 3 auction periods:\n1. `duration \u003e 0`, `volume == 0`:\n The auction will last for at least N seconds\n2. `duration == 0`, `volume \u003e 0`:\n The auction will end once the given volume will match at uncrossing\n3. `duration \u003e 0`, `volume \u003e 0`:\n The auction will take at least N seconds, but can end sooner if the market can trade a certain volume" + }, + "vegaAuctionTrigger": { + "type": "string", + "enum": [ + "AUCTION_TRIGGER_UNSPECIFIED", + "AUCTION_TRIGGER_BATCH", + "AUCTION_TRIGGER_OPENING", + "AUCTION_TRIGGER_PRICE", + "AUCTION_TRIGGER_LIQUIDITY", + "AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET", + "AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS", + "AUCTION_TRIGGER_GOVERNANCE_SUSPENSION" + ], + "default": "AUCTION_TRIGGER_UNSPECIFIED", + "description": "- AUCTION_TRIGGER_UNSPECIFIED: Default value for AuctionTrigger, no auction triggered\n - AUCTION_TRIGGER_BATCH: Batch auction\n - AUCTION_TRIGGER_OPENING: Opening auction\n - AUCTION_TRIGGER_PRICE: Price monitoring trigger\n - AUCTION_TRIGGER_LIQUIDITY: Deprecated\n - AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET: Liquidity auction due to not enough committed liquidity\n - AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS: Liquidity auction due to not being able to deploy LP orders because there's nothing to peg on one or both sides of the book\n - AUCTION_TRIGGER_GOVERNANCE_SUSPENSION: Market is suspended and put into auction via governance", + "title": "Auction triggers indicate what condition triggered an auction (if market is in auction mode)" + }, + "vegaBuiltinAsset": { + "type": "object", + "properties": { + "maxFaucetAmountMint": { + "type": "string", + "description": "Maximum amount that can be requested by a party through the built-in asset faucet at a time." + } + }, + "title": "Vega internal asset" + }, + "vegaCancelTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaCancelTransferConfiguration", + "title": "Configuration for cancellation of a governance-initiated transfer" + } + } + }, + "vegaCancelTransferConfiguration": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "ID of the governance transfer proposal." + } + } + }, + "vegaChainStatus": { + "type": "string", + "enum": [ + "CHAIN_STATUS_UNSPECIFIED", + "CHAIN_STATUS_DISCONNECTED", + "CHAIN_STATUS_REPLAYING", + "CHAIN_STATUS_CONNECTED" + ], + "default": "CHAIN_STATUS_UNSPECIFIED", + "description": "- CHAIN_STATUS_UNSPECIFIED: Default value, always invalid\n - CHAIN_STATUS_DISCONNECTED: Blockchain is disconnected\n - CHAIN_STATUS_REPLAYING: Blockchain is replaying historic transactions\n - CHAIN_STATUS_CONNECTED: Blockchain is connected and receiving transactions", + "title": "Vega blockchain status as reported by the node the caller is connected to" + }, + "vegaDataSourceDefinition": { + "type": "object", + "properties": { + "internal": { + "$ref": "#/definitions/vegaDataSourceDefinitionInternal" + }, + "external": { + "$ref": "#/definitions/vegaDataSourceDefinitionExternal" + } + }, + "description": "Represents the top level object that handles data sources.\nData source definition can be external or internal, with whatever\nnumber of data sources are defined for each type in the child objects below." + }, + "vegaDataSourceDefinitionExternal": { + "type": "object", + "properties": { + "oracle": { + "$ref": "#/definitions/vegaDataSourceSpecConfiguration" + }, + "ethOracle": { + "$ref": "#/definitions/vegaEthCallSpec", + "description": "Contains the data specification that is received from Ethereum sources." + } + }, + "description": "DataSourceDefinitionExternal is the top level object used for all external\ndata sources. It contains one of any of the defined `SourceType` variants." + }, + "vegaDataSourceDefinitionInternal": { + "type": "object", + "properties": { + "time": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTime" + }, + "timeTrigger": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTimeTrigger" + } + }, + "description": "Top level object used for all internal data sources.\nIt contains one of any of the defined source type variants." + }, + "vegaDataSourceSpec": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Hash generated from the DataSpec data." + }, + "createdAt": { + "type": "string", + "format": "int64", + "title": "Creation date and time" + }, + "updatedAt": { + "type": "string", + "format": "int64", + "title": "Last Updated timestamp" + }, + "data": { + "$ref": "#/definitions/vegaDataSourceDefinition" + }, + "status": { + "$ref": "#/definitions/vegaDataSourceSpecStatus", + "title": "Status describes the status of the data source spec" + } + }, + "description": "Data source spec describes the data source base that a product or a risk\nmodel wants to get from the data source engine. This message contains\nadditional information used by the API." + }, + "vegaDataSourceSpecConfiguration": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + }, + "description": "Signers is the list of authorized signatures that signed the data for this\nsource. All the signatures in the data source data should be contained in\nthis external source. All the signatures in the data should be contained in\nthis list." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "description": "Filters describes which source data are considered of interest or not for\nthe product (or the risk model)." + } + }, + "description": "All types of external data sources use the same configuration set for meeting\nrequirements in order for the data to be useful for Vega - valid signatures\nand matching filters." + }, + "vegaDataSourceSpecConfigurationTime": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps should meet in order to be considered." + } + }, + "description": "Internal data source used for emitting timestamps." + }, + "vegaDataSourceSpecConfigurationTimeTrigger": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps need to meet in order to be considered." + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1InternalTimeTrigger" + }, + "title": "An internal time trigger" + } + }, + "description": "Internal data source used for emitting timestamps automatically using predefined intervals and conditions." + }, + "vegaDataSourceSpecStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_DEACTIVATED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value.\n - STATUS_ACTIVE: STATUS_ACTIVE describes an active data source spec.\n - STATUS_DEACTIVATED: STATUS_DEACTIVATED describes a data source spec that is not listening to\ndata anymore.", + "title": "Status describe the status of the data source spec" + }, + "vegaDataSourceSpecToFutureBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the Future will use the value of\nthis property as settlement data." + }, + "tradingTerminationProperty": { + "type": "string", + "description": "Name of the property in the data source data that signals termination of trading." + } + }, + "title": "DataSourceSpecToFutureBinding describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDataSourceSpecToPerpetualBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + }, + "settlementScheduleProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + } + }, + "title": "Describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDeposit": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the deposit." + }, + "status": { + "$ref": "#/definitions/vegaDepositStatus", + "description": "Status of the deposit." + }, + "partyId": { + "type": "string", + "description": "Party ID of the user initiating the deposit." + }, + "asset": { + "type": "string", + "description": "Vega asset targeted by this deposit." + }, + "amount": { + "type": "string", + "description": "Amount to be deposited. This field is an unsigned integer scaled to the asset's decimal places." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction from the foreign chain." + }, + "creditedTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the Vega account was updated with the deposit." + }, + "createdTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the deposit was created on the Vega network." + } + }, + "title": "Deposit on to the Vega network" + }, + "vegaDepositStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_OPEN", + "STATUS_CANCELLED", + "STATUS_FINALIZED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_OPEN: Deposit is being processed by the network\n - STATUS_CANCELLED: Deposit has been cancelled by the network\n - STATUS_FINALIZED: Deposit has been finalised and accounts have been updated", + "title": "Status of the deposit" + }, + "vegaDispatchMetric": { + "type": "string", + "enum": [ + "DISPATCH_METRIC_UNSPECIFIED", + "DISPATCH_METRIC_MAKER_FEES_PAID", + "DISPATCH_METRIC_MAKER_FEES_RECEIVED", + "DISPATCH_METRIC_LP_FEES_RECEIVED", + "DISPATCH_METRIC_MARKET_VALUE" + ], + "default": "DISPATCH_METRIC_UNSPECIFIED", + "title": "- DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that is using the total maker fees paid in the market\n - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that is using the total maker fees received in the market\n - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that is using the total LP fees received in the market\n - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that is using total value of the market if above the required threshold and not paid given proposer bonus yet" + }, + "vegaDispatchStrategy": { + "type": "object", + "properties": { + "assetForMetric": { + "type": "string", + "description": "Asset to use for metric." + }, + "metric": { + "$ref": "#/definitions/vegaDispatchMetric", + "description": "Metric to apply." + }, + "markets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional markets in scope." + } + } + }, + "vegaERC20": { + "type": "object", + "properties": { + "contractAddress": { + "type": "string", + "description": "Address of the contract for the token, on the ethereum network." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + }, + "title": "ERC20 token based asset, living on the ethereum network" + }, + "vegaERC20Update": { + "type": "object", + "properties": { + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address.\nThis will be interpreted against the asset decimals.\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + } + }, + "vegaEpochAction": { + "type": "string", + "enum": [ + "EPOCH_ACTION_UNSPECIFIED", + "EPOCH_ACTION_START", + "EPOCH_ACTION_END" + ], + "default": "EPOCH_ACTION_UNSPECIFIED", + "description": "- EPOCH_ACTION_START: Epoch update is for a new epoch.\n - EPOCH_ACTION_END: Epoch update is for the end of an epoch.", + "title": "What epoch action has occurred" + }, + "vegaErc20WithdrawExt": { + "type": "object", + "properties": { + "receiverAddress": { + "type": "string", + "description": "Address into which the bridge will release the funds." + } + }, + "title": "Extension of data required for the withdraw submissions" + }, + "vegaEthCallSpec": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Ethereum address of the contract to call." + }, + "abi": { + "type": "string", + "description": "The ABI of that contract." + }, + "method": { + "type": "string", + "description": "Name of the method on the contract to call." + }, + "args": { + "type": "array", + "items": { + "type": "object" + }, + "description": "List of arguments to pass to method call.\nProtobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum\ntype according to the ABI." + }, + "trigger": { + "$ref": "#/definitions/vegaEthCallTrigger", + "description": "Conditions for determining when to call the contract method." + }, + "requiredConfirmations": { + "type": "string", + "format": "uint64", + "title": "Number of confirmations required before the query is considered verified" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "title": "Filters the data returned from the contract method" + }, + "normalisers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNormaliser" + }, + "description": "Normalisers are used to convert the data returned from the contract method\ninto a standard format. The key of the map is the name of the property,\nwhich identifies the specific piece of data to other parts of the data\nsourcing framework, for example filters. The value is a JSONPath expression\nfor expressing where in the contract call result the required data is\nlocated, for example $[0] indicates the first result. $[1].price would look\nin the second result returned from the contract for a structure with a key\ncalled 'price' and use that if it exists." + } + }, + "description": "Specifies a data source that derives its content from calling a read method\non an Ethereum contract." + }, + "vegaEthCallTrigger": { + "type": "object", + "properties": { + "timeTrigger": { + "$ref": "#/definitions/vegaEthTimeTrigger" + } + }, + "description": "Determines when the contract method should be called." + }, + "vegaEthTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "uint64", + "description": "Trigger when the Ethereum time is greater or equal to this time, in Unix\nseconds." + }, + "every": { + "type": "string", + "format": "uint64", + "description": "Repeat the call every n seconds after the initial call. If no time for\ninitial call was specified, begin repeating immediately." + }, + "until": { + "type": "string", + "format": "uint64", + "description": "If repeating, stop once Ethereum time is greater than this time, in Unix\nseconds. If not set, then repeat indefinitely." + } + }, + "description": "Trigger for an Ethereum call based on the Ethereum block timestamp. Can be\none-off or repeating." + }, + "vegaExternalDataSourceSpec": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/definitions/vegaDataSourceSpec" + } + } + }, + "vegaFee": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Fee amount paid to the non-aggressive party of the trade. This field is an unsigned integer scaled to the asset's decimal places." + }, + "infrastructureFee": { + "type": "string", + "description": "Fee amount paid for maintaining the Vega infrastructure. This field is an unsigned integer scaled using the asset's decimal places." + }, + "liquidityFee": { + "type": "string", + "description": "Fee amount paid to market makers. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents any fees paid by a party, resulting from a trade" + }, + "vegaFeeFactors": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Market maker fee charged network wide." + }, + "infrastructureFee": { + "type": "string", + "description": "Infrastructure fee charged network wide for staking and governance." + }, + "liquidityFee": { + "type": "string", + "description": "Liquidity fee applied per market for market making." + } + }, + "title": "Fee factors definition" + }, + "vegaFees": { + "type": "object", + "properties": { + "factors": { + "$ref": "#/definitions/vegaFeeFactors", + "description": "Fee factors." + } + }, + "title": "Fees definition" + }, + "vegaFuture": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the future." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the settlement data source filter." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the trading termination data source filter." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data spec and the data source." + } + }, + "title": "Future product definition" + }, + "vegaFutureProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The external data source spec describing the data source of trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaGovernanceTransferType": { + "type": "string", + "enum": [ + "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED", + "GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING", + "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT" + ], + "default": "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED" + }, + "vegaIcebergOrder": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that will be made visible if the iceberg order is replenished after trading." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "If the visible size of the order falls below this value, it will be replenished back to the peak size using the reserved amount." + }, + "reservedRemaining": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is reserved and used to restore the iceberg's peak when it is refreshed." + } + }, + "title": "Details of an iceberg order" + }, + "vegaInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique instrument ID." + }, + "code": { + "type": "string", + "description": "Code for the instrument." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + }, + "metadata": { + "$ref": "#/definitions/vegaInstrumentMetadata", + "description": "Collection of instrument meta-data." + }, + "future": { + "$ref": "#/definitions/vegaFuture", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpot", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetual", + "description": "Perpetual." + } + }, + "title": "Instrument definition" + }, + "vegaInstrumentConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Instrument name." + }, + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaFutureProduct", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpotProduct", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaInstrumentMetadata": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of 0 or more tags." + } + }, + "title": "Instrument metadata definition" + }, + "vegaLedgerEntry": { + "type": "object", + "properties": { + "fromAccount": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "One or more accounts to transfer from." + }, + "toAccount": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "One or more accounts to transfer to." + }, + "amount": { + "type": "string", + "description": "Amount to transfer. This field is an unsigned integer scaled to the asset's decimal places." + }, + "type": { + "$ref": "#/definitions/vegaTransferType", + "description": "Transfer type for this entry." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in nanoseconds of when the ledger entry was created." + }, + "fromAccountBalance": { + "type": "string", + "description": "Sender account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places." + }, + "toAccountBalance": { + "type": "string", + "description": "Receiver account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents a ledger entry on Vega" + }, + "vegaLedgerMovement": { + "type": "object", + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerEntry" + }, + "description": "All the entries for these ledger movements." + }, + "balances": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPostTransferBalance" + }, + "description": "Resulting balances once the ledger movement are applied." + } + } + }, + "vegaLiquidityMonitoringParameters": { + "type": "object", + "properties": { + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "triggeringRatio": { + "type": "string", + "description": "Specifies the triggering ratio for entering liquidity auction." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction." + } + }, + "title": "LiquidityMonitoringParameters contains settings used for liquidity monitoring" + }, + "vegaLiquidityOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Pegged reference point for the order." + }, + "proportion": { + "type": "integer", + "format": "int64", + "description": "Relative proportion of the commitment to be allocated at a price level." + }, + "offset": { + "type": "string", + "description": "Offset/amount of units away for the order. This field is an unsigned integer scaled using the market's decimal places." + } + }, + "title": "Represents a liquidity order" + }, + "vegaLiquidityOrderReference": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID of the pegged order generated to fulfil this liquidity order." + }, + "liquidityOrder": { + "$ref": "#/definitions/vegaLiquidityOrder", + "description": "Liquidity order from the original submission." + } + }, + "title": "Pair of a liquidity order and the ID of the generated order" + }, + "vegaLiquidityProviderFeeShare": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Liquidity provider party ID." + }, + "equityLikeShare": { + "type": "string", + "description": "Share own by this liquidity provider." + }, + "averageEntryValuation": { + "type": "string", + "description": "Average entry valuation of the liquidity provider for the market." + }, + "averageScore": { + "type": "string", + "description": "Average liquidity score." + }, + "virtualStake": { + "type": "string", + "description": "The virtual stake of this liquidity provider." + } + }, + "title": "Equity like share of liquidity fee for each liquidity provider" + }, + "vegaLiquidityProvision": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the liquidity provision." + }, + "partyId": { + "type": "string", + "description": "Unique party ID for the creator of the provision." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was created." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was updated." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled to the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrderReference" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrderReference" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "version": { + "type": "string", + "format": "uint64", + "description": "Version of this liquidity provision order." + }, + "status": { + "$ref": "#/definitions/vegaLiquidityProvisionStatus", + "description": "Status of this liquidity provision order." + }, + "reference": { + "type": "string", + "description": "Reference shared between this liquidity provision and all its orders." + } + }, + "title": "Liquidity provider commitment" + }, + "vegaLiquidityProvisionStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_STOPPED", + "STATUS_CANCELLED", + "STATUS_REJECTED", + "STATUS_UNDEPLOYED", + "STATUS_PENDING" + ], + "default": "STATUS_UNSPECIFIED", + "description": "Status of a liquidity provision order.\n\n - STATUS_UNSPECIFIED: Always invalid\n - STATUS_ACTIVE: Liquidity provision is active\n - STATUS_STOPPED: Liquidity provision was stopped by the network\n - STATUS_CANCELLED: Liquidity provision was cancelled by the liquidity provider\n - STATUS_REJECTED: Liquidity provision was invalid and got rejected\n - STATUS_UNDEPLOYED: Liquidity provision is valid and accepted by network, but orders aren't deployed\n - STATUS_PENDING: Liquidity provision is valid and accepted by network\nbut has never been deployed. If when it's possible to deploy the orders for the first time\nmargin check fails, then they will be cancelled without any penalties." + }, + "vegaLiquiditySLAParameters": { + "type": "object", + "properties": { + "priceRange": { + "type": "string" + }, + "commitmentMinTimeFraction": { + "type": "string", + "description": "Specifies the minimum fraction of time LPs must spend \"on the book\" providing their committed liquidity." + }, + "providersFeeCalculationTimeStep": { + "type": "string", + "format": "int64", + "description": "Specifies how often the quality of liquidity supplied by the LPs is evaluated and fees arising from that period are earmarked for specific parties." + }, + "performanceHysteresisEpochs": { + "type": "string", + "format": "uint64", + "description": "Specifies the number of liquidity epochs over which past performance will continue to affect rewards." + }, + "slaCompetitionFactor": { + "type": "string", + "description": "Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers\nthat achieved a higher SLA performance than them." + } + } + }, + "vegaLogNormalModelParams": { + "type": "object", + "properties": { + "mu": { + "type": "number", + "format": "double", + "description": "Mu parameter, annualised growth rate of the underlying asset." + }, + "r": { + "type": "number", + "format": "double", + "description": "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number." + }, + "sigma": { + "type": "number", + "format": "double", + "description": "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number." + } + }, + "title": "Risk model parameters for log normal" + }, + "vegaLogNormalRiskModel": { + "type": "object", + "properties": { + "riskAversionParameter": { + "type": "number", + "format": "double", + "description": "Risk Aversion Parameter." + }, + "tau": { + "type": "number", + "format": "double", + "description": "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall\ncalculation to obtain the maintenance margin, must be a strictly non-negative real number." + }, + "params": { + "$ref": "#/definitions/vegaLogNormalModelParams", + "description": "Risk model parameters for log normal." + } + }, + "title": "Risk model for log normal" + }, + "vegaMarginCalculator": { + "type": "object", + "properties": { + "scalingFactors": { + "$ref": "#/definitions/vegaScalingFactors", + "description": "Scaling factors for margin calculation." + } + }, + "title": "Margin Calculator definition" + }, + "vegaMarginLevels": { + "type": "object", + "properties": { + "maintenanceMargin": { + "type": "string", + "description": "Maintenance margin value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "searchLevel": { + "type": "string", + "description": "Margin search level value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "initialMargin": { + "type": "string", + "description": "Initial margin value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "collateralReleaseLevel": { + "type": "string", + "description": "Collateral release level value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "partyId": { + "type": "string", + "description": "Party ID for whom the margin levels apply." + }, + "marketId": { + "type": "string", + "description": "Market ID for which the margin levels apply." + }, + "asset": { + "type": "string", + "description": "Asset ID for which the margin levels apply." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the ledger entry was created." + } + }, + "title": "Represents the margin levels for a party on a market at a given time" + }, + "vegaMarket": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the market." + }, + "tradableInstrument": { + "$ref": "#/definitions/vegaTradableInstrument", + "description": "Tradable instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Number of decimal places that a price must be shifted by in order to get a\ncorrect price denominated in the currency of the market, for example:\n`realPrice = price / 10^decimalPlaces`." + }, + "fees": { + "$ref": "#/definitions/vegaFees", + "description": "Fees configuration that apply to the market." + }, + "openingAuction": { + "$ref": "#/definitions/vegaAuctionDuration", + "description": "Auction duration specifies how long the opening auction will run (minimum\nduration and optionally a minimum traded volume)." + }, + "priceMonitoringSettings": { + "$ref": "#/definitions/vegaPriceMonitoringSettings", + "description": "PriceMonitoringSettings for the market." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "LiquidityMonitoringParameters for the market." + }, + "tradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current mode of execution of the market." + }, + "state": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "marketTimestamps": { + "$ref": "#/definitions/vegaMarketTimestamps", + "description": "Timestamps for when the market state changes." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "The number of decimal places for a position." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "parentMarketId": { + "type": "string", + "title": "ID of the market this market succeeds" + }, + "insurancePoolFraction": { + "type": "string", + "description": "The fraction of the parent market's insurance pool that this market inherits; range 0 through 1." + }, + "successorMarketId": { + "type": "string", + "description": "ID of the market that succeeds this market if it exists. This will be populated by the system when the successor market is enabled." + }, + "liquiditySlaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Liquidity SLA parameters for the market." + } + }, + "title": "Market definition" + }, + "vegaMarketData": { + "type": "object", + "properties": { + "markPrice": { + "type": "string", + "description": "Mark price, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidPrice": { + "type": "string", + "description": "Highest price level on an order book for buy orders, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being bid at the best bid price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestOfferPrice": { + "type": "string", + "description": "Lowest price level on an order book for offer orders. This field is an unsigned integer scaled to the market's decimal places." + }, + "bestOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being offered at the best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestStaticBidPrice": { + "type": "string", + "description": "Highest price on the order book for buy orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticBidVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static bid price excluding pegged orders." + }, + "bestStaticOfferPrice": { + "type": "string", + "description": "Lowest price on the order book for sell orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static offer price, excluding pegged orders." + }, + "midPrice": { + "type": "string", + "description": "Arithmetic average of the best bid price and best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "staticMidPrice": { + "type": "string", + "description": "Arithmetic average of the best static bid price and best static offer price.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "market": { + "type": "string", + "title": "Market ID for the data" + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which this mark price was relevant." + }, + "openInterest": { + "type": "string", + "format": "uint64", + "description": "Sum of the size of all positions greater than zero on the market." + }, + "auctionEnd": { + "type": "string", + "format": "int64", + "description": "Time in seconds until the end of the auction (zero if currently not in auction period)." + }, + "auctionStart": { + "type": "string", + "format": "int64", + "description": "Time until next auction, or start time of the current auction if market is in auction period." + }, + "indicativePrice": { + "type": "string", + "description": "Indicative price (zero if not in auction). This field is an unsigned scaled to the market's decimal places." + }, + "indicativeVolume": { + "type": "string", + "format": "uint64", + "description": "Indicative volume (zero if not in auction)." + }, + "marketTradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current trading mode for the market." + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market is in an auction trading mode, this field indicates what triggered the auction." + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market auction is extended, this field indicates what caused the extension." + }, + "targetStake": { + "type": "string", + "description": "Targeted stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "suppliedStake": { + "type": "string", + "description": "Available stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "priceMonitoringBounds": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringBounds" + }, + "description": "One or more price monitoring bounds for the current timestamp." + }, + "marketValueProxy": { + "type": "string", + "description": "Market value proxy." + }, + "liquidityProviderFeeShare": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProviderFeeShare" + }, + "description": "Equity like share of liquidity fee for each liquidity provider." + }, + "marketState": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "nextMarkToMarket": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the next mark-to-market calculation will occur." + }, + "lastTradedPrice": { + "type": "string", + "description": "Last traded price of the market. This field is an unsigned integer scaled to the market's decimal places." + }, + "marketGrowth": { + "type": "string", + "description": "Market growth at the last market time window." + } + }, + "title": "Represents data generated by a market when open" + }, + "vegaMarketState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_PROPOSED", + "STATE_REJECTED", + "STATE_PENDING", + "STATE_CANCELLED", + "STATE_ACTIVE", + "STATE_SUSPENDED", + "STATE_CLOSED", + "STATE_TRADING_TERMINATED", + "STATE_SETTLED", + "STATE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, invalid\n - STATE_PROPOSED: Governance proposal valid and accepted\n - STATE_REJECTED: Outcome of governance votes is to reject the market\n - STATE_PENDING: Governance vote passes/wins\n - STATE_CANCELLED: Market triggers cancellation condition or governance\nvotes to close before market becomes Active\n - STATE_ACTIVE: Enactment date reached and usual auction exit checks pass\n - STATE_SUSPENDED: Price monitoring or liquidity monitoring trigger\n - STATE_CLOSED: Governance vote to close (Not currently implemented)\n - STATE_TRADING_TERMINATED: Defined by the product (i.e. from a product parameter,\nspecified in market definition, giving close date/time)\n - STATE_SETTLED: Settlement triggered and completed as defined by product\n - STATE_SUSPENDED_VIA_GOVERNANCE: Market has been suspended via governance", + "title": "Current state of the market" + }, + "vegaMarketStateUpdateType": { + "type": "string", + "enum": [ + "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "MARKET_STATE_UPDATE_TYPE_TERMINATE", + "MARKET_STATE_UPDATE_TYPE_SUSPEND", + "MARKET_STATE_UPDATE_TYPE_RESUME" + ], + "default": "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "title": "- MARKET_STATE_UPDATE_TYPE_UNSPECIFIED: Default value, always invalid\n - MARKET_STATE_UPDATE_TYPE_TERMINATE: Request to terminate a market via governance\n - MARKET_STATE_UPDATE_TYPE_SUSPEND: Request to suspend a market via governance\n - MARKET_STATE_UPDATE_TYPE_RESUME: Request to resume a market via governance" + }, + "vegaMarketTimestamps": { + "type": "object", + "properties": { + "proposed": { + "type": "string", + "format": "int64", + "description": "Time when the market is first proposed." + }, + "pending": { + "type": "string", + "format": "int64", + "description": "Time when the market has been voted in and began its opening auction." + }, + "open": { + "type": "string", + "format": "int64", + "description": "Time when the market has left the opening auction and is ready to accept trades." + }, + "close": { + "type": "string", + "format": "int64", + "description": "Time when the market closed." + } + }, + "title": "Time stamps for important times about creating, enacting etc the market" + }, + "vegaNetworkLimits": { + "type": "object", + "properties": { + "canProposeMarket": { + "type": "boolean", + "description": "Are market proposals allowed at this point in time." + }, + "canProposeAsset": { + "type": "boolean", + "description": "Are asset proposals allowed at this point in time." + }, + "proposeMarketEnabled": { + "type": "boolean", + "description": "Are market proposals enabled on this chain." + }, + "proposeAssetEnabled": { + "type": "boolean", + "description": "Are asset proposals enabled on this chain." + }, + "genesisLoaded": { + "type": "boolean", + "description": "True once the genesis file is loaded." + }, + "proposeMarketEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which market proposals will be enabled (0 indicates not set)." + }, + "proposeAssetEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which asset proposals will be enabled (0 indicates not set)." + }, + "canProposeSpotMarket": { + "type": "boolean", + "description": "Are spot market proposals allowed at this point in time." + }, + "canProposePerpetualMarket": { + "type": "boolean", + "description": "Are perpetual market proposals allowed at this point in time." + } + }, + "title": "Network limits, defined in the genesis file" + }, + "vegaNetworkParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Unique key of the network parameter." + }, + "value": { + "type": "string", + "description": "Value for the network parameter." + } + }, + "title": "Represents a network parameter on Vega" + }, + "vegaNewAsset": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Configuration of the new asset." + } + }, + "title": "New asset on Vega" + }, + "vegaNewFreeform": { + "type": "object", + "description": "Freeform proposal\nThis message is just used as a placeholder to sort out the nature of the\nproposal once parsed." + }, + "vegaNewMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewMarketConfiguration", + "description": "Configuration of the new market." + } + }, + "title": "New market on Vega" + }, + "vegaNewMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New futures market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new futures market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the futures market can be." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "successor": { + "$ref": "#/definitions/vegaSuccessorConfiguration", + "description": "Successor configuration. If this proposal is meant to succeed a given market, then this should be set." + } + }, + "title": "Configuration for a new futures market on Vega" + }, + "vegaNewSpotMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewSpotMarketConfiguration", + "description": "Configuration of the new spot market." + } + }, + "title": "New spot market on Vega" + }, + "vegaNewSpotMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New spot market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new spot market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the spot market can be." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration for a new spot market on Vega" + }, + "vegaNewTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewTransferConfiguration", + "description": "Configuration for a new transfer." + } + }, + "title": "New governance transfer" + }, + "vegaNewTransferConfiguration": { + "type": "object", + "properties": { + "sourceType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Source account type, such as network treasury, market insurance pool" + }, + "source": { + "type": "string", + "title": "If network treasury, field is empty, otherwise uses the market ID" + }, + "transferType": { + "$ref": "#/definitions/vegaGovernanceTransferType", + "title": "\"All or nothing\" or \"best effort\":\nAll or nothing: Transfers the specified amount or does not transfer anything\nBest effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount" + }, + "amount": { + "type": "string", + "title": "Maximum amount to transfer" + }, + "asset": { + "type": "string", + "title": "ID of asset to transfer" + }, + "fractionOfBalance": { + "type": "string", + "title": "Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance" + }, + "destinationType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool" + }, + "destination": { + "type": "string", + "title": "Specifies the account to transfer to, depending on the account type:\nNetwork treasury: leave empty\nParty: party's public key\nMarket insurance pool: market ID" + }, + "oneOff": { + "$ref": "#/definitions/vegaOneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaRecurringTransfer" + } + } + }, + "vegaNormaliser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "expression": { + "type": "string" + } + } + }, + "vegaOneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegaOracleData": { + "type": "object", + "properties": { + "externalData": { + "$ref": "#/definitions/v1ExternalData" + } + } + }, + "vegaOracleSpec": { + "type": "object", + "properties": { + "externalDataSourceSpec": { + "$ref": "#/definitions/vegaExternalDataSourceSpec" + } + }, + "title": "Oracle spec contains an embedded external data source spec.\nIt will be generated by the compiler as: OracleSpec_ExternalDataSourceSpec_*" + }, + "vegaOrder": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID generated for the order." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "partyId": { + "type": "string", + "description": "Party ID for the order." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of contracts." + }, + "remaining": { + "type": "string", + "format": "uint64", + "description": "Size remaining, when this reaches 0 then the order is fully filled and status becomes STATUS_FILLED." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "title": "Time in force indicates how long an order will remain active before it is executed or expires.\n- See OrderTimeInForce" + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the order was created at, in nanoseconds." + }, + "status": { + "$ref": "#/definitions/vegaOrderStatus", + "description": "Current status of the order." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire." + }, + "reference": { + "type": "string", + "description": "Reference given for the order." + }, + "reason": { + "$ref": "#/definitions/vegaOrderError", + "description": "Futher details for why an order with status `STATUS_REJECTED` was rejected." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was last updated." + }, + "version": { + "type": "string", + "format": "uint64", + "description": "Version for the order, initial value is version 1 and is incremented after each successful amend." + }, + "batchId": { + "type": "string", + "format": "uint64", + "description": "Batch ID for the order, used internally for orders submitted during auctions\nto keep track of the auction batch this order falls under. Required for fees calculation." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Pegged order details, used only if the order represents a pegged order." + }, + "liquidityProvisionId": { + "type": "string", + "description": "Set if the order was created as part of a liquidity provision, will be empty if not." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOrder": { + "$ref": "#/definitions/vegaIcebergOrder", + "title": "Details of an iceberg order" + } + }, + "title": "Orders can be submitted, amended and cancelled on Vega in an attempt to make trades with other parties" + }, + "vegaOrderError": { + "type": "string", + "enum": [ + "ORDER_ERROR_UNSPECIFIED", + "ORDER_ERROR_INVALID_MARKET_ID", + "ORDER_ERROR_INVALID_ORDER_ID", + "ORDER_ERROR_OUT_OF_SEQUENCE", + "ORDER_ERROR_INVALID_REMAINING_SIZE", + "ORDER_ERROR_TIME_FAILURE", + "ORDER_ERROR_REMOVAL_FAILURE", + "ORDER_ERROR_INVALID_EXPIRATION_DATETIME", + "ORDER_ERROR_INVALID_ORDER_REFERENCE", + "ORDER_ERROR_EDIT_NOT_ALLOWED", + "ORDER_ERROR_AMEND_FAILURE", + "ORDER_ERROR_NOT_FOUND", + "ORDER_ERROR_INVALID_PARTY_ID", + "ORDER_ERROR_MARKET_CLOSED", + "ORDER_ERROR_MARGIN_CHECK_FAILED", + "ORDER_ERROR_MISSING_GENERAL_ACCOUNT", + "ORDER_ERROR_INTERNAL_ERROR", + "ORDER_ERROR_INVALID_SIZE", + "ORDER_ERROR_INVALID_PERSISTENCE", + "ORDER_ERROR_INVALID_TYPE", + "ORDER_ERROR_SELF_TRADING", + "ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES", + "ORDER_ERROR_INCORRECT_MARKET_TYPE", + "ORDER_ERROR_INVALID_TIME_IN_FORCE", + "ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION", + "ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING", + "ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT", + "ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT", + "ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT", + "ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC", + "ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN", + "ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN", + "ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION", + "ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION", + "ORDER_ERROR_MUST_BE_LIMIT_ORDER", + "ORDER_ERROR_MUST_BE_GTT_OR_GTC", + "ORDER_ERROR_WITHOUT_REFERENCE_PRICE", + "ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE", + "ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO", + "ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE", + "ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO", + "ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE", + "ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER", + "ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER", + "ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER", + "ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS", + "ORDER_ERROR_TOO_MANY_PEGGED_ORDERS", + "ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE", + "ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION" + ], + "default": "ORDER_ERROR_UNSPECIFIED", + "description": "- ORDER_ERROR_UNSPECIFIED: Default value, no error reported\n - ORDER_ERROR_INVALID_MARKET_ID: Order was submitted for a market that does not exist\n - ORDER_ERROR_INVALID_ORDER_ID: Order was submitted with an invalid ID\n - ORDER_ERROR_OUT_OF_SEQUENCE: Order was amended with a sequence number that was not previous version + 1\n - ORDER_ERROR_INVALID_REMAINING_SIZE: Order was amended with an invalid remaining size (e.g. remaining greater than total size)\n - ORDER_ERROR_TIME_FAILURE: Node was unable to get Vega (blockchain) time\n - ORDER_ERROR_REMOVAL_FAILURE: Failed to remove an order from the book\n - ORDER_ERROR_INVALID_EXPIRATION_DATETIME: Order with `TimeInForce.TIME_IN_FORCE_GTT` was submitted or amended\nwith an expiration that was badly formatted or otherwise invalid\n - ORDER_ERROR_INVALID_ORDER_REFERENCE: Order was submitted or amended with an invalid reference field\n - ORDER_ERROR_EDIT_NOT_ALLOWED: Order amend was submitted for an order field that cannot not be amended (e.g. order ID)\n - ORDER_ERROR_AMEND_FAILURE: Amend failure because amend details do not match original order\n - ORDER_ERROR_NOT_FOUND: Order not found in an order book or store\n - ORDER_ERROR_INVALID_PARTY_ID: Order was submitted with an invalid or missing party ID\n - ORDER_ERROR_MARKET_CLOSED: Order was submitted for a market that has closed\n - ORDER_ERROR_MARGIN_CHECK_FAILED: Order was submitted, but the party did not have enough collateral to cover the order\n - ORDER_ERROR_MISSING_GENERAL_ACCOUNT: Order was submitted, but the party did not have an account for this asset\n - ORDER_ERROR_INTERNAL_ERROR: Unspecified internal error\n - ORDER_ERROR_INVALID_SIZE: Order was submitted with an invalid or missing size (e.g. 0)\n - ORDER_ERROR_INVALID_PERSISTENCE: Order was submitted with an invalid persistence for its type\n - ORDER_ERROR_INVALID_TYPE: Order was submitted with an invalid type field\n - ORDER_ERROR_SELF_TRADING: Order was stopped as it would have traded with another order submitted from the same party\n - ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES: Order was submitted, but the party did not have enough collateral to cover the fees for the order\n - ORDER_ERROR_INCORRECT_MARKET_TYPE: Order was submitted with an incorrect or invalid market type\n - ORDER_ERROR_INVALID_TIME_IN_FORCE: Order was submitted with invalid time in force\n - ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION: Good For Normal order has reached the market when it is in auction mode\n - ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING: Good For Auction order has reached the market when it is in continuous trading mode\n - ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT: Attempt to amend order to GTT without ExpiryAt\n - ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT: Attempt to amend ExpiryAt to a value before CreatedAt\n - ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT: Attempt to amend to GTC without an ExpiryAt value\n - ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC: Amending to FOK or IOC is invalid\n - ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN: Amending to GFA or GFN is invalid\n - ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN: Amending from GFA or GFN is invalid\n - ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION: IOC orders are not allowed during auction\n - ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION: FOK orders are not allowed during auction\n - ORDER_ERROR_MUST_BE_LIMIT_ORDER: Pegged orders must be LIMIT orders\n - ORDER_ERROR_MUST_BE_GTT_OR_GTC: Pegged orders can only have TIF GTC or GTT\n - ORDER_ERROR_WITHOUT_REFERENCE_PRICE: Pegged order must have a reference price\n - ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE: Buy pegged order cannot reference best ask price\n - ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO: Pegged order offset must be \u003e= 0\n - ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE: Sell pegged order cannot reference best bid price\n - ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO: Pegged order offset must be \u003e zero\n - ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE: Party has an insufficient balance, or does not have\na general account to submit the order (no deposits made\nfor the required asset)\n - ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER: Cannot amend details of a non pegged details\n - ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER: Could not re-price a pegged order because a market price is unavailable\n - ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER: It is not possible to amend the price of an existing pegged order\n - ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS: FOK, IOC, or GFN order was rejected because it resulted in trades outside the price bounds\n - ORDER_ERROR_TOO_MANY_PEGGED_ORDERS: Unable to submit pegged order, temporarily too many pegged orders across all markets\n - ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE: Post order would trade\n - ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION: Post order would trade", + "title": "OrderError codes are returned in the Order.reason field - If there is an issue\nwith an order during its life-cycle, it will be marked with `status.ORDER_STATUS_REJECTED`" + }, + "vegaOrderStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_EXPIRED", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_FILLED", + "STATUS_REJECTED", + "STATUS_PARTIALLY_FILLED", + "STATUS_PARKED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_ACTIVE: Used for active unfilled or partially filled orders\n - STATUS_EXPIRED: Used for expired GTT orders\n - STATUS_CANCELLED: Used for orders cancelled by the party that created the order\n - STATUS_STOPPED: Used for unfilled FOK or IOC orders, and for orders that were stopped by the network\n - STATUS_FILLED: Used for closed fully filled orders\n - STATUS_REJECTED: Used for orders when not enough collateral was available to fill the margin requirements\n - STATUS_PARTIALLY_FILLED: Used for closed partially filled IOC orders\n - STATUS_PARKED: Order has been removed from the order book and has been parked,\nthis applies to pegged orders and liquidity orders (orders created from a liquidity provision shape)", + "title": "Status values for an order" + }, + "vegaOrderType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LIMIT", + "TYPE_MARKET", + "TYPE_NETWORK" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_LIMIT: Used for Limit orders\n - TYPE_MARKET: Used for Market orders\n - TYPE_NETWORK: Used for orders where the initiating party is the network (with distressed parties)", + "title": "Type values for an order" + }, + "vegaParty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the party, typically represented by a public key." + } + }, + "title": "Party represents an entity who wishes to trade on or query a Vega network" + }, + "vegaPeggedOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Price point the order is linked to." + }, + "offset": { + "type": "string", + "description": "Offset from the price reference." + } + }, + "title": "Pegged orders are limit orders where the price is specified in the form REFERENCE +/- OFFSET\nThey can be used for any limit order that is valid during continuous trading" + }, + "vegaPeggedReference": { + "type": "string", + "enum": [ + "PEGGED_REFERENCE_UNSPECIFIED", + "PEGGED_REFERENCE_MID", + "PEGGED_REFERENCE_BEST_BID", + "PEGGED_REFERENCE_BEST_ASK" + ], + "default": "PEGGED_REFERENCE_UNSPECIFIED", + "description": "- PEGGED_REFERENCE_UNSPECIFIED: Default value for PeggedReference, no reference given\n - PEGGED_REFERENCE_MID: Mid price reference\n - PEGGED_REFERENCE_BEST_BID: Best bid price reference\n - PEGGED_REFERENCE_BEST_ASK: Best ask price reference", + "title": "Pegged reference defines which price point a pegged order is linked to - meaning\nthe price for a pegged order is calculated from the value of the reference price point" + }, + "vegaPerpetual": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the perpetual." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product definition" + }, + "vegaPerpetualProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaPostTransferBalance": { + "type": "object", + "properties": { + "account": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "Account relating to the transfer." + }, + "balance": { + "type": "string", + "description": "Balance relating to the transfer. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents the balance for an account during a transfer" + }, + "vegaPriceMonitoringBounds": { + "type": "object", + "properties": { + "minValidPrice": { + "type": "string", + "description": "Minimum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "maxValidPrice": { + "type": "string", + "description": "Maximum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "trigger": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger", + "description": "Price monitoring trigger associated with the bounds." + }, + "referencePrice": { + "type": "string", + "description": "Reference price used to calculate the valid price range. This field is an unsigned integer scaled to the market's decimal places." + } + }, + "title": "Represents a list of valid (at the current timestamp) price ranges per associated trigger" + }, + "vegaPriceMonitoringParameters": { + "type": "object", + "properties": { + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger" + } + } + }, + "title": "PriceMonitoringParameters contains a collection of triggers to be used for a given market" + }, + "vegaPriceMonitoringSettings": { + "type": "object", + "properties": { + "parameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Specifies price monitoring parameters to be used for price monitoring purposes." + } + }, + "title": "PriceMonitoringSettings contains the settings for price monitoring" + }, + "vegaPriceMonitoringTrigger": { + "type": "object", + "properties": { + "horizon": { + "type": "string", + "format": "int64", + "description": "Price monitoring projection horizon τ in seconds." + }, + "probability": { + "type": "string", + "description": "Price monitoring probability level p." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Price monitoring auction extension duration in seconds should the price\nbreach its theoretical level over the specified horizon at the specified\nprobability level." + } + }, + "title": "PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration" + }, + "vegaProposal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique proposal ID." + }, + "reference": { + "type": "string", + "description": "Proposal reference." + }, + "partyId": { + "type": "string", + "description": "Party ID i.e. public key of the party submitting the proposal." + }, + "state": { + "$ref": "#/definitions/vegaProposalState", + "description": "Current state of the proposal, i.e. open, passed, failed etc." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Proposal timestamp for date and time as Unix time in nanoseconds when proposal was submitted to the network." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "reason": { + "$ref": "#/definitions/vegaProposalError", + "description": "Reason for the current state of the proposal, this may be set in case of REJECTED and FAILED statuses." + }, + "errorDetails": { + "type": "string", + "description": "Detailed error associated to the reason." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + }, + "requiredParticipation": { + "type": "string", + "description": "Required vote participation for this proposal." + }, + "requiredMajority": { + "type": "string", + "description": "Required majority for this proposal." + }, + "requiredLiquidityProviderParticipation": { + "type": "string", + "description": "Required participation from liquidity providers, optional but is required for market update proposal." + }, + "requiredLiquidityProviderMajority": { + "type": "string", + "description": "Required majority from liquidity providers, optional but is required for market update proposal." + } + }, + "title": "Governance proposal" + }, + "vegaProposalError": { + "type": "string", + "enum": [ + "PROPOSAL_ERROR_UNSPECIFIED", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE", + "PROPOSAL_ERROR_ENACT_TIME_TOO_SOON", + "PROPOSAL_ERROR_ENACT_TIME_TOO_LATE", + "PROPOSAL_ERROR_INSUFFICIENT_TOKENS", + "PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY", + "PROPOSAL_ERROR_NO_PRODUCT", + "PROPOSAL_ERROR_UNSUPPORTED_PRODUCT", + "PROPOSAL_ERROR_NO_TRADING_MODE", + "PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE", + "PROPOSAL_ERROR_NODE_VALIDATION_FAILED", + "PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD", + "PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS", + "PROPOSAL_ERROR_INVALID_ASSET", + "PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS", + "PROPOSAL_ERROR_NO_RISK_PARAMETERS", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE", + "PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE", + "PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET", + "PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT", + "PROPOSAL_ERROR_INVALID_RISK_PARAMETER", + "PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_INVALID_ASSET_DETAILS", + "PROPOSAL_ERROR_UNKNOWN_TYPE", + "PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE", + "PROPOSAL_ERROR_INVALID_FREEFORM", + "PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE", + "PROPOSAL_ERROR_INVALID_MARKET", + "PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES", + "PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS", + "PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE", + "PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_INVALID_SPOT", + "PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED", + "PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE", + "PROPOSAL_ERROR_INVALID_SLA_PARAMS", + "PROPOSAL_ERROR_MISSING_SLA_PARAMS", + "PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT" + ], + "default": "PROPOSAL_ERROR_UNSPECIFIED", + "description": "- PROPOSAL_ERROR_UNSPECIFIED: Default value\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON: Specified close time is too early based on network parameters\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE: Specified close time is too late based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_SOON: Specified enactment time is too early based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_LATE: Specified enactment time is too late based on network parameters\n - PROPOSAL_ERROR_INSUFFICIENT_TOKENS: Proposer for this proposal has insufficient tokens\n - PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY: Instrument quote name and base name were the same\n - PROPOSAL_ERROR_NO_PRODUCT: Proposal has no product\n - PROPOSAL_ERROR_UNSUPPORTED_PRODUCT: Specified product is not supported\n - PROPOSAL_ERROR_NO_TRADING_MODE: Proposal has no trading mode\n - PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE: Proposal has an unsupported trading mode\n - PROPOSAL_ERROR_NODE_VALIDATION_FAILED: Proposal failed node validation\n - PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD: Field is missing in a builtin asset source\n - PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS: Contract address is missing in the ERC20 asset source\n - PROPOSAL_ERROR_INVALID_ASSET: Asset ID is invalid or does not exist on the Vega network\n - PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS: Proposal terms timestamps are not compatible (Validation \u003c Closing \u003c Enactment)\n - PROPOSAL_ERROR_NO_RISK_PARAMETERS: No risk parameters were specified\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY: Invalid key in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE: Invalid value in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED: Validation failed for network parameter proposal\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL: Opening auction duration is less than the network minimum opening auction time\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE: Opening auction duration is more than the network minimum opening auction time\n - PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET: Market proposal market could not be instantiated in execution\n - PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT: Market proposal market contained invalid product definition\n - PROPOSAL_ERROR_INVALID_RISK_PARAMETER: Market proposal has invalid risk parameter\n - PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED: Proposal was declined because vote didn't reach the majority threshold required\n - PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED: Proposal declined because the participation threshold was not reached\n - PROPOSAL_ERROR_INVALID_ASSET_DETAILS: Asset proposal has invalid asset details\n - PROPOSAL_ERROR_UNKNOWN_TYPE: Proposal is an unknown type\n - PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE: Proposal has an unknown risk parameter type\n - PROPOSAL_ERROR_INVALID_FREEFORM: Validation failed for freeform proposal\n - PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE: Party doesn't have enough equity-like share to propose an update on the market\ntargeted by the proposal\n - PROPOSAL_ERROR_INVALID_MARKET: Market targeted by the proposal does not exist or is not eligible for modification\n - PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES: Market proposal decimal place is higher than the market settlement asset decimal places\n - PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE: LP price range must be larger than 0\n - PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE: LP price range must not be larger than 100\n - PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE: Linear slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE: Quadratic slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_INVALID_SPOT: Validation failed for spot proposal\n - PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED: Spot trading not enabled\n - PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET: Market proposal is invalid, either invalid insurance pool fraction, or it specifies a parent market that it can't succeed.\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED: Governance transfer proposal is invalid\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID: Governance transfer proposal failed\n - PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID: Proposal for cancelling transfer is invalid, check proposal ID\n - PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE: Proposal for updating market state is invalid\n - PROPOSAL_ERROR_INVALID_SLA_PARAMS: Liquidity provision SLA parameters are invalid\n - PROPOSAL_ERROR_MISSING_SLA_PARAMS: Mandatory liquidity provision SLA parameters are missing\n - PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT: Perpetual market proposal contained invalid product definition", + "title": "List of possible errors that can cause a proposal to be in state rejected or failed" + }, + "vegaProposalRationale": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description to show a short title / something in case the link goes offline.\nThis is to be between 0 and 20k unicode characters.\nThis is mandatory for all proposals." + }, + "title": { + "type": "string", + "description": "Title to be used to give a short description of the proposal in lists.\nThis is to be between 0 and 100 unicode characters.\nThis is mandatory for all proposals." + } + }, + "description": "Rationale behind a proposal." + }, + "vegaProposalState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_FAILED", + "STATE_OPEN", + "STATE_PASSED", + "STATE_REJECTED", + "STATE_DECLINED", + "STATE_ENACTED", + "STATE_WAITING_FOR_NODE_VOTE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, always invalid\n - STATE_FAILED: Proposal enactment has failed - even though proposal has passed, its execution could not be performed\n - STATE_OPEN: Proposal is open for voting\n - STATE_PASSED: Proposal has gained enough support to be executed\n - STATE_REJECTED: Proposal wasn't accepted i.e. proposal terms failed validation due to wrong configuration or failed to meet network requirements.\n - STATE_DECLINED: Proposal didn't get enough votes, e.g. either failed to gain required participation or majority level.\n - STATE_ENACTED: Proposal enacted\n - STATE_WAITING_FOR_NODE_VOTE: Waiting for node validation of the proposal", + "title": "Proposal state transition:\nOpen -\u003e\n - Passed -\u003e Enacted.\n - Passed -\u003e Failed.\n - Declined\nRejected\nProposal can enter Failed state from any other state" + }, + "vegaProposalTerms": { + "type": "object", + "properties": { + "closingTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when voting closes for this proposal,\nconstrained by `minClose` and `maxClose` network parameters." + }, + "enactmentTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when proposal gets enacted if passed,\nconstrained by `minEnact` and `maxEnact` network parameters." + }, + "validationTimestamp": { + "type": "string", + "format": "int64", + "description": "Validation timestamp as Unix time in seconds." + }, + "updateMarket": { + "$ref": "#/definitions/vegaUpdateMarket", + "description": "Proposal change for modifying an existing futures market on Vega." + }, + "newMarket": { + "$ref": "#/definitions/vegaNewMarket", + "description": "Proposal change for creating new futures market on Vega." + }, + "updateNetworkParameter": { + "$ref": "#/definitions/vegaUpdateNetworkParameter", + "description": "Proposal change for updating Vega network parameters." + }, + "newAsset": { + "$ref": "#/definitions/vegaNewAsset", + "description": "Proposal change for creating new assets on Vega." + }, + "newFreeform": { + "$ref": "#/definitions/vegaNewFreeform", + "description": "Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system,\nand can be used to gauge community sentiment." + }, + "updateAsset": { + "$ref": "#/definitions/vegaUpdateAsset", + "description": "Proposal change for updating an asset." + }, + "newSpotMarket": { + "$ref": "#/definitions/vegaNewSpotMarket", + "description": "Proposal change for creating new spot market on Vega." + }, + "updateSpotMarket": { + "$ref": "#/definitions/vegaUpdateSpotMarket", + "description": "Proposal change for modifying an existing spot market on Vega." + }, + "newTransfer": { + "$ref": "#/definitions/vegaNewTransfer", + "description": "Proposal change for a governance transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/vegaCancelTransfer", + "description": "Cancel a governance transfer." + }, + "updateMarketState": { + "$ref": "#/definitions/vegaUpdateMarketState", + "description": "Proposal change for updating the state of a market." + } + }, + "title": "Terms for a governance proposal on Vega" + }, + "vegaRecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegaRiskFactor": { + "type": "object", + "properties": { + "market": { + "type": "string", + "description": "Market ID that relates to this risk factor." + }, + "short": { + "type": "string", + "description": "Short Risk factor value." + }, + "long": { + "type": "string", + "description": "Long Risk factor value." + } + }, + "title": "Risk factors are used to calculate the current risk associated with orders trading on a given market" + }, + "vegaScalingFactors": { + "type": "object", + "properties": { + "searchLevel": { + "type": "number", + "format": "double", + "description": "Collateral search level. If collateral dips below this value,\nthe system will search for collateral to release." + }, + "initialMargin": { + "type": "number", + "format": "double", + "description": "Initial margin level. This is the minimum amount of collateral\nrequired to open a position in a market that requires margin." + }, + "collateralRelease": { + "type": "number", + "format": "double", + "description": "Collateral release level. If a trader has collateral above this level,\nthe system will release collateral to a trader's general collateral account\nfor the asset." + } + }, + "title": "Scaling Factors (for use in margin calculation)" + }, + "vegaSide": { + "type": "string", + "enum": [ + "SIDE_UNSPECIFIED", + "SIDE_BUY", + "SIDE_SELL" + ], + "default": "SIDE_UNSPECIFIED", + "description": "- SIDE_UNSPECIFIED: Default value, always invalid\n - SIDE_BUY: Buy order\n - SIDE_SELL: Sell order", + "title": "Side relates to the direction of an order, to Buy, or Sell" + }, + "vegaSimpleModelParams": { + "type": "object", + "properties": { + "factorLong": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for long." + }, + "factorShort": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for short." + }, + "maxMoveUp": { + "type": "number", + "format": "double", + "description": "Pre-defined maximum price move up that the model considers as valid." + }, + "minMoveDown": { + "type": "number", + "format": "double", + "description": "Pre-defined minimum price move down that the model considers as valid." + }, + "probabilityOfTrading": { + "type": "number", + "format": "double", + "description": "Pre-defined constant probability of trading." + } + }, + "title": "Risk model parameters for simple modelling" + }, + "vegaSimpleRiskModel": { + "type": "object", + "properties": { + "params": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Risk model params for simple modelling." + } + }, + "title": "Risk model for simple modelling" + }, + "vegaSpot": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Asset ID of the underlying base asset for the spot product." + }, + "quoteAsset": { + "type": "string", + "description": "Asset ID of the underlying quote asset for the spot product." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + } + }, + "title": "Spot product definition" + }, + "vegaSpotProduct": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Base asset ID." + }, + "quoteAsset": { + "type": "string", + "description": "Quote asset ID." + }, + "name": { + "type": "string", + "description": "Product name." + } + }, + "title": "Spot product configuration" + }, + "vegaStopOrder": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "ID of this stop order\nalso the ID of the associated order if it is ever triggered" + }, + "ocoLinkId": { + "type": "string", + "title": "The ID of the 'other' part of the OCO if 2 stop orders were submitted at once" + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "triggerDirection": { + "$ref": "#/definitions/StopOrderTriggerDirection", + "description": "Trigger direction for this stop order." + }, + "status": { + "$ref": "#/definitions/vegaStopOrderStatus", + "description": "Status of the stop order." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Creation time of the stop order." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Last update of this stop order." + }, + "orderId": { + "type": "string", + "description": "ID of the order created once the trigger is hit." + }, + "partyId": { + "type": "string", + "description": "ID of the party that submitted this stop order." + }, + "marketId": { + "type": "string", + "description": "ID of the market the stop order is submitted to." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "title": "Trailing percentage at which the order will be submitted.\nThis should be expressed as a decimal value between 0 and 1, e.g. 0.01 for 1%" + } + } + }, + "vegaStopOrderStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_TRIGGERED", + "STATUS_EXPIRED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Never valid\n - STATUS_PENDING: Pending to be executed once the trigger is breached\n - STATUS_CANCELLED: Cancelled by the user\n - STATUS_STOPPED: Stopped by the network, e.g: OCO on the other side has been triggered\n - STATUS_TRIGGERED: Stop order has been triggered and generated an order\n - STATUS_EXPIRED: Stop order has expired\n - STATUS_REJECTED: Stop order was rejected at submission" + }, + "vegaSuccessorConfiguration": { + "type": "object", + "properties": { + "parentMarketId": { + "type": "string", + "description": "ID of the market that the successor should take over from." + }, + "insurancePoolFraction": { + "type": "string", + "description": "A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor." + } + }, + "description": "Configuration required to turn a new market proposal in to a successor market proposal." + }, + "vegaTargetStakeParameters": { + "type": "object", + "properties": { + "timeWindow": { + "type": "string", + "format": "int64", + "description": "Specifies length of time window expressed in seconds for target stake calculation." + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Specifies scaling factors used in target stake calculation." + } + }, + "title": "TargetStakeParameters contains parameters used in target stake calculation" + }, + "vegaTradableInstrument": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrument", + "description": "Details for the underlying instrument." + }, + "marginCalculator": { + "$ref": "#/definitions/vegaMarginCalculator", + "description": "Margin calculator for the instrument." + }, + "logNormalRiskModel": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal." + }, + "simpleRiskModel": { + "$ref": "#/definitions/vegaSimpleRiskModel", + "description": "Simple." + } + }, + "title": "Tradable Instrument definition" + }, + "vegaTrade": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the trade." + }, + "marketId": { + "type": "string", + "description": "Market ID on which the trade occurred." + }, + "price": { + "type": "string", + "description": "Price for the trade, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size filled for the trade." + }, + "buyer": { + "type": "string", + "description": "Unique party ID for the buyer." + }, + "seller": { + "type": "string", + "description": "Unique party ID for the seller." + }, + "aggressor": { + "$ref": "#/definitions/vegaSide", + "description": "Direction of the aggressive party e.g. SIDE_BUY or SIDE_SELL." + }, + "buyOrder": { + "type": "string", + "description": "Identifier of the order from the buy side." + }, + "sellOrder": { + "type": "string", + "description": "Identifier of the order from the sell side." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the trade occurred." + }, + "type": { + "$ref": "#/definitions/vegaTradeType", + "description": "Type for the trade." + }, + "buyerFee": { + "$ref": "#/definitions/vegaFee", + "description": "Fee amount charged to the buyer party for the trade." + }, + "sellerFee": { + "$ref": "#/definitions/vegaFee", + "description": "Fee amount charged to the seller party for the trade." + }, + "buyerAuctionBatch": { + "type": "string", + "format": "uint64", + "description": "Auction batch number that the buy side order was placed in." + }, + "sellerAuctionBatch": { + "type": "string", + "format": "uint64", + "description": "Auction batch number that the sell side order was placed in." + } + }, + "title": "A trade occurs when an aggressive order crosses one or more passive orders on the order book for a market on Vega" + }, + "vegaTradeType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_DEFAULT", + "TYPE_NETWORK_CLOSE_OUT_GOOD", + "TYPE_NETWORK_CLOSE_OUT_BAD" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_DEFAULT: Normal trading between two parties\n - TYPE_NETWORK_CLOSE_OUT_GOOD: Trading initiated by the network with another party on the book,\nwhich helps to zero-out the positions of one or more distressed parties\n - TYPE_NETWORK_CLOSE_OUT_BAD: Trading initiated by the network with another party off the book,\nwith a distressed party in order to zero-out the position of the party", + "title": "Type values for a trade" + }, + "vegaTransferType": { + "type": "string", + "enum": [ + "TRANSFER_TYPE_UNSPECIFIED", + "TRANSFER_TYPE_LOSS", + "TRANSFER_TYPE_WIN", + "TRANSFER_TYPE_MTM_LOSS", + "TRANSFER_TYPE_MTM_WIN", + "TRANSFER_TYPE_MARGIN_LOW", + "TRANSFER_TYPE_MARGIN_HIGH", + "TRANSFER_TYPE_MARGIN_CONFISCATED", + "TRANSFER_TYPE_MAKER_FEE_PAY", + "TRANSFER_TYPE_MAKER_FEE_RECEIVE", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE", + "TRANSFER_TYPE_LIQUIDITY_FEE_PAY", + "TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE", + "TRANSFER_TYPE_BOND_LOW", + "TRANSFER_TYPE_BOND_HIGH", + "TRANSFER_TYPE_WITHDRAW", + "TRANSFER_TYPE_DEPOSIT", + "TRANSFER_TYPE_BOND_SLASHING", + "TRANSFER_TYPE_REWARD_PAYOUT", + "TRANSFER_TYPE_TRANSFER_FUNDS_SEND", + "TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE", + "TRANSFER_TYPE_CLEAR_ACCOUNT", + "TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE", + "TRANSFER_TYPE_SPOT", + "TRANSFER_TYPE_HOLDING_LOCK", + "TRANSFER_TYPE_HOLDING_RELEASE", + "TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION", + "TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE", + "TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE", + "TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY", + "TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY", + "TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT", + "TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE", + "TRANSFER_TYPE_PERP_FUNDING_LOSS", + "TRANSFER_TYPE_PERP_FUNDING_WIN" + ], + "default": "TRANSFER_TYPE_UNSPECIFIED", + "description": "- TRANSFER_TYPE_UNSPECIFIED: Default value, always invalid\n - TRANSFER_TYPE_LOSS: Funds deducted after final settlement loss\n - TRANSFER_TYPE_WIN: Funds added to general account after final settlement gain\n - TRANSFER_TYPE_MTM_LOSS: Funds deducted from margin account after mark to market loss\n - TRANSFER_TYPE_MTM_WIN: Funds added to margin account after mark to market gain\n - TRANSFER_TYPE_MARGIN_LOW: Funds transferred from general account to meet margin requirement\n - TRANSFER_TYPE_MARGIN_HIGH: Excess margin amount returned to general account\n - TRANSFER_TYPE_MARGIN_CONFISCATED: Margin confiscated from margin account to fulfil closeout\n - TRANSFER_TYPE_MAKER_FEE_PAY: Maker fee paid from general account\n - TRANSFER_TYPE_MAKER_FEE_RECEIVE: Maker fee received into general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY: Infrastructure fee paid from general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE: Infrastructure fee received into general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_PAY: Liquidity fee paid from general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE: Liquidity fee received into general account\n - TRANSFER_TYPE_BOND_LOW: Bond account funded from general account to meet required bond amount\n - TRANSFER_TYPE_BOND_HIGH: Bond returned to general account after liquidity commitment was reduced\n - TRANSFER_TYPE_WITHDRAW: Funds withdrawn from general account\n - TRANSFER_TYPE_DEPOSIT: Funds deposited to general account\n - TRANSFER_TYPE_BOND_SLASHING: Bond account penalised when liquidity commitment not met\n - TRANSFER_TYPE_REWARD_PAYOUT: Reward payout received\n - TRANSFER_TYPE_TRANSFER_FUNDS_SEND: Internal Vega network instruction for the collateral engine to move funds from a user's general account into the pending transfers pool\n - TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE: Internal Vega network instruction for the collateral engine to move funds from the pending transfers pool account into the destination account\n - TRANSFER_TYPE_CLEAR_ACCOUNT: Market-related accounts emptied because market has closed\n - TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE: Balances restored after network restart\n - TRANSFER_TYPE_SPOT: Spot trade delivery\n - TRANSFER_TYPE_HOLDING_LOCK: An internal instruction to transfer a quantity corresponding to an active spot order from a general account into a party holding account.\n - TRANSFER_TYPE_HOLDING_RELEASE: An internal instruction to transfer an excess quantity corresponding to an active spot order from a holding account into a party general account.\n - TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION: Insurance pool fraction transfer from parent to successor market.\n - TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE: Allocates liquidity fee earnings to each liquidity provider's network controlled liquidity fee account.\n - TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE: Distributes net fee earnings from liquidity provider's fee account to their general account.\n - TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY: Applies SLA penalty by moving funds from party's bond account to market's insurance pool.\n - TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY: Applies SLA penalty by moving funds from the liquidity provider's fee account to market insurance pool.\n - TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT: Collects penalties from the liquidity provider's fee account before the fee revenue is paid, and transfers it to the market's bonus distribution account.\n - TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE: Distributes performance bonus from market bonus to liquidity provider's general account.\n - TRANSFER_TYPE_PERP_FUNDING_LOSS: Funds deducted from margin account after a perpetuals funding loss.\n - TRANSFER_TYPE_PERP_FUNDING_WIN: Funds added to margin account after a perpetuals funding gain.", + "title": "Transfers can occur between parties on Vega, these are the types that indicate why a transfer took place" + }, + "vegaUpdateAsset": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaAssetDetailsUpdate", + "description": "Changes to apply on an existing asset." + } + }, + "title": "Update an existing asset on Vega" + }, + "vegaUpdateFutureProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data of settlement data." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data source for trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "The binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaUpdateInstrumentConfiguration": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaUpdateFutureProduct", + "description": "Future." + }, + "perpetual": { + "$ref": "#/definitions/vegaUpdatePerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaUpdateMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateMarketConfiguration", + "description": "Updated configuration of the futures market." + } + }, + "title": "Update an existing market on Vega" + }, + "vegaUpdateMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaUpdateInstrumentConfiguration", + "description": "Updated futures market instrument configuration." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + } + }, + "title": "Configuration to update a futures market on Vega" + }, + "vegaUpdateMarketState": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaUpdateMarketStateConfiguration", + "title": "Configuration for governance-initiated change of a market's state" + } + } + }, + "vegaUpdateMarketStateConfiguration": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "ID of the market" + }, + "updateType": { + "$ref": "#/definitions/vegaMarketStateUpdateType", + "title": "Type of the market update" + }, + "price": { + "type": "string", + "title": "Settlement price, relevant only for market termination for futures markets" + } + } + }, + "vegaUpdateNetworkParameter": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "The network parameter to update." + } + }, + "title": "Update network configuration on Vega" + }, + "vegaUpdatePerpetualProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaUpdateSpotMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateSpotMarketConfiguration", + "description": "Updated configuration of the spot market." + } + }, + "title": "Update an existing spot market on Vega" + }, + "vegaUpdateSpotMarketConfiguration": { + "type": "object", + "properties": { + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration to update a spot market on Vega" + }, + "vegaVote": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "description": "Voter's party ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Which way the party voted." + }, + "proposalId": { + "type": "string", + "description": "Proposal ID being voted on." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds when the vote was acknowledged by the network." + }, + "totalGovernanceTokenBalance": { + "type": "string", + "description": "Total number of governance token for the party that cast the vote." + }, + "totalGovernanceTokenWeight": { + "type": "string", + "description": "The weight of this vote based on the total number of governance tokens." + }, + "totalEquityLikeShareWeight": { + "type": "string", + "description": "The weight of the vote compared to the total amount of equity-like share on the market." + } + }, + "title": "Governance vote" + }, + "vegaVoteValue": { + "type": "string", + "enum": [ + "VALUE_UNSPECIFIED", + "VALUE_NO", + "VALUE_YES" + ], + "default": "VALUE_UNSPECIFIED", + "description": "- VALUE_UNSPECIFIED: Default value, always invalid\n - VALUE_NO: Vote against the proposal\n - VALUE_YES: Vote in favour of the proposal", + "title": "Vote value" + }, + "vegaWithdrawExt": { + "type": "object", + "properties": { + "erc20": { + "$ref": "#/definitions/vegaErc20WithdrawExt", + "description": "ERC20 withdrawal details." + } + }, + "title": "Withdrawal external details" + }, + "vegaWithdrawal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the withdrawal." + }, + "partyId": { + "type": "string", + "description": "Unique party ID of the user initiating the withdrawal." + }, + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to withdraw funds from." + }, + "status": { + "$ref": "#/definitions/vegaWithdrawalStatus", + "description": "Status of the withdrawal." + }, + "ref": { + "type": "string", + "description": "Reference which is used by the foreign chain\nto refer to this withdrawal." + }, + "txHash": { + "type": "string", + "description": "Hash of the foreign chain for this transaction." + }, + "createdTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the network started to process this withdrawal." + }, + "withdrawnTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the withdrawal was finalised by the network." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Withdrawal from the Vega network" + }, + "vegaWithdrawalStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_OPEN", + "STATUS_REJECTED", + "STATUS_FINALIZED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_OPEN: Withdrawal is open and being processed by the network\n - STATUS_REJECTED: Withdrawal have been cancelled\n - STATUS_FINALIZED: Withdrawal went through and is fully finalised, the funds are removed from the\nVega network and are unlocked on the foreign chain bridge, for example, on the Ethereum network", + "title": "Status of the withdrawal" + }, + "vegacommandsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegacommandsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64", + "description": "First epoch from which this transfer shall be paid." + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "factor": { + "type": "string", + "description": "Factor needs to be \u003e 0." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegacommandsv1Transfer": { + "type": "object", + "properties": { + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type from which the funds of the party\nshould be taken." + }, + "to": { + "type": "string", + "description": "Public key of the destination account." + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the destination account." + }, + "asset": { + "type": "string", + "description": "Asset ID of the asset to be transferred." + }, + "amount": { + "type": "string", + "description": "Amount to be taken from the source account. This field is an unsigned integer scaled to the asset's decimal places." + }, + "reference": { + "type": "string", + "description": "Reference to be attached to the transfer." + }, + "oneOff": { + "$ref": "#/definitions/vegacommandsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegacommandsv1RecurringTransfer" + } + }, + "title": "Transfer initiated by a party" + }, + "vegaeventsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64" + } + } + }, + "vegaeventsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64" + }, + "factor": { + "type": "string" + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy" + } + } + }, + "vegaeventsv1Transfer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "from": { + "type": "string" + }, + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType" + }, + "to": { + "type": "string" + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType" + }, + "asset": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/v1TransferStatus" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "reason": { + "type": "string" + }, + "oneOff": { + "$ref": "#/definitions/vegaeventsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaeventsv1RecurringTransfer" + }, + "oneOffGovernance": { + "$ref": "#/definitions/v1OneOffGovernanceTransfer" + }, + "recurringGovernance": { + "$ref": "#/definitions/v1RecurringGovernanceTransfer" + } + } + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/api/v1/corestate.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/api/v1/corestate.swagger.json new file mode 100644 index 000000000..4ed51fc61 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/api/v1/corestate.swagger.json @@ -0,0 +1,2642 @@ +{ + "swagger": "2.0", + "info": { + "title": "Vega core state APIs", + "version": "v0.72.1" + }, + "tags": [ + { + "name": "CoreStateService" + } + ], + "host": "lb.testnet.vega.xyz", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "ConditionOperator": { + "type": "string", + "enum": [ + "OPERATOR_UNSPECIFIED", + "OPERATOR_EQUALS", + "OPERATOR_GREATER_THAN", + "OPERATOR_GREATER_THAN_OR_EQUAL", + "OPERATOR_LESS_THAN", + "OPERATOR_LESS_THAN_OR_EQUAL" + ], + "default": "OPERATOR_UNSPECIFIED", + "description": "Operator describes the type of comparison.\n\n - OPERATOR_UNSPECIFIED: The default value\n - OPERATOR_EQUALS: Verify if the property values are strictly equal or not.\n - OPERATOR_GREATER_THAN: Verify if the data source data value is greater than the Condition value.\n - OPERATOR_GREATER_THAN_OR_EQUAL: Verify if the data source data value is greater than or equal to the Condition\nvalue.\n - OPERATOR_LESS_THAN: Verify if the data source data value is less than the Condition value.\n - OPERATOR_LESS_THAN_OR_EQUAL: Verify if the data source data value is less or equal to than the Condition\nvalue." + }, + "MarketTradingMode": { + "type": "string", + "enum": [ + "TRADING_MODE_UNSPECIFIED", + "TRADING_MODE_CONTINUOUS", + "TRADING_MODE_BATCH_AUCTION", + "TRADING_MODE_OPENING_AUCTION", + "TRADING_MODE_MONITORING_AUCTION", + "TRADING_MODE_NO_TRADING", + "TRADING_MODE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "TRADING_MODE_UNSPECIFIED", + "description": "- TRADING_MODE_UNSPECIFIED: Default value, this is invalid\n - TRADING_MODE_CONTINUOUS: Normal trading\n - TRADING_MODE_BATCH_AUCTION: Auction trading (FBA)\n - TRADING_MODE_OPENING_AUCTION: Opening auction\n - TRADING_MODE_MONITORING_AUCTION: Auction triggered by monitoring\n - TRADING_MODE_NO_TRADING: No trading is allowed\n - TRADING_MODE_SUSPENDED_VIA_GOVERNANCE: Special auction mode triggered via governance", + "title": "Trading mode the market is currently running, also referred to as 'market state'" + }, + "apiv1Account": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "market": { + "type": "string" + }, + "balance": { + "type": "string" + }, + "asset": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "protobufNullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "v1Condition": { + "type": "object", + "properties": { + "operator": { + "$ref": "#/definitions/ConditionOperator", + "description": "Type of comparison to make on the value." + }, + "value": { + "type": "string", + "description": "Value to be compared with by the operator." + } + }, + "title": "Condition describes the condition that must be validated by the network" + }, + "v1ETHAddress": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "v1Filter": { + "type": "object", + "properties": { + "key": { + "$ref": "#/definitions/v1PropertyKey", + "description": "Data source's data property key targeted by the filter." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that should be matched by the data to be\nconsidered of interest." + } + }, + "description": "Filter describes the conditions under which a data source data is considered of\ninterest or not." + }, + "v1InternalTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "int64", + "description": "Trigger when the vega time is greater or equal to this time, in Unix seconds." + }, + "every": { + "type": "string", + "format": "int64", + "description": "Repeat the trigger every n seconds after the initial. If no time for\ninitial was specified, begin repeating immediately." + } + }, + "description": "Trigger for an internal time data source." + }, + "v1ListAccountsResponse": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/apiv1Account" + } + } + } + }, + "v1ListAssetsResponse": { + "type": "object", + "properties": { + "assets": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaAsset" + } + } + } + }, + "v1ListDelegationsResponse": { + "type": "object", + "properties": { + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDelegation" + } + } + } + }, + "v1ListMarketsDataResponse": { + "type": "object", + "properties": { + "marketsData": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketData" + } + } + } + }, + "v1ListMarketsResponse": { + "type": "object", + "properties": { + "markets": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarket" + } + } + } + }, + "v1ListNetworkLimitsResponse": { + "type": "object", + "properties": { + "networkLimits": { + "$ref": "#/definitions/vegaNetworkLimits" + } + } + }, + "v1ListNetworkParametersResponse": { + "type": "object", + "properties": { + "networkParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNetworkParameter" + } + } + } + }, + "v1ListPartiesResponse": { + "type": "object", + "properties": { + "parties": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaParty" + } + } + } + }, + "v1ListPartiesStakeResponse": { + "type": "object", + "properties": { + "partiesStake": { + "type": "array", + "items": { + "$ref": "#/definitions/v1PartyStake" + } + } + } + }, + "v1ListProposalsResponse": { + "type": "object", + "properties": { + "proposals": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaProposal" + } + } + } + }, + "v1ListValidatorsResponse": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ValidatorUpdate" + } + } + } + }, + "v1ListVotesResponse": { + "type": "object", + "properties": { + "votes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVote" + } + } + } + }, + "v1PartyStake": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "currentStakeAvailable": { + "type": "string" + }, + "stakeLinkings": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StakeLinking" + } + } + } + }, + "v1PropertyKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "type": { + "$ref": "#/definitions/v1PropertyKeyType", + "description": "Data type of the property." + }, + "numberDecimalPlaces": { + "type": "string", + "format": "uint64", + "title": "Optional decimal place to be be applied on the provided value\nvalid only for PropertyType of type DECIMAL and INTEGER" + } + }, + "description": "PropertyKey describes the property key contained in data source data." + }, + "v1PropertyKeyType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_EMPTY", + "TYPE_INTEGER", + "TYPE_STRING", + "TYPE_BOOLEAN", + "TYPE_DECIMAL", + "TYPE_TIMESTAMP" + ], + "default": "TYPE_UNSPECIFIED", + "description": "Type describes the data type of properties that are supported by the data source\nengine.\n\n - TYPE_UNSPECIFIED: The default value.\n - TYPE_EMPTY: Any type.\n - TYPE_INTEGER: Integer type.\n - TYPE_STRING: String type.\n - TYPE_BOOLEAN: Boolean type.\n - TYPE_DECIMAL: Any floating point decimal type.\n - TYPE_TIMESTAMP: Timestamp date type." + }, + "v1PubKey": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + }, + "description": "PubKey is the public key that signed this data.\nDifferent public keys coming from different sources will be further separated." + }, + "v1Signer": { + "type": "object", + "properties": { + "pubKey": { + "$ref": "#/definitions/v1PubKey", + "description": "List of authorized public keys that signed the data for this\nsource. All the public keys in the data should be contained in these\npublic keys." + }, + "ethAddress": { + "$ref": "#/definitions/v1ETHAddress", + "description": "In case of an open oracle - Ethereum address will be submitted." + } + } + }, + "v1StakeLinking": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Internal ID for this staking event" + }, + "type": { + "$ref": "#/definitions/v1StakeLinkingType", + "description": "Stake linking event type." + }, + "ts": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the event was emitted by Ethereum." + }, + "party": { + "type": "string", + "description": "Party to whom the event is directed at." + }, + "amount": { + "type": "string", + "description": "Amount of stake deposited or removed." + }, + "status": { + "$ref": "#/definitions/v1StakeLinkingStatus", + "description": "Status of the event." + }, + "finalizedAt": { + "type": "string", + "format": "int64", + "description": "Time at which the Vega network finalised the state of the event." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction in which the event happened." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Block when the event happened." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Block time." + }, + "logIndex": { + "type": "string", + "format": "uint64", + "description": "Log index." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum address from which the stake link was initiated." + } + }, + "title": "StakeLinking - an event notifying of stake being deposited or removed for a given party\nThese events are emitted for every Staking deposit or removed accepted by the network" + }, + "v1StakeLinkingStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_ACCEPTED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates an event waiting for confirmation from the Vega network\n - STATUS_ACCEPTED: Indicates an event accepted by the Vega network\n - STATUS_REJECTED: Indicates an event rejected by the Vega network" + }, + "v1StakeLinkingType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LINK", + "TYPE_UNLINK" + ], + "default": "TYPE_UNSPECIFIED", + "title": "- TYPE_UNSPECIFIED: Default value\n - TYPE_LINK: Indicate of a stake deposit instruction\n - TYPE_UNLINK: Indicate of a stake remove instruction" + }, + "v1ValidatorUpdate": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the validator node" + }, + "vegaPubKey": { + "type": "string", + "title": "Vega public key of validator node" + }, + "ethereumAddress": { + "type": "string", + "title": "Ethereum public key of validator node" + }, + "tmPubKey": { + "type": "string", + "title": "Public key of Tendermint" + }, + "infoUrl": { + "type": "string", + "title": "URL with more info on the node" + }, + "country": { + "type": "string", + "title": "Country code (ISO 3166-1 alpha-2) for the location of the node" + }, + "name": { + "type": "string", + "title": "Name of the validator" + }, + "avatarUrl": { + "type": "string", + "title": "AvatarURL of the validator" + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "title": "Vega public key derivation index" + }, + "added": { + "type": "boolean", + "title": "Flag indicating if the validator has been added to or removed from vega" + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the announced pending node will start participating in the network" + }, + "submitterAddress": { + "type": "string", + "title": "Ethereum public key being used as the submitter to allow automatic signature generation" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the node was announced or removed from the network" + } + }, + "title": "Validator update event contains information about validator node" + }, + "vegaAccountType": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ], + "default": "ACCOUNT_TYPE_UNSPECIFIED", + "description": "- ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "title": "Various collateral/account types as used by Vega" + }, + "vegaAsset": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Internal identifier of the asset." + }, + "details": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Definition of the external source for this asset." + }, + "status": { + "$ref": "#/definitions/vegaAssetStatus", + "description": "Status of the asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetails": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the asset (e.g: Great British Pound)." + }, + "symbol": { + "type": "string", + "description": "Symbol of the asset (e.g: GBP)." + }, + "decimals": { + "type": "string", + "format": "uint64", + "description": "Number of decimal / precision handled by this asset." + }, + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "builtinAsset": { + "$ref": "#/definitions/vegaBuiltinAsset", + "description": "Vega built-in asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20", + "description": "Ethereum ERC20 asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetailsUpdate": { + "type": "object", + "properties": { + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Update", + "description": "Ethereum ERC20 asset update." + } + }, + "description": "Changes to apply on an existing asset." + }, + "vegaAssetStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PROPOSED", + "STATUS_REJECTED", + "STATUS_PENDING_LISTING", + "STATUS_ENABLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_PROPOSED: Asset is proposed and under vote\n - STATUS_REJECTED: Asset has been rejected from governance\n - STATUS_PENDING_LISTING: Asset is pending listing from the bridge\n - STATUS_ENABLED: Asset is fully usable in the network" + }, + "vegaAuctionDuration": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "format": "int64", + "description": "Duration of the auction in seconds." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Target uncrossing trading volume." + } + }, + "title": "Auction duration is used to configure 3 auction periods:\n1. `duration \u003e 0`, `volume == 0`:\n The auction will last for at least N seconds\n2. `duration == 0`, `volume \u003e 0`:\n The auction will end once the given volume will match at uncrossing\n3. `duration \u003e 0`, `volume \u003e 0`:\n The auction will take at least N seconds, but can end sooner if the market can trade a certain volume" + }, + "vegaAuctionTrigger": { + "type": "string", + "enum": [ + "AUCTION_TRIGGER_UNSPECIFIED", + "AUCTION_TRIGGER_BATCH", + "AUCTION_TRIGGER_OPENING", + "AUCTION_TRIGGER_PRICE", + "AUCTION_TRIGGER_LIQUIDITY", + "AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET", + "AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS", + "AUCTION_TRIGGER_GOVERNANCE_SUSPENSION" + ], + "default": "AUCTION_TRIGGER_UNSPECIFIED", + "description": "- AUCTION_TRIGGER_UNSPECIFIED: Default value for AuctionTrigger, no auction triggered\n - AUCTION_TRIGGER_BATCH: Batch auction\n - AUCTION_TRIGGER_OPENING: Opening auction\n - AUCTION_TRIGGER_PRICE: Price monitoring trigger\n - AUCTION_TRIGGER_LIQUIDITY: Deprecated\n - AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET: Liquidity auction due to not enough committed liquidity\n - AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS: Liquidity auction due to not being able to deploy LP orders because there's nothing to peg on one or both sides of the book\n - AUCTION_TRIGGER_GOVERNANCE_SUSPENSION: Market is suspended and put into auction via governance", + "title": "Auction triggers indicate what condition triggered an auction (if market is in auction mode)" + }, + "vegaBuiltinAsset": { + "type": "object", + "properties": { + "maxFaucetAmountMint": { + "type": "string", + "description": "Maximum amount that can be requested by a party through the built-in asset faucet at a time." + } + }, + "title": "Vega internal asset" + }, + "vegaCancelTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaCancelTransferConfiguration", + "title": "Configuration for cancellation of a governance-initiated transfer" + } + } + }, + "vegaCancelTransferConfiguration": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "ID of the governance transfer proposal." + } + } + }, + "vegaDataSourceDefinition": { + "type": "object", + "properties": { + "internal": { + "$ref": "#/definitions/vegaDataSourceDefinitionInternal" + }, + "external": { + "$ref": "#/definitions/vegaDataSourceDefinitionExternal" + } + }, + "description": "Represents the top level object that handles data sources.\nData source definition can be external or internal, with whatever\nnumber of data sources are defined for each type in the child objects below." + }, + "vegaDataSourceDefinitionExternal": { + "type": "object", + "properties": { + "oracle": { + "$ref": "#/definitions/vegaDataSourceSpecConfiguration" + }, + "ethOracle": { + "$ref": "#/definitions/vegaEthCallSpec", + "description": "Contains the data specification that is received from Ethereum sources." + } + }, + "description": "DataSourceDefinitionExternal is the top level object used for all external\ndata sources. It contains one of any of the defined `SourceType` variants." + }, + "vegaDataSourceDefinitionInternal": { + "type": "object", + "properties": { + "time": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTime" + }, + "timeTrigger": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTimeTrigger" + } + }, + "description": "Top level object used for all internal data sources.\nIt contains one of any of the defined source type variants." + }, + "vegaDataSourceSpec": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Hash generated from the DataSpec data." + }, + "createdAt": { + "type": "string", + "format": "int64", + "title": "Creation date and time" + }, + "updatedAt": { + "type": "string", + "format": "int64", + "title": "Last Updated timestamp" + }, + "data": { + "$ref": "#/definitions/vegaDataSourceDefinition" + }, + "status": { + "$ref": "#/definitions/vegaDataSourceSpecStatus", + "title": "Status describes the status of the data source spec" + } + }, + "description": "Data source spec describes the data source base that a product or a risk\nmodel wants to get from the data source engine. This message contains\nadditional information used by the API." + }, + "vegaDataSourceSpecConfiguration": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + }, + "description": "Signers is the list of authorized signatures that signed the data for this\nsource. All the signatures in the data source data should be contained in\nthis external source. All the signatures in the data should be contained in\nthis list." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "description": "Filters describes which source data are considered of interest or not for\nthe product (or the risk model)." + } + }, + "description": "All types of external data sources use the same configuration set for meeting\nrequirements in order for the data to be useful for Vega - valid signatures\nand matching filters." + }, + "vegaDataSourceSpecConfigurationTime": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps should meet in order to be considered." + } + }, + "description": "Internal data source used for emitting timestamps." + }, + "vegaDataSourceSpecConfigurationTimeTrigger": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps need to meet in order to be considered." + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1InternalTimeTrigger" + }, + "title": "An internal time trigger" + } + }, + "description": "Internal data source used for emitting timestamps automatically using predefined intervals and conditions." + }, + "vegaDataSourceSpecStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_DEACTIVATED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value.\n - STATUS_ACTIVE: STATUS_ACTIVE describes an active data source spec.\n - STATUS_DEACTIVATED: STATUS_DEACTIVATED describes a data source spec that is not listening to\ndata anymore.", + "title": "Status describe the status of the data source spec" + }, + "vegaDataSourceSpecToFutureBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the Future will use the value of\nthis property as settlement data." + }, + "tradingTerminationProperty": { + "type": "string", + "description": "Name of the property in the data source data that signals termination of trading." + } + }, + "title": "DataSourceSpecToFutureBinding describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDataSourceSpecToPerpetualBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + }, + "settlementScheduleProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + } + }, + "title": "Describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDelegation": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Party which is delegating." + }, + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Amount delegated. This field is an unsigned integer scaled to the asset's decimal places." + }, + "epochSeq": { + "type": "string", + "description": "Epoch of delegation." + } + } + }, + "vegaDispatchMetric": { + "type": "string", + "enum": [ + "DISPATCH_METRIC_UNSPECIFIED", + "DISPATCH_METRIC_MAKER_FEES_PAID", + "DISPATCH_METRIC_MAKER_FEES_RECEIVED", + "DISPATCH_METRIC_LP_FEES_RECEIVED", + "DISPATCH_METRIC_MARKET_VALUE" + ], + "default": "DISPATCH_METRIC_UNSPECIFIED", + "title": "- DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that is using the total maker fees paid in the market\n - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that is using the total maker fees received in the market\n - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that is using the total LP fees received in the market\n - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that is using total value of the market if above the required threshold and not paid given proposer bonus yet" + }, + "vegaDispatchStrategy": { + "type": "object", + "properties": { + "assetForMetric": { + "type": "string", + "description": "Asset to use for metric." + }, + "metric": { + "$ref": "#/definitions/vegaDispatchMetric", + "description": "Metric to apply." + }, + "markets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional markets in scope." + } + } + }, + "vegaERC20": { + "type": "object", + "properties": { + "contractAddress": { + "type": "string", + "description": "Address of the contract for the token, on the ethereum network." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + }, + "title": "ERC20 token based asset, living on the ethereum network" + }, + "vegaERC20Update": { + "type": "object", + "properties": { + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address.\nThis will be interpreted against the asset decimals.\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + } + }, + "vegaEthCallSpec": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Ethereum address of the contract to call." + }, + "abi": { + "type": "string", + "description": "The ABI of that contract." + }, + "method": { + "type": "string", + "description": "Name of the method on the contract to call." + }, + "args": { + "type": "array", + "items": { + "type": "object" + }, + "description": "List of arguments to pass to method call.\nProtobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum\ntype according to the ABI." + }, + "trigger": { + "$ref": "#/definitions/vegaEthCallTrigger", + "description": "Conditions for determining when to call the contract method." + }, + "requiredConfirmations": { + "type": "string", + "format": "uint64", + "title": "Number of confirmations required before the query is considered verified" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "title": "Filters the data returned from the contract method" + }, + "normalisers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNormaliser" + }, + "description": "Normalisers are used to convert the data returned from the contract method\ninto a standard format. The key of the map is the name of the property,\nwhich identifies the specific piece of data to other parts of the data\nsourcing framework, for example filters. The value is a JSONPath expression\nfor expressing where in the contract call result the required data is\nlocated, for example $[0] indicates the first result. $[1].price would look\nin the second result returned from the contract for a structure with a key\ncalled 'price' and use that if it exists." + } + }, + "description": "Specifies a data source that derives its content from calling a read method\non an Ethereum contract." + }, + "vegaEthCallTrigger": { + "type": "object", + "properties": { + "timeTrigger": { + "$ref": "#/definitions/vegaEthTimeTrigger" + } + }, + "description": "Determines when the contract method should be called." + }, + "vegaEthTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "uint64", + "description": "Trigger when the Ethereum time is greater or equal to this time, in Unix\nseconds." + }, + "every": { + "type": "string", + "format": "uint64", + "description": "Repeat the call every n seconds after the initial call. If no time for\ninitial call was specified, begin repeating immediately." + }, + "until": { + "type": "string", + "format": "uint64", + "description": "If repeating, stop once Ethereum time is greater than this time, in Unix\nseconds. If not set, then repeat indefinitely." + } + }, + "description": "Trigger for an Ethereum call based on the Ethereum block timestamp. Can be\none-off or repeating." + }, + "vegaFeeFactors": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Market maker fee charged network wide." + }, + "infrastructureFee": { + "type": "string", + "description": "Infrastructure fee charged network wide for staking and governance." + }, + "liquidityFee": { + "type": "string", + "description": "Liquidity fee applied per market for market making." + } + }, + "title": "Fee factors definition" + }, + "vegaFees": { + "type": "object", + "properties": { + "factors": { + "$ref": "#/definitions/vegaFeeFactors", + "description": "Fee factors." + } + }, + "title": "Fees definition" + }, + "vegaFuture": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the future." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the settlement data source filter." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the trading termination data source filter." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data spec and the data source." + } + }, + "title": "Future product definition" + }, + "vegaFutureProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The external data source spec describing the data source of trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaGovernanceTransferType": { + "type": "string", + "enum": [ + "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED", + "GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING", + "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT" + ], + "default": "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED" + }, + "vegaInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique instrument ID." + }, + "code": { + "type": "string", + "description": "Code for the instrument." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + }, + "metadata": { + "$ref": "#/definitions/vegaInstrumentMetadata", + "description": "Collection of instrument meta-data." + }, + "future": { + "$ref": "#/definitions/vegaFuture", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpot", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetual", + "description": "Perpetual." + } + }, + "title": "Instrument definition" + }, + "vegaInstrumentConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Instrument name." + }, + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaFutureProduct", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpotProduct", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaInstrumentMetadata": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of 0 or more tags." + } + }, + "title": "Instrument metadata definition" + }, + "vegaLiquidityMonitoringParameters": { + "type": "object", + "properties": { + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "triggeringRatio": { + "type": "string", + "description": "Specifies the triggering ratio for entering liquidity auction." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction." + } + }, + "title": "LiquidityMonitoringParameters contains settings used for liquidity monitoring" + }, + "vegaLiquidityProviderFeeShare": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Liquidity provider party ID." + }, + "equityLikeShare": { + "type": "string", + "description": "Share own by this liquidity provider." + }, + "averageEntryValuation": { + "type": "string", + "description": "Average entry valuation of the liquidity provider for the market." + }, + "averageScore": { + "type": "string", + "description": "Average liquidity score." + }, + "virtualStake": { + "type": "string", + "description": "The virtual stake of this liquidity provider." + } + }, + "title": "Equity like share of liquidity fee for each liquidity provider" + }, + "vegaLiquiditySLAParameters": { + "type": "object", + "properties": { + "priceRange": { + "type": "string" + }, + "commitmentMinTimeFraction": { + "type": "string", + "description": "Specifies the minimum fraction of time LPs must spend \"on the book\" providing their committed liquidity." + }, + "providersFeeCalculationTimeStep": { + "type": "string", + "format": "int64", + "description": "Specifies how often the quality of liquidity supplied by the LPs is evaluated and fees arising from that period are earmarked for specific parties." + }, + "performanceHysteresisEpochs": { + "type": "string", + "format": "uint64", + "description": "Specifies the number of liquidity epochs over which past performance will continue to affect rewards." + }, + "slaCompetitionFactor": { + "type": "string", + "description": "Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers\nthat achieved a higher SLA performance than them." + } + } + }, + "vegaLogNormalModelParams": { + "type": "object", + "properties": { + "mu": { + "type": "number", + "format": "double", + "description": "Mu parameter, annualised growth rate of the underlying asset." + }, + "r": { + "type": "number", + "format": "double", + "description": "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number." + }, + "sigma": { + "type": "number", + "format": "double", + "description": "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number." + } + }, + "title": "Risk model parameters for log normal" + }, + "vegaLogNormalRiskModel": { + "type": "object", + "properties": { + "riskAversionParameter": { + "type": "number", + "format": "double", + "description": "Risk Aversion Parameter." + }, + "tau": { + "type": "number", + "format": "double", + "description": "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall\ncalculation to obtain the maintenance margin, must be a strictly non-negative real number." + }, + "params": { + "$ref": "#/definitions/vegaLogNormalModelParams", + "description": "Risk model parameters for log normal." + } + }, + "title": "Risk model for log normal" + }, + "vegaMarginCalculator": { + "type": "object", + "properties": { + "scalingFactors": { + "$ref": "#/definitions/vegaScalingFactors", + "description": "Scaling factors for margin calculation." + } + }, + "title": "Margin Calculator definition" + }, + "vegaMarket": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the market." + }, + "tradableInstrument": { + "$ref": "#/definitions/vegaTradableInstrument", + "description": "Tradable instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Number of decimal places that a price must be shifted by in order to get a\ncorrect price denominated in the currency of the market, for example:\n`realPrice = price / 10^decimalPlaces`." + }, + "fees": { + "$ref": "#/definitions/vegaFees", + "description": "Fees configuration that apply to the market." + }, + "openingAuction": { + "$ref": "#/definitions/vegaAuctionDuration", + "description": "Auction duration specifies how long the opening auction will run (minimum\nduration and optionally a minimum traded volume)." + }, + "priceMonitoringSettings": { + "$ref": "#/definitions/vegaPriceMonitoringSettings", + "description": "PriceMonitoringSettings for the market." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "LiquidityMonitoringParameters for the market." + }, + "tradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current mode of execution of the market." + }, + "state": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "marketTimestamps": { + "$ref": "#/definitions/vegaMarketTimestamps", + "description": "Timestamps for when the market state changes." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "The number of decimal places for a position." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "parentMarketId": { + "type": "string", + "title": "ID of the market this market succeeds" + }, + "insurancePoolFraction": { + "type": "string", + "description": "The fraction of the parent market's insurance pool that this market inherits; range 0 through 1." + }, + "successorMarketId": { + "type": "string", + "description": "ID of the market that succeeds this market if it exists. This will be populated by the system when the successor market is enabled." + }, + "liquiditySlaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Liquidity SLA parameters for the market." + } + }, + "title": "Market definition" + }, + "vegaMarketData": { + "type": "object", + "properties": { + "markPrice": { + "type": "string", + "description": "Mark price, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidPrice": { + "type": "string", + "description": "Highest price level on an order book for buy orders, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being bid at the best bid price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestOfferPrice": { + "type": "string", + "description": "Lowest price level on an order book for offer orders. This field is an unsigned integer scaled to the market's decimal places." + }, + "bestOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being offered at the best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestStaticBidPrice": { + "type": "string", + "description": "Highest price on the order book for buy orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticBidVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static bid price excluding pegged orders." + }, + "bestStaticOfferPrice": { + "type": "string", + "description": "Lowest price on the order book for sell orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static offer price, excluding pegged orders." + }, + "midPrice": { + "type": "string", + "description": "Arithmetic average of the best bid price and best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "staticMidPrice": { + "type": "string", + "description": "Arithmetic average of the best static bid price and best static offer price.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "market": { + "type": "string", + "title": "Market ID for the data" + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which this mark price was relevant." + }, + "openInterest": { + "type": "string", + "format": "uint64", + "description": "Sum of the size of all positions greater than zero on the market." + }, + "auctionEnd": { + "type": "string", + "format": "int64", + "description": "Time in seconds until the end of the auction (zero if currently not in auction period)." + }, + "auctionStart": { + "type": "string", + "format": "int64", + "description": "Time until next auction, or start time of the current auction if market is in auction period." + }, + "indicativePrice": { + "type": "string", + "description": "Indicative price (zero if not in auction). This field is an unsigned scaled to the market's decimal places." + }, + "indicativeVolume": { + "type": "string", + "format": "uint64", + "description": "Indicative volume (zero if not in auction)." + }, + "marketTradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current trading mode for the market." + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market is in an auction trading mode, this field indicates what triggered the auction." + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market auction is extended, this field indicates what caused the extension." + }, + "targetStake": { + "type": "string", + "description": "Targeted stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "suppliedStake": { + "type": "string", + "description": "Available stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "priceMonitoringBounds": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringBounds" + }, + "description": "One or more price monitoring bounds for the current timestamp." + }, + "marketValueProxy": { + "type": "string", + "description": "Market value proxy." + }, + "liquidityProviderFeeShare": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProviderFeeShare" + }, + "description": "Equity like share of liquidity fee for each liquidity provider." + }, + "marketState": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "nextMarkToMarket": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the next mark-to-market calculation will occur." + }, + "lastTradedPrice": { + "type": "string", + "description": "Last traded price of the market. This field is an unsigned integer scaled to the market's decimal places." + }, + "marketGrowth": { + "type": "string", + "description": "Market growth at the last market time window." + } + }, + "title": "Represents data generated by a market when open" + }, + "vegaMarketState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_PROPOSED", + "STATE_REJECTED", + "STATE_PENDING", + "STATE_CANCELLED", + "STATE_ACTIVE", + "STATE_SUSPENDED", + "STATE_CLOSED", + "STATE_TRADING_TERMINATED", + "STATE_SETTLED", + "STATE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, invalid\n - STATE_PROPOSED: Governance proposal valid and accepted\n - STATE_REJECTED: Outcome of governance votes is to reject the market\n - STATE_PENDING: Governance vote passes/wins\n - STATE_CANCELLED: Market triggers cancellation condition or governance\nvotes to close before market becomes Active\n - STATE_ACTIVE: Enactment date reached and usual auction exit checks pass\n - STATE_SUSPENDED: Price monitoring or liquidity monitoring trigger\n - STATE_CLOSED: Governance vote to close (Not currently implemented)\n - STATE_TRADING_TERMINATED: Defined by the product (i.e. from a product parameter,\nspecified in market definition, giving close date/time)\n - STATE_SETTLED: Settlement triggered and completed as defined by product\n - STATE_SUSPENDED_VIA_GOVERNANCE: Market has been suspended via governance", + "title": "Current state of the market" + }, + "vegaMarketStateUpdateType": { + "type": "string", + "enum": [ + "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "MARKET_STATE_UPDATE_TYPE_TERMINATE", + "MARKET_STATE_UPDATE_TYPE_SUSPEND", + "MARKET_STATE_UPDATE_TYPE_RESUME" + ], + "default": "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "title": "- MARKET_STATE_UPDATE_TYPE_UNSPECIFIED: Default value, always invalid\n - MARKET_STATE_UPDATE_TYPE_TERMINATE: Request to terminate a market via governance\n - MARKET_STATE_UPDATE_TYPE_SUSPEND: Request to suspend a market via governance\n - MARKET_STATE_UPDATE_TYPE_RESUME: Request to resume a market via governance" + }, + "vegaMarketTimestamps": { + "type": "object", + "properties": { + "proposed": { + "type": "string", + "format": "int64", + "description": "Time when the market is first proposed." + }, + "pending": { + "type": "string", + "format": "int64", + "description": "Time when the market has been voted in and began its opening auction." + }, + "open": { + "type": "string", + "format": "int64", + "description": "Time when the market has left the opening auction and is ready to accept trades." + }, + "close": { + "type": "string", + "format": "int64", + "description": "Time when the market closed." + } + }, + "title": "Time stamps for important times about creating, enacting etc the market" + }, + "vegaNetworkLimits": { + "type": "object", + "properties": { + "canProposeMarket": { + "type": "boolean", + "description": "Are market proposals allowed at this point in time." + }, + "canProposeAsset": { + "type": "boolean", + "description": "Are asset proposals allowed at this point in time." + }, + "proposeMarketEnabled": { + "type": "boolean", + "description": "Are market proposals enabled on this chain." + }, + "proposeAssetEnabled": { + "type": "boolean", + "description": "Are asset proposals enabled on this chain." + }, + "genesisLoaded": { + "type": "boolean", + "description": "True once the genesis file is loaded." + }, + "proposeMarketEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which market proposals will be enabled (0 indicates not set)." + }, + "proposeAssetEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which asset proposals will be enabled (0 indicates not set)." + }, + "canProposeSpotMarket": { + "type": "boolean", + "description": "Are spot market proposals allowed at this point in time." + }, + "canProposePerpetualMarket": { + "type": "boolean", + "description": "Are perpetual market proposals allowed at this point in time." + } + }, + "title": "Network limits, defined in the genesis file" + }, + "vegaNetworkParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Unique key of the network parameter." + }, + "value": { + "type": "string", + "description": "Value for the network parameter." + } + }, + "title": "Represents a network parameter on Vega" + }, + "vegaNewAsset": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Configuration of the new asset." + } + }, + "title": "New asset on Vega" + }, + "vegaNewFreeform": { + "type": "object", + "description": "Freeform proposal\nThis message is just used as a placeholder to sort out the nature of the\nproposal once parsed." + }, + "vegaNewMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewMarketConfiguration", + "description": "Configuration of the new market." + } + }, + "title": "New market on Vega" + }, + "vegaNewMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New futures market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new futures market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the futures market can be." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "successor": { + "$ref": "#/definitions/vegaSuccessorConfiguration", + "description": "Successor configuration. If this proposal is meant to succeed a given market, then this should be set." + } + }, + "title": "Configuration for a new futures market on Vega" + }, + "vegaNewSpotMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewSpotMarketConfiguration", + "description": "Configuration of the new spot market." + } + }, + "title": "New spot market on Vega" + }, + "vegaNewSpotMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New spot market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new spot market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the spot market can be." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration for a new spot market on Vega" + }, + "vegaNewTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewTransferConfiguration", + "description": "Configuration for a new transfer." + } + }, + "title": "New governance transfer" + }, + "vegaNewTransferConfiguration": { + "type": "object", + "properties": { + "sourceType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Source account type, such as network treasury, market insurance pool" + }, + "source": { + "type": "string", + "title": "If network treasury, field is empty, otherwise uses the market ID" + }, + "transferType": { + "$ref": "#/definitions/vegaGovernanceTransferType", + "title": "\"All or nothing\" or \"best effort\":\nAll or nothing: Transfers the specified amount or does not transfer anything\nBest effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount" + }, + "amount": { + "type": "string", + "title": "Maximum amount to transfer" + }, + "asset": { + "type": "string", + "title": "ID of asset to transfer" + }, + "fractionOfBalance": { + "type": "string", + "title": "Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance" + }, + "destinationType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool" + }, + "destination": { + "type": "string", + "title": "Specifies the account to transfer to, depending on the account type:\nNetwork treasury: leave empty\nParty: party's public key\nMarket insurance pool: market ID" + }, + "oneOff": { + "$ref": "#/definitions/vegaOneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaRecurringTransfer" + } + } + }, + "vegaNormaliser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "expression": { + "type": "string" + } + } + }, + "vegaOneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegaParty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the party, typically represented by a public key." + } + }, + "title": "Party represents an entity who wishes to trade on or query a Vega network" + }, + "vegaPerpetual": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the perpetual." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product definition" + }, + "vegaPerpetualProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaPriceMonitoringBounds": { + "type": "object", + "properties": { + "minValidPrice": { + "type": "string", + "description": "Minimum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "maxValidPrice": { + "type": "string", + "description": "Maximum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "trigger": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger", + "description": "Price monitoring trigger associated with the bounds." + }, + "referencePrice": { + "type": "string", + "description": "Reference price used to calculate the valid price range. This field is an unsigned integer scaled to the market's decimal places." + } + }, + "title": "Represents a list of valid (at the current timestamp) price ranges per associated trigger" + }, + "vegaPriceMonitoringParameters": { + "type": "object", + "properties": { + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger" + } + } + }, + "title": "PriceMonitoringParameters contains a collection of triggers to be used for a given market" + }, + "vegaPriceMonitoringSettings": { + "type": "object", + "properties": { + "parameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Specifies price monitoring parameters to be used for price monitoring purposes." + } + }, + "title": "PriceMonitoringSettings contains the settings for price monitoring" + }, + "vegaPriceMonitoringTrigger": { + "type": "object", + "properties": { + "horizon": { + "type": "string", + "format": "int64", + "description": "Price monitoring projection horizon τ in seconds." + }, + "probability": { + "type": "string", + "description": "Price monitoring probability level p." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Price monitoring auction extension duration in seconds should the price\nbreach its theoretical level over the specified horizon at the specified\nprobability level." + } + }, + "title": "PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration" + }, + "vegaProposal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique proposal ID." + }, + "reference": { + "type": "string", + "description": "Proposal reference." + }, + "partyId": { + "type": "string", + "description": "Party ID i.e. public key of the party submitting the proposal." + }, + "state": { + "$ref": "#/definitions/vegaProposalState", + "description": "Current state of the proposal, i.e. open, passed, failed etc." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Proposal timestamp for date and time as Unix time in nanoseconds when proposal was submitted to the network." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "reason": { + "$ref": "#/definitions/vegaProposalError", + "description": "Reason for the current state of the proposal, this may be set in case of REJECTED and FAILED statuses." + }, + "errorDetails": { + "type": "string", + "description": "Detailed error associated to the reason." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + }, + "requiredParticipation": { + "type": "string", + "description": "Required vote participation for this proposal." + }, + "requiredMajority": { + "type": "string", + "description": "Required majority for this proposal." + }, + "requiredLiquidityProviderParticipation": { + "type": "string", + "description": "Required participation from liquidity providers, optional but is required for market update proposal." + }, + "requiredLiquidityProviderMajority": { + "type": "string", + "description": "Required majority from liquidity providers, optional but is required for market update proposal." + } + }, + "title": "Governance proposal" + }, + "vegaProposalError": { + "type": "string", + "enum": [ + "PROPOSAL_ERROR_UNSPECIFIED", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE", + "PROPOSAL_ERROR_ENACT_TIME_TOO_SOON", + "PROPOSAL_ERROR_ENACT_TIME_TOO_LATE", + "PROPOSAL_ERROR_INSUFFICIENT_TOKENS", + "PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY", + "PROPOSAL_ERROR_NO_PRODUCT", + "PROPOSAL_ERROR_UNSUPPORTED_PRODUCT", + "PROPOSAL_ERROR_NO_TRADING_MODE", + "PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE", + "PROPOSAL_ERROR_NODE_VALIDATION_FAILED", + "PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD", + "PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS", + "PROPOSAL_ERROR_INVALID_ASSET", + "PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS", + "PROPOSAL_ERROR_NO_RISK_PARAMETERS", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE", + "PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE", + "PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET", + "PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT", + "PROPOSAL_ERROR_INVALID_RISK_PARAMETER", + "PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_INVALID_ASSET_DETAILS", + "PROPOSAL_ERROR_UNKNOWN_TYPE", + "PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE", + "PROPOSAL_ERROR_INVALID_FREEFORM", + "PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE", + "PROPOSAL_ERROR_INVALID_MARKET", + "PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES", + "PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS", + "PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE", + "PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_INVALID_SPOT", + "PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED", + "PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE", + "PROPOSAL_ERROR_INVALID_SLA_PARAMS", + "PROPOSAL_ERROR_MISSING_SLA_PARAMS", + "PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT" + ], + "default": "PROPOSAL_ERROR_UNSPECIFIED", + "description": "- PROPOSAL_ERROR_UNSPECIFIED: Default value\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON: Specified close time is too early based on network parameters\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE: Specified close time is too late based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_SOON: Specified enactment time is too early based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_LATE: Specified enactment time is too late based on network parameters\n - PROPOSAL_ERROR_INSUFFICIENT_TOKENS: Proposer for this proposal has insufficient tokens\n - PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY: Instrument quote name and base name were the same\n - PROPOSAL_ERROR_NO_PRODUCT: Proposal has no product\n - PROPOSAL_ERROR_UNSUPPORTED_PRODUCT: Specified product is not supported\n - PROPOSAL_ERROR_NO_TRADING_MODE: Proposal has no trading mode\n - PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE: Proposal has an unsupported trading mode\n - PROPOSAL_ERROR_NODE_VALIDATION_FAILED: Proposal failed node validation\n - PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD: Field is missing in a builtin asset source\n - PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS: Contract address is missing in the ERC20 asset source\n - PROPOSAL_ERROR_INVALID_ASSET: Asset ID is invalid or does not exist on the Vega network\n - PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS: Proposal terms timestamps are not compatible (Validation \u003c Closing \u003c Enactment)\n - PROPOSAL_ERROR_NO_RISK_PARAMETERS: No risk parameters were specified\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY: Invalid key in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE: Invalid value in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED: Validation failed for network parameter proposal\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL: Opening auction duration is less than the network minimum opening auction time\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE: Opening auction duration is more than the network minimum opening auction time\n - PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET: Market proposal market could not be instantiated in execution\n - PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT: Market proposal market contained invalid product definition\n - PROPOSAL_ERROR_INVALID_RISK_PARAMETER: Market proposal has invalid risk parameter\n - PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED: Proposal was declined because vote didn't reach the majority threshold required\n - PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED: Proposal declined because the participation threshold was not reached\n - PROPOSAL_ERROR_INVALID_ASSET_DETAILS: Asset proposal has invalid asset details\n - PROPOSAL_ERROR_UNKNOWN_TYPE: Proposal is an unknown type\n - PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE: Proposal has an unknown risk parameter type\n - PROPOSAL_ERROR_INVALID_FREEFORM: Validation failed for freeform proposal\n - PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE: Party doesn't have enough equity-like share to propose an update on the market\ntargeted by the proposal\n - PROPOSAL_ERROR_INVALID_MARKET: Market targeted by the proposal does not exist or is not eligible for modification\n - PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES: Market proposal decimal place is higher than the market settlement asset decimal places\n - PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE: LP price range must be larger than 0\n - PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE: LP price range must not be larger than 100\n - PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE: Linear slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE: Quadratic slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_INVALID_SPOT: Validation failed for spot proposal\n - PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED: Spot trading not enabled\n - PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET: Market proposal is invalid, either invalid insurance pool fraction, or it specifies a parent market that it can't succeed.\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED: Governance transfer proposal is invalid\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID: Governance transfer proposal failed\n - PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID: Proposal for cancelling transfer is invalid, check proposal ID\n - PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE: Proposal for updating market state is invalid\n - PROPOSAL_ERROR_INVALID_SLA_PARAMS: Liquidity provision SLA parameters are invalid\n - PROPOSAL_ERROR_MISSING_SLA_PARAMS: Mandatory liquidity provision SLA parameters are missing\n - PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT: Perpetual market proposal contained invalid product definition", + "title": "List of possible errors that can cause a proposal to be in state rejected or failed" + }, + "vegaProposalRationale": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description to show a short title / something in case the link goes offline.\nThis is to be between 0 and 20k unicode characters.\nThis is mandatory for all proposals." + }, + "title": { + "type": "string", + "description": "Title to be used to give a short description of the proposal in lists.\nThis is to be between 0 and 100 unicode characters.\nThis is mandatory for all proposals." + } + }, + "description": "Rationale behind a proposal." + }, + "vegaProposalState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_FAILED", + "STATE_OPEN", + "STATE_PASSED", + "STATE_REJECTED", + "STATE_DECLINED", + "STATE_ENACTED", + "STATE_WAITING_FOR_NODE_VOTE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, always invalid\n - STATE_FAILED: Proposal enactment has failed - even though proposal has passed, its execution could not be performed\n - STATE_OPEN: Proposal is open for voting\n - STATE_PASSED: Proposal has gained enough support to be executed\n - STATE_REJECTED: Proposal wasn't accepted i.e. proposal terms failed validation due to wrong configuration or failed to meet network requirements.\n - STATE_DECLINED: Proposal didn't get enough votes, e.g. either failed to gain required participation or majority level.\n - STATE_ENACTED: Proposal enacted\n - STATE_WAITING_FOR_NODE_VOTE: Waiting for node validation of the proposal", + "title": "Proposal state transition:\nOpen -\u003e\n - Passed -\u003e Enacted.\n - Passed -\u003e Failed.\n - Declined\nRejected\nProposal can enter Failed state from any other state" + }, + "vegaProposalTerms": { + "type": "object", + "properties": { + "closingTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when voting closes for this proposal,\nconstrained by `minClose` and `maxClose` network parameters." + }, + "enactmentTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when proposal gets enacted if passed,\nconstrained by `minEnact` and `maxEnact` network parameters." + }, + "validationTimestamp": { + "type": "string", + "format": "int64", + "description": "Validation timestamp as Unix time in seconds." + }, + "updateMarket": { + "$ref": "#/definitions/vegaUpdateMarket", + "description": "Proposal change for modifying an existing futures market on Vega." + }, + "newMarket": { + "$ref": "#/definitions/vegaNewMarket", + "description": "Proposal change for creating new futures market on Vega." + }, + "updateNetworkParameter": { + "$ref": "#/definitions/vegaUpdateNetworkParameter", + "description": "Proposal change for updating Vega network parameters." + }, + "newAsset": { + "$ref": "#/definitions/vegaNewAsset", + "description": "Proposal change for creating new assets on Vega." + }, + "newFreeform": { + "$ref": "#/definitions/vegaNewFreeform", + "description": "Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system,\nand can be used to gauge community sentiment." + }, + "updateAsset": { + "$ref": "#/definitions/vegaUpdateAsset", + "description": "Proposal change for updating an asset." + }, + "newSpotMarket": { + "$ref": "#/definitions/vegaNewSpotMarket", + "description": "Proposal change for creating new spot market on Vega." + }, + "updateSpotMarket": { + "$ref": "#/definitions/vegaUpdateSpotMarket", + "description": "Proposal change for modifying an existing spot market on Vega." + }, + "newTransfer": { + "$ref": "#/definitions/vegaNewTransfer", + "description": "Proposal change for a governance transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/vegaCancelTransfer", + "description": "Cancel a governance transfer." + }, + "updateMarketState": { + "$ref": "#/definitions/vegaUpdateMarketState", + "description": "Proposal change for updating the state of a market." + } + }, + "title": "Terms for a governance proposal on Vega" + }, + "vegaRecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegaScalingFactors": { + "type": "object", + "properties": { + "searchLevel": { + "type": "number", + "format": "double", + "description": "Collateral search level. If collateral dips below this value,\nthe system will search for collateral to release." + }, + "initialMargin": { + "type": "number", + "format": "double", + "description": "Initial margin level. This is the minimum amount of collateral\nrequired to open a position in a market that requires margin." + }, + "collateralRelease": { + "type": "number", + "format": "double", + "description": "Collateral release level. If a trader has collateral above this level,\nthe system will release collateral to a trader's general collateral account\nfor the asset." + } + }, + "title": "Scaling Factors (for use in margin calculation)" + }, + "vegaSimpleModelParams": { + "type": "object", + "properties": { + "factorLong": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for long." + }, + "factorShort": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for short." + }, + "maxMoveUp": { + "type": "number", + "format": "double", + "description": "Pre-defined maximum price move up that the model considers as valid." + }, + "minMoveDown": { + "type": "number", + "format": "double", + "description": "Pre-defined minimum price move down that the model considers as valid." + }, + "probabilityOfTrading": { + "type": "number", + "format": "double", + "description": "Pre-defined constant probability of trading." + } + }, + "title": "Risk model parameters for simple modelling" + }, + "vegaSimpleRiskModel": { + "type": "object", + "properties": { + "params": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Risk model params for simple modelling." + } + }, + "title": "Risk model for simple modelling" + }, + "vegaSpot": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Asset ID of the underlying base asset for the spot product." + }, + "quoteAsset": { + "type": "string", + "description": "Asset ID of the underlying quote asset for the spot product." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + } + }, + "title": "Spot product definition" + }, + "vegaSpotProduct": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Base asset ID." + }, + "quoteAsset": { + "type": "string", + "description": "Quote asset ID." + }, + "name": { + "type": "string", + "description": "Product name." + } + }, + "title": "Spot product configuration" + }, + "vegaSuccessorConfiguration": { + "type": "object", + "properties": { + "parentMarketId": { + "type": "string", + "description": "ID of the market that the successor should take over from." + }, + "insurancePoolFraction": { + "type": "string", + "description": "A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor." + } + }, + "description": "Configuration required to turn a new market proposal in to a successor market proposal." + }, + "vegaTargetStakeParameters": { + "type": "object", + "properties": { + "timeWindow": { + "type": "string", + "format": "int64", + "description": "Specifies length of time window expressed in seconds for target stake calculation." + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Specifies scaling factors used in target stake calculation." + } + }, + "title": "TargetStakeParameters contains parameters used in target stake calculation" + }, + "vegaTradableInstrument": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrument", + "description": "Details for the underlying instrument." + }, + "marginCalculator": { + "$ref": "#/definitions/vegaMarginCalculator", + "description": "Margin calculator for the instrument." + }, + "logNormalRiskModel": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal." + }, + "simpleRiskModel": { + "$ref": "#/definitions/vegaSimpleRiskModel", + "description": "Simple." + } + }, + "title": "Tradable Instrument definition" + }, + "vegaUpdateAsset": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaAssetDetailsUpdate", + "description": "Changes to apply on an existing asset." + } + }, + "title": "Update an existing asset on Vega" + }, + "vegaUpdateFutureProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data of settlement data." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data source for trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "The binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaUpdateInstrumentConfiguration": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaUpdateFutureProduct", + "description": "Future." + }, + "perpetual": { + "$ref": "#/definitions/vegaUpdatePerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaUpdateMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateMarketConfiguration", + "description": "Updated configuration of the futures market." + } + }, + "title": "Update an existing market on Vega" + }, + "vegaUpdateMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaUpdateInstrumentConfiguration", + "description": "Updated futures market instrument configuration." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + } + }, + "title": "Configuration to update a futures market on Vega" + }, + "vegaUpdateMarketState": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaUpdateMarketStateConfiguration", + "title": "Configuration for governance-initiated change of a market's state" + } + } + }, + "vegaUpdateMarketStateConfiguration": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "ID of the market" + }, + "updateType": { + "$ref": "#/definitions/vegaMarketStateUpdateType", + "title": "Type of the market update" + }, + "price": { + "type": "string", + "title": "Settlement price, relevant only for market termination for futures markets" + } + } + }, + "vegaUpdateNetworkParameter": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "The network parameter to update." + } + }, + "title": "Update network configuration on Vega" + }, + "vegaUpdatePerpetualProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaUpdateSpotMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateSpotMarketConfiguration", + "description": "Updated configuration of the spot market." + } + }, + "title": "Update an existing spot market on Vega" + }, + "vegaUpdateSpotMarketConfiguration": { + "type": "object", + "properties": { + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration to update a spot market on Vega" + }, + "vegaVote": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "description": "Voter's party ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Which way the party voted." + }, + "proposalId": { + "type": "string", + "description": "Proposal ID being voted on." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds when the vote was acknowledged by the network." + }, + "totalGovernanceTokenBalance": { + "type": "string", + "description": "Total number of governance token for the party that cast the vote." + }, + "totalGovernanceTokenWeight": { + "type": "string", + "description": "The weight of this vote based on the total number of governance tokens." + }, + "totalEquityLikeShareWeight": { + "type": "string", + "description": "The weight of the vote compared to the total amount of equity-like share on the market." + } + }, + "title": "Governance vote" + }, + "vegaVoteValue": { + "type": "string", + "enum": [ + "VALUE_UNSPECIFIED", + "VALUE_NO", + "VALUE_YES" + ], + "default": "VALUE_UNSPECIFIED", + "description": "- VALUE_UNSPECIFIED: Default value, always invalid\n - VALUE_NO: Vote against the proposal\n - VALUE_YES: Vote in favour of the proposal", + "title": "Vote value" + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/assets.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/assets.swagger.json new file mode 100644 index 000000000..9d097dbb9 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/assets.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/assets.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/chain_events.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/chain_events.swagger.json new file mode 100644 index 000000000..7e122e440 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/chain_events.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/chain_events.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/checkpoint/v1/checkpoint.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/checkpoint/v1/checkpoint.swagger.json new file mode 100644 index 000000000..cdccfb99c --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/checkpoint/v1/checkpoint.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/checkpoint/v1/checkpoint.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/commands.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/commands.swagger.json new file mode 100644 index 000000000..26814accb --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/commands.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/commands.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/data.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/data.swagger.json new file mode 100644 index 000000000..72e1066f9 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/data.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/data.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/signature.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/signature.swagger.json new file mode 100644 index 000000000..bca419264 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/signature.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/signature.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/transaction.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/transaction.swagger.json new file mode 100644 index 000000000..80565817c --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/transaction.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/transaction.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/validator_commands.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/validator_commands.swagger.json new file mode 100644 index 000000000..11a4f0aac --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/commands/v1/validator_commands.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/validator_commands.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/data/v1/data.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/data/v1/data.swagger.json new file mode 100644 index 000000000..dac21342e --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/data/v1/data.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/data/v1/data.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "rpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/data/v1/spec.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/data/v1/spec.swagger.json new file mode 100644 index 000000000..77fbc8b87 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/data/v1/spec.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/data/v1/spec.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "rpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/data_source.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/data_source.swagger.json new file mode 100644 index 000000000..fc4472949 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/data_source.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/data_source.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/events/v1/events.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/events/v1/events.swagger.json new file mode 100644 index 000000000..2b32a0c55 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/events/v1/events.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/events/v1/events.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/governance.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/governance.swagger.json new file mode 100644 index 000000000..45c945a56 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/governance.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/governance.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/markets.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/markets.swagger.json new file mode 100644 index 000000000..8fbf8badc --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/markets.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/markets.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/oracle.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/oracle.swagger.json new file mode 100644 index 000000000..ef6f33a5a --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/oracle.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/oracle.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/snapshot/v1/snapshot.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/snapshot/v1/snapshot.swagger.json new file mode 100644 index 000000000..fbdb3af1d --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/snapshot/v1/snapshot.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/snapshot/v1/snapshot.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/vega.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/vega.swagger.json new file mode 100644 index 000000000..53809884b --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/vega.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/vega.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/data-node/swagger/vega/wallet/v1/wallet.swagger.json b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/wallet/v1/wallet.swagger.json new file mode 100644 index 000000000..f14317268 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/data-node/swagger/vega/wallet/v1/wallet.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/wallet/v1/wallet.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/datanode-schema.graphql b/specs/v0.79.0-protobuf.1/datanode-schema.graphql new file mode 100644 index 000000000..d45aa5a97 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/datanode-schema.graphql @@ -0,0 +1,5190 @@ +# VEGA - GraphQL schema + +schema { + query: Query + subscription: Subscription +} + +"The result from processing a transaction" +type TransactionResult { + "The party which submitted this transaction" + partyId: String! + "The hash of the transaction" + hash: String! + "Was the transaction successful or not?" + status: Boolean! + "The error emitted by the transaction, will be null if the transaction succeeded" + error: String +} + +"Create an order linked to an index rather than a price" +type PeggedOrder { + "Index to link this order to" + reference: PeggedReference! + "Price offset from the peg" + offset: String! +} + +"Details of the iceberg order" +type IcebergOrder { + "Size of the order that will be made visible if the iceberg order is replenished after trading" + peakSize: String! + "If the visible size of the order falls below this value, it will be replenished back to the peak size using the reserved amount" + minimumVisibleSize: String! + "Size of the order that is reserved and used to restore the iceberg's peak when it is refreshed" + reservedRemaining: String! +} + +"Subscriptions allow a caller to receive new information as it is available from the Vega network." +type Subscription { + "Subscribe to the accounts updates" + accounts( + "ID of the market from which to receive accounts updates for" + marketId: ID + "ID of the party from which to receive accounts updates for" + partyId: ID + "Asset code" + assetId: ID + "Type of the account" + type: AccountType + ): [AccountUpdate!]! + + "Subscribe to event data from the event bus" + busEvents( + "The types to subscribe to has to be an array" + types: [BusEventType!]! + "Optional filter by market ID" + marketId: ID + "Optional filter by party ID" + partyId: ID + "Specifies the size that the client will receive events in. Using 0 results in a variable batch size being sent. The stream will be closed if the client fails to read a batch within 5 seconds" + batchSize: Int! + ): [BusEvent!] + + "Subscribe to the candles updates" + candles( + "ID of the market to listen to for candles" + marketId: ID! + "Interval of the candles to listen for" + interval: Interval! + ): Candle! + + "Subscribe to liquidity provisioning data" + liquidityProvisions( + "The party ID to subscribe for, empty if all" + partyId: ID + "The market ID to subscribe for, empty if all" + marketId: ID + ): [LiquidityProvisionUpdate!] + + "Subscribe to the margin changes" + margins( + "ID of the party you want to subscribe to for margin updates" + partyId: ID! + "ID of the market you want to listen to for margin updates (nil if you want updates for all markets)" + marketId: ID + ): MarginLevelsUpdate! + + "Subscribe to the mark price changes" + marketsData( + "ID of the market for which you want to subscribe to the market data changes" + marketIds: [ID!]! + ): [ObservableMarketData!]! + + "Subscribe to the market depths update" + marketsDepth( + "ID of the market you want to receive market depth updates for" + marketIds: [ID!]! + ): [ObservableMarketDepth!]! + + "Subscribe to price level market depth updates" + marketsDepthUpdate( + "ID of the market you want to receive market depth price level updates for" + marketIds: [ID!]! + ): [ObservableMarketDepthUpdate!]! + + "Subscribe to orders updates" + orders("Filter orders" filter: OrderByMarketAndPartyIdsFilter): [OrderUpdate!] + + "Subscribe to the positions updates" + positions( + "ID of the party from you want updates for" + partyId: ID + "ID of the market from which you want position updates" + marketId: ID + ): [PositionUpdate!]! + + "Subscribe to proposals. Leave out all arguments to receive all proposals" + proposals( + "Optional party ID whose proposals are to be streamed" + partyId: ID + ): Proposal! + + "Subscribe to the trades updates" + trades( + "ID of the market from which you want trades updates" + marketId: ID + "ID of the party from which you want trades updates" + partyId: ID + ): [TradeUpdate!] + @deprecated( + reason: "Use tradesStream instead as it allows for filtering multiple markets and/or parties at once" + ) + + "Subscribe to the trades updates" + tradesStream( + "Filter to apply to trades" + filter: TradesSubscriptionFilter! + ): [TradeUpdate!] + + "Subscribe to votes, either by proposal ID or party ID" + votes( + "Optional proposal ID which votes are to be streamed" + proposalId: ID + "Optional party ID whose votes are to be streamed" + partyId: ID + ): ProposalVote! +} + +"Margins for a given a party" +type MarginLevels { + "Market in which the margin is required for this party" + market: Market! + "Asset for the current margins" + asset: Asset! + "The party for this margin" + party: Party! + "Minimal margin for the position to be maintained in the network (unsigned integer)" + maintenanceLevel: String! + "If the margin is between maintenance and search, the network will initiate a collateral search, expressed as unsigned integer" + searchLevel: String! + "This is the minimum margin required for a party to place a new order on the network, expressed as unsigned integer" + initialLevel: String! + """ + If the margin of the party is greater than this level, then collateral will be released from the margin account into + the general account of the party for the given asset. + """ + collateralReleaseLevel: String! + "RFC3339Nano time from at which this margin level was relevant" + timestamp: Timestamp! +} + +"Margins for a given a party" +type MarginLevelsUpdate { + "Market in which the margin is required for this party" + marketId: ID! + "Asset for the current margins" + asset: ID! + "The party for this margin" + partyId: ID! + "Minimal margin for the position to be maintained in the network (unsigned integer)" + maintenanceLevel: String! + "If the margin is between maintenance and search, the network will initiate a collateral search (unsigned integer)" + searchLevel: String! + "This is the minimum margin required for a party to place a new order on the network (unsigned integer)" + initialLevel: String! + """ + If the margin of the party is greater than this level, then collateral will be released from the margin account into + the general account of the party for the given asset. + """ + collateralReleaseLevel: String! + "RFC3339Nano time from at which this margin level was relevant" + timestamp: Timestamp! +} + +"Live data of a Market" +type MarketData { + "Market of the associated mark price" + market: Market! + "The mark price (an unsigned integer)" + markPrice: String! + "The highest price level on an order book for buy orders." + bestBidPrice: String! + "The aggregated volume being bid at the best bid price." + bestBidVolume: String! + "The lowest price level on an order book for offer orders." + bestOfferPrice: String! + "The aggregated volume being offered at the best offer price." + bestOfferVolume: String! + "The highest price level on an order book for buy orders not including pegged orders." + bestStaticBidPrice: String! + "The aggregated volume being offered at the best static bid price, excluding pegged orders" + bestStaticBidVolume: String! + "The lowest price level on an order book for offer orders not including pegged orders." + bestStaticOfferPrice: String! + "The aggregated volume being offered at the best static offer price, excluding pegged orders." + bestStaticOfferVolume: String! + "The arithmetic average of the best bid price and best offer price." + midPrice: String! + "The arithmetic average of the best static bid price and best static offer price" + staticMidPrice: String! + "RFC3339Nano time at which this market price was relevant" + timestamp: Timestamp! + "The sum of the size of all positions greater than 0." + openInterest: String! + "RFC3339Nano time at which the auction will stop (null if not in auction mode)" + auctionEnd: String + "RFC3339Nano time at which the next auction will start (null if none is scheduled)" + auctionStart: String + "Indicative price if the auction ended now, 0 if not in auction mode" + indicativePrice: String! + "Indicative volume if the auction ended now, 0 if not in auction mode" + indicativeVolume: String! + "What mode the market is in (auction, continuous, etc)" + marketTradingMode: MarketTradingMode! + "Current state of the market" + marketState: MarketState! + "What triggered an auction (if an auction was started)" + trigger: AuctionTrigger! + "What extended the ongoing auction (if an auction was extended)" + extensionTrigger: AuctionTrigger! + "The amount of stake targeted for this market" + targetStake: String + "The supplied stake for the market" + suppliedStake: String + "The liquidity commitments for a given market" + commitments: MarketDataCommitments! + "A list of valid price ranges per associated trigger" + priceMonitoringBounds: [PriceMonitoringBounds!] + "The market value proxy" + marketValueProxy: String! + "The equity like share of liquidity fee for each liquidity provider" + liquidityProviderFeeShare: [LiquidityProviderFeeShare!] + "RFC3339Nano time indicating the next time positions will be marked to market" + nextMarkToMarket: String! + "The market growth factor for the last market time window" + marketGrowth: String! + "The last traded price (an unsigned integer)" + lastTradedPrice: String! +} + +"Live data of a Market" +type ObservableMarketData { + "Market ID of the associated mark price" + marketId: ID! + "The mark price (an unsigned integer)" + markPrice: String! + "The highest price level on an order book for buy orders." + bestBidPrice: String! + "The aggregated volume being bid at the best bid price." + bestBidVolume: String! + "The lowest price level on an order book for offer orders." + bestOfferPrice: String! + "The aggregated volume being offered at the best offer price." + bestOfferVolume: String! + "The highest price level on an order book for buy orders not including pegged orders." + bestStaticBidPrice: String! + "The aggregated volume being offered at the best static bid price, excluding pegged orders" + bestStaticBidVolume: String! + "The lowest price level on an order book for offer orders not including pegged orders" + bestStaticOfferPrice: String! + "The aggregated volume being offered at the best static offer price, excluding pegged orders" + bestStaticOfferVolume: String! + "The arithmetic average of the best bid price and best offer price" + midPrice: String! + "The arithmetic average of the best static bid price and best static offer price" + staticMidPrice: String! + "RFC3339Nano time at which this market price was relevant" + timestamp: Timestamp! + "The sum of the size of all positions greater than 0" + openInterest: String! + "RFC3339Nano time at which the auction will stop (null if not in auction mode)" + auctionEnd: String + "RFC3339Nano time at which the next auction will start (null if none is scheduled)" + auctionStart: String + "Indicative price if the auction ended now, 0 if not in auction mode" + indicativePrice: String! + "Indicative volume if the auction ended now, 0 if not in auction mode" + indicativeVolume: String! + "What mode the market is in (auction, continuous etc)" + marketTradingMode: MarketTradingMode! + "Current state of the market" + marketState: MarketState! + "What triggered an auction (if an auction was started)" + trigger: AuctionTrigger! + "What extended the ongoing auction (if an auction was extended)" + extensionTrigger: AuctionTrigger! + "The amount of stake targeted for this market" + targetStake: String + "The supplied stake for the market" + suppliedStake: String + "A list of valid price ranges per associated trigger" + priceMonitoringBounds: [PriceMonitoringBounds!] + "The market value proxy" + marketValueProxy: String! + "The equity like share of liquidity fee for each liquidity provider" + liquidityProviderFeeShare: [ObservableLiquidityProviderFeeShare!] + "RFC3339Nano time indicating the next time positions will be marked to market" + nextMarkToMarket: String! + "The market growth factor for the last market time window" + marketGrowth: String! + "The last traded price (an unsigned integer)" + lastTradedPrice: String! +} + +"Timestamps for when the market changes state" +type MarketTimestamps { + "Time when the market is first proposed" + proposed: Timestamp + "Time when the market has been voted in and waiting to be created" + pending: Timestamp! + "Time when the market is open and ready to accept trades" + open: Timestamp! + "Time when the market is closed" + close: Timestamp! +} + +"The equity like share of liquidity fee for each liquidity provider" +type LiquidityProviderFeeShare { + "The liquidity provider party ID" + party: Party! + "The share owned by this liquidity provider" + equityLikeShare: String! + "The average entry valuation of the liquidity provider for the market" + averageEntryValuation: String! + "The average liquidity score" + averageScore: String! + "The virtual stake for this liquidity provider" + virtualStake: String! +} + +"The equity like share of liquidity fee for each liquidity provider" +type ObservableLiquidityProviderFeeShare { + "The liquidity provider party ID" + partyId: ID! + "The share owned by this liquidity provider (float)" + equityLikeShare: String! + "The average entry valuation of the liquidity provider for the market" + averageEntryValuation: String! + "The average liquidity score" + averageScore: String! +} + +"The liquidity commitments for this market" +type MarketDataCommitments { + "A set of liquidity sell orders to meet the liquidity provision obligation." + sells: [LiquidityOrderReference!] + "A set of liquidity buy orders to meet the liquidity provision obligation." + buys: [LiquidityOrderReference!] +} + +type TransactionSubmitted { + success: Boolean! +} + +"Filter input for historical balance queries" +input AccountFilter { + assetId: ID + partyIds: [ID!] + marketIds: [ID!] + accountTypes: [AccountType!] +} + +"Filter for historical entry ledger queries" +input LedgerEntryFilter { + CloseOnAccountFilters: Boolean + FromAccountFilter: AccountFilter + ToAccountFilter: AccountFilter + + TransferTypes: [TransferType] +} + +"Filter for historical reward summary queries" +input RewardSummaryFilter { + assetIds: [ID!] + marketIds: [ID!] + fromEpoch: Int + toEpoch: Int +} + +"Queries allow a caller to read data and filter data via GraphQL." +type Query { + "An asset which is used in the vega network" + asset("ID of the asset" id: ID!): Asset + + "The list of all assets in use in the Vega network or the specified asset if ID is provided" + assetsConnection(id: ID, pagination: Pagination): AssetsConnection + + "Get historical balances for an account within the given date range" + balanceChanges( + "Optional filter to restrict queried accounts to those of a specific asset, party, market or type" + filter: AccountFilter + "Date range to retrieve historical balances from/to. Start and end time should be expressed as an integer value of Unix nanoseconds" + dateRange: DateRange + "Optional pagination information" + pagination: Pagination + ): AggregatedBalanceConnection! + + "List core snapshots" + coreSnapshots(pagination: Pagination): CoreSnapshotConnection + + "Find a deposit using its ID" + deposit("ID of the Deposit" id: ID!): Deposit + + "Fetch all deposits" + deposits( + "Date range to fetch deposits between" + dateRange: DateRange + "Pagination options" + pagination: Pagination + ): DepositsConnection + + "Fetch all entities for a given transaction hash" + entities(txHash: String!): Entities! + + "Get data for a specific epoch, if ID omitted it gets the current epoch. If the string is 'next', fetch the next epoch" + epoch(id: ID, block: String): Epoch! + + "List reward summary per epoch by asset, market, reward type" + epochRewardSummaries( + filter: RewardSummaryFilter + pagination: Pagination + ): EpochRewardSummaryConnection + + "Get the signatures bundle to allowlist an ERC20 token in the collateral bridge" + erc20ListAssetBundle("ID of the asset" assetId: ID!): Erc20ListAssetBundle + + "Get the signature bundle to add a particular validator to the signer list of the multisig contract" + erc20MultiSigSignerAddedBundles( + "The node ID of the validator of which a signature bundle is required" + nodeId: ID! + "The ethereum address of the submitter" + submitter: String + "The epoch that generated the bundle i.e the epoch in which the node was promoted to tendermint validator" + epochSeq: String + "Pagination" + pagination: Pagination + ): ERC20MultiSigSignerAddedConnection! + + "Get the signatures bundle to remove a particular validator from signer list of the multisig contract" + erc20MultiSigSignerRemovedBundles( + "The node ID of the validator of which a signature bundle is required" + nodeId: ID! + "The ethereum address of the validator that will submit the bundle" + submitter: String + "The epoch that generated the bundle i.e the epoch in which the node was demoted from a tendermint validator" + epochSeq: String + "Pagination" + pagination: Pagination + ): ERC20MultiSigSignerRemovedConnection! + + "Get the signature bundle to update the token limits (maxLifetimeDeposit and withdrawThreshold) for a given ERC20 token (already allowlisted) in the collateral bridge" + erc20SetAssetLimitsBundle( + "ID of the proposal to update an asset" + proposalId: ID! + ): ERC20SetAssetLimitsBundle! + + "Find an erc20 withdrawal approval using its withdrawal ID" + erc20WithdrawalApproval( + "ID of the withdrawal" + withdrawalId: ID! + ): Erc20WithdrawalApproval + + "Return an estimation of the potential cost for a new order" + estimateOrder( + "ID of the market to place the order" + marketId: ID! + "ID of the party placing the order" + partyId: ID! + "Price of the asset" + price: String + "Size of the order" + size: String! + "Side of the order (Buy or Sell)" + side: Side! + "TimeInForce of the order" + timeInForce: OrderTimeInForce! + "Expiration of the the order" + expiration: Timestamp + "Type of the order" + type: OrderType! + ): OrderEstimate! + @deprecated(reason: "Use estimateFees and estimatePosition instead") + + "Return an estimation of the potential cost for a new order" + estimateFees( + "ID of the market to place the order on" + marketId: ID! + "ID of the party placing the order" + partyId: ID! + "Price of the asset" + price: String + "Size of the order" + size: String! + "Side of the order (buy or sell)" + side: Side! + "Time in force of the order" + timeInForce: OrderTimeInForce! + "Expiration of the order" + expiration: Timestamp + "Type of the order" + type: OrderType! + ): FeeEstimate! + + "Return a margin range for the specified position and liquidation price range if available collateral is supplied" + estimatePosition( + "ID of the market to place the order on" + marketId: ID! + "Open volume - negative for short position (int64)" + openVolume: String! + "Open and/or hypothetical orders" + orders: [OrderInfo!] + "Optional argument specifying collateral available for the position, if provided then response will contain the liquidation price estimate" + collateralAvailable: String + ): PositionEstimate + + "Query for historic ethereum key rotations" + ethereumKeyRotations(nodeId: ID): EthereumKeyRotationsConnection! + + "Get market data history for a specific market. If no dates are given, the latest snapshot will be returned. If only the start date is provided all history from the given date will be provided, and if only the end date is provided, all history from the start up to and including the end date will be provided." + getMarketDataHistoryConnectionByID( + id: ID! + """ + Optional start date time for the historic data query. + If both the start and end date is not provided, only the latest snapshot will be returned. + If only the start date is provided, all market data for the market from the start date forward will be returned. + """ + start: Timestamp + """ + Optional end date time for the historic data query. + If both the start and end date is not provided, only the latest snapshot will be returned. + If only the end date is provided, all market data for the market up to and including the end date will be returned. + """ + end: Timestamp + "Optional Pagination" + pagination: Pagination + ): MarketDataConnection + + "Get ledger entries by asset, market, party, account type, transfer type within the given date range." + ledgerEntries( + filter: LedgerEntryFilter + dateRange: DateRange + pagination: Pagination + ): AggregatedLedgerEntriesConnection! + + "List all active liquidity providers for a specific market" + liquidityProviders( + "Party ID of the liquidity provider" + partyId: ID + "Market ID to retrieve liquidity providers for" + marketId: ID + "Optional Pagination" + pagination: Pagination + ): LiquidityProviderConnection + + "Query for historic key rotations" + keyRotationsConnection(id: ID, pagination: Pagination): KeyRotationConnection! + + "The last block process by the blockchain" + lastBlockHeight: String! + + "An instrument that is trading on the Vega network" + market("Optional ID of a market" id: ID!): Market + + "One or more instruments that are trading on the Vega network" + marketsConnection( + "Optional ID of a market" + id: ID + "Optional pagination information" + pagination: Pagination + "Whether to include markets that have settled (defaults to true)" + includeSettled: Boolean + ): MarketConnection + + "The most recent history segment" + mostRecentHistorySegment: HistorySegment! + + "Current network limits" + networkLimits: NetworkLimits + + "Return a single network parameter" + networkParameter( + "key of the network parameter" + key: String! + ): NetworkParameter + + "Return the full list of network parameters" + networkParametersConnection( + pagination: Pagination + ): NetworkParametersConnection! + + "Specific node in network" + node("required ID of node" id: ID!): Node + + "Returns information about nodes" + nodeData: NodeData + + "All known network nodes" + nodesConnection(pagination: Pagination): NodesConnection! + + "Return a list of aggregated node signature for a given resource ID" + nodeSignaturesConnection( + resourceId: ID! + pagination: Pagination + ): NodeSignaturesConnection + + "All oracle data for a given oracle spec ID" + oracleDataBySpecConnection( + "ID for an oracle spec" + oracleSpecId: ID! + "Pagination" + pagination: Pagination + ): OracleDataConnection + + "All registered oracle specs" + oracleDataConnection( + "Pagination" + pagination: Pagination + ): OracleDataConnection + + "An oracle spec for a given oracle spec ID" + oracleSpec("ID for an oracle spec" oracleSpecId: ID!): OracleSpec + + "All registered oracle specs" + oracleSpecsConnection( + "Pagination" + pagination: Pagination + ): OracleSpecsConnection + + "An order in the Vega network found by orderID" + orderByID( + "ID for an order" + id: ID! + + "Order version number, starting at 1 for the original order and incrementing by 1 for each successful amendment; omitted for the most recent version." + version: Int + ): Order! + + "An order in the Vega network found by referenceID" + orderByReference("Reference for an order" reference: String!): Order! + + "Order versions (created via amendments if any) found by orderID" + orderVersionsConnection( + "ID for an order" + orderId: ID + "Pagination information" + pagination: Pagination + ): OrderConnection + + "One or more entities that are trading on the Vega network" + partiesConnection( + "Optional ID of a party to retrieve" + id: ID + "Optional pagination information" + pagination: Pagination + ): PartyConnection + + "An entity that is trading on the Vega network" + party("ID of a party" id: ID!): Party + + "Fetch all positions" + positions(filter: PositionsFilter, pagination: Pagination): PositionConnection + + "A governance proposal located by either its ID or reference. If both are set, ID is used." + proposal( + "Optionally, locate proposal by its ID" + id: ID + "Optionally, locate proposal by its reference. If ID is set, this parameter is ignored." + reference: String + ): Proposal + + "All governance proposals in the Vega network" + proposalsConnection( + "Optional type of proposal to retrieve data for" + proposalType: ProposalType + "Returns only proposals in the specified state. Leave out to get all proposals" + inState: ProposalState + "Optional Pagination information" + pagination: Pagination + ): ProposalsConnection + + "Flag indicating whether the data-node is ready to begin the protocol upgrade" + protocolUpgradeStatus: ProtocolUpgradeStatus + + "List protocol upgrade proposals, optionally filtering on status or approver" + protocolUpgradeProposals( + inState: ProtocolUpgradeProposalStatus + approvedBy: String + pagination: Pagination + ): ProtocolUpgradeProposalConnection + + "Get statistics about the Vega node" + statistics: Statistics! + + "Get stop order by ID" + stopOrder(id: ID!): StopOrder + + "Get a list of stop orders. If provided, the filter will be applied to the list of stop orders to restrict the results." + stopOrders( + "Optional filter to restrict the results of the list." + filter: StopOrderFilter + "Optional pagination information" + pagination: Pagination + ): StopOrderConnection + + "List markets in a succession line" + successorMarkets( + "Market ID of any market in the succession line" + marketId: ID! + """ + Flag indicating whether to include the full succession line or not. + If not specified, the default is false. + When false, only the requested market and its children are returned. + """ + fullHistory: Boolean + "Optional pagination information" + pagination: Pagination + ): SuccessorMarketConnection + + "Get a list of all trades and apply any given filters to the results" + trades( + filter: TradesFilter + "Optional Pagination information" + pagination: Pagination + "Date range to fetch trades between" + dateRange: DateRange + ): TradeConnection + + "Get a list of all transfers for a public key" + transfersConnection( + "The public key to look for" + partyId: ID + "Direction of the transfer with respect to the public key" + direction: TransferDirection + "Pagination information" + pagination: Pagination + ): TransferConnection + + "Find a withdrawal using its ID" + withdrawal("ID of the withdrawal" id: ID!): Withdrawal + + "Fetch all withdrawals" + withdrawals( + "Date range to fetch withdrawals between" + dateRange: DateRange + "Pagination options" + pagination: Pagination + ): WithdrawalsConnection +} + +"All the states a transfer can transition between" +enum TransferStatus { + "Indicates a transfer still being processed" + STATUS_PENDING + "Indicates a transfer accepted by the Vega network" + STATUS_DONE + "Indicates a transfer rejected by the Vega network" + STATUS_REJECTED + """ + Indicates a transfer stopped by the Vega network + e.g: no funds left to cover the transfer + """ + STATUS_STOPPED + "Indication of a transfer cancelled by the user" + STATUS_CANCELLED +} + +"A user initiated transfer" +type Transfer { + "ID of this transfer" + id: ID! + + "The public key of the sender in this transfer" + from: String! + + "The account type from which funds have been sent" + fromAccountType: AccountType! + + "The public key of the recipient of the funds" + to: String! + + "The account type that has received the funds" + toAccountType: AccountType! + + "The asset" + asset: Asset + + "The amount sent" + amount: String! + + "An optional reference" + reference: String + + "The status of this transfer" + status: TransferStatus! + + "The time at which the transfer was submitted" + timestamp: Timestamp! + + "The type of transfer being made, i.e. a one-off or recurring transfer" + kind: TransferKind! + + "An optional reason explaining the status of the transfer" + reason: String +} + +union TransferKind = + OneOffTransfer + | RecurringTransfer + | OneOffGovernanceTransfer + | RecurringGovernanceTransfer + +"The specific details for a one-off governance transfer" +type OneOffGovernanceTransfer { + "An optional time when the transfer should be delivered" + deliverOn: Timestamp +} + +"The specific details for a recurring governance transfer" +type RecurringGovernanceTransfer { + "The epoch at which this recurring transfer will start" + startEpoch: Int! + "An optional epoch at which this transfer will stop" + endEpoch: Int + "An optional dispatch strategy for the recurring transfer" + dispatchStrategy: DispatchStrategy +} + +"The specific details for a one-off transfer" +type OneOffTransfer { + "An optional time when the transfer should be delivered" + deliverOn: Timestamp +} + +"The specific details for a recurring transfer" +type RecurringTransfer { + "The epoch at which this recurring transfer will start" + startEpoch: Int! + "An optional epoch at which this transfer will stop" + endEpoch: Int + "The factor of the initial amount to be distributed" + factor: String! + "An optional dispatch strategy for the recurring transfer" + dispatchStrategy: DispatchStrategy +} + +"The type of metric to use for a reward dispatch strategy" +enum DispatchMetric { + "Dispatch metric that uses the total maker fees paid in the market" + DISPATCH_METRIC_MAKER_FEES_PAID + "Dispatch metric that uses the total maker fees received in the market" + DISPATCH_METRIC_MAKER_FEES_RECEIVED + "Dispatch metric that uses the total LP fees received in the market" + DISPATCH_METRIC_LP_FEES_RECEIVED + "Dispatch metric that uses the total value of the market if above the required threshold and not paid given proposer bonus yet" + DISPATCH_METRIC_MARKET_VALUE +} + +"Dispatch strategy for a recurring transfer" +type DispatchStrategy { + "Defines the data that will be used to compare markets so as to distribute rewards appropriately" + dispatchMetric: DispatchMetric! + + "The asset to use for measuring contribution to the metric" + dispatchMetricAssetId: ID! + + "Scope the dispatch to this market only under the metric asset" + marketIdsInScope: [ID!] +} + +"Validating status of a node, i.e. validator or non-validator" +enum NodeStatus { + "The node is non-validating" + NODE_STATUS_NON_VALIDATOR + + "The node is validating" + NODE_STATUS_VALIDATOR +} + +"Describes in both human readable and block time when an epoch spans." +type EpochTimestamps { + "RFC3339 timestamp - Vega time of epoch start, null if not started" + start: Timestamp + "RFC3339 timestamp - Vega time of epoch expiry" + expiry: Timestamp + "RFC3339 timestamp - Vega time of epoch end, null if not ended" + end: Timestamp + "Height of first block in the epoch, null if not started" + firstBlock: String! + "Height of last block in the epoch, null if not ended" + lastBlock: String +} + +"A node's key rotation event" +type KeyRotation { + "ID of node where rotation took place" + nodeId: ID! + "Old public key rotated from" + oldPubKey: String! + "New public key rotated to" + newPubKey: String! + "Block height when the rotation took place" + blockHeight: String! +} + +"An Ethereum key rotation record that is returned in a paginated Ethereum key rotation connection" +type EthereumKeyRotationEdge { + node: EthereumKeyRotation! + cursor: String +} + +"A paginated type for returning Ethereum key rotation records" +type EthereumKeyRotationsConnection { + "The ethereum key rotations in this connection" + edges: [EthereumKeyRotationEdge!]! + "The pagination information" + pageInfo: PageInfo +} + +"Describes the ethereum key rotations of nodes on the vega network" +type EthereumKeyRotation { + "ID of node where rotation took place" + nodeId: ID! + "Old ethereum address" + oldAddress: String! + "New ethereum address" + newAddress: String! + "Block height when the rotation took place" + blockHeight: String! +} + +"Epoch describes a specific period of time in the Vega network" +type Epoch { + "Numeric sequence number used to identify the epoch" + id: ID! + + "Timestamps for start and end of epochs" + timestamps: EpochTimestamps! + + "Validators that participated in this epoch" + validatorsConnection(pagination: Pagination): NodesConnection + + "Delegations data for this epoch" + delegationsConnection( + "Optional party ID to filter on" + partyId: ID + "Optional node ID to filter on" + nodeId: ID + "Pagination information" + pagination: Pagination + ): DelegationsConnection +} + +"Details on the collection of nodes for particular validator status" +type NodeSet { + "Total number of nodes in the node set" + total: Int! + + "Number of nodes in the node set that had a performance score of 0 at the end of the last epoch" + inactive: Int! + + "IDs of the nodes that were promoted into this node set at the start of the epoch" + promoted: [String!] + + "IDs of the nodes that were demoted into this node set at the start of the epoch" + demoted: [String!] + + "Total number of nodes allowed in the node set" + maximum: Int +} + +"Summary of data across all nodes" +type NodeData { + "Total staked amount across all nodes" + stakedTotal: String! + + "Total number of nodes across all node sets" + totalNodes: Int! + + "Total number of nodes that had a performance score of 0 at the end of the last epoch" + inactiveNodes: Int! + + "Details on the set of consensus nodes in the network" + tendermintNodes: NodeSet! + + "Details on the set of ersatz (standby) nodes in the network" + ersatzNodes: NodeSet + + "Details on the set of pending nodes in the network" + pendingNodes: NodeSet + + # @TODO allow to query based on number of epochs uptime(epochs: Int) + "Total uptime for all epochs across all nodes. Or specify a number of epochs" + uptime: Float! +} + +"Summary of a node's rewards for a given epoch" +type EpochParticipation { + epoch: Epoch + + "RFC3339 timestamp" + offline: Timestamp + + "RFC3339 timestamp" + online: Timestamp + + "Total amount rewarded for participation in the given epoch" + totalRewards: Float +} + +"Summary of all epochs for a node" +type EpochData { + "Total number of epochs since node was created" + total: Int! + + "Total number of offline epochs since node was created" + offline: Int! + + "Total number of online epochs since node was created" + online: Int! +} + +"Information available for a node" +type Node { + "The node URL eg n01.vega.xyz" + id: ID! + + "Public key of the node operator" + pubkey: String! + + "Tendermint public key of the node" + tmPubkey: String! + + "Ethereum public key of the node" + ethereumAddress: String! + + "URL from which you can get more info about the node." + infoUrl: String! + + "Country code for the location of the node" + location: String! + + "The amount of stake the node has put up themselves" + stakedByOperator: String! + + "The amount of stake that has been delegated by token holders" + stakedByDelegates: String! + + "Total amount staked on node" + stakedTotal: String! + + # "Max amount of (wanted) stake, is this a network param or a node param" + # @TODO - add this field + # maxIntendedStake: String! + + "Amount of stake on the next epoch" + pendingStake: String! + + "Summary of epoch data across all nodes" + epochData: EpochData + + # @TODO implement this filter + # epochs(last: Int, since: String): [EpochParticipation!]! + + "Validator status of the node" + status: NodeStatus! + + "All delegation for a node by a given party if specified, or all delegations." + delegationsConnection( + partyId: ID + pagination: Pagination + ): DelegationsConnection + + "Reward scores for the current epoch for the validator" + rewardScore: RewardScore + + "Ranking scores and status for the validator for the current epoch" + rankingScore: RankingScore! + # The name of the node + name: String! + + # The URL of an avatar + avatarUrl: String +} + +type NodeBasic { + "The node URL, for example n01.vega.xyz" + id: ID! + "Public key of the node operator" + pubkey: String! + "Tendermint public key of the node" + tmPubkey: String! + "Ethereum public key of the node" + ethereumAddress: String! + "URL that provides more information about the node" + infoUrl: String! + "Country code for the location of the node" + location: String! + "Validator status of the node" + status: NodeStatus! + "The name of the node operator" + name: String! + "The URL of an avatar" + avatarUrl: String +} + +type RewardScore { + "The stake based validator score with anti-whaling" + rawValidatorScore: String! + "The performance score of the validator" + performanceScore: String! + "The multisig score of the validator" + multisigScore: String! + "The composite score of the validator" + validatorScore: String! + "The normalised score of the validator" + normalisedScore: String! + "The status of the validator for this score" + validatorStatus: ValidatorStatus! +} + +type RankingScore { + "The current validation status of the validator" + status: ValidatorStatus! + "The former validation status of the validator" + previousStatus: ValidatorStatus! + "The ranking score of the validator" + rankingScore: String! + "The stake based score of the validator (no anti-whaling)" + stakeScore: String! + "The performance score of the validator" + performanceScore: String! + "The Tendermint voting power of the validator (uint32)" + votingPower: String! +} + +"Status of a validator node" +enum ValidatorStatus { + "The node is taking part in Tendermint consensus" + VALIDATOR_NODE_STATUS_TENDERMINT + "The node is a candidate to become a Tendermint validator if a slot is made available" + VALIDATOR_NODE_STATUS_ERSATZ + "The node is pending promotion to ersatz (standby), if a slot is available and if the node fulfils the requirements" + VALIDATOR_NODE_STATUS_PENDING +} + +type Delegation { + "Amount delegated" + amount: String! + + "Party that is delegating" + party: Party! + + "URL of node you are delegating to" + node: Node! + + "Epoch of delegation" + epoch: Int! +} + +"Status of an asset that has been proposed to be added to the network" +enum AssetStatus { + "Asset is proposed to be added to the network" + STATUS_PROPOSED + "Asset has been rejected" + STATUS_REJECTED + "Asset is pending listing on the ethereum bridge" + STATUS_PENDING_LISTING + "Asset can be used on the Vega network" + STATUS_ENABLED +} + +"Represents an asset in Vega" +type Asset { + "The ID of the asset" + id: ID! + + "The full name of the asset (e.g: Great British Pound)" + name: String! + + "The symbol of the asset (e.g: GBP)" + symbol: String! + + "The precision of the asset. Should match the decimal precision of the asset on its native chain, e.g: for ERC20 assets, it is often 18" + decimals: Int! + + "The minimum economically meaningful amount in the asset" + quantum: String! + + "The origin source of the asset (e.g: an ERC20 asset)" + source: AssetSource! + + "The status of the asset in the Vega network" + status: AssetStatus! + + "The infrastructure fee account for this asset" + infrastructureFeeAccount: AccountBalance + + "The staking reward pool account for this asset" + globalRewardPoolAccount: AccountBalance + + "The global insurance account for this asset" + globalInsuranceAccount: AccountBalance + "The network treasury account for this asset" + networkTreasuryAccount: AccountBalance + "The taker fee reward account for this asset" + takerFeeRewardAccount: AccountBalance + "The maker fee reward account for this asset" + makerFeeRewardAccount: AccountBalance + "The liquidity provision reward account for this asset" + lpFeeRewardAccount: AccountBalance + "The market proposer reward account for this asset" + marketProposerRewardAccount: AccountBalance +} + +"One of the possible asset sources" +union AssetSource = BuiltinAsset | ERC20 + +"One of the possible asset sources for update assets proposals" +union UpdateAssetSource = UpdateERC20 + +"An asset originated from an Ethereum ERC20 Token" +type ERC20 { + "The address of the ERC20 contract" + contractAddress: String! + """ + The lifetime limits deposit per address + Note: this is a temporary measure that can be changed by governance + """ + lifetimeLimit: String! + """ + The maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay. + There is no limit on the size of a withdrawal + Note: this is a temporary measure that can be changed by governance + """ + withdrawThreshold: String! +} + +"An asset originated from an Ethereum ERC20 Token" +type UpdateERC20 { + """ + The lifetime limits deposit per address + Note: this is a temporary measure that can be changed by governance + """ + lifetimeLimit: String! + """ + The maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay. + There is no limit on the size of a withdrawal + Note: this is a temporary measure that can be changed by governance + """ + withdrawThreshold: String! +} + +"A Vega builtin asset, mostly for testing purpose" +type BuiltinAsset { + "Maximum amount that can be requested by a party through the built-in asset faucet at a time" + maxFaucetAmountMint: String! +} + +"Represents a signature for the approval of a resource from a validator" +type NodeSignature { + "The ID of the resource being signed for" + id: ID! + + "The signature, as base64 encoding" + signature: String + + "The kind of signature this is (e.g: withdrawal, new asset, etc)" + kind: NodeSignatureKind +} + +"Represents the type of signature provided by a node" +enum NodeSignatureKind { + "A signature for proposing a new asset into the network" + NODE_SIGNATURE_KIND_ASSET_NEW + + "A signature for allowing funds withdrawal" + NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL + + "A signature to add a new validator to the ERC20 bridge" + NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED + + "A signature to remove a validator from the ERC20 bridge" + NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED + + "A signature to update limits of an ERC20 asset" + NODE_SIGNATURE_KIND_ASSET_UPDATE +} + +"Statistics about the node" +type Statistics { + "Current block number" + blockHeight: String! + + "Current block hash" + blockHash: String! + + "Number of items in the backlog" + backlogLength: String! + + "Total number of peers on the Vega network" + totalPeers: String! + + "RFC3339Nano genesis time of the chain" + genesisTime: Timestamp! + + "RFC3339Nano current time (real)" + currentTime: Timestamp! + + "RFC3339Nano uptime of the node" + upTime: String! + + "RFC3339Nano current time of the chain (decided through consensus)" + vegaTime: Timestamp! + + "Status of the Vega application connection with the chain" + status: String! + + "Number of transaction processed per block" + txPerBlock: String! + + "Average size of the transactions" + averageTxBytes: String! + + "Average number of orders added per blocks" + averageOrdersPerBlock: String! + + "Number of the trades per seconds" + tradesPerSecond: String! + + "Number of orders per seconds" + ordersPerSecond: String! + + "Total number of markets" + totalMarkets: String! + + "Total number of amended orders" + totalAmendOrder: String! + + "Total number of cancelled orders" + totalCancelOrder: String! + + "Total number of orders created" + totalCreateOrder: String! + + "Total number of orders" + totalOrders: String! + + "Total number of trades" + totalTrades: String! + + "Total number of events on the last block" + eventCount: String! + + "The number of events per second on the last block" + eventsPerSecond: String! + + "Version commit hash of the Vega node" + appVersionHash: String! + + "Version of the Vega node (semver)" + appVersion: String! + + "Version of the chain (semver)" + chainVersion: String! + + "Duration of the last block, in nanoseconds" + blockDuration: String! + + "Current chain ID" + chainId: ID! +} + +"A mode where Vega tries to execute orders as soon as they are received" +type ContinuousTrading { + "Size of an increment in price in terms of the quote currency" + tickSize: String! +} + +"Frequent batch auctions trading mode" +type DiscreteTrading { + "Duration of the discrete trading batch in nanoseconds. Maximum 1 month." + duration: Int! + "Size of an increment in price in terms of the quote currency" + tickSize: String! +} + +"Parameters for the log normal risk model" +type LogNormalModelParams { + "Mu parameter, annualised growth rate of the underlying asset" + mu: Float! + "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number" + r: Float! + "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number" + sigma: Float! +} + +"Parameters for the simple risk model" +type SimpleRiskModelParams { + "Risk factor for long" + factorLong: Float! + "Risk factor for short" + factorShort: Float! +} + +"A type of risk model for futures trading" +type LogNormalRiskModel { + "Lambda parameter of the risk model, probability confidence level used in expected shortfall calculation when obtaining the maintenance margin level, must be strictly greater than 0 and strictly smaller than 1" + riskAversionParameter: Float! + "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall calculation to obtain the maintenance margin, must be a strictly non-negative real number" + tau: Float! + "Parameters for the log normal risk model" + params: LogNormalModelParams! +} + +"A type of simple/dummy risk model where you can specify the risk factor long and short in params" +type SimpleRiskModel { + "Params for the simple risk model" + params: SimpleRiskModelParams! +} + +union RiskModel = LogNormalRiskModel | SimpleRiskModel + +"A set of metadata to associate to an instrument" +type InstrumentMetadata { + "An arbitrary list of tags to associated to associate to the Instrument (string list)" + tags: [String!] +} + +"An Ethereum data source" +type EthereumEvent { + "The ID of the ethereum contract to use (string)" + contractId: ID! + + "Name of the Ethereum event to listen to. (string)" + event: String! +} + +union Oracle = EthereumEvent + +"A Future product" +type Future { + "The name of the asset (string)" + settlementAsset: Asset! + + "String representing the quote (e.g. BTCUSD -> USD is quote)" + quoteName: String! + + "The data source specification that describes the data of interest for settlement." + dataSourceSpecForSettlementData: DataSourceSpec! + + "The data source specification that describes the data-source data of interest for trading termination." + dataSourceSpecForTradingTermination: DataSourceSpec! + + "The binding between the data source specification and the settlement data" + dataSourceSpecBinding: DataSourceSpecToFutureBinding! +} + +""" +DataSourceSpecToFutureBinding tells on which property data source data should be +used as settlement data and trading termination. +""" +type DataSourceSpecToFutureBinding { + settlementDataProperty: String! + tradingTerminationProperty: String! +} + +""" +An data source specification describes the data source data that a product (or a risk model) +wants to get from the oracle engine. +""" +type DataSourceSpec { + "ID is a hash generated from the DataSourceSpec data." + id: ID! + "RFC3339Nano creation date time" + createdAt: Timestamp! + "RFC3339Nano last updated timestamp" + updatedAt: Timestamp + + data: DataSourceDefinition! + + "Status describes the status of the data source spec" + status: DataSourceSpecStatus! +} + +""" +externalDataSourceSpec is the type that wraps the DataSourceSpec type in order to be further used/extended +by the OracleSpec +""" +type ExternalDataSourceSpec { + spec: DataSourceSpec! +} + +type OracleSpec { + dataSourceSpec: ExternalDataSourceSpec! + "Data lists all the oracle data broadcast to this spec" + dataConnection(pagination: Pagination): OracleDataConnection! +} + +"Describes the status of the data spec" +enum DataSourceSpecStatus { + "Describes an active data spec" + STATUS_ACTIVE + """ + Describes a data spec that is not listening to data + anymore + """ + STATUS_DEACTIVATED +} + +""" +Signer is the authorized signature used for the data. +""" +type Signer { + signer: SignerKind! +} + +union SignerKind = ETHAddress | PubKey + +type ETHAddress { + address: String +} + +type PubKey { + key: String +} + +""" +Filter describes the conditions under which oracle data is considered of +interest or not. +""" +type Filter { + "key is the data source data property key targeted by the filter." + key: PropertyKey! + """ + The conditions that should be matched by the data to be + considered of interest. + """ + conditions: [Condition!] +} + +"PropertyKey describes the property key contained in a source data." +type PropertyKey { + "The name of the property." + name: String + "The type of the property." + type: PropertyKeyType! + """ + An optional decimal place to be applied on the provided value. + Valid only for PropertyType of type DECIMAL, INTEGER. + """ + numberDecimalPlaces: Int +} + +""" +Type describes the type of properties that are supported by the data source +engine. +""" +enum PropertyKeyType { + "Any type." + TYPE_EMPTY + "Integer type." + TYPE_INTEGER + "String type." + TYPE_STRING + "Boolean type." + TYPE_BOOLEAN + "Any floating point decimal type." + TYPE_DECIMAL + "Timestamp date type." + TYPE_TIMESTAMP +} + +""" +Condition describes the condition that must be validated by the data source engine +""" +type Condition { + "The type of comparison to make on the value." + operator: ConditionOperator! + "The value to compare against." + value: String +} + +"Comparator describes the type of comparison." +enum ConditionOperator { + "Verify if the property values are strictly equal or not." + OPERATOR_EQUALS + "Verify if the data source data value is greater than the Condition value." + OPERATOR_GREATER_THAN + """ + Verify if the data source data value is greater than or equal to the Condition + value. + """ + OPERATOR_GREATER_THAN_OR_EQUAL + " Verify if the data source data value is less than the Condition value." + OPERATOR_LESS_THAN + """ + Verify if the oracle data value is less or equal to than the Condition + value. + """ + OPERATOR_LESS_THAN_OR_EQUAL +} + +"A data source contains the data sent by a data source" +type Data { + "signers is the list of public keys/ETH addresses that signed the data" + signers: [Signer!] + "properties contains all the properties sent by a data source" + data: [Property!] + + metaData: [Property] + + """ + List of all the data specs that matched this source data. + When the array is empty, it means no data spec matched this source data. + """ + matchedSpecIds: [ID!] + """ + RFC3339Nano formatted date and time for when the data was broadcast to the markets + with a matching data spec. + It has no value when the source data does not match any data spec. + """ + broadcastAt: Timestamp! +} + +type ExternalData { + data: Data! +} + +"An oracle data contains the data sent by an oracle" +type OracleData { + externalData: ExternalData! +} + +"A property associates a name to a value" +type Property { + "Name of the property" + name: String! + "Value of the property" + value: String! +} + +union Product = Future + +"Describes something that can be traded on Vega" +type Instrument { + "Uniquely identifies an instrument across all instruments available on Vega (string)" + id: ID! + + "A short non necessarily unique code used to easily describe the instrument (e.g: FX:BTCUSD/DEC18) (string)" + code: String! + + "Full and fairly descriptive name for the instrument" + name: String! + + "Metadata for this instrument" + metadata: InstrumentMetadata! + + "A reference to or instance of a fully specified product, including all required product parameters for that product (Product union)" + product: Product! +} + +type MarginCalculator { + "The scaling factors that will be used for margin calculation" + scalingFactors: ScalingFactors! +} + +type ScalingFactors { + "The scaling factor that determines the margin level at which Vega has to search for more money" + searchLevel: Float! + + "The scaling factor that determines the optimal margin level" + initialMargin: Float! + + "The scaling factor that determines the overflow margin level" + collateralRelease: Float! +} + +"A tradable instrument is a combination of an instrument and a risk model" +type TradableInstrument { + "An instance of, or reference to, a fully specified instrument." + instrument: Instrument! + + "A reference to a risk model that is valid for the instrument" + riskModel: RiskModel! + + "Margin calculation info, currently only the scaling factors (search, initial, release) for this tradable instrument" + marginCalculator: MarginCalculator +} + +"The factors applied to calculate the fees" +type FeeFactors { + "The factor applied to calculate MakerFees, a non-negative float" + makerFee: String! + "The factor applied to calculate InfrastructureFees, a non-negative float" + infrastructureFee: String! + "The factor applied to calculate LiquidityFees, a non-negative float" + liquidityFee: String! +} + +"The fees applicable to a market" +type Fees { + "The factors used to calculate the different fees" + factors: FeeFactors! +} + +""" +An auction duration is used to configure 3 auction periods: +1. `duration > 0`, `volume == 0`: +The auction will last for at least N seconds. +2. `duration == 0`, `volume > 0`: +The auction will end once the given volume will match at uncrossing. +3. `duration > 0`, `volume > 0`: +The auction will take at least N seconds, but can end sooner if the market can trade a certain volume. +""" +type AuctionDuration { + "Duration of the auction in seconds" + durationSecs: Int! + "Target uncrossing trading volume" + volume: Int! +} + +""" +PriceMonitoringParameters holds a list of triggers +""" +type PriceMonitoringParameters { + "The list of triggers for this price monitoring" + triggers: [PriceMonitoringTrigger!] +} + +""" +PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration +""" +type PriceMonitoringTrigger { + "Price monitoring projection horizon τ in seconds (> 0)." + horizonSecs: Int! + "Price monitoring probability level p. (>0 and < 1)" + probability: Float! + """ + Price monitoring auction extension duration in seconds should the price + breach its theoretical level over the specified horizon at the specified + probability level (> 0) + """ + auctionExtensionSecs: Int! +} + +"Configuration of a market price monitoring auctions triggers" +type PriceMonitoringSettings { + "Specified a set of PriceMonitoringParameters to be use for price monitoring purposes" + parameters: PriceMonitoringParameters +} + +"Range of valid prices and the associated price monitoring trigger" +type PriceMonitoringBounds { + "Minimum price that isn't currently breaching the specified price monitoring trigger" + minValidPrice: String! + "Maximum price that isn't currently breaching the specified price monitoring trigger" + maxValidPrice: String! + "Price monitoring trigger associated with the bounds" + trigger: PriceMonitoringTrigger! + "Reference price used to calculate the valid price range" + referencePrice: String! +} + +"TargetStakeParameters contains parameters used in target stake calculation" +type TargetStakeParameters { + "Specifies length of time window expressed in seconds for target stake calculation" + timeWindow: Int! + + "Specifies scaling factors used in target stake calculation" + scalingFactor: Float! +} + +"Configuration of a market liquidity monitoring parameters" +type LiquidityMonitoringParameters { + "Specifies parameters related to target stake calculation" + targetStakeParameters: TargetStakeParameters! + "Specifies the triggering ratio for entering liquidity auction" + triggeringRatio: String! + "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction" + auctionExtensionSecs: Int! +} + +"Represents a product & associated parameters that can be traded on Vega, has an associated OrderBook and Trade history" +type Market { + "Market ID" + id: ID! + + "Fees related data" + fees: Fees! + + "An instance of, or reference to, a tradable instrument." + tradableInstrument: TradableInstrument! + + """ + The number of decimal places that an integer must be shifted by in order to get a correct + number denominated in the currency of the market. (uint64) + + Examples: + Currency Balance decimalPlaces Real Balance + GBP 100 0 GBP 100 + GBP 100 2 GBP 1.00 + GBP 100 4 GBP 0.01 + GBP 1 4 GBP 0.0001 ( 0.01p ) + + GBX (pence) 100 0 GBP 1.00 (100p ) + GBX (pence) 100 2 GBP 0.01 ( 1p ) + GBX (pence) 100 4 GBP 0.0001 ( 0.01p ) + GBX (pence) 1 4 GBP 0.000001 ( 0.0001p) + """ + decimalPlaces: Int! + + """ + The number of decimal places that an integer must be shifted in order to get a correct size (uint64). + i.e. 0 means there are no fractional orders for the market, and order sizes are always whole sizes. + 2 means sizes given as 10^2 * desired size, e.g. a desired size of 1.23 is represented as 123 in this market. + This sets how big the smallest order / position on the market can be. + """ + positionDecimalPlaces: Int! + + """ + Auction duration specifies how long the opening auction will run (minimum + duration and optionally a minimum traded volume). + """ + openingAuction: AuctionDuration! + + "Price monitoring settings for the market" + priceMonitoringSettings: PriceMonitoringSettings! + + "Liquidity monitoring parameters for the market" + liquidityMonitoringParameters: LiquidityMonitoringParameters! + + "Current mode of execution of the market" + tradingMode: MarketTradingMode! + + "Current state of the market" + state: MarketState! + + "The proposal that initiated this market" + proposal: Proposal + + "Orders on a market" + ordersConnection( + "Pagination information" + pagination: Pagination + "Filter orders" + filter: OrderByPartyIdsFilter + ): OrderConnection + + "Get account for a party or market" + accountsConnection( + "ID of the party to get the margin account for" + partyId: ID + "Pagination information" + pagination: Pagination + ): AccountsConnection + + tradesConnection( + "Date range to retrieve trades from/to. Start and end time should be expressed as an integer value of nano-seconds past the Unix epoch" + dateRange: DateRange + "Pagination information" + pagination: Pagination + ): TradeConnection + @deprecated( + reason: "Simplify and consolidate trades query and remove nesting. Use trades query instead" + ) + + "Current depth on the order book for this market" + depth( + "Maximum market order book depth (returns whole order book if omitted)" + maxDepth: Int + ): MarketDepth! + + "Candles on a market, for the 'last' n candles, at 'interval' seconds as specified by parameters using cursor based pagination" + candlesConnection( + "RFC3339Nano encoded time to get candles from" + since: String! + "Optional: RFC3339Nano encoded time to get candles to" + to: String + "Interval of the candles" + interval: Interval! + "Pagination information" + pagination: Pagination + ): CandleDataConnection + + "marketData for the given market" + data: MarketData + + "The list of the liquidity provision commitments for this market" + liquidityProvisionsConnection( + "An optional party ID" + partyId: ID + "An optional live flag to determine whether to list only live LPs or not" + live: Boolean + "Pagination information" + pagination: Pagination + ): LiquidityProvisionsConnection + + "Timestamps for state changes in the market" + marketTimestamps: MarketTimestamps! + + "Risk factors for the market" + riskFactors: RiskFactor + + "Liquidity Provision order price range" + lpPriceRange: String! + + "Linear slippage factor is used to cap the slippage component of maintainence margin - it is applied to the slippage volume" + linearSlippageFactor: String! + + "Quadratic slippage factor is used to cap the slippage component of maintainence margin - it is applied to the square of the slippage volume" + quadraticSlippageFactor: String! + + """ + Optional: Parent market ID. A market can be a successor to another market. If this market is a successor to a previous market, + this field will be populated with the ID of the previous market. + """ + parentMarketID: ID + + """ + Optional: When a successor market is created, a fraction of the parent market's insurance pool can be transferred to the successor market + """ + insurancePoolFraction: String + + "Optional: Market ID of the successor to this market if one exists" + successorMarketID: ID +} + +""" +Market Depth is a measure of the number of open buy and sell orders for a security or currency at different prices. +The depth of market measure provides an indication of the liquidity and depth for the instrument. +""" +type MarketDepth { + "Market" + market: Market! + + "Buy side price levels (if available)" + buy: [PriceLevel!] + + "Sell side price levels (if available)" + sell: [PriceLevel!] + + "Last trade for the given market (if available)" + lastTrade: Trade + + "Sequence number for the current snapshot of the market depth" + sequenceNumber: String! +} + +""" +Market Depth is a measure of the number of open buy and sell orders for a security or currency at different prices. +The depth of market measure provides an indication of the liquidity and depth for the instrument. +""" +type ObservableMarketDepth { + "Market ID" + marketId: ID! + + "Buy side price levels (if available)" + buy: [PriceLevel!] + + "Sell side price levels (if available)" + sell: [PriceLevel!] + + "Last trade for the given market (if available)" + lastTrade: MarketDepthTrade! + + "Sequence number for the current snapshot of the market depth" + sequenceNumber: String! +} + +type MarketDepthTrade { + "ID of the trade for the given market (if available)" + id: ID! + + "Price of the trade" + price: String! + + "Size of the trade" + size: String! +} + +""" +Market Depth Update is a delta to the current market depth which can be used to update the +market depth structure to keep it correct +""" +type MarketDepthUpdate { + "Market" + market: Market! + + "Buy side price levels (if available)" + buy: [PriceLevel!] + + "Sell side price levels (if available)" + sell: [PriceLevel!] + + "Sequence number for the current snapshot of the market depth. It is always increasing but not monotonic." + sequenceNumber: String! + + "Sequence number of the last update sent; useful for checking that no updates were missed." + previousSequenceNumber: String! +} + +""" +Market Depth Update is a delta to the current market depth which can be used to update the +market depth structure to keep it correct +""" +type ObservableMarketDepthUpdate { + "Market ID" + marketId: ID! + + "Buy side price levels (if available)" + buy: [PriceLevel!] + + "Sell side price levels (if available)" + sell: [PriceLevel!] + + "Sequence number for the current snapshot of the market depth. It is always increasing but not monotonic." + sequenceNumber: String! + + "Sequence number of the last update sent; useful for checking that no updates were missed." + previousSequenceNumber: String! +} + +"Represents a price on either the buy or sell side and all the orders at that price" +type PriceLevel { + "The price of all the orders at this level (uint64)" + price: String! + + "The total remaining size of all orders at this level (uint64)" + volume: String! + + "The number of orders at this price level (uint64)" + numberOfOrders: String! +} + +"Candle stick representation of trading" +type Candle { + "RFC3339Nano formatted date and time for the candle start time" + periodStart: Timestamp! + + "RFC3339Nano formatted date and time for the candle end time, or last updated time if the candle is still open" + lastUpdateInPeriod: Timestamp! + + "High price (uint64)" + high: String! + + "Low price (uint64)" + low: String! + + "Open price (uint64)" + open: String! + + "Close price (uint64)" + close: String! + + "Volume price (uint64)" + volume: String! + + "Total notional value of trades (uint64)" + notional: String! +} + +"Represents a party on Vega, could be an ethereum wallet address in the future" +type Party { + "Party identifier" + id: ID! + + "Orders relating to a party" + ordersConnection( + "Pagination information" + pagination: Pagination + "Filter orders" + filter: OrderByMarketIdsFilter + ): OrderConnection + + tradesConnection( + "ID of the market you want to get trades for" + marketId: ID + "Date range to retrieve trades from/to. Start and end time should be expressed as an integer value of nano-seconds past the Unix epoch" + dataRange: DateRange + "Pagination information" + pagination: Pagination + ): TradeConnection + @deprecated( + reason: "Simplify and consolidate trades query and remove nesting. Use trades query instead" + ) + + "Collateral accounts relating to a party" + accountsConnection( + "Market ID - specify what market accounts for the party to return" + marketId: ID + "Asset ID" + assetId: ID + "Filter accounts by type (General account, margin account, etc...)" + type: AccountType + "Cursor pagination information" + pagination: Pagination + ): AccountsConnection + + "Trading positions relating to a party" + positionsConnection(market: ID, pagination: Pagination): PositionConnection + @deprecated(reason: "Use root positions query instead of sub-query") + + "Margin levels for a market" + marginsConnection( + "market ID for the requested margin levels, nil if all markets" + marketId: ID + "Optional Pagination information" + pagination: Pagination + ): MarginConnection + + "All governance proposals in the Vega network" + proposalsConnection( + "Optional type of proposal to retrieve data for" + proposalType: ProposalType + "Returns only proposals in the specified state. Leave out to get all proposals" + inState: ProposalState + "Optional Pagination information" + pagination: Pagination + ): ProposalsConnection + + "All votes on proposals in the Vega network by the given party" + votesConnection( + "Optional Pagination information" + pagination: Pagination + ): ProposalVoteConnection + + "The list of all withdrawals initiated by the party" + withdrawalsConnection( + "Date range to retrieve withdrawals from/to. Start and end time should be expressed as an integer value of nano-seconds past the Unix epoch" + dateRange: DateRange + "Optional Pagination information" + pagination: Pagination + ): WithdrawalsConnection + + "The list of all deposits for a party by the party" + depositsConnection( + "Date range to retrieve deposits from/to. Start and end time should be expressed as an integer value of nano-seconds past the Unix epoch" + dateRange: DateRange + "Optional Pagination information" + pagination: Pagination + ): DepositsConnection + + "The list of the liquidity provision commitment for this party" + liquidityProvisionsConnection( + "An optional market ID" + marketId: ID + "An optional reference" + reference: String + "An optional live flag to determine whether to list only live LPs or not" + live: Boolean + "Optional Pagination information" + pagination: Pagination + ): LiquidityProvisionsConnection + + # All delegations for a party to a given node if node is specified, or all delegations if not + delegationsConnection( + "Optional node ID" + nodeId: ID + "Pagination information" + pagination: Pagination + ): DelegationsConnection + + "The staking information for this Party" + stakingSummary(pagination: Pagination): StakingSummary! + + "Rewards information for the party" + rewardsConnection( + "An asset ID (optional)" + assetId: ID + "Optional pagination information" + pagination: Pagination + "Optionally only return rewards >= this epoch" + fromEpoch: Int + "Optionally only return rewards <= this epoch" + toEpoch: Int + ): RewardsConnection + + "Return net reward information" + rewardSummaries("An asset ID (optional)" assetId: ID): [RewardSummary] + + "All transfers for a public key" + transfersConnection( + "direction of the transfer with respect to the public key" + direction: TransferDirection + "Pagination information" + pagination: Pagination + ): TransferConnection +} + +""" +All staking information related to a Party. +Contains the current recognised balance by the network and +all the StakeLink/Unlink seen by the network +""" +type PartyStake { + "The stake currently available for the party" + currentStakeAvailable: String! + "The list of all stake link/unlink for the party" + linkings: [StakeLinking!] +} + +""" +All staking information related to a Party. +Contains the current recognised balance by the network and +all the StakeLink/Unlink seen by the network +""" +type StakingSummary { + "The stake currently available for the party" + currentStakeAvailable: String! + "The list of all stake link/unlink for the party" + linkings(pagination: Pagination): StakesConnection! +} + +"The type of stake linking" +enum StakeLinkingType { + "The stake is being linked (deposited) to a Vega stake account" + TYPE_LINK + "The stake is being unlinked (removed) from a Vega stake account" + TYPE_UNLINK +} + +"The status of the stake linking" +enum StakeLinkingStatus { + """ + The stake linking is pending in the Vega network. This means that + the Vega network have seen a stake linking, but is still to confirm + it's valid on the ethereum chain and accepted by all nodes of the network + """ + STATUS_PENDING + "The stake linking has been accepted and processed fully (balance updated) by the network" + STATUS_ACCEPTED + "The Vega network has rejected this stake linking" + STATUS_REJECTED +} + +"A stake linking represent the intent from a party to deposit / remove stake on their account" +type StakeLinking { + id: ID! + "Type of linking: link|unlink" + type: StakeLinkingType! + "The time at which the request happened on ethereum" + timestamp: Timestamp! + "The party initiating the stake linking" + party: Party! + "The amount linked or unlinked" + amount: String! + "The status of the linking" + status: StakeLinkingStatus! + "The time at which the stake linking was fully processed by the Vega network, null until defined" + finalizedAt: Timestamp + "The transaction hash (ethereum) which initiated the link/unlink" + txHash: String! + "The (ethereum) block height of the link/unlink" + blockHeight: String! +} + +"Position status can change if a position is distressed" +enum PositionStatus { + "The position is either healthy, or if closed out, was closed out normally" + POSITION_STATUS_UNSPECIFIED + "The position was distressed, but removing open orders from the book brought the margin level back to a point where the open position could be maintained" + POSITION_STATUS_ORDERS_CLOSED + "The position was distressed, and had to be closed out entirely - orders were removed from the book, and the open volume was closed out by the network" + POSITION_STATUS_CLOSED_OUT + "The position was distressed, but could not be closed out - orders were removed from the book, and the open volume will be closed out once there is sufficient volume on the book" + POSITION_STATUS_DISTRESSED +} + +""" +An individual party at any point in time is considered net long or net short. This refers to their Open Volume, +calculated using FIFO. This volume is signed as either negative for LONG positions and positive for SHORT positions. A +single trade may end up "splitting" with some of its volume matched into closed volume and some of its volume +remaining as open volume. This is why we don't refer to positions being comprised of trades, rather of volume. +""" +type Position { + "Market relating to this position" + market: Market! + + "The party holding this position" + party: Party! + + "Open volume (int64)" + openVolume: String! + + "Realised Profit and Loss (int64)" + realisedPNL: String! + + "Unrealised Profit and Loss (int64)" + unrealisedPNL: String! + + "Average entry price for this position" + averageEntryPrice: String! + + "The total amount of profit and loss that was not transferred due to loss socialisation" + lossSocializationAmount: String! + + "Enum set if the position was closed out or orders were removed because party was distressed" + positionStatus: PositionStatus! + + "Margins of the party for the given position" + marginsConnection(pagination: Pagination): MarginConnection + + "RFC3339Nano time the position was updated" + updatedAt: Timestamp +} + +""" +An individual party at any point in time is considered net long or net short. This refers to their Open Volume, +calculated using FIFO. This volume is signed as either negative for LONG positions and positive for SHORT positions. A +single trade may end up "splitting" with some of its volume matched into closed volume and some of its volume +remaining as open volume. This is why we don't refer to positions being comprised of trades, rather of volume. +""" +type PositionUpdate { + "Market relating to this position" + marketId: ID! + + "The party holding this position" + partyId: ID! + + "Open volume (int64)" + openVolume: String! + + "Realised Profit and Loss (int64)" + realisedPNL: String! + + "Unrealised Profit and Loss (int64)" + unrealisedPNL: String! + + "Average entry price for this position" + averageEntryPrice: String! + + "RFC3339Nano time the position was updated" + updatedAt: Timestamp + + "The total amount of profit and loss that was not transferred due to loss socialisation" + lossSocializationAmount: String! + + "Enum set if the position was closed out or orders were removed because party was distressed" + positionStatus: PositionStatus! +} + +"Basic description of an order" +input OrderInfo { + "Whether the order is to buy or sell" + side: Side! + "Price for the order" + price: String! + "Number of units remaining of the total that have not yet been bought or sold (uint64)" + remaining: String! + "Boolean indicating a market order" + isMarketOrder: Boolean! +} + +"An order in Vega, if active it will be on the order book for the market" +type Order { + "Hash of the order data" + id: ID! + + "The worst price the order will trade at (e.g. buy for price or less, sell for price or more) (uint64)" + price: String! + + "The timeInForce of order (determines how and if it executes, and whether it persists on the book)" + timeInForce: OrderTimeInForce! + + "Whether the order is to buy or sell" + side: Side! + + "The market the order is trading on (probably stored internally as a hash of the market details)" + market: Market! + + "Total number of units that may be bought or sold (immutable) (uint64)" + size: String! + + "Number of units remaining of the total that have not yet been bought or sold (uint64)" + remaining: String! + + "The party that placed the order (probably stored internally as the party's public key)" + party: Party! + + "RFC3339Nano formatted date and time for when the order was created (timestamp)" + createdAt: Timestamp! + + "Expiration time of this order (ISO-8601 RFC3339+Nano formatted date)" + expiresAt: Timestamp + + "The status of an order, for example 'Active'" + status: OrderStatus! + + "The external reference (if available) for the order" + reference: String! + + "Trades relating to this order" + tradesConnection( + "Date range to retrieve trades from/to. Start and end time should be expressed as an integer value of nano-seconds past the Unix epoch" + dateRange: DateRange + pagination: Pagination + ): TradeConnection + @deprecated( + reason: "Simplify and consolidate trades query and remove nesting. Use trades query instead" + ) + + "The order type" + type: OrderType + + "Why the order was rejected" + rejectionReason: OrderRejectionReason + + "Version of this order, counts the number of amends" + version: String! + + "RFC3339Nano time the order was altered" + updatedAt: Timestamp + + "PeggedOrder contains the details about a pegged order" + peggedOrder: PeggedOrder + + "The liquidity provision this order was created from" + liquidityProvision: LiquidityProvision + + "Is this a post only order" + postOnly: Boolean + + "Is this a reduce only order" + reduceOnly: Boolean + + "Details of an iceberg order" + icebergOrder: IcebergOrder +} + +union StopOrderTrigger = StopOrderPrice | StopOrderTrailingPercentOffset + +"Price at which a stop order will trigger" +type StopOrderPrice { + price: String! +} + +"Percentage movement in the price at which a stop order will trigger." +type StopOrderTrailingPercentOffset { + trailingPercentOffset: String! +} + +"A stop order in Vega" +type StopOrder { + "Hash of the stop order data" + id: ID! + "If OCO (one-cancels-other) order, the ID of the associated order." + ocoLinkId: ID + "Time at which the order will expire if an expiry time is set." + expiresAt: Timestamp + "If an expiry is set, what should the stop order do when it expires." + expiryStrategy: StopOrderExpiryStrategy + "Direction the price is moving to trigger the stop order." + triggerDirection: StopOrderTriggerDirection! + "Status of the stop order" + status: StopOrderStatus! + "Time the stop order was created." + createdAt: Timestamp! + "Time the stop order was last updated." + updatedAt: Timestamp + "Party that submitted the stop order." + partyId: ID! + "Market the stop order is for." + marketId: ID! + "Price movement that will trigger the stop order" + trigger: StopOrderTrigger + "Order to submit when the stop order is triggered." + submission: OrderSubmission! +} + +"Details of the order that will be submitted when the stop order is triggered." +type OrderSubmission { + "Market the order is for." + marketId: ID! + "The worst price the order will trade at (e.g. buy for price or less, sell for price or more) (uint64)" + price: String! + "Total number of units that may be bought or sold (immutable) (uint64)" + size: String! + "Whether the order is to buy or sell" + side: Side! + "The timeInForce of order (determines how and if it executes, and whether it persists on the book)" + timeInForce: OrderTimeInForce! + "Expiration time of this order (ISO-8601 RFC3339+Nano formatted date)" + expiresAt: Timestamp! + "The order type" + type: OrderType! + "The external reference (if available) for the order" + reference: String + "PeggedOrder contains the details about a pegged order" + peggedOrder: PeggedOrder + "Is this a post only order" + postOnly: Boolean + "Is this a reduce only order" + reduceOnly: Boolean + "Details of an iceberg order" + icebergOrder: IcebergOrder +} + +"An order update in Vega, if active it will be on the order book for the market" +type OrderUpdate { + "Hash of the order data" + id: ID! + + "The worst price the order will trade at (e.g. buy for price or less, sell for price or more) (uint64)" + price: String! + + "The timeInForce of order (determines how and if it executes, and whether it persists on the book)" + timeInForce: OrderTimeInForce! + + "Whether the order is to buy or sell" + side: Side! + + "The market the order is trading on (probably stored internally as a hash of the market details)" + marketId: ID! + + "Total number of units that may be bought or sold (immutable) (uint64)" + size: String! + + "Number of units remaining of the total that have not yet been bought or sold (uint64)" + remaining: String! + + "The party that placed the order (probably stored internally as the party's public key)" + partyId: ID! + + "RFC3339Nano formatted date and time for when the order was created (timestamp)" + createdAt: Timestamp! + + "Expiration time of this order (ISO-8601 RFC3339+Nano formatted date)" + expiresAt: Timestamp + + "The status of an order, for example 'Active'" + status: OrderStatus! + + "The external reference (if available) for the order" + reference: String! + + "The order type" + type: OrderType + + "Why the order was rejected" + rejectionReason: OrderRejectionReason + + "Version of this order, counts the number of amends" + version: String! + + "RFC3339Nano time the order was altered" + updatedAt: Timestamp + + "PeggedOrder contains the details about a pegged order" + peggedOrder: PeggedOrder + + "The liquidity provision this order was created from" + liquidityProvisionId: ID + + "Details of an iceberg order" + icebergOrder: IcebergOrder +} + +"Response for the estimate of the margin level and, if available, collateral was provided in the request, liquidation price for the specified position" +type PositionEstimate { + "Margin level range estimate for the specified position" + margin: MarginEstimate! + "Liquidation price range estimate for the specified position. Only populated if available collateral was specified in the request" + liquidation: LiquidationEstimate +} + +"Margin level estimate for both worst and best case possible" +type MarginEstimate { + "Margin level estimate assuming slippage cap is applied" + worstCase: MarginLevels! + "Margin level estimate assuming no slippage" + bestCase: MarginLevels! +} + +"Liquidation estimate for both worst and best case possible" +type LiquidationEstimate { + "Liquidation price estimate assuming slippage cap is applied" + worstCase: LiquidationPrice! + "Liquidation price estimate assuming no slippage" + bestCase: LiquidationPrice! +} + +"Liquidation price estimate for either only the current open volume and position given some or all buy orders get filled, or position given some or all sell orders get filled" +type LiquidationPrice { + "Liquidation price for current open volume ignoring any active orders" + open_volume_only: String! + "Liquidation price assuming buy orders start getting filled" + including_buy_orders: String! + "Liquidation price assuming sell orders start getting filled" + including_sell_orders: String! +} + +"An estimate of the fee to be paid by the order" +type OrderEstimate { + "The estimated fee if the order was to trade" + fee: TradeFee! + + "The total estimated amount of fee if the order was to trade" + totalFeeAmount: String! + + "The margin requirement for this order" + marginLevels: MarginLevels! +} + +"An estimate of the fee to be paid for the order" +type FeeEstimate { + "The estimated fees if the order was to trade" + fees: TradeFee! + + "The total estimated amount of fees if the order was to trade" + totalFeeAmount: String! +} + +"A trade on Vega, the result of two orders being 'matched' in the market" +type Trade { + "The hash of the trade data" + id: ID! + + "The market the trade occurred on" + market: Market! + + "The order that bought" + buyOrder: String! + + "The order that sold" + sellOrder: String! + + "The party that bought" + buyer: Party! + + "The party that sold" + seller: Party! + + "The aggressor indicates whether this trade was related to a BUY or SELL" + aggressor: Side! + + "The price of the trade (probably initially the passive order price, other determination algorithms are possible though) (uint64)" + price: String! + + "The number of units traded, will always be <= the remaining size of both orders immediately before the trade (uint64)" + size: String! + + "RFC3339Nano time for when the trade occurred" + createdAt: Timestamp! + + "The type of trade" + type: TradeType! + + "The fee paid by the buyer side of the trade" + buyerFee: TradeFee! + + "The fee paid by the seller side of the trade" + sellerFee: TradeFee! + + "The batch in which the buyer order was submitted (applies only for auction modes)" + buyerAuctionBatch: Int + + "The batch in which the seller order was submitted (applies only for auction modes)" + sellerAuctionBatch: Int +} + +"A trade on Vega, the result of two orders being 'matched' in the market" +type TradeUpdate { + "The hash of the trade data" + id: ID! + + "The market the trade occurred on" + marketId: ID! + + "The order that bought" + buyOrder: String! + + "The order that sold" + sellOrder: String! + + "The party that bought" + buyerId: ID! + + "The party that sold" + sellerId: ID! + + "The aggressor indicates whether this trade was related to a BUY or SELL" + aggressor: Side! + + "The price of the trade (probably initially the passive order price, other determination algorithms are possible though) (uint64)" + price: String! + + "The number of units traded, will always be <= the remaining size of both orders immediately before the trade (uint64)" + size: String! + + "RFC3339Nano time for when the trade occurred" + createdAt: Timestamp! + + "The type of trade" + type: TradeType! + + "The fee paid by the buyer side of the trade" + buyerFee: TradeFee! + + "The fee paid by the seller side of the trade" + sellerFee: TradeFee! + + "The batch in which the buyer order was submitted (applies only for auction modes)" + buyerAuctionBatch: Int + + "The batch in which the seller order was submitted (applies only for auction modes)" + sellerAuctionBatch: Int +} + +"The fee paid by the party when a trade occurs" +type TradeFee { + "The maker fee, paid by the aggressive party to the other party (the one who had an order in the book)" + makerFee: String! + + "The infrastructure fee, a fee paid to the validators to maintain the Vega network" + infrastructureFee: String! + + "The fee paid to the liquidity providers that committed liquidity to the market" + liquidityFee: String! +} + +"Valid trade types" +enum TradeType { + "Default trade type" + TYPE_DEFAULT + + "Network close-out - good" + TYPE_NETWORK_CLOSE_OUT_BAD + + "Network close-out - bad" + TYPE_NETWORK_CLOSE_OUT_GOOD +} + +"An account record" +type AccountBalance { + "Balance as string - current account balance (approx. as balances can be updated several times per second)" + balance: String! + "Asset, the 'currency'" + asset: Asset! + "Account type (General, Margin, etc)" + type: AccountType! + "Market (only relevant to margin accounts)" + market: Market + "Owner of the account" + party: Party +} + +"An account record" +type AccountEvent { + "Balance as string - current account balance (approx. as balances can be updated several times per second)" + balance: String! + "Asset, the 'currency'" + asset: Asset! + "Account type (General, Margin, etc)" + type: AccountType! + "Market (only relevant to margin accounts)" + market: Market + "Owner of the account" + party: Party +} + +"An account record" +type AccountDetails { + "Asset, the 'currency'" + assetId: ID! + "Account type (General, Margin, etc)" + type: AccountType! + "Market (only relevant to margin accounts)" + marketId: ID + "Owner of the account" + partyId: ID +} + +"An account record used for subscriptions" +type AccountUpdate { + "Balance as string - current account balance (approx. as balances can be updated several times per second)" + balance: String! + "Asset id, the 'currency'" + assetId: ID! + "Account type (General, Margin, etc)" + type: AccountType! + "Market id (only relevant to margin accounts)" + marketId: ID + "The party owning the account" + partyId: ID! +} + +"All the data related to the approval of a withdrawal from the network" +type Erc20WithdrawalApproval { + "The source asset in the ethereum network" + assetSource: String! + "The amount to be withdrawn" + amount: String! + "The nonce to be used in the request" + nonce: String! + """ + Signature aggregate from the nodes, in the following format: + 0x + sig1 + sig2 + ... + sigN + """ + signatures: String! + "The target address that will receive the funds" + targetAddress: String! + "Timestamp at which the withdrawal was created" + creation: String! +} + +"Response for the signature bundle to add a particular validator to the signer list of the multisig contract" +type ERC20MultiSigSignerAddedConnection { + edges: [ERC20MultiSigSignerAddedBundleEdge] + pageInfo: PageInfo +} + +type ERC20MultiSigSignerAddedBundleEdge { + node: ERC20MultiSigSignerAddedBundle! + cursor: String! +} + +type ERC20MultiSigSignerAddedBundle { + "The ethereum address of the signer to be added" + newSigner: String! + "The ethereum address of the submitter" + submitter: String! + "The nonce used in the signing operation" + nonce: String! + "Unix-nano timestamp for when the validator was added" + timestamp: String! + "The bundle of signatures from current validators to sign in the new signer" + signatures: String! + "The epoch in which the validator was added" + epochSeq: String! +} + +"Response for the signature bundle to remove a particular validator from the signer list of the multisig contract" +type ERC20MultiSigSignerRemovedConnection { + "The list of signer bundles for that validator" + edges: [ERC20MultiSigSignerRemovedBundleEdge] + "The pagination information" + pageInfo: PageInfo +} + +type ERC20MultiSigSignerRemovedBundleEdge { + node: ERC20MultiSigSignerRemovedBundle! + cursor: String! +} + +type ERC20MultiSigSignerRemovedBundle { + "The ethereum address of the signer to be removed" + oldSigner: String! + "The ethereum address of the submitter" + submitter: String! + "The nonce used in the signing operation" + nonce: String! + "Unix-nano timestamp for when the validator was added" + timestamp: String! + "The bundle of signatures from current validators to sign in the new signer" + signatures: String! + "The epoch in which the validator was removed" + epochSeq: String! +} + +"Response for the signature bundle to allowlist an ERC20 token in the collateral bridge" +type Erc20ListAssetBundle { + "The source asset in the ethereum network" + assetSource: String! + "The ID of the vega asset" + vegaAssetId: String! + "The nonce to be used in the request" + nonce: String! + """ + Signature aggregate from the nodes, in the following format: + 0x + sig1 + sig2 + ... + sigN + """ + signatures: String! +} + +"Response for the signature bundle to update the token limits (maxLifetimeDeposit and withdrawThreshold) for a given ERC20 token (already allowlisted) in the collateral bridge" +type ERC20SetAssetLimitsBundle { + "The address of the asset on ethereum" + assetSource: String! + "The ID of the vega asset" + vegaAssetId: String! + "The nonce, which is actually the internal reference for the proposal" + nonce: String! + "The lifetime limit deposit for this asset" + lifetimeLimit: String! + "The threshold withdraw for this asset" + threshold: String! + """ + The signatures bundle as hex encoded data, forward by 0x + e.g: 0x + sig1 + sig2 + ... + sixN + """ + signatures: String! +} + +"The details of a withdrawal processed by Vega" +type Withdrawal { + "The Vega internal ID of the withdrawal" + id: ID! + "The Party initiating the withdrawal" + party: Party! + "The amount to be withdrawn" + amount: String! + "The asset to be withdrawn" + asset: Asset! + "The current status of the withdrawal" + status: WithdrawalStatus! + "A reference the foreign chain can use to refer to when processing the withdrawal" + ref: String! + "RFC3339Nano time at which the withdrawal was created" + createdTimestamp: Timestamp! + "RFC3339Nano time at which the withdrawal was finalised" + withdrawnTimestamp: Timestamp + "Hash of the transaction on the foreign chain" + txHash: String + "Foreign chain specific details about the withdrawal" + details: WithdrawalDetails +} + +union WithdrawalDetails = Erc20WithdrawalDetails + +"Specific details for an erc20 withdrawal" +type Erc20WithdrawalDetails { + "The ethereum address of the receiver of the asset funds" + receiverAddress: String! +} + +"The status of a withdrawal" +enum WithdrawalStatus { + "The withdrawal is open and being processed by the network" + STATUS_OPEN + "The withdrawal have been cancelled by the network, either because it expired, or something went wrong with the foreign chain" + STATUS_REJECTED + "The withdrawal was finalised, it was valid, the foreign chain has executed it and the network updated all accounts" + STATUS_FINALIZED +} + +"The details of a deposit processed by Vega" +type Deposit { + "The Vega internal ID of the deposit" + id: ID! + "The Party initiating the deposit" + party: Party! + "The amount to be withdrawn" + amount: String! + "The asset to be withdrawn" + asset: Asset! + "The current status of the deposit" + status: DepositStatus! + "RFC3339Nano time at which the deposit was created" + createdTimestamp: Timestamp! + "RFC3339Nano time at which the deposit was finalised" + creditedTimestamp: Timestamp + "Hash of the transaction on the foreign chain" + txHash: String +} + +"The status of a deposit" +enum DepositStatus { + "The deposit is open and being processed by the network" + STATUS_OPEN + "The deposit have been cancelled by the network, either because it expired, or something went wrong with the foreign chain" + STATUS_CANCELLED + "The deposit was finalised, it was valid, the foreign chain has executed it and the network updated all accounts" + STATUS_FINALIZED +} + +"Valid order types, these determine what happens when an order is added to the book" +enum OrderTimeInForce { + "Fill or Kill: The order either trades completely (remainingSize == 0 after adding) or not at all, does not remain on the book if it doesn't trade" + TIME_IN_FORCE_FOK + + "Immediate or Cancel: The order trades any amount and as much as possible but does not remain on the book (whether it trades or not)" + TIME_IN_FORCE_IOC + + "Good 'til Cancelled: This order trades any amount and as much as possible and remains on the book until it either trades completely or is cancelled" + TIME_IN_FORCE_GTC + + """ + Good 'til Time: This order type trades any amount and as much as possible and remains on the book until they either trade completely, are cancelled, or expires at a set time + NOTE: this may in future be multiple types or have sub types for orders that provide different ways of specifying expiry + """ + TIME_IN_FORCE_GTT + + "Good for Auction: This order is only accepted during an auction period" + TIME_IN_FORCE_GFA + + "Good for Normal: This order is only accepted during normal trading (continuous trading or frequent batched auctions)" + TIME_IN_FORCE_GFN +} + +"Valid references used for pegged orders." +enum PeggedReference { + "Peg the order against the mid price of the order book" + PEGGED_REFERENCE_MID + "Peg the order against the best bid price of the order book" + PEGGED_REFERENCE_BEST_BID + "Peg the order against the best ask price of the order book" + PEGGED_REFERENCE_BEST_ASK +} + +"Valid order statuses, these determine several states for an order that cannot be expressed with other fields in Order." +enum OrderStatus { + """ + The order is active and not cancelled or expired, it could be unfilled, partially filled or fully filled. + Active does not necessarily mean it's still on the order book. + """ + STATUS_ACTIVE + + "This order trades any amount and as much as possible and remains on the book until it either trades completely or expires." + STATUS_EXPIRED + + "The order is cancelled, the order could be partially filled or unfilled before it was cancelled. It is not possible to cancel an order with 0 remaining." + STATUS_CANCELLED + + "This order was of type IOC or FOK and could not be processed by the matching engine due to lack of liquidity." + STATUS_STOPPED + + "This order is fully filled with remaining equalling zero." + STATUS_FILLED + + "This order was rejected while being processed." + STATUS_REJECTED + + "This order was partially filled." + STATUS_PARTIALLY_FILLED + + "This order has been removed from the order book because the market is in auction, the reference price doesn't exist, or the order needs to be repriced and can't. Applies to pegged orders only" + STATUS_PARKED +} + +"Valid stop order statuses, these determine several states for a stop order that cannot be expressed with other fields in StopOrder." +enum StopOrderStatus { + "Stop order has been submitted to the network but does not have a status yet" + STATUS_UNSPECIFIED + "Stop order is pending. This means the stop order has been accepted in the network, but the trigger conditions have not been met." + STATUS_PENDING + "Stop order has been cancelled. This could be by the trader or by the network." + STATUS_CANCELLED + "Stop order has been stopped. This means the trigger conditions have been met, but the stop order was not executed, and stopped." + STATUS_STOPPED + "Stop order has been triggered. This means the trigger conditions have been met, and the stop order was executed." + STATUS_TRIGGERED + "Stop order has expired. This means the trigger conditions have not been met and the stop order has expired." + STATUS_EXPIRED + "Stop order has been rejected. This means the stop order was not accepted by the network." + STATUS_REJECTED +} + +"Valid stop order expiry strategies. The expiry strategy determines what happens to a stop order when it expires." +enum StopOrderExpiryStrategy { + "The stop order expiry strategy has not been specified by the trader." + EXPIRY_STRATEGY_UNSPECIFIED + "The stop order will be cancelled when it expires." + EXPIRY_STRATEGY_CANCELS + "The stop order will be submitted when the expiry time is reached." + EXPIRY_STRATEGY_SUBMIT +} + +"Valid stop order trigger direction. The trigger direction determines whether the price should rise above or fall below the stop order trigger." +enum StopOrderTriggerDirection { + "The price should rise above the trigger." + TRIGGER_DIRECTION_RISES_ABOVE + "The price should fall below the trigger." + TRIGGER_DIRECTION_FALLS_BELOW +} + +"Why the proposal was rejected by the core node" +enum ProposalRejectionReason { + "The specified close time is too early based on network parameters" + PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON + "The specified close time is too late based on network parameters" + PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE + "The specified enactment time is too early based on network parameters" + PROPOSAL_ERROR_ENACT_TIME_TOO_SOON + "The specified enactment time is too late based on network parameters" + PROPOSAL_ERROR_ENACT_TIME_TOO_LATE + "The proposer for this proposal has insufficient tokens" + PROPOSAL_ERROR_INSUFFICIENT_TOKENS + "The instrument quote name and base name were the same" + PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY + "The proposal has no product specified" + PROPOSAL_ERROR_NO_PRODUCT + "The specified product is not supported" + PROPOSAL_ERROR_UNSUPPORTED_PRODUCT + "The proposal has no trading mode" + PROPOSAL_ERROR_NO_TRADING_MODE + "The proposal has an unsupported trading mode" + PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE + "The proposal failed node validation" + PROPOSAL_ERROR_NODE_VALIDATION_FAILED + "A builtin asset configuration is missing" + PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD + "The ERC20 contract address is missing from an ERC20 asset proposal" + PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS + "The specified asset for the market proposal is invalid" + PROPOSAL_ERROR_INVALID_ASSET + "Proposal terms timestamps are not compatible (Validation < Closing < Enactment)" + PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS + "Risk parameters are missing from the market proposal" + PROPOSAL_ERROR_NO_RISK_PARAMETERS + "Invalid key in update network parameter proposal" + PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY + "Invalid value in update network parameter proposal" + PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE + "Validation failed for network parameter proposal" + PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED + "Opening auction duration is less than the network minimum opening auction time" + PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL + "Opening auction duration is more than the network minimum opening auction time" + PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE + "Market proposal is missing a liquidity commitment" + PROPOSAL_ERROR_MARKET_MISSING_LIQUIDITY_COMMITMENT + "Market could not be created" + PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET + "Market proposal market contained invalid product definition" + PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT + "Market proposal is missing commitment amount" + PROPOSAL_ERROR_MISSING_COMMITMENT_AMOUNT + "Market proposal has invalid fee amount" + PROPOSAL_ERROR_INVALID_FEE_AMOUNT + "Market proposal has one or more invalid liquidity shapes" + PROPOSAL_ERROR_INVALID_SHAPE + "Market proposal uses an invalid risk parameter" + PROPOSAL_ERROR_INVALID_RISK_PARAMETER + "Proposal declined because the majority threshold was not reached" + PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED + "Proposal declined because the participation threshold was not reached" + PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED + "Asset details are invalid" + PROPOSAL_ERROR_INVALID_ASSET_DETAILS + "Too many price monitoring triggers specified in market" + PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS + "Too many decimal places specified in market" + PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES + "The market is invalid" + PROPOSAL_ERROR_INVALID_MARKET + "The proposal is rejected because the party does not have enough equity like share in the market" + PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE + "Unknown proposal type" + PROPOSAL_ERROR_UNKNOWN_TYPE + "Unknown risk parameters" + PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE + "Freeform proposal is invalid" + PROPOSAL_ERROR_INVALID_FREEFORM + "The ERC-20 address specified by this proposal is already in use by another asset" + PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE + "The governance transfer proposal is invalid" + PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID + "The governance transfer proposal has failed" + PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED + "The proposal for cancellation of an active governance transfer has failed" + PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID + "Validation of spot market proposal failed" + PROPOSAL_ERROR_INVALID_SPOT + "Spot trading is disabled" + PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED + "Validation of successor market has failed" + PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET + "Validation of market state update has failed" + PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE + "Validation of liquidity provision SLA parameters has failed" + PROPOSAL_ERROR_MISSING_SLA_PARAMS + "Mandatory liquidity provision SLA parameters are missing from the proposal" + PROPOSAL_ERROR_INVALID_SLA_PARAMS +} + +"Why the order was rejected by the core node" +enum OrderRejectionReason { + "Market ID is invalid" + ORDER_ERROR_INVALID_MARKET_ID + + "Order ID is invalid" + ORDER_ERROR_INVALID_ORDER_ID + + "Order is out of sequence" + ORDER_ERROR_OUT_OF_SEQUENCE + + "Remaining size in the order is invalid" + ORDER_ERROR_INVALID_REMAINING_SIZE + + "Time has failed us" + ORDER_ERROR_TIME_FAILURE + + "Unable to remove the order" + ORDER_ERROR_REMOVAL_FAILURE + + "Expiration time is invalid" + ORDER_ERROR_INVALID_EXPIRATION_DATETIME + + "Order reference is invalid" + ORDER_ERROR_INVALID_ORDER_REFERENCE + + "Edit is not allowed" + ORDER_ERROR_EDIT_NOT_ALLOWED + + "Amending the order failed" + ORDER_ERROR_AMEND_FAILURE + + "Order does not exist" + ORDER_ERROR_NOT_FOUND + + "Party ID is invalid" + ORDER_ERROR_INVALID_PARTY_ID + + "Market is closed" + ORDER_ERROR_MARKET_CLOSED + + "Margin check failed - not enough available margin" + ORDER_ERROR_MARGIN_CHECK_FAILED + + "Order missing general account" + ORDER_ERROR_MISSING_GENERAL_ACCOUNT + + "An internal error happened" + ORDER_ERROR_INTERNAL_ERROR + + "Invalid size" + ORDER_ERROR_INVALID_SIZE + + "Invalid persistence" + ORDER_ERROR_INVALID_PERSISTENCE + + "Invalid type" + ORDER_ERROR_INVALID_TYPE + + "Order cannot be filled because it would require self trading" + ORDER_ERROR_SELF_TRADING + + "Insufficient funds to pay fees" + ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES + + "Invalid Time In Force" + ORDER_ERROR_INVALID_TIME_IN_FORCE + + "Attempt to amend order to Good til Time without expiry time" + ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT + + "Attempt to amend expiry time to a value before time order was created" + ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT + + "Attempt to amend to Good till Cancelled without an expiry time" + ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT + + "Amending to Fill or Kill, or Immediate or Cancel is invalid" + ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC + + "Amending to Good for Auction or Good for Normal is invalid" + ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN + + "Amending from Good for Auction or Good for Normal is invalid" + ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN + + "Good for Normal order received during an auction" + ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION + + "Good for Auction order received during continuous trading" + ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING + + "Cannot send IOC orders during an auction" + ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION + + "Cannot send FOK orders during an auction" + ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION + + "Pegged orders must be limit orders" + ORDER_ERROR_MUST_BE_LIMIT_ORDER + + "Pegged orders can only have a time in force of Good til Cancelled or Good til Time" + ORDER_ERROR_MUST_BE_GTT_OR_GTC + + "Pegged order must have a reference price" + ORDER_ERROR_WITHOUT_REFERENCE_PRICE + + "Buy pegged order cannot reference best ask price" + ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE + + "Pegged order offset must be >= 0" + ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO + + "Sell pegged order cannot reference best bid price" + ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE + + "Pegged order offset must be > zero" + ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO + + "Insufficient balance to submit the order (no deposit made)" + ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE + + "Cannot change pegged order fields on a non pegged order" + ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER + + "Unable to reprice a pegged order" + ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER + + "Unable to amend pegged order price" + ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER + + "Non-persistent order exceeds price bounds" + ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS + + "Order was submitted with an incorrect or invalid market type" + ORDER_ERROR_INCORRECT_MARKET_TYPE + + "Unable to submit pegged order, temporarily too many pegged orders across all markets" + ORDER_ERROR_TOO_MANY_PEGGED_ORDERS + + "A reduce-ony order would not reduce the party's position and thus it has been rejected" + ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE + + "A post-only order would produce an aggressive trade and thus it has been rejected" + ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE +} + +"Types of orders" +enum OrderType { + "An order to buy or sell at the market's current best available price" + TYPE_MARKET + + "Order that uses a pre-specified price to buy or sell" + TYPE_LIMIT + + """ + Used for distressed parties, an order placed by the network to close out distressed parties + similar to market order, only no party is attached to the order. + """ + TYPE_NETWORK +} + +"The current state of a market" +enum MarketState { + "The governance proposal valid and accepted" + STATE_PROPOSED + "Outcome of governance votes is to reject the market" + STATE_REJECTED + "Governance vote passes/wins" + STATE_PENDING + """ + Market triggers cancellation condition or governance + votes to close before market becomes Active + """ + STATE_CANCELLED + "Enactment date reached and usual auction exit checks pass" + STATE_ACTIVE + "Price monitoring or liquidity monitoring trigger" + STATE_SUSPENDED + "Market suspended via governance" + STATE_SUSPENDED_VIA_GOVERNANCE + "Governance vote (to close)" + STATE_CLOSED + """ + Defined by the product (i.e. from a product parameter, + specified in market definition, giving close date/time) + """ + STATE_TRADING_TERMINATED + "Settlement triggered and completed as defined by product" + STATE_SETTLED +} + +"What market trading mode is the market in" +enum MarketTradingMode { + "Continuous trading where orders are processed and potentially matched on arrival" + TRADING_MODE_CONTINUOUS + + "Auction trading where orders are uncrossed at the end of the opening auction period" + TRADING_MODE_OPENING_AUCTION + + "Auction as normal trading mode for the market, where orders are uncrossed periodically" + TRADING_MODE_BATCH_AUCTION + + "Auction triggered by price/liquidity monitoring" + TRADING_MODE_MONITORING_AUCTION + + "No trading allowed" + TRADING_MODE_NO_TRADING + + "Special auction mode triggered via governance market suspension" + TRADING_MODE_SUSPENDED_VIA_GOVERNANCE +} + +"Whether the placer of an order is aiming to buy or sell on the market" +enum Side { + "Unspecified is only used for trades at the end of an auction, where neither party acts as the aggressor." + SIDE_UNSPECIFIED + "The placer of the order is aiming to buy" + SIDE_BUY + + "The placer of the order is aiming to sell" + SIDE_SELL +} + +"The interval for trade candles when subscribing via Vega GraphQL, default is I15M" +enum Interval { + "The block interval is not a fixed amount of time, rather it used to indicate grouping of events that occur in a single block. It is usually about a second." + INTERVAL_BLOCK + + "1 minute interval" + INTERVAL_I1M + + "5 minute interval" + INTERVAL_I5M + + "15 minute interval (default)" + INTERVAL_I15M + + "1 hour interval" + INTERVAL_I1H + + "6 hour interval" + INTERVAL_I6H + + "1 day interval" + INTERVAL_I1D +} + +"The various account types in Vega (used by collateral)" +enum AccountType { + "Insurance pool account - only for 'system' party" + ACCOUNT_TYPE_INSURANCE + "Global insurance pool account for an asset" + ACCOUNT_TYPE_GLOBAL_INSURANCE + "Settlement - only for 'system' party" + ACCOUNT_TYPE_SETTLEMENT + """ + Margin - The leverage account for parties, contains funds set aside for the margin needed to support + a party's open positions. Each party will have a margin account for each market they have traded in. + The required initial margin is allocated to each market from the general account, and it cannot be withdrawn + or used as margin on another market until it's released back into the general account. + The protocol uses an internal accounting system to segregate funds held as margin from other funds + to ensure they are never lost or 'double spent' + """ + ACCOUNT_TYPE_MARGIN + "General account - the account containing 'unused' collateral for parties" + ACCOUNT_TYPE_GENERAL + "Infrastructure fee account - the account where all infrastructure fees are collected" + ACCOUNT_TYPE_FEES_INFRASTRUCTURE + "Liquidity fee account - the account contains fees earned by providing liquidity" + ACCOUNT_TYPE_FEES_LIQUIDITY + "Market maker fee account - holds fees paid to the passive side when a trade matches" + ACCOUNT_TYPE_FEES_MAKER + "Bond - an account use to maintain liquidity commitments" + ACCOUNT_TYPE_BOND + "External - an account use to refer to external account" + ACCOUNT_TYPE_EXTERNAL + "GlobalReward - a global account for the reward pool" + ACCOUNT_TYPE_GLOBAL_REWARD + "PendingTransfers - a global account for the pending transfers pool" + ACCOUNT_TYPE_PENDING_TRANSFERS + "RewardMakerPaidFees - an account holding rewards for maker paid fees" + ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES + "RewardMakerReceivedFees - an account holding rewards for maker received fees" + ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES + "RewardLpReceivedFees - an account holding rewards for a liquidity provider's received fees" + ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES + "RewardMarketProposers - an account holding rewards for market proposers" + ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS + "AccountTypeHolding - an account for holding funds covering for active unfilled orders" + ACCOUNT_TYPE_HOLDING + "Per liquidity provider, per market account for holding LPs' fees before distribution" + ACCOUNT_TYPE_LP_LIQUIDITY_FEES + "Network treasury, per-asset treasury controlled by the network" + ACCOUNT_TYPE_NETWORK_TREASURY +} + +"Types that describe why a transfer has been made" +enum TransferType { + "Default value, always invalid" + TRANSFER_TYPE_UNSPECIFIED + "Funds deducted after final settlement loss" + TRANSFER_TYPE_LOSS + "Funds added to general account after final settlement gain" + TRANSFER_TYPE_WIN + "Funds deducted from margin account after mark to market loss" + TRANSFER_TYPE_MTM_LOSS + "Funds added to margin account after mark to market gain" + TRANSFER_TYPE_MTM_WIN + "Funds transferred from general account to meet margin requirement" + TRANSFER_TYPE_MARGIN_LOW + "Excess margin amount returned to general account" + TRANSFER_TYPE_MARGIN_HIGH + "Margin confiscated from margin account to fulfil closeout" + TRANSFER_TYPE_MARGIN_CONFISCATED + "Maker fee paid from general account" + TRANSFER_TYPE_MAKER_FEE_PAY + "Maker fee received into general account" + TRANSFER_TYPE_MAKER_FEE_RECEIVE + "Infrastructure fee paid from general account" + TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY + "Infrastructure fee received into general account" + TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE + "Liquidity fee paid from general account" + TRANSFER_TYPE_LIQUIDITY_FEE_PAY + "Liquidity fee received into general account" + TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE + "Bond account funded from general account to meet required bond amount" + TRANSFER_TYPE_BOND_LOW + "Bond returned to general account after liquidity commitment was reduced" + TRANSFER_TYPE_BOND_HIGH + "Funds withdrawn from general account" + TRANSFER_TYPE_WITHDRAW + "Funds deposited to general account" + TRANSFER_TYPE_DEPOSIT + "Bond account penalised when liquidity commitment not met" + TRANSFER_TYPE_BOND_SLASHING + "Reward payout received" + TRANSFER_TYPE_REWARD_PAYOUT + "A network internal instruction for the collateral engine to move funds from a user's general account into the pending transfers pool" + TRANSFER_TYPE_TRANSFER_FUNDS_SEND + "A network internal instruction for the collateral engine to move funds from the pending transfers pool account into the destination account" + TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE + "Market-related accounts emptied because market has closed" + TRANSFER_TYPE_CLEAR_ACCOUNT + "Balances are being restored to the user's account following a checkpoint restart of the network" + TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE + "Spot trade delivery" + TRANSFER_TYPE_SPOT + "An internal instruction to transfer a quantity corresponding to an active spot order from a general account into a party holding account" + TRANSFER_TYPE_HOLDING_LOCK + "An internal instruction to transfer an excess quantity corresponding to an active spot order from a holding account into a party general account" + TRANSFER_TYPE_HOLDING_RELEASE +} + +type FutureProduct { + "Product asset" + settlementAsset: Asset! + "String representing the quote (e.g. BTCUSD -> USD is quote)" + quoteName: String! + """ + Describes the data source data that an instrument wants to get from the data source engine for settlement data. + """ + dataSourceSpecForSettlementData: DataSourceDefinition! + """ + Describes the source data that an instrument wants to get from the data source engine for trading termination. + """ + dataSourceSpecForTradingTermination: DataSourceDefinition! + """ + DataSourceSpecToFutureBinding tells on which property source data should be + used as settlement data. + """ + dataSourceSpecBinding: DataSourceSpecToFutureBinding! +} + +""" +DataSourceSpecConfiguration describes the source data that an instrument wants to get from the +sourcing engine. +""" +type DataSourceSpecConfiguration { + """ + Signers is the list of authorized signatures that signed the data for this + data source. All the public keys in the data should be contained in this + list. + """ + signers: [Signer!] + + """ + Filters describes which source data are considered of interest or not for + the product (or the risk model). + """ + filters: [Filter!] +} + +""" +EthCallTrigger is the type of trigger used to make calls to Ethereum network. +""" +type EthCallTrigger { + trigger: TriggerKind! +} + +union TriggerKind = EthTimeTrigger + +type EthTimeTrigger { + Initial: Timestamp + Every: Timestamp + Until: Timestamp +} + +type EthCallSpec { + Address: String! + Abi: [String!] + Method: String! + Args: [String!] + Trigger: EthCallTrigger! + RequiredConfirmations: Int! + Filters: [Filter!] +} + +type InstrumentConfiguration { + "Full and fairly descriptive name for the instrument" + name: String! + "A short non necessarily unique code used to easily describe the instrument (e.g: FX:BTCUSD/DEC18)" + code: String! + "Future product specification" + futureProduct: FutureProduct +} + +type NewMarket { + "New market instrument configuration" + instrument: InstrumentConfiguration! + "Decimal places used for the new market, sets the smallest price increment on the book" + decimalPlaces: Int! + "New market risk configuration" + riskParameters: RiskModel! + "Metadata for this instrument, tags" + metadata: [String!] + "Price monitoring parameters" + priceMonitoringParameters: PriceMonitoringParameters! + "Liquidity monitoring parameters" + liquidityMonitoringParameters: LiquidityMonitoringParameters! + "Decimal places for order sizes, sets what size the smallest order / position on the market can be" + positionDecimalPlaces: Int! + "Liquidity Provision order price range" + lpPriceRange: String! + "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume" + linearSlippageFactor: String! + "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume" + quadraticSlippageFactor: String! + "Successor market configuration. If this proposed market is meant to succeed a given market, then this needs to be set." + successorConfiguration: SuccessorConfiguration +} + +type SuccessorConfiguration { + "ID of the market this proposal will succeed" + parentMarketId: String! + "Decimal value between 0 and 1, specifying the fraction of the insurance pool balance is carried over from the parent market to the successor." + insurancePoolFraction: String! +} + +""" +Incomplete change definition for governance proposal terms +TODO: complete the type +""" +type UpdateMarket { + marketId: ID! + updateMarketConfiguration: UpdateMarketConfiguration! +} + +type UpdateMarketConfiguration { + instrument: UpdateInstrumentConfiguration! + metadata: [String] + priceMonitoringParameters: PriceMonitoringParameters! + liquidityMonitoringParameters: LiquidityMonitoringParameters! + riskParameters: UpdateMarketRiskParameters! +} + +type UpdateInstrumentConfiguration { + code: String! + product: UpdateFutureProduct! +} + +type UpdateFutureProduct { + quoteName: String! + dataSourceSpecForSettlementData: DataSourceDefinition! + dataSourceSpecForTradingTermination: DataSourceDefinition! + dataSourceSpecBinding: DataSourceSpecToFutureBinding! +} + +union UpdateMarketRiskParameters = + UpdateMarketSimpleRiskModel + | UpdateMarketLogNormalRiskModel + +type UpdateMarketSimpleRiskModel { + simple: SimpleRiskModelParams +} + +type UpdateMarketLogNormalRiskModel { + logNormal: LogNormalRiskModel +} + +"A new asset proposal change" +type NewAsset { + "The full name of the asset (e.g: Great British Pound)" + name: String! + + "The symbol of the asset (e.g: GBP)" + symbol: String! + + "The precision of the asset" + decimals: Int! + + "The minimum economically meaningful amount of this specific asset" + quantum: String! + + "The source of the new asset" + source: AssetSource! +} + +"A proposal to update an asset's details" +type UpdateAsset { + "The minimum economically meaningful amount of this specific asset" + quantum: String! + + "The source of the updated asset" + source: UpdateAssetSource! + + "The asset to update" + assetId: ID! +} + +""" +A new freeform proposal change. It has no properties on purpose. Use proposal +rationale, instead. +""" +type NewFreeform { + "A placeholder to please graphQL" + _doNotUse: Boolean +} + +enum GovernanceTransferType { + "Default value, always invalid" + GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED + "Transfers the specified amount or does not transfer anything" + GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING + "Transfers the specified amount or the max allowable amount if this is less than the specified amount" + GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT +} + +type NewTransfer { + "The source account" + source: String! + "The type of source account" + sourceType: AccountType! + "The destination account" + destination: String! + "The type of destination account" + destinationType: AccountType! + "The asset to transfer" + asset: Asset! + "The fraction of the balance to be transferred" + fraction_of_balance: String! + "The maximum amount to be transferred" + amount: String! + "The type of the governance transfer" + transferType: GovernanceTransferType! + "The type of governance transfer being made, i.e. a one-off or recurring transfer" + kind: GovernanceTransferKind! +} + +union GovernanceTransferKind = + OneOffGovernanceTransfer + | RecurringGovernanceTransfer + +"Allows for cancellation of an existing governance transfer" +type CancelTransfer { + "The governance transfer to cancel" + transferId: ID! +} + +"Allows submitting a proposal for changing network parameters" +type UpdateNetworkParameter { + networkParameter: NetworkParameter! +} + +enum MarketUpdateType { + "Default value, always invalid" + MARKET_STATE_UPDATE_TYPE_UNSPECIFIED + "Terminate the market" + MARKET_STATE_UPDATE_TYPE_TERMINATE + "Suspend the market" + MARKET_STATE_UPDATE_TYPE_SUSPEND + "Resume a suspended market" + MARKET_STATE_UPDATE_TYPE_RESUME +} + +type UpdateMarketState { + "The market for which to update the state" + market: Market! + "The type of update" + updateType: MarketUpdateType! + "Optional settlement price for terminating and settling futures market. Must be empty for other types of updates and other types of markets" + price: String +} + +"Representation of a network parameter" +type NetworkParameter { + "The name of the network parameter" + key: String! + "The value of the network parameter" + value: String! +} + +union ProposalChange = + NewMarket + | UpdateMarket + | UpdateNetworkParameter + | NewAsset + | UpdateAsset + | NewFreeform + | NewTransfer + | CancelTransfer + | UpdateMarketState +# there are no unions for input types as of today, see: https://github.com/graphql/graphql-spec/issues/488 + +type ProposalRationale { + """ + Description to show a short title / something in case the link goes offline. + This is to be between 0 and 20k unicode characters. + This is mandatory for all proposals. + """ + description: String! + """ + Title to be used to give a short description of the proposal in lists. + This is to be between 0 and 100 unicode characters. + This is mandatory for all proposals. + """ + title: String! +} + +"The rationale behind the proposal" +type ProposalTerms { + """ + RFC3339Nano time and date when voting closes for this proposal. + Constrained by "minClose" and "maxClose" network parameters. + """ + closingDatetime: Timestamp! + """ + RFC3339Nano time and date when this proposal is executed (if passed). Note that it has to be after closing date time. + Constrained by "minEnactInSeconds" and "maxEnactInSeconds" network parameters. + Note: Optional as free form proposals do not require it. + """ + enactmentDatetime: Timestamp + + "RFC3339Nano time and when node validation of the proposal stops, accepted only with new asset proposals" + validationDatetime: Timestamp + + "Actual change being introduced by the proposal - action the proposal triggers if passed and enacted." + change: ProposalChange! +} + +""" +Various proposal types that are supported by Vega +""" +enum ProposalType { + "Propose a new market" + TYPE_NEW_MARKET + "Update an existing market" + TYPE_UPDATE_MARKET + "Proposal to change Vega network parameters" + TYPE_NETWORK_PARAMETERS + "Proposal to add a new asset" + TYPE_NEW_ASSET + "Proposal to create a new freeform proposal" + TYPE_NEW_FREE_FORM + "Proposal to update an existing asset" + TYPE_UPDATE_ASSET +} + +""" +Various states a proposal can transition through: +Open -> +- Passed -> Enacted. +- Rejected. +Proposal can enter Failed state from any other state. +""" +enum ProposalState { + "Proposal became invalid and cannot be processed" + STATE_FAILED + "Proposal is open for voting" + STATE_OPEN + "Proposal has gained enough support to be executed" + STATE_PASSED + "Proposal didn't get enough votes" + STATE_DECLINED + "Proposal could not gain enough support to be executed" + STATE_REJECTED + "Proposal has been executed and the changes under this proposal have now been applied" + STATE_ENACTED + "Proposal is waiting for the node to run validation" + STATE_WAITING_FOR_NODE_VOTE +} + +type Proposal { + "Proposal ID that is filled by Vega once proposal reaches the network" + id: ID + "A UUID reference to aid tracking proposals on Vega" + reference: String! + "Party that prepared the proposal" + party: Party! + "State of the proposal" + state: ProposalState! + "RFC3339Nano time and date when the proposal reached Vega network" + datetime: Timestamp! + "Rationale behind the proposal" + rationale: ProposalRationale! + "Terms of the proposal" + terms: ProposalTerms! + "Votes cast for this proposal" + votes: ProposalVotes! + "Why the proposal was rejected by the core" + rejectionReason: ProposalRejectionReason + "Error details of the rejectionReason" + errorDetails: String + "Required majority for this proposal to succeed" + requiredMajority: String! + "Required participation for this proposal to succeed" + requiredParticipation: String! + "Equity-like share required for a market amendment proposal to be enacted (if not met, the proposal will not be enacted), represented as a fraction that can be converted to a percentage" + requiredLpMajority: String + "The market share of LPs' equity-like share that must take part in the market amendment vote for the proposal to pass. This means the votes of LPs that have submitted more liquidity to that market, or have been LPs from the start carry more weight. If it requires 50% of a market's equity-like share for a majority, and the proposal receives only YES votes but only LPs with 49% of the equity-like share voted, the proposal will not pass" + requiredLpParticipation: String +} + +type ProposalDetail { + "Proposal ID that is provided by Vega once proposal reaches the network" + id: ID + "A UUID reference to aid tracking proposals on Vega" + reference: String! + "Party that prepared the proposal" + party: Party! + "State of the proposal" + state: ProposalState! + "RFC3339Nano time and date when the proposal reached the Vega network" + datetime: Timestamp! + "Terms of the proposal" + terms: ProposalTerms! + "Rationale behind the proposal" + rationale: ProposalRationale! + "Why the proposal was rejected by the core" + rejectionReason: ProposalRejectionReason + "Error details of the rejectionReason" + errorDetails: String + "Required majority for this proposal to succeed" + requiredMajority: String! + "Required participation for this proposal to succeed" + requiredParticipation: String! + "Equity-like share required for a market amendment proposal to be enacted (if not met, the proposal will not be enacted), represented as a fraction that can be converted to a percentage" + requiredLpMajority: String + "The market share of LPs' equity-like share that must take part in the market amendment vote for the proposal to pass. This means the votes of LPs that have submitted more liquidity to that market, or have been LPs from the start carry more weight. If it requires 50% of a market's equity-like share for a majority, and the proposal receives only YES votes but only LPs with 49% of the equity-like share voted, the proposal will not pass" + requiredLpParticipation: String +} + +type ProposalVotes { + "Yes votes cast for this proposal" + yes: ProposalVoteSide! + "No votes cast for this proposal" + no: ProposalVoteSide! +} + +type ProposalVoteSide { + "All votes cast for this side" + votes: [Vote!] + "Total number of votes cast for this side" + totalNumber: String! + "Total weight of governance token from the votes cast for this side" + totalWeight: String! + "Total number of governance tokens from the votes cast for this side" + totalTokens: String! + "Total equity like share weight for this side (only for UpdateMarket Proposals)" + totalEquityLikeShareWeight: String! +} + +"Whether a governance vote is yes or no" +enum VoteValue { + "No votes against a proposal" + VALUE_NO + "Yes votes for a proposal" + VALUE_YES +} + +type Vote { + "The vote value cast" + value: VoteValue! + + "The party casting the vote" + party: Party! + + "RFC3339Nano time and date when the vote reached Vega network" + datetime: Timestamp! + + "The ID of the proposal this vote applies to" + proposalId: ID! + + "Total number of governance tokens for the party that cast the vote" + governanceTokenBalance: String! + + "The weight of this vote based on the total of governance token" + governanceTokenWeight: String! + + "The weight of this vote based on the total equity like share" + equityLikeShareWeight: String! +} + +type ProposalVote { + "Cast vote" + vote: Vote! + "Proposal ID the vote is cast on" + proposalId: ID! +} + +type TimeUpdate { + "RFC3339Nano time of new block time" + timestamp: Timestamp! +} + +type MarketEvent { + "The market ID" + marketId: ID! + "The message - market events are used for logging" + payload: String! +} + +type TransferBalance { + "Account involved in transfer" + account: AccountDetails! + "The new balance of the account" + balance: String! +} + +type LedgerEntry { + "Account from which the asset was taken" + fromAccountId: AccountDetails! + "Account to which the balance was transferred" + toAccountId: AccountDetails! + "The amount transferred" + amount: String! + "Type of ledger entry" + type: TransferType! + "RFC3339Nano time at which the transfer was made" + timestamp: Timestamp! + "Sender account balance after the transfer" + fromAccountBalance: String! + "Receiver account balance after the transfer" + toAccountBalance: String! +} + +type TransferResponse { + "The ledger entries and balances resulting from a transfer request" + transfers: [LedgerEntry!] + "The balances of accounts involved in the transfer" + balances: [TransferBalance!] +} + +type TransferResponses { + "A group of transfer responses - events from core" + responses: [TransferResponse!] +} + +type PositionResolution { + "The market ID where position resolution happened" + marketId: ID! + "Number of distressed parties on market" + distressed: Int! + "Number of parties closed out" + closed: Int! + "The mark price at which parties were distressed/closed out" + markPrice: String! +} + +type LossSocialization { + "The market ID where loss socialization happened" + marketId: ID! + "The party that was part of the loss socialization" + partyId: ID! + "The amount lost" + amount: String! +} + +type TradeSettlement { + "The size of the trade" + size: Int! + "The price of the trade" + price: String! +} + +type SettlePosition { + "The market in which a position was settled" + marketId: ID! + "The party who settled a position" + partyId: ID! + "The settle price" + price: String! + "The trades that were settled to close the overall position" + tradeSettlements: [TradeSettlement!] +} + +type SettleDistressed { + "The market in which a position was closed out" + marketId: ID! + "The party that was closed out" + partyId: ID! + "The margin taken from distressed party" + margin: String! + "The price at which the position was closed out" + price: String! +} + +type MarketTick { + "The market ID" + marketId: ID! + "The block time" + time: String! +} + +type AuctionEvent { + "The ID of the market that went into auction" + marketId: ID! + "Event fired because of auction end" + leave: Boolean! + "Event related to opening auction" + openingAuction: Boolean! + "RFC3339Nano start time of auction" + auctionStart: Timestamp! + "RFC3339Nano optional end time of auction" + auctionEnd: Timestamp! + "What triggered the auction" + trigger: AuctionTrigger! + "What, if anything, extended the ongoing auction" + extensionTrigger: AuctionTrigger +} + +"Describes the trigger for an auction" +enum AuctionTrigger { + "Invalid trigger (or no auction)" + AUCTION_TRIGGER_UNSPECIFIED + "Auction because market has a frequent batch auction trading mode" + AUCTION_TRIGGER_BATCH + "Opening auction" + AUCTION_TRIGGER_OPENING + "Price monitoring" + AUCTION_TRIGGER_PRICE + "Liquidity monitoring due to unmet target stake" + AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET + "Liquidity monitoring due to not being able to deploy LP orders because there's nothing to peg on one or both sides of the book" + AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS + "Auction triggered by governance market suspension" + AUCTION_TRIGGER_GOVERNANCE_SUSPENSION +} + +"Event types" +enum BusEventType { + "Vega Time has changed" + TimeUpdate + "Collateral has deposited in to this Vega network via the bridge" + Deposit + "Collateral has been withdrawn from this Vega network via the bridge" + Withdrawal + "The results from processing at transaction" + TransactionResult +} + +"Union type for wrapped events in stream PROPOSAL is mapped to governance data, something to keep in mind" +union Event = TimeUpdate | Deposit | Withdrawal | TransactionResult + +type BusEvent { + "The ID for this event" + id: ID! + "The block hash" + block: String! + "The type of event" + type: BusEventType! + "The payload - the wrapped event" + event: Event! +} + +"A risk factor emitted by the risk model for a given market" +type RiskFactor { + "Market the risk factor was emitted for" + market: String! + "Short factor" + short: String! + "Long factor" + long: String! +} + +"A special order type for liquidity providers" +type LiquidityOrder { + "The value to which this order is tied" + reference: PeggedReference! + "The proportion of the commitment allocated to this order" + proportion: Int! + "Offset from the pegged reference" + offset: String! +} + +"Status of a liquidity provision order" +enum LiquidityProvisionStatus { + "An active liquidity provision" + STATUS_ACTIVE + "A liquidity provision stopped by the network" + STATUS_STOPPED + "A cancelled liquidity provision" + STATUS_CANCELLED + "Liquidity provision was invalid and got rejected" + STATUS_REJECTED + "The liquidity provision is valid and accepted by the network, but orders aren't deployed" + STATUS_UNDEPLOYED + """ + The liquidity provision is valid and accepted by the network, but orders aren't deployed and + have never been deployed. If when it's possible to deploy them for the first time the + margin check fails, then they will be cancelled without any penalties. + """ + STATUS_PENDING +} + +type LiquidityOrderReference { + "The pegged order generated to fulfill this commitment" + order: Order + "The liquidity order" + liquidityOrder: LiquidityOrder! +} + +"The command to be sent to the chain for a liquidity provision submission" +type LiquidityProvision { + "Unique identifier for the order (set by the system after consensus)" + id: ID! + "The party making this commitment" + party: Party! + "When the liquidity provision was initially created (formatted RFC3339)" + createdAt: Timestamp! + "RFC3339Nano time of when the liquidity provision was updated" + updatedAt: Timestamp + "Market for the order" + market: Market! + "Specified as a unit-less number that represents the amount of settlement asset of the market." + commitmentAmount: String! + "Nominated liquidity fee factor, which is an input to the calculation of liquidity fees on the market, as per setting fees and rewarding liquidity providers." + fee: String! + "A set of liquidity sell orders to meet the liquidity provision obligation." + sells: [LiquidityOrderReference!]! + "A set of liquidity buy orders to meet the liquidity provision obligation." + buys: [LiquidityOrderReference!]! + "The version of this liquidity provision" + version: String! + "The current status of this liquidity provision" + status: LiquidityProvisionStatus! + "A reference for the orders created out of this liquidity provision" + reference: String +} + +"The command to be sent to the chain for a liquidity provision submission" +type LiquidityProvisionUpdate { + "Unique identifier for the order (set by the system after consensus)" + id: ID! + "The party making this commitment" + partyID: ID! + "When the liquidity provision was initially created (formatted RFC3339)" + createdAt: Timestamp! + "RFC3339Nano time of when the liquidity provision was updated" + updatedAt: Timestamp + "Market for the order" + marketID: ID! + "Specified as a unit-less number that represents the amount of settlement asset of the market." + commitmentAmount: String! + "Nominated liquidity fee factor, which is an input to the calculation of liquidity fees on the market, as per setting fees and rewarding liquidity providers." + fee: String! + "A set of liquidity sell orders to meet the liquidity provision obligation." + sells: [LiquidityOrderReference!]! + "A set of liquidity buy orders to meet the liquidity provision obligation." + buys: [LiquidityOrderReference!]! + "The version of this liquidity provision" + version: String! + "The current status of this liquidity provision" + status: LiquidityProvisionStatus! + "A reference for the orders created out of this liquidity provision" + reference: String +} + +"Reward information for a single party" +type Reward { + "The asset this reward is paid in" + asset: Asset! + "The market ID for which this reward is paid if any" + marketId: ID! + "The type of reward" + rewardType: AccountType! + "Party receiving the reward" + party: Party! + "Epoch for which this reward was distributed" + epoch: Epoch! + "Amount received for this reward" + amount: String! + "Percentage out of the total distributed reward" + percentageOfTotal: String! + "Time at which the rewards was received" + receivedAt: Timestamp! +} + +type RewardSummary { + "The asset for which these rewards are associated" + asset: Asset! + "Total quantity of rewards awarded in this asset" + amount: String! + + "List of individual reward payouts, ordered by epoch" + rewardsConnection( + "An optional asset ID" + assetId: ID + "Cursor pagination information" + pagination: Pagination + ): RewardsConnection +} + +"RFC3339Nano value for time" +scalar Timestamp + +type AggregatedLedgerEntry { + "RFC3339Nano time from at which this ledger entries records were relevant" + vegaTime: Timestamp! + "Net amount of ledger entries for the accounts specified in the filter at this time" + quantity: String! + "Asset identifier, if query was grouped by asset - else null" + assetId: ID + "Type of the transfer for this ledger entry" + transferType: TransferType + "Party identifier, if query was grouped by sender party - else null" + fromAccountPartyId: ID + "Party identifier, if query was grouped by receiver party - else null" + toAccountPartyId: ID + "Market identifier, if query was grouped by sender market - else null" + fromAccountMarketId: ID + "Market identifier, if query was grouped by receiver market - else null" + toAccountMarketId: ID + "Account type, if query was grouped by sender account type - else null" + fromAccountType: AccountType + "Account type, if query was grouped by receiver account type - else null" + toAccountType: AccountType + "Sender account balance after the transfer" + fromAccountBalance: String! + "Receiver account balance after the transfer" + toAccountBalance: String! +} + +type AggregatedLedgerEntriesEdge { + node: AggregatedLedgerEntry! + cursor: String! +} + +type AggregatedLedgerEntriesConnection { + edges: [AggregatedLedgerEntriesEdge]! + pageInfo: PageInfo! +} + +"Type of transfer between accounts" +enum LedgerEntryField { + TransferType +} + +type AggregatedBalance { + "RFC3339Nano time from at which this balance was relevant" + timestamp: Timestamp! + "Net balance of the accounts specified in the filter at this time" + balance: String! + "Account identifier, if query was grouped by account - else null" + partyId: ID + "Asset identifier, if query was grouped by asset - else null" + assetId: ID + "Market identifier, if query was grouped by market - else null" + marketId: ID + "Account type, if query was grouped by account type - else null" + accountType: AccountType +} + +type AggregatedBalanceEdge { + "The aggregated balance" + node: AggregatedBalance! + cursor: String! +} + +type AggregatedBalanceConnection { + edges: [AggregatedBalanceEdge]! + pageInfo: PageInfo! +} + +"Information about whether proposals are enabled, if the markets are still bootstrapping, etc.." +type NetworkLimits { + "Are market proposals allowed at this point in time" + canProposeMarket: Boolean! + "Are asset proposals allowed at this point in time" + canProposeAsset: Boolean! + "Are market proposals enabled on this chain" + proposeMarketEnabled: Boolean! + "Are asset proposals enabled on this chain" + proposeAssetEnabled: Boolean! + "True once the genesis file is loaded" + genesisLoaded: Boolean! + "The date/timestamp in unix nanoseconds at which market proposals will be enabled (0 indicates not set)" + proposeMarketEnabledFrom: Timestamp! + "The date/timestamp in unix nanoseconds at which asset proposals will be enabled (0 indicates not set)" + proposeAssetEnabledFrom: Timestamp! +} + +"A segment of data node history" +type HistorySegment { + "From block height of the history segment" + fromHeight: Int! + "To block height of the history segment" + toHeight: Int! + "ID of the history segment" + historySegmentId: String! +} + +""" +Pagination constructs to support cursor based pagination in the API +""" +input Pagination { + "The number of items to fetch in the next page traversing forward through the connection" + first: Int + "The cursor to start fetching items after. If empty, data will be fetched from the beginning of the connection" + after: String + "The number of items to fetch in the next page traversing backward through the connection" + last: Int + "The cursor to start fetching items before. If empty data will be fetched from the end of the connection" + before: String +} + +"Paging information returned with each page of a connection" +type PageInfo { + "The connection has more pages to fetch when traversing forward through the connection" + hasNextPage: Boolean! + "The connection has more pages to fetch when traversing backward through the connection" + hasPreviousPage: Boolean! + "The first cursor in the current page" + startCursor: String! + "The last cursor in the current page" + endCursor: String! +} + +"Edge type containing the trade and cursor information returned by a TradeConnection" +type TradeEdge { + "The trade" + node: Trade! + "The cursor for this trade" + cursor: String! +} + +"Filter to apply to the trade subscription request" +input TradesSubscriptionFilter { + partyIds: [ID!] + marketIds: [ID!] +} + +"Filter to apply to the trade connection query" +input TradesFilter { + partyIds: [ID!] + marketIds: [ID!] + orderIds: [ID!] +} + +"Connection type for retrieving cursor-based paginated trade information" +type TradeConnection { + "The trade in this connection" + edges: [TradeEdge!]! + "The pagination information" + pageInfo: PageInfo! +} + +"Edge type containing the party and cursor information returned by a PartyConnection" +type PartyEdge { + "The party" + node: Party! + "The cursor for this party" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated party information" +type PartyConnection { + "The parties in this connection" + edges: [PartyEdge!]! + "The pagination information" + pageInfo: PageInfo! +} + +"Edge type containing the market and cursor information returned by a MarketConnection" +type MarketEdge { + "The market" + node: Market! + "The cursor for this market" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated market information" +type MarketConnection { + "The markets in this connection" + edges: [MarketEdge!]! + "The pagination information" + pageInfo: PageInfo! +} + +type SuccessorMarket { + "The market" + market: Market! + "Proposals for child markets" + proposals: [Proposal] +} + +"Edge type containing the market and cursor information returned by a MarketConnection" +type SuccessorMarketEdge { + "The market" + node: SuccessorMarket! + "The cursor for this market" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated market information" +type SuccessorMarketConnection { + "The markets in this connection" + edges: [SuccessorMarketEdge!]! + "The pagination information" + pageInfo: PageInfo! +} + +"Edge type containing the order and cursor information returned by a OrderConnection" +type OrderEdge { + "The order" + node: Order! + "The cursor for this order" + cursor: String +} + +"Edge type containing the stop order and cursor information returned by a StopOrderConnection" +type StopOrderEdge { + "The stop order" + node: StopOrder + "The cursor for this stop order" + cursor: String +} + +input OrderFilter { + status: [OrderStatus!] + types: [OrderType!] + timeInForce: [OrderTimeInForce!] + "Date range to retrieve orders from/to. Start and end time should be expressed as an integer value of nano-seconds past the Unix epoch" + dateRange: DateRange + excludeLiquidity: Boolean + """ + If true, only orders that are live will be returned. Orders are live if they have STATUS_ACTIVE or STATUS_PARKED + as per https://github.com/vegaprotocol/specs-internal/blob/master/protocol/0024-OSTA-order_status.md + """ + liveOnly: Boolean +} + +"Filter to be applied when querying a list of stop orders. If multiple criteria are specified, e.g. parties and markets, then the filter is applied as an AND." +input StopOrderFilter { + "Zero or more party IDs to filter by" + parties: [ID!] + "Zero or more market IDs to filter by" + markets: [ID!] + "Zero or more order status to filter by" + status: [StopOrderStatus!] + "Zero or more expiry strategies to filter by" + expiryStrategy: [StopOrderExpiryStrategy!] + "Date range to retrieve order from/to. Start and end time should be expressed as an integer value of nano-seconds past the Unix epoch" + dateRange: DateRange +} + +input OrderByPartyIdsFilter { + order: OrderFilter + partyIds: [ID!] +} + +input OrderByMarketIdsFilter { + order: OrderFilter + marketIds: [ID!] +} + +input OrderByMarketAndPartyIdsFilter { + order: OrderFilter + marketIds: [ID!] + partyIds: [ID!] +} + +"Connection type for retrieving cursor-based paginated order information" +type OrderConnection { + "The orders in this connection" + edges: [OrderEdge!] + "The pagination information" + pageInfo: PageInfo +} + +"Connection type for retrieving cursory-based paginated stop order information" +type StopOrderConnection { + "The stop orders in this connection" + edges: [StopOrderEdge!] + "The pagination information" + pageInfo: PageInfo +} + +"Edge type containing the position and cursor information returned by a PositionConnection" +type PositionEdge { + "The position" + node: Position! + "The cursor for this position" + cursor: String +} + +"Filter to apply to the positions connection query" +input PositionsFilter { + partyIds: [ID!] + marketIds: [ID!] +} + +"Connection type for retrieving cursor-based paginated position information" +type PositionConnection { + "The positions in this connection" + edges: [PositionEdge!] + "The pagination information" + pageInfo: PageInfo +} + +"Edge type containing the vote and cursor information returned by a VoteConnection" +type VoteEdge { + "The vote" + node: Vote! + "The cursor for this vote" + cursor: String +} + +"Connection type for retrieving cursor-based paginated vote information" +type VoteConnection { + "The votes in this connection" + edges: [VoteEdge!] + "The pagination information" + pageInfo: PageInfo +} + +"Edge type containing the proposal vote and cursor information returned by a ProposalVoteConnection" +type ProposalVoteEdge { + "The proposal vote" + node: ProposalVote! + "The cursor for this proposal vote" + cursor: String +} + +"Connection type for retrieving cursor-based paginated proposal vote information" +type ProposalVoteConnection { + "The proposal votes in this connection" + edges: [ProposalVoteEdge!] + "The pagination information" + pageInfo: PageInfo +} + +"Edge type containing the margin and cursor information returned by a MarginConnection" +type MarginEdge { + node: MarginLevels! + cursor: String +} + +"Connection type for retrieving cursor-based paginated margin information" +type MarginConnection { + "The margin levels in this connection" + edges: [MarginEdge!] + "The pagination information" + pageInfo: PageInfo +} + +"Edge type containing the reward and cursor information returned by a MarketDataConnection" +type MarketDataEdge { + node: MarketData! + cursor: String +} + +"Connection type for retrieving cursor-based paginated market data information" +type MarketDataConnection { + "The market data elements for the requested page" + edges: [MarketDataEdge] + "The pagination information" + pageInfo: PageInfo +} + +"Edge type containing the reward and cursor information returned by a RewardsConnection" +type RewardEdge { + "The reward information" + node: Reward! + "The cursor for this reward" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated rewards information" +type RewardsConnection { + "The rewards" + edges: [RewardEdge] + "The pagination information" + pageInfo: PageInfo +} + +"Edge type containing the candle and cursor information returned by a CandleDataConnection" +type CandleEdge { + "The candle" + node: Candle! + "The cursor for the candle" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated candle information" +type CandleDataConnection { + "The candles" + edges: [CandleEdge] + "The pagination information" + pageInfo: PageInfo +} + +"Edge type containing the withdrawal and cursor information returned by a WithdrawalsConnection" +type WithdrawalEdge { + "The withdrawal" + node: Withdrawal! + "The cursor for the withdrawal" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated withdrawals information" +type WithdrawalsConnection { + "The withdrawals" + edges: [WithdrawalEdge] + "The pagination information" + pageInfo: PageInfo +} + +"Edge type containing the deposit and cursor information returned by a DepositsConnection" +type DepositEdge { + node: Deposit! + cursor: String! +} + +"Connection type for retrieving cursor-based paginated deposits information" +type DepositsConnection { + "The deposits" + edges: [DepositEdge] + "The pagination information" + pageInfo: PageInfo +} + +"Edge type containing the asset and cursor information returned by a AssetsConnection" +type AssetEdge { + "The asset information" + node: Asset! + "The cursor for the asset" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated assets information" +type AssetsConnection { + "The assets" + edges: [AssetEdge] + "The pagination information" + pageInfo: PageInfo +} + +type OracleSpecEdge { + "The external data spec" + node: OracleSpec! + "The cursor for the external data" + cursor: String! +} + +type OracleSpecsConnection { + edges: [OracleSpecEdge] + pageInfo: PageInfo! +} + +type OracleDataEdge { + "The oracle data source" + node: OracleData! + "The cursor for the data item" + cursor: String! +} + +type OracleDataConnection { + "The oracle data spec" + edges: [OracleDataEdge] + "The pagination information" + pageInfo: PageInfo! +} + +"Edge type containing the liquidity provision and cursor information returned by a LiquidityProvisionsConnection" +type LiquidityProvisionsEdge { + node: LiquidityProvision! + cursor: String! +} + +"Connection type for retrieving cursor-based paginated liquidity provision information" +type LiquidityProvisionsConnection { + edges: [LiquidityProvisionsEdge] + pageInfo: PageInfo! +} + +"Information about a liquidity provider" +type LiquidityProvider { + "Party ID of the liquidity provider" + partyId: ID! + "Market ID the liquidity provision is for" + marketId: ID! + "Information used for calculating an LP's fee share, such as the equity like share, average entry valuation and liquidity score, for the given liquidity provider and market" + feeShare: LiquidityProviderFeeShare +} + +"Edge type containing the liquidity provider and cursor information" +type LiquidityProviderEdge { + "Liquidity provider's information" + node: LiquidityProvider! + "Cursor for the liquidity provider" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated liquidity provider information" +type LiquidityProviderConnection { + "Page of liquidity provider edges for the connection" + edges: [LiquidityProviderEdge!]! + "Current page information" + pageInfo: PageInfo +} + +"Edge type containing the transfer and cursor information returned by a TransferConnection" +type TransferEdge { + node: Transfer! + cursor: String! +} + +"Connection type for retrieving cursor-based paginated transfers information" +type TransferConnection { + edges: [TransferEdge] + pageInfo: PageInfo! +} + +"Filter type for specifying the types of transfers to filter for" +enum TransferDirection { + To + From + ToOrFrom +} + +"Edge type containing the proposals and cursor information returned by a ProposalsConnection" +type ProposalEdge { + "The proposal data" + node: Proposal! + "Cursor identifying the proposal" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated proposals information" +type ProposalsConnection { + "List of proposals available for the connection" + edges: [ProposalEdge] + "Page information for the connection" + pageInfo: PageInfo! +} + +"Edge type containing the delegation and cursor information returned by a DelegationsConnection" +type DelegationEdge { + "The delegation information" + node: Delegation! + "The cursor for the data item" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated delegation information" +type DelegationsConnection { + "The delegation information available on this connection" + edges: [DelegationEdge] + "The pagination information" + pageInfo: PageInfo! +} + +"Edge type containing the node and cursor information returned by a NodesConnection" +type NodeEdge { + "The node" + node: Node! + "Cursor identifying the node" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated node information" +type NodesConnection { + "List of nodes available for the connection" + edges: [NodeEdge] + "Page information for the connection" + pageInfo: PageInfo! +} + +"Edge type containing the network parameter and cursor information returned by a NetworkParametersConnection" +type NetworkParameterEdge { + "The network parameter" + node: NetworkParameter! + "Cursor identifying the network parameter" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated network parameters information" +type NetworkParametersConnection { + "List of network parameters available for the connection" + edges: [NetworkParameterEdge] + "Page information for the connection" + pageInfo: PageInfo! +} + +"Edge type containing the node signature and cursor information returned by a NodeSignatureConnection" +type NodeSignatureEdge { + "The node signature" + node: NodeSignature! + "Cursor identifying the node signature" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated node signature information" +type NodeSignaturesConnection { + "List of node signatures available for the connection" + edges: [NodeSignatureEdge!]! + "Page information for the connection" + pageInfo: PageInfo! +} + +"Edge type containing the key rotation and cursor information returned by a KeyRotationConnection" +type KeyRotationEdge { + "The key rotation" + node: KeyRotation! + "Cursor identifying the key rotation" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated key rotation information" +type KeyRotationConnection { + "List of key rotations available for the connection" + edges: [KeyRotationEdge] + "Page information for the connection" + pageInfo: PageInfo! +} + +"Edge type containing the reward summary and cursor information returned by a RewardSummaryConnection" +type RewardSummaryEdge { + "The reward summary" + node: RewardSummary! + "Cursor identifying the reward summary" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated reward summary information" +type RewardSummaryConnection { + "List of reward summaries available for the connection" + edges: [RewardSummaryEdge] + "Page information for the connection" + pageInfo: PageInfo! +} + +"Edge type containing the stake linking and cursor information returned by a StakesConnection" +type StakeLinkingEdge { + "The stake linking" + node: StakeLinking! + "Cursor identifying the stake linking" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated stake linking information" +type StakesConnection { + "List of stake links available for the connection" + edges: [StakeLinkingEdge] + "Page information for the connection" + pageInfo: PageInfo! +} + +"Edge type containing the account and cursor information returned by an AccountsConnection" +type AccountEdge { + "The account" + node: AccountBalance! + "Cursor identifying the account" + cursor: String! +} + +"Connection type for retrieving cursor-based paginated list of account" +type AccountsConnection { + "List of accounts available for the connection" + edges: [AccountEdge] + "Page information for the connection" + pageInfo: PageInfo! +} + +""" +Range of dates to retrieve information for. +If start and end are provided, data will be returned within the specified range (exclusive). +If start is provided without end, the end date will be the latest time available in the data set. +If end is provided without start, the start time will be the earliest time available in the data set. +""" +input DateRange { + "The start timestamp for the date range (inclusive). RFC3339Nano format" + start: Timestamp + "The end timestamp for the date range (exclusive). RFC3339Nano format" + end: Timestamp +} + +"Indicator showing whether the data-node is ready for the protocol upgrade to begin." +type ProtocolUpgradeStatus { + ready: Boolean! +} + +"The set of valid statuses for a protocol upgrade proposal" +enum ProtocolUpgradeProposalStatus { + "Invalid proposal state" + PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED + "Proposal to upgrade protocol version is awaiting sufficient validator approval" + PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING + "Proposal to upgrade protocol version accepted" + PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED + "Proposal to upgrade protocol version has been rejected" + PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED +} + +"Connection type for retrieving cursor-based paginated protocol upgrade proposals" +type ProtocolUpgradeProposalConnection { + "The positions in this connection" + edges: [ProtocolUpgradeProposalEdge!] + "The pagination information" + pageInfo: PageInfo +} + +"Edge type containing the protocol upgrade protocol cursor information" +type ProtocolUpgradeProposalEdge { + "The protocol upgrade proposal" + node: ProtocolUpgradeProposal! + "Cursor identifying the protocol upgrade proposal" + cursor: String! +} + +"A proposal to upgrade the vega protocol (i.e. which version of the vega software nodes will run)" +type ProtocolUpgradeProposal { + "At which block the upgrade is proposed" + upgradeBlockHeight: String! + "To which vega release tag the upgrade is proposed" + vegaReleaseTag: String! + "Tendermint validators that have agreed to the upgrade" + approvers: [String!]! + "the status of the proposal" + status: ProtocolUpgradeProposalStatus! +} + +type EpochRewardSummaryConnection { + edges: [EpochRewardSummaryEdge] + pageInfo: PageInfo +} + +type EpochRewardSummaryEdge { + node: EpochRewardSummary! + cursor: String! +} + +"an aggregated reward summary for a combination of epoch/asset/market/reward type" +type EpochRewardSummary { + "The epoch for which summary is generated" + epoch: Int! + "ID of the market" + marketId: ID + "ID of the Asset" + assetId: ID! + "Type of the reward" + rewardType: AccountType! + "Total quantity of rewards awarded in this asset/market/reward type in this epoch" + amount: String! +} + +"Connection type for retrieving cursor-based paginated core snapshot data" +type CoreSnapshotConnection { + "The positions in this connection" + edges: [CoreSnapshotEdge!] + "The pagination information" + pageInfo: PageInfo +} + +"Edge type containing the core snapshot cursor information" +type CoreSnapshotEdge { + "The core snapshot data" + node: CoreSnapshotData! + "Cursor identifying the core snapshot data" + cursor: String! +} + +"A snapshot taken by the core" +type CoreSnapshotData { + "At which block the snapshot was taken" + blockHeight: String! + "The block hash at the snapshot block height" + blockHash: String! + "The current version of vega core" + vegaCoreVersion: String! +} + +""" +DataSourceSpecConfigurationTime is the internal data source used for emitting timestamps. +""" +type DataSourceSpecConfigurationTime { + conditions: [Condition]! +} + +union InternalDataSourceKind = DataSourceSpecConfigurationTime + +""" +DataSourceDefinitionInternal is the top level object used for all internal data sources. +It contains one of any of the defined `SourceType` variants. +""" +type DataSourceDefinitionInternal { + sourceType: InternalDataSourceKind! +} + +union ExternalDataSourceKind = DataSourceSpecConfiguration | EthCallSpec + +""" +DataSourceDefinitionExternal is the top level object used for all external data sources. +It contains one of any of the defined `SourceType` variants. +""" +type DataSourceDefinitionExternal { + sourceType: ExternalDataSourceKind! +} + +union DataSourceKind = + DataSourceDefinitionInternal + | DataSourceDefinitionExternal + +""" +DataSourceDefinition represents the top level object that deals with data sources. +DataSourceDefinition can be external or internal, with whatever number of data sources are defined +for each type in the child objects below. +""" +type DataSourceDefinition { + sourceType: DataSourceKind! +} + +""" +List of all entities created by transaction hash +""" +type Entities { + "List of accounts created by the transaction hash" + accounts: [AccountEvent] + "List of orders created by the transaction hash" + orders: [Order] + "List of positions created by the transaction hash" + positions: [Position] + "List of ledger entries created by the transaction hash" + ledgerEntries: [LedgerEntry] + "List of balance changes created by the transaction hash" + balanceChanges: [AccountBalance] + "List of transfers created by the transaction hash" + transfers: [Transfer] + "List of votes created by the transaction hash" + votes: [Vote] + "List of ERC-20 multisig signer added bundles created by the transaction hash" + erc20MultiSigSignerAddedBundles: [ERC20MultiSigSignerAddedBundle] + "List of ERC-20 multisig signer removed bundles created by the transaction hash" + erc20MultiSigSignerRemovedBundles: [ERC20MultiSigSignerRemovedBundle] + "List of trades created by the transaction hash" + trades: [Trade] + "List of oracle specs created by the transaction hash" + oracleSpecs: [OracleSpec] + "List of oracle data created by the transaction hash" + oracleData: [OracleData] + "List of markets created by the transaction hash" + markets: [Market] + "List of parties created by the transaction hash" + parties: [Party] + "List of margin levels created by the transaction hash" + marginLevels: [MarginLevels] + "List of rewards created by the transaction hash" + rewards: [Reward] + "List of deposits created by the transaction hash" + deposits: [Deposit] + "List of withdrawals created by the transaction hash" + withdrawals: [Withdrawal] + "List of assets created by the transaction hash" + assets: [Asset] + "List of liquidity provisions created by the transaction hash" + liquidityProvisions: [LiquidityProvision] + "List of proposals created by the transaction hash" + proposals: [ProposalDetail] + "List of delegations created by the transaction hash" + delegations: [Delegation] + "List of nodes created by the transaction hash" + nodes: [NodeBasic] + "List of node signatures created by the transaction hash" + nodeSignatures: [NodeSignature] + "List of network parameters created by the transaction hash" + networkParameters: [NetworkParameter] + "List of key rotations created by the transaction hash" + keyRotations: [KeyRotation] + "List of ethereum key rotations created by the transaction hash" + ethereumKeyRotations: [EthereumKeyRotation] + "List of protocol upgrade proposals created by the transaction hash" + protocolUpgradeProposals: [ProtocolUpgradeProposal] +} diff --git a/specs/v0.79.0-protobuf.1/grpc/proto.json b/specs/v0.79.0-protobuf.1/grpc/proto.json new file mode 100644 index 000000000..6c8132ab0 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/grpc/proto.json @@ -0,0 +1,46966 @@ +{ + "files": [ + { + "name": "vega/commands/v1/signature.proto", + "description": "", + "package": "vega.commands.v1", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "Signature", + "longName": "Signature", + "fullName": "vega.commands.v1.Signature", + "description": "Signature to authenticate a transaction and to be verified by the Vega\nnetwork.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "value", + "description": "Hex encoded bytes of the signature.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "algo", + "description": "Algorithm used to create the signature.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "version", + "description": "Version of the signature used to create the signature.", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/chain_events.proto", + "description": "", + "package": "vega", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "BuiltinAssetDeposit", + "longName": "BuiltinAssetDeposit", + "fullName": "vega.BuiltinAssetDeposit", + "description": "Deposit for a Vega built-in asset", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "vega_asset_id", + "description": "Vega network internal asset ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Vega party ID i.e. public key.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount to be deposited. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BuiltinAssetEvent", + "longName": "BuiltinAssetEvent", + "fullName": "vega.BuiltinAssetEvent", + "description": "Event related to a Vega built-in asset", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "deposit", + "description": "Built-in asset deposit.", + "label": "", + "type": "BuiltinAssetDeposit", + "longType": "BuiltinAssetDeposit", + "fullType": "vega.BuiltinAssetDeposit", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + }, + { + "name": "withdrawal", + "description": "Built-in asset withdrawal.", + "label": "", + "type": "BuiltinAssetWithdrawal", + "longType": "BuiltinAssetWithdrawal", + "fullType": "vega.BuiltinAssetWithdrawal", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + } + ] + }, + { + "name": "BuiltinAssetWithdrawal", + "longName": "BuiltinAssetWithdrawal", + "fullName": "vega.BuiltinAssetWithdrawal", + "description": "Withdrawal for a Vega built-in asset", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "vega_asset_id", + "description": "Vega network internal asset ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Vega network party ID i.e. public key.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "The amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20AssetDelist", + "longName": "ERC20AssetDelist", + "fullName": "vega.ERC20AssetDelist", + "description": "Asset deny-listing for an ERC20 token", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "vega_asset_id", + "description": "Vega network internal asset ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20AssetLimitsUpdated", + "longName": "ERC20AssetLimitsUpdated", + "fullName": "vega.ERC20AssetLimitsUpdated", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "vega_asset_id", + "description": "Vega network internal asset ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "source_ethereum_address", + "description": "Ethereum wallet that initiated the deposit.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "lifetime_limits", + "description": "Updated lifetime limits.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "withdraw_threshold", + "description": "Updated withdrawal threshold.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20AssetList", + "longName": "ERC20AssetList", + "fullName": "vega.ERC20AssetList", + "description": "Asset allow-listing for an ERC20 token", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "vega_asset_id", + "description": "Vega network internal asset ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset_source", + "description": "Ethereum address of the asset.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20Deposit", + "longName": "ERC20Deposit", + "fullName": "vega.ERC20Deposit", + "description": "Asset deposit for an ERC20 token", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "vega_asset_id", + "description": "Vega network internal asset ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "source_ethereum_address", + "description": "Ethereum wallet that initiated the deposit.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "target_party_id", + "description": "Vega party ID i.e. public key that is the target of the deposit.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount to be deposited.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20Event", + "longName": "ERC20Event", + "fullName": "vega.ERC20Event", + "description": "Event related to an ERC20 token", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "index", + "description": "Index of the log in the transaction.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block", + "description": "Block in which the transaction was added.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset_list", + "description": "List an ERC20 asset.", + "label": "", + "type": "ERC20AssetList", + "longType": "ERC20AssetList", + "fullType": "vega.ERC20AssetList", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + }, + { + "name": "asset_delist", + "description": "De-list an ERC20 asset.", + "label": "", + "type": "ERC20AssetDelist", + "longType": "ERC20AssetDelist", + "fullType": "vega.ERC20AssetDelist", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + }, + { + "name": "deposit", + "description": "Deposit ERC20 asset.", + "label": "", + "type": "ERC20Deposit", + "longType": "ERC20Deposit", + "fullType": "vega.ERC20Deposit", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + }, + { + "name": "withdrawal", + "description": "Withdraw ERC20 asset.", + "label": "", + "type": "ERC20Withdrawal", + "longType": "ERC20Withdrawal", + "fullType": "vega.ERC20Withdrawal", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + }, + { + "name": "asset_limits_updated", + "description": "Update an ERC20 asset.", + "label": "", + "type": "ERC20AssetLimitsUpdated", + "longType": "ERC20AssetLimitsUpdated", + "fullType": "vega.ERC20AssetLimitsUpdated", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + }, + { + "name": "bridge_stopped", + "description": "Bridge operations has been stopped.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + }, + { + "name": "bridge_resumed", + "description": "Bridge operations has been resumed.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigEvent", + "longName": "ERC20MultiSigEvent", + "fullName": "vega.ERC20MultiSigEvent", + "description": "Event related to the ERC20 MultiSig", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "index", + "description": "Index of the log in the transaction", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block", + "description": "Block in which the transaction was added", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signer_added", + "description": "Add a signer to the erc20 bridge", + "label": "", + "type": "ERC20SignerAdded", + "longType": "ERC20SignerAdded", + "fullType": "vega.ERC20SignerAdded", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + }, + { + "name": "signer_removed", + "description": "Remove a signer from the erc20 bridge", + "label": "", + "type": "ERC20SignerRemoved", + "longType": "ERC20SignerRemoved", + "fullType": "vega.ERC20SignerRemoved", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + }, + { + "name": "threshold_set", + "description": "Threshold set", + "label": "", + "type": "ERC20ThresholdSet", + "longType": "ERC20ThresholdSet", + "fullType": "vega.ERC20ThresholdSet", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20SignerAdded", + "longName": "ERC20SignerAdded", + "fullName": "vega.ERC20SignerAdded", + "description": "New signer added to the ERC20 bridge", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "new_signer", + "description": "Ethereum address of the new signer", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "Nonce created by the Vega network used for this new signer", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_time", + "description": "Time at which the block was produced\nwill be used to inform the core at what time\nthe stake was made unavailable.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20SignerRemoved", + "longName": "ERC20SignerRemoved", + "fullName": "vega.ERC20SignerRemoved", + "description": "Signer removed from the ERC20 bridge", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "old_signer", + "description": "Ethereum address of the old signer", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "Nonce created by the Vega network used for this old signer", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_time", + "description": "Time at which the block was produced.\nWill be used to inform the core at what time\nthe stake was made unavailable.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20ThresholdSet", + "longName": "ERC20ThresholdSet", + "fullName": "vega.ERC20ThresholdSet", + "description": "Threshold has been updated on the multisig control", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "new_threshold", + "description": "New threshold value to set", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "Nonce created by the Vega network", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_time", + "description": "Time at which the block was produced.\nWill be used to inform the core at what time\nthe stake was made unavailable.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20Withdrawal", + "longName": "ERC20Withdrawal", + "fullName": "vega.ERC20Withdrawal", + "description": "Asset withdrawal for an ERC20 token", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "vega_asset_id", + "description": "Vega network internal asset ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "target_ethereum_address", + "description": "Target Ethereum wallet address.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference_nonce", + "description": "Reference nonce used for the transaction.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EthContractCallEvent", + "longName": "EthContractCallEvent", + "fullName": "vega.EthContractCallEvent", + "description": "Result of calling an arbitrary Ethereum contract method", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "spec_id", + "description": "ID of the data source spec that triggered this contract call.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_height", + "description": "Ethereum block height.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_time", + "description": "Ethereum block time in Unix seconds.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "result", + "description": "Result of contract call, packed according to the ABI stored in the associated data source spec.", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "error", + "description": "Error message if the call failed.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_error", + "defaultValue": "" + } + ] + }, + { + "name": "StakeDeposited", + "longName": "StakeDeposited", + "fullName": "vega.StakeDeposited", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "ethereum_address", + "description": "Ethereum Address of the user depositing stake (hex encode with 0x prefix)", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_public_key", + "description": "Hex encoded public key of the party receiving the stake deposit.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount deposited as an unsigned base 10 integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_time", + "description": "Time at which the block was produced.\nWill be used to inform the core at what time\nthe stake started to be available.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StakeRemoved", + "longName": "StakeRemoved", + "fullName": "vega.StakeRemoved", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "ethereum_address", + "description": "Ethereum address of the user removing stake. This should be hex encoded with 0x prefix.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_public_key", + "description": "Hex encoded public key of the party from which to remove stake.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount removed as a base 10 unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_time", + "description": "The time at which the block was produced\nwill be used to inform the core at what time\nthe stake was made unavailable.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StakeTotalSupply", + "longName": "StakeTotalSupply", + "fullName": "vega.StakeTotalSupply", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "token_address", + "description": "Address of the staking asset", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_supply", + "description": "Total supply observed for the token as an unsigned based 10 integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StakingEvent", + "longName": "StakingEvent", + "fullName": "vega.StakingEvent", + "description": "Event related to staking on the Vega network.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "index", + "description": "Index of the log in the transaction.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block", + "description": "Block in which the transaction was added.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "stake_deposited", + "description": "", + "label": "", + "type": "StakeDeposited", + "longType": "StakeDeposited", + "fullType": "vega.StakeDeposited", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + }, + { + "name": "stake_removed", + "description": "", + "label": "", + "type": "StakeRemoved", + "longType": "StakeRemoved", + "fullType": "vega.StakeRemoved", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + }, + { + "name": "total_supply", + "description": "", + "label": "", + "type": "StakeTotalSupply", + "longType": "StakeTotalSupply", + "fullType": "vega.StakeTotalSupply", + "ismap": false, + "isoneof": true, + "oneofdecl": "action", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/data/v1/data.proto", + "description": "", + "package": "vega.data.v1", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "Data", + "longName": "Data", + "fullName": "vega.data.v1.Data", + "description": "Data describes valid source data that has been received by the node.\nIt represents both matched and unmatched data.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "signers", + "description": "", + "label": "repeated", + "type": "Signer", + "longType": "Signer", + "fullType": "vega.data.v1.Signer", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data", + "description": "Data holds all the properties of the data", + "label": "repeated", + "type": "Property", + "longType": "Property", + "fullType": "vega.data.v1.Property", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "matched_spec_ids", + "description": "`matched_specs_ids` lists all the specs that matched this data.\nWhen the array is empty, it means no spec matched this data.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "broadcast_at", + "description": "Timestamp in Unix nanoseconds for when the data was broadcast to the markets\nwith a matching spec. It has no value when the data did not match any spec.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "meta_data", + "description": "Holds all metadata properties", + "label": "repeated", + "type": "Property", + "longType": "Property", + "fullType": "vega.data.v1.Property", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "error", + "description": "Error message if the data could not be sourced.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_error", + "defaultValue": "" + } + ] + }, + { + "name": "ETHAddress", + "longName": "ETHAddress", + "fullName": "vega.data.v1.ETHAddress", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ExternalData", + "longName": "ExternalData", + "fullName": "vega.data.v1.ExternalData", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "data", + "description": "", + "label": "", + "type": "Data", + "longType": "Data", + "fullType": "vega.data.v1.Data", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Property", + "longName": "Property", + "fullName": "vega.data.v1.Property", + "description": "Property describes one property of data spec with a key with its value.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "name", + "description": "Name of the property.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "value", + "description": "Value of the property.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PubKey", + "longName": "PubKey", + "fullName": "vega.data.v1.PubKey", + "description": "PubKey is the public key that signed this data.\nDifferent public keys coming from different sources will be further separated.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Signer", + "longName": "Signer", + "fullName": "vega.data.v1.Signer", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "pub_key", + "description": "List of authorized public keys that signed the data for this\nsource. All the public keys in the data should be contained in these\npublic keys.", + "label": "", + "type": "PubKey", + "longType": "PubKey", + "fullType": "vega.data.v1.PubKey", + "ismap": false, + "isoneof": true, + "oneofdecl": "signer", + "defaultValue": "" + }, + { + "name": "eth_address", + "description": "In case of an open oracle - Ethereum address will be submitted.", + "label": "", + "type": "ETHAddress", + "longType": "ETHAddress", + "fullType": "vega.data.v1.ETHAddress", + "ismap": false, + "isoneof": true, + "oneofdecl": "signer", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/data/v1/spec.proto", + "description": "", + "package": "vega.data.v1", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [ + { + "name": "Operator", + "longName": "Condition.Operator", + "fullName": "vega.data.v1.Condition.Operator", + "description": "Operator describes the type of comparison.", + "values": [ + { + "name": "OPERATOR_UNSPECIFIED", + "number": "0", + "description": "The default value" + }, + { + "name": "OPERATOR_EQUALS", + "number": "1", + "description": "Verify if the property values are strictly equal or not." + }, + { + "name": "OPERATOR_GREATER_THAN", + "number": "2", + "description": "Verify if the data source data value is greater than the Condition value." + }, + { + "name": "OPERATOR_GREATER_THAN_OR_EQUAL", + "number": "3", + "description": "Verify if the data source data value is greater than or equal to the Condition\nvalue." + }, + { + "name": "OPERATOR_LESS_THAN", + "number": "4", + "description": "Verify if the data source data value is less than the Condition value." + }, + { + "name": "OPERATOR_LESS_THAN_OR_EQUAL", + "number": "5", + "description": "Verify if the data source data value is less or equal to than the Condition\nvalue." + } + ] + }, + { + "name": "Type", + "longName": "PropertyKey.Type", + "fullName": "vega.data.v1.PropertyKey.Type", + "description": "Type describes the data type of properties that are supported by the data source\nengine.", + "values": [ + { + "name": "TYPE_UNSPECIFIED", + "number": "0", + "description": "The default value." + }, + { + "name": "TYPE_EMPTY", + "number": "1", + "description": "Any type." + }, + { + "name": "TYPE_INTEGER", + "number": "2", + "description": "Integer type." + }, + { + "name": "TYPE_STRING", + "number": "3", + "description": "String type." + }, + { + "name": "TYPE_BOOLEAN", + "number": "4", + "description": "Boolean type." + }, + { + "name": "TYPE_DECIMAL", + "number": "5", + "description": "Any floating point decimal type." + }, + { + "name": "TYPE_TIMESTAMP", + "number": "6", + "description": "Timestamp date type." + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "Condition", + "longName": "Condition", + "fullName": "vega.data.v1.Condition", + "description": "Condition describes the condition that must be validated by the network", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "operator", + "description": "Type of comparison to make on the value.", + "label": "", + "type": "Operator", + "longType": "Condition.Operator", + "fullType": "vega.data.v1.Condition.Operator", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "value", + "description": "Value to be compared with by the operator.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Filter", + "longName": "Filter", + "fullName": "vega.data.v1.Filter", + "description": "Filter describes the conditions under which a data source data is considered of\ninterest or not.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "Data source's data property key targeted by the filter.", + "label": "", + "type": "PropertyKey", + "longType": "PropertyKey", + "fullType": "vega.data.v1.PropertyKey", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "conditions", + "description": "Conditions that should be matched by the data to be\nconsidered of interest.", + "label": "repeated", + "type": "Condition", + "longType": "Condition", + "fullType": "vega.data.v1.Condition", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "InternalTimeTrigger", + "longName": "InternalTimeTrigger", + "fullName": "vega.data.v1.InternalTimeTrigger", + "description": "Trigger for an internal time data source.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "initial", + "description": "Trigger when the vega time is greater or equal to this time, in Unix seconds.", + "label": "optional", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_initial", + "defaultValue": "" + }, + { + "name": "every", + "description": "Repeat the trigger every n seconds after the initial. If no time for\ninitial was specified, begin repeating immediately.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PropertyKey", + "longName": "PropertyKey", + "fullName": "vega.data.v1.PropertyKey", + "description": "PropertyKey describes the property key contained in data source data.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "name", + "description": "Name of the property.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Data type of the property.", + "label": "", + "type": "Type", + "longType": "PropertyKey.Type", + "fullType": "vega.data.v1.PropertyKey.Type", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "number_decimal_places", + "description": "Optional decimal place to be be applied on the provided value\nvalid only for PropertyType of type DECIMAL and INTEGER", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_number_decimal_places", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/data_source.proto", + "description": "", + "package": "vega", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [ + { + "name": "Status", + "longName": "DataSourceSpec.Status", + "fullName": "vega.DataSourceSpec.Status", + "description": "Status describe the status of the data source spec", + "values": [ + { + "name": "STATUS_UNSPECIFIED", + "number": "0", + "description": "Default value." + }, + { + "name": "STATUS_ACTIVE", + "number": "1", + "description": "STATUS_ACTIVE describes an active data source spec." + }, + { + "name": "STATUS_DEACTIVATED", + "number": "2", + "description": "STATUS_DEACTIVATED describes a data source spec that is not listening to\ndata anymore." + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "DataSourceDefinition", + "longName": "DataSourceDefinition", + "fullName": "vega.DataSourceDefinition", + "description": "Represents the top level object that handles data sources.\nData source definition can be external or internal, with whatever\nnumber of data sources are defined for each type in the child objects below.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "internal", + "description": "", + "label": "", + "type": "DataSourceDefinitionInternal", + "longType": "DataSourceDefinitionInternal", + "fullType": "vega.DataSourceDefinitionInternal", + "ismap": false, + "isoneof": true, + "oneofdecl": "source_type", + "defaultValue": "" + }, + { + "name": "external", + "description": "", + "label": "", + "type": "DataSourceDefinitionExternal", + "longType": "DataSourceDefinitionExternal", + "fullType": "vega.DataSourceDefinitionExternal", + "ismap": false, + "isoneof": true, + "oneofdecl": "source_type", + "defaultValue": "" + } + ] + }, + { + "name": "DataSourceDefinitionExternal", + "longName": "DataSourceDefinitionExternal", + "fullName": "vega.DataSourceDefinitionExternal", + "description": "DataSourceDefinitionExternal is the top level object used for all external\ndata sources. It contains one of any of the defined `SourceType` variants.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "oracle", + "description": "", + "label": "", + "type": "DataSourceSpecConfiguration", + "longType": "DataSourceSpecConfiguration", + "fullType": "vega.DataSourceSpecConfiguration", + "ismap": false, + "isoneof": true, + "oneofdecl": "source_type", + "defaultValue": "" + }, + { + "name": "eth_oracle", + "description": "Contains the data specification that is received from Ethereum sources.", + "label": "", + "type": "EthCallSpec", + "longType": "EthCallSpec", + "fullType": "vega.EthCallSpec", + "ismap": false, + "isoneof": true, + "oneofdecl": "source_type", + "defaultValue": "" + } + ] + }, + { + "name": "DataSourceDefinitionInternal", + "longName": "DataSourceDefinitionInternal", + "fullName": "vega.DataSourceDefinitionInternal", + "description": "Top level object used for all internal data sources.\nIt contains one of any of the defined source type variants.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "time", + "description": "", + "label": "", + "type": "DataSourceSpecConfigurationTime", + "longType": "DataSourceSpecConfigurationTime", + "fullType": "vega.DataSourceSpecConfigurationTime", + "ismap": false, + "isoneof": true, + "oneofdecl": "source_type", + "defaultValue": "" + }, + { + "name": "time_trigger", + "description": "", + "label": "", + "type": "DataSourceSpecConfigurationTimeTrigger", + "longType": "DataSourceSpecConfigurationTimeTrigger", + "fullType": "vega.DataSourceSpecConfigurationTimeTrigger", + "ismap": false, + "isoneof": true, + "oneofdecl": "source_type", + "defaultValue": "" + } + ] + }, + { + "name": "DataSourceSpec", + "longName": "DataSourceSpec", + "fullName": "vega.DataSourceSpec", + "description": "Data source spec describes the data source base that a product or a risk\nmodel wants to get from the data source engine. This message contains\nadditional information used by the API.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Hash generated from the DataSpec data.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "created_at", + "description": "Creation date and time", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "updated_at", + "description": "Last Updated timestamp", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data", + "description": "", + "label": "", + "type": "DataSourceDefinition", + "longType": "DataSourceDefinition", + "fullType": "vega.DataSourceDefinition", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Status describes the status of the data source spec", + "label": "", + "type": "Status", + "longType": "DataSourceSpec.Status", + "fullType": "vega.DataSourceSpec.Status", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DataSourceSpecConfiguration", + "longName": "DataSourceSpecConfiguration", + "fullName": "vega.DataSourceSpecConfiguration", + "description": "All types of external data sources use the same configuration set for meeting\nrequirements in order for the data to be useful for Vega - valid signatures\nand matching filters.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "signers", + "description": "Signers is the list of authorized signatures that signed the data for this\nsource. All the signatures in the data source data should be contained in\nthis external source. All the signatures in the data should be contained in\nthis list.", + "label": "repeated", + "type": "Signer", + "longType": "data.v1.Signer", + "fullType": "vega.data.v1.Signer", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "filters", + "description": "Filters describes which source data are considered of interest or not for\nthe product (or the risk model).", + "label": "repeated", + "type": "Filter", + "longType": "data.v1.Filter", + "fullType": "vega.data.v1.Filter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DataSourceSpecConfigurationTime", + "longName": "DataSourceSpecConfigurationTime", + "fullName": "vega.DataSourceSpecConfigurationTime", + "description": "Internal data source used for emitting timestamps.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "conditions", + "description": "Conditions that the timestamps should meet in order to be considered.", + "label": "repeated", + "type": "Condition", + "longType": "data.v1.Condition", + "fullType": "vega.data.v1.Condition", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DataSourceSpecConfigurationTimeTrigger", + "longName": "DataSourceSpecConfigurationTimeTrigger", + "fullName": "vega.DataSourceSpecConfigurationTimeTrigger", + "description": "Internal data source used for emitting timestamps automatically using predefined intervals and conditions.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "conditions", + "description": "Conditions that the timestamps need to meet in order to be considered.", + "label": "repeated", + "type": "Condition", + "longType": "data.v1.Condition", + "fullType": "vega.data.v1.Condition", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "triggers", + "description": "An internal time trigger", + "label": "repeated", + "type": "InternalTimeTrigger", + "longType": "data.v1.InternalTimeTrigger", + "fullType": "vega.data.v1.InternalTimeTrigger", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EthCallSpec", + "longName": "EthCallSpec", + "fullName": "vega.EthCallSpec", + "description": "Specifies a data source that derives its content from calling a read method\non an Ethereum contract.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "address", + "description": "Ethereum address of the contract to call.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "abi", + "description": "The ABI of that contract.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "method", + "description": "Name of the method on the contract to call.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "args", + "description": "List of arguments to pass to method call.\nProtobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum\ntype according to the ABI.", + "label": "repeated", + "type": "Value", + "longType": "google.protobuf.Value", + "fullType": "google.protobuf.Value", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trigger", + "description": "Conditions for determining when to call the contract method.", + "label": "", + "type": "EthCallTrigger", + "longType": "EthCallTrigger", + "fullType": "vega.EthCallTrigger", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "required_confirmations", + "description": "Number of confirmations required before the query is considered verified", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "filters", + "description": "Filters the data returned from the contract method", + "label": "repeated", + "type": "Filter", + "longType": "data.v1.Filter", + "fullType": "vega.data.v1.Filter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "normalisers", + "description": "Normalisers are used to convert the data returned from the contract method\ninto a standard format. The key of the map is the name of the property,\nwhich identifies the specific piece of data to other parts of the data\nsourcing framework, for example filters. The value is a JSONPath expression\nfor expressing where in the contract call result the required data is\nlocated, for example $[0] indicates the first result. $[1].price would look\nin the second result returned from the contract for a structure with a key\ncalled 'price' and use that if it exists.", + "label": "repeated", + "type": "Normaliser", + "longType": "Normaliser", + "fullType": "vega.Normaliser", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EthCallTrigger", + "longName": "EthCallTrigger", + "fullName": "vega.EthCallTrigger", + "description": "Determines when the contract method should be called.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "time_trigger", + "description": "", + "label": "", + "type": "EthTimeTrigger", + "longType": "EthTimeTrigger", + "fullType": "vega.EthTimeTrigger", + "ismap": false, + "isoneof": true, + "oneofdecl": "trigger", + "defaultValue": "" + } + ] + }, + { + "name": "EthTimeTrigger", + "longName": "EthTimeTrigger", + "fullName": "vega.EthTimeTrigger", + "description": "Trigger for an Ethereum call based on the Ethereum block timestamp. Can be\none-off or repeating.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "initial", + "description": "Trigger when the Ethereum time is greater or equal to this time, in Unix\nseconds.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_initial", + "defaultValue": "" + }, + { + "name": "every", + "description": "Repeat the call every n seconds after the initial call. If no time for\ninitial call was specified, begin repeating immediately.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_every", + "defaultValue": "" + }, + { + "name": "until", + "description": "If repeating, stop once Ethereum time is greater than this time, in Unix\nseconds. If not set, then repeat indefinitely.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_until", + "defaultValue": "" + } + ] + }, + { + "name": "ExternalDataSourceSpec", + "longName": "ExternalDataSourceSpec", + "fullName": "vega.ExternalDataSourceSpec", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "spec", + "description": "", + "label": "", + "type": "DataSourceSpec", + "longType": "DataSourceSpec", + "fullType": "vega.DataSourceSpec", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Normaliser", + "longName": "Normaliser", + "fullName": "vega.Normaliser", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "name", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expression", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/markets.proto", + "description": "", + "package": "vega", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [ + { + "name": "State", + "longName": "Market.State", + "fullName": "vega.Market.State", + "description": "Current state of the market", + "values": [ + { + "name": "STATE_UNSPECIFIED", + "number": "0", + "description": "Default value, invalid" + }, + { + "name": "STATE_PROPOSED", + "number": "1", + "description": "Governance proposal valid and accepted" + }, + { + "name": "STATE_REJECTED", + "number": "2", + "description": "Outcome of governance votes is to reject the market" + }, + { + "name": "STATE_PENDING", + "number": "3", + "description": "Governance vote passes/wins" + }, + { + "name": "STATE_CANCELLED", + "number": "4", + "description": "Market triggers cancellation condition or governance\nvotes to close before market becomes Active" + }, + { + "name": "STATE_ACTIVE", + "number": "5", + "description": "Enactment date reached and usual auction exit checks pass" + }, + { + "name": "STATE_SUSPENDED", + "number": "6", + "description": "Price monitoring or liquidity monitoring trigger" + }, + { + "name": "STATE_CLOSED", + "number": "7", + "description": "Governance vote to close (Not currently implemented)" + }, + { + "name": "STATE_TRADING_TERMINATED", + "number": "8", + "description": "Defined by the product (i.e. from a product parameter,\nspecified in market definition, giving close date/time)" + }, + { + "name": "STATE_SETTLED", + "number": "9", + "description": "Settlement triggered and completed as defined by product" + }, + { + "name": "STATE_SUSPENDED_VIA_GOVERNANCE", + "number": "10", + "description": "Market has been suspended via governance" + } + ] + }, + { + "name": "TradingMode", + "longName": "Market.TradingMode", + "fullName": "vega.Market.TradingMode", + "description": "Trading mode the market is currently running, also referred to as 'market state'", + "values": [ + { + "name": "TRADING_MODE_UNSPECIFIED", + "number": "0", + "description": "Default value, this is invalid" + }, + { + "name": "TRADING_MODE_CONTINUOUS", + "number": "1", + "description": "Normal trading" + }, + { + "name": "TRADING_MODE_BATCH_AUCTION", + "number": "2", + "description": "Auction trading (FBA)" + }, + { + "name": "TRADING_MODE_OPENING_AUCTION", + "number": "3", + "description": "Opening auction" + }, + { + "name": "TRADING_MODE_MONITORING_AUCTION", + "number": "4", + "description": "Auction triggered by monitoring" + }, + { + "name": "TRADING_MODE_NO_TRADING", + "number": "5", + "description": "No trading is allowed" + }, + { + "name": "TRADING_MODE_SUSPENDED_VIA_GOVERNANCE", + "number": "6", + "description": "Special auction mode triggered via governance" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "AuctionDuration", + "longName": "AuctionDuration", + "fullName": "vega.AuctionDuration", + "description": "Auction duration is used to configure 3 auction periods:\n1. `duration \u003e 0`, `volume == 0`:\n The auction will last for at least N seconds\n2. `duration == 0`, `volume \u003e 0`:\n The auction will end once the given volume will match at uncrossing\n3. `duration \u003e 0`, `volume \u003e 0`:\n The auction will take at least N seconds, but can end sooner if the market can trade a certain volume", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "duration", + "description": "Duration of the auction in seconds.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "volume", + "description": "Target uncrossing trading volume.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DataSourceSpecToFutureBinding", + "longName": "DataSourceSpecToFutureBinding", + "fullName": "vega.DataSourceSpecToFutureBinding", + "description": "DataSourceSpecToFutureBinding describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "settlement_data_property", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the Future will use the value of\nthis property as settlement data.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trading_termination_property", + "description": "Name of the property in the data source data that signals termination of trading.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DataSourceSpecToPerpetualBinding", + "longName": "DataSourceSpecToPerpetualBinding", + "fullName": "vega.DataSourceSpecToPerpetualBinding", + "description": "Describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "settlement_data_property", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "settlement_schedule_property", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "FeeFactors", + "longName": "FeeFactors", + "fullName": "vega.FeeFactors", + "description": "Fee factors definition", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "maker_fee", + "description": "Market maker fee charged network wide.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "infrastructure_fee", + "description": "Infrastructure fee charged network wide for staking and governance.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "liquidity_fee", + "description": "Liquidity fee applied per market for market making.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Fees", + "longName": "Fees", + "fullName": "vega.Fees", + "description": "Fees definition", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "factors", + "description": "Fee factors.", + "label": "", + "type": "FeeFactors", + "longType": "FeeFactors", + "fullType": "vega.FeeFactors", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Future", + "longName": "Future", + "fullName": "vega.Future", + "description": "Future product definition", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "settlement_asset", + "description": "Underlying asset for the future.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "quote_name", + "description": "Quote name of the instrument.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_for_settlement_data", + "description": "Data source specification that describes the settlement data source filter.", + "label": "", + "type": "DataSourceSpec", + "longType": "DataSourceSpec", + "fullType": "vega.DataSourceSpec", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_for_trading_termination", + "description": "Data source specification that describes the trading termination data source filter.", + "label": "", + "type": "DataSourceSpec", + "longType": "DataSourceSpec", + "fullType": "vega.DataSourceSpec", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_binding", + "description": "Binding between the data spec and the data source.", + "label": "", + "type": "DataSourceSpecToFutureBinding", + "longType": "DataSourceSpecToFutureBinding", + "fullType": "vega.DataSourceSpecToFutureBinding", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Instrument", + "longName": "Instrument", + "fullName": "vega.Instrument", + "description": "Instrument definition", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique instrument ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "code", + "description": "Code for the instrument.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "Name of the instrument.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "metadata", + "description": "Collection of instrument meta-data.", + "label": "", + "type": "InstrumentMetadata", + "longType": "InstrumentMetadata", + "fullType": "vega.InstrumentMetadata", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "future", + "description": "Future.", + "label": "", + "type": "Future", + "longType": "Future", + "fullType": "vega.Future", + "ismap": false, + "isoneof": true, + "oneofdecl": "product", + "defaultValue": "" + }, + { + "name": "spot", + "description": "Spot.", + "label": "", + "type": "Spot", + "longType": "Spot", + "fullType": "vega.Spot", + "ismap": false, + "isoneof": true, + "oneofdecl": "product", + "defaultValue": "" + }, + { + "name": "perpetual", + "description": "Perpetual.", + "label": "", + "type": "Perpetual", + "longType": "Perpetual", + "fullType": "vega.Perpetual", + "ismap": false, + "isoneof": true, + "oneofdecl": "product", + "defaultValue": "" + } + ] + }, + { + "name": "InstrumentMetadata", + "longName": "InstrumentMetadata", + "fullName": "vega.InstrumentMetadata", + "description": "Instrument metadata definition", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "tags", + "description": "List of 0 or more tags.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityMonitoringParameters", + "longName": "LiquidityMonitoringParameters", + "fullName": "vega.LiquidityMonitoringParameters", + "description": "LiquidityMonitoringParameters contains settings used for liquidity monitoring", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "target_stake_parameters", + "description": "Specifies parameters related to target stake calculation.", + "label": "", + "type": "TargetStakeParameters", + "longType": "TargetStakeParameters", + "fullType": "vega.TargetStakeParameters", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "triggering_ratio", + "description": "Specifies the triggering ratio for entering liquidity auction.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "auction_extension", + "description": "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquiditySLAParameters", + "longName": "LiquiditySLAParameters", + "fullName": "vega.LiquiditySLAParameters", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "price_range", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "commitment_min_time_fraction", + "description": "Specifies the minimum fraction of time LPs must spend \"on the book\" providing their committed liquidity.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "providers_fee_calculation_time_step", + "description": "Specifies how often the quality of liquidity supplied by the LPs is evaluated and fees arising from that period are earmarked for specific parties.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "performance_hysteresis_epochs", + "description": "Specifies the number of liquidity epochs over which past performance will continue to affect rewards.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sla_competition_factor", + "description": "Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers\nthat achieved a higher SLA performance than them.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LogNormalModelParams", + "longName": "LogNormalModelParams", + "fullName": "vega.LogNormalModelParams", + "description": "Risk model parameters for log normal", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "mu", + "description": "Mu parameter, annualised growth rate of the underlying asset.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "r", + "description": "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sigma", + "description": "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LogNormalRiskModel", + "longName": "LogNormalRiskModel", + "fullName": "vega.LogNormalRiskModel", + "description": "Risk model for log normal", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "risk_aversion_parameter", + "description": "Risk Aversion Parameter.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tau", + "description": "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall\ncalculation to obtain the maintenance margin, must be a strictly non-negative real number.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "params", + "description": "Risk model parameters for log normal.", + "label": "", + "type": "LogNormalModelParams", + "longType": "LogNormalModelParams", + "fullType": "vega.LogNormalModelParams", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarginCalculator", + "longName": "MarginCalculator", + "fullName": "vega.MarginCalculator", + "description": "Margin Calculator definition", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "scaling_factors", + "description": "Scaling factors for margin calculation.", + "label": "", + "type": "ScalingFactors", + "longType": "ScalingFactors", + "fullType": "vega.ScalingFactors", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Market", + "longName": "Market", + "fullName": "vega.Market", + "description": "Market definition", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique ID for the market.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tradable_instrument", + "description": "Tradable instrument configuration.", + "label": "", + "type": "TradableInstrument", + "longType": "TradableInstrument", + "fullType": "vega.TradableInstrument", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "decimal_places", + "description": "Number of decimal places that a price must be shifted by in order to get a\ncorrect price denominated in the currency of the market, for example:\n`realPrice = price / 10^decimalPlaces`.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "fees", + "description": "Fees configuration that apply to the market.", + "label": "", + "type": "Fees", + "longType": "Fees", + "fullType": "vega.Fees", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "opening_auction", + "description": "Auction duration specifies how long the opening auction will run (minimum\nduration and optionally a minimum traded volume).", + "label": "", + "type": "AuctionDuration", + "longType": "AuctionDuration", + "fullType": "vega.AuctionDuration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price_monitoring_settings", + "description": "PriceMonitoringSettings for the market.", + "label": "", + "type": "PriceMonitoringSettings", + "longType": "PriceMonitoringSettings", + "fullType": "vega.PriceMonitoringSettings", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "liquidity_monitoring_parameters", + "description": "LiquidityMonitoringParameters for the market.", + "label": "", + "type": "LiquidityMonitoringParameters", + "longType": "LiquidityMonitoringParameters", + "fullType": "vega.LiquidityMonitoringParameters", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trading_mode", + "description": "Current mode of execution of the market.", + "label": "", + "type": "TradingMode", + "longType": "Market.TradingMode", + "fullType": "vega.Market.TradingMode", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "state", + "description": "Current state of the market.", + "label": "", + "type": "State", + "longType": "Market.State", + "fullType": "vega.Market.State", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_timestamps", + "description": "Timestamps for when the market state changes.", + "label": "", + "type": "MarketTimestamps", + "longType": "MarketTimestamps", + "fullType": "vega.MarketTimestamps", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "position_decimal_places", + "description": "The number of decimal places for a position.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "lp_price_range", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "linear_slippage_factor", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "quadratic_slippage_factor", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "parent_market_id", + "description": "ID of the market this market succeeds", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_parent_market_id", + "defaultValue": "" + }, + { + "name": "insurance_pool_fraction", + "description": "The fraction of the parent market's insurance pool that this market inherits; range 0 through 1.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_insurance_pool_fraction", + "defaultValue": "" + }, + { + "name": "successor_market_id", + "description": "ID of the market that succeeds this market if it exists. This will be populated by the system when the successor market is enabled.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_successor_market_id", + "defaultValue": "" + }, + { + "name": "liquidity_sla_params", + "description": "Liquidity SLA parameters for the market.", + "label": "optional", + "type": "LiquiditySLAParameters", + "longType": "LiquiditySLAParameters", + "fullType": "vega.LiquiditySLAParameters", + "ismap": false, + "isoneof": true, + "oneofdecl": "_liquidity_sla_params", + "defaultValue": "" + } + ] + }, + { + "name": "MarketTimestamps", + "longName": "MarketTimestamps", + "fullName": "vega.MarketTimestamps", + "description": "Time stamps for important times about creating, enacting etc the market", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposed", + "description": "Time when the market is first proposed.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pending", + "description": "Time when the market has been voted in and began its opening auction.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "open", + "description": "Time when the market has left the opening auction and is ready to accept trades.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "close", + "description": "Time when the market closed.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Perpetual", + "longName": "Perpetual", + "fullName": "vega.Perpetual", + "description": "Perpetual product definition", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "settlement_asset", + "description": "Underlying asset for the perpetual.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "quote_name", + "description": "Quote name of the instrument.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "margin_funding_factor", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1].", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "interest_rate", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1].", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "clamp_lower_bound", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "clamp_upper_bound", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_for_settlement_schedule", + "description": "Data source spec describing the data source for settlement schedule.", + "label": "", + "type": "DataSourceSpec", + "longType": "DataSourceSpec", + "fullType": "vega.DataSourceSpec", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_for_settlement_data", + "description": "Data source spec describing the data source for settlement.", + "label": "", + "type": "DataSourceSpec", + "longType": "DataSourceSpec", + "fullType": "vega.DataSourceSpec", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_binding", + "description": "Binding between the data source spec and the settlement data.", + "label": "", + "type": "DataSourceSpecToPerpetualBinding", + "longType": "DataSourceSpecToPerpetualBinding", + "fullType": "vega.DataSourceSpecToPerpetualBinding", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PriceMonitoringParameters", + "longName": "PriceMonitoringParameters", + "fullName": "vega.PriceMonitoringParameters", + "description": "PriceMonitoringParameters contains a collection of triggers to be used for a given market", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "triggers", + "description": "", + "label": "repeated", + "type": "PriceMonitoringTrigger", + "longType": "PriceMonitoringTrigger", + "fullType": "vega.PriceMonitoringTrigger", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PriceMonitoringSettings", + "longName": "PriceMonitoringSettings", + "fullName": "vega.PriceMonitoringSettings", + "description": "PriceMonitoringSettings contains the settings for price monitoring", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "parameters", + "description": "Specifies price monitoring parameters to be used for price monitoring purposes.", + "label": "", + "type": "PriceMonitoringParameters", + "longType": "PriceMonitoringParameters", + "fullType": "vega.PriceMonitoringParameters", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PriceMonitoringTrigger", + "longName": "PriceMonitoringTrigger", + "fullName": "vega.PriceMonitoringTrigger", + "description": "PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "horizon", + "description": "Price monitoring projection horizon τ in seconds.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "probability", + "description": "Price monitoring probability level p.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "auction_extension", + "description": "Price monitoring auction extension duration in seconds should the price\nbreach its theoretical level over the specified horizon at the specified\nprobability level.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ScalingFactors", + "longName": "ScalingFactors", + "fullName": "vega.ScalingFactors", + "description": "Scaling Factors (for use in margin calculation)", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "search_level", + "description": "Collateral search level. If collateral dips below this value,\nthe system will search for collateral to release.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "initial_margin", + "description": "Initial margin level. This is the minimum amount of collateral\nrequired to open a position in a market that requires margin.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "collateral_release", + "description": "Collateral release level. If a trader has collateral above this level,\nthe system will release collateral to a trader's general collateral account\nfor the asset.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SimpleModelParams", + "longName": "SimpleModelParams", + "fullName": "vega.SimpleModelParams", + "description": "Risk model parameters for simple modelling", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "factor_long", + "description": "Pre-defined risk factor value for long.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "factor_short", + "description": "Pre-defined risk factor value for short.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "max_move_up", + "description": "Pre-defined maximum price move up that the model considers as valid.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "min_move_down", + "description": "Pre-defined minimum price move down that the model considers as valid.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "probability_of_trading", + "description": "Pre-defined constant probability of trading.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SimpleRiskModel", + "longName": "SimpleRiskModel", + "fullName": "vega.SimpleRiskModel", + "description": "Risk model for simple modelling", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "params", + "description": "Risk model params for simple modelling.", + "label": "", + "type": "SimpleModelParams", + "longType": "SimpleModelParams", + "fullType": "vega.SimpleModelParams", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Spot", + "longName": "Spot", + "fullName": "vega.Spot", + "description": "Spot product definition", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "base_asset", + "description": "Asset ID of the underlying base asset for the spot product.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "quote_asset", + "description": "Asset ID of the underlying quote asset for the spot product.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "Name of the instrument.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TargetStakeParameters", + "longName": "TargetStakeParameters", + "fullName": "vega.TargetStakeParameters", + "description": "TargetStakeParameters contains parameters used in target stake calculation", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "time_window", + "description": "Specifies length of time window expressed in seconds for target stake calculation.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "scaling_factor", + "description": "Specifies scaling factors used in target stake calculation.", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TradableInstrument", + "longName": "TradableInstrument", + "fullName": "vega.TradableInstrument", + "description": "Tradable Instrument definition", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "instrument", + "description": "Details for the underlying instrument.", + "label": "", + "type": "Instrument", + "longType": "Instrument", + "fullType": "vega.Instrument", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "margin_calculator", + "description": "Margin calculator for the instrument.", + "label": "", + "type": "MarginCalculator", + "longType": "MarginCalculator", + "fullType": "vega.MarginCalculator", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "log_normal_risk_model", + "description": "Log normal.", + "label": "", + "type": "LogNormalRiskModel", + "longType": "LogNormalRiskModel", + "fullType": "vega.LogNormalRiskModel", + "ismap": false, + "isoneof": true, + "oneofdecl": "risk_model", + "defaultValue": "" + }, + { + "name": "simple_risk_model", + "description": "Simple.", + "label": "", + "type": "SimpleRiskModel", + "longType": "SimpleRiskModel", + "fullType": "vega.SimpleRiskModel", + "ismap": false, + "isoneof": true, + "oneofdecl": "risk_model", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/vega.proto", + "description": "", + "package": "vega", + "hasEnums": true, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [ + { + "name": "AccountType", + "longName": "AccountType", + "fullName": "vega.AccountType", + "description": "Various collateral/account types as used by Vega", + "values": [ + { + "name": "ACCOUNT_TYPE_UNSPECIFIED", + "number": "0", + "description": "Default value" + }, + { + "name": "ACCOUNT_TYPE_INSURANCE", + "number": "1", + "description": "Insurance pool accounts contain insurance pool funds for a market" + }, + { + "name": "ACCOUNT_TYPE_SETTLEMENT", + "number": "2", + "description": "Settlement accounts exist only during settlement or mark-to-market" + }, + { + "name": "ACCOUNT_TYPE_MARGIN", + "number": "3", + "description": "Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change" + }, + { + "name": "ACCOUNT_TYPE_GENERAL", + "number": "4", + "description": "General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements" + }, + { + "name": "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "number": "5", + "description": "Infrastructure accounts contain fees earned by providing infrastructure on Vega" + }, + { + "name": "ACCOUNT_TYPE_FEES_LIQUIDITY", + "number": "6", + "description": "Liquidity accounts contain fees earned by providing liquidity on Vega markets" + }, + { + "name": "ACCOUNT_TYPE_FEES_MAKER", + "number": "7", + "description": "This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place" + }, + { + "name": "ACCOUNT_TYPE_BOND", + "number": "9", + "description": "This account is created to maintain liquidity providers funds commitments" + }, + { + "name": "ACCOUNT_TYPE_EXTERNAL", + "number": "10", + "description": "External account represents an external source (deposit/withdrawal)" + }, + { + "name": "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "number": "11", + "description": "Global insurance account for the asset" + }, + { + "name": "ACCOUNT_TYPE_GLOBAL_REWARD", + "number": "12", + "description": "Global reward account for the asset" + }, + { + "name": "ACCOUNT_TYPE_PENDING_TRANSFERS", + "number": "13", + "description": "Per asset account used to store pending transfers (if any)" + }, + { + "name": "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "number": "14", + "description": "Per asset reward account for fees paid to makers" + }, + { + "name": "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "number": "15", + "description": "Per asset reward account for fees received by makers" + }, + { + "name": "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "number": "16", + "description": "Per asset reward account for fees received by liquidity providers" + }, + { + "name": "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "number": "17", + "description": "Per asset reward account for market proposers when the market goes above some trading threshold" + }, + { + "name": "ACCOUNT_TYPE_HOLDING", + "number": "18", + "description": "Per asset account for holding in-flight unfilled orders' funds" + }, + { + "name": "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "number": "19", + "description": "Network controlled liquidity provider's account, per market, to hold accrued liquidity fees." + }, + { + "name": "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "number": "20", + "description": "Network controlled liquidity fees bonus distribution account, per market." + }, + { + "name": "ACCOUNT_TYPE_NETWORK_TREASURY", + "number": "21", + "description": "Network controlled treasury" + } + ] + }, + { + "name": "AuctionTrigger", + "longName": "AuctionTrigger", + "fullName": "vega.AuctionTrigger", + "description": "Auction triggers indicate what condition triggered an auction (if market is in auction mode)", + "values": [ + { + "name": "AUCTION_TRIGGER_UNSPECIFIED", + "number": "0", + "description": "Default value for AuctionTrigger, no auction triggered" + }, + { + "name": "AUCTION_TRIGGER_BATCH", + "number": "1", + "description": "Batch auction" + }, + { + "name": "AUCTION_TRIGGER_OPENING", + "number": "2", + "description": "Opening auction" + }, + { + "name": "AUCTION_TRIGGER_PRICE", + "number": "3", + "description": "Price monitoring trigger" + }, + { + "name": "AUCTION_TRIGGER_LIQUIDITY", + "number": "4", + "description": "Deprecated" + }, + { + "name": "AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET", + "number": "5", + "description": "Liquidity auction due to not enough committed liquidity" + }, + { + "name": "AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS", + "number": "6", + "description": "Liquidity auction due to not being able to deploy LP orders because there's nothing to peg on one or both sides of the book" + }, + { + "name": "AUCTION_TRIGGER_GOVERNANCE_SUSPENSION", + "number": "7", + "description": "Market is suspended and put into auction via governance" + } + ] + }, + { + "name": "ChainStatus", + "longName": "ChainStatus", + "fullName": "vega.ChainStatus", + "description": "Vega blockchain status as reported by the node the caller is connected to", + "values": [ + { + "name": "CHAIN_STATUS_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "CHAIN_STATUS_DISCONNECTED", + "number": "1", + "description": "Blockchain is disconnected" + }, + { + "name": "CHAIN_STATUS_REPLAYING", + "number": "2", + "description": "Blockchain is replaying historic transactions" + }, + { + "name": "CHAIN_STATUS_CONNECTED", + "number": "3", + "description": "Blockchain is connected and receiving transactions" + } + ] + }, + { + "name": "Status", + "longName": "Deposit.Status", + "fullName": "vega.Deposit.Status", + "description": "Status of the deposit", + "values": [ + { + "name": "STATUS_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "STATUS_OPEN", + "number": "1", + "description": "Deposit is being processed by the network" + }, + { + "name": "STATUS_CANCELLED", + "number": "2", + "description": "Deposit has been cancelled by the network" + }, + { + "name": "STATUS_FINALIZED", + "number": "3", + "description": "Deposit has been finalised and accounts have been updated" + } + ] + }, + { + "name": "DispatchMetric", + "longName": "DispatchMetric", + "fullName": "vega.DispatchMetric", + "description": "", + "values": [ + { + "name": "DISPATCH_METRIC_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "DISPATCH_METRIC_MAKER_FEES_PAID", + "number": "1", + "description": "Dispatch metric that is using the total maker fees paid in the market" + }, + { + "name": "DISPATCH_METRIC_MAKER_FEES_RECEIVED", + "number": "2", + "description": "Dispatch metric that is using the total maker fees received in the market" + }, + { + "name": "DISPATCH_METRIC_LP_FEES_RECEIVED", + "number": "3", + "description": "Dispatch metric that is using the total LP fees received in the market" + }, + { + "name": "DISPATCH_METRIC_MARKET_VALUE", + "number": "4", + "description": "Dispatch metric that is using total value of the market if above the required threshold and not paid given proposer bonus yet" + } + ] + }, + { + "name": "EpochAction", + "longName": "EpochAction", + "fullName": "vega.EpochAction", + "description": "What epoch action has occurred", + "values": [ + { + "name": "EPOCH_ACTION_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "EPOCH_ACTION_START", + "number": "1", + "description": "Epoch update is for a new epoch." + }, + { + "name": "EPOCH_ACTION_END", + "number": "2", + "description": "Epoch update is for the end of an epoch." + } + ] + }, + { + "name": "Interval", + "longName": "Interval", + "fullName": "vega.Interval", + "description": "Represents a set of time intervals that are used when querying for candle-stick data", + "values": [ + { + "name": "INTERVAL_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "INTERVAL_BLOCK", + "number": "-1", + "description": "Block interval is not a fixed amount of time, rather it is used to indicate grouping of events that occur in a single block. It is usually about a second." + }, + { + "name": "INTERVAL_I1M", + "number": "60", + "description": "1 minute." + }, + { + "name": "INTERVAL_I5M", + "number": "300", + "description": "5 minutes." + }, + { + "name": "INTERVAL_I15M", + "number": "900", + "description": "15 minutes." + }, + { + "name": "INTERVAL_I1H", + "number": "3600", + "description": "1 hour." + }, + { + "name": "INTERVAL_I6H", + "number": "21600", + "description": "6 hours." + }, + { + "name": "INTERVAL_I1D", + "number": "86400", + "description": "1 day." + } + ] + }, + { + "name": "Status", + "longName": "LiquidityProvision.Status", + "fullName": "vega.LiquidityProvision.Status", + "description": "Status of a liquidity provision order.", + "values": [ + { + "name": "STATUS_UNSPECIFIED", + "number": "0", + "description": "Always invalid" + }, + { + "name": "STATUS_ACTIVE", + "number": "1", + "description": "Liquidity provision is active" + }, + { + "name": "STATUS_STOPPED", + "number": "2", + "description": "Liquidity provision was stopped by the network" + }, + { + "name": "STATUS_CANCELLED", + "number": "3", + "description": "Liquidity provision was cancelled by the liquidity provider" + }, + { + "name": "STATUS_REJECTED", + "number": "4", + "description": "Liquidity provision was invalid and got rejected" + }, + { + "name": "STATUS_UNDEPLOYED", + "number": "5", + "description": "Liquidity provision is valid and accepted by network, but orders aren't deployed" + }, + { + "name": "STATUS_PENDING", + "number": "6", + "description": "Liquidity provision is valid and accepted by network\nbut has never been deployed. If when it's possible to deploy the orders for the first time\nmargin check fails, then they will be cancelled without any penalties." + } + ] + }, + { + "name": "Status", + "longName": "LiquidityProvisionV2.Status", + "fullName": "vega.LiquidityProvisionV2.Status", + "description": "Status of a liquidity provision order.", + "values": [ + { + "name": "STATUS_UNSPECIFIED", + "number": "0", + "description": "Always invalid" + }, + { + "name": "STATUS_ACTIVE", + "number": "1", + "description": "Liquidity provision is active" + }, + { + "name": "STATUS_STOPPED", + "number": "2", + "description": "Liquidity provision was stopped by the network" + }, + { + "name": "STATUS_CANCELLED", + "number": "3", + "description": "Liquidity provision was cancelled by the liquidity provider" + }, + { + "name": "STATUS_REJECTED", + "number": "4", + "description": "Liquidity provision was invalid and got rejected" + }, + { + "name": "STATUS_UNDEPLOYED", + "number": "5", + "description": "Liquidity provision is valid and accepted by network, but orders aren't deployed" + }, + { + "name": "STATUS_PENDING", + "number": "6", + "description": "Liquidity provision is valid and accepted by network\nbut has never been deployed. If when it's possible to deploy the orders for the first time\nmargin check fails, then they will be cancelled without any penalties." + } + ] + }, + { + "name": "NodeStatus", + "longName": "NodeStatus", + "fullName": "vega.NodeStatus", + "description": "Node status type", + "values": [ + { + "name": "NODE_STATUS_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "NODE_STATUS_VALIDATOR", + "number": "1", + "description": "Node is a validating node" + }, + { + "name": "NODE_STATUS_NON_VALIDATOR", + "number": "2", + "description": "Node is a non-validating node" + } + ] + }, + { + "name": "Status", + "longName": "Order.Status", + "fullName": "vega.Order.Status", + "description": "Status values for an order", + "values": [ + { + "name": "STATUS_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "STATUS_ACTIVE", + "number": "1", + "description": "Used for active unfilled or partially filled orders" + }, + { + "name": "STATUS_EXPIRED", + "number": "2", + "description": "Used for expired GTT orders" + }, + { + "name": "STATUS_CANCELLED", + "number": "3", + "description": "Used for orders cancelled by the party that created the order" + }, + { + "name": "STATUS_STOPPED", + "number": "4", + "description": "Used for unfilled FOK or IOC orders, and for orders that were stopped by the network" + }, + { + "name": "STATUS_FILLED", + "number": "5", + "description": "Used for closed fully filled orders" + }, + { + "name": "STATUS_REJECTED", + "number": "6", + "description": "Used for orders when not enough collateral was available to fill the margin requirements" + }, + { + "name": "STATUS_PARTIALLY_FILLED", + "number": "7", + "description": "Used for closed partially filled IOC orders" + }, + { + "name": "STATUS_PARKED", + "number": "8", + "description": "Order has been removed from the order book and has been parked,\nthis applies to pegged orders and liquidity orders (orders created from a liquidity provision shape)" + } + ] + }, + { + "name": "TimeInForce", + "longName": "Order.TimeInForce", + "fullName": "vega.Order.TimeInForce", + "description": "Time In Force for an order", + "values": [ + { + "name": "TIME_IN_FORCE_UNSPECIFIED", + "number": "0", + "description": "Default value for TimeInForce, can be valid for an amend" + }, + { + "name": "TIME_IN_FORCE_GTC", + "number": "1", + "description": "Good until cancelled, the order trades any amount and as much as possible\nand remains on the book until it either trades completely or is cancelled" + }, + { + "name": "TIME_IN_FORCE_GTT", + "number": "2", + "description": "Good until specified time, this order type trades any amount and as much as possible\nand remains on the book until it either trades completely, is cancelled, or expires at a set time\nNOTE: this may in future be multiple types or have sub types for orders that provide different ways of specifying expiry" + }, + { + "name": "TIME_IN_FORCE_IOC", + "number": "3", + "description": "Immediate or cancel, the order trades any amount and as much as possible\nbut does not remain on the book (whether it trades or not)" + }, + { + "name": "TIME_IN_FORCE_FOK", + "number": "4", + "description": "Fill or kill, the order either trades completely i.e. remainingSize == 0 after adding,\nor not at all, and does not remain on the book if it doesn't trade" + }, + { + "name": "TIME_IN_FORCE_GFA", + "number": "5", + "description": "Good for auction, this order is only accepted during an auction period" + }, + { + "name": "TIME_IN_FORCE_GFN", + "number": "6", + "description": "Good for normal, this order is only accepted during normal trading (that can be continuous trading or frequent batched auctions)" + } + ] + }, + { + "name": "Type", + "longName": "Order.Type", + "fullName": "vega.Order.Type", + "description": "Type values for an order", + "values": [ + { + "name": "TYPE_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "TYPE_LIMIT", + "number": "1", + "description": "Used for Limit orders" + }, + { + "name": "TYPE_MARKET", + "number": "2", + "description": "Used for Market orders" + }, + { + "name": "TYPE_NETWORK", + "number": "3", + "description": "Used for orders where the initiating party is the network (with distressed parties)" + } + ] + }, + { + "name": "OrderError", + "longName": "OrderError", + "fullName": "vega.OrderError", + "description": "OrderError codes are returned in the Order.reason field - If there is an issue\nwith an order during its life-cycle, it will be marked with `status.ORDER_STATUS_REJECTED`", + "values": [ + { + "name": "ORDER_ERROR_UNSPECIFIED", + "number": "0", + "description": "Default value, no error reported" + }, + { + "name": "ORDER_ERROR_INVALID_MARKET_ID", + "number": "1", + "description": "Order was submitted for a market that does not exist" + }, + { + "name": "ORDER_ERROR_INVALID_ORDER_ID", + "number": "2", + "description": "Order was submitted with an invalid ID" + }, + { + "name": "ORDER_ERROR_OUT_OF_SEQUENCE", + "number": "3", + "description": "Order was amended with a sequence number that was not previous version + 1" + }, + { + "name": "ORDER_ERROR_INVALID_REMAINING_SIZE", + "number": "4", + "description": "Order was amended with an invalid remaining size (e.g. remaining greater than total size)" + }, + { + "name": "ORDER_ERROR_TIME_FAILURE", + "number": "5", + "description": "Node was unable to get Vega (blockchain) time" + }, + { + "name": "ORDER_ERROR_REMOVAL_FAILURE", + "number": "6", + "description": "Failed to remove an order from the book" + }, + { + "name": "ORDER_ERROR_INVALID_EXPIRATION_DATETIME", + "number": "7", + "description": "Order with `TimeInForce.TIME_IN_FORCE_GTT` was submitted or amended\nwith an expiration that was badly formatted or otherwise invalid" + }, + { + "name": "ORDER_ERROR_INVALID_ORDER_REFERENCE", + "number": "8", + "description": "Order was submitted or amended with an invalid reference field" + }, + { + "name": "ORDER_ERROR_EDIT_NOT_ALLOWED", + "number": "9", + "description": "Order amend was submitted for an order field that cannot not be amended (e.g. order ID)" + }, + { + "name": "ORDER_ERROR_AMEND_FAILURE", + "number": "10", + "description": "Amend failure because amend details do not match original order" + }, + { + "name": "ORDER_ERROR_NOT_FOUND", + "number": "11", + "description": "Order not found in an order book or store" + }, + { + "name": "ORDER_ERROR_INVALID_PARTY_ID", + "number": "12", + "description": "Order was submitted with an invalid or missing party ID" + }, + { + "name": "ORDER_ERROR_MARKET_CLOSED", + "number": "13", + "description": "Order was submitted for a market that has closed" + }, + { + "name": "ORDER_ERROR_MARGIN_CHECK_FAILED", + "number": "14", + "description": "Order was submitted, but the party did not have enough collateral to cover the order" + }, + { + "name": "ORDER_ERROR_MISSING_GENERAL_ACCOUNT", + "number": "15", + "description": "Order was submitted, but the party did not have an account for this asset" + }, + { + "name": "ORDER_ERROR_INTERNAL_ERROR", + "number": "16", + "description": "Unspecified internal error" + }, + { + "name": "ORDER_ERROR_INVALID_SIZE", + "number": "17", + "description": "Order was submitted with an invalid or missing size (e.g. 0)" + }, + { + "name": "ORDER_ERROR_INVALID_PERSISTENCE", + "number": "18", + "description": "Order was submitted with an invalid persistence for its type" + }, + { + "name": "ORDER_ERROR_INVALID_TYPE", + "number": "19", + "description": "Order was submitted with an invalid type field" + }, + { + "name": "ORDER_ERROR_SELF_TRADING", + "number": "20", + "description": "Order was stopped as it would have traded with another order submitted from the same party" + }, + { + "name": "ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES", + "number": "21", + "description": "Order was submitted, but the party did not have enough collateral to cover the fees for the order" + }, + { + "name": "ORDER_ERROR_INCORRECT_MARKET_TYPE", + "number": "22", + "description": "Order was submitted with an incorrect or invalid market type" + }, + { + "name": "ORDER_ERROR_INVALID_TIME_IN_FORCE", + "number": "23", + "description": "Order was submitted with invalid time in force" + }, + { + "name": "ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION", + "number": "24", + "description": "Good For Normal order has reached the market when it is in auction mode" + }, + { + "name": "ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING", + "number": "25", + "description": "Good For Auction order has reached the market when it is in continuous trading mode" + }, + { + "name": "ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT", + "number": "26", + "description": "Attempt to amend order to GTT without ExpiryAt" + }, + { + "name": "ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT", + "number": "27", + "description": "Attempt to amend ExpiryAt to a value before CreatedAt" + }, + { + "name": "ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT", + "number": "28", + "description": "Attempt to amend to GTC without an ExpiryAt value" + }, + { + "name": "ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC", + "number": "29", + "description": "Amending to FOK or IOC is invalid" + }, + { + "name": "ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN", + "number": "30", + "description": "Amending to GFA or GFN is invalid" + }, + { + "name": "ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN", + "number": "31", + "description": "Amending from GFA or GFN is invalid" + }, + { + "name": "ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION", + "number": "32", + "description": "IOC orders are not allowed during auction" + }, + { + "name": "ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION", + "number": "33", + "description": "FOK orders are not allowed during auction" + }, + { + "name": "ORDER_ERROR_MUST_BE_LIMIT_ORDER", + "number": "34", + "description": "Pegged orders must be LIMIT orders" + }, + { + "name": "ORDER_ERROR_MUST_BE_GTT_OR_GTC", + "number": "35", + "description": "Pegged orders can only have TIF GTC or GTT" + }, + { + "name": "ORDER_ERROR_WITHOUT_REFERENCE_PRICE", + "number": "36", + "description": "Pegged order must have a reference price" + }, + { + "name": "ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE", + "number": "37", + "description": "Buy pegged order cannot reference best ask price" + }, + { + "name": "ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO", + "number": "40", + "description": "Pegged order offset must be \u003e= 0" + }, + { + "name": "ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE", + "number": "41", + "description": "Sell pegged order cannot reference best bid price" + }, + { + "name": "ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO", + "number": "42", + "description": "Pegged order offset must be \u003e zero" + }, + { + "name": "ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE", + "number": "43", + "description": "Party has an insufficient balance, or does not have\na general account to submit the order (no deposits made\nfor the required asset)" + }, + { + "name": "ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER", + "number": "44", + "description": "Cannot amend details of a non pegged details" + }, + { + "name": "ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER", + "number": "45", + "description": "Could not re-price a pegged order because a market price is unavailable" + }, + { + "name": "ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER", + "number": "46", + "description": "It is not possible to amend the price of an existing pegged order" + }, + { + "name": "ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS", + "number": "47", + "description": "FOK, IOC, or GFN order was rejected because it resulted in trades outside the price bounds" + }, + { + "name": "ORDER_ERROR_TOO_MANY_PEGGED_ORDERS", + "number": "48", + "description": "Unable to submit pegged order, temporarily too many pegged orders across all markets" + }, + { + "name": "ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE", + "number": "49", + "description": "Post order would trade" + }, + { + "name": "ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION", + "number": "50", + "description": "Post order would trade" + } + ] + }, + { + "name": "PeggedReference", + "longName": "PeggedReference", + "fullName": "vega.PeggedReference", + "description": "Pegged reference defines which price point a pegged order is linked to - meaning\nthe price for a pegged order is calculated from the value of the reference price point", + "values": [ + { + "name": "PEGGED_REFERENCE_UNSPECIFIED", + "number": "0", + "description": "Default value for PeggedReference, no reference given" + }, + { + "name": "PEGGED_REFERENCE_MID", + "number": "1", + "description": "Mid price reference" + }, + { + "name": "PEGGED_REFERENCE_BEST_BID", + "number": "2", + "description": "Best bid price reference" + }, + { + "name": "PEGGED_REFERENCE_BEST_ASK", + "number": "3", + "description": "Best ask price reference" + } + ] + }, + { + "name": "PositionStatus", + "longName": "PositionStatus", + "fullName": "vega.PositionStatus", + "description": "Represents the status of a position", + "values": [ + { + "name": "POSITION_STATUS_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "POSITION_STATUS_ORDERS_CLOSED", + "number": "1", + "description": "" + }, + { + "name": "POSITION_STATUS_CLOSED_OUT", + "number": "2", + "description": "" + }, + { + "name": "POSITION_STATUS_DISTRESSED", + "number": "4", + "description": "" + } + ] + }, + { + "name": "Side", + "longName": "Side", + "fullName": "vega.Side", + "description": "Side relates to the direction of an order, to Buy, or Sell", + "values": [ + { + "name": "SIDE_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "SIDE_BUY", + "number": "1", + "description": "Buy order" + }, + { + "name": "SIDE_SELL", + "number": "2", + "description": "Sell order" + } + ] + }, + { + "name": "ExpiryStrategy", + "longName": "StopOrder.ExpiryStrategy", + "fullName": "vega.StopOrder.ExpiryStrategy", + "description": "", + "values": [ + { + "name": "EXPIRY_STRATEGY_UNSPECIFIED", + "number": "0", + "description": "Never valid" + }, + { + "name": "EXPIRY_STRATEGY_CANCELS", + "number": "1", + "description": "Stop order should be cancelled if the expiry time is reached." + }, + { + "name": "EXPIRY_STRATEGY_SUBMIT", + "number": "2", + "description": "Order should be submitted if the expiry time is reached." + } + ] + }, + { + "name": "Status", + "longName": "StopOrder.Status", + "fullName": "vega.StopOrder.Status", + "description": "", + "values": [ + { + "name": "STATUS_UNSPECIFIED", + "number": "0", + "description": "Never valid" + }, + { + "name": "STATUS_PENDING", + "number": "1", + "description": "Pending to be executed once the trigger is breached" + }, + { + "name": "STATUS_CANCELLED", + "number": "2", + "description": "Cancelled by the user" + }, + { + "name": "STATUS_STOPPED", + "number": "3", + "description": "Stopped by the network, e.g: OCO on the other side has been triggered" + }, + { + "name": "STATUS_TRIGGERED", + "number": "4", + "description": "Stop order has been triggered and generated an order" + }, + { + "name": "STATUS_EXPIRED", + "number": "5", + "description": "Stop order has expired" + }, + { + "name": "STATUS_REJECTED", + "number": "6", + "description": "Stop order was rejected at submission" + } + ] + }, + { + "name": "TriggerDirection", + "longName": "StopOrder.TriggerDirection", + "fullName": "vega.StopOrder.TriggerDirection", + "description": "", + "values": [ + { + "name": "TRIGGER_DIRECTION_UNSPECIFIED", + "number": "0", + "description": "Never valid" + }, + { + "name": "TRIGGER_DIRECTION_RISES_ABOVE", + "number": "1", + "description": "Stop order is triggered once the price rises above a certain level" + }, + { + "name": "TRIGGER_DIRECTION_FALLS_BELOW", + "number": "2", + "description": "Stop order is triggered once the price falls below a certain level" + } + ] + }, + { + "name": "Type", + "longName": "Trade.Type", + "fullName": "vega.Trade.Type", + "description": "Type values for a trade", + "values": [ + { + "name": "TYPE_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "TYPE_DEFAULT", + "number": "1", + "description": "Normal trading between two parties" + }, + { + "name": "TYPE_NETWORK_CLOSE_OUT_GOOD", + "number": "2", + "description": "Trading initiated by the network with another party on the book,\nwhich helps to zero-out the positions of one or more distressed parties" + }, + { + "name": "TYPE_NETWORK_CLOSE_OUT_BAD", + "number": "3", + "description": "Trading initiated by the network with another party off the book,\nwith a distressed party in order to zero-out the position of the party" + } + ] + }, + { + "name": "TransferType", + "longName": "TransferType", + "fullName": "vega.TransferType", + "description": "Transfers can occur between parties on Vega, these are the types that indicate why a transfer took place", + "values": [ + { + "name": "TRANSFER_TYPE_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "TRANSFER_TYPE_LOSS", + "number": "1", + "description": "Funds deducted after final settlement loss" + }, + { + "name": "TRANSFER_TYPE_WIN", + "number": "2", + "description": "Funds added to general account after final settlement gain" + }, + { + "name": "TRANSFER_TYPE_MTM_LOSS", + "number": "4", + "description": "Funds deducted from margin account after mark to market loss" + }, + { + "name": "TRANSFER_TYPE_MTM_WIN", + "number": "5", + "description": "Funds added to margin account after mark to market gain" + }, + { + "name": "TRANSFER_TYPE_MARGIN_LOW", + "number": "6", + "description": "Funds transferred from general account to meet margin requirement" + }, + { + "name": "TRANSFER_TYPE_MARGIN_HIGH", + "number": "7", + "description": "Excess margin amount returned to general account" + }, + { + "name": "TRANSFER_TYPE_MARGIN_CONFISCATED", + "number": "8", + "description": "Margin confiscated from margin account to fulfil closeout" + }, + { + "name": "TRANSFER_TYPE_MAKER_FEE_PAY", + "number": "9", + "description": "Maker fee paid from general account" + }, + { + "name": "TRANSFER_TYPE_MAKER_FEE_RECEIVE", + "number": "10", + "description": "Maker fee received into general account" + }, + { + "name": "TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY", + "number": "11", + "description": "Infrastructure fee paid from general account" + }, + { + "name": "TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE", + "number": "12", + "description": "Infrastructure fee received into general account" + }, + { + "name": "TRANSFER_TYPE_LIQUIDITY_FEE_PAY", + "number": "13", + "description": "Liquidity fee paid from general account" + }, + { + "name": "TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE", + "number": "14", + "description": "Liquidity fee received into general account" + }, + { + "name": "TRANSFER_TYPE_BOND_LOW", + "number": "15", + "description": "Bond account funded from general account to meet required bond amount" + }, + { + "name": "TRANSFER_TYPE_BOND_HIGH", + "number": "16", + "description": "Bond returned to general account after liquidity commitment was reduced" + }, + { + "name": "TRANSFER_TYPE_WITHDRAW", + "number": "18", + "description": "Funds withdrawn from general account" + }, + { + "name": "TRANSFER_TYPE_DEPOSIT", + "number": "19", + "description": "Funds deposited to general account" + }, + { + "name": "TRANSFER_TYPE_BOND_SLASHING", + "number": "20", + "description": "Bond account penalised when liquidity commitment not met" + }, + { + "name": "TRANSFER_TYPE_REWARD_PAYOUT", + "number": "21", + "description": "Reward payout received" + }, + { + "name": "TRANSFER_TYPE_TRANSFER_FUNDS_SEND", + "number": "22", + "description": "Internal Vega network instruction for the collateral engine to move funds from a user's general account into the pending transfers pool" + }, + { + "name": "TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE", + "number": "23", + "description": "Internal Vega network instruction for the collateral engine to move funds from the pending transfers pool account into the destination account" + }, + { + "name": "TRANSFER_TYPE_CLEAR_ACCOUNT", + "number": "24", + "description": "Market-related accounts emptied because market has closed" + }, + { + "name": "TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE", + "number": "25", + "description": "Balances restored after network restart" + }, + { + "name": "TRANSFER_TYPE_SPOT", + "number": "26", + "description": "Spot trade delivery" + }, + { + "name": "TRANSFER_TYPE_HOLDING_LOCK", + "number": "27", + "description": "An internal instruction to transfer a quantity corresponding to an active spot order from a general account into a party holding account." + }, + { + "name": "TRANSFER_TYPE_HOLDING_RELEASE", + "number": "28", + "description": "An internal instruction to transfer an excess quantity corresponding to an active spot order from a holding account into a party general account." + }, + { + "name": "TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION", + "number": "29", + "description": "Insurance pool fraction transfer from parent to successor market." + }, + { + "name": "TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE", + "number": "30", + "description": "Allocates liquidity fee earnings to each liquidity provider's network controlled liquidity fee account." + }, + { + "name": "TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE", + "number": "31", + "description": "Distributes net fee earnings from liquidity provider's fee account to their general account." + }, + { + "name": "TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY", + "number": "32", + "description": "Applies SLA penalty by moving funds from party's bond account to market's insurance pool." + }, + { + "name": "TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY", + "number": "33", + "description": "Applies SLA penalty by moving funds from the liquidity provider's fee account to market insurance pool." + }, + { + "name": "TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT", + "number": "34", + "description": "Collects penalties from the liquidity provider's fee account before the fee revenue is paid, and transfers it to the market's bonus distribution account." + }, + { + "name": "TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE", + "number": "35", + "description": "Distributes performance bonus from market bonus to liquidity provider's general account." + }, + { + "name": "TRANSFER_TYPE_PERP_FUNDING_LOSS", + "number": "36", + "description": "Funds deducted from margin account after a perpetuals funding loss." + }, + { + "name": "TRANSFER_TYPE_PERP_FUNDING_WIN", + "number": "37", + "description": "Funds added to margin account after a perpetuals funding gain." + } + ] + }, + { + "name": "ValidatorNodeStatus", + "longName": "ValidatorNodeStatus", + "fullName": "vega.ValidatorNodeStatus", + "description": "Validation status of the node", + "values": [ + { + "name": "VALIDATOR_NODE_STATUS_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "VALIDATOR_NODE_STATUS_TENDERMINT", + "number": "1", + "description": "Node is a tendermint validator" + }, + { + "name": "VALIDATOR_NODE_STATUS_ERSATZ", + "number": "2", + "description": "Node is an ersatz validator" + }, + { + "name": "VALIDATOR_NODE_STATUS_PENDING", + "number": "3", + "description": "Node is a pending validator" + } + ] + }, + { + "name": "Status", + "longName": "Withdrawal.Status", + "fullName": "vega.Withdrawal.Status", + "description": "Status of the withdrawal", + "values": [ + { + "name": "STATUS_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "STATUS_OPEN", + "number": "1", + "description": "Withdrawal is open and being processed by the network" + }, + { + "name": "STATUS_REJECTED", + "number": "2", + "description": "Withdrawal have been cancelled" + }, + { + "name": "STATUS_FINALIZED", + "number": "3", + "description": "Withdrawal went through and is fully finalised, the funds are removed from the\nVega network and are unlocked on the foreign chain bridge, for example, on the Ethereum network" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "Account", + "longName": "Account", + "fullName": "vega.Account", + "description": "Represents an account for an asset on Vega for a particular owner or party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique account ID, used internally by Vega.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "owner", + "description": "Party that the account belongs to, special values include `network`, which represents the Vega network and is\nmost commonly seen during liquidation of distressed trading positions.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "balance", + "description": "Balance of the asset, the balance is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places\nand importantly balances cannot be negative.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "Asset ID for the account.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID for the account, if `AccountType.ACCOUNT_TYPE_GENERAL` this will be empty.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Account type related to this account.", + "label": "", + "type": "AccountType", + "longType": "AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AccountDetails", + "longName": "AccountDetails", + "fullName": "vega.AccountDetails", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "asset_id", + "description": "Asset ID of the asset for this account.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Type of the account.", + "label": "", + "type": "AccountType", + "longType": "AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "owner", + "description": "Not specified if network account.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_owner", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Not specified if account is not related to a market.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_market_id", + "defaultValue": "" + } + ] + }, + { + "name": "AuctionIndicativeState", + "longName": "AuctionIndicativeState", + "fullName": "vega.AuctionIndicativeState", + "description": "AuctionIndicativeState is used to emit an event with the indicative price/volume per market during an auction", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for which this state relates to.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "indicative_price", + "description": "Indicative uncrossing price is the price at which all trades would occur if the auction uncrossed now.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "indicative_volume", + "description": "Indicative uncrossing volume is the volume available at the indicative crossing price if the auction uncrossed now.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "auction_start", + "description": "Timestamp at which the auction started.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "auction_end", + "description": "Timestamp at which the auction is meant to stop.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Candle", + "longName": "Candle", + "fullName": "vega.Candle", + "description": "Represents the high, low, open, and closing prices for an interval of trading,\nreferred to commonly as a candlestick or candle", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "timestamp", + "description": "Timestamp in Unix nanoseconds for the point in time when the candle was initially created/opened.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "datetime", + "description": "ISO-8601 datetime with nanosecond precision for when the candle was last updated.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "high", + "description": "Highest price for trading during the candle interval. This field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "low", + "description": "Lowest price for trading during the candle interval. This field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "open", + "description": "Open trade price. This field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "close", + "description": "Closing trade price. This field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "volume", + "description": "Total trading volume during the candle interval.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "interval", + "description": "Time interval for the candle.", + "label": "", + "type": "Interval", + "longType": "Interval", + "fullType": "vega.Interval", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "notional", + "description": "Total notional value traded during the candle interval.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Delegation", + "longName": "Delegation", + "fullName": "vega.Delegation", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "Party which is delegating.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "node_id", + "description": "Node ID to delegate to.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount delegated. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "Epoch of delegation.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Deposit", + "longName": "Deposit", + "fullName": "vega.Deposit", + "description": "Deposit on to the Vega network", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique ID for the deposit.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Status of the deposit.", + "label": "", + "type": "Status", + "longType": "Deposit.Status", + "fullType": "vega.Deposit.Status", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID of the user initiating the deposit.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "Vega asset targeted by this deposit.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount to be deposited. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tx_hash", + "description": "Hash of the transaction from the foreign chain.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "credited_timestamp", + "description": "Timestamp for when the Vega account was updated with the deposit.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "created_timestamp", + "description": "Timestamp for when the deposit was created on the Vega network.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DispatchStrategy", + "longName": "DispatchStrategy", + "fullName": "vega.DispatchStrategy", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset_for_metric", + "description": "Asset to use for metric.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "metric", + "description": "Metric to apply.", + "label": "", + "type": "DispatchMetric", + "longType": "DispatchMetric", + "fullType": "vega.DispatchMetric", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "markets", + "description": "Optional markets in scope.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Epoch", + "longName": "Epoch", + "fullName": "vega.Epoch", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "seq", + "description": "Sequence is used as epoch ID.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamps", + "description": "Timestamps for start/end etc.", + "label": "", + "type": "EpochTimestamps", + "longType": "EpochTimestamps", + "fullType": "vega.EpochTimestamps", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validators", + "description": "Validators that participated in this epoch.", + "label": "repeated", + "type": "Node", + "longType": "Node", + "fullType": "vega.Node", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "delegations", + "description": "List of all delegations in epoch.", + "label": "repeated", + "type": "Delegation", + "longType": "Delegation", + "fullType": "vega.Delegation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EpochData", + "longName": "EpochData", + "fullName": "vega.EpochData", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "total", + "description": "Total number of epochs since node was created.", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "offline", + "description": "Total number of offline epochs since node was created.", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "online", + "description": "Total number of online epochs since node was created.", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EpochParticipation", + "longName": "EpochParticipation", + "fullName": "vega.EpochParticipation", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "epoch", + "description": "", + "label": "", + "type": "Epoch", + "longType": "Epoch", + "fullType": "vega.Epoch", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "offline", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "online", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_rewards", + "description": "", + "label": "", + "type": "double", + "longType": "double", + "fullType": "double", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EpochRewardSummary", + "longName": "EpochRewardSummary", + "fullName": "vega.EpochRewardSummary", + "description": "Details for rewards for a combination of asset, market, and reward type in a given epoch", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "epoch", + "description": "Epoch in which the reward is being paid.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset_id", + "description": "Asset ID in which the reward is being paid.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID in which the reward is being paid.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reward_type", + "description": "Type of reward being paid.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount distributed. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EpochTimestamps", + "longName": "EpochTimestamps", + "fullName": "vega.EpochTimestamps", + "description": "Describes in both human readable and block time when an epoch spans", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "start_time", + "description": "Timestamp in Unix nanoseconds for when epoch started.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expiry_time", + "description": "Timestamp in Unix nanoseconds for the epoch's expiry.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "end_time", + "description": "Timestamp in Unix nanoseconds for when the epoch ended, empty if not ended.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "first_block", + "description": "Height of first block in the epoch.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_block", + "description": "Height of last block in the epoch, empty if not ended.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Erc20WithdrawExt", + "longName": "Erc20WithdrawExt", + "fullName": "vega.Erc20WithdrawExt", + "description": "Extension of data required for the withdraw submissions", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "receiver_address", + "description": "Address into which the bridge will release the funds.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ErrorDetail", + "longName": "ErrorDetail", + "fullName": "vega.ErrorDetail", + "description": "Represents Vega domain specific error information over gRPC/Protobuf", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "code", + "description": "Vega API domain specific unique error code, useful for client side mappings, e.g. 10004.", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "message", + "description": "Message that describes the error in more detail, should describe the problem encountered.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "inner", + "description": "Any inner error information that could add more context, or be helpful for error reporting.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EthereumConfig", + "longName": "EthereumConfig", + "fullName": "vega.EthereumConfig", + "description": "Ethereum configuration details.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "network_id", + "description": "Network ID of this Ethereum network.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "chain_id", + "description": "Chain ID of this Ethereum network.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "collateral_bridge_contract", + "description": "Contract configuration of the collateral bridge contract for this Ethereum network.", + "label": "", + "type": "EthereumContractConfig", + "longType": "EthereumContractConfig", + "fullType": "vega.EthereumContractConfig", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "confirmations", + "description": "Number of block confirmations to wait to consider an Ethereum transaction trusted.\nAn Ethereum block is trusted when there are at least \"n\" blocks confirmed by the\nnetwork, \"n\" being the number of `confirmations` required. If `confirmations` was set to `3`,\nand the current block to be forged (or mined) on Ethereum is block 14, block\n10 would be considered as trusted, but not block 11.", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "staking_bridge_contract", + "description": "Contract configuration of the stacking bridge contract for this Ethereum network.", + "label": "", + "type": "EthereumContractConfig", + "longType": "EthereumContractConfig", + "fullType": "vega.EthereumContractConfig", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "token_vesting_contract", + "description": "Contract configuration of the token vesting contract for this Ethereum network.", + "label": "", + "type": "EthereumContractConfig", + "longType": "EthereumContractConfig", + "fullType": "vega.EthereumContractConfig", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "multisig_control_contract", + "description": "Contract configuration of the multisig control contract for this Ethereum network.", + "label": "", + "type": "EthereumContractConfig", + "longType": "EthereumContractConfig", + "fullType": "vega.EthereumContractConfig", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EthereumContractConfig", + "longName": "EthereumContractConfig", + "fullName": "vega.EthereumContractConfig", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "address", + "description": "Address of the contract for this Ethereum network. The address should start with \"0x\".", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "deployment_block_height", + "description": "Block height at which the stacking contract has been deployed for this Ethereum network.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Fee", + "longName": "Fee", + "fullName": "vega.Fee", + "description": "Represents any fees paid by a party, resulting from a trade", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "maker_fee", + "description": "Fee amount paid to the non-aggressive party of the trade. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "infrastructure_fee", + "description": "Fee amount paid for maintaining the Vega infrastructure. This field is an unsigned integer scaled using the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "liquidity_fee", + "description": "Fee amount paid to market makers. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "FinancialAmount", + "longName": "FinancialAmount", + "fullName": "vega.FinancialAmount", + "description": "Asset value information used within a transfer", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "amount", + "description": "Unsigned integer amount of asset scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "Asset ID the amount applies to.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "IcebergOrder", + "longName": "IcebergOrder", + "fullName": "vega.IcebergOrder", + "description": "Details of an iceberg order", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "peak_size", + "description": "Size of the order that will be made visible if the iceberg order is replenished after trading.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "minimum_visible_size", + "description": "If the visible size of the order falls below this value, it will be replenished back to the peak size using the reserved amount.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reserved_remaining", + "description": "Size of the order that is reserved and used to restore the iceberg's peak when it is refreshed.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "KeyValueBundle", + "longName": "KeyValueBundle", + "fullName": "vega.KeyValueBundle", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tolerance", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "value", + "description": "", + "label": "", + "type": "StateVarValue", + "longType": "StateVarValue", + "fullType": "vega.StateVarValue", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LedgerEntry", + "longName": "LedgerEntry", + "fullName": "vega.LedgerEntry", + "description": "Represents a ledger entry on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "from_account", + "description": "One or more accounts to transfer from.", + "label": "", + "type": "AccountDetails", + "longType": "AccountDetails", + "fullType": "vega.AccountDetails", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "to_account", + "description": "One or more accounts to transfer to.", + "label": "", + "type": "AccountDetails", + "longType": "AccountDetails", + "fullType": "vega.AccountDetails", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount to transfer. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Transfer type for this entry.", + "label": "", + "type": "TransferType", + "longType": "TransferType", + "fullType": "vega.TransferType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "Timestamp in nanoseconds of when the ledger entry was created.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "from_account_balance", + "description": "Sender account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "to_account_balance", + "description": "Receiver account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LedgerMovement", + "longName": "LedgerMovement", + "fullName": "vega.LedgerMovement", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "entries", + "description": "All the entries for these ledger movements.", + "label": "repeated", + "type": "LedgerEntry", + "longType": "LedgerEntry", + "fullType": "vega.LedgerEntry", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "balances", + "description": "Resulting balances once the ledger movement are applied.", + "label": "repeated", + "type": "PostTransferBalance", + "longType": "PostTransferBalance", + "fullType": "vega.PostTransferBalance", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityOrder", + "longName": "LiquidityOrder", + "fullName": "vega.LiquidityOrder", + "description": "Represents a liquidity order", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "reference", + "description": "Pegged reference point for the order.", + "label": "", + "type": "PeggedReference", + "longType": "PeggedReference", + "fullType": "vega.PeggedReference", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "proportion", + "description": "Relative proportion of the commitment to be allocated at a price level.", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "offset", + "description": "Offset/amount of units away for the order. This field is an unsigned integer scaled using the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityOrderReference", + "longName": "LiquidityOrderReference", + "fullName": "vega.LiquidityOrderReference", + "description": "Pair of a liquidity order and the ID of the generated order", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "order_id", + "description": "Unique ID of the pegged order generated to fulfil this liquidity order.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "liquidity_order", + "description": "Liquidity order from the original submission.", + "label": "", + "type": "LiquidityOrder", + "longType": "LiquidityOrder", + "fullType": "vega.LiquidityOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityProviderFeeShare", + "longName": "LiquidityProviderFeeShare", + "fullName": "vega.LiquidityProviderFeeShare", + "description": "Equity like share of liquidity fee for each liquidity provider", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "Liquidity provider party ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "equity_like_share", + "description": "Share own by this liquidity provider.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "average_entry_valuation", + "description": "Average entry valuation of the liquidity provider for the market.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "average_score", + "description": "Average liquidity score.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "virtual_stake", + "description": "The virtual stake of this liquidity provider.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityProvision", + "longName": "LiquidityProvision", + "fullName": "vega.LiquidityProvision", + "description": "Liquidity provider commitment", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique ID for the liquidity provision.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Unique party ID for the creator of the provision.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "created_at", + "description": "Timestamp in Unix nanoseconds for when the order was created.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "updated_at", + "description": "Timestamp in Unix nanoseconds for when the order was updated.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID for the order.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "commitment_amount", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "fee", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sells", + "description": "Set of liquidity sell orders to meet the liquidity provision obligation.", + "label": "repeated", + "type": "LiquidityOrderReference", + "longType": "LiquidityOrderReference", + "fullType": "vega.LiquidityOrderReference", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buys", + "description": "Set of liquidity buy orders to meet the liquidity provision obligation.", + "label": "repeated", + "type": "LiquidityOrderReference", + "longType": "LiquidityOrderReference", + "fullType": "vega.LiquidityOrderReference", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "version", + "description": "Version of this liquidity provision order.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Status of this liquidity provision order.", + "label": "", + "type": "Status", + "longType": "LiquidityProvision.Status", + "fullType": "vega.LiquidityProvision.Status", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference", + "description": "Reference shared between this liquidity provision and all its orders.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityProvisionV2", + "longName": "LiquidityProvisionV2", + "fullName": "vega.LiquidityProvisionV2", + "description": "Liquidity provider commitment", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique ID for the liquidity provision.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Unique party ID for the creator of the provision.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "created_at", + "description": "Timestamp in Unix nanoseconds for when the order was created.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "updated_at", + "description": "Timestamp in Unix nanoseconds for when the order was updated.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID for the order.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "commitment_amount", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "fee", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sells", + "description": "Set of liquidity sell orders to meet the liquidity provision obligation.", + "label": "repeated", + "type": "LiquidityOrderReference", + "longType": "LiquidityOrderReference", + "fullType": "vega.LiquidityOrderReference", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buys", + "description": "Set of liquidity buy orders to meet the liquidity provision obligation.", + "label": "repeated", + "type": "LiquidityOrderReference", + "longType": "LiquidityOrderReference", + "fullType": "vega.LiquidityOrderReference", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "version", + "description": "Version of this liquidity provision order.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Status of this liquidity provision order.", + "label": "", + "type": "Status", + "longType": "LiquidityProvisionV2.Status", + "fullType": "vega.LiquidityProvisionV2.Status", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference", + "description": "Reference shared between this liquidity provision and all its orders.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarginLevels", + "longName": "MarginLevels", + "fullName": "vega.MarginLevels", + "description": "Represents the margin levels for a party on a market at a given time", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "maintenance_margin", + "description": "Maintenance margin value. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "search_level", + "description": "Margin search level value. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "initial_margin", + "description": "Initial margin value. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "collateral_release_level", + "description": "Collateral release level value. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID for whom the margin levels apply.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID for which the margin levels apply.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "Asset ID for which the margin levels apply.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "Timestamp in Unix nanoseconds for when the ledger entry was created.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketData", + "longName": "MarketData", + "fullName": "vega.MarketData", + "description": "Represents data generated by a market when open", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "mark_price", + "description": "Mark price, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "best_bid_price", + "description": "Highest price level on an order book for buy orders, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "best_bid_volume", + "description": "Aggregated volume being bid at the best bid price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "best_offer_price", + "description": "Lowest price level on an order book for offer orders. This field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "best_offer_volume", + "description": "Aggregated volume being offered at the best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "best_static_bid_price", + "description": "Highest price on the order book for buy orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "best_static_bid_volume", + "description": "Total volume at the best static bid price excluding pegged orders.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "best_static_offer_price", + "description": "Lowest price on the order book for sell orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "best_static_offer_volume", + "description": "Total volume at the best static offer price, excluding pegged orders.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "mid_price", + "description": "Arithmetic average of the best bid price and best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "static_mid_price", + "description": "Arithmetic average of the best static bid price and best static offer price.\nThis field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market", + "description": "Market ID for the data", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "Timestamp in Unix nanoseconds at which this mark price was relevant.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "open_interest", + "description": "Sum of the size of all positions greater than zero on the market.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "auction_end", + "description": "Time in seconds until the end of the auction (zero if currently not in auction period).", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "auction_start", + "description": "Time until next auction, or start time of the current auction if market is in auction period.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "indicative_price", + "description": "Indicative price (zero if not in auction). This field is an unsigned scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "indicative_volume", + "description": "Indicative volume (zero if not in auction).", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_trading_mode", + "description": "Current trading mode for the market.", + "label": "", + "type": "TradingMode", + "longType": "Market.TradingMode", + "fullType": "vega.Market.TradingMode", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trigger", + "description": "When a market is in an auction trading mode, this field indicates what triggered the auction.", + "label": "", + "type": "AuctionTrigger", + "longType": "AuctionTrigger", + "fullType": "vega.AuctionTrigger", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "extension_trigger", + "description": "When a market auction is extended, this field indicates what caused the extension.", + "label": "", + "type": "AuctionTrigger", + "longType": "AuctionTrigger", + "fullType": "vega.AuctionTrigger", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "target_stake", + "description": "Targeted stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "supplied_stake", + "description": "Available stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price_monitoring_bounds", + "description": "One or more price monitoring bounds for the current timestamp.", + "label": "repeated", + "type": "PriceMonitoringBounds", + "longType": "PriceMonitoringBounds", + "fullType": "vega.PriceMonitoringBounds", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_value_proxy", + "description": "Market value proxy.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "liquidity_provider_fee_share", + "description": "Equity like share of liquidity fee for each liquidity provider.", + "label": "repeated", + "type": "LiquidityProviderFeeShare", + "longType": "LiquidityProviderFeeShare", + "fullType": "vega.LiquidityProviderFeeShare", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_state", + "description": "Current state of the market.", + "label": "", + "type": "State", + "longType": "Market.State", + "fullType": "vega.Market.State", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "next_mark_to_market", + "description": "Time in Unix nanoseconds when the next mark-to-market calculation will occur.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_traded_price", + "description": "Last traded price of the market. This field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_growth", + "description": "Market growth at the last market time window.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketDepth", + "longName": "MarketDepth", + "fullName": "vega.MarketDepth", + "description": "Represents market depth or order book data for the specified market on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for which the depth levels apply.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buy", + "description": "Collection of price levels for the buy side of the book.", + "label": "repeated", + "type": "PriceLevel", + "longType": "PriceLevel", + "fullType": "vega.PriceLevel", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sell", + "description": "Collection of price levels for the sell side of the book.", + "label": "repeated", + "type": "PriceLevel", + "longType": "PriceLevel", + "fullType": "vega.PriceLevel", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sequence_number", + "description": "Sequence number for the market depth data returned.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketDepthUpdate", + "longName": "MarketDepthUpdate", + "fullName": "vega.MarketDepthUpdate", + "description": "Represents the changed market depth since the last update", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for which the market depth updates are for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buy", + "description": "Collection of updated price levels for the buy side of the book.", + "label": "repeated", + "type": "PriceLevel", + "longType": "PriceLevel", + "fullType": "vega.PriceLevel", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sell", + "description": "Collection of updated price levels for the sell side of the book.", + "label": "repeated", + "type": "PriceLevel", + "longType": "PriceLevel", + "fullType": "vega.PriceLevel", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sequence_number", + "description": "Sequence number for the market depth update data returned. It is increasing but not monotonic.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "previous_sequence_number", + "description": "Sequence number of the previous market depth update, for checking there are no gaps.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MatrixValue", + "longName": "MatrixValue", + "fullName": "vega.MatrixValue", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "value", + "description": "", + "label": "repeated", + "type": "VectorValue", + "longType": "VectorValue", + "fullType": "vega.VectorValue", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NetworkLimits", + "longName": "NetworkLimits", + "fullName": "vega.NetworkLimits", + "description": "Network limits, defined in the genesis file", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "can_propose_market", + "description": "Are market proposals allowed at this point in time.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "can_propose_asset", + "description": "Are asset proposals allowed at this point in time.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "propose_market_enabled", + "description": "Are market proposals enabled on this chain.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "propose_asset_enabled", + "description": "Are asset proposals enabled on this chain.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "genesis_loaded", + "description": "True once the genesis file is loaded.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "propose_market_enabled_from", + "description": "Timestamp in Unix nanoseconds at which market proposals will be enabled (0 indicates not set).", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "propose_asset_enabled_from", + "description": "Timestamp in Unix nanoseconds at which asset proposals will be enabled (0 indicates not set).", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "can_propose_spot_market", + "description": "Are spot market proposals allowed at this point in time.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "can_propose_perpetual_market", + "description": "Are perpetual market proposals allowed at this point in time.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NetworkParameter", + "longName": "NetworkParameter", + "fullName": "vega.NetworkParameter", + "description": "Represents a network parameter on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "Unique key of the network parameter.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "value", + "description": "Value for the network parameter.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Node", + "longName": "Node", + "fullName": "vega.Node", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Node ID i.e. the node's wallet ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pub_key", + "description": "Public key of the node operator.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tm_pub_key", + "description": "Public key of Tendermint.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ethereum_address", + "description": "Ethereum public key of the node.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "info_url", + "description": "URL where users can find out more information on the node.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "location", + "description": "Country code for the location of the node.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "staked_by_operator", + "description": "Amount the node operator has put up themselves. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "staked_by_delegates", + "description": "Amount of stake that has been delegated by token holders. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "staked_total", + "description": "Total amount staked on node. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "max_intended_stake", + "description": "Max amount of (wanted) stake. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pending_stake", + "description": "Amount of stake on the next epoch. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_data", + "description": "Information about epoch.", + "label": "", + "type": "EpochData", + "longType": "EpochData", + "fullType": "vega.EpochData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Node status.", + "label": "", + "type": "NodeStatus", + "longType": "NodeStatus", + "fullType": "vega.NodeStatus", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "delegations", + "description": "Node's delegations.", + "label": "repeated", + "type": "Delegation", + "longType": "Delegation", + "fullType": "vega.Delegation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reward_score", + "description": "Node reward score.", + "label": "", + "type": "RewardScore", + "longType": "RewardScore", + "fullType": "vega.RewardScore", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ranking_score", + "description": "Node ranking information.", + "label": "", + "type": "RankingScore", + "longType": "RankingScore", + "fullType": "vega.RankingScore", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "Node name.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "avatar_url", + "description": "Avatar url.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NodeData", + "longName": "NodeData", + "fullName": "vega.NodeData", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "staked_total", + "description": "Total staked amount across all nodes. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_nodes", + "description": "Total number of nodes across all node sets.", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "inactive_nodes", + "description": "Total number of nodes that had a performance score of 0 at the end of the last epoch.", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tendermint_nodes", + "description": "Details on the set of consensus nodes in the network.", + "label": "", + "type": "NodeSet", + "longType": "NodeSet", + "fullType": "vega.NodeSet", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ersatz_nodes", + "description": "Details on the set of ersatz (standby) nodes in the network.", + "label": "", + "type": "NodeSet", + "longType": "NodeSet", + "fullType": "vega.NodeSet", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pending_nodes", + "description": "Details on the set of pending nodes in the network.", + "label": "", + "type": "NodeSet", + "longType": "NodeSet", + "fullType": "vega.NodeSet", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "uptime", + "description": "Total uptime for all epochs across all nodes.", + "label": "", + "type": "float", + "longType": "float", + "fullType": "float", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NodeSet", + "longName": "NodeSet", + "fullName": "vega.NodeSet", + "description": "Details on the collection of nodes for a particular validator status", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "total", + "description": "Total number of nodes in the node set.", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "inactive", + "description": "Number of nodes in the node set that had a performance score of 0 at the end of the last epoch.", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "promoted", + "description": "IDs of nodes that were promoted into this node set at the start of the epoch.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "demoted", + "description": "IDs of nodes that were demoted into this node set at the start of the epoch.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "maximum", + "description": "Total number of nodes allowed in the node set.", + "label": "optional", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": true, + "oneofdecl": "_maximum", + "defaultValue": "" + } + ] + }, + { + "name": "Order", + "longName": "Order", + "fullName": "vega.Order", + "description": "Orders can be submitted, amended and cancelled on Vega in an attempt to make trades with other parties", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique ID generated for the order.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID for the order.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID for the order.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "side", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL.", + "label": "", + "type": "Side", + "longType": "Side", + "fullType": "vega.Side", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "size", + "description": "Size for the order, for example, in a futures market the size equals the number of contracts.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "remaining", + "description": "Size remaining, when this reaches 0 then the order is fully filled and status becomes STATUS_FILLED.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "time_in_force", + "description": "Time in force indicates how long an order will remain active before it is executed or expires.\n- See OrderTimeInForce", + "label": "", + "type": "TimeInForce", + "longType": "Order.TimeInForce", + "fullType": "vega.Order.TimeInForce", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Type for the order.", + "label": "", + "type": "Type", + "longType": "Order.Type", + "fullType": "vega.Order.Type", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "created_at", + "description": "Timestamp for when the order was created at, in nanoseconds.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Current status of the order.", + "label": "", + "type": "Status", + "longType": "Order.Status", + "fullType": "vega.Order.Status", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expires_at", + "description": "Timestamp in Unix nanoseconds for when the order will expire.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference", + "description": "Reference given for the order.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reason", + "description": "Futher details for why an order with status `STATUS_REJECTED` was rejected.", + "label": "optional", + "type": "OrderError", + "longType": "OrderError", + "fullType": "vega.OrderError", + "ismap": false, + "isoneof": true, + "oneofdecl": "_reason", + "defaultValue": "" + }, + { + "name": "updated_at", + "description": "Timestamp in Unix nanoseconds for when the order was last updated.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "version", + "description": "Version for the order, initial value is version 1 and is incremented after each successful amend.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "batch_id", + "description": "Batch ID for the order, used internally for orders submitted during auctions\nto keep track of the auction batch this order falls under. Required for fees calculation.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pegged_order", + "description": "Pegged order details, used only if the order represents a pegged order.", + "label": "", + "type": "PeggedOrder", + "longType": "PeggedOrder", + "fullType": "vega.PeggedOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "liquidity_provision_id", + "description": "Set if the order was created as part of a liquidity provision, will be empty if not.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "post_only", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reduce_only", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "iceberg_order", + "description": "Details of an iceberg order", + "label": "optional", + "type": "IcebergOrder", + "longType": "IcebergOrder", + "fullType": "vega.IcebergOrder", + "ismap": false, + "isoneof": true, + "oneofdecl": "_iceberg_order", + "defaultValue": "" + } + ] + }, + { + "name": "OrderCancellationConfirmation", + "longName": "OrderCancellationConfirmation", + "fullName": "vega.OrderCancellationConfirmation", + "description": "Used when cancelling an order", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "order", + "description": "Order that was cancelled.", + "label": "", + "type": "Order", + "longType": "Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrderConfirmation", + "longName": "OrderConfirmation", + "fullName": "vega.OrderConfirmation", + "description": "Used when confirming an order", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "order", + "description": "Order that was confirmed.", + "label": "", + "type": "Order", + "longType": "Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trades", + "description": "0 or more trades that were emitted.", + "label": "repeated", + "type": "Trade", + "longType": "Trade", + "fullType": "vega.Trade", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "passive_orders_affected", + "description": "0 or more passive orders that were affected.", + "label": "repeated", + "type": "Order", + "longType": "Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Party", + "longName": "Party", + "fullName": "vega.Party", + "description": "Party represents an entity who wishes to trade on or query a Vega network", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique ID for the party, typically represented by a public key.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PeggedOrder", + "longName": "PeggedOrder", + "fullName": "vega.PeggedOrder", + "description": "Pegged orders are limit orders where the price is specified in the form REFERENCE +/- OFFSET\nThey can be used for any limit order that is valid during continuous trading", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "reference", + "description": "Price point the order is linked to.", + "label": "", + "type": "PeggedReference", + "longType": "PeggedReference", + "fullType": "vega.PeggedReference", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "offset", + "description": "Offset from the price reference.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Position", + "longName": "Position", + "fullName": "vega.Position", + "description": "Represents position data for a party on the specified market on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID in which the position is held.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID holding the position.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "open_volume", + "description": "Open volume for the position, value is signed +ve for long and -ve for short.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "realised_pnl", + "description": "Realised profit and loss for the position, value is signed +ve for long and -ve for short.\nThis field is a signed integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "unrealised_pnl", + "description": "Unrealised profit and loss for the position, value is signed +ve for long and -ve for short.\nThis field is a signed integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "average_entry_price", + "description": "Average entry price for the position, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "updated_at", + "description": "Timestamp for the latest time the position was updated.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "loss_socialisation_amount", + "description": "Sum of profit that could not be paid due to loss socialisation.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "position_status", + "description": "Position status, indicating whether the party was distressed and had orders cancelled or was closed out.", + "label": "", + "type": "PositionStatus", + "longType": "PositionStatus", + "fullType": "vega.PositionStatus", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PositionTrade", + "longName": "PositionTrade", + "fullName": "vega.PositionTrade", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "volume", + "description": "Volume for the position trade, value is signed +ve for long and -ve for short.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Price for the position trade, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PostTransferBalance", + "longName": "PostTransferBalance", + "fullName": "vega.PostTransferBalance", + "description": "Represents the balance for an account during a transfer", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "account", + "description": "Account relating to the transfer.", + "label": "", + "type": "AccountDetails", + "longType": "AccountDetails", + "fullType": "vega.AccountDetails", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "balance", + "description": "Balance relating to the transfer. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PriceLevel", + "longName": "PriceLevel", + "fullName": "vega.PriceLevel", + "description": "Represents a price level from market depth or order book data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "price", + "description": "Price for the price level, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places. This field\nis an unsigned integer passed as a string and needs to be scaled using the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "number_of_orders", + "description": "Number of orders at the price level.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "volume", + "description": "Volume at the price level.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PriceMonitoringBounds", + "longName": "PriceMonitoringBounds", + "fullName": "vega.PriceMonitoringBounds", + "description": "Represents a list of valid (at the current timestamp) price ranges per associated trigger", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "min_valid_price", + "description": "Minimum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "max_valid_price", + "description": "Maximum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trigger", + "description": "Price monitoring trigger associated with the bounds.", + "label": "", + "type": "PriceMonitoringTrigger", + "longType": "PriceMonitoringTrigger", + "fullType": "vega.PriceMonitoringTrigger", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference_price", + "description": "Reference price used to calculate the valid price range. This field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RankingScore", + "longName": "RankingScore", + "fullName": "vega.RankingScore", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "stake_score", + "description": "Stake based score - no anti-whaling.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "performance_score", + "description": "Performance based score.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "previous_status", + "description": "Status of the validator in the previous epoch.", + "label": "", + "type": "ValidatorNodeStatus", + "longType": "ValidatorNodeStatus", + "fullType": "vega.ValidatorNodeStatus", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Status of the validator in the current epoch.", + "label": "", + "type": "ValidatorNodeStatus", + "longType": "ValidatorNodeStatus", + "fullType": "vega.ValidatorNodeStatus", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "voting_power", + "description": "Tendermint voting power of the validator.", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ranking_score", + "description": "Final score.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Reward", + "longName": "Reward", + "fullName": "vega.Reward", + "description": "Details for a single reward payment", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset_id", + "description": "Asset ID in which the reward is being paid.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID to whom the reward is being paid.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch", + "description": "Epoch in which the reward is being paid.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount paid as a reward. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "percentage_of_total", + "description": "Percentage of total rewards paid in the epoch.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "received_at", + "description": "Timestamp at which the reward was paid as Unix nano time.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID in which the reward is being paid.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reward_type", + "description": "Type of reward being paid.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RewardScore", + "longName": "RewardScore", + "fullName": "vega.RewardScore", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "raw_validator_score", + "description": "Stake based score - with anti-whaling.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "performance_score", + "description": "Performance based score.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "multisig_score", + "description": "Multisig score.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validator_score", + "description": "Un-normalised score.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "normalised_score", + "description": "Normalised validator score for rewards.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validator_status", + "description": "Status of the validator for reward.", + "label": "", + "type": "ValidatorNodeStatus", + "longType": "ValidatorNodeStatus", + "fullType": "vega.ValidatorNodeStatus", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RewardSummary", + "longName": "RewardSummary", + "fullName": "vega.RewardSummary", + "description": "Details for rewards for a single asset", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset_id", + "description": "Asset ID in which the reward is being paid.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID to whom the reward is being paid.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Total amount of rewards paid in the asset. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RiskFactor", + "longName": "RiskFactor", + "fullName": "vega.RiskFactor", + "description": "Risk factors are used to calculate the current risk associated with orders trading on a given market", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market", + "description": "Market ID that relates to this risk factor.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "short", + "description": "Short Risk factor value.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "long", + "description": "Long Risk factor value.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ScalarValue", + "longName": "ScalarValue", + "fullName": "vega.ScalarValue", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "value", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StateValueProposal", + "longName": "StateValueProposal", + "fullName": "vega.StateValueProposal", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "state_var_id", + "description": "State variable ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "event_id", + "description": "Event ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "kvb", + "description": "Key value tolerance triplets.", + "label": "repeated", + "type": "KeyValueBundle", + "longType": "KeyValueBundle", + "fullType": "vega.KeyValueBundle", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StateVarValue", + "longName": "StateVarValue", + "fullName": "vega.StateVarValue", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "scalar_val", + "description": "", + "label": "", + "type": "ScalarValue", + "longType": "ScalarValue", + "fullType": "vega.ScalarValue", + "ismap": false, + "isoneof": true, + "oneofdecl": "value", + "defaultValue": "" + }, + { + "name": "vector_val", + "description": "", + "label": "", + "type": "VectorValue", + "longType": "VectorValue", + "fullType": "vega.VectorValue", + "ismap": false, + "isoneof": true, + "oneofdecl": "value", + "defaultValue": "" + }, + { + "name": "matrix_val", + "description": "", + "label": "", + "type": "MatrixValue", + "longType": "MatrixValue", + "fullType": "vega.MatrixValue", + "ismap": false, + "isoneof": true, + "oneofdecl": "value", + "defaultValue": "" + } + ] + }, + { + "name": "StopOrder", + "longName": "StopOrder", + "fullName": "vega.StopOrder", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "ID of this stop order\nalso the ID of the associated order if it is ever triggered", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "oco_link_id", + "description": "The ID of the 'other' part of the OCO if 2 stop orders were submitted at once", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_oco_link_id", + "defaultValue": "" + }, + { + "name": "expires_at", + "description": "Optional expiry timestamp.", + "label": "optional", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_expires_at", + "defaultValue": "" + }, + { + "name": "expiry_strategy", + "description": "Strategy to adopt if the expiry time is reached.", + "label": "optional", + "type": "ExpiryStrategy", + "longType": "StopOrder.ExpiryStrategy", + "fullType": "vega.StopOrder.ExpiryStrategy", + "ismap": false, + "isoneof": true, + "oneofdecl": "_expiry_strategy", + "defaultValue": "" + }, + { + "name": "trigger_direction", + "description": "Trigger direction for this stop order.", + "label": "", + "type": "TriggerDirection", + "longType": "StopOrder.TriggerDirection", + "fullType": "vega.StopOrder.TriggerDirection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Status of the stop order.", + "label": "", + "type": "Status", + "longType": "StopOrder.Status", + "fullType": "vega.StopOrder.Status", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "created_at", + "description": "Creation time of the stop order.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "updated_at", + "description": "Last update of this stop order.", + "label": "optional", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_updated_at", + "defaultValue": "" + }, + { + "name": "order_id", + "description": "ID of the order created once the trigger is hit.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "ID of the party that submitted this stop order.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "ID of the market the stop order is submitted to.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Fixed price at which the order will be submitted.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "trigger", + "defaultValue": "" + }, + { + "name": "trailing_percent_offset", + "description": "Trailing percentage at which the order will be submitted.\nThis should be expressed as a decimal value between 0 and 1, e.g. 0.01 for 1%", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "trigger", + "defaultValue": "" + } + ] + }, + { + "name": "Trade", + "longName": "Trade", + "fullName": "vega.Trade", + "description": "A trade occurs when an aggressive order crosses one or more passive orders on the order book for a market on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique ID for the trade.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID on which the trade occurred.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Price for the trade, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "size", + "description": "Size filled for the trade.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buyer", + "description": "Unique party ID for the buyer.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "seller", + "description": "Unique party ID for the seller.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "aggressor", + "description": "Direction of the aggressive party e.g. SIDE_BUY or SIDE_SELL.", + "label": "", + "type": "Side", + "longType": "Side", + "fullType": "vega.Side", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buy_order", + "description": "Identifier of the order from the buy side.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sell_order", + "description": "Identifier of the order from the sell side.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "Timestamp in Unix nanoseconds for when the trade occurred.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Type for the trade.", + "label": "", + "type": "Type", + "longType": "Trade.Type", + "fullType": "vega.Trade.Type", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buyer_fee", + "description": "Fee amount charged to the buyer party for the trade.", + "label": "", + "type": "Fee", + "longType": "Fee", + "fullType": "vega.Fee", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "seller_fee", + "description": "Fee amount charged to the seller party for the trade.", + "label": "", + "type": "Fee", + "longType": "Fee", + "fullType": "vega.Fee", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buyer_auction_batch", + "description": "Auction batch number that the buy side order was placed in.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "seller_auction_batch", + "description": "Auction batch number that the sell side order was placed in.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TradeSet", + "longName": "TradeSet", + "fullName": "vega.TradeSet", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "trades", + "description": "Set of one or more trades.", + "label": "repeated", + "type": "Trade", + "longType": "Trade", + "fullType": "vega.Trade", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Transfer", + "longName": "Transfer", + "fullName": "vega.Transfer", + "description": "Represents a financial transfer within Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "owner", + "description": "Party ID for the owner of the transfer.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Financial amount of an asset to transfer.", + "label": "", + "type": "FinancialAmount", + "longType": "FinancialAmount", + "fullType": "vega.FinancialAmount", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Type of transfer, gives the reason for the transfer.", + "label": "", + "type": "TransferType", + "longType": "TransferType", + "fullType": "vega.TransferType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "min_amount", + "description": "Minimum amount. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID the transfer is for", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TransferRequest", + "longName": "TransferRequest", + "fullName": "vega.TransferRequest", + "description": "Represents a request to transfer from one set of accounts to another", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "from_account", + "description": "One or more accounts to transfer from.", + "label": "repeated", + "type": "Account", + "longType": "Account", + "fullType": "vega.Account", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "to_account", + "description": "One or more accounts to transfer to.", + "label": "repeated", + "type": "Account", + "longType": "Account", + "fullType": "vega.Account", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount to transfer for the asset. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "min_amount", + "description": "Minimum amount that needs to be transferred for the transfer request. If this minimum isn't reached, it will error.\nThis field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "Asset ID of the asset being transferred.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Type of the request for transfer.", + "label": "", + "type": "TransferType", + "longType": "TransferType", + "fullType": "vega.TransferType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "VectorValue", + "longName": "VectorValue", + "fullName": "vega.VectorValue", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "value", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "WithdrawExt", + "longName": "WithdrawExt", + "fullName": "vega.WithdrawExt", + "description": "Withdrawal external details", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "erc20", + "description": "ERC20 withdrawal details.", + "label": "", + "type": "Erc20WithdrawExt", + "longType": "Erc20WithdrawExt", + "fullType": "vega.Erc20WithdrawExt", + "ismap": false, + "isoneof": true, + "oneofdecl": "ext", + "defaultValue": "" + } + ] + }, + { + "name": "Withdrawal", + "longName": "Withdrawal", + "fullName": "vega.Withdrawal", + "description": "Withdrawal from the Vega network", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique ID for the withdrawal.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Unique party ID of the user initiating the withdrawal.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "Asset to withdraw funds from.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Status of the withdrawal.", + "label": "", + "type": "Status", + "longType": "Withdrawal.Status", + "fullType": "vega.Withdrawal.Status", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ref", + "description": "Reference which is used by the foreign chain\nto refer to this withdrawal.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tx_hash", + "description": "Hash of the foreign chain for this transaction.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "created_timestamp", + "description": "Timestamp for when the network started to process this withdrawal.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "withdrawn_timestamp", + "description": "Timestamp for when the withdrawal was finalised by the network.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ext", + "description": "Foreign chain specifics.", + "label": "", + "type": "WithdrawExt", + "longType": "WithdrawExt", + "fullType": "vega.WithdrawExt", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/commands/v1/validator_commands.proto", + "description": "", + "package": "vega.commands.v1", + "hasEnums": true, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [ + { + "name": "NodeSignatureKind", + "longName": "NodeSignatureKind", + "fullName": "vega.commands.v1.NodeSignatureKind", + "description": "Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc", + "values": [ + { + "name": "NODE_SIGNATURE_KIND_UNSPECIFIED", + "number": "0", + "description": "Represents an unspecified or missing value from the input" + }, + { + "name": "NODE_SIGNATURE_KIND_ASSET_NEW", + "number": "1", + "description": "Represents a signature for a new asset allow-listing" + }, + { + "name": "NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL", + "number": "2", + "description": "Represents a signature for an asset withdrawal" + }, + { + "name": "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED", + "number": "3", + "description": "Represents a signature for a new signer added to the erc20 multisig contract" + }, + { + "name": "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED", + "number": "4", + "description": "Represents a signature for a signer removed from the erc20 multisig contract" + }, + { + "name": "NODE_SIGNATURE_KIND_ASSET_UPDATE", + "number": "5", + "description": "Represents a signature for an asset update allow-listing" + } + ] + }, + { + "name": "Type", + "longName": "NodeVote.Type", + "fullName": "vega.commands.v1.NodeVote.Type", + "description": "", + "values": [ + { + "name": "TYPE_UNSPECIFIED", + "number": "0", + "description": "Represents an unspecified or missing value from the input" + }, + { + "name": "TYPE_STAKE_DEPOSITED", + "number": "1", + "description": "Node vote for a new stake deposit" + }, + { + "name": "TYPE_STAKE_REMOVED", + "number": "2", + "description": "Node vote for a new stake removed event" + }, + { + "name": "TYPE_FUNDS_DEPOSITED", + "number": "3", + "description": "Node vote for a new collateral deposit" + }, + { + "name": "TYPE_SIGNER_ADDED", + "number": "4", + "description": "Node vote for a new signer added to the erc20 bridge" + }, + { + "name": "TYPE_SIGNER_REMOVED", + "number": "5", + "description": "Node vote for a signer removed from the erc20 bridge" + }, + { + "name": "TYPE_BRIDGE_STOPPED", + "number": "6", + "description": "Node vote for a bridge stopped event" + }, + { + "name": "TYPE_BRIDGE_RESUMED", + "number": "7", + "description": "Node vote for a bridge resumed event" + }, + { + "name": "TYPE_ASSET_LISTED", + "number": "8", + "description": "Node vote for a newly listed asset" + }, + { + "name": "TYPE_LIMITS_UPDATED", + "number": "9", + "description": "Node vote for an asset limits update" + }, + { + "name": "TYPE_STAKE_TOTAL_SUPPLY", + "number": "10", + "description": "Node vote to share the total supply of the staking token" + }, + { + "name": "TYPE_SIGNER_THRESHOLD_SET", + "number": "11", + "description": "Node vote to update the threshold of the signer set for the multisig contract" + }, + { + "name": "TYPE_GOVERNANCE_VALIDATE_ASSET", + "number": "12", + "description": "Node vote to validate a new assert governance proposal" + }, + { + "name": "TYPE_ETHEREUM_CONTRACT_CALL_RESULT", + "number": "13", + "description": "Node vote for an Ethereum contract call result" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "AnnounceNode", + "longName": "AnnounceNode", + "fullName": "vega.commands.v1.AnnounceNode", + "description": "Used to announce a node as a new pending validator", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "vega_pub_key", + "description": "Vega public key, required field.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ethereum_address", + "description": "Ethereum public key, required field.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "chain_pub_key", + "description": "Public key for the blockchain, required field.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "info_url", + "description": "URL with more info on the node.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "country", + "description": "Country code (ISO 3166-1 alpha-2) for the location of the node.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "id", + "description": "Node ID of the validator, i.e. the node's public master key.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "Name of the validator.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "avatar_url", + "description": "AvatarURL of the validator.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_pub_key_index", + "description": "Vega public key derivation index.", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "from_epoch", + "description": "Epoch from which the validator is expected\nto be ready to validate blocks.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ethereum_signature", + "description": "Signature from the validator made using the ethereum wallet.", + "label": "", + "type": "Signature", + "longType": "Signature", + "fullType": "vega.commands.v1.Signature", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_signature", + "description": "Signature from the validator made using the Vega wallet.", + "label": "", + "type": "Signature", + "longType": "Signature", + "fullType": "vega.commands.v1.Signature", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "submitter_address", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ChainEvent", + "longName": "ChainEvent", + "fullName": "vega.commands.v1.ChainEvent", + "description": "Event forwarded to the Vega network to provide information on events happening on other networks", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "tx_id", + "description": "Transaction ID of the transaction in which the events happened, usually a hash.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "Arbitrary one-time integer used to prevent replay attacks.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "builtin", + "description": "Built-in asset event.", + "label": "", + "type": "BuiltinAssetEvent", + "longType": "vega.BuiltinAssetEvent", + "fullType": "vega.BuiltinAssetEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "erc20", + "description": "Ethereum ERC20 event.", + "label": "", + "type": "ERC20Event", + "longType": "vega.ERC20Event", + "fullType": "vega.ERC20Event", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "staking_event", + "description": "Ethereum Staking event.", + "label": "", + "type": "StakingEvent", + "longType": "vega.StakingEvent", + "fullType": "vega.StakingEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "erc20_multisig", + "description": "Ethereum ERC20 multisig event.", + "label": "", + "type": "ERC20MultiSigEvent", + "longType": "vega.ERC20MultiSigEvent", + "fullType": "vega.ERC20MultiSigEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "contract_call", + "description": "Arbitrary contract call", + "label": "", + "type": "EthContractCallEvent", + "longType": "vega.EthContractCallEvent", + "fullType": "vega.EthContractCallEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + } + ] + }, + { + "name": "EthereumKeyRotateSubmission", + "longName": "EthereumKeyRotateSubmission", + "fullName": "vega.commands.v1.EthereumKeyRotateSubmission", + "description": "Transaction to allow a validator to rotate their ethereum keys", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "target_block", + "description": "Target block at which the key rotation will take effect on.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_address", + "description": "New address to rotate to.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "current_address", + "description": "Currently used public address.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "submitter_address", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ethereum_signature", + "description": "Signature that can be verified using the new ethereum address.", + "label": "", + "type": "Signature", + "longType": "Signature", + "fullType": "vega.commands.v1.Signature", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "KeyRotateSubmission", + "longName": "KeyRotateSubmission", + "fullName": "vega.commands.v1.KeyRotateSubmission", + "description": "Transaction to allow a validator to rotate their Vega keys", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "new_pub_key_index", + "description": "New Vega public key derivation index.", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "target_block", + "description": "Target block at which the key rotation will take effect on.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_pub_key", + "description": "New public key to rotate to.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "current_pub_key_hash", + "description": "Hash of currently used public key.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NodeSignature", + "longName": "NodeSignature", + "fullName": "vega.commands.v1.NodeSignature", + "description": "Represents a signature from a validator, to be used by a foreign chain in order to recognise a decision taken by the Vega network", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "ID of the resource being signed.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sig", + "description": "The signature generated by the signer.", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "kind", + "description": "Kind of resource being signed.", + "label": "", + "type": "NodeSignatureKind", + "longType": "NodeSignatureKind", + "fullType": "vega.commands.v1.NodeSignatureKind", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NodeVote", + "longName": "NodeVote", + "fullName": "vega.commands.v1.NodeVote", + "description": "Used when a node votes for validating that a given resource exists or is valid,\nfor example, an ERC20 deposit is valid and exists on ethereum.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "reference", + "description": "Reference identifying the resource making the vote, required field.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Type of NodeVote, also required.", + "label": "", + "type": "Type", + "longType": "NodeVote.Type", + "fullType": "vega.commands.v1.NodeVote.Type", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ProtocolUpgradeProposal", + "longName": "ProtocolUpgradeProposal", + "fullName": "vega.commands.v1.ProtocolUpgradeProposal", + "description": "Transaction for a validator to suggest a protocol upgrade", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "upgrade_block_height", + "description": "Block height at which to perform the upgrade.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_release_tag", + "description": "Release tag for the Vega binary.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StateVariableProposal", + "longName": "StateVariableProposal", + "fullName": "vega.commands.v1.StateVariableProposal", + "description": "Transaction for a validator to submit a floating point value", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposal", + "description": "State value proposal details.", + "label": "", + "type": "StateValueProposal", + "longType": "vega.StateValueProposal", + "fullType": "vega.StateValueProposal", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ValidatorHeartbeat", + "longName": "ValidatorHeartbeat", + "fullName": "vega.commands.v1.ValidatorHeartbeat", + "description": "Message from a validator signalling they are still online and validating blocks\nor ready to validate blocks when they are still a pending validator", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node_id", + "description": "Node ID of the validator emitting the heartbeat.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ethereum_signature", + "description": "Signature from the validator made using the ethereum wallet.", + "label": "", + "type": "Signature", + "longType": "Signature", + "fullType": "vega.commands.v1.Signature", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_signature", + "description": "Signature from the validator made using the vega wallet.", + "label": "", + "type": "Signature", + "longType": "Signature", + "fullType": "vega.commands.v1.Signature", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "message", + "description": "Message which has been signed.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/assets.proto", + "description": "", + "package": "vega", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [ + { + "name": "Status", + "longName": "Asset.Status", + "fullName": "vega.Asset.Status", + "description": "", + "values": [ + { + "name": "STATUS_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "STATUS_PROPOSED", + "number": "1", + "description": "Asset is proposed and under vote" + }, + { + "name": "STATUS_REJECTED", + "number": "2", + "description": "Asset has been rejected from governance" + }, + { + "name": "STATUS_PENDING_LISTING", + "number": "3", + "description": "Asset is pending listing from the bridge" + }, + { + "name": "STATUS_ENABLED", + "number": "4", + "description": "Asset is fully usable in the network" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "Asset", + "longName": "Asset", + "fullName": "vega.Asset", + "description": "Vega representation of an external asset", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Internal identifier of the asset.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "details", + "description": "Definition of the external source for this asset.", + "label": "", + "type": "AssetDetails", + "longType": "AssetDetails", + "fullType": "vega.AssetDetails", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Status of the asset.", + "label": "", + "type": "Status", + "longType": "Asset.Status", + "fullType": "vega.Asset.Status", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AssetDetails", + "longName": "AssetDetails", + "fullName": "vega.AssetDetails", + "description": "Vega representation of an external asset", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "name", + "description": "Name of the asset (e.g: Great British Pound).", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "symbol", + "description": "Symbol of the asset (e.g: GBP).", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "decimals", + "description": "Number of decimal / precision handled by this asset.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "quantum", + "description": "Minimum economically meaningful amount in the asset.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "builtin_asset", + "description": "Vega built-in asset.", + "label": "", + "type": "BuiltinAsset", + "longType": "BuiltinAsset", + "fullType": "vega.BuiltinAsset", + "ismap": false, + "isoneof": true, + "oneofdecl": "source", + "defaultValue": "" + }, + { + "name": "erc20", + "description": "Ethereum ERC20 asset.", + "label": "", + "type": "ERC20", + "longType": "ERC20", + "fullType": "vega.ERC20", + "ismap": false, + "isoneof": true, + "oneofdecl": "source", + "defaultValue": "" + } + ] + }, + { + "name": "AssetDetailsUpdate", + "longName": "AssetDetailsUpdate", + "fullName": "vega.AssetDetailsUpdate", + "description": "Changes to apply on an existing asset.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "quantum", + "description": "Minimum economically meaningful amount in the asset.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "erc20", + "description": "Ethereum ERC20 asset update.", + "label": "", + "type": "ERC20Update", + "longType": "ERC20Update", + "fullType": "vega.ERC20Update", + "ismap": false, + "isoneof": true, + "oneofdecl": "source", + "defaultValue": "" + } + ] + }, + { + "name": "BuiltinAsset", + "longName": "BuiltinAsset", + "fullName": "vega.BuiltinAsset", + "description": "Vega internal asset", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "max_faucet_amount_mint", + "description": "Maximum amount that can be requested by a party through the built-in asset faucet at a time.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20", + "longName": "ERC20", + "fullName": "vega.ERC20", + "description": "ERC20 token based asset, living on the ethereum network", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "contract_address", + "description": "Address of the contract for the token, on the ethereum network.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "lifetime_limit", + "description": "Lifetime limits deposit per address\nnote: this is a temporary measure that can be changed by governance.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "withdraw_threshold", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20Update", + "longName": "ERC20Update", + "fullName": "vega.ERC20Update", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "lifetime_limit", + "description": "Lifetime limits deposit per address.\nThis will be interpreted against the asset decimals.\nnote: this is a temporary measure that can be changed by governance.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "withdraw_threshold", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/governance.proto", + "description": "", + "package": "vega", + "hasEnums": true, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [ + { + "name": "GovernanceTransferType", + "longName": "GovernanceTransferType", + "fullName": "vega.GovernanceTransferType", + "description": "", + "values": [ + { + "name": "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING", + "number": "1", + "description": "" + }, + { + "name": "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT", + "number": "2", + "description": "" + } + ] + }, + { + "name": "MarketStateUpdateType", + "longName": "MarketStateUpdateType", + "fullName": "vega.MarketStateUpdateType", + "description": "", + "values": [ + { + "name": "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "MARKET_STATE_UPDATE_TYPE_TERMINATE", + "number": "1", + "description": "Request to terminate a market via governance" + }, + { + "name": "MARKET_STATE_UPDATE_TYPE_SUSPEND", + "number": "2", + "description": "Request to suspend a market via governance" + }, + { + "name": "MARKET_STATE_UPDATE_TYPE_RESUME", + "number": "3", + "description": "Request to resume a market via governance" + } + ] + }, + { + "name": "State", + "longName": "Proposal.State", + "fullName": "vega.Proposal.State", + "description": "Proposal state transition:\nOpen -\u003e\n - Passed -\u003e Enacted.\n - Passed -\u003e Failed.\n - Declined\nRejected\nProposal can enter Failed state from any other state", + "values": [ + { + "name": "STATE_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "STATE_FAILED", + "number": "1", + "description": "Proposal enactment has failed - even though proposal has passed, its execution could not be performed" + }, + { + "name": "STATE_OPEN", + "number": "2", + "description": "Proposal is open for voting" + }, + { + "name": "STATE_PASSED", + "number": "3", + "description": "Proposal has gained enough support to be executed" + }, + { + "name": "STATE_REJECTED", + "number": "4", + "description": "Proposal wasn't accepted i.e. proposal terms failed validation due to wrong configuration or failed to meet network requirements." + }, + { + "name": "STATE_DECLINED", + "number": "5", + "description": "Proposal didn't get enough votes, e.g. either failed to gain required participation or majority level." + }, + { + "name": "STATE_ENACTED", + "number": "6", + "description": "Proposal enacted" + }, + { + "name": "STATE_WAITING_FOR_NODE_VOTE", + "number": "7", + "description": "Waiting for node validation of the proposal" + } + ] + }, + { + "name": "ProposalError", + "longName": "ProposalError", + "fullName": "vega.ProposalError", + "description": "List of possible errors that can cause a proposal to be in state rejected or failed", + "values": [ + { + "name": "PROPOSAL_ERROR_UNSPECIFIED", + "number": "0", + "description": "Default value" + }, + { + "name": "PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON", + "number": "1", + "description": "Specified close time is too early based on network parameters" + }, + { + "name": "PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE", + "number": "2", + "description": "Specified close time is too late based on network parameters" + }, + { + "name": "PROPOSAL_ERROR_ENACT_TIME_TOO_SOON", + "number": "3", + "description": "Specified enactment time is too early based on network parameters" + }, + { + "name": "PROPOSAL_ERROR_ENACT_TIME_TOO_LATE", + "number": "4", + "description": "Specified enactment time is too late based on network parameters" + }, + { + "name": "PROPOSAL_ERROR_INSUFFICIENT_TOKENS", + "number": "5", + "description": "Proposer for this proposal has insufficient tokens" + }, + { + "name": "PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY", + "number": "6", + "description": "Instrument quote name and base name were the same" + }, + { + "name": "PROPOSAL_ERROR_NO_PRODUCT", + "number": "7", + "description": "Proposal has no product" + }, + { + "name": "PROPOSAL_ERROR_UNSUPPORTED_PRODUCT", + "number": "8", + "description": "Specified product is not supported" + }, + { + "name": "PROPOSAL_ERROR_NO_TRADING_MODE", + "number": "11", + "description": "Proposal has no trading mode" + }, + { + "name": "PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE", + "number": "12", + "description": "Proposal has an unsupported trading mode" + }, + { + "name": "PROPOSAL_ERROR_NODE_VALIDATION_FAILED", + "number": "13", + "description": "Proposal failed node validation" + }, + { + "name": "PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD", + "number": "14", + "description": "Field is missing in a builtin asset source" + }, + { + "name": "PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS", + "number": "15", + "description": "Contract address is missing in the ERC20 asset source" + }, + { + "name": "PROPOSAL_ERROR_INVALID_ASSET", + "number": "16", + "description": "Asset ID is invalid or does not exist on the Vega network" + }, + { + "name": "PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS", + "number": "17", + "description": "Proposal terms timestamps are not compatible (Validation \u003c Closing \u003c Enactment)" + }, + { + "name": "PROPOSAL_ERROR_NO_RISK_PARAMETERS", + "number": "18", + "description": "No risk parameters were specified" + }, + { + "name": "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY", + "number": "19", + "description": "Invalid key in update network parameter proposal" + }, + { + "name": "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE", + "number": "20", + "description": "Invalid value in update network parameter proposal" + }, + { + "name": "PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED", + "number": "21", + "description": "Validation failed for network parameter proposal" + }, + { + "name": "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL", + "number": "22", + "description": "Opening auction duration is less than the network minimum opening auction time" + }, + { + "name": "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE", + "number": "23", + "description": "Opening auction duration is more than the network minimum opening auction time" + }, + { + "name": "PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET", + "number": "25", + "description": "Market proposal market could not be instantiated in execution" + }, + { + "name": "PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT", + "number": "26", + "description": "Market proposal market contained invalid product definition" + }, + { + "name": "PROPOSAL_ERROR_INVALID_RISK_PARAMETER", + "number": "30", + "description": "Market proposal has invalid risk parameter" + }, + { + "name": "PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED", + "number": "31", + "description": "Proposal was declined because vote didn't reach the majority threshold required" + }, + { + "name": "PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED", + "number": "32", + "description": "Proposal declined because the participation threshold was not reached" + }, + { + "name": "PROPOSAL_ERROR_INVALID_ASSET_DETAILS", + "number": "33", + "description": "Asset proposal has invalid asset details" + }, + { + "name": "PROPOSAL_ERROR_UNKNOWN_TYPE", + "number": "34", + "description": "Proposal is an unknown type" + }, + { + "name": "PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE", + "number": "35", + "description": "Proposal has an unknown risk parameter type" + }, + { + "name": "PROPOSAL_ERROR_INVALID_FREEFORM", + "number": "36", + "description": "Validation failed for freeform proposal" + }, + { + "name": "PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE", + "number": "37", + "description": "Party doesn't have enough equity-like share to propose an update on the market\ntargeted by the proposal" + }, + { + "name": "PROPOSAL_ERROR_INVALID_MARKET", + "number": "38", + "description": "Market targeted by the proposal does not exist or is not eligible for modification" + }, + { + "name": "PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES", + "number": "39", + "description": "Market proposal decimal place is higher than the market settlement asset decimal places" + }, + { + "name": "PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS", + "number": "40", + "description": "Market proposal contains too many price monitoring triggers" + }, + { + "name": "PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE", + "number": "41", + "description": "Market proposal contains too many price monitoring triggers" + }, + { + "name": "PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE", + "number": "42", + "description": "LP price range must be larger than 0" + }, + { + "name": "PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE", + "number": "43", + "description": "LP price range must not be larger than 100" + }, + { + "name": "PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "number": "44", + "description": "Linear slippage factor is out of range, either negative or too large" + }, + { + "name": "PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "number": "45", + "description": "Quadratic slippage factor is out of range, either negative or too large" + }, + { + "name": "PROPOSAL_ERROR_INVALID_SPOT", + "number": "46", + "description": "Validation failed for spot proposal" + }, + { + "name": "PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED", + "number": "47", + "description": "Spot trading not enabled" + }, + { + "name": "PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET", + "number": "48", + "description": "Market proposal is invalid, either invalid insurance pool fraction, or it specifies a parent market that it can't succeed." + }, + { + "name": "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED", + "number": "49", + "description": "Governance transfer proposal is invalid" + }, + { + "name": "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID", + "number": "50", + "description": "Governance transfer proposal failed" + }, + { + "name": "PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID", + "number": "51", + "description": "Proposal for cancelling transfer is invalid, check proposal ID" + }, + { + "name": "PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE", + "number": "52", + "description": "Proposal for updating market state is invalid" + }, + { + "name": "PROPOSAL_ERROR_INVALID_SLA_PARAMS", + "number": "53", + "description": "Liquidity provision SLA parameters are invalid" + }, + { + "name": "PROPOSAL_ERROR_MISSING_SLA_PARAMS", + "number": "54", + "description": "Mandatory liquidity provision SLA parameters are missing" + }, + { + "name": "PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT", + "number": "55", + "description": "Perpetual market proposal contained invalid product definition" + } + ] + }, + { + "name": "Value", + "longName": "Vote.Value", + "fullName": "vega.Vote.Value", + "description": "Vote value", + "values": [ + { + "name": "VALUE_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "VALUE_NO", + "number": "1", + "description": "Vote against the proposal" + }, + { + "name": "VALUE_YES", + "number": "2", + "description": "Vote in favour of the proposal" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "CancelTransfer", + "longName": "CancelTransfer", + "fullName": "vega.CancelTransfer", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "changes", + "description": "Configuration for cancellation of a governance-initiated transfer", + "label": "", + "type": "CancelTransferConfiguration", + "longType": "CancelTransferConfiguration", + "fullType": "vega.CancelTransferConfiguration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CancelTransferConfiguration", + "longName": "CancelTransferConfiguration", + "fullName": "vega.CancelTransferConfiguration", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "transfer_id", + "description": "ID of the governance transfer proposal.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "FutureProduct", + "longName": "FutureProduct", + "fullName": "vega.FutureProduct", + "description": "Future product configuration", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "settlement_asset", + "description": "Asset ID for the product's settlement asset.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "quote_name", + "description": "Product quote name.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_for_settlement_data", + "description": "Data source spec describing the data source for settlement.", + "label": "", + "type": "DataSourceDefinition", + "longType": "DataSourceDefinition", + "fullType": "vega.DataSourceDefinition", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_for_trading_termination", + "description": "The external data source spec describing the data source of trading termination.", + "label": "", + "type": "DataSourceDefinition", + "longType": "DataSourceDefinition", + "fullType": "vega.DataSourceDefinition", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_binding", + "description": "Binding between the data source spec and the settlement data.", + "label": "", + "type": "DataSourceSpecToFutureBinding", + "longType": "DataSourceSpecToFutureBinding", + "fullType": "vega.DataSourceSpecToFutureBinding", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GovernanceData", + "longName": "GovernanceData", + "fullName": "vega.GovernanceData", + "description": "Governance data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposal", + "description": "Governance proposal that is being voted on.", + "label": "", + "type": "Proposal", + "longType": "Proposal", + "fullType": "vega.Proposal", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "yes", + "description": "All YES votes in favour of the proposal above.", + "label": "repeated", + "type": "Vote", + "longType": "Vote", + "fullType": "vega.Vote", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "no", + "description": "All NO votes against the proposal above.", + "label": "repeated", + "type": "Vote", + "longType": "Vote", + "fullType": "vega.Vote", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "yes_party", + "description": "All latest YES votes by party which is guaranteed to be unique,\nwhere key (string) is the party ID i.e. public key and\nvalue (Vote) is the vote cast by the given party.", + "label": "repeated", + "type": "YesPartyEntry", + "longType": "GovernanceData.YesPartyEntry", + "fullType": "vega.GovernanceData.YesPartyEntry", + "ismap": true, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "no_party", + "description": "All latest NO votes by party which is guaranteed to be unique,\nwhere key (string) is the party ID i.e. public key and\nvalue (Vote) is the vote cast by the given party.", + "label": "repeated", + "type": "NoPartyEntry", + "longType": "GovernanceData.NoPartyEntry", + "fullType": "vega.GovernanceData.NoPartyEntry", + "ismap": true, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NoPartyEntry", + "longName": "GovernanceData.NoPartyEntry", + "fullName": "vega.GovernanceData.NoPartyEntry", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "value", + "description": "", + "label": "", + "type": "Vote", + "longType": "Vote", + "fullType": "vega.Vote", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "YesPartyEntry", + "longName": "GovernanceData.YesPartyEntry", + "fullName": "vega.GovernanceData.YesPartyEntry", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "value", + "description": "", + "label": "", + "type": "Vote", + "longType": "Vote", + "fullType": "vega.Vote", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "InstrumentConfiguration", + "longName": "InstrumentConfiguration", + "fullName": "vega.InstrumentConfiguration", + "description": "Instrument configuration", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "name", + "description": "Instrument name.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "code", + "description": "Instrument code, human-readable shortcode used to describe the instrument.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "future", + "description": "Future.", + "label": "", + "type": "FutureProduct", + "longType": "FutureProduct", + "fullType": "vega.FutureProduct", + "ismap": false, + "isoneof": true, + "oneofdecl": "product", + "defaultValue": "" + }, + { + "name": "spot", + "description": "Spot.", + "label": "", + "type": "SpotProduct", + "longType": "SpotProduct", + "fullType": "vega.SpotProduct", + "ismap": false, + "isoneof": true, + "oneofdecl": "product", + "defaultValue": "" + }, + { + "name": "perpetual", + "description": "Perpetual.", + "label": "", + "type": "PerpetualProduct", + "longType": "PerpetualProduct", + "fullType": "vega.PerpetualProduct", + "ismap": false, + "isoneof": true, + "oneofdecl": "product", + "defaultValue": "" + } + ] + }, + { + "name": "NewAsset", + "longName": "NewAsset", + "fullName": "vega.NewAsset", + "description": "New asset on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "changes", + "description": "Configuration of the new asset.", + "label": "", + "type": "AssetDetails", + "longType": "AssetDetails", + "fullType": "vega.AssetDetails", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NewFreeform", + "longName": "NewFreeform", + "fullName": "vega.NewFreeform", + "description": "Freeform proposal\nThis message is just used as a placeholder to sort out the nature of the\nproposal once parsed.", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "NewMarket", + "longName": "NewMarket", + "fullName": "vega.NewMarket", + "description": "New market on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "changes", + "description": "Configuration of the new market.", + "label": "", + "type": "NewMarketConfiguration", + "longType": "NewMarketConfiguration", + "fullType": "vega.NewMarketConfiguration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NewMarketConfiguration", + "longName": "NewMarketConfiguration", + "fullName": "vega.NewMarketConfiguration", + "description": "Configuration for a new futures market on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "instrument", + "description": "New futures market instrument configuration.", + "label": "", + "type": "InstrumentConfiguration", + "longType": "InstrumentConfiguration", + "fullType": "vega.InstrumentConfiguration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "decimal_places", + "description": "Decimal places used for the new futures market, sets the smallest price increment on the book.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "metadata", + "description": "Optional new futures market metadata, tags.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price_monitoring_parameters", + "description": "Price monitoring parameters.", + "label": "", + "type": "PriceMonitoringParameters", + "longType": "PriceMonitoringParameters", + "fullType": "vega.PriceMonitoringParameters", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "liquidity_monitoring_parameters", + "description": "Liquidity monitoring parameters.", + "label": "", + "type": "LiquidityMonitoringParameters", + "longType": "LiquidityMonitoringParameters", + "fullType": "vega.LiquidityMonitoringParameters", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "simple", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected.", + "label": "", + "type": "SimpleModelParams", + "longType": "SimpleModelParams", + "fullType": "vega.SimpleModelParams", + "ismap": false, + "isoneof": true, + "oneofdecl": "risk_parameters", + "defaultValue": "" + }, + { + "name": "log_normal", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected.", + "label": "", + "type": "LogNormalRiskModel", + "longType": "LogNormalRiskModel", + "fullType": "vega.LogNormalRiskModel", + "ismap": false, + "isoneof": true, + "oneofdecl": "risk_parameters", + "defaultValue": "" + }, + { + "name": "position_decimal_places", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the futures market can be.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "lp_price_range", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "linear_slippage_factor", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "quadratic_slippage_factor", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "successor", + "description": "Successor configuration. If this proposal is meant to succeed a given market, then this should be set.", + "label": "optional", + "type": "SuccessorConfiguration", + "longType": "SuccessorConfiguration", + "fullType": "vega.SuccessorConfiguration", + "ismap": false, + "isoneof": true, + "oneofdecl": "_successor", + "defaultValue": "" + } + ] + }, + { + "name": "NewSpotMarket", + "longName": "NewSpotMarket", + "fullName": "vega.NewSpotMarket", + "description": "New spot market on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "changes", + "description": "Configuration of the new spot market.", + "label": "", + "type": "NewSpotMarketConfiguration", + "longType": "NewSpotMarketConfiguration", + "fullType": "vega.NewSpotMarketConfiguration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NewSpotMarketConfiguration", + "longName": "NewSpotMarketConfiguration", + "fullName": "vega.NewSpotMarketConfiguration", + "description": "Configuration for a new spot market on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "instrument", + "description": "New spot market instrument configuration.", + "label": "", + "type": "InstrumentConfiguration", + "longType": "InstrumentConfiguration", + "fullType": "vega.InstrumentConfiguration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "decimal_places", + "description": "Decimal places used for the new spot market, sets the smallest price increment on the book.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "metadata", + "description": "Optional new spot market metadata, tags.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price_monitoring_parameters", + "description": "Price monitoring parameters.", + "label": "", + "type": "PriceMonitoringParameters", + "longType": "PriceMonitoringParameters", + "fullType": "vega.PriceMonitoringParameters", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "target_stake_parameters", + "description": "Specifies parameters related to target stake calculation.", + "label": "", + "type": "TargetStakeParameters", + "longType": "TargetStakeParameters", + "fullType": "vega.TargetStakeParameters", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "simple", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected.", + "label": "", + "type": "SimpleModelParams", + "longType": "SimpleModelParams", + "fullType": "vega.SimpleModelParams", + "ismap": false, + "isoneof": true, + "oneofdecl": "risk_parameters", + "defaultValue": "" + }, + { + "name": "log_normal", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected.", + "label": "", + "type": "LogNormalRiskModel", + "longType": "LogNormalRiskModel", + "fullType": "vega.LogNormalRiskModel", + "ismap": false, + "isoneof": true, + "oneofdecl": "risk_parameters", + "defaultValue": "" + }, + { + "name": "position_decimal_places", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the spot market can be.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sla_params", + "description": "Specifies the liquidity provision SLA parameters.", + "label": "", + "type": "LiquiditySLAParameters", + "longType": "LiquiditySLAParameters", + "fullType": "vega.LiquiditySLAParameters", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NewTransfer", + "longName": "NewTransfer", + "fullName": "vega.NewTransfer", + "description": "New governance transfer", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "changes", + "description": "Configuration for a new transfer.", + "label": "", + "type": "NewTransferConfiguration", + "longType": "NewTransferConfiguration", + "fullType": "vega.NewTransferConfiguration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NewTransferConfiguration", + "longName": "NewTransferConfiguration", + "fullName": "vega.NewTransferConfiguration", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "source_type", + "description": "Source account type, such as network treasury, market insurance pool", + "label": "", + "type": "AccountType", + "longType": "AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "source", + "description": "If network treasury, field is empty, otherwise uses the market ID", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "transfer_type", + "description": "\"All or nothing\" or \"best effort\":\nAll or nothing: Transfers the specified amount or does not transfer anything\nBest effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount", + "label": "", + "type": "GovernanceTransferType", + "longType": "GovernanceTransferType", + "fullType": "vega.GovernanceTransferType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Maximum amount to transfer", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "ID of asset to transfer", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "fraction_of_balance", + "description": "Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "destination_type", + "description": "Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool", + "label": "", + "type": "AccountType", + "longType": "AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "destination", + "description": "Specifies the account to transfer to, depending on the account type:\nNetwork treasury: leave empty\nParty: party's public key\nMarket insurance pool: market ID", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "one_off", + "description": "", + "label": "", + "type": "OneOffTransfer", + "longType": "OneOffTransfer", + "fullType": "vega.OneOffTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "kind", + "defaultValue": "" + }, + { + "name": "recurring", + "description": "", + "label": "", + "type": "RecurringTransfer", + "longType": "RecurringTransfer", + "fullType": "vega.RecurringTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "kind", + "defaultValue": "" + } + ] + }, + { + "name": "OneOffTransfer", + "longName": "OneOffTransfer", + "fullName": "vega.OneOffTransfer", + "description": "Specific details for a one off transfer", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "deliver_on", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PerpetualProduct", + "longName": "PerpetualProduct", + "fullName": "vega.PerpetualProduct", + "description": "Perpetual product configuration", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "settlement_asset", + "description": "Asset ID for the product's settlement asset.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "quote_name", + "description": "Product quote name.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "margin_funding_factor", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1].", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "interest_rate", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1].", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "clamp_lower_bound", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "clamp_upper_bound", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_for_settlement_schedule", + "description": "Data source spec describing the data source for settlement schedule.", + "label": "", + "type": "DataSourceDefinition", + "longType": "DataSourceDefinition", + "fullType": "vega.DataSourceDefinition", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_for_settlement_data", + "description": "Data source spec describing the data source for settlement.", + "label": "", + "type": "DataSourceDefinition", + "longType": "DataSourceDefinition", + "fullType": "vega.DataSourceDefinition", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_binding", + "description": "Binding between the data source spec and the settlement data.", + "label": "", + "type": "DataSourceSpecToPerpetualBinding", + "longType": "DataSourceSpecToPerpetualBinding", + "fullType": "vega.DataSourceSpecToPerpetualBinding", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Proposal", + "longName": "Proposal", + "fullName": "vega.Proposal", + "description": "Governance proposal", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique proposal ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference", + "description": "Proposal reference.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID i.e. public key of the party submitting the proposal.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "state", + "description": "Current state of the proposal, i.e. open, passed, failed etc.", + "label": "", + "type": "State", + "longType": "Proposal.State", + "fullType": "vega.Proposal.State", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "Proposal timestamp for date and time as Unix time in nanoseconds when proposal was submitted to the network.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "terms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted.", + "label": "", + "type": "ProposalTerms", + "longType": "ProposalTerms", + "fullType": "vega.ProposalTerms", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reason", + "description": "Reason for the current state of the proposal, this may be set in case of REJECTED and FAILED statuses.", + "label": "optional", + "type": "ProposalError", + "longType": "ProposalError", + "fullType": "vega.ProposalError", + "ismap": false, + "isoneof": true, + "oneofdecl": "_reason", + "defaultValue": "" + }, + { + "name": "error_details", + "description": "Detailed error associated to the reason.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_error_details", + "defaultValue": "" + }, + { + "name": "rationale", + "description": "Rationale behind a proposal.", + "label": "", + "type": "ProposalRationale", + "longType": "ProposalRationale", + "fullType": "vega.ProposalRationale", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "required_participation", + "description": "Required vote participation for this proposal.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "required_majority", + "description": "Required majority for this proposal.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "required_liquidity_provider_participation", + "description": "Required participation from liquidity providers, optional but is required for market update proposal.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_required_liquidity_provider_participation", + "defaultValue": "" + }, + { + "name": "required_liquidity_provider_majority", + "description": "Required majority from liquidity providers, optional but is required for market update proposal.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_required_liquidity_provider_majority", + "defaultValue": "" + } + ] + }, + { + "name": "ProposalRationale", + "longName": "ProposalRationale", + "fullName": "vega.ProposalRationale", + "description": "Rationale behind a proposal.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "description", + "description": "Description to show a short title / something in case the link goes offline.\nThis is to be between 0 and 20k unicode characters.\nThis is mandatory for all proposals.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "title", + "description": "Title to be used to give a short description of the proposal in lists.\nThis is to be between 0 and 100 unicode characters.\nThis is mandatory for all proposals.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ProposalTerms", + "longName": "ProposalTerms", + "fullName": "vega.ProposalTerms", + "description": "Terms for a governance proposal on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "closing_timestamp", + "description": "Timestamp as Unix time in seconds when voting closes for this proposal,\nconstrained by `minClose` and `maxClose` network parameters.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "enactment_timestamp", + "description": "Timestamp as Unix time in seconds when proposal gets enacted if passed,\nconstrained by `minEnact` and `maxEnact` network parameters.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validation_timestamp", + "description": "Validation timestamp as Unix time in seconds.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "update_market", + "description": "Proposal change for modifying an existing futures market on Vega.", + "label": "", + "type": "UpdateMarket", + "longType": "UpdateMarket", + "fullType": "vega.UpdateMarket", + "ismap": false, + "isoneof": true, + "oneofdecl": "change", + "defaultValue": "" + }, + { + "name": "new_market", + "description": "Proposal change for creating new futures market on Vega.", + "label": "", + "type": "NewMarket", + "longType": "NewMarket", + "fullType": "vega.NewMarket", + "ismap": false, + "isoneof": true, + "oneofdecl": "change", + "defaultValue": "" + }, + { + "name": "update_network_parameter", + "description": "Proposal change for updating Vega network parameters.", + "label": "", + "type": "UpdateNetworkParameter", + "longType": "UpdateNetworkParameter", + "fullType": "vega.UpdateNetworkParameter", + "ismap": false, + "isoneof": true, + "oneofdecl": "change", + "defaultValue": "" + }, + { + "name": "new_asset", + "description": "Proposal change for creating new assets on Vega.", + "label": "", + "type": "NewAsset", + "longType": "NewAsset", + "fullType": "vega.NewAsset", + "ismap": false, + "isoneof": true, + "oneofdecl": "change", + "defaultValue": "" + }, + { + "name": "new_freeform", + "description": "Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system,\nand can be used to gauge community sentiment.", + "label": "", + "type": "NewFreeform", + "longType": "NewFreeform", + "fullType": "vega.NewFreeform", + "ismap": false, + "isoneof": true, + "oneofdecl": "change", + "defaultValue": "" + }, + { + "name": "update_asset", + "description": "Proposal change for updating an asset.", + "label": "", + "type": "UpdateAsset", + "longType": "UpdateAsset", + "fullType": "vega.UpdateAsset", + "ismap": false, + "isoneof": true, + "oneofdecl": "change", + "defaultValue": "" + }, + { + "name": "new_spot_market", + "description": "Proposal change for creating new spot market on Vega.", + "label": "", + "type": "NewSpotMarket", + "longType": "NewSpotMarket", + "fullType": "vega.NewSpotMarket", + "ismap": false, + "isoneof": true, + "oneofdecl": "change", + "defaultValue": "" + }, + { + "name": "update_spot_market", + "description": "Proposal change for modifying an existing spot market on Vega.", + "label": "", + "type": "UpdateSpotMarket", + "longType": "UpdateSpotMarket", + "fullType": "vega.UpdateSpotMarket", + "ismap": false, + "isoneof": true, + "oneofdecl": "change", + "defaultValue": "" + }, + { + "name": "new_transfer", + "description": "Proposal change for a governance transfer.", + "label": "", + "type": "NewTransfer", + "longType": "NewTransfer", + "fullType": "vega.NewTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "change", + "defaultValue": "" + }, + { + "name": "cancel_transfer", + "description": "Cancel a governance transfer.", + "label": "", + "type": "CancelTransfer", + "longType": "CancelTransfer", + "fullType": "vega.CancelTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "change", + "defaultValue": "" + }, + { + "name": "update_market_state", + "description": "Proposal change for updating the state of a market.", + "label": "", + "type": "UpdateMarketState", + "longType": "UpdateMarketState", + "fullType": "vega.UpdateMarketState", + "ismap": false, + "isoneof": true, + "oneofdecl": "change", + "defaultValue": "" + } + ] + }, + { + "name": "RecurringTransfer", + "longName": "RecurringTransfer", + "fullName": "vega.RecurringTransfer", + "description": "Specific details for a recurring transfer\n\nFirst epoch from which this transfer shall be paid.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "start_epoch", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "end_epoch", + "description": "Last epoch at which this transfer shall be paid.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_end_epoch", + "defaultValue": "" + }, + { + "name": "dispatch_strategy", + "description": "Optional parameter defining how a transfer is dispatched.", + "label": "optional", + "type": "DispatchStrategy", + "longType": "DispatchStrategy", + "fullType": "vega.DispatchStrategy", + "ismap": false, + "isoneof": true, + "oneofdecl": "_dispatch_strategy", + "defaultValue": "" + } + ] + }, + { + "name": "SpotProduct", + "longName": "SpotProduct", + "fullName": "vega.SpotProduct", + "description": "Spot product configuration", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "base_asset", + "description": "Base asset ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "quote_asset", + "description": "Quote asset ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "Product name.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SuccessorConfiguration", + "longName": "SuccessorConfiguration", + "fullName": "vega.SuccessorConfiguration", + "description": "Configuration required to turn a new market proposal in to a successor market proposal.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "parent_market_id", + "description": "ID of the market that the successor should take over from.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "insurance_pool_fraction", + "description": "A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "UpdateAsset", + "longName": "UpdateAsset", + "fullName": "vega.UpdateAsset", + "description": "Update an existing asset on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset_id", + "description": "Asset ID the update is for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "changes", + "description": "Changes to apply on an existing asset.", + "label": "", + "type": "AssetDetailsUpdate", + "longType": "AssetDetailsUpdate", + "fullType": "vega.AssetDetailsUpdate", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "UpdateFutureProduct", + "longName": "UpdateFutureProduct", + "fullName": "vega.UpdateFutureProduct", + "description": "Future product configuration", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "quote_name", + "description": "Human-readable name/abbreviation of the quote name.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_for_settlement_data", + "description": "The data source spec describing the data of settlement data.", + "label": "", + "type": "DataSourceDefinition", + "longType": "DataSourceDefinition", + "fullType": "vega.DataSourceDefinition", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_for_trading_termination", + "description": "The data source spec describing the data source for trading termination.", + "label": "", + "type": "DataSourceDefinition", + "longType": "DataSourceDefinition", + "fullType": "vega.DataSourceDefinition", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_binding", + "description": "The binding between the data source spec and the settlement data.", + "label": "", + "type": "DataSourceSpecToFutureBinding", + "longType": "DataSourceSpecToFutureBinding", + "fullType": "vega.DataSourceSpecToFutureBinding", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "UpdateInstrumentConfiguration", + "longName": "UpdateInstrumentConfiguration", + "fullName": "vega.UpdateInstrumentConfiguration", + "description": "Instrument configuration", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "code", + "description": "Instrument code, human-readable shortcode used to describe the instrument.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "future", + "description": "Future.", + "label": "", + "type": "UpdateFutureProduct", + "longType": "UpdateFutureProduct", + "fullType": "vega.UpdateFutureProduct", + "ismap": false, + "isoneof": true, + "oneofdecl": "product", + "defaultValue": "" + }, + { + "name": "perpetual", + "description": "Perpetual.", + "label": "", + "type": "UpdatePerpetualProduct", + "longType": "UpdatePerpetualProduct", + "fullType": "vega.UpdatePerpetualProduct", + "ismap": false, + "isoneof": true, + "oneofdecl": "product", + "defaultValue": "" + } + ] + }, + { + "name": "UpdateMarket", + "longName": "UpdateMarket", + "fullName": "vega.UpdateMarket", + "description": "Update an existing market on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID the update is for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "changes", + "description": "Updated configuration of the futures market.", + "label": "", + "type": "UpdateMarketConfiguration", + "longType": "UpdateMarketConfiguration", + "fullType": "vega.UpdateMarketConfiguration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "UpdateMarketConfiguration", + "longName": "UpdateMarketConfiguration", + "fullName": "vega.UpdateMarketConfiguration", + "description": "Configuration to update a futures market on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "instrument", + "description": "Updated futures market instrument configuration.", + "label": "", + "type": "UpdateInstrumentConfiguration", + "longType": "UpdateInstrumentConfiguration", + "fullType": "vega.UpdateInstrumentConfiguration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "metadata", + "description": "Optional futures market metadata, tags.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price_monitoring_parameters", + "description": "Price monitoring parameters.", + "label": "", + "type": "PriceMonitoringParameters", + "longType": "PriceMonitoringParameters", + "fullType": "vega.PriceMonitoringParameters", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "liquidity_monitoring_parameters", + "description": "Liquidity monitoring parameters.", + "label": "", + "type": "LiquidityMonitoringParameters", + "longType": "LiquidityMonitoringParameters", + "fullType": "vega.LiquidityMonitoringParameters", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "simple", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected.", + "label": "", + "type": "SimpleModelParams", + "longType": "SimpleModelParams", + "fullType": "vega.SimpleModelParams", + "ismap": false, + "isoneof": true, + "oneofdecl": "risk_parameters", + "defaultValue": "" + }, + { + "name": "log_normal", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected.", + "label": "", + "type": "LogNormalRiskModel", + "longType": "LogNormalRiskModel", + "fullType": "vega.LogNormalRiskModel", + "ismap": false, + "isoneof": true, + "oneofdecl": "risk_parameters", + "defaultValue": "" + }, + { + "name": "lp_price_range", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "linear_slippage_factor", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "quadratic_slippage_factor", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "UpdateMarketState", + "longName": "UpdateMarketState", + "fullName": "vega.UpdateMarketState", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "changes", + "description": "Configuration for governance-initiated change of a market's state", + "label": "", + "type": "UpdateMarketStateConfiguration", + "longType": "UpdateMarketStateConfiguration", + "fullType": "vega.UpdateMarketStateConfiguration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "UpdateMarketStateConfiguration", + "longName": "UpdateMarketStateConfiguration", + "fullName": "vega.UpdateMarketStateConfiguration", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "ID of the market", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "update_type", + "description": "Type of the market update", + "label": "", + "type": "MarketStateUpdateType", + "longType": "MarketStateUpdateType", + "fullType": "vega.MarketStateUpdateType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Settlement price, relevant only for market termination for futures markets", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_price", + "defaultValue": "" + } + ] + }, + { + "name": "UpdateNetworkParameter", + "longName": "UpdateNetworkParameter", + "fullName": "vega.UpdateNetworkParameter", + "description": "Update network configuration on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "changes", + "description": "The network parameter to update.", + "label": "", + "type": "NetworkParameter", + "longType": "NetworkParameter", + "fullType": "vega.NetworkParameter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "UpdatePerpetualProduct", + "longName": "UpdatePerpetualProduct", + "fullName": "vega.UpdatePerpetualProduct", + "description": "Perpetual product configuration", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "quote_name", + "description": "Human-readable name/abbreviation of the quote name.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "margin_funding_factor", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1].", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "interest_rate", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1].", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "clamp_lower_bound", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "clamp_upper_bound", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1].", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_for_settlement_schedule", + "description": "Data source spec describing the data source for settlement schedule.", + "label": "", + "type": "DataSourceDefinition", + "longType": "DataSourceDefinition", + "fullType": "vega.DataSourceDefinition", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_for_settlement_data", + "description": "Data source spec describing the data source for settlement.", + "label": "", + "type": "DataSourceDefinition", + "longType": "DataSourceDefinition", + "fullType": "vega.DataSourceDefinition", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_source_spec_binding", + "description": "Binding between the data source spec and the settlement data.", + "label": "", + "type": "DataSourceSpecToPerpetualBinding", + "longType": "DataSourceSpecToPerpetualBinding", + "fullType": "vega.DataSourceSpecToPerpetualBinding", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "UpdateSpotMarket", + "longName": "UpdateSpotMarket", + "fullName": "vega.UpdateSpotMarket", + "description": "Update an existing spot market on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID the update is for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "changes", + "description": "Updated configuration of the spot market.", + "label": "", + "type": "UpdateSpotMarketConfiguration", + "longType": "UpdateSpotMarketConfiguration", + "fullType": "vega.UpdateSpotMarketConfiguration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "UpdateSpotMarketConfiguration", + "longName": "UpdateSpotMarketConfiguration", + "fullName": "vega.UpdateSpotMarketConfiguration", + "description": "Configuration to update a spot market on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "metadata", + "description": "Optional spot market metadata, tags.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price_monitoring_parameters", + "description": "Price monitoring parameters.", + "label": "", + "type": "PriceMonitoringParameters", + "longType": "PriceMonitoringParameters", + "fullType": "vega.PriceMonitoringParameters", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "target_stake_parameters", + "description": "Specifies parameters related to target stake calculation.", + "label": "", + "type": "TargetStakeParameters", + "longType": "TargetStakeParameters", + "fullType": "vega.TargetStakeParameters", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "simple", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected.", + "label": "", + "type": "SimpleModelParams", + "longType": "SimpleModelParams", + "fullType": "vega.SimpleModelParams", + "ismap": false, + "isoneof": true, + "oneofdecl": "risk_parameters", + "defaultValue": "" + }, + { + "name": "log_normal", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected.", + "label": "", + "type": "LogNormalRiskModel", + "longType": "LogNormalRiskModel", + "fullType": "vega.LogNormalRiskModel", + "ismap": false, + "isoneof": true, + "oneofdecl": "risk_parameters", + "defaultValue": "" + }, + { + "name": "sla_params", + "description": "Specifies the liquidity provision SLA parameters.", + "label": "", + "type": "LiquiditySLAParameters", + "longType": "LiquiditySLAParameters", + "fullType": "vega.LiquiditySLAParameters", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Vote", + "longName": "Vote", + "fullName": "vega.Vote", + "description": "Governance vote", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Voter's party ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "value", + "description": "Which way the party voted.", + "label": "", + "type": "Value", + "longType": "Vote.Value", + "fullType": "vega.Vote.Value", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "proposal_id", + "description": "Proposal ID being voted on.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "Timestamp in Unix nanoseconds when the vote was acknowledged by the network.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_governance_token_balance", + "description": "Total number of governance token for the party that cast the vote.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_governance_token_weight", + "description": "The weight of this vote based on the total number of governance tokens.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_equity_like_share_weight", + "description": "The weight of the vote compared to the total amount of equity-like share on the market.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/commands/v1/commands.proto", + "description": "", + "package": "vega.commands.v1", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [ + { + "name": "Method", + "longName": "UndelegateSubmission.Method", + "fullName": "vega.commands.v1.UndelegateSubmission.Method", + "description": "", + "values": [ + { + "name": "METHOD_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "METHOD_NOW", + "number": "1", + "description": "" + }, + { + "name": "METHOD_AT_END_OF_EPOCH", + "number": "2", + "description": "" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "BatchMarketInstructions", + "longName": "BatchMarketInstructions", + "fullName": "vega.commands.v1.BatchMarketInstructions", + "description": "Batch of order instructions.\nThis command accepts only the following batches of commands\nand will be processed in the following order:\n- OrderCancellation\n- OrderAmendment\n- OrderSubmission\nThe total amount of commands in the batch across all three lists of\ninstructions is restricted by the following network parameter:\n\"spam.protection.max.batchSize\"", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "cancellations", + "description": "List of order cancellations to be processed sequentially.", + "label": "repeated", + "type": "OrderCancellation", + "longType": "OrderCancellation", + "fullType": "vega.commands.v1.OrderCancellation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amendments", + "description": "List of order amendments to be processed sequentially.", + "label": "repeated", + "type": "OrderAmendment", + "longType": "OrderAmendment", + "fullType": "vega.commands.v1.OrderAmendment", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "submissions", + "description": "List of order submissions to be processed sequentially.", + "label": "repeated", + "type": "OrderSubmission", + "longType": "OrderSubmission", + "fullType": "vega.commands.v1.OrderSubmission", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "stop_orders_cancellation", + "description": "List of stop order cancellations to be processed sequentially.", + "label": "repeated", + "type": "StopOrdersCancellation", + "longType": "StopOrdersCancellation", + "fullType": "vega.commands.v1.StopOrdersCancellation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "stop_orders_submission", + "description": "List of stop order submissions to be processed sequentially.", + "label": "repeated", + "type": "StopOrdersSubmission", + "longType": "StopOrdersSubmission", + "fullType": "vega.commands.v1.StopOrdersSubmission", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CancelTransfer", + "longName": "CancelTransfer", + "fullName": "vega.commands.v1.CancelTransfer", + "description": "Request for cancelling a recurring transfer", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "transfer_id", + "description": "Transfer ID of the transfer to cancel.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CreateTeam", + "longName": "CreateTeam", + "fullName": "vega.commands.v1.CreateTeam", + "description": "Request for creating a referral team\n\nCreates a referral team. The team creator automatically becomes\nthe team leader, called a referrer. This cannot be changed.\nA referrer cannot already be or become a liquidity provider,\nnor can they be on an existing team as referrer or referee.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "enable_rewards", + "description": "Specifies whether the team is eligible for team based rewards.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "Optional team name to be added to the referral banner.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_name", + "defaultValue": "" + }, + { + "name": "team_url", + "description": "Optional link to a team forum, discord, etc.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_team_url", + "defaultValue": "" + }, + { + "name": "avatar_url", + "description": "Optional link to an image to be used as the team avatar.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_avatar_url", + "defaultValue": "" + } + ] + }, + { + "name": "DelegateSubmission", + "longName": "DelegateSubmission", + "fullName": "vega.commands.v1.DelegateSubmission", + "description": "Command to submit an instruction to delegate some stake to a node", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node_id", + "description": "Delegate to the specified node ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount of stake to delegate. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "IcebergOpts", + "longName": "IcebergOpts", + "fullName": "vega.commands.v1.IcebergOpts", + "description": "Iceberg order options", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "peak_size", + "description": "Size of the order that is made visible and can be traded with during the execution of a single order.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "minimum_visible_size", + "description": "Minimum allowed remaining size of the order before it is replenished back to its peak size.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "IssueSignatures", + "longName": "IssueSignatures", + "fullName": "vega.commands.v1.IssueSignatures", + "description": "Transaction for a validator to submit signatures to a smart contract", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "submitter", + "description": "Ethereum address which will submit the signatures to the smart contract.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "kind", + "description": "What kind of signatures to generate, namely for whether a signer is being added or removed.", + "label": "", + "type": "NodeSignatureKind", + "longType": "NodeSignatureKind", + "fullType": "vega.commands.v1.NodeSignatureKind", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validator_node_id", + "description": "Node ID of the validator node that will be signed in or out of the smart contract.\n\nthe node for which to emit the signatures.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "JoinTeam", + "longName": "JoinTeam", + "fullName": "vega.commands.v1.JoinTeam", + "description": "Request to join a team\n\nA party that joins a referral team is called a referee. A referee cannot\nbe a liquidity provider, nor can they create a team or join multiple teams.\nTo switch teams, the referee can ask to join another team, and the switch will\nbe effective at the end of the epoch.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "team_id", + "description": "Team ID of the team to join.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityProvisionAmendment", + "longName": "LiquidityProvisionAmendment", + "fullName": "vega.commands.v1.LiquidityProvisionAmendment", + "description": "Amend a liquidity provision request", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Unique ID for the market with the liquidity provision to be amended.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "commitment_amount", + "description": "From here at least one of the following is required to consider the command valid.\n\nempty strings means no change", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "fee", + "description": "empty strings means no change", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sells", + "description": "empty slice means no change", + "label": "repeated", + "type": "LiquidityOrder", + "longType": "vega.LiquidityOrder", + "fullType": "vega.LiquidityOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buys", + "description": "empty slice means no change", + "label": "repeated", + "type": "LiquidityOrder", + "longType": "vega.LiquidityOrder", + "fullType": "vega.LiquidityOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference", + "description": "empty string means no change", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityProvisionCancellation", + "longName": "LiquidityProvisionCancellation", + "fullName": "vega.commands.v1.LiquidityProvisionCancellation", + "description": "Cancel a liquidity provision request", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Unique ID for the market with the liquidity provision to be cancelled.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityProvisionSubmission", + "longName": "LiquidityProvisionSubmission", + "fullName": "vega.commands.v1.LiquidityProvisionSubmission", + "description": "A liquidity provision submitted for a given market", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for the order.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "commitment_amount", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled using the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "fee", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sells", + "description": "Set of liquidity sell orders to meet the liquidity provision obligation.", + "label": "repeated", + "type": "LiquidityOrder", + "longType": "vega.LiquidityOrder", + "fullType": "vega.LiquidityOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buys", + "description": "Set of liquidity buy orders to meet the liquidity provision obligation.", + "label": "repeated", + "type": "LiquidityOrder", + "longType": "vega.LiquidityOrder", + "fullType": "vega.LiquidityOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference", + "description": "Reference to be added to every order created out of this liquidity provision submission.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OneOffTransfer", + "longName": "OneOffTransfer", + "fullName": "vega.commands.v1.OneOffTransfer", + "description": "Specific details for a one off transfer", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "deliver_on", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrderAmendment", + "longName": "OrderAmendment", + "fullName": "vega.commands.v1.OrderAmendment", + "description": "An order amendment is a request to amend or update an existing order on Vega\n\nThe `orderID` and `marketID` fields are used for looking up the order only and cannot be amended by this command.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "order_id", + "description": "Order ID, this is required to find the order and will not be updated, required field.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID, this is required to find the order and will not be updated.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Amend the price for the order if the price value is set, otherwise price will remain unchanged.\nThis field is an unsigned integer scaled to the market's decimal places.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_price", + "defaultValue": "" + }, + { + "name": "size_delta", + "description": "Amend the size for the order by the delta specified:\n- To reduce the size from the current value set a negative integer value\n- To increase the size from the current value, set a positive integer value\n- To leave the size unchanged set a value of zero\nThis field needs to be scaled using the market's position decimal places.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expires_at", + "description": "Amend the expiry time for the order, if the Timestamp value is set, otherwise expiry time will remain unchanged.", + "label": "optional", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_expires_at", + "defaultValue": "" + }, + { + "name": "time_in_force", + "description": "Amend the time in force for the order, set to TIME_IN_FORCE_UNSPECIFIED to remain unchanged.", + "label": "", + "type": "TimeInForce", + "longType": "vega.Order.TimeInForce", + "fullType": "vega.Order.TimeInForce", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pegged_offset", + "description": "Amend the pegged order offset for the order. This field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pegged_reference", + "description": "Amend the pegged order reference for the order.", + "label": "", + "type": "PeggedReference", + "longType": "vega.PeggedReference", + "fullType": "vega.PeggedReference", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrderCancellation", + "longName": "OrderCancellation", + "fullName": "vega.commands.v1.OrderCancellation", + "description": "Order cancellation is a request to cancel an existing order on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "order_id", + "description": "Unique ID for the order. This is set by the system after consensus. Required field.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID for the order, required field.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrderSubmission", + "longName": "OrderSubmission", + "fullName": "vega.commands.v1.OrderSubmission", + "description": "Order submission is a request to submit or create a new order on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for the order, required field.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places,\nrequired field for limit orders, however it is not required for market orders.\nThis field is an unsigned integer scaled to the market's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "size", + "description": "Size for the order, for example, in a futures market the size equals the number of units, cannot be negative.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "side", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL, required field.", + "label": "", + "type": "Side", + "longType": "vega.Side", + "fullType": "vega.Side", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "time_in_force", + "description": "Time in force indicates how long an order will remain active before it is executed or expires, required field.", + "label": "", + "type": "TimeInForce", + "longType": "vega.Order.TimeInForce", + "fullType": "vega.Order.TimeInForce", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expires_at", + "description": "Timestamp in Unix nanoseconds for when the order will expire,\nrequired field only for `Order.TimeInForce`.TIME_IN_FORCE_GTT`.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Type for the order, required field - See `Order.Type`.", + "label": "", + "type": "Type", + "longType": "vega.Order.Type", + "fullType": "vega.Order.Type", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference", + "description": "Reference given for the order, this is typically used to retrieve an order submitted through consensus, currently\nset internally by the node to return a unique reference ID for the order submission.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pegged_order", + "description": "Used to specify the details for a pegged order.", + "label": "", + "type": "PeggedOrder", + "longType": "vega.PeggedOrder", + "fullType": "vega.PeggedOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "post_only", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reduce_only", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "iceberg_opts", + "description": "Parameters used to specify an iceberg order.", + "label": "optional", + "type": "IcebergOpts", + "longType": "IcebergOpts", + "fullType": "vega.commands.v1.IcebergOpts", + "ismap": false, + "isoneof": true, + "oneofdecl": "_iceberg_opts", + "defaultValue": "" + } + ] + }, + { + "name": "ProposalSubmission", + "longName": "ProposalSubmission", + "fullName": "vega.commands.v1.ProposalSubmission", + "description": "Command to submit a new proposal for the\nVega network governance", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "reference", + "description": "Reference identifying the proposal.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "terms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted.", + "label": "", + "type": "ProposalTerms", + "longType": "vega.ProposalTerms", + "fullType": "vega.ProposalTerms", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "rationale", + "description": "Rationale behind a proposal.", + "label": "", + "type": "ProposalRationale", + "longType": "vega.ProposalRationale", + "fullType": "vega.ProposalRationale", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RecurringTransfer", + "longName": "RecurringTransfer", + "fullName": "vega.commands.v1.RecurringTransfer", + "description": "Specific details for a recurring transfer", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "start_epoch", + "description": "First epoch from which this transfer shall be paid.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "end_epoch", + "description": "Last epoch at which this transfer shall be paid.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_end_epoch", + "defaultValue": "" + }, + { + "name": "factor", + "description": "Factor needs to be \u003e 0.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "dispatch_strategy", + "description": "Optional parameter defining how a transfer is dispatched.", + "label": "", + "type": "DispatchStrategy", + "longType": "vega.DispatchStrategy", + "fullType": "vega.DispatchStrategy", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StopOrderSetup", + "longName": "StopOrderSetup", + "fullName": "vega.commands.v1.StopOrderSetup", + "description": "Price and expiry configuration for a stop order", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "order_submission", + "description": "Order to be submitted once the trigger is breached.", + "label": "", + "type": "OrderSubmission", + "longType": "OrderSubmission", + "fullType": "vega.commands.v1.OrderSubmission", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expires_at", + "description": "Optional expiry timestamp.", + "label": "optional", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_expires_at", + "defaultValue": "" + }, + { + "name": "expiry_strategy", + "description": "Strategy to adopt if the expiry time is reached.", + "label": "optional", + "type": "ExpiryStrategy", + "longType": "vega.StopOrder.ExpiryStrategy", + "fullType": "vega.StopOrder.ExpiryStrategy", + "ismap": false, + "isoneof": true, + "oneofdecl": "_expiry_strategy", + "defaultValue": "" + }, + { + "name": "price", + "description": "Fixed price at which the order will be submitted.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "trigger", + "defaultValue": "" + }, + { + "name": "trailing_percent_offset", + "description": "Trailing percentage at which the order will be submitted.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "trigger", + "defaultValue": "" + } + ] + }, + { + "name": "StopOrdersCancellation", + "longName": "StopOrdersCancellation", + "fullName": "vega.commands.v1.StopOrdersCancellation", + "description": "Cancel a stop order.\nThe following combinations are available:\nEmpty object will cancel all stop orders for the party\nMarket ID alone will cancel all stop orders in a market\nMarket ID and order ID will cancel a specific stop order in a market\nIf the stop order is part of an OCO, both stop orders will be cancelled", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Optional market ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_market_id", + "defaultValue": "" + }, + { + "name": "stop_order_id", + "description": "Optional order ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_stop_order_id", + "defaultValue": "" + } + ] + }, + { + "name": "StopOrdersSubmission", + "longName": "StopOrdersSubmission", + "fullName": "vega.commands.v1.StopOrdersSubmission", + "description": "Stop order submission submits stops orders.\nIt is possible to make a single stop order submission by\nspecifying a single direction,\nor an OCO (One Cancels the Other) stop order submission\nby specifying a configuration for both directions", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "rises_above", + "description": "Stop order that will be triggered\nif the price rises above a given trigger price.", + "label": "optional", + "type": "StopOrderSetup", + "longType": "StopOrderSetup", + "fullType": "vega.commands.v1.StopOrderSetup", + "ismap": false, + "isoneof": true, + "oneofdecl": "_rises_above", + "defaultValue": "" + }, + { + "name": "falls_below", + "description": "Stop order that will be triggered\nif the price falls below a given trigger price.", + "label": "optional", + "type": "StopOrderSetup", + "longType": "StopOrderSetup", + "fullType": "vega.commands.v1.StopOrderSetup", + "ismap": false, + "isoneof": true, + "oneofdecl": "_falls_below", + "defaultValue": "" + } + ] + }, + { + "name": "Transfer", + "longName": "Transfer", + "fullName": "vega.commands.v1.Transfer", + "description": "Transfer initiated by a party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "from_account_type", + "description": "Account type from which the funds of the party\nshould be taken.", + "label": "", + "type": "AccountType", + "longType": "vega.AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "to", + "description": "Public key of the destination account.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "to_account_type", + "description": "Type of the destination account.", + "label": "", + "type": "AccountType", + "longType": "vega.AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "Asset ID of the asset to be transferred.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount to be taken from the source account. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference", + "description": "Reference to be attached to the transfer.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "one_off", + "description": "", + "label": "", + "type": "OneOffTransfer", + "longType": "OneOffTransfer", + "fullType": "vega.commands.v1.OneOffTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "kind", + "defaultValue": "" + }, + { + "name": "recurring", + "description": "", + "label": "", + "type": "RecurringTransfer", + "longType": "RecurringTransfer", + "fullType": "vega.commands.v1.RecurringTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "kind", + "defaultValue": "" + } + ] + }, + { + "name": "UndelegateSubmission", + "longName": "UndelegateSubmission", + "fullName": "vega.commands.v1.UndelegateSubmission", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node_id", + "description": "Node ID to delegate to.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Optional, if not specified = ALL.\nIf provided, this field must be an unsigned integer passed as a string\nand needs to be scaled using the asset decimal places for the token.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "method", + "description": "Method of delegation.", + "label": "", + "type": "Method", + "longType": "UndelegateSubmission.Method", + "fullType": "vega.commands.v1.UndelegateSubmission.Method", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "UpdateTeam", + "longName": "UpdateTeam", + "fullName": "vega.commands.v1.UpdateTeam", + "description": "Request for updating a team's properties", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "team_id", + "description": "Team ID of the team to update.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "enable_rewards", + "description": "Specifies whether the team is eligible for team based rewards.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "Optional team name to be added to the referral banner.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_name", + "defaultValue": "" + }, + { + "name": "team_url", + "description": "Optional link to a team forum, discord, etc.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_team_url", + "defaultValue": "" + }, + { + "name": "avatar_url", + "description": "Optional link to an image to be used as the team avatar.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_avatar_url", + "defaultValue": "" + } + ] + }, + { + "name": "VoteSubmission", + "longName": "VoteSubmission", + "fullName": "vega.commands.v1.VoteSubmission", + "description": "Command to submit a new vote for a governance proposal.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposal_id", + "description": "Submit vote for the specified proposal ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "value", + "description": "Actual value of the vote.", + "label": "", + "type": "Value", + "longType": "vega.Vote.Value", + "fullType": "vega.Vote.Value", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "WithdrawSubmission", + "longName": "WithdrawSubmission", + "fullName": "vega.commands.v1.WithdrawSubmission", + "description": "Represents the submission request to withdraw funds for a party on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "amount", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "Asset to be withdrawn.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ext", + "description": "Foreign chain specifics.", + "label": "", + "type": "WithdrawExt", + "longType": "vega.WithdrawExt", + "fullType": "vega.WithdrawExt", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/commands/v1/data.proto", + "description": "", + "package": "vega.commands.v1", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [ + { + "name": "OracleSource", + "longName": "OracleDataSubmission.OracleSource", + "fullName": "vega.commands.v1.OracleDataSubmission.OracleSource", + "description": "Supported oracle sources", + "values": [ + { + "name": "ORACLE_SOURCE_UNSPECIFIED", + "number": "0", + "description": "Default value" + }, + { + "name": "ORACLE_SOURCE_OPEN_ORACLE", + "number": "1", + "description": "Specifies that the payload will be base64 encoded JSON conforming to the Open Oracle standard" + }, + { + "name": "ORACLE_SOURCE_JSON", + "number": "2", + "description": "Specifies that the payload will be base64 encoded JSON, but does not specify the shape of the data" + }, + { + "name": "ORACLE_SOURCE_ETHEREUM", + "number": "3", + "description": "Specifies that the payload will be base64 encoded JSON conforming to the ETH standard" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "OracleDataSubmission", + "longName": "OracleDataSubmission", + "fullName": "vega.commands.v1.OracleDataSubmission", + "description": "Command to submit new Oracle data from third party providers", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "source", + "description": "Source from which the data is coming from. Must be base64 encoded.\nOracle data is a type of external data source data.", + "label": "", + "type": "OracleSource", + "longType": "OracleDataSubmission.OracleSource", + "fullType": "vega.commands.v1.OracleDataSubmission.OracleSource", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "payload", + "description": "Data provided by the data source\nIn the case of Open Oracle - it will be the entire object - it will contain messages, signatures and price data.", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/commands/v1/transaction.proto", + "description": "", + "package": "vega.commands.v1", + "hasEnums": true, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [ + { + "name": "TxVersion", + "longName": "TxVersion", + "fullName": "vega.commands.v1.TxVersion", + "description": "Current supported version of the transaction inside the network.", + "values": [ + { + "name": "TX_VERSION_UNSPECIFIED", + "number": "0", + "description": "Represents an unspecified or missing value from the input" + }, + { + "name": "TX_VERSION_V2", + "number": "2", + "description": "This version requires the proof-of-work added to the transaction." + }, + { + "name": "TX_VERSION_V3", + "number": "3", + "description": "This version requires the chain ID to be appended in front of the input data\nbyte, with a `\\0` delimiter." + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "InputData", + "longName": "InputData", + "fullName": "vega.commands.v1.InputData", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "nonce", + "description": "Number to provide uniqueness to prevent accidental replays and,\nin combination with `block_height`, deliberate attacks.\nA nonce provides uniqueness for otherwise identical transactions,\nensuring that the transaction hash uniquely identifies a specific transaction.\nGranted all other fields are equal, the nonce can either be a counter\nor generated at random to submit multiple transactions within the same\nblock (see below), without being identified as replays.\nPlease note that Protocol Buffers do not have a canonical, unique encoding\nand therefore different libraries or binaries may encode the same message\nslightly differently, causing a different hash.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_height", + "description": "Block height at which the transaction was made.\nThis should be the current block height. The transaction will be valid\nfrom the block and up to the `tolerance` block height.\nExample: If the network has a tolerance of 150 blocks and `block_height`\nis set to `200`, then the transaction will be valid until block `350`.\nNote that a `block_height` that is ahead of the real block height will be\nrejected. The tolerance can be queried from the chain's network parameters.\n`block_height` prevents replay attacks in conjunction with `nonce` (see above).", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "order_submission", + "description": "Command for submitting an order.", + "label": "", + "type": "OrderSubmission", + "longType": "OrderSubmission", + "fullType": "vega.commands.v1.OrderSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "order_cancellation", + "description": "Command to cancel an order.", + "label": "", + "type": "OrderCancellation", + "longType": "OrderCancellation", + "fullType": "vega.commands.v1.OrderCancellation", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "order_amendment", + "description": "Command to amend an order.", + "label": "", + "type": "OrderAmendment", + "longType": "OrderAmendment", + "fullType": "vega.commands.v1.OrderAmendment", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "withdraw_submission", + "description": "Command to submit a withdrawal.", + "label": "", + "type": "WithdrawSubmission", + "longType": "WithdrawSubmission", + "fullType": "vega.commands.v1.WithdrawSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "proposal_submission", + "description": "Command to submit a governance proposal.", + "label": "", + "type": "ProposalSubmission", + "longType": "ProposalSubmission", + "fullType": "vega.commands.v1.ProposalSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "vote_submission", + "description": "Command to submit a vote on a governance proposal.", + "label": "", + "type": "VoteSubmission", + "longType": "VoteSubmission", + "fullType": "vega.commands.v1.VoteSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "liquidity_provision_submission", + "description": "Command to submit a liquidity commitment.", + "label": "", + "type": "LiquidityProvisionSubmission", + "longType": "LiquidityProvisionSubmission", + "fullType": "vega.commands.v1.LiquidityProvisionSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "delegate_submission", + "description": "Command to delegate tokens to a validator.", + "label": "", + "type": "DelegateSubmission", + "longType": "DelegateSubmission", + "fullType": "vega.commands.v1.DelegateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "undelegate_submission", + "description": "Command to remove tokens delegated to a validator.", + "label": "", + "type": "UndelegateSubmission", + "longType": "UndelegateSubmission", + "fullType": "vega.commands.v1.UndelegateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "liquidity_provision_cancellation", + "description": "Command to request cancelling a liquidity commitment.", + "label": "", + "type": "LiquidityProvisionCancellation", + "longType": "LiquidityProvisionCancellation", + "fullType": "vega.commands.v1.LiquidityProvisionCancellation", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "liquidity_provision_amendment", + "description": "Command to request amending a liquidity commitment.", + "label": "", + "type": "LiquidityProvisionAmendment", + "longType": "LiquidityProvisionAmendment", + "fullType": "vega.commands.v1.LiquidityProvisionAmendment", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "transfer", + "description": "Command to submit a transfer.", + "label": "", + "type": "Transfer", + "longType": "Transfer", + "fullType": "vega.commands.v1.Transfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "cancel_transfer", + "description": "Command to request cancelling a recurring transfer.", + "label": "", + "type": "CancelTransfer", + "longType": "CancelTransfer", + "fullType": "vega.commands.v1.CancelTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "announce_node", + "description": "Command used by a node operator to announce its node as a pending validator.", + "label": "", + "type": "AnnounceNode", + "longType": "AnnounceNode", + "fullType": "vega.commands.v1.AnnounceNode", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "batch_market_instructions", + "description": "Command to submit a batch of order instructions to a market.", + "label": "", + "type": "BatchMarketInstructions", + "longType": "BatchMarketInstructions", + "fullType": "vega.commands.v1.BatchMarketInstructions", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "stop_orders_submission", + "description": "Command to submit a pair of stop orders.", + "label": "", + "type": "StopOrdersSubmission", + "longType": "StopOrdersSubmission", + "fullType": "vega.commands.v1.StopOrdersSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "stop_orders_cancellation", + "description": "Command to cancel stop orders.", + "label": "", + "type": "StopOrdersCancellation", + "longType": "StopOrdersCancellation", + "fullType": "vega.commands.v1.StopOrdersCancellation", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "create_team", + "description": "Command to create a team.", + "label": "", + "type": "CreateTeam", + "longType": "CreateTeam", + "fullType": "vega.commands.v1.CreateTeam", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "update_team", + "description": "Command to update a team.", + "label": "", + "type": "UpdateTeam", + "longType": "UpdateTeam", + "fullType": "vega.commands.v1.UpdateTeam", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "join_team", + "description": "Command to join a team.", + "label": "", + "type": "JoinTeam", + "longType": "JoinTeam", + "fullType": "vega.commands.v1.JoinTeam", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "node_vote", + "description": "Command used by a validator when a node votes for validating that a given resource exists or is valid,\nfor example, an ERC20 deposit is valid and exists on ethereum.", + "label": "", + "type": "NodeVote", + "longType": "NodeVote", + "fullType": "vega.commands.v1.NodeVote", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "node_signature", + "description": "Command used by a validator to submit a signature, to be used by a foreign chain to recognise a decision taken by the Vega network.", + "label": "", + "type": "NodeSignature", + "longType": "NodeSignature", + "fullType": "vega.commands.v1.NodeSignature", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "chain_event", + "description": "Command used by a validator to submit an event forwarded to the Vega network to provide information\non events happening on other networks, to be used by a foreign chain\nto recognise a decision taken by the Vega network.", + "label": "", + "type": "ChainEvent", + "longType": "ChainEvent", + "fullType": "vega.commands.v1.ChainEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "key_rotate_submission", + "description": "Command used by a validator to allow given validator to rotate their Vega keys.", + "label": "", + "type": "KeyRotateSubmission", + "longType": "KeyRotateSubmission", + "fullType": "vega.commands.v1.KeyRotateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "state_variable_proposal", + "description": "Command used by a validator to submit a floating point value.", + "label": "", + "type": "StateVariableProposal", + "longType": "StateVariableProposal", + "fullType": "vega.commands.v1.StateVariableProposal", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "validator_heartbeat", + "description": "Command used by a validator to signal they are still online and validating blocks\nor ready to validate blocks when they are still a pending validator.", + "label": "", + "type": "ValidatorHeartbeat", + "longType": "ValidatorHeartbeat", + "fullType": "vega.commands.v1.ValidatorHeartbeat", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "ethereum_key_rotate_submission", + "description": "Command used by a validator to allow given validator to rotate their Ethereum keys.", + "label": "", + "type": "EthereumKeyRotateSubmission", + "longType": "EthereumKeyRotateSubmission", + "fullType": "vega.commands.v1.EthereumKeyRotateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "protocol_upgrade_proposal", + "description": "Command used by a validator to propose a protocol upgrade.", + "label": "", + "type": "ProtocolUpgradeProposal", + "longType": "ProtocolUpgradeProposal", + "fullType": "vega.commands.v1.ProtocolUpgradeProposal", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "issue_signatures", + "description": "Command used by a validator to submit signatures to a smart contract.", + "label": "", + "type": "IssueSignatures", + "longType": "IssueSignatures", + "fullType": "vega.commands.v1.IssueSignatures", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "oracle_data_submission", + "description": "Command to submit new oracle data from third party providers.", + "label": "", + "type": "OracleDataSubmission", + "longType": "OracleDataSubmission", + "fullType": "vega.commands.v1.OracleDataSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + } + ] + }, + { + "name": "ProofOfWork", + "longName": "ProofOfWork", + "fullName": "vega.commands.v1.ProofOfWork", + "description": "Components needed for the network to verify proof-of-work", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "tid", + "description": "Unique transaction identifier used to seed the proof-of-work hash.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "Number which, combined with the transaction identifier, will produce a hash with the required number of leading zeros to be accepted by the network.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Transaction", + "longName": "Transaction", + "fullName": "vega.commands.v1.Transaction", + "description": "Represents a transaction to be sent to Vega.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "input_data", + "description": "One of the set of Vega commands.\nThese bytes are should be built as follows:\n chain_id_as_bytes + \\0 character as delimiter + proto_marshalled_command.", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signature", + "description": "Signature of the input data.", + "label": "", + "type": "Signature", + "longType": "Signature", + "fullType": "vega.commands.v1.Signature", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "address", + "description": "Hex-encoded address of the sender. Not supported yet.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "from", + "defaultValue": "" + }, + { + "name": "pub_key", + "description": "Hex-encoded public key of the sender.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "from", + "defaultValue": "" + }, + { + "name": "version", + "description": "Version of the transaction, to be used in the future in case changes are implemented\nto the transaction format.", + "label": "", + "type": "TxVersion", + "longType": "TxVersion", + "fullType": "vega.commands.v1.TxVersion", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pow", + "description": "Proof of work contains the random transaction id used by the client and the nonce.", + "label": "", + "type": "ProofOfWork", + "longType": "ProofOfWork", + "fullType": "vega.commands.v1.ProofOfWork", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "blockexplorer/api/v1/blockexplorer.proto", + "description": "", + "package": "blockexplorer.api.v1", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": true, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "GetTransactionRequest", + "longName": "GetTransactionRequest", + "fullName": "blockexplorer.api.v1.GetTransactionRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "hash", + "description": "Hash of the transaction", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetTransactionResponse", + "longName": "GetTransactionResponse", + "fullName": "blockexplorer.api.v1.GetTransactionResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "transaction", + "description": "Transaction corresponding to the hash", + "label": "", + "type": "Transaction", + "longType": "Transaction", + "fullType": "blockexplorer.api.v1.Transaction", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "InfoRequest", + "longName": "InfoRequest", + "fullName": "blockexplorer.api.v1.InfoRequest", + "description": "node information", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "InfoResponse", + "longName": "InfoResponse", + "fullName": "blockexplorer.api.v1.InfoResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "version", + "description": "Semver formatted version of the data node", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "commit_hash", + "description": "Commit hash from which the data node was built", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListTransactionsRequest", + "longName": "ListTransactionsRequest", + "fullName": "blockexplorer.api.v1.ListTransactionsRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "limit", + "description": "Number of transactions to be returned from the blockchain.\nThis is deprecated, use first and last instead.", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "", + "options": { + "deprecated": true + } + }, + { + "name": "before", + "description": "Optional cursor to paginate the request", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_before", + "defaultValue": "" + }, + { + "name": "after", + "description": "Optional cursor to paginate the request", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_after", + "defaultValue": "" + }, + { + "name": "filters", + "description": "Filters to apply to the request", + "label": "repeated", + "type": "FiltersEntry", + "longType": "ListTransactionsRequest.FiltersEntry", + "fullType": "blockexplorer.api.v1.ListTransactionsRequest.FiltersEntry", + "ismap": true, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cmd_types", + "description": "Transaction command types filter, for listing transactions with specified command types", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "exclude_cmd_types", + "description": "Transaction command types exclusion filter, for listing all the transactions except the ones with specified command types", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "parties", + "description": "Party IDs filter, can be sender or receiver", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "first", + "description": "Number of transactions to be returned from the blockchain. Use in conjunction with the `after` cursor to paginate forwards.\nOn its own, this will return the first `first` transactions.", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last", + "description": "Number of transactions to be returned from the blockchain. Use in conjunction with the `before` cursor to paginate backwards.\nOn its own, this will return the last `last` transactions.", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "FiltersEntry", + "longName": "ListTransactionsRequest.FiltersEntry", + "fullName": "blockexplorer.api.v1.ListTransactionsRequest.FiltersEntry", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "value", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListTransactionsResponse", + "longName": "ListTransactionsResponse", + "fullName": "blockexplorer.api.v1.ListTransactionsResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "transactions", + "description": "Transaction corresponding to the specific request and filters", + "label": "repeated", + "type": "Transaction", + "longType": "Transaction", + "fullType": "blockexplorer.api.v1.Transaction", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Transaction", + "longName": "Transaction", + "fullName": "blockexplorer.api.v1.Transaction", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "block", + "description": "Height of the block the transaction was found in", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "index", + "description": "Index of the transaction in the block", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "hash", + "description": "Hash of the transaction", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "submitter", + "description": "Vega public key of the transaction's submitter", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Type of transaction", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "code", + "description": "Results code of the transaction. 0 indicates the transaction was successful", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor for this transaction. This is used for paginating results", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "command", + "description": "Actual command of the transaction", + "label": "", + "type": "InputData", + "longType": "vega.commands.v1.InputData", + "fullType": "vega.commands.v1.InputData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signature", + "description": "Signature generated by the submitter for the transaction", + "label": "", + "type": "Signature", + "longType": "vega.commands.v1.Signature", + "fullType": "vega.commands.v1.Signature", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "error", + "description": "Optional error happening when processing / checking the transaction\nThis should be set if error code is not 0", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_error", + "defaultValue": "" + } + ] + } + ], + "services": [ + { + "name": "BlockExplorerService", + "longName": "BlockExplorerService", + "fullName": "blockexplorer.api.v1.BlockExplorerService", + "description": "", + "methods": [ + { + "name": "GetTransaction", + "description": "Get transaction\n\nGet a transaction from the Vega blockchain", + "requestType": "GetTransactionRequest", + "requestLongType": "GetTransactionRequest", + "requestFullType": "blockexplorer.api.v1.GetTransactionRequest", + "requestStreaming": false, + "responseType": "GetTransactionResponse", + "responseLongType": "GetTransactionResponse", + "responseFullType": "blockexplorer.api.v1.GetTransactionResponse", + "responseStreaming": false + }, + { + "name": "ListTransactions", + "description": "List transactions\n\nList transactions from the Vega blockchain", + "requestType": "ListTransactionsRequest", + "requestLongType": "ListTransactionsRequest", + "requestFullType": "blockexplorer.api.v1.ListTransactionsRequest", + "requestStreaming": false, + "responseType": "ListTransactionsResponse", + "responseLongType": "ListTransactionsResponse", + "responseFullType": "blockexplorer.api.v1.ListTransactionsResponse", + "responseStreaming": false + }, + { + "name": "Info", + "description": "Info\n\nGet information about the block explorer.\nResponse contains a semver formatted version of the data node and the commit hash, from which the block explorer was built", + "requestType": "InfoRequest", + "requestLongType": "InfoRequest", + "requestFullType": "blockexplorer.api.v1.InfoRequest", + "requestStreaming": false, + "responseType": "InfoResponse", + "responseLongType": "InfoResponse", + "responseFullType": "blockexplorer.api.v1.InfoResponse", + "responseStreaming": false + } + ] + } + ] + }, + { + "name": "vega/oracle.proto", + "description": "", + "package": "vega", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "OracleData", + "longName": "OracleData", + "fullName": "vega.OracleData", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "external_data", + "description": "", + "label": "", + "type": "ExternalData", + "longType": "data.v1.ExternalData", + "fullType": "vega.data.v1.ExternalData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OracleSpec", + "longName": "OracleSpec", + "fullName": "vega.OracleSpec", + "description": "Oracle spec contains an embedded external data source spec.\nIt will be generated by the compiler as: OracleSpec_ExternalDataSourceSpec_*", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "external_data_source_spec", + "description": "", + "label": "", + "type": "ExternalDataSourceSpec", + "longType": "ExternalDataSourceSpec", + "fullType": "vega.ExternalDataSourceSpec", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/events/v1/events.proto", + "description": "", + "package": "vega.events.v1", + "hasEnums": true, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [ + { + "name": "BusEventType", + "longName": "BusEventType", + "fullName": "vega.events.v1.BusEventType", + "description": "Bus event type is used to specify a type of event\nIt has 2 styles of event:\nSingle values (e.g. BUS_EVENT_TYPE_ORDER) where they represent one data item\nGroup values (e.g. BUS_EVENT_TYPE_AUCTION) where they represent a group of data items", + "values": [ + { + "name": "BUS_EVENT_TYPE_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "BUS_EVENT_TYPE_ALL", + "number": "1", + "description": "Events of ALL event types, used when filtering stream from event bus" + }, + { + "name": "BUS_EVENT_TYPE_TIME_UPDATE", + "number": "2", + "description": "Event for blockchain time updates" + }, + { + "name": "BUS_EVENT_TYPE_LEDGER_MOVEMENTS", + "number": "3", + "description": "Event for when a transfer happens internally, contains the transfer information" + }, + { + "name": "BUS_EVENT_TYPE_POSITION_RESOLUTION", + "number": "4", + "description": "Event indicating position resolution has occurred" + }, + { + "name": "BUS_EVENT_TYPE_ORDER", + "number": "5", + "description": "Event for order updates, both new and existing orders" + }, + { + "name": "BUS_EVENT_TYPE_ACCOUNT", + "number": "6", + "description": "Event for account updates" + }, + { + "name": "BUS_EVENT_TYPE_PARTY", + "number": "7", + "description": "Event for party updates" + }, + { + "name": "BUS_EVENT_TYPE_TRADE", + "number": "8", + "description": "Event indicating a new trade has occurred" + }, + { + "name": "BUS_EVENT_TYPE_MARGIN_LEVELS", + "number": "9", + "description": "Event indicating margin levels have changed for a party" + }, + { + "name": "BUS_EVENT_TYPE_PROPOSAL", + "number": "10", + "description": "Event for proposal updates (for governance)" + }, + { + "name": "BUS_EVENT_TYPE_VOTE", + "number": "11", + "description": "Event indicating a new vote has occurred (for governance)" + }, + { + "name": "BUS_EVENT_TYPE_MARKET_DATA", + "number": "12", + "description": "Event for market data updates" + }, + { + "name": "BUS_EVENT_TYPE_NODE_SIGNATURE", + "number": "13", + "description": "Event for a new signature for a Vega node" + }, + { + "name": "BUS_EVENT_TYPE_LOSS_SOCIALIZATION", + "number": "14", + "description": "Event indicating loss socialisation occurred for a party" + }, + { + "name": "BUS_EVENT_TYPE_SETTLE_POSITION", + "number": "15", + "description": "Event for when a position is being settled" + }, + { + "name": "BUS_EVENT_TYPE_SETTLE_DISTRESSED", + "number": "16", + "description": "Event for when a position is distressed" + }, + { + "name": "BUS_EVENT_TYPE_MARKET_CREATED", + "number": "17", + "description": "Event indicating a new market was created" + }, + { + "name": "BUS_EVENT_TYPE_ASSET", + "number": "18", + "description": "Event for when an asset is added to Vega" + }, + { + "name": "BUS_EVENT_TYPE_MARKET_TICK", + "number": "19", + "description": "Event indicating a market tick event" + }, + { + "name": "BUS_EVENT_TYPE_WITHDRAWAL", + "number": "20", + "description": "Event for when a withdrawal occurs" + }, + { + "name": "BUS_EVENT_TYPE_DEPOSIT", + "number": "21", + "description": "Event for when a deposit occurs" + }, + { + "name": "BUS_EVENT_TYPE_AUCTION", + "number": "22", + "description": "Event indicating a change in auction state, for example starting or ending an auction" + }, + { + "name": "BUS_EVENT_TYPE_RISK_FACTOR", + "number": "23", + "description": "Event indicating a risk factor has been updated" + }, + { + "name": "BUS_EVENT_TYPE_NETWORK_PARAMETER", + "number": "24", + "description": "Event indicating a network parameter has been added or updated" + }, + { + "name": "BUS_EVENT_TYPE_LIQUIDITY_PROVISION", + "number": "25", + "description": "Event indicating a liquidity provision has been created or updated" + }, + { + "name": "BUS_EVENT_TYPE_MARKET_UPDATED", + "number": "26", + "description": "Event indicating a new market was created" + }, + { + "name": "BUS_EVENT_TYPE_ORACLE_SPEC", + "number": "27", + "description": "Event indicating an oracle spec has been created or updated" + }, + { + "name": "BUS_EVENT_TYPE_ORACLE_DATA", + "number": "28", + "description": "Event indicating that an oracle data has been broadcast" + }, + { + "name": "BUS_EVENT_TYPE_DELEGATION_BALANCE", + "number": "29", + "description": "Event indicating that an delegation balance of a party to a node for current epoch has changed" + }, + { + "name": "BUS_EVENT_TYPE_VALIDATOR_SCORE", + "number": "30", + "description": "Event indicating the validator score for the given epoch" + }, + { + "name": "BUS_EVENT_TYPE_EPOCH_UPDATE", + "number": "31", + "description": "Event indicating the start or end of an epoch" + }, + { + "name": "BUS_EVENT_TYPE_VALIDATOR_UPDATE", + "number": "32", + "description": "Event indicating that validator node has been updated" + }, + { + "name": "BUS_EVENT_TYPE_STAKE_LINKING", + "number": "33", + "description": "Event indicating a new staking event have been processed by the network" + }, + { + "name": "BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT", + "number": "34", + "description": "Event indicating the payout of a reward has been initiated" + }, + { + "name": "BUS_EVENT_TYPE_CHECKPOINT", + "number": "35", + "description": "Event indicating a new checkpoint was created" + }, + { + "name": "BUS_EVENT_TYPE_STREAM_START", + "number": "36", + "description": "Event indicating stream is starting" + }, + { + "name": "BUS_EVENT_TYPE_KEY_ROTATION", + "number": "37", + "description": "Event indicating key rotation took place" + }, + { + "name": "BUS_EVENT_TYPE_STATE_VAR", + "number": "38", + "description": "Event indicating state transitions in state variable consensus" + }, + { + "name": "BUS_EVENT_TYPE_NETWORK_LIMITS", + "number": "39", + "description": "Event indicating network limits set or updated" + }, + { + "name": "BUS_EVENT_TYPE_TRANSFER", + "number": "40", + "description": "Event indicating a update for a transfer" + }, + { + "name": "BUS_EVENT_TYPE_VALIDATOR_RANKING", + "number": "41", + "description": "Event indicating the ranking of validator and their status in Vega" + }, + { + "name": "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT", + "number": "42", + "description": "Event indicating a new multi sig signer event have been processed" + }, + { + "name": "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD", + "number": "43", + "description": "Event indicating the erc20 multi sig threshold have been updated" + }, + { + "name": "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED", + "number": "44", + "description": "Event indicating a new signer has been added to the ERC-20 multisig" + }, + { + "name": "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED", + "number": "45", + "description": "Event indicating a signer has been removed from the ERC-20 multisig" + }, + { + "name": "BUS_EVENT_TYPE_POSITION_STATE", + "number": "46", + "description": "Event indicating that a party's position has changed" + }, + { + "name": "BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION", + "number": "47", + "description": "Event indicating Ethereum key rotation took place" + }, + { + "name": "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL", + "number": "48", + "description": "Event indicating protocol upgrade proposal updates" + }, + { + "name": "BUS_EVENT_TYPE_BEGIN_BLOCK", + "number": "49", + "description": "Event indicating the core is starting to process a new block" + }, + { + "name": "BUS_EVENT_TYPE_END_BLOCK", + "number": "50", + "description": "Event indicating the core finished to process a block" + }, + { + "name": "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED", + "number": "51", + "description": "Event indicating the core is starting a protocol upgrade" + }, + { + "name": "BUS_EVENT_TYPE_SETTLE_MARKET", + "number": "52", + "description": "Event indicating the market has stopped and settled" + }, + { + "name": "BUS_EVENT_TYPE_TRANSACTION_RESULT", + "number": "53", + "description": "Event indicating the result of a transaction processed by the network" + }, + { + "name": "BUS_EVENT_TYPE_SNAPSHOT_TAKEN", + "number": "54", + "description": "Event indicating a snapshot was taken at this block height" + }, + { + "name": "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY", + "number": "55", + "description": "Event data node uses to notify that it is ready to upgrade" + }, + { + "name": "BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED", + "number": "56", + "description": "Event indicating parties had orders closed because they were distressed, but were not closed out." + }, + { + "name": "BUS_EVENT_TYPE_EXPIRED_ORDERS", + "number": "57", + "description": "Event indicating parties had orders closed because they were distressed, but were not closed out." + }, + { + "name": "BUS_EVENT_TYPE_DISTRESSED_POSITIONS", + "number": "58", + "description": "Event indicating parties have become, or were, distressed but still have an active position." + }, + { + "name": "BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION", + "number": "59", + "description": "Event indicating a spot liquidity provision has been created or updated." + }, + { + "name": "BUS_EVENT_TYPE_STOP_ORDER", + "number": "60", + "description": "Event indicating a stop order has been submitted or updated." + }, + { + "name": "BUS_EVENT_TYPE_FUNDING_PERIOD", + "number": "61", + "description": "Event indicating the start or end of a funding period." + }, + { + "name": "BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT", + "number": "62", + "description": "Event indicating a data point for a funding period has been received." + }, + { + "name": "BUS_EVENT_TYPE_MARKET", + "number": "101", + "description": "Event indicating a market related event, for example when a market opens" + }, + { + "name": "BUS_EVENT_TYPE_TX_ERROR", + "number": "201", + "description": "Event used to report failed transactions back to a user, this is excluded from the ALL type" + } + ] + }, + { + "name": "Type", + "longName": "ERC20MultiSigSignerEvent.Type", + "fullName": "vega.events.v1.ERC20MultiSigSignerEvent.Type", + "description": "", + "values": [ + { + "name": "TYPE_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "TYPE_ADDED", + "number": "1", + "description": "" + }, + { + "name": "TYPE_REMOVED", + "number": "2", + "description": "" + } + ] + }, + { + "name": "Source", + "longName": "FundingPeriodDataPoint.Source", + "fullName": "vega.events.v1.FundingPeriodDataPoint.Source", + "description": "", + "values": [ + { + "name": "SOURCE_UNSPECIFIED", + "number": "0", + "description": "Default value" + }, + { + "name": "SOURCE_EXTERNAL", + "number": "1", + "description": "Data point is from an external data source, such as an oracle, and represents the spot price of the underlying asset." + }, + { + "name": "SOURCE_INTERNAL", + "number": "2", + "description": "Data point from within Vega such as the mark price after performing mark-to-market." + } + ] + }, + { + "name": "ProtocolUpgradeProposalStatus", + "longName": "ProtocolUpgradeProposalStatus", + "fullName": "vega.events.v1.ProtocolUpgradeProposalStatus", + "description": "", + "values": [ + { + "name": "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING", + "number": "1", + "description": "The proposal is pending" + }, + { + "name": "PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED", + "number": "2", + "description": "The proposal is approved" + }, + { + "name": "PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED", + "number": "3", + "description": "The proposal is rejected" + } + ] + }, + { + "name": "Status", + "longName": "StakeLinking.Status", + "fullName": "vega.events.v1.StakeLinking.Status", + "description": "", + "values": [ + { + "name": "STATUS_UNSPECIFIED", + "number": "0", + "description": "Default value" + }, + { + "name": "STATUS_PENDING", + "number": "1", + "description": "Indicates an event waiting for confirmation from the Vega network" + }, + { + "name": "STATUS_ACCEPTED", + "number": "2", + "description": "Indicates an event accepted by the Vega network" + }, + { + "name": "STATUS_REJECTED", + "number": "3", + "description": "Indicates an event rejected by the Vega network" + } + ] + }, + { + "name": "Type", + "longName": "StakeLinking.Type", + "fullName": "vega.events.v1.StakeLinking.Type", + "description": "", + "values": [ + { + "name": "TYPE_UNSPECIFIED", + "number": "0", + "description": "Default value" + }, + { + "name": "TYPE_LINK", + "number": "1", + "description": "Indicate of a stake deposit instruction" + }, + { + "name": "TYPE_UNLINK", + "number": "2", + "description": "Indicate of a stake remove instruction" + } + ] + }, + { + "name": "Status", + "longName": "Transfer.Status", + "fullName": "vega.events.v1.Transfer.Status", + "description": "", + "values": [ + { + "name": "STATUS_UNSPECIFIED", + "number": "0", + "description": "Default value" + }, + { + "name": "STATUS_PENDING", + "number": "1", + "description": "Indicates a transfer still being processed" + }, + { + "name": "STATUS_DONE", + "number": "2", + "description": "Indicates a transfer accepted by the Vega network" + }, + { + "name": "STATUS_REJECTED", + "number": "3", + "description": "Indicates a transfer rejected by the Vega network" + }, + { + "name": "STATUS_STOPPED", + "number": "4", + "description": "Indicates a transfer stopped by the Vega network\ne.g: no funds left to cover the transfer" + }, + { + "name": "STATUS_CANCELLED", + "number": "5", + "description": "Indicates a transfer cancelled by the user" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "AuctionEvent", + "longName": "AuctionEvent", + "fullName": "vega.events.v1.AuctionEvent", + "description": "Auction event indicating a change in auction state, for example starting or ending an auction", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "opening_auction", + "description": "True if the event indicates an auction opening and False otherwise", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "leave", + "description": "True if the event indicates leaving auction mode and False otherwise", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "start", + "description": "Timestamp containing the start time for an auction", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "end", + "description": "Timestamp containing the end time for an auction", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trigger", + "description": "Reason this market is/was in auction", + "label": "", + "type": "AuctionTrigger", + "longType": "vega.AuctionTrigger", + "fullType": "vega.AuctionTrigger", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "extension_trigger", + "description": "If an auction was ongoing, but was extended for whatever reason, this field will\nbe set to the trigger type indicating which component extended the auction", + "label": "", + "type": "AuctionTrigger", + "longType": "vega.AuctionTrigger", + "fullType": "vega.AuctionTrigger", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BeginBlock", + "longName": "BeginBlock", + "fullName": "vega.events.v1.BeginBlock", + "description": "BeginBlock", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "hash", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BusEvent", + "longName": "BusEvent", + "fullName": "vega.events.v1.BusEvent", + "description": "Bus event is a container for event bus events emitted by Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique event ID for the message", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block", + "description": "The batch or block of transactions that the events relate to", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "The type of bus event. Must be one of the list below:", + "label": "", + "type": "BusEventType", + "longType": "BusEventType", + "fullType": "vega.events.v1.BusEventType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "time_update", + "description": "Time update events", + "label": "", + "type": "TimeUpdate", + "longType": "TimeUpdate", + "fullType": "vega.events.v1.TimeUpdate", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "ledger_movements", + "description": "Transfer responses update events", + "label": "", + "type": "LedgerMovements", + "longType": "LedgerMovements", + "fullType": "vega.events.v1.LedgerMovements", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "position_resolution", + "description": "Position resolution events", + "label": "", + "type": "PositionResolution", + "longType": "PositionResolution", + "fullType": "vega.events.v1.PositionResolution", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "order", + "description": "Order events", + "label": "", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "account", + "description": "Account events", + "label": "", + "type": "Account", + "longType": "vega.Account", + "fullType": "vega.Account", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "party", + "description": "Party events", + "label": "", + "type": "Party", + "longType": "vega.Party", + "fullType": "vega.Party", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "trade", + "description": "Trade events", + "label": "", + "type": "Trade", + "longType": "vega.Trade", + "fullType": "vega.Trade", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "margin_levels", + "description": "Margin level update events", + "label": "", + "type": "MarginLevels", + "longType": "vega.MarginLevels", + "fullType": "vega.MarginLevels", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "proposal", + "description": "Proposal events for governance", + "label": "", + "type": "Proposal", + "longType": "vega.Proposal", + "fullType": "vega.Proposal", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "vote", + "description": "Vote events for governance", + "label": "", + "type": "Vote", + "longType": "vega.Vote", + "fullType": "vega.Vote", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "market_data", + "description": "Market data events", + "label": "", + "type": "MarketData", + "longType": "vega.MarketData", + "fullType": "vega.MarketData", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "node_signature", + "description": "Node signature events", + "label": "", + "type": "NodeSignature", + "longType": "vega.commands.v1.NodeSignature", + "fullType": "vega.commands.v1.NodeSignature", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "loss_socialization", + "description": "Loss socialization events", + "label": "", + "type": "LossSocialization", + "longType": "LossSocialization", + "fullType": "vega.events.v1.LossSocialization", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "settle_position", + "description": "Position settlement events", + "label": "", + "type": "SettlePosition", + "longType": "SettlePosition", + "fullType": "vega.events.v1.SettlePosition", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "settle_distressed", + "description": "Position distressed events", + "label": "", + "type": "SettleDistressed", + "longType": "SettleDistressed", + "fullType": "vega.events.v1.SettleDistressed", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "market_created", + "description": "Market created events", + "label": "", + "type": "Market", + "longType": "vega.Market", + "fullType": "vega.Market", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "asset", + "description": "Asset events", + "label": "", + "type": "Asset", + "longType": "vega.Asset", + "fullType": "vega.Asset", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "market_tick", + "description": "Market tick events", + "label": "", + "type": "MarketTick", + "longType": "MarketTick", + "fullType": "vega.events.v1.MarketTick", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "withdrawal", + "description": "Withdrawal events", + "label": "", + "type": "Withdrawal", + "longType": "vega.Withdrawal", + "fullType": "vega.Withdrawal", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "deposit", + "description": "Deposit events", + "label": "", + "type": "Deposit", + "longType": "vega.Deposit", + "fullType": "vega.Deposit", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "auction", + "description": "Auction events", + "label": "", + "type": "AuctionEvent", + "longType": "AuctionEvent", + "fullType": "vega.events.v1.AuctionEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "risk_factor", + "description": "Risk factor events", + "label": "", + "type": "RiskFactor", + "longType": "vega.RiskFactor", + "fullType": "vega.RiskFactor", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "network_parameter", + "description": "Network parameter events", + "label": "", + "type": "NetworkParameter", + "longType": "vega.NetworkParameter", + "fullType": "vega.NetworkParameter", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "liquidity_provision", + "description": "LiquidityProvision events", + "label": "", + "type": "LiquidityProvision", + "longType": "vega.LiquidityProvision", + "fullType": "vega.LiquidityProvision", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "market_updated", + "description": "Market created events", + "label": "", + "type": "Market", + "longType": "vega.Market", + "fullType": "vega.Market", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "oracle_spec", + "description": "OracleSpec events", + "label": "", + "type": "OracleSpec", + "longType": "vega.OracleSpec", + "fullType": "vega.OracleSpec", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "oracle_data", + "description": "OracleData events", + "label": "", + "type": "OracleData", + "longType": "vega.OracleData", + "fullType": "vega.OracleData", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "delegation_balance", + "description": "Delegation balance events", + "label": "", + "type": "DelegationBalanceEvent", + "longType": "DelegationBalanceEvent", + "fullType": "vega.events.v1.DelegationBalanceEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "validator_score", + "description": "Validator score calculated", + "label": "", + "type": "ValidatorScoreEvent", + "longType": "ValidatorScoreEvent", + "fullType": "vega.events.v1.ValidatorScoreEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "epoch_event", + "description": "Epoch update events", + "label": "", + "type": "EpochEvent", + "longType": "EpochEvent", + "fullType": "vega.events.v1.EpochEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "validator_update", + "description": "Validator update events", + "label": "", + "type": "ValidatorUpdate", + "longType": "ValidatorUpdate", + "fullType": "vega.events.v1.ValidatorUpdate", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "stake_linking", + "description": "Staking event", + "label": "", + "type": "StakeLinking", + "longType": "StakeLinking", + "fullType": "vega.events.v1.StakeLinking", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "reward_payout", + "description": "Reward payout event", + "label": "", + "type": "RewardPayoutEvent", + "longType": "RewardPayoutEvent", + "fullType": "vega.events.v1.RewardPayoutEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "checkpoint", + "description": "Checkpoint was created", + "label": "", + "type": "CheckpointEvent", + "longType": "CheckpointEvent", + "fullType": "vega.events.v1.CheckpointEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "key_rotation", + "description": "Key rotation took place", + "label": "", + "type": "KeyRotation", + "longType": "KeyRotation", + "fullType": "vega.events.v1.KeyRotation", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "state_var", + "description": "State variable consensus state transition update", + "label": "", + "type": "StateVar", + "longType": "StateVar", + "fullType": "vega.events.v1.StateVar", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "network_limits", + "description": "Network limits events", + "label": "", + "type": "NetworkLimits", + "longType": "vega.NetworkLimits", + "fullType": "vega.NetworkLimits", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "transfer", + "description": "Transfer event", + "label": "", + "type": "Transfer", + "longType": "Transfer", + "fullType": "vega.events.v1.Transfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "ranking_event", + "description": "Ranking event", + "label": "", + "type": "ValidatorRankingEvent", + "longType": "ValidatorRankingEvent", + "fullType": "vega.events.v1.ValidatorRankingEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "erc20_multisig_signer_event", + "description": "ERC20 multi sig signer event", + "label": "", + "type": "ERC20MultiSigSignerEvent", + "longType": "ERC20MultiSigSignerEvent", + "fullType": "vega.events.v1.ERC20MultiSigSignerEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "erc20_multisig_set_threshold_event", + "description": "ERC20 multi sig set threshold event", + "label": "", + "type": "ERC20MultiSigThresholdSetEvent", + "longType": "ERC20MultiSigThresholdSetEvent", + "fullType": "vega.events.v1.ERC20MultiSigThresholdSetEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "erc20_multisig_signer_added", + "description": "ERC20 multi sig signer added", + "label": "", + "type": "ERC20MultiSigSignerAdded", + "longType": "ERC20MultiSigSignerAdded", + "fullType": "vega.events.v1.ERC20MultiSigSignerAdded", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "erc20_multisig_signer_removed", + "description": "ERC20 multi sig signer removed", + "label": "", + "type": "ERC20MultiSigSignerRemoved", + "longType": "ERC20MultiSigSignerRemoved", + "fullType": "vega.events.v1.ERC20MultiSigSignerRemoved", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "position_state_event", + "description": "Position status for a party in a market", + "label": "", + "type": "PositionStateEvent", + "longType": "PositionStateEvent", + "fullType": "vega.events.v1.PositionStateEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "ethereum_key_rotation", + "description": "Ethereum key rotation took place", + "label": "", + "type": "EthereumKeyRotation", + "longType": "EthereumKeyRotation", + "fullType": "vega.events.v1.EthereumKeyRotation", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "protocol_upgrade_event", + "description": "Protocol upgrade proposal updates", + "label": "", + "type": "ProtocolUpgradeEvent", + "longType": "ProtocolUpgradeEvent", + "fullType": "vega.events.v1.ProtocolUpgradeEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "begin_block", + "description": "Core is starting to process a new block", + "label": "", + "type": "BeginBlock", + "longType": "BeginBlock", + "fullType": "vega.events.v1.BeginBlock", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "end_block", + "description": "Core finished processing a block", + "label": "", + "type": "EndBlock", + "longType": "EndBlock", + "fullType": "vega.events.v1.EndBlock", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "protocol_upgrade_started", + "description": "Core is starting a protocol upgrade", + "label": "", + "type": "ProtocolUpgradeStarted", + "longType": "ProtocolUpgradeStarted", + "fullType": "vega.events.v1.ProtocolUpgradeStarted", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "settle_market", + "description": "Settle market event for data-node to update positions for settled markets", + "label": "", + "type": "SettleMarket", + "longType": "SettleMarket", + "fullType": "vega.events.v1.SettleMarket", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "transaction_result", + "description": "Result of a transaction processed by the network", + "label": "", + "type": "TransactionResult", + "longType": "TransactionResult", + "fullType": "vega.events.v1.TransactionResult", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "core_snapshot_event", + "description": "Core snapshot has been taken at the end of the block", + "label": "", + "type": "CoreSnapshotData", + "longType": "CoreSnapshotData", + "fullType": "vega.events.v1.CoreSnapshotData", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "protocol_upgrade_data_node_ready", + "description": "Core snapshot has been taken at the end of the block", + "label": "", + "type": "ProtocolUpgradeDataNodeReady", + "longType": "ProtocolUpgradeDataNodeReady", + "fullType": "vega.events.v1.ProtocolUpgradeDataNodeReady", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "distressed_orders", + "description": "Parties that had their orders closed because they were distressed", + "label": "", + "type": "DistressedOrders", + "longType": "DistressedOrders", + "fullType": "vega.events.v1.DistressedOrders", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "expired_orders", + "description": "Orders that expired for a given market", + "label": "", + "type": "ExpiredOrders", + "longType": "ExpiredOrders", + "fullType": "vega.events.v1.ExpiredOrders", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "distressed_positions", + "description": "Open positions on the market that are/were distressed", + "label": "", + "type": "DistressedPositions", + "longType": "DistressedPositions", + "fullType": "vega.events.v1.DistressedPositions", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "stop_order", + "description": "A stop order event", + "label": "", + "type": "StopOrderEvent", + "longType": "StopOrderEvent", + "fullType": "vega.events.v1.StopOrderEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "funding_period", + "description": "Start or end of a funding period.", + "label": "", + "type": "FundingPeriod", + "longType": "FundingPeriod", + "fullType": "vega.events.v1.FundingPeriod", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "funding_period_data_point", + "description": "Data point within a funding period.", + "label": "", + "type": "FundingPeriodDataPoint", + "longType": "FundingPeriodDataPoint", + "fullType": "vega.events.v1.FundingPeriodDataPoint", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "market", + "description": "Market tick events", + "label": "", + "type": "MarketEvent", + "longType": "MarketEvent", + "fullType": "vega.events.v1.MarketEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "tx_err_event", + "description": "Transaction error events, not included in the ALL event type", + "label": "", + "type": "TxErrorEvent", + "longType": "TxErrorEvent", + "fullType": "vega.events.v1.TxErrorEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "event", + "defaultValue": "" + }, + { + "name": "version", + "description": "Version of bus event", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "chain_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tx_hash", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CheckpointEvent", + "longName": "CheckpointEvent", + "fullName": "vega.events.v1.CheckpointEvent", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "hash", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_hash", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CoreSnapshotData", + "longName": "CoreSnapshotData", + "fullName": "vega.events.v1.CoreSnapshotData", + "description": "CoreSnapshotData represents the core snapshot data.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "block_height", + "description": "Block height at which snapshot was taken", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_hash", + "description": "Hash of the snapshot block", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "core_version", + "description": "Semver version number of the core.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "protocol_upgrade_block", + "description": "Indicates if the snapshot is taken as part of protocol upgrade", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DelegationBalanceEvent", + "longName": "DelegationBalanceEvent", + "fullName": "vega.events.v1.DelegationBalanceEvent", + "description": "DelegationBalanceEvent - updates on the delegation balance of a party to a node in the current epoch in effect", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "node_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DistressedOrders", + "longName": "DistressedOrders", + "fullName": "vega.events.v1.DistressedOrders", + "description": "Distressed order contains the party IDs for all parties that were distressed and had their orders closed,\nbut did not need to be closed out after cancelling their orders", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "parties", + "description": "Slice of Party IDs i.e. each party's public key for the event", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DistressedPositions", + "longName": "DistressedPositions", + "fullName": "vega.events.v1.DistressedPositions", + "description": "Distressed positions event contains the party IDs for all parties that were distressed, had their orders closed but because of insufficient volume on the book\ncould not be fully closed out. These parties are distressed, but still hold an active position on the book as a result. Once enough volume is on the book to close\nthem out, a SettleDistressed event will be sent. In case they manage to reduce their position, or meet the margin requirements, this status will be updated.\nParties that are no longer distressed but active will be listed in the safe_parties field.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "distressed_parties", + "description": "Slice of party IDs i.e. each party's public key, that are distressed but still have open volume", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "safe_parties", + "description": "Slice of party IDs i.e. each party's public key, who were distressed but now can safely maintain their position", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigSignerAdded", + "longName": "ERC20MultiSigSignerAdded", + "fullName": "vega.events.v1.ERC20MultiSigSignerAdded", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "signature_id", + "description": "ID of the signature bundle", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validator_id", + "description": "Node ID of the Vega node to be added", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "Time at which this happened", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_signer", + "description": "Ethereum address of the new signer", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "submitter", + "description": "Address of the submitter of the transaction", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "Nonce used.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "Epoch that the node was added for", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigSignerEvent", + "longName": "ERC20MultiSigSignerEvent", + "fullName": "vega.events.v1.ERC20MultiSigSignerEvent", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "", + "label": "", + "type": "Type", + "longType": "ERC20MultiSigSignerEvent.Type", + "fullType": "vega.events.v1.ERC20MultiSigSignerEvent.Type", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signer", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tx_hash", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "log_index", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_number", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigSignerRemoved", + "longName": "ERC20MultiSigSignerRemoved", + "fullName": "vega.events.v1.ERC20MultiSigSignerRemoved", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "signature_submitters", + "description": "List containing all the IDs of bundle generated\nThere should be one bundle generated for every validators\nin the validator set", + "label": "repeated", + "type": "ERC20MultiSigSignerRemovedSubmitter", + "longType": "ERC20MultiSigSignerRemovedSubmitter", + "fullType": "vega.events.v1.ERC20MultiSigSignerRemovedSubmitter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validator_id", + "description": "Node ID of the Vega node which is to be removed", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "Time at which this happened", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "old_signer", + "description": "Ethereum address of the signer to be removed", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "Nonce used.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "Epoch that the node was removed for", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigSignerRemovedSubmitter", + "longName": "ERC20MultiSigSignerRemovedSubmitter", + "fullName": "vega.events.v1.ERC20MultiSigSignerRemovedSubmitter", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "signature_id", + "description": "Signature ID of the signer removed.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "submitter", + "description": "Address of the submitter of the transaction", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigThresholdSetEvent", + "longName": "ERC20MultiSigThresholdSetEvent", + "fullName": "vega.events.v1.ERC20MultiSigThresholdSetEvent", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_threshold", + "description": "", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tx_hash", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "log_index", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_number", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EndBlock", + "longName": "EndBlock", + "fullName": "vega.events.v1.EndBlock", + "description": "EndBlock", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EpochEvent", + "longName": "EpochEvent", + "fullName": "vega.events.v1.EpochEvent", + "description": "Epoch details", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "seq", + "description": "Sequence number that increases by one each epoch", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "action", + "description": "Action tells us what action is taking place", + "label": "", + "type": "EpochAction", + "longType": "vega.EpochAction", + "fullType": "vega.EpochAction", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "start_time", + "description": "Vega time at which this epoch started", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expire_time", + "description": "Vega time at which this epoch should end", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "end_time", + "description": "Vega time at which this epoch actually ended", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EthereumKeyRotation", + "longName": "EthereumKeyRotation", + "fullName": "vega.events.v1.EthereumKeyRotation", + "description": "Event that contains information about an Ethereum key rotation", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node_id", + "description": "Node ID of the node that rotated their Ethereum key", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "old_address", + "description": "Ethereum address that was previously associated with the node", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_address", + "description": "Ethereum address that is newly associated with the node", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_height", + "description": "Block height when the key rotation took effect", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ExpiredOrders", + "longName": "ExpiredOrders", + "fullName": "vega.events.v1.ExpiredOrders", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "order_ids", + "description": "Slice of expired order IDs", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "FundingPeriod", + "longName": "FundingPeriod", + "fullName": "vega.events.v1.FundingPeriod", + "description": "Event notifying on the details of a funding interval for a perpetuals market.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "ID of the market for which this funding period relates to.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "seq", + "description": "Sequence number of the funding period.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "start", + "description": "Time in Unix nanoseconds when the funding period started.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "end", + "description": "Time in Unix nanoseconds when the funding period ended.", + "label": "optional", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_end", + "defaultValue": "" + }, + { + "name": "funding_payment", + "description": "Funding payment for this period as the difference between the time-weighted average price of the external and internal data point.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_funding_payment", + "defaultValue": "" + }, + { + "name": "funding_rate", + "description": "Percentage difference between the time-weighted average price of the external and internal data point.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_funding_rate", + "defaultValue": "" + }, + { + "name": "internal_twap", + "description": "TWAP for this period based on the internal data-points.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_internal_twap", + "defaultValue": "" + }, + { + "name": "external_twap", + "description": "TWAP for this period based on the external data-points.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_external_twap", + "defaultValue": "" + } + ] + }, + { + "name": "FundingPeriodDataPoint", + "longName": "FundingPeriodDataPoint", + "fullName": "vega.events.v1.FundingPeriodDataPoint", + "description": "Event notifying a data point for a funding period.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID which the data point relates to.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "seq", + "description": "Sequence number of the funding period this data point belongs to.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data_point_type", + "description": "Origin of the data point.", + "label": "", + "type": "Source", + "longType": "FundingPeriodDataPoint.Source", + "fullType": "vega.events.v1.FundingPeriodDataPoint.Source", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Price of the asset as seen by this data point.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "Timestamp in Unix nanoseconds of when the data point was received.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "twap", + "description": "The TWAP for this source with this data-point added.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "KeyRotation", + "longName": "KeyRotation", + "fullName": "vega.events.v1.KeyRotation", + "description": "Event that contains information about a Vega key rotation", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node_id", + "description": "Node ID of the node that rotated their Vega key", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "old_pub_key", + "description": "Vega public key that was previously associated with the node", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_pub_key", + "description": "Vega public key that is newly associated with the node", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_height", + "description": "Block height when the key rotation took effect", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LedgerMovements", + "longName": "LedgerMovements", + "fullName": "vega.events.v1.LedgerMovements", + "description": "Transfer responses event contains a collection of transfer information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "ledger_movements", + "description": "One or more entries containing internal transfer information", + "label": "repeated", + "type": "LedgerMovement", + "longType": "vega.LedgerMovement", + "fullType": "vega.LedgerMovement", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LossSocialization", + "longName": "LossSocialization", + "fullName": "vega.events.v1.LossSocialization", + "description": "Loss socialization event contains details on the amount of wins unable to be distributed", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID (public key) for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount distributed", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketEvent", + "longName": "MarketEvent", + "fullName": "vega.events.v1.MarketEvent", + "description": "MarketEvent - the common denominator for all market events\ninterface has a method to return a string for logging", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "payload", + "description": "Payload is a unique information string", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketTick", + "longName": "MarketTick", + "fullName": "vega.events.v1.MarketTick", + "description": "Market tick event contains the time value for when a particular market was last processed on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Market ID for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "time", + "description": "Timestamp containing latest update from Vega blockchain aka Vega-time", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OneOffGovernanceTransfer", + "longName": "OneOffGovernanceTransfer", + "fullName": "vega.events.v1.OneOffGovernanceTransfer", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "deliver_on", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OneOffTransfer", + "longName": "OneOffTransfer", + "fullName": "vega.events.v1.OneOffTransfer", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "deliver_on", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PositionResolution", + "longName": "PositionResolution", + "fullName": "vega.events.v1.PositionResolution", + "description": "Position resolution event contains information on distressed trades", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "distressed", + "description": "Number of distressed traders", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "closed", + "description": "Number of close outs", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "mark_price", + "description": "Mark price as a string representing a scaled price", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PositionStateEvent", + "longName": "PositionStateEvent", + "fullName": "vega.events.v1.PositionStateEvent", + "description": "Position state event contains the current position state for a single party in a single market", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Party ID for this position update", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID for this position update", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "size", + "description": "Current position", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "potential_buys", + "description": "Potential orders", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "potential_sells", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vw_buy_price", + "description": "Volume weighted prices", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vw_sell_price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ProtocolUpgradeDataNodeReady", + "longName": "ProtocolUpgradeDataNodeReady", + "fullName": "vega.events.v1.ProtocolUpgradeDataNodeReady", + "description": "Event indicating the data node is ready for protocol upgrade", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "last_block_height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ProtocolUpgradeEvent", + "longName": "ProtocolUpgradeEvent", + "fullName": "vega.events.v1.ProtocolUpgradeEvent", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "upgrade_block_height", + "description": "Block height at which to perform the upgrade", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_release_tag", + "description": "Release tag for the vega binary", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "approvers", + "description": "Tendermint validators that have agreed to the upgrade", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Status of the proposal", + "label": "", + "type": "ProtocolUpgradeProposalStatus", + "longType": "ProtocolUpgradeProposalStatus", + "fullType": "vega.events.v1.ProtocolUpgradeProposalStatus", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ProtocolUpgradeStarted", + "longName": "ProtocolUpgradeStarted", + "fullName": "vega.events.v1.ProtocolUpgradeStarted", + "description": "Event indicating the core is starting a protocol upgrade", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "last_block_height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RecurringGovernanceTransfer", + "longName": "RecurringGovernanceTransfer", + "fullName": "vega.events.v1.RecurringGovernanceTransfer", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "start_epoch", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "end_epoch", + "description": "", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_end_epoch", + "defaultValue": "" + }, + { + "name": "dispatch_strategy", + "description": "", + "label": "optional", + "type": "DispatchStrategy", + "longType": "vega.DispatchStrategy", + "fullType": "vega.DispatchStrategy", + "ismap": false, + "isoneof": true, + "oneofdecl": "_dispatch_strategy", + "defaultValue": "" + } + ] + }, + { + "name": "RecurringTransfer", + "longName": "RecurringTransfer", + "fullName": "vega.events.v1.RecurringTransfer", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "start_epoch", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "end_epoch", + "description": "", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_end_epoch", + "defaultValue": "" + }, + { + "name": "factor", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "dispatch_strategy", + "description": "", + "label": "", + "type": "DispatchStrategy", + "longType": "vega.DispatchStrategy", + "fullType": "vega.DispatchStrategy", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RewardPayoutEvent", + "longName": "RewardPayoutEvent", + "fullName": "vega.events.v1.RewardPayoutEvent", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "percent_of_total_reward", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reward_type", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SettleDistressed", + "longName": "SettleDistressed", + "fullName": "vega.events.v1.SettleDistressed", + "description": "Settle distressed event contains information on distressed trading parties who are closed out\n\nNote: Any PositionResolution event (market level) will most likely be followed by a number of these events", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID i.e. a party's public key for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "margin", + "description": "Margin value as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Price as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SettleMarket", + "longName": "SettleMarket", + "fullName": "vega.events.v1.SettleMarket", + "description": "Settle market event to notify data node that a market has been settled\nso positions and PL can be updated accordingly", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Price of settlement as a string", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "position_factor", + "description": "Position factor - 10 ^ number of position decimal places", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SettlePosition", + "longName": "SettlePosition", + "fullName": "vega.events.v1.SettlePosition", + "description": "Settle position event contains position settlement information for a party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID (public key) for the event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Price of settlement as a string", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trade_settlements", + "description": "A collection of 1 or more trade settlements", + "label": "repeated", + "type": "TradeSettlement", + "longType": "TradeSettlement", + "fullType": "vega.events.v1.TradeSettlement", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "position_factor", + "description": "Position factor - 10 ^ number of position decimal places", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StakeLinking", + "longName": "StakeLinking", + "fullName": "vega.events.v1.StakeLinking", + "description": "StakeLinking - an event notifying of stake being deposited or removed for a given party\nThese events are emitted for every Staking deposit or removed accepted by the network", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Internal ID for this staking event", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Stake linking event type.", + "label": "", + "type": "Type", + "longType": "StakeLinking.Type", + "fullType": "vega.events.v1.StakeLinking.Type", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ts", + "description": "Timestamp in Unix nanoseconds of when the event was emitted by Ethereum.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party", + "description": "Party to whom the event is directed at.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount of stake deposited or removed.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Status of the event.", + "label": "", + "type": "Status", + "longType": "StakeLinking.Status", + "fullType": "vega.events.v1.StakeLinking.Status", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "finalized_at", + "description": "Time at which the Vega network finalised the state of the event.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tx_hash", + "description": "Hash of the transaction in which the event happened.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_height", + "description": "Block when the event happened.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_time", + "description": "Block time.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "log_index", + "description": "Log index.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ethereum_address", + "description": "Ethereum address from which the stake link was initiated.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StateVar", + "longName": "StateVar", + "fullName": "vega.events.v1.StateVar", + "description": "StateVar event updates on state changes in state variable consensus", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "event_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "state", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StopOrderEvent", + "longName": "StopOrderEvent", + "fullName": "vega.events.v1.StopOrderEvent", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "submission", + "description": "", + "label": "", + "type": "OrderSubmission", + "longType": "vega.commands.v1.OrderSubmission", + "fullType": "vega.commands.v1.OrderSubmission", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "stop_order", + "description": "", + "label": "", + "type": "StopOrder", + "longType": "vega.StopOrder", + "fullType": "vega.StopOrder", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StreamStartEvent", + "longName": "StreamStartEvent", + "fullName": "vega.events.v1.StreamStartEvent", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "chain_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TimeUpdate", + "longName": "TimeUpdate", + "fullName": "vega.events.v1.TimeUpdate", + "description": "Time update event contains the latest time update from Vega blockchain and indicates the start of a new block", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "timestamp", + "description": "Timestamp containing latest update from Vega blockchain aka Vega-time", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TradeSettlement", + "longName": "TradeSettlement", + "fullName": "vega.events.v1.TradeSettlement", + "description": "Trade settlement is part of the settle position event", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "size", + "description": "Size of trade settlement", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Price of settlement as string (in asset decimals)", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_price", + "description": "Price of settlement as a string (in market decimals)", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TransactionResult", + "longName": "TransactionResult", + "fullName": "vega.events.v1.TransactionResult", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Unique party ID for the related party", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Status of the transaction, did it succeed or an error was raised.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "hash", + "description": "Hash of the transaction\n\nTransaction itself as received by the network", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "order_submission", + "description": "", + "label": "", + "type": "OrderSubmission", + "longType": "vega.commands.v1.OrderSubmission", + "fullType": "vega.commands.v1.OrderSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "order_amendment", + "description": "", + "label": "", + "type": "OrderAmendment", + "longType": "vega.commands.v1.OrderAmendment", + "fullType": "vega.commands.v1.OrderAmendment", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "order_cancellation", + "description": "", + "label": "", + "type": "OrderCancellation", + "longType": "vega.commands.v1.OrderCancellation", + "fullType": "vega.commands.v1.OrderCancellation", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "proposal", + "description": "", + "label": "", + "type": "ProposalSubmission", + "longType": "vega.commands.v1.ProposalSubmission", + "fullType": "vega.commands.v1.ProposalSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "vote_submission", + "description": "", + "label": "", + "type": "VoteSubmission", + "longType": "vega.commands.v1.VoteSubmission", + "fullType": "vega.commands.v1.VoteSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "liquidity_provision_submission", + "description": "", + "label": "", + "type": "LiquidityProvisionSubmission", + "longType": "vega.commands.v1.LiquidityProvisionSubmission", + "fullType": "vega.commands.v1.LiquidityProvisionSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "withdraw_submission", + "description": "", + "label": "", + "type": "WithdrawSubmission", + "longType": "vega.commands.v1.WithdrawSubmission", + "fullType": "vega.commands.v1.WithdrawSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "delegate_submission", + "description": "", + "label": "", + "type": "DelegateSubmission", + "longType": "vega.commands.v1.DelegateSubmission", + "fullType": "vega.commands.v1.DelegateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "undelegate_submission", + "description": "", + "label": "", + "type": "UndelegateSubmission", + "longType": "vega.commands.v1.UndelegateSubmission", + "fullType": "vega.commands.v1.UndelegateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "liquidity_provision_cancellation", + "description": "", + "label": "", + "type": "LiquidityProvisionCancellation", + "longType": "vega.commands.v1.LiquidityProvisionCancellation", + "fullType": "vega.commands.v1.LiquidityProvisionCancellation", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "liquidity_provision_amendment", + "description": "", + "label": "", + "type": "LiquidityProvisionAmendment", + "longType": "vega.commands.v1.LiquidityProvisionAmendment", + "fullType": "vega.commands.v1.LiquidityProvisionAmendment", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "transfer", + "description": "", + "label": "", + "type": "Transfer", + "longType": "vega.commands.v1.Transfer", + "fullType": "vega.commands.v1.Transfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "cancel_transfer", + "description": "", + "label": "", + "type": "CancelTransfer", + "longType": "vega.commands.v1.CancelTransfer", + "fullType": "vega.commands.v1.CancelTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "announce_node", + "description": "", + "label": "", + "type": "AnnounceNode", + "longType": "vega.commands.v1.AnnounceNode", + "fullType": "vega.commands.v1.AnnounceNode", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "oracle_data_submission", + "description": "", + "label": "", + "type": "OracleDataSubmission", + "longType": "vega.commands.v1.OracleDataSubmission", + "fullType": "vega.commands.v1.OracleDataSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "protocol_upgrade_proposal", + "description": "", + "label": "", + "type": "ProtocolUpgradeProposal", + "longType": "vega.commands.v1.ProtocolUpgradeProposal", + "fullType": "vega.commands.v1.ProtocolUpgradeProposal", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "issue_signatures", + "description": "", + "label": "", + "type": "IssueSignatures", + "longType": "vega.commands.v1.IssueSignatures", + "fullType": "vega.commands.v1.IssueSignatures", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "batch_market_instructions", + "description": "", + "label": "", + "type": "BatchMarketInstructions", + "longType": "vega.commands.v1.BatchMarketInstructions", + "fullType": "vega.commands.v1.BatchMarketInstructions", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "key_rotate_submission", + "description": "", + "label": "", + "type": "KeyRotateSubmission", + "longType": "vega.commands.v1.KeyRotateSubmission", + "fullType": "vega.commands.v1.KeyRotateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "ethereum_key_rotate_submission", + "description": "", + "label": "", + "type": "EthereumKeyRotateSubmission", + "longType": "vega.commands.v1.EthereumKeyRotateSubmission", + "fullType": "vega.commands.v1.EthereumKeyRotateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "stop_order_submission", + "description": "", + "label": "", + "type": "StopOrdersSubmission", + "longType": "vega.commands.v1.StopOrdersSubmission", + "fullType": "vega.commands.v1.StopOrdersSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "stop_order_cancellation", + "description": "", + "label": "", + "type": "StopOrdersCancellation", + "longType": "vega.commands.v1.StopOrdersCancellation", + "fullType": "vega.commands.v1.StopOrdersCancellation", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "create_team", + "description": "", + "label": "", + "type": "CreateTeam", + "longType": "vega.commands.v1.CreateTeam", + "fullType": "vega.commands.v1.CreateTeam", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "update_team", + "description": "", + "label": "", + "type": "UpdateTeam", + "longType": "vega.commands.v1.UpdateTeam", + "fullType": "vega.commands.v1.UpdateTeam", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "join_team", + "description": "", + "label": "", + "type": "JoinTeam", + "longType": "vega.commands.v1.JoinTeam", + "fullType": "vega.commands.v1.JoinTeam", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "success", + "description": "", + "label": "", + "type": "SuccessDetails", + "longType": "TransactionResult.SuccessDetails", + "fullType": "vega.events.v1.TransactionResult.SuccessDetails", + "ismap": false, + "isoneof": true, + "oneofdecl": "extra", + "defaultValue": "" + }, + { + "name": "failure", + "description": "", + "label": "", + "type": "FailureDetails", + "longType": "TransactionResult.FailureDetails", + "fullType": "vega.events.v1.TransactionResult.FailureDetails", + "ismap": false, + "isoneof": true, + "oneofdecl": "extra", + "defaultValue": "" + } + ] + }, + { + "name": "FailureDetails", + "longName": "TransactionResult.FailureDetails", + "fullName": "vega.events.v1.TransactionResult.FailureDetails", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "error", + "description": "Error message explaining the reason for the transaction failing processing", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SuccessDetails", + "longName": "TransactionResult.SuccessDetails", + "fullName": "vega.events.v1.TransactionResult.SuccessDetails", + "description": "TBD", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "Transfer", + "longName": "Transfer", + "fullName": "vega.events.v1.Transfer", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "from", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "from_account_type", + "description": "", + "label": "", + "type": "AccountType", + "longType": "vega.AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "to", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "to_account_type", + "description": "", + "label": "", + "type": "AccountType", + "longType": "vega.AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "", + "label": "", + "type": "Status", + "longType": "Transfer.Status", + "fullType": "vega.events.v1.Transfer.Status", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reason", + "description": "", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_reason", + "defaultValue": "" + }, + { + "name": "one_off", + "description": "", + "label": "", + "type": "OneOffTransfer", + "longType": "OneOffTransfer", + "fullType": "vega.events.v1.OneOffTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "kind", + "defaultValue": "" + }, + { + "name": "recurring", + "description": "", + "label": "", + "type": "RecurringTransfer", + "longType": "RecurringTransfer", + "fullType": "vega.events.v1.RecurringTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "kind", + "defaultValue": "" + }, + { + "name": "one_off_governance", + "description": "", + "label": "", + "type": "OneOffGovernanceTransfer", + "longType": "OneOffGovernanceTransfer", + "fullType": "vega.events.v1.OneOffGovernanceTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "kind", + "defaultValue": "" + }, + { + "name": "recurring_governance", + "description": "", + "label": "", + "type": "RecurringGovernanceTransfer", + "longType": "RecurringGovernanceTransfer", + "fullType": "vega.events.v1.RecurringGovernanceTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "kind", + "defaultValue": "" + } + ] + }, + { + "name": "TxErrorEvent", + "longName": "TxErrorEvent", + "fullName": "vega.events.v1.TxErrorEvent", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Unique party ID for the related party", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "err_msg", + "description": "Error message describing what went wrong", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "order_submission", + "description": "", + "label": "", + "type": "OrderSubmission", + "longType": "vega.commands.v1.OrderSubmission", + "fullType": "vega.commands.v1.OrderSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "order_amendment", + "description": "", + "label": "", + "type": "OrderAmendment", + "longType": "vega.commands.v1.OrderAmendment", + "fullType": "vega.commands.v1.OrderAmendment", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "order_cancellation", + "description": "", + "label": "", + "type": "OrderCancellation", + "longType": "vega.commands.v1.OrderCancellation", + "fullType": "vega.commands.v1.OrderCancellation", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "proposal", + "description": "", + "label": "", + "type": "ProposalSubmission", + "longType": "vega.commands.v1.ProposalSubmission", + "fullType": "vega.commands.v1.ProposalSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "vote_submission", + "description": "", + "label": "", + "type": "VoteSubmission", + "longType": "vega.commands.v1.VoteSubmission", + "fullType": "vega.commands.v1.VoteSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "liquidity_provision_submission", + "description": "", + "label": "", + "type": "LiquidityProvisionSubmission", + "longType": "vega.commands.v1.LiquidityProvisionSubmission", + "fullType": "vega.commands.v1.LiquidityProvisionSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "withdraw_submission", + "description": "", + "label": "", + "type": "WithdrawSubmission", + "longType": "vega.commands.v1.WithdrawSubmission", + "fullType": "vega.commands.v1.WithdrawSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "delegate_submission", + "description": "", + "label": "", + "type": "DelegateSubmission", + "longType": "vega.commands.v1.DelegateSubmission", + "fullType": "vega.commands.v1.DelegateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "undelegate_submission", + "description": "", + "label": "", + "type": "UndelegateSubmission", + "longType": "vega.commands.v1.UndelegateSubmission", + "fullType": "vega.commands.v1.UndelegateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "liquidity_provision_cancellation", + "description": "", + "label": "", + "type": "LiquidityProvisionCancellation", + "longType": "vega.commands.v1.LiquidityProvisionCancellation", + "fullType": "vega.commands.v1.LiquidityProvisionCancellation", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "liquidity_provision_amendment", + "description": "", + "label": "", + "type": "LiquidityProvisionAmendment", + "longType": "vega.commands.v1.LiquidityProvisionAmendment", + "fullType": "vega.commands.v1.LiquidityProvisionAmendment", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "transfer", + "description": "", + "label": "", + "type": "Transfer", + "longType": "vega.commands.v1.Transfer", + "fullType": "vega.commands.v1.Transfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "cancel_transfer", + "description": "", + "label": "", + "type": "CancelTransfer", + "longType": "vega.commands.v1.CancelTransfer", + "fullType": "vega.commands.v1.CancelTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "announce_node", + "description": "", + "label": "", + "type": "AnnounceNode", + "longType": "vega.commands.v1.AnnounceNode", + "fullType": "vega.commands.v1.AnnounceNode", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "oracle_data_submission", + "description": "", + "label": "", + "type": "OracleDataSubmission", + "longType": "vega.commands.v1.OracleDataSubmission", + "fullType": "vega.commands.v1.OracleDataSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "protocol_upgrade_proposal", + "description": "", + "label": "", + "type": "ProtocolUpgradeProposal", + "longType": "vega.commands.v1.ProtocolUpgradeProposal", + "fullType": "vega.commands.v1.ProtocolUpgradeProposal", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "issue_signatures", + "description": "", + "label": "", + "type": "IssueSignatures", + "longType": "vega.commands.v1.IssueSignatures", + "fullType": "vega.commands.v1.IssueSignatures", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + }, + { + "name": "batch_market_instructions", + "description": "", + "label": "", + "type": "BatchMarketInstructions", + "longType": "vega.commands.v1.BatchMarketInstructions", + "fullType": "vega.commands.v1.BatchMarketInstructions", + "ismap": false, + "isoneof": true, + "oneofdecl": "transaction", + "defaultValue": "" + } + ] + }, + { + "name": "ValidatorRankingEvent", + "longName": "ValidatorRankingEvent", + "fullName": "vega.events.v1.ValidatorRankingEvent", + "description": "Event that explains the status of the validator for the coming epoch", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "stake_score", + "description": "Stake based score - no anti-whaling", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "performance_score", + "description": "Performance base score", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ranking_score", + "description": "Final score", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "previous_status", + "description": "Status of the validator in the previous epoch", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "next_status", + "description": "Status of the validator in the next epoch", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "Epoch seq for which the status is valid", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tm_voting_power", + "description": "Tendermint voting power of the validator", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ValidatorScoreEvent", + "longName": "ValidatorScoreEvent", + "fullName": "vega.events.v1.ValidatorScoreEvent", + "description": "ValidatorScoreEvent is the score a validator gets for a given epoch", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validator_score", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "normalised_score", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validator_performance", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "raw_validator_score", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validator_status", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "multisig_score", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ValidatorUpdate", + "longName": "ValidatorUpdate", + "fullName": "vega.events.v1.ValidatorUpdate", + "description": "Validator update event contains information about validator node", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node_id", + "description": "Node ID of the validator node", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_pub_key", + "description": "Vega public key of validator node", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ethereum_address", + "description": "Ethereum public key of validator node", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tm_pub_key", + "description": "Public key of Tendermint", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "info_url", + "description": "URL with more info on the node", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "country", + "description": "Country code (ISO 3166-1 alpha-2) for the location of the node", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "Name of the validator", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "avatar_url", + "description": "AvatarURL of the validator", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_pub_key_index", + "description": "Vega public key derivation index", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "added", + "description": "Flag indicating if the validator has been added to or removed from vega", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "from_epoch", + "description": "Epoch in which the announced pending node will start participating in the network", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "submitter_address", + "description": "Ethereum public key being used as the submitter to allow automatic signature generation", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "Epoch in which the node was announced or removed from the network", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "data-node/api/v2/trading_data.proto", + "description": "", + "package": "datanode.api.v2", + "hasEnums": true, + "hasExtensions": false, + "hasMessages": true, + "hasServices": true, + "enums": [ + { + "name": "AccountField", + "longName": "AccountField", + "fullName": "datanode.api.v2.AccountField", + "description": "List of the properties of an account, used for grouping", + "values": [ + { + "name": "ACCOUNT_FIELD_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "ACCOUNT_FIELD_ID", + "number": "1", + "description": "" + }, + { + "name": "ACCOUNT_FIELD_PARTY_ID", + "number": "2", + "description": "" + }, + { + "name": "ACCOUNT_FIELD_ASSET_ID", + "number": "3", + "description": "" + }, + { + "name": "ACCOUNT_FIELD_MARKET_ID", + "number": "4", + "description": "" + }, + { + "name": "ACCOUNT_FIELD_TYPE", + "number": "5", + "description": "" + } + ] + }, + { + "name": "LedgerEntryField", + "longName": "LedgerEntryField", + "fullName": "datanode.api.v2.LedgerEntryField", + "description": "List of fields for a ledger entry", + "values": [ + { + "name": "LEDGER_ENTRY_FIELD_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "LEDGER_ENTRY_FIELD_ACCOUNT_FROM_ID", + "number": "1", + "description": "" + }, + { + "name": "LEDGER_ENTRY_FIELD_ACCOUNT_TO_ID", + "number": "2", + "description": "" + }, + { + "name": "LEDGER_ENTRY_FIELD_TRANSFER_TYPE", + "number": "3", + "description": "" + } + ] + }, + { + "name": "Type", + "longName": "ListGovernanceDataRequest.Type", + "fullName": "datanode.api.v2.ListGovernanceDataRequest.Type", + "description": "Filter for the types of governance proposals to view", + "values": [ + { + "name": "TYPE_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "TYPE_ALL", + "number": "1", + "description": "List all proposals" + }, + { + "name": "TYPE_NEW_MARKET", + "number": "2", + "description": "List new market proposals" + }, + { + "name": "TYPE_UPDATE_MARKET", + "number": "3", + "description": "List update market proposals" + }, + { + "name": "TYPE_NETWORK_PARAMETERS", + "number": "4", + "description": "List change Vega network parameter proposals" + }, + { + "name": "TYPE_NEW_ASSET", + "number": "5", + "description": "New asset proposals" + }, + { + "name": "TYPE_NEW_FREE_FORM", + "number": "6", + "description": "Proposals for creating a new free form proposal" + }, + { + "name": "TYPE_UPDATE_ASSET", + "number": "7", + "description": "Update asset proposals" + } + ] + }, + { + "name": "Table", + "longName": "Table", + "fullName": "datanode.api.v2.Table", + "description": "", + "values": [ + { + "name": "TABLE_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "TABLE_BALANCES", + "number": "1", + "description": "" + }, + { + "name": "TABLE_CHECKPOINTS", + "number": "2", + "description": "" + }, + { + "name": "TABLE_DELEGATIONS", + "number": "3", + "description": "" + }, + { + "name": "TABLE_LEDGER", + "number": "4", + "description": "" + }, + { + "name": "TABLE_ORDERS", + "number": "5", + "description": "" + }, + { + "name": "TABLE_TRADES", + "number": "6", + "description": "" + }, + { + "name": "TABLE_MARKET_DATA", + "number": "7", + "description": "" + }, + { + "name": "TABLE_MARGIN_LEVELS", + "number": "8", + "description": "" + }, + { + "name": "TABLE_POSITIONS", + "number": "9", + "description": "" + }, + { + "name": "TABLE_LIQUIDITY_PROVISIONS", + "number": "10", + "description": "" + }, + { + "name": "TABLE_MARKETS", + "number": "11", + "description": "" + }, + { + "name": "TABLE_DEPOSITS", + "number": "12", + "description": "" + }, + { + "name": "TABLE_WITHDRAWALS", + "number": "13", + "description": "" + }, + { + "name": "TABLE_BLOCKS", + "number": "14", + "description": "" + }, + { + "name": "TABLE_REWARDS", + "number": "15", + "description": "" + } + ] + }, + { + "name": "TransferDirection", + "longName": "TransferDirection", + "fullName": "datanode.api.v2.TransferDirection", + "description": "Direction of a transfer", + "values": [ + { + "name": "TRANSFER_DIRECTION_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "TRANSFER_DIRECTION_TRANSFER_FROM", + "number": "1", + "description": "" + }, + { + "name": "TRANSFER_DIRECTION_TRANSFER_TO", + "number": "2", + "description": "" + }, + { + "name": "TRANSFER_DIRECTION_TRANSFER_TO_OR_FROM", + "number": "3", + "description": "" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "AccountBalance", + "longName": "AccountBalance", + "fullName": "datanode.api.v2.AccountBalance", + "description": "Represents the current balance of an account for an asset on Vega, for a particular owner or party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "owner", + "description": "Party that owns the account.\nSpecial values include `network` - represents the Vega network and is\nmost commonly seen during liquidation of a distressed trading position.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "balance", + "description": "Asset balance represented as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places.\nBalances cannot be negative.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "Asset ID for the account.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID for the account, this field will be empty if the asset is in a general account.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Account type of this account.", + "label": "", + "type": "AccountType", + "longType": "vega.AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AccountEdge", + "longName": "AccountEdge", + "fullName": "datanode.api.v2.AccountEdge", + "description": "Account data item with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Account balance data.", + "label": "", + "type": "AccountBalance", + "longType": "AccountBalance", + "fullType": "datanode.api.v2.AccountBalance", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages with reference to this account.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AccountFilter", + "longName": "AccountFilter", + "fullName": "datanode.api.v2.AccountFilter", + "description": "Account filter is used to filter account data.\n\nAn account is defined as a set of asset ID, type, party ID, and market ID.\n- Every account has an associated asset and type.\n- Certain account types such as the global reward pool for example, do not have an associated party.\n These are denoted by the special party ID 'network'.\n- Certain account types do not have an associated market such as the general party accounts, for example.\n These are denoted by the special market ID '' (an empty string).", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset_id", + "description": "Restrict accounts to those holding balances in this asset ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_ids", + "description": "Restrict accounts to those owned by the parties in this list. Pass an empty list for no filter.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_ids", + "description": "Restrict accounts to those connected to the markets in this list. Pass an empty list for no filter.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "account_types", + "description": "Restrict accounts to those connected to any of the types in this list. Pass an empty list for no filter.", + "label": "repeated", + "type": "AccountType", + "longType": "vega.AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AccountSnapshotPage", + "longName": "AccountSnapshotPage", + "fullName": "datanode.api.v2.AccountSnapshotPage", + "description": "'Initial image' snapshot containing current account balances - may be sent over several response messages", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "accounts", + "description": "List of account balances.", + "label": "repeated", + "type": "AccountBalance", + "longType": "AccountBalance", + "fullType": "datanode.api.v2.AccountBalance", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_page", + "description": "Indicator if the current page is the last one or not.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AccountUpdates", + "longName": "AccountUpdates", + "fullName": "datanode.api.v2.AccountUpdates", + "description": "List of account updates in the last block", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "accounts", + "description": "List of account balances.", + "label": "repeated", + "type": "AccountBalance", + "longType": "AccountBalance", + "fullType": "datanode.api.v2.AccountBalance", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AccountsConnection", + "longName": "AccountsConnection", + "fullName": "datanode.api.v2.AccountsConnection", + "description": "Page of accounts data and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of accounts data and their corresponding cursors.", + "label": "repeated", + "type": "AccountEdge", + "longType": "AccountEdge", + "fullType": "datanode.api.v2.AccountEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AggregatedBalance", + "longName": "AggregatedBalance", + "fullName": "datanode.api.v2.AggregatedBalance", + "description": "AggregatedBalance data contains the balance of the set of requested accounts combined with corresponding\nparty ID, market ID and account type details", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "timestamp", + "description": "Timestamp in nanseconds of the block in which the balance exists.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "balance", + "description": "Balance of the set of requested accounts at the time above.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "If grouping by party, the party ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_party_id", + "defaultValue": "" + }, + { + "name": "asset_id", + "description": "If grouping by asset, the asset ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_asset_id", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "If grouping by market, the market ID", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_market_id", + "defaultValue": "" + }, + { + "name": "account_type", + "description": "If grouping by account type, the account type.", + "label": "optional", + "type": "AccountType", + "longType": "vega.AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": true, + "oneofdecl": "_account_type", + "defaultValue": "" + } + ] + }, + { + "name": "AggregatedBalanceConnection", + "longName": "AggregatedBalanceConnection", + "fullName": "datanode.api.v2.AggregatedBalanceConnection", + "description": "Page of aggregated balance objects and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of aggregated balance data and their corresponding cursors.", + "label": "repeated", + "type": "AggregatedBalanceEdge", + "longType": "AggregatedBalanceEdge", + "fullType": "datanode.api.v2.AggregatedBalanceEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AggregatedBalanceEdge", + "longName": "AggregatedBalanceEdge", + "fullName": "datanode.api.v2.AggregatedBalanceEdge", + "description": "Aggregated balance data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Balance of the set of requested accounts.", + "label": "", + "type": "AggregatedBalance", + "longType": "AggregatedBalance", + "fullType": "datanode.api.v2.AggregatedBalance", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AggregatedLedgerEntriesConnection", + "longName": "AggregatedLedgerEntriesConnection", + "fullName": "datanode.api.v2.AggregatedLedgerEntriesConnection", + "description": "Page of aggregated ledger entries data and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of 'AggregatedLedgerEntry' data and their corresponding cursors.", + "label": "repeated", + "type": "AggregatedLedgerEntriesEdge", + "longType": "AggregatedLedgerEntriesEdge", + "fullType": "datanode.api.v2.AggregatedLedgerEntriesEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AggregatedLedgerEntriesEdge", + "longName": "AggregatedLedgerEntriesEdge", + "fullName": "datanode.api.v2.AggregatedLedgerEntriesEdge", + "description": "Represents the aggregated ledger entry data with corresponding cursor for it", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "'AggregatedLedgerEntry' data.", + "label": "", + "type": "AggregatedLedgerEntry", + "longType": "AggregatedLedgerEntry", + "fullType": "datanode.api.v2.AggregatedLedgerEntry", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AggregatedLedgerEntry", + "longName": "AggregatedLedgerEntry", + "fullName": "datanode.api.v2.AggregatedLedgerEntry", + "description": "Represents an aggregated view of ledger entry data, sender and receiver accounts,\ndetails and balances for both sides after the transfer has been made", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "timestamp", + "description": "Timestamp in Unix nanoseconds of the block in which the result is referring to.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "quantity", + "description": "Amount of ledger entries for the set of requested accounts at the time above.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "transfer_type", + "description": "Transfer type.", + "label": "", + "type": "TransferType", + "longType": "vega.TransferType", + "fullType": "vega.TransferType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset_id", + "description": "Asset ID for the asset associated with the entry.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_asset_id", + "defaultValue": "" + }, + { + "name": "from_account_type", + "description": "Type of account sent from.", + "label": "", + "type": "AccountType", + "longType": "vega.AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "to_account_type", + "description": "Type of account received to.", + "label": "", + "type": "AccountType", + "longType": "vega.AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "from_account_party_id", + "description": "Sender's party ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_from_account_party_id", + "defaultValue": "" + }, + { + "name": "to_account_party_id", + "description": "Receiver's party ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_to_account_party_id", + "defaultValue": "" + }, + { + "name": "from_account_market_id", + "description": "Sender market ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_from_account_market_id", + "defaultValue": "" + }, + { + "name": "to_account_market_id", + "description": "Receiver market ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_to_account_market_id", + "defaultValue": "" + }, + { + "name": "from_account_balance", + "description": "Sender account balance after the transfer.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "to_account_balance", + "description": "Receiver account balance after the transfer.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AssetEdge", + "longName": "AssetEdge", + "fullName": "datanode.api.v2.AssetEdge", + "description": "Assets data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Asset data returned.", + "label": "", + "type": "Asset", + "longType": "vega.Asset", + "fullType": "vega.Asset", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AssetsConnection", + "longName": "AssetsConnection", + "fullName": "datanode.api.v2.AssetsConnection", + "description": "Page of asset data and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of assets data and their corresponding cursors.", + "label": "repeated", + "type": "AssetEdge", + "longType": "AssetEdge", + "fullType": "datanode.api.v2.AssetEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Candle", + "longName": "Candle", + "fullName": "datanode.api.v2.Candle", + "description": "Represents the high, low, open, and closing prices for an interval of trading,\nreferred to commonly as a candlestick or candle", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "start", + "description": "Timestamp in Unix nanoseconds for the point in time when the candle was initially created/opened.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_update", + "description": "Timestamp in Unix nanoseconds for the point in time when the candle was last updated.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "high", + "description": "Highest price for trading during the candle interval.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "low", + "description": "Lowest price for trading during the candle interval.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "open", + "description": "Open trade price.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "close", + "description": "Closing trade price.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "volume", + "description": "Total trading volume during the candle interval.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "notional", + "description": "Total notional value traded during the candle interval.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CandleDataConnection", + "longName": "CandleDataConnection", + "fullName": "datanode.api.v2.CandleDataConnection", + "description": "Page of candles data and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of candle data items and their corresponding cursors.", + "label": "repeated", + "type": "CandleEdge", + "longType": "CandleEdge", + "fullType": "datanode.api.v2.CandleEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CandleEdge", + "longName": "CandleEdge", + "fullName": "datanode.api.v2.CandleEdge", + "description": "Candle data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Candlestick data, i.e. high, low, open, and closing prices for an interval of trading.", + "label": "", + "type": "Candle", + "longType": "Candle", + "fullType": "datanode.api.v2.Candle", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Checkpoint", + "longName": "Checkpoint", + "fullName": "datanode.api.v2.Checkpoint", + "description": "Actual data regarding a checkpoint", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "hash", + "description": "Hash of the checkpoint.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_hash", + "description": "Block hash at which the checkpoint is made.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "at_block", + "description": "Block number at which the checkpoint is made.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CheckpointEdge", + "longName": "CheckpointEdge", + "fullName": "datanode.api.v2.CheckpointEdge", + "description": "Checkpoint data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data relating to a single checkpoint generated by the Vega network.", + "label": "", + "type": "Checkpoint", + "longType": "Checkpoint", + "fullType": "datanode.api.v2.Checkpoint", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CheckpointsConnection", + "longName": "CheckpointsConnection", + "fullName": "datanode.api.v2.CheckpointsConnection", + "description": "Page of checkpoints data and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of checkpoints data and their corresponding cursors.", + "label": "repeated", + "type": "CheckpointEdge", + "longType": "CheckpointEdge", + "fullType": "datanode.api.v2.CheckpointEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CoreSnapshotConnection", + "longName": "CoreSnapshotConnection", + "fullName": "datanode.api.v2.CoreSnapshotConnection", + "description": "Page of core snapshot data and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of core snapshot data and their corresponding cursors.", + "label": "repeated", + "type": "CoreSnapshotEdge", + "longType": "CoreSnapshotEdge", + "fullType": "datanode.api.v2.CoreSnapshotEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CoreSnapshotEdge", + "longName": "CoreSnapshotEdge", + "fullName": "datanode.api.v2.CoreSnapshotEdge", + "description": "Core snapshot data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Core snapshot data.", + "label": "", + "type": "CoreSnapshotData", + "longType": "vega.events.v1.CoreSnapshotData", + "fullType": "vega.events.v1.CoreSnapshotData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DateRange", + "longName": "DateRange", + "fullName": "datanode.api.v2.DateRange", + "description": "Date range for queries that can return historical data\nTimestamps should be provided as unix time in Unix nanoseconds and are inclusive.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "start_timestamp", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range.", + "label": "optional", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_start_timestamp", + "defaultValue": "" + }, + { + "name": "end_timestamp", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range.", + "label": "optional", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_end_timestamp", + "defaultValue": "" + } + ] + }, + { + "name": "DelegationEdge", + "longName": "DelegationEdge", + "fullName": "datanode.api.v2.DelegationEdge", + "description": "Delegation data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "How much a party is delegating to a node and when.", + "label": "", + "type": "Delegation", + "longType": "vega.Delegation", + "fullType": "vega.Delegation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DelegationsConnection", + "longName": "DelegationsConnection", + "fullName": "datanode.api.v2.DelegationsConnection", + "description": "Page of delegations data and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of delegations data and their corresponding cursors.", + "label": "repeated", + "type": "DelegationEdge", + "longType": "DelegationEdge", + "fullType": "datanode.api.v2.DelegationEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DepositEdge", + "longName": "DepositEdge", + "fullName": "datanode.api.v2.DepositEdge", + "description": "Deposits data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data associated with a single deposit made on the Vega network.", + "label": "", + "type": "Deposit", + "longType": "vega.Deposit", + "fullType": "vega.Deposit", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DepositsConnection", + "longName": "DepositsConnection", + "fullName": "datanode.api.v2.DepositsConnection", + "description": "Page of deposits data received and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of deposits data and their corresponding cursors.", + "label": "repeated", + "type": "DepositEdge", + "longType": "DepositEdge", + "fullType": "datanode.api.v2.DepositEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigSignerAddedBundle", + "longName": "ERC20MultiSigSignerAddedBundle", + "fullName": "datanode.api.v2.ERC20MultiSigSignerAddedBundle", + "description": "Signature bundle data to be added", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "new_signer", + "description": "Ethereum address of the signer to be removed.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "submitter", + "description": "Ethereum address of the submitter.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "Nonce used in the signing operation.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "Unixnano timestamp for when the validator was added.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signatures", + "description": "Bundle of signatures from current validators to sign in the new signer.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "Epoch in which the validator was added.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigSignerAddedBundleEdge", + "longName": "ERC20MultiSigSignerAddedBundleEdge", + "fullName": "datanode.api.v2.ERC20MultiSigSignerAddedBundleEdge", + "description": "Signature bundle data that is to be added with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Signature bundle data to be added.", + "label": "", + "type": "ERC20MultiSigSignerAddedBundle", + "longType": "ERC20MultiSigSignerAddedBundle", + "fullType": "datanode.api.v2.ERC20MultiSigSignerAddedBundle", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigSignerAddedConnection", + "longName": "ERC20MultiSigSignerAddedConnection", + "fullName": "datanode.api.v2.ERC20MultiSigSignerAddedConnection", + "description": "Page of signature data items to be added and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of signature bundle data and their corresponding cursors.", + "label": "repeated", + "type": "ERC20MultiSigSignerAddedBundleEdge", + "longType": "ERC20MultiSigSignerAddedBundleEdge", + "fullType": "datanode.api.v2.ERC20MultiSigSignerAddedBundleEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigSignerAddedEdge", + "longName": "ERC20MultiSigSignerAddedEdge", + "fullName": "datanode.api.v2.ERC20MultiSigSignerAddedEdge", + "description": "Signature data that is to be added with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Signature data to be added.", + "label": "", + "type": "ERC20MultiSigSignerAdded", + "longType": "vega.events.v1.ERC20MultiSigSignerAdded", + "fullType": "vega.events.v1.ERC20MultiSigSignerAdded", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigSignerRemovedBundle", + "longName": "ERC20MultiSigSignerRemovedBundle", + "fullName": "datanode.api.v2.ERC20MultiSigSignerRemovedBundle", + "description": "Signature bundle data to be removed", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "old_signer", + "description": "Ethereum address of the signer to be removed.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "submitter", + "description": "Ethereum address of the submitter.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "Nonce used in the signing operation.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "Unixnano timestamp for when the validator was added.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signatures", + "description": "Bundle of signatures from current validators to sign in the new signer.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "Epoch in which the validator was removed.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigSignerRemovedBundleEdge", + "longName": "ERC20MultiSigSignerRemovedBundleEdge", + "fullName": "datanode.api.v2.ERC20MultiSigSignerRemovedBundleEdge", + "description": "Signature bundle data to be removed, with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Signature bundle data to be added.", + "label": "", + "type": "ERC20MultiSigSignerRemovedBundle", + "longType": "ERC20MultiSigSignerRemovedBundle", + "fullType": "datanode.api.v2.ERC20MultiSigSignerRemovedBundle", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigSignerRemovedConnection", + "longName": "ERC20MultiSigSignerRemovedConnection", + "fullName": "datanode.api.v2.ERC20MultiSigSignerRemovedConnection", + "description": "Page of signature data items to be removed and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of signature bundle data and their corresponding cursors.", + "label": "repeated", + "type": "ERC20MultiSigSignerRemovedBundleEdge", + "longType": "ERC20MultiSigSignerRemovedBundleEdge", + "fullType": "datanode.api.v2.ERC20MultiSigSignerRemovedBundleEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigSignerRemovedEdge", + "longName": "ERC20MultiSigSignerRemovedEdge", + "fullName": "datanode.api.v2.ERC20MultiSigSignerRemovedEdge", + "description": "Signature data to be removed with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Signature data to be removed.", + "label": "", + "type": "ERC20MultiSigSignerRemoved", + "longType": "vega.events.v1.ERC20MultiSigSignerRemoved", + "fullType": "vega.events.v1.ERC20MultiSigSignerRemoved", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EpochRewardSummaryConnection", + "longName": "EpochRewardSummaryConnection", + "fullName": "datanode.api.v2.EpochRewardSummaryConnection", + "description": "Page of rewards summary data for epoch and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of rewards summary data for epochs and their corresponding cursors.", + "label": "repeated", + "type": "EpochRewardSummaryEdge", + "longType": "EpochRewardSummaryEdge", + "fullType": "datanode.api.v2.EpochRewardSummaryEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EpochRewardSummaryEdge", + "longName": "EpochRewardSummaryEdge", + "fullName": "datanode.api.v2.EpochRewardSummaryEdge", + "description": "Rewards summary data for epoch with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Rewards summary data for epoch.", + "label": "", + "type": "EpochRewardSummary", + "longType": "vega.EpochRewardSummary", + "fullType": "vega.EpochRewardSummary", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EstimateFeeRequest", + "longName": "EstimateFeeRequest", + "fullName": "datanode.api.v2.EstimateFeeRequest", + "description": "Request to fetch the estimated fee if an order were to trade immediately", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID, used to specify the fee factors.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Price at which the potential order is expected to trade.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "size", + "description": "Size at which the potential order is expected to trade.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EstimateFeeResponse", + "longName": "EstimateFeeResponse", + "fullName": "datanode.api.v2.EstimateFeeResponse", + "description": "Response that is received from EstimateFeeRequest, contains the estimated fees for a given order", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "fee", + "description": "Summary of the estimated fees for this order if it were to trade now.", + "label": "", + "type": "Fee", + "longType": "vega.Fee", + "fullType": "vega.Fee", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EstimateMarginRequest", + "longName": "EstimateMarginRequest", + "fullName": "datanode.api.v2.EstimateMarginRequest", + "description": "Request to fetch the estimated MarginLevels if an order were to trade immediately", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID for the order.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID of the order.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "side", + "description": "Order side - indicator for Seller or Buyer side.", + "label": "", + "type": "Side", + "longType": "vega.Side", + "fullType": "vega.Side", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Type of the order.", + "label": "", + "type": "Type", + "longType": "vega.Order.Type", + "fullType": "vega.Order.Type", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "size", + "description": "Size of order.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Price of the asset.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ], + "options": { + "deprecated": true + } + }, + { + "name": "EstimateMarginResponse", + "longName": "EstimateMarginResponse", + "fullName": "datanode.api.v2.EstimateMarginResponse", + "description": "Response to an estimate margin request, containing the estimated margin levels for a given order", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "margin_levels", + "description": "Summary of the estimated margins for this order if it were to trade now.", + "label": "", + "type": "MarginLevels", + "longType": "vega.MarginLevels", + "fullType": "vega.MarginLevels", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ], + "options": { + "deprecated": true + } + }, + { + "name": "EstimatePositionRequest", + "longName": "EstimatePositionRequest", + "fullName": "datanode.api.v2.EstimatePositionRequest", + "description": "Request for the estimate of the margin level and, if available collateral is provided, liquidation price for the specified position.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID to estimate position for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "open_volume", + "description": "Open volume. This field is a signed integer scaled to the market's position decimal places.\nA negative number denotes a short position.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "orders", + "description": "Open and/or hypothetical orders.", + "label": "repeated", + "type": "OrderInfo", + "longType": "OrderInfo", + "fullType": "datanode.api.v2.OrderInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "collateral_available", + "description": "Optional argument specifying collateral available for the position, if provided then response will contain the liquidation price estimate.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_collateral_available", + "defaultValue": "" + } + ] + }, + { + "name": "EstimatePositionResponse", + "longName": "EstimatePositionResponse", + "fullName": "datanode.api.v2.EstimatePositionResponse", + "description": "Response for the estimate of the margin level and, if available collateral was provided in the request, liquidation price for the specified position.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "margin", + "description": "Margin level range estimate for the specified position.", + "label": "", + "type": "MarginEstimate", + "longType": "MarginEstimate", + "fullType": "datanode.api.v2.MarginEstimate", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "liquidation", + "description": "Liquidation price range estimate for the specified position. Only populated if available collateral was specified in the request.", + "label": "", + "type": "LiquidationEstimate", + "longType": "LiquidationEstimate", + "fullType": "datanode.api.v2.LiquidationEstimate", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EthereumKeyRotationEdge", + "longName": "EthereumKeyRotationEdge", + "fullName": "datanode.api.v2.EthereumKeyRotationEdge", + "description": "Ethereum key rotation data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data relating to an Ethereum key rotation performed by a node on the Vega network.", + "label": "", + "type": "EthereumKeyRotation", + "longType": "vega.events.v1.EthereumKeyRotation", + "fullType": "vega.events.v1.EthereumKeyRotation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EthereumKeyRotationsConnection", + "longName": "EthereumKeyRotationsConnection", + "fullName": "datanode.api.v2.EthereumKeyRotationsConnection", + "description": "Page of Ethereum key rotations data and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of Ethereum key rotations data and their corresponding cursors.", + "label": "repeated", + "type": "EthereumKeyRotationEdge", + "longType": "EthereumKeyRotationEdge", + "fullType": "datanode.api.v2.EthereumKeyRotationEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ExportLedgerEntriesRequest", + "longName": "ExportLedgerEntriesRequest", + "fullName": "datanode.api.v2.ExportLedgerEntriesRequest", + "description": "Request that is sent when exporting ledger entries to csv", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Restrict exported ledger entries to those relating to the given party ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset_id", + "description": "Restrict exported ledger entries to those relating to the given asset ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "date_range", + "description": "Date range to export ledger entries for.", + "label": "optional", + "type": "DateRange", + "longType": "DateRange", + "fullType": "datanode.api.v2.DateRange", + "ismap": false, + "isoneof": true, + "oneofdecl": "_date_range", + "defaultValue": "" + } + ] + }, + { + "name": "ExportNetworkHistoryRequest", + "longName": "ExportNetworkHistoryRequest", + "fullName": "datanode.api.v2.ExportNetworkHistoryRequest", + "description": "Request to export network history data in CSV format", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "from_block", + "description": "Block to begin exporting from. Must be the first block of a history segment,\nwhich by default are 1000 blocks each; in that case - 1, 1001, 2001 etc. are valid values.\nThis can be checked by first calling the API to list all network history segments.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "to_block", + "description": "Last block to export up to and including. Must be the last block of a history segment\nwhich by default are 1000 blocks each; in that case - 1000, 2000, 3000 etc. are valid values.\nThis can be checked by first calling the API to list all network history segments.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "table", + "description": "Table to export data from.", + "label": "", + "type": "Table", + "longType": "Table", + "fullType": "datanode.api.v2.Table", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetActiveNetworkHistoryPeerAddressesRequest", + "longName": "GetActiveNetworkHistoryPeerAddressesRequest", + "fullName": "datanode.api.v2.GetActiveNetworkHistoryPeerAddressesRequest", + "description": "Request to get the addresses of active network history peers", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "GetActiveNetworkHistoryPeerAddressesResponse", + "longName": "GetActiveNetworkHistoryPeerAddressesResponse", + "fullName": "datanode.api.v2.GetActiveNetworkHistoryPeerAddressesResponse", + "description": "Response containing the addresses of active network history peers", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "ip_addresses", + "description": "List of IP addresses for the active peers.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetAssetRequest", + "longName": "GetAssetRequest", + "fullName": "datanode.api.v2.GetAssetRequest", + "description": "Request for obtaining asset", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset_id", + "description": "Asset ID to get data for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetAssetResponse", + "longName": "GetAssetResponse", + "fullName": "datanode.api.v2.GetAssetResponse", + "description": "Response from getting an asset", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset", + "description": "Asset information that is returned.", + "label": "", + "type": "Asset", + "longType": "vega.Asset", + "fullType": "vega.Asset", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetBalanceHistoryRequest", + "longName": "GetBalanceHistoryRequest", + "fullName": "datanode.api.v2.GetBalanceHistoryRequest", + "description": "Request that is used when querying balance history", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "filter", + "description": "Account filter contains values that can be set in order to limit balance history data to them.", + "label": "", + "type": "AccountFilter", + "longType": "AccountFilter", + "fullType": "datanode.api.v2.AccountFilter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "group_by", + "description": "By default the net balances of all the accounts specified by the filter are returned.\nIf a list of fields is given in group_by, split out those balances by the supplied criteria.", + "label": "repeated", + "type": "AccountField", + "longType": "AccountField", + "fullType": "datanode.api.v2.AccountField", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + }, + { + "name": "date_range", + "description": "", + "label": "optional", + "type": "DateRange", + "longType": "DateRange", + "fullType": "datanode.api.v2.DateRange", + "ismap": false, + "isoneof": true, + "oneofdecl": "_date_range", + "defaultValue": "" + } + ] + }, + { + "name": "GetBalanceHistoryResponse", + "longName": "GetBalanceHistoryResponse", + "fullName": "datanode.api.v2.GetBalanceHistoryResponse", + "description": "Response that is received when querying for balance history", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "balances", + "description": "Page of aggregated balances with the corresponding page information.", + "label": "", + "type": "AggregatedBalanceConnection", + "longType": "AggregatedBalanceConnection", + "fullType": "datanode.api.v2.AggregatedBalanceConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetDepositRequest", + "longName": "GetDepositRequest", + "fullName": "datanode.api.v2.GetDepositRequest", + "description": "Request to get data about a specific deposit by ID", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Deposit ID to return data for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetDepositResponse", + "longName": "GetDepositResponse", + "fullName": "datanode.api.v2.GetDepositResponse", + "description": "Response that is received from getting deposit data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "deposit", + "description": "Deposit matching the ID from the request.", + "label": "", + "type": "Deposit", + "longType": "vega.Deposit", + "fullType": "vega.Deposit", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetERC20ListAssetBundleRequest", + "longName": "GetERC20ListAssetBundleRequest", + "fullName": "datanode.api.v2.GetERC20ListAssetBundleRequest", + "description": "Request for listing the signature bundle to an ERC-20 token in the collateral bridge", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset_id", + "description": "Asset ID of the asset bundle requested.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetERC20ListAssetBundleResponse", + "longName": "GetERC20ListAssetBundleResponse", + "fullName": "datanode.api.v2.GetERC20ListAssetBundleResponse", + "description": "Response from listing the signature bundle to an ERC-20 token in the collateral bridge", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset_source", + "description": "Address of the asset on Ethereum.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_asset_id", + "description": "Asset ID for the underlying Vega asset.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "Nonce that uniquely identifies this signature bundle and prevents resubmission.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signatures", + "description": "Signatures bundle as hex encoded data, prefixed with `0x`\ne.g: `0x + sig1 + sig2 + ... + sixN`.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetERC20SetAssetLimitsBundleRequest", + "longName": "GetERC20SetAssetLimitsBundleRequest", + "fullName": "datanode.api.v2.GetERC20SetAssetLimitsBundleRequest", + "description": "Request for the signature bundle to update the token limits i.e. maxLifetimeDeposit and withdrawThreshold for a given ERC20 token that is already allowlisted in the collateral bridge", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposal_id", + "description": "Proposal ID of the asset update proposal.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetERC20SetAssetLimitsBundleResponse", + "longName": "GetERC20SetAssetLimitsBundleResponse", + "fullName": "datanode.api.v2.GetERC20SetAssetLimitsBundleResponse", + "description": "Response for the signature bundle to update the token limits i.e. maxLifetimeDeposit and withdrawThreshold for a given ERC20 token that is already allowlisted in the collateral bridge", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset_source", + "description": "Address of the asset on Ethereum.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_asset_id", + "description": "Asset ID for the underlying Vega asset.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "Nonce that uniquely identifies this signature bundle and prevents resubmission.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "lifetime_limit", + "description": "Lifetime limit deposit for this asset.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "threshold", + "description": "Threshold withdraw for this asset.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signatures", + "description": "Signatures bundle as hex encoded data, prefixed with `0x`\ne.g: `0x + sig1 + sig2 + ... + sixN`.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetERC20WithdrawalApprovalRequest", + "longName": "GetERC20WithdrawalApprovalRequest", + "fullName": "datanode.api.v2.GetERC20WithdrawalApprovalRequest", + "description": "Request to get all information required to bundle the call to finalise the withdrawal on the erc20 bridge", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "withdrawal_id", + "description": "Withdrawal ID to retrieve.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetERC20WithdrawalApprovalResponse", + "longName": "GetERC20WithdrawalApprovalResponse", + "fullName": "datanode.api.v2.GetERC20WithdrawalApprovalResponse", + "description": "Response with all information required to bundle the call to finalise the withdrawal on the erc20 bridge\nfunction withdraw_asset(address asset_source, uint256 asset_id, uint256 amount, uint256 expiry, uint256 nonce, bytes memory signatures)", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset_source", + "description": "Address of asset on Ethereum.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "Amount to be withdrawn.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "Nonce that uniquely identifies this signature bundle and prevents resubmission.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signatures", + "description": "Signatures bundle as hex encoded data, prefixed with `0x`\ne.g: 0x + sig1 + sig2 + ... + sixN.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "target_address", + "description": "Ethereum address, prefixed with `0x`, that will receive the withdrawn assets.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "creation", + "description": "Creation timestamps.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetEpochRequest", + "longName": "GetEpochRequest", + "fullName": "datanode.api.v2.GetEpochRequest", + "description": "Request to fetch epoch data\nProvide either the epoch ID or the block height to get the epoch for. If both are provided, the epoch ID will be used.\nIf both are omitted, the current epoch will be returned.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Epoch ID. If provided, returns the epoch with the given ID.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_id", + "defaultValue": "" + }, + { + "name": "block", + "description": "Block height. If provided, returns the epoch that the given block is in.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_block", + "defaultValue": "" + } + ] + }, + { + "name": "GetEpochResponse", + "longName": "GetEpochResponse", + "fullName": "datanode.api.v2.GetEpochResponse", + "description": "Response from getting epoch", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "epoch", + "description": "Data specific to a single epoch on the Vega network. This includes the epoch number,\nstart and end times, and the nodes that participated in the epoch.", + "label": "", + "type": "Epoch", + "longType": "vega.Epoch", + "fullType": "vega.Epoch", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetGovernanceDataRequest", + "longName": "GetGovernanceDataRequest", + "fullName": "datanode.api.v2.GetGovernanceDataRequest", + "description": "Request to get governance data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "proposal_id", + "description": "Proposal ID to get governance data for, if provided.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_proposal_id", + "defaultValue": "" + }, + { + "name": "reference", + "description": "Reference to get proposal data for, if provided.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_reference", + "defaultValue": "" + } + ] + }, + { + "name": "GetGovernanceDataResponse", + "longName": "GetGovernanceDataResponse", + "fullName": "datanode.api.v2.GetGovernanceDataResponse", + "description": "Response from getting governance data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "data", + "description": "Governance data content, i.e. proposal and votes for and against.", + "label": "", + "type": "GovernanceData", + "longType": "vega.GovernanceData", + "fullType": "vega.GovernanceData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetLastTradeRequest", + "longName": "GetLastTradeRequest", + "fullName": "datanode.api.v2.GetLastTradeRequest", + "description": "Request for the latest trade that occurred on Vega for a given market", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID to retrieve the last trade for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetLastTradeResponse", + "longName": "GetLastTradeResponse", + "fullName": "datanode.api.v2.GetLastTradeResponse", + "description": "Response for the latest trade that occurred on Vega for a given market", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "trade", + "description": "Information about the trade, if one is found.", + "label": "", + "type": "Trade", + "longType": "vega.Trade", + "fullType": "vega.Trade", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetLatestMarketDataRequest", + "longName": "GetLatestMarketDataRequest", + "fullName": "datanode.api.v2.GetLatestMarketDataRequest", + "description": "Request that is sent when listing the latest market data for a given market", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID to retrieve market data for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetLatestMarketDataResponse", + "longName": "GetLatestMarketDataResponse", + "fullName": "datanode.api.v2.GetLatestMarketDataResponse", + "description": "Response that is received when listing the latest market data for a given market", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_data", + "description": "Market data that was requested.", + "label": "", + "type": "MarketData", + "longType": "vega.MarketData", + "fullType": "vega.MarketData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetLatestMarketDepthRequest", + "longName": "GetLatestMarketDepthRequest", + "fullName": "datanode.api.v2.GetLatestMarketDepthRequest", + "description": "Request that is sent when requesting latest market depth data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID to request market depth for, required field.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "max_depth", + "description": "Maximum market depth.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_max_depth", + "defaultValue": "" + } + ] + }, + { + "name": "GetLatestMarketDepthResponse", + "longName": "GetLatestMarketDepthResponse", + "fullName": "datanode.api.v2.GetLatestMarketDepthResponse", + "description": "Response that is received when latest market depth data is queried", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID of the depth levels returned.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buy", + "description": "Zero or more price levels for the buy side of the market depth data.", + "label": "repeated", + "type": "PriceLevel", + "longType": "vega.PriceLevel", + "fullType": "vega.PriceLevel", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sell", + "description": "Zero or more price levels for the sell side of the market depth data.", + "label": "repeated", + "type": "PriceLevel", + "longType": "vega.PriceLevel", + "fullType": "vega.PriceLevel", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_trade", + "description": "Last trade recorded on Vega.", + "label": "", + "type": "Trade", + "longType": "vega.Trade", + "fullType": "vega.Trade", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sequence_number", + "description": "Sequence number incremented after each update.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetMarketDataHistoryByIDRequest", + "longName": "GetMarketDataHistoryByIDRequest", + "fullName": "datanode.api.v2.GetMarketDataHistoryByIDRequest", + "description": "Request that is sent for getting Market Data History", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID to request data history for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "start_timestamp", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range.", + "label": "optional", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_start_timestamp", + "defaultValue": "" + }, + { + "name": "end_timestamp", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range.", + "label": "optional", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_end_timestamp", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination control.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "GetMarketDataHistoryByIDResponse", + "longName": "GetMarketDataHistoryByIDResponse", + "fullName": "datanode.api.v2.GetMarketDataHistoryByIDResponse", + "description": "Response that is received when querying Market Data History", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_data", + "description": "Page of market data history with the corresponding page information.", + "label": "", + "type": "MarketDataConnection", + "longType": "MarketDataConnection", + "fullType": "datanode.api.v2.MarketDataConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetMarketRequest", + "longName": "GetMarketRequest", + "fullName": "datanode.api.v2.GetMarketRequest", + "description": "Request for getting a market by ID", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID of the market to retrieve data for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetMarketResponse", + "longName": "GetMarketResponse", + "fullName": "datanode.api.v2.GetMarketResponse", + "description": "Response from getting a market by ID", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market", + "description": "Information about the market requested.", + "label": "", + "type": "Market", + "longType": "vega.Market", + "fullType": "vega.Market", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetMostRecentNetworkHistorySegmentRequest", + "longName": "GetMostRecentNetworkHistorySegmentRequest", + "fullName": "datanode.api.v2.GetMostRecentNetworkHistorySegmentRequest", + "description": "Request to get the most recent history segment", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "GetMostRecentNetworkHistorySegmentResponse", + "longName": "GetMostRecentNetworkHistorySegmentResponse", + "fullName": "datanode.api.v2.GetMostRecentNetworkHistorySegmentResponse", + "description": "Response from getting most recent history segment", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "segment", + "description": "Data relating to a history segment created by a Vega data node.", + "label": "", + "type": "HistorySegment", + "longType": "HistorySegment", + "fullType": "datanode.api.v2.HistorySegment", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "swarm_key_seed", + "description": "Key seed for the swarm section.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetNetworkDataRequest", + "longName": "GetNetworkDataRequest", + "fullName": "datanode.api.v2.GetNetworkDataRequest", + "description": "Request to get network data", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "GetNetworkDataResponse", + "longName": "GetNetworkDataResponse", + "fullName": "datanode.api.v2.GetNetworkDataResponse", + "description": "Response from getting network data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node_data", + "description": "Summary of information with respect to nodes on the Vega network.", + "label": "", + "type": "NodeData", + "longType": "vega.NodeData", + "fullType": "vega.NodeData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetNetworkHistoryBootstrapPeersRequest", + "longName": "GetNetworkHistoryBootstrapPeersRequest", + "fullName": "datanode.api.v2.GetNetworkHistoryBootstrapPeersRequest", + "description": "Request to get the nodes network history bootstrap peers", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "GetNetworkHistoryBootstrapPeersResponse", + "longName": "GetNetworkHistoryBootstrapPeersResponse", + "fullName": "datanode.api.v2.GetNetworkHistoryBootstrapPeersResponse", + "description": "Response containing the nodes network history bootstrap peers", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bootstrap_peers", + "description": "List of peers that can be used to bootstrap a Vega data node.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetNetworkHistoryStatusRequest", + "longName": "GetNetworkHistoryStatusRequest", + "fullName": "datanode.api.v2.GetNetworkHistoryStatusRequest", + "description": "Request to get the status of network history", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "GetNetworkHistoryStatusResponse", + "longName": "GetNetworkHistoryStatusResponse", + "fullName": "datanode.api.v2.GetNetworkHistoryStatusResponse", + "description": "Response containing the status of network history", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "ipfs_address", + "description": "IPFS address of the data node currently connected to.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "swarm_key", + "description": "Swarm key used by the IPFS swarm.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "swarm_key_seed", + "description": "Swarm key seed used by the IPFS swarm.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "connected_peers", + "description": "List of peers connected to the IPFS swarm.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetNetworkLimitsRequest", + "longName": "GetNetworkLimitsRequest", + "fullName": "datanode.api.v2.GetNetworkLimitsRequest", + "description": "Request that is used to query current network limits", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "GetNetworkLimitsResponse", + "longName": "GetNetworkLimitsResponse", + "fullName": "datanode.api.v2.GetNetworkLimitsResponse", + "description": "Response received when querying the current network limits", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "limits", + "description": "List of received network limits.", + "label": "", + "type": "NetworkLimits", + "longType": "vega.NetworkLimits", + "fullType": "vega.NetworkLimits", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetNetworkParameterRequest", + "longName": "GetNetworkParameterRequest", + "fullName": "datanode.api.v2.GetNetworkParameterRequest", + "description": "Request for a single network parameter", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "Key identifying the network parameter.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetNetworkParameterResponse", + "longName": "GetNetworkParameterResponse", + "fullName": "datanode.api.v2.GetNetworkParameterResponse", + "description": "Response that is received when getting a network parameter", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "network_parameter", + "description": "Network parameter key and value.", + "label": "", + "type": "NetworkParameter", + "longType": "vega.NetworkParameter", + "fullType": "vega.NetworkParameter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetNodeRequest", + "longName": "GetNodeRequest", + "fullName": "datanode.api.v2.GetNodeRequest", + "description": "Request to get node data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Node ID to get data for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetNodeResponse", + "longName": "GetNodeResponse", + "fullName": "datanode.api.v2.GetNodeResponse", + "description": "Response from getting node", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data specific to a single node on the Vega network.", + "label": "", + "type": "Node", + "longType": "vega.Node", + "fullType": "vega.Node", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetOracleSpecRequest", + "longName": "GetOracleSpecRequest", + "fullName": "datanode.api.v2.GetOracleSpecRequest", + "description": "Request to get a specific oracle spec by its ID", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "oracle_spec_id", + "description": "Oracle spec ID to request data for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetOracleSpecResponse", + "longName": "GetOracleSpecResponse", + "fullName": "datanode.api.v2.GetOracleSpecResponse", + "description": "Response for a oracle spec", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "oracle_spec", + "description": "External data spec matching the ID.", + "label": "", + "type": "OracleSpec", + "longType": "vega.OracleSpec", + "fullType": "vega.OracleSpec", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetOrderRequest", + "longName": "GetOrderRequest", + "fullName": "datanode.api.v2.GetOrderRequest", + "description": "Request that is sent when executing the query for getting a single order", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "order_id", + "description": "Order ID to retrieve order information for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "version", + "description": "Historic version number of the order to return. If not set, the most current version will be returned.", + "label": "optional", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": true, + "oneofdecl": "_version", + "defaultValue": "" + } + ] + }, + { + "name": "GetOrderResponse", + "longName": "GetOrderResponse", + "fullName": "datanode.api.v2.GetOrderResponse", + "description": "Response received from the query for getting a single order", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "order", + "description": "Order details, if one was found.", + "label": "", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetPartyRequest", + "longName": "GetPartyRequest", + "fullName": "datanode.api.v2.GetPartyRequest", + "description": "Request to get party by ID", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Party ID to retrieve party information for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetPartyResponse", + "longName": "GetPartyResponse", + "fullName": "datanode.api.v2.GetPartyResponse", + "description": "Response from getting party by ID", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "Data for the party requested.", + "label": "", + "type": "Party", + "longType": "vega.Party", + "fullType": "vega.Party", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetProtocolUpgradeStatusRequest", + "longName": "GetProtocolUpgradeStatusRequest", + "fullName": "datanode.api.v2.GetProtocolUpgradeStatusRequest", + "description": "Request to get protocol upgrade status", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "GetProtocolUpgradeStatusResponse", + "longName": "GetProtocolUpgradeStatusResponse", + "fullName": "datanode.api.v2.GetProtocolUpgradeStatusResponse", + "description": "Response from getting protocol upgrade status", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "ready", + "description": "Indicator if the upgrade is ready or not.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetRiskFactorsRequest", + "longName": "GetRiskFactorsRequest", + "fullName": "datanode.api.v2.GetRiskFactorsRequest", + "description": "Request to get risk factor", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID to get the risk factor for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetRiskFactorsResponse", + "longName": "GetRiskFactorsResponse", + "fullName": "datanode.api.v2.GetRiskFactorsResponse", + "description": "Response that is received from getting a risk factor", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "risk_factor", + "description": "Risk factor emitted by the risk model for a given market.", + "label": "", + "type": "RiskFactor", + "longType": "vega.RiskFactor", + "fullType": "vega.RiskFactor", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetStakeRequest", + "longName": "GetStakeRequest", + "fullName": "datanode.api.v2.GetStakeRequest", + "description": "Request to get stake", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Party ID for which the stake information is requested.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Optional pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "GetStakeResponse", + "longName": "GetStakeResponse", + "fullName": "datanode.api.v2.GetStakeResponse", + "description": "Response that is received from requesting stake information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "current_stake_available", + "description": "Current stake available information.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "stake_linkings", + "description": "Paged list of stake data with corresponding page information.", + "label": "", + "type": "StakesConnection", + "longType": "StakesConnection", + "fullType": "datanode.api.v2.StakesConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetStopOrderRequest", + "longName": "GetStopOrderRequest", + "fullName": "datanode.api.v2.GetStopOrderRequest", + "description": "Request that is sent when executing the query for getting a single stop order.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "order_id", + "description": "Order ID to retrieve order information for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetStopOrderResponse", + "longName": "GetStopOrderResponse", + "fullName": "datanode.api.v2.GetStopOrderResponse", + "description": "Response received from the query for getting a single stop order.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "order", + "description": "Order details, if one was found.", + "label": "", + "type": "StopOrderEvent", + "longType": "vega.events.v1.StopOrderEvent", + "fullType": "vega.events.v1.StopOrderEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetVegaTimeRequest", + "longName": "GetVegaTimeRequest", + "fullName": "datanode.api.v2.GetVegaTimeRequest", + "description": "Request to get the current time of the Vega network", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "GetVegaTimeResponse", + "longName": "GetVegaTimeResponse", + "fullName": "datanode.api.v2.GetVegaTimeResponse", + "description": "Response for the current consensus coordinated time on the Vega network, referred to as \"VegaTime\"", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "timestamp", + "description": "Timestamp representation of current VegaTime as represented in nanoseconds, for example\n`1580473859111222333` corresponds to `2020-01-31T12:30:59.111222333Z`.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetWithdrawalRequest", + "longName": "GetWithdrawalRequest", + "fullName": "datanode.api.v2.GetWithdrawalRequest", + "description": "Request to get a specific withdrawal by ID", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Withdrawal ID to retrieve data for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetWithdrawalResponse", + "longName": "GetWithdrawalResponse", + "fullName": "datanode.api.v2.GetWithdrawalResponse", + "description": "Response for a withdrawal request", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "withdrawal", + "description": "Withdrawal matching the ID from the request.", + "label": "", + "type": "Withdrawal", + "longType": "vega.Withdrawal", + "fullType": "vega.Withdrawal", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GovernanceDataConnection", + "longName": "GovernanceDataConnection", + "fullName": "datanode.api.v2.GovernanceDataConnection", + "description": "Page of governance data and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of governance data and their corresponding cursors.", + "label": "repeated", + "type": "GovernanceDataEdge", + "longType": "GovernanceDataEdge", + "fullType": "datanode.api.v2.GovernanceDataEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GovernanceDataEdge", + "longName": "GovernanceDataEdge", + "fullName": "datanode.api.v2.GovernanceDataEdge", + "description": "Governance data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Governance data content, i.e. proposal and votes for and against.", + "label": "", + "type": "GovernanceData", + "longType": "vega.GovernanceData", + "fullType": "vega.GovernanceData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "HistorySegment", + "longName": "HistorySegment", + "fullName": "datanode.api.v2.HistorySegment", + "description": "Describes a network history segment", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "from_height", + "description": "Starting height of the history segment.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "to_height", + "description": "Ending height of the history segment.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "history_segment_id", + "description": "History segment ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "previous_history_segment_id", + "description": "Previous history segment ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "database_version", + "description": "Database schema version of the history segment.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "chain_id", + "description": "Chain ID of the history segment.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "InfoRequest", + "longName": "InfoRequest", + "fullName": "datanode.api.v2.InfoRequest", + "description": "Request that is sent when querying node information", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "InfoResponse", + "longName": "InfoResponse", + "fullName": "datanode.api.v2.InfoResponse", + "description": "Response that is received from the node information query", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "version", + "description": "Semver formatted version of the data node.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "commit_hash", + "description": "Commit hash from which the data node was built.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "IntervalToCandleId", + "longName": "IntervalToCandleId", + "fullName": "datanode.api.v2.IntervalToCandleId", + "description": "Maps an interval for a given market to its corresponding candle ID", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "interval", + "description": "Interval for the candle.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "candle_id", + "description": "Unique id of the candle.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "KeyRotationConnection", + "longName": "KeyRotationConnection", + "fullName": "datanode.api.v2.KeyRotationConnection", + "description": "Page of key rotations data and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of key rotation data and their corresponding cursors.", + "label": "repeated", + "type": "KeyRotationEdge", + "longType": "KeyRotationEdge", + "fullType": "datanode.api.v2.KeyRotationEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "KeyRotationEdge", + "longName": "KeyRotationEdge", + "fullName": "datanode.api.v2.KeyRotationEdge", + "description": "Key rotation data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data relating to a key rotation that was performed by a node on the Vega network.", + "label": "", + "type": "KeyRotation", + "longType": "vega.events.v1.KeyRotation", + "fullType": "vega.events.v1.KeyRotation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LedgerEntryFilter", + "longName": "LedgerEntryFilter", + "fullName": "datanode.api.v2.LedgerEntryFilter", + "description": "Ledger entry filter sets filters on returned set of ledger entries.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "close_on_account_filters", + "description": "Determines whether an entry must have accounts matching both the account_from_filter\nand the account_to_filter. If set to 'true', entries must have matches in both filters.\nIf set to `false`, entries matching only the account_from_filter or the account_to_filter will also be included.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "from_account_filter", + "description": "Used to set values for filtering sender accounts.", + "label": "", + "type": "AccountFilter", + "longType": "AccountFilter", + "fullType": "datanode.api.v2.AccountFilter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "to_account_filter", + "description": "Used to set values for filtering receiver accounts.", + "label": "", + "type": "AccountFilter", + "longType": "AccountFilter", + "fullType": "datanode.api.v2.AccountFilter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "transfer_types", + "description": "List of transfer types that is used for filtering sender and receiver accounts.", + "label": "repeated", + "type": "TransferType", + "longType": "vega.TransferType", + "fullType": "vega.TransferType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidationEstimate", + "longName": "LiquidationEstimate", + "fullName": "datanode.api.v2.LiquidationEstimate", + "description": "Liquidation estimate for both worst and best case possible.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "worst_case", + "description": "Liquidation price estimate assuming slippage cap is applied.", + "label": "", + "type": "LiquidationPrice", + "longType": "LiquidationPrice", + "fullType": "datanode.api.v2.LiquidationPrice", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "best_case", + "description": "Liquidation price estimate assuming no slippage.", + "label": "", + "type": "LiquidationPrice", + "longType": "LiquidationPrice", + "fullType": "datanode.api.v2.LiquidationPrice", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidationPrice", + "longName": "LiquidationPrice", + "fullName": "datanode.api.v2.LiquidationPrice", + "description": "Liquidation price estimate for either only the current open volume and position given some or all buy orders get filled, or position given some or all sell orders get filled.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "open_volume_only", + "description": "Liquidation price for current open volume ignoring any active orders.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "including_buy_orders", + "description": "Liquidation price assuming buy orders start getting filled.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "including_sell_orders", + "description": "Liquidation price assuming sell orders start getting filled.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityProvider", + "longName": "LiquidityProvider", + "fullName": "datanode.api.v2.LiquidityProvider", + "description": "Liquidity provider information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Party ID of the liquidity provider.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "ID of the market the liquidity provider is active in.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "fee_share", + "description": "Information used for calculating an LP's fee share, such as the equity like share,\naverage entry valuation and liquidity score for the liquidity provider for the specified market.", + "label": "", + "type": "LiquidityProviderFeeShare", + "longType": "vega.LiquidityProviderFeeShare", + "fullType": "vega.LiquidityProviderFeeShare", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityProviderConnection", + "longName": "LiquidityProviderConnection", + "fullName": "datanode.api.v2.LiquidityProviderConnection", + "description": "Page of liquidity provider data and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of liquidity provider data.", + "label": "repeated", + "type": "LiquidityProviderEdge", + "longType": "LiquidityProviderEdge", + "fullType": "datanode.api.v2.LiquidityProviderEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityProviderEdge", + "longName": "LiquidityProviderEdge", + "fullName": "datanode.api.v2.LiquidityProviderEdge", + "description": "Liquidity provider data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Liquidity provider information returned by the API.", + "label": "", + "type": "LiquidityProvider", + "longType": "LiquidityProvider", + "fullType": "datanode.api.v2.LiquidityProvider", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further data.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityProvisionsConnection", + "longName": "LiquidityProvisionsConnection", + "fullName": "datanode.api.v2.LiquidityProvisionsConnection", + "description": "Page of liquidity provisions data and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of liquidity provisions data and their corresponding cursors.", + "label": "repeated", + "type": "LiquidityProvisionsEdge", + "longType": "LiquidityProvisionsEdge", + "fullType": "datanode.api.v2.LiquidityProvisionsEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityProvisionsEdge", + "longName": "LiquidityProvisionsEdge", + "fullName": "datanode.api.v2.LiquidityProvisionsEdge", + "description": "Liquidity provision data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data corresponding to a liquidity provider's commitment.", + "label": "", + "type": "LiquidityProvision", + "longType": "vega.LiquidityProvision", + "fullType": "vega.LiquidityProvision", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListAccountsRequest", + "longName": "ListAccountsRequest", + "fullName": "datanode.api.v2.ListAccountsRequest", + "description": "Request that is sent when listing accounts.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "filter", + "description": "Account filter contains all filter conditions and values that can be applied to the listing.", + "label": "", + "type": "AccountFilter", + "longType": "AccountFilter", + "fullType": "datanode.api.v2.AccountFilter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Optional pagination control.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListAccountsResponse", + "longName": "ListAccountsResponse", + "fullName": "datanode.api.v2.ListAccountsResponse", + "description": "Response that is received from listing accounts query.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "accounts", + "description": "Page of accounts data and corresponding page information.", + "label": "", + "type": "AccountsConnection", + "longType": "AccountsConnection", + "fullType": "datanode.api.v2.AccountsConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListAllNetworkHistorySegmentsRequest", + "longName": "ListAllNetworkHistorySegmentsRequest", + "fullName": "datanode.api.v2.ListAllNetworkHistorySegmentsRequest", + "description": "Request to list all the nodes history segments", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "ListAllNetworkHistorySegmentsResponse", + "longName": "ListAllNetworkHistorySegmentsResponse", + "fullName": "datanode.api.v2.ListAllNetworkHistorySegmentsResponse", + "description": "Response with a list of all the nodes history segments", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "segments", + "description": "Page of history segments data and corresponding page information.", + "label": "repeated", + "type": "HistorySegment", + "longType": "HistorySegment", + "fullType": "datanode.api.v2.HistorySegment", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListAllPositionsRequest", + "longName": "ListAllPositionsRequest", + "fullName": "datanode.api.v2.ListAllPositionsRequest", + "description": "Request to list positions, given the position filter is supplied.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "filter", + "description": "Filter to apply to the positions.", + "label": "", + "type": "PositionsFilter", + "longType": "PositionsFilter", + "fullType": "datanode.api.v2.PositionsFilter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination controls.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListAllPositionsResponse", + "longName": "ListAllPositionsResponse", + "fullName": "datanode.api.v2.ListAllPositionsResponse", + "description": "Response to query for listing of positions, given the filter is supplied", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "positions", + "description": "Page of positions data and corresponding page information.", + "label": "", + "type": "PositionConnection", + "longType": "PositionConnection", + "fullType": "datanode.api.v2.PositionConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListAssetsRequest", + "longName": "ListAssetsRequest", + "fullName": "datanode.api.v2.ListAssetsRequest", + "description": "Request for listing assets data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "asset_id", + "description": "Optional asset ID to list data for.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_asset_id", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Optional pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListAssetsResponse", + "longName": "ListAssetsResponse", + "fullName": "datanode.api.v2.ListAssetsResponse", + "description": "Response from listing assets", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "assets", + "description": "Page of assets data and corresponding page information.", + "label": "", + "type": "AssetsConnection", + "longType": "AssetsConnection", + "fullType": "datanode.api.v2.AssetsConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListBalanceChangesRequest", + "longName": "ListBalanceChangesRequest", + "fullName": "datanode.api.v2.ListBalanceChangesRequest", + "description": "Request to use when querying balances changes.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "filter", + "description": "Limit the accounts considered according to the filter supplied.", + "label": "", + "type": "AccountFilter", + "longType": "AccountFilter", + "fullType": "datanode.api.v2.AccountFilter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination controls.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + }, + { + "name": "date_range", + "description": "Date range over which to query.", + "label": "optional", + "type": "DateRange", + "longType": "DateRange", + "fullType": "datanode.api.v2.DateRange", + "ismap": false, + "isoneof": true, + "oneofdecl": "_date_range", + "defaultValue": "" + } + ] + }, + { + "name": "ListBalanceChangesResponse", + "longName": "ListBalanceChangesResponse", + "fullName": "datanode.api.v2.ListBalanceChangesResponse", + "description": "Response that is received from querying balances changes.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "balances", + "description": "Page of aggregated balances data and corresponding page information.", + "label": "", + "type": "AggregatedBalanceConnection", + "longType": "AggregatedBalanceConnection", + "fullType": "datanode.api.v2.AggregatedBalanceConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListCandleDataRequest", + "longName": "ListCandleDataRequest", + "fullName": "datanode.api.v2.ListCandleDataRequest", + "description": "Request that is used when listing candles for a market at an interval", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "candle_id", + "description": "Candle ID to retrieve candle data for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "from_timestamp", + "description": "Timestamp in Unix nanoseconds to retrieve candles from.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "to_timestamp", + "description": "Timestamp in Unix nanoseconds to retrieve candles to.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination controls.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListCandleDataResponse", + "longName": "ListCandleDataResponse", + "fullName": "datanode.api.v2.ListCandleDataResponse", + "description": "Response for list of candles for a market at an interval", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "candles", + "description": "Page of candle data and corresponding page information.", + "label": "", + "type": "CandleDataConnection", + "longType": "CandleDataConnection", + "fullType": "datanode.api.v2.CandleDataConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListCandleIntervalsRequest", + "longName": "ListCandleIntervalsRequest", + "fullName": "datanode.api.v2.ListCandleIntervalsRequest", + "description": "Request that is used to fetch a list of supported intervals for the given market along with the corresponding candle ID", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Unique ID for the market to list candle intervals for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListCandleIntervalsResponse", + "longName": "ListCandleIntervalsResponse", + "fullName": "datanode.api.v2.ListCandleIntervalsResponse", + "description": "List of mapped pairs `interval` -\u003e `candle ID` for a given market", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "interval_to_candle_id", + "description": "List of the mappings.", + "label": "repeated", + "type": "IntervalToCandleId", + "longType": "IntervalToCandleId", + "fullType": "datanode.api.v2.IntervalToCandleId", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListCheckpointsRequest", + "longName": "ListCheckpointsRequest", + "fullName": "datanode.api.v2.ListCheckpointsRequest", + "description": "Request to get all checkpoints. Currently no fields, probably will be expanded to allow filtering data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "pagination", + "description": "Optional pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListCheckpointsResponse", + "longName": "ListCheckpointsResponse", + "fullName": "datanode.api.v2.ListCheckpointsResponse", + "description": "Response message containing all checkpoints requested", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "checkpoints", + "description": "Page of checkpoints data and corresponding page information.", + "label": "", + "type": "CheckpointsConnection", + "longType": "CheckpointsConnection", + "fullType": "datanode.api.v2.CheckpointsConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListCoreSnapshotsRequest", + "longName": "ListCoreSnapshotsRequest", + "fullName": "datanode.api.v2.ListCoreSnapshotsRequest", + "description": "Request type for ListCoreSnapshots; fetches a paginated list of the core snapshots.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "pagination", + "description": "Optional pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListCoreSnapshotsResponse", + "longName": "ListCoreSnapshotsResponse", + "fullName": "datanode.api.v2.ListCoreSnapshotsResponse", + "description": "Response from a ListCoreSnapshots RPC call; a paginated list of the core snapshots.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "core_snapshots", + "description": "Page of core snapshot data and corresponding page information.", + "label": "", + "type": "CoreSnapshotConnection", + "longType": "CoreSnapshotConnection", + "fullType": "datanode.api.v2.CoreSnapshotConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListDelegationsRequest", + "longName": "ListDelegationsRequest", + "fullName": "datanode.api.v2.ListDelegationsRequest", + "description": "Request for listing delegations", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Restrict delegations to those made by the given party ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_party_id", + "defaultValue": "" + }, + { + "name": "node_id", + "description": "Restrict delegations to those made to the given node ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_node_id", + "defaultValue": "" + }, + { + "name": "epoch_id", + "description": "Return delegations made in the given epoch. If not set, delegations for the current epoch will be returned.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_epoch_id", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListDelegationsResponse", + "longName": "ListDelegationsResponse", + "fullName": "datanode.api.v2.ListDelegationsResponse", + "description": "Response from listing delegations", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "delegations", + "description": "Page of delegations data and corresponding page information.", + "label": "", + "type": "DelegationsConnection", + "longType": "DelegationsConnection", + "fullType": "datanode.api.v2.DelegationsConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListDepositsRequest", + "longName": "ListDepositsRequest", + "fullName": "datanode.api.v2.ListDepositsRequest", + "description": "Request to list all deposits for a given party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Restrict deposits to those made by the given party ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + }, + { + "name": "date_range", + "description": "Date range of the requested data, if provided.", + "label": "optional", + "type": "DateRange", + "longType": "DateRange", + "fullType": "datanode.api.v2.DateRange", + "ismap": false, + "isoneof": true, + "oneofdecl": "_date_range", + "defaultValue": "" + } + ] + }, + { + "name": "ListDepositsResponse", + "longName": "ListDepositsResponse", + "fullName": "datanode.api.v2.ListDepositsResponse", + "description": "Response from listing deposits", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "deposits", + "description": "Page of deposits data and corresponding page information.", + "label": "", + "type": "DepositsConnection", + "longType": "DepositsConnection", + "fullType": "datanode.api.v2.DepositsConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListERC20MultiSigSignerAddedBundlesRequest", + "longName": "ListERC20MultiSigSignerAddedBundlesRequest", + "fullName": "datanode.api.v2.ListERC20MultiSigSignerAddedBundlesRequest", + "description": "Request for adding a signature bundle to the signer list of a multisig contract for a particular validator", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node_id", + "description": "Node ID of the validator for which a signature bundle is required.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "submitter", + "description": "Ethereum address of the validator that will submit the bundle.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "Epoch in which the bundle was generated, i.e. the epoch in which the node was promoted to consensus validator.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination controls.", + "label": "", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListERC20MultiSigSignerAddedBundlesResponse", + "longName": "ListERC20MultiSigSignerAddedBundlesResponse", + "fullName": "datanode.api.v2.ListERC20MultiSigSignerAddedBundlesResponse", + "description": "Response from adding a signature bundle to the signer list of a multisig contract for a particular validator", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bundles", + "description": "Page of bundles for that validator - it may have been added multiple times if removed in between - and corresponding page information.", + "label": "", + "type": "ERC20MultiSigSignerAddedConnection", + "longType": "ERC20MultiSigSignerAddedConnection", + "fullType": "datanode.api.v2.ERC20MultiSigSignerAddedConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListERC20MultiSigSignerRemovedBundlesRequest", + "longName": "ListERC20MultiSigSignerRemovedBundlesRequest", + "fullName": "datanode.api.v2.ListERC20MultiSigSignerRemovedBundlesRequest", + "description": "Request for removing a signature bundle from the signer list of the multisig contract for a particular validator", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node_id", + "description": "Node ID of the validator of which a signature bundle is required.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "submitter", + "description": "Ethereum address of the validator that will submit the bundle.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "Epoch in which the bundle was generated, i.e. the epoch in which the node was demoted from a consensus validator.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination controls.", + "label": "", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListERC20MultiSigSignerRemovedBundlesResponse", + "longName": "ListERC20MultiSigSignerRemovedBundlesResponse", + "fullName": "datanode.api.v2.ListERC20MultiSigSignerRemovedBundlesResponse", + "description": "Response when removing a signature bundle from the signer list of the multisig contract for a particular validator", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bundles", + "description": "Page of signer bundle data items for that validator and corresponding page information.", + "label": "", + "type": "ERC20MultiSigSignerRemovedConnection", + "longType": "ERC20MultiSigSignerRemovedConnection", + "fullType": "datanode.api.v2.ERC20MultiSigSignerRemovedConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListEntitiesRequest", + "longName": "ListEntitiesRequest", + "fullName": "datanode.api.v2.ListEntitiesRequest", + "description": "Request to list all entities that were created by the given transaction hash", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "transaction_hash", + "description": "Transaction hash to match against", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListEntitiesResponse", + "longName": "ListEntitiesResponse", + "fullName": "datanode.api.v2.ListEntitiesResponse", + "description": "Response from listing entities that were created for a given transaction hash", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "accounts", + "description": "", + "label": "repeated", + "type": "Account", + "longType": "vega.Account", + "fullType": "vega.Account", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "orders", + "description": "", + "label": "repeated", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "positions", + "description": "", + "label": "repeated", + "type": "Position", + "longType": "vega.Position", + "fullType": "vega.Position", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ledger_entries", + "description": "", + "label": "repeated", + "type": "LedgerEntry", + "longType": "vega.LedgerEntry", + "fullType": "vega.LedgerEntry", + "ismap": true, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "balance_changes", + "description": "", + "label": "repeated", + "type": "AccountBalance", + "longType": "AccountBalance", + "fullType": "datanode.api.v2.AccountBalance", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "transfers", + "description": "", + "label": "repeated", + "type": "Transfer", + "longType": "vega.events.v1.Transfer", + "fullType": "vega.events.v1.Transfer", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "votes", + "description": "", + "label": "repeated", + "type": "Vote", + "longType": "vega.Vote", + "fullType": "vega.Vote", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "erc20_multi_sig_signer_added_bundles", + "description": "", + "label": "repeated", + "type": "ERC20MultiSigSignerAddedBundle", + "longType": "ERC20MultiSigSignerAddedBundle", + "fullType": "datanode.api.v2.ERC20MultiSigSignerAddedBundle", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "erc20_multi_sig_signer_removed_bundles", + "description": "", + "label": "repeated", + "type": "ERC20MultiSigSignerRemovedBundle", + "longType": "ERC20MultiSigSignerRemovedBundle", + "fullType": "datanode.api.v2.ERC20MultiSigSignerRemovedBundle", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trades", + "description": "", + "label": "repeated", + "type": "Trade", + "longType": "vega.Trade", + "fullType": "vega.Trade", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "oracle_specs", + "description": "", + "label": "repeated", + "type": "OracleSpec", + "longType": "vega.OracleSpec", + "fullType": "vega.OracleSpec", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "oracle_data", + "description": "", + "label": "repeated", + "type": "OracleData", + "longType": "vega.OracleData", + "fullType": "vega.OracleData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "markets", + "description": "", + "label": "repeated", + "type": "Market", + "longType": "vega.Market", + "fullType": "vega.Market", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "parties", + "description": "", + "label": "repeated", + "type": "Party", + "longType": "vega.Party", + "fullType": "vega.Party", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "margin_levels", + "description": "", + "label": "repeated", + "type": "MarginLevels", + "longType": "vega.MarginLevels", + "fullType": "vega.MarginLevels", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "rewards", + "description": "", + "label": "repeated", + "type": "Reward", + "longType": "vega.Reward", + "fullType": "vega.Reward", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "deposits", + "description": "", + "label": "repeated", + "type": "Deposit", + "longType": "vega.Deposit", + "fullType": "vega.Deposit", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "withdrawals", + "description": "", + "label": "repeated", + "type": "Withdrawal", + "longType": "vega.Withdrawal", + "fullType": "vega.Withdrawal", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "assets", + "description": "", + "label": "repeated", + "type": "Asset", + "longType": "vega.Asset", + "fullType": "vega.Asset", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "liquidity_provisions", + "description": "", + "label": "repeated", + "type": "LiquidityProvision", + "longType": "vega.LiquidityProvision", + "fullType": "vega.LiquidityProvision", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "proposals", + "description": "", + "label": "repeated", + "type": "Proposal", + "longType": "vega.Proposal", + "fullType": "vega.Proposal", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "delegations", + "description": "", + "label": "repeated", + "type": "Delegation", + "longType": "vega.Delegation", + "fullType": "vega.Delegation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nodes", + "description": "", + "label": "repeated", + "type": "NodeBasic", + "longType": "NodeBasic", + "fullType": "datanode.api.v2.NodeBasic", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "node_signatures", + "description": "", + "label": "repeated", + "type": "NodeSignature", + "longType": "vega.commands.v1.NodeSignature", + "fullType": "vega.commands.v1.NodeSignature", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "network_parameters", + "description": "", + "label": "repeated", + "type": "NetworkParameter", + "longType": "vega.NetworkParameter", + "fullType": "vega.NetworkParameter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "key_rotations", + "description": "", + "label": "repeated", + "type": "KeyRotation", + "longType": "vega.events.v1.KeyRotation", + "fullType": "vega.events.v1.KeyRotation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ethereum_key_rotations", + "description": "", + "label": "repeated", + "type": "EthereumKeyRotation", + "longType": "vega.events.v1.EthereumKeyRotation", + "fullType": "vega.events.v1.EthereumKeyRotation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "protocol_upgrade_proposals", + "description": "", + "label": "repeated", + "type": "ProtocolUpgradeEvent", + "longType": "vega.events.v1.ProtocolUpgradeEvent", + "fullType": "vega.events.v1.ProtocolUpgradeEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListEpochRewardSummariesRequest", + "longName": "ListEpochRewardSummariesRequest", + "fullName": "datanode.api.v2.ListEpochRewardSummariesRequest", + "description": "Request to get summary of reward per epoch for a given range of epochs", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "filter", + "description": "Limit the results considered according to the filter supplied.", + "label": "", + "type": "RewardSummaryFilter", + "longType": "RewardSummaryFilter", + "fullType": "datanode.api.v2.RewardSummaryFilter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Optional pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListEpochRewardSummariesResponse", + "longName": "ListEpochRewardSummariesResponse", + "fullName": "datanode.api.v2.ListEpochRewardSummariesResponse", + "description": "Return message with reward details in for a single party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "summaries", + "description": "Page of rewards details for a single party and corresponding page information.", + "label": "", + "type": "EpochRewardSummaryConnection", + "longType": "EpochRewardSummaryConnection", + "fullType": "datanode.api.v2.EpochRewardSummaryConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListEthereumKeyRotationsRequest", + "longName": "ListEthereumKeyRotationsRequest", + "fullName": "datanode.api.v2.ListEthereumKeyRotationsRequest", + "description": "Request to list ethereum key rotations for nodes, optionally filtered by node", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "node_id", + "description": "Node ID to get the rotation for, if provided.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_node_id", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Optional pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListEthereumKeyRotationsResponse", + "longName": "ListEthereumKeyRotationsResponse", + "fullName": "datanode.api.v2.ListEthereumKeyRotationsResponse", + "description": "Response message containing Ethereum key rotations", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key_rotations", + "description": "Page of Ethereum key rotations data and corresponding page information.", + "label": "", + "type": "EthereumKeyRotationsConnection", + "longType": "EthereumKeyRotationsConnection", + "fullType": "datanode.api.v2.EthereumKeyRotationsConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListGovernanceDataRequest", + "longName": "ListGovernanceDataRequest", + "fullName": "datanode.api.v2.ListGovernanceDataRequest", + "description": "Request to list governance data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "proposal_state", + "description": "Restrict proposals to those with the given state.", + "label": "optional", + "type": "State", + "longType": "vega.Proposal.State", + "fullType": "vega.Proposal.State", + "ismap": false, + "isoneof": true, + "oneofdecl": "_proposal_state", + "defaultValue": "" + }, + { + "name": "proposal_type", + "description": "Restrict proposals to those with the given type.", + "label": "optional", + "type": "Type", + "longType": "ListGovernanceDataRequest.Type", + "fullType": "datanode.api.v2.ListGovernanceDataRequest.Type", + "ismap": false, + "isoneof": true, + "oneofdecl": "_proposal_type", + "defaultValue": "" + }, + { + "name": "proposer_party_id", + "description": "Restrict proposals to those proposed by the given party ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_proposer_party_id", + "defaultValue": "" + }, + { + "name": "proposal_reference", + "description": "Restrict proposals to those with the given reference.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_proposal_reference", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination controls.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListGovernanceDataResponse", + "longName": "ListGovernanceDataResponse", + "fullName": "datanode.api.v2.ListGovernanceDataResponse", + "description": "Response from listing governance data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "connection", + "description": "Page of governance data and corresponding page information.", + "label": "", + "type": "GovernanceDataConnection", + "longType": "GovernanceDataConnection", + "fullType": "datanode.api.v2.GovernanceDataConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListKeyRotationsRequest", + "longName": "ListKeyRotationsRequest", + "fullName": "datanode.api.v2.ListKeyRotationsRequest", + "description": "Request to list all key rotations", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "node_id", + "description": "Node ID to get key rotations for, if provided.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_node_id", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Optional pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListKeyRotationsResponse", + "longName": "ListKeyRotationsResponse", + "fullName": "datanode.api.v2.ListKeyRotationsResponse", + "description": "Response message containing Vega key rotations", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "rotations", + "description": "Page of key rotations data and corresponding page information.", + "label": "", + "type": "KeyRotationConnection", + "longType": "KeyRotationConnection", + "fullType": "datanode.api.v2.KeyRotationConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListLatestMarketDataRequest", + "longName": "ListLatestMarketDataRequest", + "fullName": "datanode.api.v2.ListLatestMarketDataRequest", + "description": "Request that is sent when listing the latest market data for every market", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "ListLatestMarketDataResponse", + "longName": "ListLatestMarketDataResponse", + "fullName": "datanode.api.v2.ListLatestMarketDataResponse", + "description": "Response that is received when listing the latest market data for every market", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "markets_data", + "description": "", + "label": "repeated", + "type": "MarketData", + "longType": "vega.MarketData", + "fullType": "vega.MarketData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListLedgerEntriesRequest", + "longName": "ListLedgerEntriesRequest", + "fullName": "datanode.api.v2.ListLedgerEntriesRequest", + "description": "Request that is sent when listing ledger entries", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "filter", + "description": "'LedgerEntryFilter' that contains all values and conditions according to which\nthe listing of ledger entries is filtered.", + "label": "", + "type": "LedgerEntryFilter", + "longType": "LedgerEntryFilter", + "fullType": "datanode.api.v2.LedgerEntryFilter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Optional pagination control.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + }, + { + "name": "date_range", + "description": "Date range for which to list ledger entries.", + "label": "optional", + "type": "DateRange", + "longType": "DateRange", + "fullType": "datanode.api.v2.DateRange", + "ismap": false, + "isoneof": true, + "oneofdecl": "_date_range", + "defaultValue": "" + } + ] + }, + { + "name": "ListLedgerEntriesResponse", + "longName": "ListLedgerEntriesResponse", + "fullName": "datanode.api.v2.ListLedgerEntriesResponse", + "description": "Response that is received when listing ledger entries", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "ledger_entries", + "description": "Page of aggregated ledger entries data and corresponding page information.", + "label": "", + "type": "AggregatedLedgerEntriesConnection", + "longType": "AggregatedLedgerEntriesConnection", + "fullType": "datanode.api.v2.AggregatedLedgerEntriesConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListLiquidityProvidersRequest", + "longName": "ListLiquidityProvidersRequest", + "fullName": "datanode.api.v2.ListLiquidityProvidersRequest", + "description": "Request for listing active liquidity providers for a given market.\nEither market ID or party ID or both, must be provided.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID to retrieve liquidity providers for", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_market_id", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID to retrieve data for", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_party_id", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination controls.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListLiquidityProvidersResponse", + "longName": "ListLiquidityProvidersResponse", + "fullName": "datanode.api.v2.ListLiquidityProvidersResponse", + "description": "Response for listing liquidity providers.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "liquidity_providers", + "description": "Page of liquidity providers and corresponding page information.", + "label": "", + "type": "LiquidityProviderConnection", + "longType": "LiquidityProviderConnection", + "fullType": "datanode.api.v2.LiquidityProviderConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListLiquidityProvisionsRequest", + "longName": "ListLiquidityProvisionsRequest", + "fullName": "datanode.api.v2.ListLiquidityProvisionsRequest", + "description": "Request for listing liquidity provisions", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Restrict liquidity provision orders to those placed on the given market.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_market_id", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Restrict liquidity provision orders to those placed by the given party.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_party_id", + "defaultValue": "" + }, + { + "name": "reference", + "description": "Restrict liquidity provision orders to those with the given order reference.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_reference", + "defaultValue": "" + }, + { + "name": "live", + "description": "Whether to include live liquidity provision orders. If not set, live orders will not be included.", + "label": "optional", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": true, + "oneofdecl": "_live", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination controls.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListLiquidityProvisionsResponse", + "longName": "ListLiquidityProvisionsResponse", + "fullName": "datanode.api.v2.ListLiquidityProvisionsResponse", + "description": "Response from listing liquidity provisions", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "liquidity_provisions", + "description": "Page of liquidity provisions data and corresponding page information.", + "label": "", + "type": "LiquidityProvisionsConnection", + "longType": "LiquidityProvisionsConnection", + "fullType": "datanode.api.v2.LiquidityProvisionsConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListMarginLevelsRequest", + "longName": "ListMarginLevelsRequest", + "fullName": "datanode.api.v2.ListMarginLevelsRequest", + "description": "Request for listing margin levels", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Party ID for which to list the margin levels", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID for which to list the margin levels", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination control", + "label": "", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListMarginLevelsResponse", + "longName": "ListMarginLevelsResponse", + "fullName": "datanode.api.v2.ListMarginLevelsResponse", + "description": "Response from listing margin levels", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "margin_levels", + "description": "Page of margin levels data and corresponding page information.", + "label": "", + "type": "MarginConnection", + "longType": "MarginConnection", + "fullType": "datanode.api.v2.MarginConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListMarketsRequest", + "longName": "ListMarketsRequest", + "fullName": "datanode.api.v2.ListMarketsRequest", + "description": "Request for listing markets", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "pagination", + "description": "Pagination control.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + }, + { + "name": "include_settled", + "description": "Whether to include settled markets. If not set, settled markets will be included.", + "label": "optional", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": true, + "oneofdecl": "_include_settled", + "defaultValue": "" + } + ] + }, + { + "name": "ListMarketsResponse", + "longName": "ListMarketsResponse", + "fullName": "datanode.api.v2.ListMarketsResponse", + "description": "Response from listing markets", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "markets", + "description": "Page of markets and corresponding page information.", + "label": "", + "type": "MarketConnection", + "longType": "MarketConnection", + "fullType": "datanode.api.v2.MarketConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListNetworkParametersRequest", + "longName": "ListNetworkParametersRequest", + "fullName": "datanode.api.v2.ListNetworkParametersRequest", + "description": "Message requesting for the list of all network parameters", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "pagination", + "description": "Optional pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListNetworkParametersResponse", + "longName": "ListNetworkParametersResponse", + "fullName": "datanode.api.v2.ListNetworkParametersResponse", + "description": "Response containing all of the Vega network parameters", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "network_parameters", + "description": "Page of network parameters and corresponding page information.", + "label": "", + "type": "NetworkParameterConnection", + "longType": "NetworkParameterConnection", + "fullType": "datanode.api.v2.NetworkParameterConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListNodeSignaturesRequest", + "longName": "ListNodeSignaturesRequest", + "fullName": "datanode.api.v2.ListNodeSignaturesRequest", + "description": "Request to specify the ID of the resource to retrieve aggregated signatures for", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Resource ID to list signatures for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Optional pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListNodeSignaturesResponse", + "longName": "ListNodeSignaturesResponse", + "fullName": "datanode.api.v2.ListNodeSignaturesResponse", + "description": "Response to specify the ID of the resource to retrieve aggregated signatures for", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "signatures", + "description": "Page of nodes signatures and corresponding page information.", + "label": "", + "type": "NodeSignaturesConnection", + "longType": "NodeSignaturesConnection", + "fullType": "datanode.api.v2.NodeSignaturesConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListNodesRequest", + "longName": "ListNodesRequest", + "fullName": "datanode.api.v2.ListNodesRequest", + "description": "Request to list nodes", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "epoch_seq", + "description": "Return the node list for the given epoch. If not set, the node list for the current epoch will be returned.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_epoch_seq", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListNodesResponse", + "longName": "ListNodesResponse", + "fullName": "datanode.api.v2.ListNodesResponse", + "description": "Response from listing nodes", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "nodes", + "description": "Page of node data and corresponding page information.", + "label": "", + "type": "NodesConnection", + "longType": "NodesConnection", + "fullType": "datanode.api.v2.NodesConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListOracleDataRequest", + "longName": "ListOracleDataRequest", + "fullName": "datanode.api.v2.ListOracleDataRequest", + "description": "Request to get all seen oracle data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "oracle_spec_id", + "description": "Oracle spec ID to list data for.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_oracle_spec_id", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination controls.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListOracleDataResponse", + "longName": "ListOracleDataResponse", + "fullName": "datanode.api.v2.ListOracleDataResponse", + "description": "Response to get all seen oracle data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "oracle_data", + "description": "Page of seen oracle data and corresponding page information.", + "label": "", + "type": "OracleDataConnection", + "longType": "OracleDataConnection", + "fullType": "datanode.api.v2.OracleDataConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListOracleSpecsRequest", + "longName": "ListOracleSpecsRequest", + "fullName": "datanode.api.v2.ListOracleSpecsRequest", + "description": "Request to get all active oracle specs", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "pagination", + "description": "Pagination controls.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListOracleSpecsResponse", + "longName": "ListOracleSpecsResponse", + "fullName": "datanode.api.v2.ListOracleSpecsResponse", + "description": "Response to get all active oracle specs", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "oracle_specs", + "description": "Page of active oracle specs and corresponding page information.", + "label": "", + "type": "OracleSpecsConnection", + "longType": "OracleSpecsConnection", + "fullType": "datanode.api.v2.OracleSpecsConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListOrderVersionsRequest", + "longName": "ListOrderVersionsRequest", + "fullName": "datanode.api.v2.ListOrderVersionsRequest", + "description": "Request that is sent when listing possible order versions", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "order_id", + "description": "Order ID to list versions for.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Optional pagination control.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListOrderVersionsResponse", + "longName": "ListOrderVersionsResponse", + "fullName": "datanode.api.v2.ListOrderVersionsResponse", + "description": "Response that is received when listing possible order versions", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "orders", + "description": "Page of order versions and corresponding page information.", + "label": "", + "type": "OrderConnection", + "longType": "OrderConnection", + "fullType": "datanode.api.v2.OrderConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListOrdersRequest", + "longName": "ListOrdersRequest", + "fullName": "datanode.api.v2.ListOrdersRequest", + "description": "Request that is sent when executing a query for a list of orders", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "pagination", + "description": "Optional pagination control.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + }, + { + "name": "filter", + "description": "Order filter contains all filtering conditions and values that are applied to the orders listing.", + "label": "optional", + "type": "OrderFilter", + "longType": "OrderFilter", + "fullType": "datanode.api.v2.OrderFilter", + "ismap": false, + "isoneof": true, + "oneofdecl": "_filter", + "defaultValue": "" + } + ] + }, + { + "name": "ListOrdersResponse", + "longName": "ListOrdersResponse", + "fullName": "datanode.api.v2.ListOrdersResponse", + "description": "Response that is received from the query to list orders", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "orders", + "description": "Page of orders data and corresponding page information.", + "label": "", + "type": "OrderConnection", + "longType": "OrderConnection", + "fullType": "datanode.api.v2.OrderConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListPartiesRequest", + "longName": "ListPartiesRequest", + "fullName": "datanode.api.v2.ListPartiesRequest", + "description": "Request to list parties by ID", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Restrict the returned party to only the given party ID. If not set, all parties will be returned.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination control.", + "label": "", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListPartiesResponse", + "longName": "ListPartiesResponse", + "fullName": "datanode.api.v2.ListPartiesResponse", + "description": "Response from listing parties", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "parties", + "description": "Page of parties data and corresponding page information.", + "label": "", + "type": "PartyConnection", + "longType": "PartyConnection", + "fullType": "datanode.api.v2.PartyConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListPositionsRequest", + "longName": "ListPositionsRequest", + "fullName": "datanode.api.v2.ListPositionsRequest", + "description": "Request used to list all positions for a party.\nOptionally, if a market ID is set, the results will be filtered for that market only.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Party ID to list positions for, required field.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID to filter for. If empty, no markets will be filtered.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination controls.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ], + "options": { + "deprecated": true + } + }, + { + "name": "ListPositionsResponse", + "longName": "ListPositionsResponse", + "fullName": "datanode.api.v2.ListPositionsResponse", + "description": "Response for a list of positions for a party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "positions", + "description": "Page of positions data and corresponding page information.", + "label": "", + "type": "PositionConnection", + "longType": "PositionConnection", + "fullType": "datanode.api.v2.PositionConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ], + "options": { + "deprecated": true + } + }, + { + "name": "ListProtocolUpgradeProposalsRequest", + "longName": "ListProtocolUpgradeProposalsRequest", + "fullName": "datanode.api.v2.ListProtocolUpgradeProposalsRequest", + "description": "Request type for ListProtocolUpgradeProposals; fetches a paginated list of protocol upgrade proposals", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "status", + "description": "Restrict protocol upgrade proposals to those with the given status.", + "label": "optional", + "type": "ProtocolUpgradeProposalStatus", + "longType": "vega.events.v1.ProtocolUpgradeProposalStatus", + "fullType": "vega.events.v1.ProtocolUpgradeProposalStatus", + "ismap": false, + "isoneof": true, + "oneofdecl": "_status", + "defaultValue": "" + }, + { + "name": "approved_by", + "description": "Restrict protocol upgrade proposals to those approved by the given node ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_approved_by", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListProtocolUpgradeProposalsResponse", + "longName": "ListProtocolUpgradeProposalsResponse", + "fullName": "datanode.api.v2.ListProtocolUpgradeProposalsResponse", + "description": "Response type from a ListProtocolUpgradeProposals RPC call; a paginated list of protocol upgrade proposals", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "protocol_upgrade_proposals", + "description": "Page of protocol upgrade proposals and corresponding page information.", + "label": "", + "type": "ProtocolUpgradeProposalConnection", + "longType": "ProtocolUpgradeProposalConnection", + "fullType": "datanode.api.v2.ProtocolUpgradeProposalConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListRewardSummariesRequest", + "longName": "ListRewardSummariesRequest", + "fullName": "datanode.api.v2.ListRewardSummariesRequest", + "description": "Request to get reward details for a party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Restrict the reward summary to rewards paid to the given parties.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_party_id", + "defaultValue": "" + }, + { + "name": "asset_id", + "description": "Restrict the reward summary to rewards paid in the given assets.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_asset_id", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination controls.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListRewardSummariesResponse", + "longName": "ListRewardSummariesResponse", + "fullName": "datanode.api.v2.ListRewardSummariesResponse", + "description": "Response from listing reward details in for a single party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "summaries", + "description": "Page of rewards details data and corresponding page information.", + "label": "repeated", + "type": "RewardSummary", + "longType": "vega.RewardSummary", + "fullType": "vega.RewardSummary", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListRewardsRequest", + "longName": "ListRewardsRequest", + "fullName": "datanode.api.v2.ListRewardsRequest", + "description": "Request to get reward details for a party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Restrict rewards data to those that were received by the given party.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset_id", + "description": "Restrict rewards data to those that were paid with the given asset ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_asset_id", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination control.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + }, + { + "name": "from_epoch", + "description": "Restrict rewards data to those that were paid after and including the given epoch ID.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_from_epoch", + "defaultValue": "" + }, + { + "name": "to_epoch", + "description": "Restrict rewards data to those that were paid up to and including the given epoch ID.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_to_epoch", + "defaultValue": "" + } + ] + }, + { + "name": "ListRewardsResponse", + "longName": "ListRewardsResponse", + "fullName": "datanode.api.v2.ListRewardsResponse", + "description": "Response for listing reward details for a single party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "rewards", + "description": "Page of rewards data and corresponding page information.", + "label": "", + "type": "RewardsConnection", + "longType": "RewardsConnection", + "fullType": "datanode.api.v2.RewardsConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListStopOrdersRequest", + "longName": "ListStopOrdersRequest", + "fullName": "datanode.api.v2.ListStopOrdersRequest", + "description": "Request that is sent when executing a query for a list of stop orders.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "pagination", + "description": "Optional pagination control.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + }, + { + "name": "filter", + "description": "Order filter contains all filtering conditions and values that are applied to the orders listing.", + "label": "optional", + "type": "StopOrderFilter", + "longType": "StopOrderFilter", + "fullType": "datanode.api.v2.StopOrderFilter", + "ismap": false, + "isoneof": true, + "oneofdecl": "_filter", + "defaultValue": "" + } + ] + }, + { + "name": "ListStopOrdersResponse", + "longName": "ListStopOrdersResponse", + "fullName": "datanode.api.v2.ListStopOrdersResponse", + "description": "Response that is received from the query to list stop orders.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "orders", + "description": "Page of stop orders data and corresponding page information.", + "label": "", + "type": "StopOrderConnection", + "longType": "StopOrderConnection", + "fullType": "datanode.api.v2.StopOrderConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListSuccessorMarketsRequest", + "longName": "ListSuccessorMarketsRequest", + "fullName": "datanode.api.v2.ListSuccessorMarketsRequest", + "description": "Request for listing successor markets.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID that is a member of the succession line. This can be the original market\nor any subsequent child market that succeeded it.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "include_full_history", + "description": "Flag to indicate whether or not to include the full succession line, or only list\nthe children of the given market ID. If true, the full succession line is included.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination control.", + "label": "", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListSuccessorMarketsResponse", + "longName": "ListSuccessorMarketsResponse", + "fullName": "datanode.api.v2.ListSuccessorMarketsResponse", + "description": "Response from a list successor markets request.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "successor_markets", + "description": "List of markets in the succession line.", + "label": "", + "type": "SuccessorMarketConnection", + "longType": "SuccessorMarketConnection", + "fullType": "datanode.api.v2.SuccessorMarketConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListTradesRequest", + "longName": "ListTradesRequest", + "fullName": "datanode.api.v2.ListTradesRequest", + "description": "Request to list trades", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "market_ids", + "description": "Restrict trades to those that occurred on the given markets.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "order_ids", + "description": "Restrict trades to those that were caused by the given orders.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_ids", + "description": "Restrict trades to those that were caused by orders placed by the given parties.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination control.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + }, + { + "name": "date_range", + "description": "Restrict trades to those made during the given date range. If not set, all trades will be returned.", + "label": "optional", + "type": "DateRange", + "longType": "DateRange", + "fullType": "datanode.api.v2.DateRange", + "ismap": false, + "isoneof": true, + "oneofdecl": "_date_range", + "defaultValue": "" + } + ] + }, + { + "name": "ListTradesResponse", + "longName": "ListTradesResponse", + "fullName": "datanode.api.v2.ListTradesResponse", + "description": "Response from listing trades", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "trades", + "description": "Page of trades data and corresponding page information.", + "label": "", + "type": "TradeConnection", + "longType": "TradeConnection", + "fullType": "datanode.api.v2.TradeConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListTransfersRequest", + "longName": "ListTransfersRequest", + "fullName": "datanode.api.v2.ListTransfersRequest", + "description": "Request that is sent to list transfers", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "pubkey", + "description": "Restrict transfer to those where the given public key is a sender or receiver.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pubkey", + "defaultValue": "" + }, + { + "name": "direction", + "description": "Restrict transfers to those in the given direction from the supplied public key.", + "label": "", + "type": "TransferDirection", + "longType": "TransferDirection", + "fullType": "datanode.api.v2.TransferDirection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Optional pagination control", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListTransfersResponse", + "longName": "ListTransfersResponse", + "fullName": "datanode.api.v2.ListTransfersResponse", + "description": "Response that is received when listing transfers", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "transfers", + "description": "Page of transfers data and corresponding page information.", + "label": "", + "type": "TransferConnection", + "longType": "TransferConnection", + "fullType": "datanode.api.v2.TransferConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListVotesRequest", + "longName": "ListVotesRequest", + "fullName": "datanode.api.v2.ListVotesRequest", + "description": "Request that is used to list governance votes", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Party for which the votes are requested.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_party_id", + "defaultValue": "" + }, + { + "name": "proposal_id", + "description": "Proposal ID to list votes for.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_proposal_id", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Optional pagination control.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + } + ] + }, + { + "name": "ListVotesResponse", + "longName": "ListVotesResponse", + "fullName": "datanode.api.v2.ListVotesResponse", + "description": "Response that is received when listing Votes", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "votes", + "description": "Page of votes data received and corresponding page information.", + "label": "", + "type": "VoteConnection", + "longType": "VoteConnection", + "fullType": "datanode.api.v2.VoteConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListWithdrawalsRequest", + "longName": "ListWithdrawalsRequest", + "fullName": "datanode.api.v2.ListWithdrawalsRequest", + "description": "List all withdrawals for a given party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Restrict withdrawals to those made by this party ID.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pagination", + "description": "Pagination information to limit the data that is returned.", + "label": "optional", + "type": "Pagination", + "longType": "Pagination", + "fullType": "datanode.api.v2.Pagination", + "ismap": false, + "isoneof": true, + "oneofdecl": "_pagination", + "defaultValue": "" + }, + { + "name": "date_range", + "description": "Date range of the requested data, if provided.", + "label": "optional", + "type": "DateRange", + "longType": "DateRange", + "fullType": "datanode.api.v2.DateRange", + "ismap": false, + "isoneof": true, + "oneofdecl": "_date_range", + "defaultValue": "" + } + ] + }, + { + "name": "ListWithdrawalsResponse", + "longName": "ListWithdrawalsResponse", + "fullName": "datanode.api.v2.ListWithdrawalsResponse", + "description": "Response from listing withdrawals data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "withdrawals", + "description": "Page of withdrawals data and corresponding page information.", + "label": "", + "type": "WithdrawalsConnection", + "longType": "WithdrawalsConnection", + "fullType": "datanode.api.v2.WithdrawalsConnection", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarginConnection", + "longName": "MarginConnection", + "fullName": "datanode.api.v2.MarginConnection", + "description": "Page of margins data and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of margins data and their corresponding cursors.", + "label": "repeated", + "type": "MarginEdge", + "longType": "MarginEdge", + "fullType": "datanode.api.v2.MarginEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarginEdge", + "longName": "MarginEdge", + "fullName": "datanode.api.v2.MarginEdge", + "description": "Margin data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Margin levels data that satisfy a list margin levels request.", + "label": "", + "type": "MarginLevels", + "longType": "vega.MarginLevels", + "fullType": "vega.MarginLevels", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarginEstimate", + "longName": "MarginEstimate", + "fullName": "datanode.api.v2.MarginEstimate", + "description": "Margin level estimate for both worst and best case possible.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "worst_case", + "description": "Margin level estimate assuming slippage cap is applied.", + "label": "", + "type": "MarginLevels", + "longType": "vega.MarginLevels", + "fullType": "vega.MarginLevels", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "best_case", + "description": "Margin level estimate assuming no slippage.", + "label": "", + "type": "MarginLevels", + "longType": "vega.MarginLevels", + "fullType": "vega.MarginLevels", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketConnection", + "longName": "MarketConnection", + "fullName": "datanode.api.v2.MarketConnection", + "description": "Page of markets and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of markets and their corresponding cursors.", + "label": "repeated", + "type": "MarketEdge", + "longType": "MarketEdge", + "fullType": "datanode.api.v2.MarketEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketDataConnection", + "longName": "MarketDataConnection", + "fullName": "datanode.api.v2.MarketDataConnection", + "description": "Page of market data items and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of market data items and their corresponding cursors.", + "label": "repeated", + "type": "MarketDataEdge", + "longType": "MarketDataEdge", + "fullType": "datanode.api.v2.MarketDataEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketDataEdge", + "longName": "MarketDataEdge", + "fullName": "datanode.api.v2.MarketDataEdge", + "description": "Market data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data generated by a market when open.", + "label": "", + "type": "MarketData", + "longType": "vega.MarketData", + "fullType": "vega.MarketData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketEdge", + "longName": "MarketEdge", + "fullName": "datanode.api.v2.MarketEdge", + "description": "Market information with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Information about the market.", + "label": "", + "type": "Market", + "longType": "vega.Market", + "fullType": "vega.Market", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NetworkParameterConnection", + "longName": "NetworkParameterConnection", + "fullName": "datanode.api.v2.NetworkParameterConnection", + "description": "Page of network parameters and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of network parameters data and their corresponding cursors.", + "label": "repeated", + "type": "NetworkParameterEdge", + "longType": "NetworkParameterEdge", + "fullType": "datanode.api.v2.NetworkParameterEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NetworkParameterEdge", + "longName": "NetworkParameterEdge", + "fullName": "datanode.api.v2.NetworkParameterEdge", + "description": "Network parameter with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Name and associated value of a network parameter.", + "label": "", + "type": "NetworkParameter", + "longType": "vega.NetworkParameter", + "fullType": "vega.NetworkParameter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NodeBasic", + "longName": "NodeBasic", + "fullName": "datanode.api.v2.NodeBasic", + "description": "Represents a basic node without any epoch specific details like delegations, staking, rewards etc.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique ID identifying the node.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pub_key", + "description": "Node operator's public key.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tm_pub_key", + "description": "Tendermint public key of the node.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ethereum_address", + "description": "Ethereum public key of the node.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "info_url", + "description": "URL that provides more information about the node.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "location", + "description": "Country code for the location of the node.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Node status.", + "label": "", + "type": "NodeStatus", + "longType": "vega.NodeStatus", + "fullType": "vega.NodeStatus", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "name", + "description": "Node name.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "avatar_url", + "description": "Avatar URL.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NodeEdge", + "longName": "NodeEdge", + "fullName": "datanode.api.v2.NodeEdge", + "description": "Node data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data specific to a single node on the Vega network.", + "label": "", + "type": "Node", + "longType": "vega.Node", + "fullType": "vega.Node", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NodeSignatureEdge", + "longName": "NodeSignatureEdge", + "fullName": "datanode.api.v2.NodeSignatureEdge", + "description": "Nodes signature edge with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Node signature data.", + "label": "", + "type": "NodeSignature", + "longType": "vega.commands.v1.NodeSignature", + "fullType": "vega.commands.v1.NodeSignature", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NodeSignaturesConnection", + "longName": "NodeSignaturesConnection", + "fullName": "datanode.api.v2.NodeSignaturesConnection", + "description": "Page of node signatures and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of node signatures and their corresponding cursors.", + "label": "repeated", + "type": "NodeSignatureEdge", + "longType": "NodeSignatureEdge", + "fullType": "datanode.api.v2.NodeSignatureEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NodesConnection", + "longName": "NodesConnection", + "fullName": "datanode.api.v2.NodesConnection", + "description": "Page of node data and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of node data and their corresponding cursors.", + "label": "repeated", + "type": "NodeEdge", + "longType": "NodeEdge", + "fullType": "datanode.api.v2.NodeEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveAccountsRequest", + "longName": "ObserveAccountsRequest", + "fullName": "datanode.api.v2.ObserveAccountsRequest", + "description": "Request that is sent when getting a subscription to a stream of accounts.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID to filter accounts by. If empty, no markets will be filtered.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID to filter accounts by. If empty, no parties will be filtered.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "Asset ID to filter accounts by. If empty, no assets will be filtered.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Account type to subscribe to, required field.", + "label": "", + "type": "AccountType", + "longType": "vega.AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveAccountsResponse", + "longName": "ObserveAccountsResponse", + "fullName": "datanode.api.v2.ObserveAccountsResponse", + "description": "Response that is received when subscribing to a stream of accounts.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "snapshot", + "description": "'Initial image' snapshot containing current account balances.", + "label": "", + "type": "AccountSnapshotPage", + "longType": "AccountSnapshotPage", + "fullType": "datanode.api.v2.AccountSnapshotPage", + "ismap": false, + "isoneof": true, + "oneofdecl": "response", + "defaultValue": "" + }, + { + "name": "updates", + "description": "List of account updates in the last block.", + "label": "", + "type": "AccountUpdates", + "longType": "AccountUpdates", + "fullType": "datanode.api.v2.AccountUpdates", + "ismap": false, + "isoneof": true, + "oneofdecl": "response", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveCandleDataRequest", + "longName": "ObserveCandleDataRequest", + "fullName": "datanode.api.v2.ObserveCandleDataRequest", + "description": "Request that is used to subscribe to a stream of candles", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "candle_id", + "description": "Unique ID for the candle.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveCandleDataResponse", + "longName": "ObserveCandleDataResponse", + "fullName": "datanode.api.v2.ObserveCandleDataResponse", + "description": "Response that is received when subscribing to a stream of candles", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "candle", + "description": "Candle data.", + "label": "", + "type": "Candle", + "longType": "Candle", + "fullType": "datanode.api.v2.Candle", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveDelegationsRequest", + "longName": "ObserveDelegationsRequest", + "fullName": "datanode.api.v2.ObserveDelegationsRequest", + "description": "Request to subscribe to all event related to delegations, with the given filters", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Party ID to get delegations for, if provided.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_party_id", + "defaultValue": "" + }, + { + "name": "node_id", + "description": "Node ID to get delegations for, if provided.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_node_id", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveDelegationsResponse", + "longName": "ObserveDelegationsResponse", + "fullName": "datanode.api.v2.ObserveDelegationsResponse", + "description": "Response with all events related to delegations, with the given filters", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "delegation", + "description": "How much a party is delegating to a node and when.", + "label": "", + "type": "Delegation", + "longType": "vega.Delegation", + "fullType": "vega.Delegation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveEventBusRequest", + "longName": "ObserveEventBusRequest", + "fullName": "datanode.api.v2.ObserveEventBusRequest", + "description": "Request to subscribe to a stream of one or more event types from the Vega event bus", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "type", + "description": "One or more types of event, required field.", + "label": "repeated", + "type": "BusEventType", + "longType": "vega.events.v1.BusEventType", + "fullType": "vega.events.v1.BusEventType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID to filter for, optional field. If empty, no markets will be excluded from the stream.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID to filter for, optional field. If empty, no parties will be excluded from the stream.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "batch_size", + "description": "Batch size,\nIf not specified, any events received will be sent immediately. If the client is not ready\nfor the next data-set, data may be dropped a number of times, and eventually the stream is closed.\nif specified, the first batch will be sent when ready. To receive the next set of events, the client\nmust write an `ObserveEventBatch` message on the stream to flush the buffer.\nIf no message is received in 5 seconds, the stream is closed.\nDefault: 0, send any and all events when they are available.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveEventBusResponse", + "longName": "ObserveEventBusResponse", + "fullName": "datanode.api.v2.ObserveEventBusResponse", + "description": "Response to a subscribed stream of events from the Vega event bus", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "events", + "description": "List of events that occurred on the Vega event bus.", + "label": "repeated", + "type": "BusEvent", + "longType": "vega.events.v1.BusEvent", + "fullType": "vega.events.v1.BusEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveGovernanceRequest", + "longName": "ObserveGovernanceRequest", + "fullName": "datanode.api.v2.ObserveGovernanceRequest", + "description": "Request for governance subscription", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Restrict proposal updates to those proposed by the given party ID.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_party_id", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveGovernanceResponse", + "longName": "ObserveGovernanceResponse", + "fullName": "datanode.api.v2.ObserveGovernanceResponse", + "description": "Response from governance subscription", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "data", + "description": "Governance data, i.e. proposal and votes for and against.", + "label": "", + "type": "GovernanceData", + "longType": "vega.GovernanceData", + "fullType": "vega.GovernanceData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveLedgerMovementsRequest", + "longName": "ObserveLedgerMovementsRequest", + "fullName": "datanode.api.v2.ObserveLedgerMovementsRequest", + "description": "Request to subscribe to ledger movements", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "ObserveLedgerMovementsResponse", + "longName": "ObserveLedgerMovementsResponse", + "fullName": "datanode.api.v2.ObserveLedgerMovementsResponse", + "description": "Response from ledger movements subscription", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "ledger_movement", + "description": "Ledger movements data with list of ledger entries and and post-transfer balances.", + "label": "", + "type": "LedgerMovement", + "longType": "vega.LedgerMovement", + "fullType": "vega.LedgerMovement", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveLiquidityProvisionsRequest", + "longName": "ObserveLiquidityProvisionsRequest", + "fullName": "datanode.api.v2.ObserveLiquidityProvisionsRequest", + "description": "Request sent to subscribe to liquidity provisions", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Target market to observe for liquidity provision orders.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_market_id", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Target party to observe for submitted liquidity provision orders.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_party_id", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveLiquidityProvisionsResponse", + "longName": "ObserveLiquidityProvisionsResponse", + "fullName": "datanode.api.v2.ObserveLiquidityProvisionsResponse", + "description": "Response from liquidity provisions subscription", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "liquidity_provisions", + "description": "", + "label": "repeated", + "type": "LiquidityProvision", + "longType": "vega.LiquidityProvision", + "fullType": "vega.LiquidityProvision", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveMarginLevelsRequest", + "longName": "ObserveMarginLevelsRequest", + "fullName": "datanode.api.v2.ObserveMarginLevelsRequest", + "description": "Request to subscribe to a stream of MarginLevels data.\nIf a party ID is provided, the stream will contain margin levels for that party only.\nOptionally, the list can be additionally filtered by market", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Restrict margin level updates to those relating to the given party.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Restrict margin level updates to those relating to the given market.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_market_id", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveMarginLevelsResponse", + "longName": "ObserveMarginLevelsResponse", + "fullName": "datanode.api.v2.ObserveMarginLevelsResponse", + "description": "Response from subscribing to margin levels data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "margin_levels", + "description": "Margin levels data that match the subscription request filters.", + "label": "", + "type": "MarginLevels", + "longType": "vega.MarginLevels", + "fullType": "vega.MarginLevels", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveMarketsDataRequest", + "longName": "ObserveMarketsDataRequest", + "fullName": "datanode.api.v2.ObserveMarketsDataRequest", + "description": "Request that is sent for market data subscription", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_ids", + "description": "Restrict updates to market data by the given market IDs.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveMarketsDataResponse", + "longName": "ObserveMarketsDataResponse", + "fullName": "datanode.api.v2.ObserveMarketsDataResponse", + "description": "Response that is received for market data subscription", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_data", + "description": "List of market data.", + "label": "repeated", + "type": "MarketData", + "longType": "vega.MarketData", + "fullType": "vega.MarketData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveMarketsDepthRequest", + "longName": "ObserveMarketsDepthRequest", + "fullName": "datanode.api.v2.ObserveMarketsDepthRequest", + "description": "Request that is sent to get market depth subscription", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_ids", + "description": "Restrict market depth data by the given market IDs.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveMarketsDepthResponse", + "longName": "ObserveMarketsDepthResponse", + "fullName": "datanode.api.v2.ObserveMarketsDepthResponse", + "description": "Response that is received for MarketDepth subscription.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_depth", + "description": "List of market depth data.", + "label": "repeated", + "type": "MarketDepth", + "longType": "vega.MarketDepth", + "fullType": "vega.MarketDepth", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveMarketsDepthUpdatesRequest", + "longName": "ObserveMarketsDepthUpdatesRequest", + "fullName": "datanode.api.v2.ObserveMarketsDepthUpdatesRequest", + "description": "Request that is sent for market depth update subscription", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_ids", + "description": "Restrict updates to market depth by the given market IDs.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveMarketsDepthUpdatesResponse", + "longName": "ObserveMarketsDepthUpdatesResponse", + "fullName": "datanode.api.v2.ObserveMarketsDepthUpdatesResponse", + "description": "Response that is received for market depth update subscription", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "update", + "description": "List of market depth update data.", + "label": "repeated", + "type": "MarketDepthUpdate", + "longType": "vega.MarketDepthUpdate", + "fullType": "vega.MarketDepthUpdate", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveOrdersRequest", + "longName": "ObserveOrdersRequest", + "fullName": "datanode.api.v2.ObserveOrdersRequest", + "description": "Request to subscribe to a stream of orders.\n\nRequest fields market ID and party ID are both optional filters:\nIf omitted all orders, for all parties on all markets will be returned on the stream\nBoth filters can be combined", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "market_ids", + "description": "Restrict orders to those placed on the given markets.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_ids", + "description": "Restrict orders to those placed on the by the given parties.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "exclude_liquidity", + "description": "Whether liquidity orders should be excluded from the stream. If not set, liquidity orders will be included.", + "label": "optional", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": true, + "oneofdecl": "_exclude_liquidity", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveOrdersResponse", + "longName": "ObserveOrdersResponse", + "fullName": "datanode.api.v2.ObserveOrdersResponse", + "description": "Response that is received from an orders subscription.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "snapshot", + "description": "An 'initial image' snapshot containing current live orders.", + "label": "", + "type": "OrderSnapshotPage", + "longType": "OrderSnapshotPage", + "fullType": "datanode.api.v2.OrderSnapshotPage", + "ismap": false, + "isoneof": true, + "oneofdecl": "response", + "defaultValue": "" + }, + { + "name": "updates", + "description": "List of order updates in the last block.", + "label": "", + "type": "OrderUpdates", + "longType": "OrderUpdates", + "fullType": "datanode.api.v2.OrderUpdates", + "ismap": false, + "isoneof": true, + "oneofdecl": "response", + "defaultValue": "" + } + ] + }, + { + "name": "ObservePositionsRequest", + "longName": "ObservePositionsRequest", + "fullName": "datanode.api.v2.ObservePositionsRequest", + "description": "Request that is used to subscribe to a stream of positions", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Restrict position updates to those related to the given parties.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_party_id", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Restrict position updates to those related to the given markets.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_market_id", + "defaultValue": "" + } + ] + }, + { + "name": "ObservePositionsResponse", + "longName": "ObservePositionsResponse", + "fullName": "datanode.api.v2.ObservePositionsResponse", + "description": "Response received from a positions subscription request", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "snapshot", + "description": "An 'initial image' snapshot containing current positions.", + "label": "", + "type": "PositionSnapshotPage", + "longType": "PositionSnapshotPage", + "fullType": "datanode.api.v2.PositionSnapshotPage", + "ismap": false, + "isoneof": true, + "oneofdecl": "response", + "defaultValue": "" + }, + { + "name": "updates", + "description": "List of position updates in the last block.", + "label": "", + "type": "PositionUpdates", + "longType": "PositionUpdates", + "fullType": "datanode.api.v2.PositionUpdates", + "ismap": false, + "isoneof": true, + "oneofdecl": "response", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveRewardsRequest", + "longName": "ObserveRewardsRequest", + "fullName": "datanode.api.v2.ObserveRewardsRequest", + "description": "Request sent for subscribing to rewards", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "asset_id", + "description": "Asset ID to get rewards data for, if provided.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_asset_id", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID to get rewards data for, if provided.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_party_id", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveRewardsResponse", + "longName": "ObserveRewardsResponse", + "fullName": "datanode.api.v2.ObserveRewardsResponse", + "description": "Response that is received from subscribing to rewards data", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "reward", + "description": "Rewards data received.", + "label": "", + "type": "Reward", + "longType": "vega.Reward", + "fullType": "vega.Reward", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveTradesRequest", + "longName": "ObserveTradesRequest", + "fullName": "datanode.api.v2.ObserveTradesRequest", + "description": "Request to subscribe to a stream of trades\n\nRequest fields market ID and party ID are both optional filters:\nIf omitted all trades, for all parties on all markets will be returned on the stream\nIf market ID is given, trades from that market will be returned on the stream\nIf party ID is given, trades from that party will be returned on the stream\nBoth filters can be combined.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_ids", + "description": "Restrict the trades streamed to those made on the given markets.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_ids", + "description": "Restrict the trades streamed to those made by the given parties.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveTradesResponse", + "longName": "ObserveTradesResponse", + "fullName": "datanode.api.v2.ObserveTradesResponse", + "description": "Stream of trades", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "trades", + "description": "List of 0 or more trades.", + "label": "repeated", + "type": "Trade", + "longType": "vega.Trade", + "fullType": "vega.Trade", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveVotesRequest", + "longName": "ObserveVotesRequest", + "fullName": "datanode.api.v2.ObserveVotesRequest", + "description": "Request that is sent to subscribe to votes", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Restrict vote updates to those made by the given party.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_party_id", + "defaultValue": "" + }, + { + "name": "proposal_id", + "description": "Restrict vote updates to those made on the given proposal.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_proposal_id", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveVotesResponse", + "longName": "ObserveVotesResponse", + "fullName": "datanode.api.v2.ObserveVotesResponse", + "description": "Response that is received from votes subscription", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "vote", + "description": "Data associated with governance votes that are published to the stream.", + "label": "", + "type": "Vote", + "longType": "vega.Vote", + "fullType": "vega.Vote", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OracleDataConnection", + "longName": "OracleDataConnection", + "fullName": "datanode.api.v2.OracleDataConnection", + "description": "Page of oracle data and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of oracle data and their corresponding cursors.", + "label": "repeated", + "type": "OracleDataEdge", + "longType": "OracleDataEdge", + "fullType": "datanode.api.v2.OracleDataEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OracleDataEdge", + "longName": "OracleDataEdge", + "fullName": "datanode.api.v2.OracleDataEdge", + "description": "Oracle data item with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data that was received from an external oracle.", + "label": "", + "type": "OracleData", + "longType": "vega.OracleData", + "fullType": "vega.OracleData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OracleSpecEdge", + "longName": "OracleSpecEdge", + "fullName": "datanode.api.v2.OracleSpecEdge", + "description": "Oracle specs data item with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "External spec data that satisfies the list request.", + "label": "", + "type": "OracleSpec", + "longType": "vega.OracleSpec", + "fullType": "vega.OracleSpec", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OracleSpecsConnection", + "longName": "OracleSpecsConnection", + "fullName": "datanode.api.v2.OracleSpecsConnection", + "description": "Page of oracle specs and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of oracle specs data and their corresponding cursors.", + "label": "repeated", + "type": "OracleSpecEdge", + "longType": "OracleSpecEdge", + "fullType": "datanode.api.v2.OracleSpecEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrderConnection", + "longName": "OrderConnection", + "fullName": "datanode.api.v2.OrderConnection", + "description": "Page of orders data and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of orders and their corresponding cursors.", + "label": "repeated", + "type": "OrderEdge", + "longType": "OrderEdge", + "fullType": "datanode.api.v2.OrderEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrderEdge", + "longName": "OrderEdge", + "fullName": "datanode.api.v2.OrderEdge", + "description": "Order data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data associated with an order submitted to a Vega node.", + "label": "", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrderFilter", + "longName": "OrderFilter", + "fullName": "datanode.api.v2.OrderFilter", + "description": "Order filter that contains all filtering conditions and values that are applied to the orders listing", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "statuses", + "description": "Restrict orders to those with the given statuses.", + "label": "repeated", + "type": "Status", + "longType": "vega.Order.Status", + "fullType": "vega.Order.Status", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "types", + "description": "Restrict orders to those with the given types.", + "label": "repeated", + "type": "Type", + "longType": "vega.Order.Type", + "fullType": "vega.Order.Type", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "time_in_forces", + "description": "Restrict orders to those with the given Time In Force.", + "label": "repeated", + "type": "TimeInForce", + "longType": "vega.Order.TimeInForce", + "fullType": "vega.Order.TimeInForce", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "exclude_liquidity", + "description": "Indicator if liquidity provision orders should be included or not in the list.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_ids", + "description": "Restrict orders to those placed by the given party IDs.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_ids", + "description": "Restrict orders to those placed on the given market IDs.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference", + "description": "Restrict orders to those with the given reference.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_reference", + "defaultValue": "" + }, + { + "name": "date_range", + "description": "Restrict orders to those placed during the given date range. If not set, all orders will be returned.", + "label": "optional", + "type": "DateRange", + "longType": "DateRange", + "fullType": "datanode.api.v2.DateRange", + "ismap": false, + "isoneof": true, + "oneofdecl": "_date_range", + "defaultValue": "" + }, + { + "name": "live_only", + "description": "Restrict orders to those that are live. If not set, it is treated as being false.", + "label": "optional", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": true, + "oneofdecl": "_live_only", + "defaultValue": "" + } + ] + }, + { + "name": "OrderInfo", + "longName": "OrderInfo", + "fullName": "datanode.api.v2.OrderInfo", + "description": "Basic description of an order.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "side", + "description": "Side for the order, e.g. buy or sell.", + "label": "", + "type": "Side", + "longType": "vega.Side", + "fullType": "vega.Side", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "Price for the order. The price is an unsigned integer. For example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "remaining", + "description": "Size remaining.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "is_market_order", + "description": "Boolean that indicates if it is a market order.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrderSnapshotPage", + "longName": "OrderSnapshotPage", + "fullName": "datanode.api.v2.OrderSnapshotPage", + "description": "'Initial image' of live orders, may be sent over multiple response messages.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "orders", + "description": "List of order data parts.", + "label": "repeated", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_page", + "description": "Indicator if the last page is reached or not.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrderUpdates", + "longName": "OrderUpdates", + "fullName": "datanode.api.v2.OrderUpdates", + "description": "List of order updates in the last block.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "orders", + "description": "List of orders data.", + "label": "repeated", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PageInfo", + "longName": "PageInfo", + "fullName": "datanode.api.v2.PageInfo", + "description": "Page information for cursor based pagination", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "has_next_page", + "description": "Indicator if there is a next page.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "has_previous_page", + "description": "Indicator if there is a previous page.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "start_cursor", + "description": "Start cursor.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "end_cursor", + "description": "End cursor.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Pagination", + "longName": "Pagination", + "fullName": "datanode.api.v2.Pagination", + "description": "All data returned from the API is ordered in a well-defined manner.\nThe specific columns and the order in which the sorting is performed\ndepend on the API endpoint being called. However, the primary sorting\ncolumn is usually the timestamp of the block in which the data was last updated.\n\nTo prevent excessively large response messages and to avoid overloading\ndatabase resources, the API employs a cursor-based pagination mechanism.\n\nThis Pagination message can be optionally provided as part of the request to specify:\n- The starting point within the total result set for beginning the page\n- The size of the returned page\n- The ordering of the data within that page\n\nIf no Pagination message is provided, the API will return the first page of\ndata using the default page size. The default page size is 1000.\n\nTo retrieve subsequent pages, the caller must examine the PageInfo structure\nreturned in the response to find a cursor string that uniquely identifies the\nlast row of that page. This cursor should then be passed in the 'after' field\nof the Pagination message in a subsequent request.\n\nFor paging backward, take the cursor for the first row of the page from PageInfo\nand pass it in the 'before' field of the Pagination message.\n\nPagination message that uses both first/after and last/before is considered invalid.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "first", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'.", + "label": "optional", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": true, + "oneofdecl": "_first", + "defaultValue": "" + }, + { + "name": "after", + "description": "If paging forwards, the cursor string for the last row of the previous page.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_after", + "defaultValue": "" + }, + { + "name": "last", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'.", + "label": "optional", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": true, + "oneofdecl": "_last", + "defaultValue": "" + }, + { + "name": "before", + "description": "If paging forwards, the cursor string for the first row of the previous page.", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_before", + "defaultValue": "" + }, + { + "name": "newest_first", + "description": "Whether to order the results with the newest records first. If not set, the default value is true.", + "label": "optional", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": true, + "oneofdecl": "_newest_first", + "defaultValue": "" + } + ] + }, + { + "name": "PartyConnection", + "longName": "PartyConnection", + "fullName": "datanode.api.v2.PartyConnection", + "description": "Page of parties data and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of parties and their corresponding cursors.", + "label": "repeated", + "type": "PartyEdge", + "longType": "PartyEdge", + "fullType": "datanode.api.v2.PartyEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PartyEdge", + "longName": "PartyEdge", + "fullName": "datanode.api.v2.PartyEdge", + "description": "Party data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data associated with a party.", + "label": "", + "type": "Party", + "longType": "vega.Party", + "fullType": "vega.Party", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PingRequest", + "longName": "PingRequest", + "fullName": "datanode.api.v2.PingRequest", + "description": "Request to ping the data node", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "PingResponse", + "longName": "PingResponse", + "fullName": "datanode.api.v2.PingResponse", + "description": "Ping response from the data node", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "PositionConnection", + "longName": "PositionConnection", + "fullName": "datanode.api.v2.PositionConnection", + "description": "Page of positions and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of positions data and their corresponding cursors.", + "label": "repeated", + "type": "PositionEdge", + "longType": "PositionEdge", + "fullType": "datanode.api.v2.PositionEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PositionEdge", + "longName": "PositionEdge", + "fullName": "datanode.api.v2.PositionEdge", + "description": "Position data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Position data for a party on a market.", + "label": "", + "type": "Position", + "longType": "vega.Position", + "fullType": "vega.Position", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PositionSnapshotPage", + "longName": "PositionSnapshotPage", + "fullName": "datanode.api.v2.PositionSnapshotPage", + "description": "'Initial image' of current positions, may be sent over multiple response messages", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "positions", + "description": "List of positions data.", + "label": "repeated", + "type": "Position", + "longType": "vega.Position", + "fullType": "vega.Position", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_page", + "description": "Indicator if last page is reached or not.", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PositionUpdates", + "longName": "PositionUpdates", + "fullName": "datanode.api.v2.PositionUpdates", + "description": "List of position updates in the last block", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "positions", + "description": "List of positions data.", + "label": "repeated", + "type": "Position", + "longType": "vega.Position", + "fullType": "vega.Position", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PositionsFilter", + "longName": "PositionsFilter", + "fullName": "datanode.api.v2.PositionsFilter", + "description": "Filter to apply to the ListAllPositionsRequest", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_ids", + "description": "Restrict positions to those related to the given parties.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_ids", + "description": "Restrict positions to those on the given markets.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ProtocolUpgradeProposalConnection", + "longName": "ProtocolUpgradeProposalConnection", + "fullName": "datanode.api.v2.ProtocolUpgradeProposalConnection", + "description": "Page of protocol upgrade proposals and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of protocol upgrade proposals data and their corresponding cursors.", + "label": "repeated", + "type": "ProtocolUpgradeProposalEdge", + "longType": "ProtocolUpgradeProposalEdge", + "fullType": "datanode.api.v2.ProtocolUpgradeProposalEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ProtocolUpgradeProposalEdge", + "longName": "ProtocolUpgradeProposalEdge", + "fullName": "datanode.api.v2.ProtocolUpgradeProposalEdge", + "description": "Protocol upgrade proposal data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Protocol upgrade proposal data.", + "label": "", + "type": "ProtocolUpgradeEvent", + "longType": "vega.events.v1.ProtocolUpgradeEvent", + "fullType": "vega.events.v1.ProtocolUpgradeEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RewardEdge", + "longName": "RewardEdge", + "fullName": "datanode.api.v2.RewardEdge", + "description": "Rewards data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Details for a single reward payment.", + "label": "", + "type": "Reward", + "longType": "vega.Reward", + "fullType": "vega.Reward", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RewardSummaryFilter", + "longName": "RewardSummaryFilter", + "fullName": "datanode.api.v2.RewardSummaryFilter", + "description": "Filter to restrict the results returned by the ListEpochRewardSummaries", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "asset_ids", + "description": "Restrict reward summaries to those connected to the assets in the given list.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_ids", + "description": "Restrict reward summaries to those connected to the markets in the given list.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "from_epoch", + "description": "Restrict rewards summaries to those that were paid after and including the given epoch ID.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_from_epoch", + "defaultValue": "" + }, + { + "name": "to_epoch", + "description": "Restrict rewards summaries to those that were paid up to and including the given epoch ID.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_to_epoch", + "defaultValue": "" + } + ] + }, + { + "name": "RewardsConnection", + "longName": "RewardsConnection", + "fullName": "datanode.api.v2.RewardsConnection", + "description": "Page of rewards data and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of rewards data items and their corresponding cursors.", + "label": "repeated", + "type": "RewardEdge", + "longType": "RewardEdge", + "fullType": "datanode.api.v2.RewardEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StakeLinkingEdge", + "longName": "StakeLinkingEdge", + "fullName": "datanode.api.v2.StakeLinkingEdge", + "description": "Stake linking data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Stake linking represent the intent from a party to deposit.", + "label": "", + "type": "StakeLinking", + "longType": "vega.events.v1.StakeLinking", + "fullType": "vega.events.v1.StakeLinking", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StakesConnection", + "longName": "StakesConnection", + "fullName": "datanode.api.v2.StakesConnection", + "description": "Page of stake data and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of stake data and their corresponding cursors.", + "label": "repeated", + "type": "StakeLinkingEdge", + "longType": "StakeLinkingEdge", + "fullType": "datanode.api.v2.StakeLinkingEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StopOrderConnection", + "longName": "StopOrderConnection", + "fullName": "datanode.api.v2.StopOrderConnection", + "description": "Page of stop orders data and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of stop orders and their corresponding cursors.", + "label": "repeated", + "type": "StopOrderEdge", + "longType": "StopOrderEdge", + "fullType": "datanode.api.v2.StopOrderEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StopOrderEdge", + "longName": "StopOrderEdge", + "fullName": "datanode.api.v2.StopOrderEdge", + "description": "Order data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data associated with an order submitted to a Vega node.", + "label": "", + "type": "StopOrderEvent", + "longType": "vega.events.v1.StopOrderEvent", + "fullType": "vega.events.v1.StopOrderEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StopOrderFilter", + "longName": "StopOrderFilter", + "fullName": "datanode.api.v2.StopOrderFilter", + "description": "Stop order filter\n\nStop order filter that contains all filtering conditions and values that are applied to the stop orders listing.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "statuses", + "description": "Restrict orders to those with the given statuses.", + "label": "repeated", + "type": "Status", + "longType": "vega.StopOrder.Status", + "fullType": "vega.StopOrder.Status", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expiry_strategies", + "description": "Restrict orders to those with the given expiry strategies.", + "label": "repeated", + "type": "ExpiryStrategy", + "longType": "vega.StopOrder.ExpiryStrategy", + "fullType": "vega.StopOrder.ExpiryStrategy", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "date_range", + "description": "Restrict orders to those placed during the given date range. If not set, all orders will be returned.", + "label": "optional", + "type": "DateRange", + "longType": "DateRange", + "fullType": "datanode.api.v2.DateRange", + "ismap": false, + "isoneof": true, + "oneofdecl": "_date_range", + "defaultValue": "" + }, + { + "name": "party_ids", + "description": "Restrict orders to those placed by the given party IDs.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_ids", + "description": "Restrict orders to those placed on the given market IDs.", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SuccessorMarket", + "longName": "SuccessorMarket", + "fullName": "datanode.api.v2.SuccessorMarket", + "description": "Successor market information includes the market that is a member of the succession line\nand any governance data that is associated with proposals for child markets\nwhether enacted or not.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market", + "description": "The market that is a member of the succession line.", + "label": "", + "type": "Market", + "longType": "vega.Market", + "fullType": "vega.Market", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "proposals", + "description": "All proposals for child markets that have the market as a parent.", + "label": "repeated", + "type": "GovernanceData", + "longType": "vega.GovernanceData", + "fullType": "vega.GovernanceData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SuccessorMarketConnection", + "longName": "SuccessorMarketConnection", + "fullName": "datanode.api.v2.SuccessorMarketConnection", + "description": "Page of successor market records and corresponding page information.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of successor markets and their cursors.", + "label": "repeated", + "type": "SuccessorMarketEdge", + "longType": "SuccessorMarketEdge", + "fullType": "datanode.api.v2.SuccessorMarketEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information for pagination control.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SuccessorMarketEdge", + "longName": "SuccessorMarketEdge", + "fullName": "datanode.api.v2.SuccessorMarketEdge", + "description": "Successor market record with the corresponding cursor for paginated results", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Successor market record.", + "label": "", + "type": "SuccessorMarket", + "longType": "SuccessorMarket", + "fullType": "datanode.api.v2.SuccessorMarket", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor identifying the record for pagination control.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TradeConnection", + "longName": "TradeConnection", + "fullName": "datanode.api.v2.TradeConnection", + "description": "Page of trades and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of trades and their corresponding cursors.", + "label": "repeated", + "type": "TradeEdge", + "longType": "TradeEdge", + "fullType": "datanode.api.v2.TradeEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TradeEdge", + "longName": "TradeEdge", + "fullName": "datanode.api.v2.TradeEdge", + "description": "Trade data item with the corresponding cursor..", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data associated with a trade that has been executed.", + "label": "", + "type": "Trade", + "longType": "vega.Trade", + "fullType": "vega.Trade", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TransferConnection", + "longName": "TransferConnection", + "fullName": "datanode.api.v2.TransferConnection", + "description": "Page of transfers data items and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of transfers data and their corresponding cursors.", + "label": "repeated", + "type": "TransferEdge", + "longType": "TransferEdge", + "fullType": "datanode.api.v2.TransferEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TransferEdge", + "longName": "TransferEdge", + "fullName": "datanode.api.v2.TransferEdge", + "description": "Transfers data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data relating to a transfer that has been made.", + "label": "", + "type": "Transfer", + "longType": "vega.events.v1.Transfer", + "fullType": "vega.events.v1.Transfer", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "VoteConnection", + "longName": "VoteConnection", + "fullName": "datanode.api.v2.VoteConnection", + "description": "Page of vote data items and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of vote data and their corresponding cursors.", + "label": "repeated", + "type": "VoteEdge", + "longType": "VoteEdge", + "fullType": "datanode.api.v2.VoteEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "VoteEdge", + "longName": "VoteEdge", + "fullName": "datanode.api.v2.VoteEdge", + "description": "Votes data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data associated with a governance vote.", + "label": "", + "type": "Vote", + "longType": "vega.Vote", + "fullType": "vega.Vote", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "WithdrawalEdge", + "longName": "WithdrawalEdge", + "fullName": "datanode.api.v2.WithdrawalEdge", + "description": "Withdrawals data with the corresponding cursor.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node", + "description": "Data associated with a single withdrawal made from the Vega network.", + "label": "", + "type": "Withdrawal", + "longType": "vega.Withdrawal", + "fullType": "vega.Withdrawal", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "cursor", + "description": "Cursor that can be used to fetch further pages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "WithdrawalsConnection", + "longName": "WithdrawalsConnection", + "fullName": "datanode.api.v2.WithdrawalsConnection", + "description": "Page of withdrawals data and corresponding page information", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "edges", + "description": "Page of withdrawals data and their corresponding cursors.", + "label": "repeated", + "type": "WithdrawalEdge", + "longType": "WithdrawalEdge", + "fullType": "datanode.api.v2.WithdrawalEdge", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "page_info", + "description": "Page information that is used for fetching further pages.", + "label": "", + "type": "PageInfo", + "longType": "PageInfo", + "fullType": "datanode.api.v2.PageInfo", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [ + { + "name": "TradingDataService", + "longName": "TradingDataService", + "fullName": "datanode.api.v2.TradingDataService", + "description": "", + "methods": [ + { + "name": "ListAccounts", + "description": "List accounts\n\nGet a list of accounts matching the supplied filter, including their current balances.\nIf a given account has never had a balance, it will be absent from the list.", + "requestType": "ListAccountsRequest", + "requestLongType": "ListAccountsRequest", + "requestFullType": "datanode.api.v2.ListAccountsRequest", + "requestStreaming": false, + "responseType": "ListAccountsResponse", + "responseLongType": "ListAccountsResponse", + "responseFullType": "datanode.api.v2.ListAccountsResponse", + "responseStreaming": false + }, + { + "name": "ObserveAccounts", + "description": "Accounts subscription\n\nSubscribe to a stream of accounts", + "requestType": "ObserveAccountsRequest", + "requestLongType": "ObserveAccountsRequest", + "requestFullType": "datanode.api.v2.ObserveAccountsRequest", + "requestStreaming": false, + "responseType": "ObserveAccountsResponse", + "responseLongType": "ObserveAccountsResponse", + "responseFullType": "datanode.api.v2.ObserveAccountsResponse", + "responseStreaming": true + }, + { + "name": "Info", + "description": "Data node information\n\nGet information about the data node.\nResponse contains a semver formatted version of the data node and the commit hash, from which the data node was built", + "requestType": "InfoRequest", + "requestLongType": "InfoRequest", + "requestFullType": "datanode.api.v2.InfoRequest", + "requestStreaming": false, + "responseType": "InfoResponse", + "responseLongType": "InfoResponse", + "responseFullType": "datanode.api.v2.InfoResponse", + "responseStreaming": false + }, + { + "name": "GetOrder", + "description": "Get order\n\nGet an order by its ID. An order's ID will be the SHA3-256 hash of the signature that the order was submitted with", + "requestType": "GetOrderRequest", + "requestLongType": "GetOrderRequest", + "requestFullType": "datanode.api.v2.GetOrderRequest", + "requestStreaming": false, + "responseType": "GetOrderResponse", + "responseLongType": "GetOrderResponse", + "responseFullType": "datanode.api.v2.GetOrderResponse", + "responseStreaming": false + }, + { + "name": "ListOrders", + "description": "List orders\n\nGet a list of orders that match the given filters", + "requestType": "ListOrdersRequest", + "requestLongType": "ListOrdersRequest", + "requestFullType": "datanode.api.v2.ListOrdersRequest", + "requestStreaming": false, + "responseType": "ListOrdersResponse", + "responseLongType": "ListOrdersResponse", + "responseFullType": "datanode.api.v2.ListOrdersResponse", + "responseStreaming": false + }, + { + "name": "ListOrderVersions", + "description": "List order versions\n\nGet a list of all versions of an order in the order history", + "requestType": "ListOrderVersionsRequest", + "requestLongType": "ListOrderVersionsRequest", + "requestFullType": "datanode.api.v2.ListOrderVersionsRequest", + "requestStreaming": false, + "responseType": "ListOrderVersionsResponse", + "responseLongType": "ListOrderVersionsResponse", + "responseFullType": "datanode.api.v2.ListOrderVersionsResponse", + "responseStreaming": false + }, + { + "name": "ObserveOrders", + "description": "Observe orders\n\nSubscribe to a stream of orders", + "requestType": "ObserveOrdersRequest", + "requestLongType": "ObserveOrdersRequest", + "requestFullType": "datanode.api.v2.ObserveOrdersRequest", + "requestStreaming": false, + "responseType": "ObserveOrdersResponse", + "responseLongType": "ObserveOrdersResponse", + "responseFullType": "datanode.api.v2.ObserveOrdersResponse", + "responseStreaming": true + }, + { + "name": "GetStopOrder", + "description": "Get stop order\n\nGet a stop order by its ID. A stop order's ID will be the SHA3-256 hash of the signature that the order was submitted with.\nA stop order's ID is likely to be different from the ID of the order that will be submitted when the stop is triggered.", + "requestType": "GetStopOrderRequest", + "requestLongType": "GetStopOrderRequest", + "requestFullType": "datanode.api.v2.GetStopOrderRequest", + "requestStreaming": false, + "responseType": "GetStopOrderResponse", + "responseLongType": "GetStopOrderResponse", + "responseFullType": "datanode.api.v2.GetStopOrderResponse", + "responseStreaming": false + }, + { + "name": "ListStopOrders", + "description": "List stop orders\n\nGet a list of stop orders that match the given filters", + "requestType": "ListStopOrdersRequest", + "requestLongType": "ListStopOrdersRequest", + "requestFullType": "datanode.api.v2.ListStopOrdersRequest", + "requestStreaming": false, + "responseType": "ListStopOrdersResponse", + "responseLongType": "ListStopOrdersResponse", + "responseFullType": "datanode.api.v2.ListStopOrdersResponse", + "responseStreaming": false + }, + { + "name": "ListPositions", + "description": "Deprecated: List positions\n\nGet a list of positions by party's public key using cursor based pagination\nDeprecated: use ListAllPositions instead", + "requestType": "ListPositionsRequest", + "requestLongType": "ListPositionsRequest", + "requestFullType": "datanode.api.v2.ListPositionsRequest", + "requestStreaming": false, + "responseType": "ListPositionsResponse", + "responseLongType": "ListPositionsResponse", + "responseFullType": "datanode.api.v2.ListPositionsResponse", + "responseStreaming": false, + "options": { + "deprecated": true + } + }, + { + "name": "ListAllPositions", + "description": "List positions\n\nGet a list of all of a party's positions", + "requestType": "ListAllPositionsRequest", + "requestLongType": "ListAllPositionsRequest", + "requestFullType": "datanode.api.v2.ListAllPositionsRequest", + "requestStreaming": false, + "responseType": "ListAllPositionsResponse", + "responseLongType": "ListAllPositionsResponse", + "responseFullType": "datanode.api.v2.ListAllPositionsResponse", + "responseStreaming": false + }, + { + "name": "ObservePositions", + "description": "Observe positions\n\nSubscribe to a stream of position updates. The first messages sent through the stream will contain\ninformation about current positions, followed by updates to those positions.", + "requestType": "ObservePositionsRequest", + "requestLongType": "ObservePositionsRequest", + "requestFullType": "datanode.api.v2.ObservePositionsRequest", + "requestStreaming": false, + "responseType": "ObservePositionsResponse", + "responseLongType": "ObservePositionsResponse", + "responseFullType": "datanode.api.v2.ObservePositionsResponse", + "responseStreaming": true + }, + { + "name": "ListLedgerEntries", + "description": "List ledger entries\n\nGet a list of ledger entries within the given date range.\nThis query requests and sums the number of ledger entries from a given subset of accounts, specified via the 'filter' argument.\nIt returns a time series - implemented as a list of AggregateLedgerEntry structs - with a row for every time\nthe summed ledger entries of the set of specified accounts changes.\nEach account filter must contain no more than one party ID.\n\nEntries can be filtered by:\n - the sending account (market ID, asset ID, account type)\n - receiving account (market ID, asset ID, account type)\n - sending AND receiving account\n - transfer type either in addition to the above filters or as a standalone option", + "requestType": "ListLedgerEntriesRequest", + "requestLongType": "ListLedgerEntriesRequest", + "requestFullType": "datanode.api.v2.ListLedgerEntriesRequest", + "requestStreaming": false, + "responseType": "ListLedgerEntriesResponse", + "responseLongType": "ListLedgerEntriesResponse", + "responseFullType": "datanode.api.v2.ListLedgerEntriesResponse", + "responseStreaming": false + }, + { + "name": "ExportLedgerEntries", + "description": "Export ledger entries\n\nExport ledger entries records ledger entries to a csv file.\nMay or may not contain a date range - if no date range is provided, list all records for all times.\n\nLedger entries can be exported by:\n - export ledger entries for a single party for a given asset within a given time range\n - export ledger entries for a single party for a given asset for all times\nbuf:lint:ignore RPC_RESPONSE_STANDARD_NAME\nbuf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE", + "requestType": "ExportLedgerEntriesRequest", + "requestLongType": "ExportLedgerEntriesRequest", + "requestFullType": "datanode.api.v2.ExportLedgerEntriesRequest", + "requestStreaming": false, + "responseType": "HttpBody", + "responseLongType": ".google.api.HttpBody", + "responseFullType": "google.api.HttpBody", + "responseStreaming": true + }, + { + "name": "ListBalanceChanges", + "description": "List balance changes\n\nGet a list of the changes in account balances over a period of time.", + "requestType": "ListBalanceChangesRequest", + "requestLongType": "ListBalanceChangesRequest", + "requestFullType": "datanode.api.v2.ListBalanceChangesRequest", + "requestStreaming": false, + "responseType": "ListBalanceChangesResponse", + "responseLongType": "ListBalanceChangesResponse", + "responseFullType": "datanode.api.v2.ListBalanceChangesResponse", + "responseStreaming": false + }, + { + "name": "GetLatestMarketData", + "description": "Get latest market data\n\nGet the latest market data for a given market", + "requestType": "GetLatestMarketDataRequest", + "requestLongType": "GetLatestMarketDataRequest", + "requestFullType": "datanode.api.v2.GetLatestMarketDataRequest", + "requestStreaming": false, + "responseType": "GetLatestMarketDataResponse", + "responseLongType": "GetLatestMarketDataResponse", + "responseFullType": "datanode.api.v2.GetLatestMarketDataResponse", + "responseStreaming": false + }, + { + "name": "ListLatestMarketData", + "description": "List latest market data\n\nGet a list of the latest market data for every market", + "requestType": "ListLatestMarketDataRequest", + "requestLongType": "ListLatestMarketDataRequest", + "requestFullType": "datanode.api.v2.ListLatestMarketDataRequest", + "requestStreaming": false, + "responseType": "ListLatestMarketDataResponse", + "responseLongType": "ListLatestMarketDataResponse", + "responseFullType": "datanode.api.v2.ListLatestMarketDataResponse", + "responseStreaming": false + }, + { + "name": "GetLatestMarketDepth", + "description": "Get latest market depth\n\nGet the latest market depth for a given market", + "requestType": "GetLatestMarketDepthRequest", + "requestLongType": "GetLatestMarketDepthRequest", + "requestFullType": "datanode.api.v2.GetLatestMarketDepthRequest", + "requestStreaming": false, + "responseType": "GetLatestMarketDepthResponse", + "responseLongType": "GetLatestMarketDepthResponse", + "responseFullType": "datanode.api.v2.GetLatestMarketDepthResponse", + "responseStreaming": false + }, + { + "name": "ObserveMarketsDepth", + "description": "Observe markets depth\n\nSubscribe to a stream of the latest market depth for a given market", + "requestType": "ObserveMarketsDepthRequest", + "requestLongType": "ObserveMarketsDepthRequest", + "requestFullType": "datanode.api.v2.ObserveMarketsDepthRequest", + "requestStreaming": false, + "responseType": "ObserveMarketsDepthResponse", + "responseLongType": "ObserveMarketsDepthResponse", + "responseFullType": "datanode.api.v2.ObserveMarketsDepthResponse", + "responseStreaming": true + }, + { + "name": "ObserveMarketsDepthUpdates", + "description": "Observe markets depth updates\n\nSubscribe to a stream of updates on market depth for a given market", + "requestType": "ObserveMarketsDepthUpdatesRequest", + "requestLongType": "ObserveMarketsDepthUpdatesRequest", + "requestFullType": "datanode.api.v2.ObserveMarketsDepthUpdatesRequest", + "requestStreaming": false, + "responseType": "ObserveMarketsDepthUpdatesResponse", + "responseLongType": "ObserveMarketsDepthUpdatesResponse", + "responseFullType": "datanode.api.v2.ObserveMarketsDepthUpdatesResponse", + "responseStreaming": true + }, + { + "name": "ObserveMarketsData", + "description": "Observe markets data\n\nSubscribe to a stream of data about a given market", + "requestType": "ObserveMarketsDataRequest", + "requestLongType": "ObserveMarketsDataRequest", + "requestFullType": "datanode.api.v2.ObserveMarketsDataRequest", + "requestStreaming": false, + "responseType": "ObserveMarketsDataResponse", + "responseLongType": "ObserveMarketsDataResponse", + "responseFullType": "datanode.api.v2.ObserveMarketsDataResponse", + "responseStreaming": true + }, + { + "name": "GetMarketDataHistoryByID", + "description": "Get market data history\n\nGet market data history for a market ID from between a given date range", + "requestType": "GetMarketDataHistoryByIDRequest", + "requestLongType": "GetMarketDataHistoryByIDRequest", + "requestFullType": "datanode.api.v2.GetMarketDataHistoryByIDRequest", + "requestStreaming": false, + "responseType": "GetMarketDataHistoryByIDResponse", + "responseLongType": "GetMarketDataHistoryByIDResponse", + "responseFullType": "datanode.api.v2.GetMarketDataHistoryByIDResponse", + "responseStreaming": false + }, + { + "name": "ListTransfers", + "description": "List transfers\n\nGet a list of transfers between public keys. A valid value for public key can be one of:\n- a party ID\n- \"network\"\n- \"0000000000000000000000000000000000000000000000000000000000000000\", the public key for the global rewards account", + "requestType": "ListTransfersRequest", + "requestLongType": "ListTransfersRequest", + "requestFullType": "datanode.api.v2.ListTransfersRequest", + "requestStreaming": false, + "responseType": "ListTransfersResponse", + "responseLongType": "ListTransfersResponse", + "responseFullType": "datanode.api.v2.ListTransfersResponse", + "responseStreaming": false + }, + { + "name": "GetNetworkLimits", + "description": "Get network limits\n\nGet the network limits relating to asset and market creation", + "requestType": "GetNetworkLimitsRequest", + "requestLongType": "GetNetworkLimitsRequest", + "requestFullType": "datanode.api.v2.GetNetworkLimitsRequest", + "requestStreaming": false, + "responseType": "GetNetworkLimitsResponse", + "responseLongType": "GetNetworkLimitsResponse", + "responseFullType": "datanode.api.v2.GetNetworkLimitsResponse", + "responseStreaming": false + }, + { + "name": "ListCandleData", + "description": "List candle data\n\nGet a list of candle data for a given candle ID. Candle IDs can be obtained by calling list-candle-intervals", + "requestType": "ListCandleDataRequest", + "requestLongType": "ListCandleDataRequest", + "requestFullType": "datanode.api.v2.ListCandleDataRequest", + "requestStreaming": false, + "responseType": "ListCandleDataResponse", + "responseLongType": "ListCandleDataResponse", + "responseFullType": "datanode.api.v2.ListCandleDataResponse", + "responseStreaming": false + }, + { + "name": "ObserveCandleData", + "description": "Observe candle data\n\nSubscribe to a stream of candle updates", + "requestType": "ObserveCandleDataRequest", + "requestLongType": "ObserveCandleDataRequest", + "requestFullType": "datanode.api.v2.ObserveCandleDataRequest", + "requestStreaming": false, + "responseType": "ObserveCandleDataResponse", + "responseLongType": "ObserveCandleDataResponse", + "responseFullType": "datanode.api.v2.ObserveCandleDataResponse", + "responseStreaming": true + }, + { + "name": "ListCandleIntervals", + "description": "List candle intervals\n\nGet a list of all available intervals for a given market along with the corresponding candle ID", + "requestType": "ListCandleIntervalsRequest", + "requestLongType": "ListCandleIntervalsRequest", + "requestFullType": "datanode.api.v2.ListCandleIntervalsRequest", + "requestStreaming": false, + "responseType": "ListCandleIntervalsResponse", + "responseLongType": "ListCandleIntervalsResponse", + "responseFullType": "datanode.api.v2.ListCandleIntervalsResponse", + "responseStreaming": false + }, + { + "name": "ListVotes", + "description": "List votes\n\nGet a list of votes. A party ID or a proposal ID must be provided.", + "requestType": "ListVotesRequest", + "requestLongType": "ListVotesRequest", + "requestFullType": "datanode.api.v2.ListVotesRequest", + "requestStreaming": false, + "responseType": "ListVotesResponse", + "responseLongType": "ListVotesResponse", + "responseFullType": "datanode.api.v2.ListVotesResponse", + "responseStreaming": false + }, + { + "name": "ObserveVotes", + "description": "Observe votes\n\nSubscribe to a stream of votes cast on a given proposal, or by all votes made by a given party", + "requestType": "ObserveVotesRequest", + "requestLongType": "ObserveVotesRequest", + "requestFullType": "datanode.api.v2.ObserveVotesRequest", + "requestStreaming": false, + "responseType": "ObserveVotesResponse", + "responseLongType": "ObserveVotesResponse", + "responseFullType": "datanode.api.v2.ObserveVotesResponse", + "responseStreaming": true + }, + { + "name": "ListERC20MultiSigSignerAddedBundles", + "description": "List ERC20 multi-sig signer added bundles\n\nGet a list of the signature bundles to add a particular validator to the signer list of the multisig contract", + "requestType": "ListERC20MultiSigSignerAddedBundlesRequest", + "requestLongType": "ListERC20MultiSigSignerAddedBundlesRequest", + "requestFullType": "datanode.api.v2.ListERC20MultiSigSignerAddedBundlesRequest", + "requestStreaming": false, + "responseType": "ListERC20MultiSigSignerAddedBundlesResponse", + "responseLongType": "ListERC20MultiSigSignerAddedBundlesResponse", + "responseFullType": "datanode.api.v2.ListERC20MultiSigSignerAddedBundlesResponse", + "responseStreaming": false + }, + { + "name": "ListERC20MultiSigSignerRemovedBundles", + "description": "List ERC20 multi-sig signer removed bundles\n\nGet a list of the signature bundles to remove a particular validator from signer list of the multisig contract", + "requestType": "ListERC20MultiSigSignerRemovedBundlesRequest", + "requestLongType": "ListERC20MultiSigSignerRemovedBundlesRequest", + "requestFullType": "datanode.api.v2.ListERC20MultiSigSignerRemovedBundlesRequest", + "requestStreaming": false, + "responseType": "ListERC20MultiSigSignerRemovedBundlesResponse", + "responseLongType": "ListERC20MultiSigSignerRemovedBundlesResponse", + "responseFullType": "datanode.api.v2.ListERC20MultiSigSignerRemovedBundlesResponse", + "responseStreaming": false + }, + { + "name": "GetERC20ListAssetBundle", + "description": "Get ERC20 list asset bundle\n\nGet the signatures bundle to allowlist an ERC20 token in the collateral bridge", + "requestType": "GetERC20ListAssetBundleRequest", + "requestLongType": "GetERC20ListAssetBundleRequest", + "requestFullType": "datanode.api.v2.GetERC20ListAssetBundleRequest", + "requestStreaming": false, + "responseType": "GetERC20ListAssetBundleResponse", + "responseLongType": "GetERC20ListAssetBundleResponse", + "responseFullType": "datanode.api.v2.GetERC20ListAssetBundleResponse", + "responseStreaming": false + }, + { + "name": "GetERC20SetAssetLimitsBundle", + "description": "Get ERC20 set asset limits bundle\n\nGet the signature bundle to update the token limits. These are `maxLifetimeDeposit` and `withdrawThreshold` for a given ERC20 token that is\nalready allowlisted in the collateral bridge.", + "requestType": "GetERC20SetAssetLimitsBundleRequest", + "requestLongType": "GetERC20SetAssetLimitsBundleRequest", + "requestFullType": "datanode.api.v2.GetERC20SetAssetLimitsBundleRequest", + "requestStreaming": false, + "responseType": "GetERC20SetAssetLimitsBundleResponse", + "responseLongType": "GetERC20SetAssetLimitsBundleResponse", + "responseFullType": "datanode.api.v2.GetERC20SetAssetLimitsBundleResponse", + "responseStreaming": false + }, + { + "name": "GetERC20WithdrawalApproval", + "description": "Get ERC20 withdrawal approval\n\nGet the signature bundle to finalise a withdrawal on Ethereum", + "requestType": "GetERC20WithdrawalApprovalRequest", + "requestLongType": "GetERC20WithdrawalApprovalRequest", + "requestFullType": "datanode.api.v2.GetERC20WithdrawalApprovalRequest", + "requestStreaming": false, + "responseType": "GetERC20WithdrawalApprovalResponse", + "responseLongType": "GetERC20WithdrawalApprovalResponse", + "responseFullType": "datanode.api.v2.GetERC20WithdrawalApprovalResponse", + "responseStreaming": false + }, + { + "name": "GetLastTrade", + "description": "Get last trade\n\nGet the last trade made for a given market.", + "requestType": "GetLastTradeRequest", + "requestLongType": "GetLastTradeRequest", + "requestFullType": "datanode.api.v2.GetLastTradeRequest", + "requestStreaming": false, + "responseType": "GetLastTradeResponse", + "responseLongType": "GetLastTradeResponse", + "responseFullType": "datanode.api.v2.GetLastTradeResponse", + "responseStreaming": false + }, + { + "name": "ListTrades", + "description": "List trades\n\nGet a list of all trades, optionally filtered by party/market/order", + "requestType": "ListTradesRequest", + "requestLongType": "ListTradesRequest", + "requestFullType": "datanode.api.v2.ListTradesRequest", + "requestStreaming": false, + "responseType": "ListTradesResponse", + "responseLongType": "ListTradesResponse", + "responseFullType": "datanode.api.v2.ListTradesResponse", + "responseStreaming": false + }, + { + "name": "ObserveTrades", + "description": "Observe trades\n\nSubscribe to a stream of trades, optionally filtered by party/market", + "requestType": "ObserveTradesRequest", + "requestLongType": "ObserveTradesRequest", + "requestFullType": "datanode.api.v2.ObserveTradesRequest", + "requestStreaming": false, + "responseType": "ObserveTradesResponse", + "responseLongType": "ObserveTradesResponse", + "responseFullType": "datanode.api.v2.ObserveTradesResponse", + "responseStreaming": true + }, + { + "name": "GetOracleSpec", + "description": "Get oracle spec\n\nGet an oracle spec by ID. Oracle spec IDs can be found by querying markets that use them as a data source", + "requestType": "GetOracleSpecRequest", + "requestLongType": "GetOracleSpecRequest", + "requestFullType": "datanode.api.v2.GetOracleSpecRequest", + "requestStreaming": false, + "responseType": "GetOracleSpecResponse", + "responseLongType": "GetOracleSpecResponse", + "responseFullType": "datanode.api.v2.GetOracleSpecResponse", + "responseStreaming": false + }, + { + "name": "ListOracleSpecs", + "description": "List oracle specs\n\nGet a list of all oracles specs that are defined against all markets", + "requestType": "ListOracleSpecsRequest", + "requestLongType": "ListOracleSpecsRequest", + "requestFullType": "datanode.api.v2.ListOracleSpecsRequest", + "requestStreaming": false, + "responseType": "ListOracleSpecsResponse", + "responseLongType": "ListOracleSpecsResponse", + "responseFullType": "datanode.api.v2.ListOracleSpecsResponse", + "responseStreaming": false + }, + { + "name": "ListOracleData", + "description": "List oracle data\n\nGet a list of all oracle data that have been broadcast to any market", + "requestType": "ListOracleDataRequest", + "requestLongType": "ListOracleDataRequest", + "requestFullType": "datanode.api.v2.ListOracleDataRequest", + "requestStreaming": false, + "responseType": "ListOracleDataResponse", + "responseLongType": "ListOracleDataResponse", + "responseFullType": "datanode.api.v2.ListOracleDataResponse", + "responseStreaming": false + }, + { + "name": "GetMarket", + "description": "Get market\n\nGet information about a specific market using its ID. A market's ID will be the same as the ID of the proposal that\ngenerated it", + "requestType": "GetMarketRequest", + "requestLongType": "GetMarketRequest", + "requestFullType": "datanode.api.v2.GetMarketRequest", + "requestStreaming": false, + "responseType": "GetMarketResponse", + "responseLongType": "GetMarketResponse", + "responseFullType": "datanode.api.v2.GetMarketResponse", + "responseStreaming": false + }, + { + "name": "ListMarkets", + "description": "List markets\n\nGet a list of markets", + "requestType": "ListMarketsRequest", + "requestLongType": "ListMarketsRequest", + "requestFullType": "datanode.api.v2.ListMarketsRequest", + "requestStreaming": false, + "responseType": "ListMarketsResponse", + "responseLongType": "ListMarketsResponse", + "responseFullType": "datanode.api.v2.ListMarketsResponse", + "responseStreaming": false + }, + { + "name": "ListSuccessorMarkets", + "description": "List successor markets\n\nGiven a market ID, return the full lineage of markets since inception, or all successor markets since and including\nthe given market ID. The markets will be returned in succession order, i.e. the market at position i will be the parent\nof the market at position i+1.", + "requestType": "ListSuccessorMarketsRequest", + "requestLongType": "ListSuccessorMarketsRequest", + "requestFullType": "datanode.api.v2.ListSuccessorMarketsRequest", + "requestStreaming": false, + "responseType": "ListSuccessorMarketsResponse", + "responseLongType": "ListSuccessorMarketsResponse", + "responseFullType": "datanode.api.v2.ListSuccessorMarketsResponse", + "responseStreaming": false + }, + { + "name": "GetParty", + "description": "Get party\n\nGet a single party", + "requestType": "GetPartyRequest", + "requestLongType": "GetPartyRequest", + "requestFullType": "datanode.api.v2.GetPartyRequest", + "requestStreaming": false, + "responseType": "GetPartyResponse", + "responseLongType": "GetPartyResponse", + "responseFullType": "datanode.api.v2.GetPartyResponse", + "responseStreaming": false + }, + { + "name": "ListParties", + "description": "List parties\n\nGet a list of parties", + "requestType": "ListPartiesRequest", + "requestLongType": "ListPartiesRequest", + "requestFullType": "datanode.api.v2.ListPartiesRequest", + "requestStreaming": false, + "responseType": "ListPartiesResponse", + "responseLongType": "ListPartiesResponse", + "responseFullType": "datanode.api.v2.ListPartiesResponse", + "responseStreaming": false + }, + { + "name": "ListMarginLevels", + "description": "List margin levels\n\nGet a list margin levels that match the provided criteria. If no filter is provided, all margin levels will be returned.", + "requestType": "ListMarginLevelsRequest", + "requestLongType": "ListMarginLevelsRequest", + "requestFullType": "datanode.api.v2.ListMarginLevelsRequest", + "requestStreaming": false, + "responseType": "ListMarginLevelsResponse", + "responseLongType": "ListMarginLevelsResponse", + "responseFullType": "datanode.api.v2.ListMarginLevelsResponse", + "responseStreaming": false + }, + { + "name": "ObserveMarginLevels", + "description": "Observe margin levels\n\nSubscribe to a stream of margin levels updates", + "requestType": "ObserveMarginLevelsRequest", + "requestLongType": "ObserveMarginLevelsRequest", + "requestFullType": "datanode.api.v2.ObserveMarginLevelsRequest", + "requestStreaming": false, + "responseType": "ObserveMarginLevelsResponse", + "responseLongType": "ObserveMarginLevelsResponse", + "responseFullType": "datanode.api.v2.ObserveMarginLevelsResponse", + "responseStreaming": true + }, + { + "name": "ListRewards", + "description": "List rewards\n\nGet a list of rewards that match the provided criteria. If no filter is provided, all rewards will be returned.", + "requestType": "ListRewardsRequest", + "requestLongType": "ListRewardsRequest", + "requestFullType": "datanode.api.v2.ListRewardsRequest", + "requestStreaming": false, + "responseType": "ListRewardsResponse", + "responseLongType": "ListRewardsResponse", + "responseFullType": "datanode.api.v2.ListRewardsResponse", + "responseStreaming": false + }, + { + "name": "ListRewardSummaries", + "description": "List reward summaries\n\nGet a list of reward summaries where the reward amount is the total rewards received over all epochs\nper party ID and asset ID.\nRequest parameters are optional party ID and asset ID.\nIf no data is provided, all reward summaries will be returned grouped by party and asset ID.", + "requestType": "ListRewardSummariesRequest", + "requestLongType": "ListRewardSummariesRequest", + "requestFullType": "datanode.api.v2.ListRewardSummariesRequest", + "requestStreaming": false, + "responseType": "ListRewardSummariesResponse", + "responseLongType": "ListRewardSummariesResponse", + "responseFullType": "datanode.api.v2.ListRewardSummariesResponse", + "responseStreaming": false + }, + { + "name": "ListEpochRewardSummaries", + "description": "List epoch reward summaries\n\nGet a list of reward summaries by epoch for a given range of epochs.\nThe result is filtered by list of asset IDs, market IDs and starting and ending epochs, for which to return rewards.\nIf no data is provided, all reward summaries will be returned, grouped by epochs, market IDs, asset IDs and reward type.", + "requestType": "ListEpochRewardSummariesRequest", + "requestLongType": "ListEpochRewardSummariesRequest", + "requestFullType": "datanode.api.v2.ListEpochRewardSummariesRequest", + "requestStreaming": false, + "responseType": "ListEpochRewardSummariesResponse", + "responseLongType": "ListEpochRewardSummariesResponse", + "responseFullType": "datanode.api.v2.ListEpochRewardSummariesResponse", + "responseStreaming": false + }, + { + "name": "GetDeposit", + "description": "Get deposit\n\nGet a deposit by its ID", + "requestType": "GetDepositRequest", + "requestLongType": "GetDepositRequest", + "requestFullType": "datanode.api.v2.GetDepositRequest", + "requestStreaming": false, + "responseType": "GetDepositResponse", + "responseLongType": "GetDepositResponse", + "responseFullType": "datanode.api.v2.GetDepositResponse", + "responseStreaming": false + }, + { + "name": "ListDeposits", + "description": "List deposits\n\nGet a list of deposits for a given party.\nIf a date range is provided, filtering will be based on the last time the deposit\nhas been updated in Vega time.", + "requestType": "ListDepositsRequest", + "requestLongType": "ListDepositsRequest", + "requestFullType": "datanode.api.v2.ListDepositsRequest", + "requestStreaming": false, + "responseType": "ListDepositsResponse", + "responseLongType": "ListDepositsResponse", + "responseFullType": "datanode.api.v2.ListDepositsResponse", + "responseStreaming": false + }, + { + "name": "GetWithdrawal", + "description": "Get withdrawal\n\nGet a withdrawal by its ID. A withdrawal's ID will be the SHA3-256 hash of the signature that the withdrawal was submitted with", + "requestType": "GetWithdrawalRequest", + "requestLongType": "GetWithdrawalRequest", + "requestFullType": "datanode.api.v2.GetWithdrawalRequest", + "requestStreaming": false, + "responseType": "GetWithdrawalResponse", + "responseLongType": "GetWithdrawalResponse", + "responseFullType": "datanode.api.v2.GetWithdrawalResponse", + "responseStreaming": false + }, + { + "name": "ListWithdrawals", + "description": "List withdrawals\n\nGet a list of withdrawals for a given party", + "requestType": "ListWithdrawalsRequest", + "requestLongType": "ListWithdrawalsRequest", + "requestFullType": "datanode.api.v2.ListWithdrawalsRequest", + "requestStreaming": false, + "responseType": "ListWithdrawalsResponse", + "responseLongType": "ListWithdrawalsResponse", + "responseFullType": "datanode.api.v2.ListWithdrawalsResponse", + "responseStreaming": false + }, + { + "name": "GetAsset", + "description": "Get asset\n\nGet a single asset using its ID. Use the assets list query to get an asset's ID", + "requestType": "GetAssetRequest", + "requestLongType": "GetAssetRequest", + "requestFullType": "datanode.api.v2.GetAssetRequest", + "requestStreaming": false, + "responseType": "GetAssetResponse", + "responseLongType": "GetAssetResponse", + "responseFullType": "datanode.api.v2.GetAssetResponse", + "responseStreaming": false + }, + { + "name": "ListAssets", + "description": "List assets\n\nGet a list of assets available on the Vega network", + "requestType": "ListAssetsRequest", + "requestLongType": "ListAssetsRequest", + "requestFullType": "datanode.api.v2.ListAssetsRequest", + "requestStreaming": false, + "responseType": "ListAssetsResponse", + "responseLongType": "ListAssetsResponse", + "responseFullType": "datanode.api.v2.ListAssetsResponse", + "responseStreaming": false + }, + { + "name": "ListLiquidityProvisions", + "description": "List liquidity provisions\n\nGet a list of liquidity provisions for a given market", + "requestType": "ListLiquidityProvisionsRequest", + "requestLongType": "ListLiquidityProvisionsRequest", + "requestFullType": "datanode.api.v2.ListLiquidityProvisionsRequest", + "requestStreaming": false, + "responseType": "ListLiquidityProvisionsResponse", + "responseLongType": "ListLiquidityProvisionsResponse", + "responseFullType": "datanode.api.v2.ListLiquidityProvisionsResponse", + "responseStreaming": false + }, + { + "name": "ObserveLiquidityProvisions", + "description": "Observe liquidity provisions\n\nSubscribe to a stream of liquidity provision events for a given market and party", + "requestType": "ObserveLiquidityProvisionsRequest", + "requestLongType": "ObserveLiquidityProvisionsRequest", + "requestFullType": "datanode.api.v2.ObserveLiquidityProvisionsRequest", + "requestStreaming": false, + "responseType": "ObserveLiquidityProvisionsResponse", + "responseLongType": "ObserveLiquidityProvisionsResponse", + "responseFullType": "datanode.api.v2.ObserveLiquidityProvisionsResponse", + "responseStreaming": true + }, + { + "name": "ListLiquidityProviders", + "description": "List liquidity providers data\n\nList information about active liquidity provider(s) for a given market, or liquidity provider's party ID", + "requestType": "ListLiquidityProvidersRequest", + "requestLongType": "ListLiquidityProvidersRequest", + "requestFullType": "datanode.api.v2.ListLiquidityProvidersRequest", + "requestStreaming": false, + "responseType": "ListLiquidityProvidersResponse", + "responseLongType": "ListLiquidityProvidersResponse", + "responseFullType": "datanode.api.v2.ListLiquidityProvidersResponse", + "responseStreaming": false + }, + { + "name": "GetGovernanceData", + "description": "Get governance data\n\nGet a single proposal's details either by proposal ID or by reference", + "requestType": "GetGovernanceDataRequest", + "requestLongType": "GetGovernanceDataRequest", + "requestFullType": "datanode.api.v2.GetGovernanceDataRequest", + "requestStreaming": false, + "responseType": "GetGovernanceDataResponse", + "responseLongType": "GetGovernanceDataResponse", + "responseFullType": "datanode.api.v2.GetGovernanceDataResponse", + "responseStreaming": false + }, + { + "name": "ListGovernanceData", + "description": "List governance data\n\nGet a list of proposals", + "requestType": "ListGovernanceDataRequest", + "requestLongType": "ListGovernanceDataRequest", + "requestFullType": "datanode.api.v2.ListGovernanceDataRequest", + "requestStreaming": false, + "responseType": "ListGovernanceDataResponse", + "responseLongType": "ListGovernanceDataResponse", + "responseFullType": "datanode.api.v2.ListGovernanceDataResponse", + "responseStreaming": false + }, + { + "name": "ObserveGovernance", + "description": "Observe governance\n\nSubscribe to a stream of updates to governance proposals", + "requestType": "ObserveGovernanceRequest", + "requestLongType": "ObserveGovernanceRequest", + "requestFullType": "datanode.api.v2.ObserveGovernanceRequest", + "requestStreaming": false, + "responseType": "ObserveGovernanceResponse", + "responseLongType": "ObserveGovernanceResponse", + "responseFullType": "datanode.api.v2.ObserveGovernanceResponse", + "responseStreaming": true + }, + { + "name": "ListDelegations", + "description": "List delegations\n\nGet a list of the token delegations on the network", + "requestType": "ListDelegationsRequest", + "requestLongType": "ListDelegationsRequest", + "requestFullType": "datanode.api.v2.ListDelegationsRequest", + "requestStreaming": false, + "responseType": "ListDelegationsResponse", + "responseLongType": "ListDelegationsResponse", + "responseFullType": "datanode.api.v2.ListDelegationsResponse", + "responseStreaming": false + }, + { + "name": "GetNetworkData", + "description": "Get network data\n\nGet data regarding the nodes of the network", + "requestType": "GetNetworkDataRequest", + "requestLongType": "GetNetworkDataRequest", + "requestFullType": "datanode.api.v2.GetNetworkDataRequest", + "requestStreaming": false, + "responseType": "GetNetworkDataResponse", + "responseLongType": "GetNetworkDataResponse", + "responseFullType": "datanode.api.v2.GetNetworkDataResponse", + "responseStreaming": false + }, + { + "name": "GetNode", + "description": "Get node\n\nGet information about a given node", + "requestType": "GetNodeRequest", + "requestLongType": "GetNodeRequest", + "requestFullType": "datanode.api.v2.GetNodeRequest", + "requestStreaming": false, + "responseType": "GetNodeResponse", + "responseLongType": "GetNodeResponse", + "responseFullType": "datanode.api.v2.GetNodeResponse", + "responseStreaming": false + }, + { + "name": "ListNodes", + "description": "List nodes\n\nGet a list of the nodes on the network along with the related information.", + "requestType": "ListNodesRequest", + "requestLongType": "ListNodesRequest", + "requestFullType": "datanode.api.v2.ListNodesRequest", + "requestStreaming": false, + "responseType": "ListNodesResponse", + "responseLongType": "ListNodesResponse", + "responseFullType": "datanode.api.v2.ListNodesResponse", + "responseStreaming": false + }, + { + "name": "ListNodeSignatures", + "description": "List node signatures\n\nGet a list of aggregate signatures from all the nodes of the network", + "requestType": "ListNodeSignaturesRequest", + "requestLongType": "ListNodeSignaturesRequest", + "requestFullType": "datanode.api.v2.ListNodeSignaturesRequest", + "requestStreaming": false, + "responseType": "ListNodeSignaturesResponse", + "responseLongType": "ListNodeSignaturesResponse", + "responseFullType": "datanode.api.v2.ListNodeSignaturesResponse", + "responseStreaming": false + }, + { + "name": "GetEpoch", + "description": "Get epoch\n\nGet data for a specific epoch, if ID is omitted, it retrieves the current epoch", + "requestType": "GetEpochRequest", + "requestLongType": "GetEpochRequest", + "requestFullType": "datanode.api.v2.GetEpochRequest", + "requestStreaming": false, + "responseType": "GetEpochResponse", + "responseLongType": "GetEpochResponse", + "responseFullType": "datanode.api.v2.GetEpochResponse", + "responseStreaming": false + }, + { + "name": "EstimateFee", + "description": "Estimate fee\n\nEstimate the fee that would be incurred for submitting an order\nwith the specified price and size on the market.", + "requestType": "EstimateFeeRequest", + "requestLongType": "EstimateFeeRequest", + "requestFullType": "datanode.api.v2.EstimateFeeRequest", + "requestStreaming": false, + "responseType": "EstimateFeeResponse", + "responseLongType": "EstimateFeeResponse", + "responseFullType": "datanode.api.v2.EstimateFeeResponse", + "responseStreaming": false + }, + { + "name": "EstimateMargin", + "description": "Estimate margin\n\nEstimate the margin that would be required for submitting this order", + "requestType": "EstimateMarginRequest", + "requestLongType": "EstimateMarginRequest", + "requestFullType": "datanode.api.v2.EstimateMarginRequest", + "requestStreaming": false, + "responseType": "EstimateMarginResponse", + "responseLongType": "EstimateMarginResponse", + "responseFullType": "datanode.api.v2.EstimateMarginResponse", + "responseStreaming": false + }, + { + "name": "EstimatePosition", + "description": "Estimate position\n\nEstimate the margin that would be required for maintaining the specified position.\nIf the optional collateral available argument is supplied, the response also contains the estimate of the liquidation price.", + "requestType": "EstimatePositionRequest", + "requestLongType": "EstimatePositionRequest", + "requestFullType": "datanode.api.v2.EstimatePositionRequest", + "requestStreaming": false, + "responseType": "EstimatePositionResponse", + "responseLongType": "EstimatePositionResponse", + "responseFullType": "datanode.api.v2.EstimatePositionResponse", + "responseStreaming": false + }, + { + "name": "ListNetworkParameters", + "description": "List network parameters\n\nGet a list of the network parameter keys and their values", + "requestType": "ListNetworkParametersRequest", + "requestLongType": "ListNetworkParametersRequest", + "requestFullType": "datanode.api.v2.ListNetworkParametersRequest", + "requestStreaming": false, + "responseType": "ListNetworkParametersResponse", + "responseLongType": "ListNetworkParametersResponse", + "responseFullType": "datanode.api.v2.ListNetworkParametersResponse", + "responseStreaming": false + }, + { + "name": "GetNetworkParameter", + "description": "Get network parameter\n\nGet a network parameter's value by its key", + "requestType": "GetNetworkParameterRequest", + "requestLongType": "GetNetworkParameterRequest", + "requestFullType": "datanode.api.v2.GetNetworkParameterRequest", + "requestStreaming": false, + "responseType": "GetNetworkParameterResponse", + "responseLongType": "GetNetworkParameterResponse", + "responseFullType": "datanode.api.v2.GetNetworkParameterResponse", + "responseStreaming": false + }, + { + "name": "ListCheckpoints", + "description": "List checkpoints\n\nGet a list of information about checkpoints generated by the network", + "requestType": "ListCheckpointsRequest", + "requestLongType": "ListCheckpointsRequest", + "requestFullType": "datanode.api.v2.ListCheckpointsRequest", + "requestStreaming": false, + "responseType": "ListCheckpointsResponse", + "responseLongType": "ListCheckpointsResponse", + "responseFullType": "datanode.api.v2.ListCheckpointsResponse", + "responseStreaming": false + }, + { + "name": "GetStake", + "description": "Get stake\n\nGet staking information for a given party", + "requestType": "GetStakeRequest", + "requestLongType": "GetStakeRequest", + "requestFullType": "datanode.api.v2.GetStakeRequest", + "requestStreaming": false, + "responseType": "GetStakeResponse", + "responseLongType": "GetStakeResponse", + "responseFullType": "datanode.api.v2.GetStakeResponse", + "responseStreaming": false + }, + { + "name": "GetRiskFactors", + "description": "Get risk factors\n\nGet risk factor data for a given market", + "requestType": "GetRiskFactorsRequest", + "requestLongType": "GetRiskFactorsRequest", + "requestFullType": "datanode.api.v2.GetRiskFactorsRequest", + "requestStreaming": false, + "responseType": "GetRiskFactorsResponse", + "responseLongType": "GetRiskFactorsResponse", + "responseFullType": "datanode.api.v2.GetRiskFactorsResponse", + "responseStreaming": false + }, + { + "name": "ObserveEventBus", + "description": "Observe event bus\n\nSubscribe to a stream of events from the core", + "requestType": "ObserveEventBusRequest", + "requestLongType": "ObserveEventBusRequest", + "requestFullType": "datanode.api.v2.ObserveEventBusRequest", + "requestStreaming": true, + "responseType": "ObserveEventBusResponse", + "responseLongType": "ObserveEventBusResponse", + "responseFullType": "datanode.api.v2.ObserveEventBusResponse", + "responseStreaming": true + }, + { + "name": "ObserveLedgerMovements", + "description": "Observe ledger movements\n\nSubscribe to a stream of transfer responses", + "requestType": "ObserveLedgerMovementsRequest", + "requestLongType": "ObserveLedgerMovementsRequest", + "requestFullType": "datanode.api.v2.ObserveLedgerMovementsRequest", + "requestStreaming": false, + "responseType": "ObserveLedgerMovementsResponse", + "responseLongType": "ObserveLedgerMovementsResponse", + "responseFullType": "datanode.api.v2.ObserveLedgerMovementsResponse", + "responseStreaming": true + }, + { + "name": "ListKeyRotations", + "description": "List key rotations\n\nGet a list of information about Vega key rotations that have been performed by validator nodes", + "requestType": "ListKeyRotationsRequest", + "requestLongType": "ListKeyRotationsRequest", + "requestFullType": "datanode.api.v2.ListKeyRotationsRequest", + "requestStreaming": false, + "responseType": "ListKeyRotationsResponse", + "responseLongType": "ListKeyRotationsResponse", + "responseFullType": "datanode.api.v2.ListKeyRotationsResponse", + "responseStreaming": false + }, + { + "name": "ListEthereumKeyRotations", + "description": "List Ethereum key rotations\n\nGet a list of information about Ethereum key rotations that have been performed by validator nodes", + "requestType": "ListEthereumKeyRotationsRequest", + "requestLongType": "ListEthereumKeyRotationsRequest", + "requestFullType": "datanode.api.v2.ListEthereumKeyRotationsRequest", + "requestStreaming": false, + "responseType": "ListEthereumKeyRotationsResponse", + "responseLongType": "ListEthereumKeyRotationsResponse", + "responseFullType": "datanode.api.v2.ListEthereumKeyRotationsResponse", + "responseStreaming": false + }, + { + "name": "GetVegaTime", + "description": "Get Vega time\n\nGet the current time of the network in Unix nanoseconds", + "requestType": "GetVegaTimeRequest", + "requestLongType": "GetVegaTimeRequest", + "requestFullType": "datanode.api.v2.GetVegaTimeRequest", + "requestStreaming": false, + "responseType": "GetVegaTimeResponse", + "responseLongType": "GetVegaTimeResponse", + "responseFullType": "datanode.api.v2.GetVegaTimeResponse", + "responseStreaming": false + }, + { + "name": "GetProtocolUpgradeStatus", + "description": "Get protocol upgrade status\n\nGet status of a protocol upgrade", + "requestType": "GetProtocolUpgradeStatusRequest", + "requestLongType": "GetProtocolUpgradeStatusRequest", + "requestFullType": "datanode.api.v2.GetProtocolUpgradeStatusRequest", + "requestStreaming": false, + "responseType": "GetProtocolUpgradeStatusResponse", + "responseLongType": "GetProtocolUpgradeStatusResponse", + "responseFullType": "datanode.api.v2.GetProtocolUpgradeStatusResponse", + "responseStreaming": false + }, + { + "name": "ListProtocolUpgradeProposals", + "description": "List protocol upgrade proposals\n\nGet a list of protocol upgrade proposals, optionally filtering on status or approver.", + "requestType": "ListProtocolUpgradeProposalsRequest", + "requestLongType": "ListProtocolUpgradeProposalsRequest", + "requestFullType": "datanode.api.v2.ListProtocolUpgradeProposalsRequest", + "requestStreaming": false, + "responseType": "ListProtocolUpgradeProposalsResponse", + "responseLongType": "ListProtocolUpgradeProposalsResponse", + "responseFullType": "datanode.api.v2.ListProtocolUpgradeProposalsResponse", + "responseStreaming": false + }, + { + "name": "ListCoreSnapshots", + "description": "List snapshots\n\nGet a list of core snapshots taken", + "requestType": "ListCoreSnapshotsRequest", + "requestLongType": "ListCoreSnapshotsRequest", + "requestFullType": "datanode.api.v2.ListCoreSnapshotsRequest", + "requestStreaming": false, + "responseType": "ListCoreSnapshotsResponse", + "responseLongType": "ListCoreSnapshotsResponse", + "responseFullType": "datanode.api.v2.ListCoreSnapshotsResponse", + "responseStreaming": false + }, + { + "name": "GetMostRecentNetworkHistorySegment", + "description": "Get most recent network history segment\n\nGet the network's most recently history segment", + "requestType": "GetMostRecentNetworkHistorySegmentRequest", + "requestLongType": "GetMostRecentNetworkHistorySegmentRequest", + "requestFullType": "datanode.api.v2.GetMostRecentNetworkHistorySegmentRequest", + "requestStreaming": false, + "responseType": "GetMostRecentNetworkHistorySegmentResponse", + "responseLongType": "GetMostRecentNetworkHistorySegmentResponse", + "responseFullType": "datanode.api.v2.GetMostRecentNetworkHistorySegmentResponse", + "responseStreaming": false + }, + { + "name": "ListAllNetworkHistorySegments", + "description": "List all network history segments\n\nGet a list of all history segments stored by the data node currently connected to", + "requestType": "ListAllNetworkHistorySegmentsRequest", + "requestLongType": "ListAllNetworkHistorySegmentsRequest", + "requestFullType": "datanode.api.v2.ListAllNetworkHistorySegmentsRequest", + "requestStreaming": false, + "responseType": "ListAllNetworkHistorySegmentsResponse", + "responseLongType": "ListAllNetworkHistorySegmentsResponse", + "responseFullType": "datanode.api.v2.ListAllNetworkHistorySegmentsResponse", + "responseStreaming": false + }, + { + "name": "GetActiveNetworkHistoryPeerAddresses", + "description": "Get active network history peer addresses\n\nGet a list of the addresses of all active network history peers", + "requestType": "GetActiveNetworkHistoryPeerAddressesRequest", + "requestLongType": "GetActiveNetworkHistoryPeerAddressesRequest", + "requestFullType": "datanode.api.v2.GetActiveNetworkHistoryPeerAddressesRequest", + "requestStreaming": false, + "responseType": "GetActiveNetworkHistoryPeerAddressesResponse", + "responseLongType": "GetActiveNetworkHistoryPeerAddressesResponse", + "responseFullType": "datanode.api.v2.GetActiveNetworkHistoryPeerAddressesResponse", + "responseStreaming": false + }, + { + "name": "GetNetworkHistoryStatus", + "description": "Network history status\n\nGet information about the current state of network history's IPFS swarm", + "requestType": "GetNetworkHistoryStatusRequest", + "requestLongType": "GetNetworkHistoryStatusRequest", + "requestFullType": "datanode.api.v2.GetNetworkHistoryStatusRequest", + "requestStreaming": false, + "responseType": "GetNetworkHistoryStatusResponse", + "responseLongType": "GetNetworkHistoryStatusResponse", + "responseFullType": "datanode.api.v2.GetNetworkHistoryStatusResponse", + "responseStreaming": false + }, + { + "name": "GetNetworkHistoryBootstrapPeers", + "description": "Network history bootstrap peers\n\nGet a list of IPFS peers that can be used to initialise a new data node with network history", + "requestType": "GetNetworkHistoryBootstrapPeersRequest", + "requestLongType": "GetNetworkHistoryBootstrapPeersRequest", + "requestFullType": "datanode.api.v2.GetNetworkHistoryBootstrapPeersRequest", + "requestStreaming": false, + "responseType": "GetNetworkHistoryBootstrapPeersResponse", + "responseLongType": "GetNetworkHistoryBootstrapPeersResponse", + "responseFullType": "datanode.api.v2.GetNetworkHistoryBootstrapPeersResponse", + "responseStreaming": false + }, + { + "name": "ListEntities", + "description": "List entities\n\nGet a list of all entities created by transaction hash", + "requestType": "ListEntitiesRequest", + "requestLongType": "ListEntitiesRequest", + "requestFullType": "datanode.api.v2.ListEntitiesRequest", + "requestStreaming": false, + "responseType": "ListEntitiesResponse", + "responseLongType": "ListEntitiesResponse", + "responseFullType": "datanode.api.v2.ListEntitiesResponse", + "responseStreaming": false + }, + { + "name": "ExportNetworkHistory", + "description": "Export network history as CSV\n\nExport CSV table data from network history between two block heights.\n\nThe requested block heights must fall on network history segment boundaries, which can\nbe discovered by calling the API to list all network history segments. By default\nsegments contain 1000 blocks. In that case ranges such as (1, 1000), (1001, 2000), (1, 3000)\nwould all fall on segment boundaries and be valid.\n\nThe generated CSV file is compressed into a ZIP file and returned, with the file name\nin the following format: `[chain id]-[table name]-[start block]-[end block].zip`\n\nIn gRPC, results are returned in a chunked stream of base64 encoded data.\n\nThrough the REST gateway, the base64 data chunks are decoded and streamed as a\n`content-type: application/zip` HTTP response.\n\nThe CSV exported data uses a comma as a DELIMITER between fields, and \" for QUOTE-ing fields.\n\nIf a value contains any of: DELIMITER, QUOTE, carriage return, or line feed then the whole\nvalue is prefixed and suffixed by the QUOTE character and any occurrence within\nthe value of a QUOTE character preceded by another QUOTE.\n\nA NULL is output as the NULL parameter string and is not quoted, while a non-NULL value\nmatching the NULL parameter string is quoted.\n\nFor example, with the default settings, a NULL is written as an unquoted empty string,\nwhile an empty string data value is written with double quotes.\n\nNote that CSV files produced may contain quoted values containing embedded carriage returns and line feeds.\nThus the files are not strictly one line per table row like text-format files.\n\nThe first row of the CSV file is a header that describes the contents of each column\nin subsequent rows.\n\nUsually the ZIP file will contain only a single CSV file. However it is possible that\nthe (from_block, to_block) request spans over a range of blocks in which the underlying\nschema of the database changes. For example, a column may have been added, removed, or renamed.\n\nIf this happens, the CSV file will be split at the point of the schema change and the zip\nfile will contain multiple CSV files, with a potentially different set of headers. The\n'version' number of the database schema is part of the in the CSV filename:\n\n `[chain id]-[table name]-[schema version]-[start block]-[end block].zip`\n\nFor example, a zip file might be called mainnet-sometable-000001-003000.zip\n\nAnd contain two CSV files: `mainnet-sometable-1-000001-002000.csv`:\n\ntimestamp, value\n1, foo\n2, bar\n\nAnd `mainnet-sometable-2-002001-003000.csv`:\n\ntimestamp, value, extra_value\n3, baz, apple\n\nIt is worth noting that the schema will not change within a single network history segment.\nbuf:lint:ignore RPC_RESPONSE_STANDARD_NAME\nbuf:lint:ignore RPC_REQUEST_RESPONSE_UNIQUE", + "requestType": "ExportNetworkHistoryRequest", + "requestLongType": "ExportNetworkHistoryRequest", + "requestFullType": "datanode.api.v2.ExportNetworkHistoryRequest", + "requestStreaming": false, + "responseType": "HttpBody", + "responseLongType": ".google.api.HttpBody", + "responseFullType": "google.api.HttpBody", + "responseStreaming": true + }, + { + "name": "Ping", + "description": "Ping\n\nPing the data node", + "requestType": "PingRequest", + "requestLongType": "PingRequest", + "requestFullType": "datanode.api.v2.PingRequest", + "requestStreaming": false, + "responseType": "PingResponse", + "responseLongType": "PingResponse", + "responseFullType": "datanode.api.v2.PingResponse", + "responseStreaming": false + } + ] + } + ] + }, + { + "name": "vega/api/v1/core.proto", + "description": "", + "package": "vega.api.v1", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": true, + "enums": [ + { + "name": "Type", + "longName": "SubmitRawTransactionRequest.Type", + "fullName": "vega.api.v1.SubmitRawTransactionRequest.Type", + "description": "Blockchain transaction type", + "values": [ + { + "name": "TYPE_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "TYPE_ASYNC", + "number": "1", + "description": "Transaction will be submitted without waiting for response" + }, + { + "name": "TYPE_SYNC", + "number": "2", + "description": "Transaction will be submitted, and blocking until the\ntendermint mempool returns a response" + }, + { + "name": "TYPE_COMMIT", + "number": "3", + "description": "Transaction will be submitted, and blocking until the tendermint\nnetwork has committed it into a block. Used only for debugging,\nnot for submitting transactions" + } + ] + }, + { + "name": "Type", + "longName": "SubmitTransactionRequest.Type", + "fullName": "vega.api.v1.SubmitTransactionRequest.Type", + "description": "Blockchain transaction type", + "values": [ + { + "name": "TYPE_UNSPECIFIED", + "number": "0", + "description": "" + }, + { + "name": "TYPE_ASYNC", + "number": "1", + "description": "Transaction will be submitted without waiting for response" + }, + { + "name": "TYPE_SYNC", + "number": "2", + "description": "Transaction will be submitted, and blocking until the\ntendermint mempool returns a response" + }, + { + "name": "TYPE_COMMIT", + "number": "3", + "description": "Transaction will be submitted, and blocking until the tendermint\nnetwork has committed it into a block. Used only for debugging,\nnot for submitting transactions" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "CheckRawTransactionRequest", + "longName": "CheckRawTransactionRequest", + "fullName": "vega.api.v1.CheckRawTransactionRequest", + "description": "Request for checking a version agnostic transaction on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "tx", + "description": "Bundle of signed payload and signature marshalled into a byte array, to form a transaction that would be submitted to the Vega blockchain", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CheckRawTransactionResponse", + "longName": "CheckRawTransactionResponse", + "fullName": "vega.api.v1.CheckRawTransactionResponse", + "description": "Response for checking a version agnostic transaction on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "success", + "description": "Success will be true if the transaction was checked by the node", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "code", + "description": "Check code result", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "gas_wanted", + "description": "Gas wanted for transaction", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "gas_used", + "description": "Gas used for transaction", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data", + "description": "Data for details", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "log", + "description": "Transaction log", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "info", + "description": "Information about the transaction", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CheckTransactionRequest", + "longName": "CheckTransactionRequest", + "fullName": "vega.api.v1.CheckTransactionRequest", + "description": "Request for checking a transaction v2 on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "tx", + "description": "Bundle of signed payload and signature, to form a transaction that would be submitted to the Vega blockchain", + "label": "", + "type": "Transaction", + "longType": "vega.commands.v1.Transaction", + "fullType": "vega.commands.v1.Transaction", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CheckTransactionResponse", + "longName": "CheckTransactionResponse", + "fullName": "vega.api.v1.CheckTransactionResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "success", + "description": "Success will be true if the transaction was checked by the node", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "code", + "description": "Check code result", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "gas_wanted", + "description": "Gas wanted for transaction", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "gas_used", + "description": "Gas used for transaction", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data", + "description": "Data for details", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "log", + "description": "Transaction log", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "info", + "description": "Information about the transaction", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetSpamStatisticsRequest", + "longName": "GetSpamStatisticsRequest", + "fullName": "vega.api.v1.GetSpamStatisticsRequest", + "description": "Request to retrieve the spam statistics of a party for the given epoch", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Party ID whose statistics are requested", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetSpamStatisticsResponse", + "longName": "GetSpamStatisticsResponse", + "fullName": "vega.api.v1.GetSpamStatisticsResponse", + "description": "Response containing all the spam statistics of a party for the current epoch", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "chain_id", + "description": "Chain ID for which the statistics are captured.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "statistics", + "description": "Spam statistics for the party", + "label": "", + "type": "SpamStatistics", + "longType": "SpamStatistics", + "fullType": "vega.api.v1.SpamStatistics", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GetVegaTimeRequest", + "longName": "GetVegaTimeRequest", + "fullName": "vega.api.v1.GetVegaTimeRequest", + "description": "Request for the current time of the Vega network", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "GetVegaTimeResponse", + "longName": "GetVegaTimeResponse", + "fullName": "vega.api.v1.GetVegaTimeResponse", + "description": "Response for the current consensus coordinated time on the Vega network, referred to as \"VegaTime\"", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "timestamp", + "description": "Timestamp representation of current VegaTime as represented in\nUnix nanoseconds, for example `1580473859111222333` corresponds to `2020-01-31T12:30:59.111222333Z`", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LastBlockHeightRequest", + "longName": "LastBlockHeightRequest", + "fullName": "vega.api.v1.LastBlockHeightRequest", + "description": "Request to get the height of the very last block processed\nby tendermint", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "LastBlockHeightResponse", + "longName": "LastBlockHeightResponse", + "fullName": "vega.api.v1.LastBlockHeightResponse", + "description": "Response with the height of the last block processed by\ntendermint", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "height", + "description": "Last block height", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "hash", + "description": "Last block hash", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "spam_pow_hash_function", + "description": "Supported proof of work hash function", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "spam_pow_difficulty", + "description": "Difficulty of the proof of work, i.e. the target number of zeros", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "spam_pow_number_of_past_blocks", + "description": "Supported proof of work number of blocks behind current height allowed", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "spam_pow_number_of_tx_per_block", + "description": "Allowed number of transactions per block", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "spam_pow_increasing_difficulty", + "description": "Boolean indicating whether increasing difficulty is allowed for using the\nsame height for more than `spam_pow_number_of_past_blocks` transactions", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "chain_id", + "description": "Network chain id from which the block comes from", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveEventBusRequest", + "longName": "ObserveEventBusRequest", + "fullName": "vega.api.v1.ObserveEventBusRequest", + "description": "Request to subscribe to a stream of one or more event types from the Vega event bus", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "type", + "description": "One or more types of event, required field", + "label": "repeated", + "type": "BusEventType", + "longType": "vega.events.v1.BusEventType", + "fullType": "vega.events.v1.BusEventType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID to filter events for, optional field. If omitted, no markets will be filtered out.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "Party ID to filter events for, optional field. If omitted, no parties will be filtered out.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "batch_size", + "description": "Batch size, optional field -\nIf not specified, any events received will be sent immediately. If the client is not ready\nfor the next data-set, data may be dropped a number of times, and eventually the stream is closed.\nif specified, the first batch will be sent when ready. To receive the next set of events, the client\nmust write an `ObserveEventBatch` message on the stream to flush the buffer.\nIf no message is received in 5 seconds, the stream is closed.\nDefault: 0, send any and all events when they are available.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ObserveEventBusResponse", + "longName": "ObserveEventBusResponse", + "fullName": "vega.api.v1.ObserveEventBusResponse", + "description": "Response to a subscribed stream of events from the Vega event bus", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "events", + "description": "One or more events that match the subscription request criteria.", + "label": "repeated", + "type": "BusEvent", + "longType": "vega.events.v1.BusEvent", + "fullType": "vega.events.v1.BusEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PoWBlockState", + "longName": "PoWBlockState", + "fullName": "vega.api.v1.PoWBlockState", + "description": "Proof of Work state for a given block", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "block_height", + "description": "Block height for the current Proof of Work state statistics", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_hash", + "description": "Hash of the current block", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "transactions_seen", + "description": "Total number of transactions seen in the block", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expected_difficulty", + "description": "This is the minimum required difficulty for the next transaction submitted on this block\nif it is possible to submit more transactions on this block, otherwise nil.", + "label": "optional", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": true, + "oneofdecl": "_expected_difficulty", + "defaultValue": "" + }, + { + "name": "hash_function", + "description": "Hashing function used to calculate the block hash", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "difficulty", + "description": "Base difficulty for this block for when transactions seen \u003c tx_per_block", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tx_per_block", + "description": "Number of transactions that can have their proof-of-work calculated with this block hash before\neither the difficulty increases, or no more transactions can use this block hash", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "increasing_difficulty", + "description": "Whether or not this block allows for increasing proof-of-work difficulty if the\ntx-per-block-hash limit has been reached", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PoWStatistic", + "longName": "PoWStatistic", + "fullName": "vega.api.v1.PoWStatistic", + "description": "Proof of work statistics for a party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "block_states", + "description": "Block state for each block in scope for PoW calculation", + "label": "repeated", + "type": "PoWBlockState", + "longType": "PoWBlockState", + "fullType": "vega.api.v1.PoWBlockState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "banned_until", + "description": "PoW banned until timestamp as RFC3339Nano", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_banned_until", + "defaultValue": "" + }, + { + "name": "number_of_past_blocks", + "description": "Number of block behind the current block whose hash can be used for proof-of-work calculations", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PropagateChainEventRequest", + "longName": "PropagateChainEventRequest", + "fullName": "vega.api.v1.PropagateChainEventRequest", + "description": "Request for a new event sent by the blockchain queue to be propagated on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "event", + "description": "Chain event to propagate.", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pub_key", + "description": "Public key of the key pair used to sign messages.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signature", + "description": "Signature generated by the private key associated with the public key.", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PropagateChainEventResponse", + "longName": "PropagateChainEventResponse", + "fullName": "vega.api.v1.PropagateChainEventResponse", + "description": "Response for a new event sent by the blockchain queue to be propagated on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "success", + "description": "Success will be true if the event was accepted by the node,\n**Important** - success does not mean that the event is confirmed by consensus", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SpamStatistic", + "longName": "SpamStatistic", + "fullName": "vega.api.v1.SpamStatistic", + "description": "Statistics for a given spam policy", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "count_for_epoch", + "description": "Current transaction count received from the party during this epoch for this policy", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "max_for_epoch", + "description": "Maximum number of transactions allowed for this policy in an epoch", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "banned_until", + "description": "If blocked the timestamp when the party will be unblocked as RFC3339Nano", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_banned_until", + "defaultValue": "" + }, + { + "name": "min_tokens_required", + "description": "Effective minimum number of tokens required to submit a transaction of this type", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SpamStatistics", + "longName": "SpamStatistics", + "fullName": "vega.api.v1.SpamStatistics", + "description": "Complete spam statistics captured for a given party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposals", + "description": "Statistics for proposal transactions made by the party", + "label": "", + "type": "SpamStatistic", + "longType": "SpamStatistic", + "fullType": "vega.api.v1.SpamStatistic", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "delegations", + "description": "Statistics for delegation transactions made by the party", + "label": "", + "type": "SpamStatistic", + "longType": "SpamStatistic", + "fullType": "vega.api.v1.SpamStatistic", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "transfers", + "description": "Statistics for transfer transactions made by the party", + "label": "", + "type": "SpamStatistic", + "longType": "SpamStatistic", + "fullType": "vega.api.v1.SpamStatistic", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "node_announcements", + "description": "Statistics for node announcement transactions made by the party", + "label": "", + "type": "SpamStatistic", + "longType": "SpamStatistic", + "fullType": "vega.api.v1.SpamStatistic", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "votes", + "description": "Statistics for proposal votes made by the party", + "label": "", + "type": "VoteSpamStatistics", + "longType": "VoteSpamStatistics", + "fullType": "vega.api.v1.VoteSpamStatistics", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pow", + "description": "Statistics for proof of work difficulty observed per block for the party", + "label": "", + "type": "PoWStatistic", + "longType": "PoWStatistic", + "fullType": "vega.api.v1.PoWStatistic", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "issue_signatures", + "description": "Statistics for multisig signatures issued for the party", + "label": "", + "type": "SpamStatistic", + "longType": "SpamStatistic", + "fullType": "vega.api.v1.SpamStatistic", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "Epoch in which these statistics apply to", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Statistics", + "longName": "Statistics", + "fullName": "vega.api.v1.Statistics", + "description": "Vega domain specific statistics as reported by the node the caller is connected to", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "block_height", + "description": "Current block height as reported by the Vega blockchain", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "backlog_length", + "description": "Current backlog length i.e., number of transactions, that are waiting to be included in a block", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_peers", + "description": "Total number of connected peers to this node", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "genesis_time", + "description": "Genesis block date and time formatted in ISO-8601 datetime format with nanosecond precision", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "current_time", + "description": "Current system date and time formatted in ISO-8601 datetime format with nanosecond precision", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_time", + "description": "Current Vega date and time formatted in ISO-8601 datetime format with nanosecond precision", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "Status of the connection to the Vega blockchain", + "label": "", + "type": "ChainStatus", + "longType": "vega.ChainStatus", + "fullType": "vega.ChainStatus", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tx_per_block", + "description": "Transactions per block", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "average_tx_bytes", + "description": "Average transaction size in bytes", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "average_orders_per_block", + "description": "Average orders per block", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trades_per_second", + "description": "Trades emitted per second", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "orders_per_second", + "description": "Orders processed per second", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_markets", + "description": "Total markets on this Vega network", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_amend_order", + "description": "Total number of order amendments since genesis across all markets", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_cancel_order", + "description": "Total number of order cancellations since genesis across all markets", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_create_order", + "description": "Total number of order submissions since genesis across all markets", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_orders", + "description": "Total number of orders processed since genesis across all markets", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_trades", + "description": "Total number of trades emitted since genesis across all markets", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "order_subscriptions", + "description": "Current number of stream subscribers to order data", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trade_subscriptions", + "description": "Current number of stream subscribers to trade data", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "candle_subscriptions", + "description": "Current number of stream subscribers to candlestick data", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_depth_subscriptions", + "description": "Current number of stream subscribers to market depth data", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "positions_subscriptions", + "description": "Current number of stream subscribers to positions data", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "account_subscriptions", + "description": "Current number of stream subscribers to account data", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_data_subscriptions", + "description": "Current number of stream subscribers to market data", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "app_version_hash", + "description": "Version hash of the Vega node software", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "app_version", + "description": "Version of the Vega node software", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "chain_version", + "description": "Version of the underlying Vega blockchain", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_duration", + "description": "Current block duration, in nanoseconds", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "uptime", + "description": "Total uptime for this node formatted in ISO-8601 datetime format with nanosecond precision", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "chain_id", + "description": "Unique ID for the underlying Vega blockchain", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_depth_updates_subscriptions", + "description": "Current number of stream subscribers to market depth update data", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_hash", + "description": "Current block hash", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "Current epoch", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_start_time", + "description": "Epoch start time", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_expiry_time", + "description": "Epoch expected end time", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "event_count", + "description": "Number of events in the last block", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "events_per_second", + "description": "Rate of events per second in the last block", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StatisticsRequest", + "longName": "StatisticsRequest", + "fullName": "vega.api.v1.StatisticsRequest", + "description": "Request for statistics about the Vega network", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "StatisticsResponse", + "longName": "StatisticsResponse", + "fullName": "vega.api.v1.StatisticsResponse", + "description": "Response containing statistics about the Vega network", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "statistics", + "description": "", + "label": "", + "type": "Statistics", + "longType": "Statistics", + "fullType": "vega.api.v1.Statistics", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SubmitRawTransactionRequest", + "longName": "SubmitRawTransactionRequest", + "fullName": "vega.api.v1.SubmitRawTransactionRequest", + "description": "Request for submitting a version agnostic transaction on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "tx", + "description": "Bundle of signed payload and signature marshalled into a byte array, to form a transaction that will be submitted to the Vega blockchain", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Type of transaction request, for example ASYNC, meaning the transaction will be submitted and not block on a response", + "label": "", + "type": "Type", + "longType": "SubmitRawTransactionRequest.Type", + "fullType": "vega.api.v1.SubmitRawTransactionRequest.Type", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SubmitRawTransactionResponse", + "longName": "SubmitRawTransactionResponse", + "fullName": "vega.api.v1.SubmitRawTransactionResponse", + "description": "Response for submitting a version agnostic transaction on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "success", + "description": "Success will be true if the transaction was accepted by the node,\n**Important** - success does not mean that the event is confirmed by consensus", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tx_hash", + "description": "Hash of the transaction, if accepted", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "code", + "description": "", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "log", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "height", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SubmitTransactionRequest", + "longName": "SubmitTransactionRequest", + "fullName": "vega.api.v1.SubmitTransactionRequest", + "description": "Request for submitting a transaction v2 on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "tx", + "description": "Bundle of signed payload and signature, to form a transaction that will be submitted to the Vega blockchain", + "label": "", + "type": "Transaction", + "longType": "vega.commands.v1.Transaction", + "fullType": "vega.commands.v1.Transaction", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "Type of transaction request, for example ASYNC, meaning the transaction will be submitted and not block on a response", + "label": "", + "type": "Type", + "longType": "SubmitTransactionRequest.Type", + "fullType": "vega.api.v1.SubmitTransactionRequest.Type", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SubmitTransactionResponse", + "longName": "SubmitTransactionResponse", + "fullName": "vega.api.v1.SubmitTransactionResponse", + "description": "Response for submitting a transaction v2 on Vega", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "success", + "description": "Success will be true if the transaction was accepted by the node,\n**Important** - success does not mean that the event is confirmed by consensus", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tx_hash", + "description": "Hash of the transaction, if accepted", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "code", + "description": "Result code for success if unsuccessful", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data", + "description": "Data for details", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "log", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "height", + "description": "Height for commit", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "VoteSpamStatistic", + "longName": "VoteSpamStatistic", + "fullName": "vega.api.v1.VoteSpamStatistic", + "description": "Vote statistics for the voting spam policies\nwhich are calculated as a ratio of the total votes\nthat have been rejected.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposal", + "description": "Unique ID of the proposal being voted on by the party.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "count_for_epoch", + "description": "Current vote count received from the party for the given proposal during this epoch", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "min_tokens_required", + "description": "Effective minimum number of tokens required to vote on the proposal", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "VoteSpamStatistics", + "longName": "VoteSpamStatistics", + "fullName": "vega.api.v1.VoteSpamStatistics", + "description": "Voting statistics by proposal for a given party for the current epoch", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "statistics", + "description": "List of statistics for proposals voted on by the party", + "label": "repeated", + "type": "VoteSpamStatistic", + "longType": "VoteSpamStatistic", + "fullType": "vega.api.v1.VoteSpamStatistic", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "max_for_epoch", + "description": "Maximum number of votes per proposal allowed in an epoch", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "banned_until", + "description": "If blocked the timestamp when the party will be unblocked as RFC3339Nano", + "label": "optional", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": true, + "oneofdecl": "_banned_until", + "defaultValue": "" + } + ] + } + ], + "services": [ + { + "name": "CoreService", + "longName": "CoreService", + "fullName": "vega.api.v1.CoreService", + "description": "", + "methods": [ + { + "name": "SubmitTransaction", + "description": "Submit transaction\n\nSubmit a signed transaction", + "requestType": "SubmitTransactionRequest", + "requestLongType": "SubmitTransactionRequest", + "requestFullType": "vega.api.v1.SubmitTransactionRequest", + "requestStreaming": false, + "responseType": "SubmitTransactionResponse", + "responseLongType": "SubmitTransactionResponse", + "responseFullType": "vega.api.v1.SubmitTransactionResponse", + "responseStreaming": false + }, + { + "name": "PropagateChainEvent", + "description": "Chain event\n\nPropagate a chain event", + "requestType": "PropagateChainEventRequest", + "requestLongType": "PropagateChainEventRequest", + "requestFullType": "vega.api.v1.PropagateChainEventRequest", + "requestStreaming": false, + "responseType": "PropagateChainEventResponse", + "responseLongType": "PropagateChainEventResponse", + "responseFullType": "vega.api.v1.PropagateChainEventResponse", + "responseStreaming": false + }, + { + "name": "Statistics", + "description": "Statistics\n\nGet statistics on Vega", + "requestType": "StatisticsRequest", + "requestLongType": "StatisticsRequest", + "requestFullType": "vega.api.v1.StatisticsRequest", + "requestStreaming": false, + "responseType": "StatisticsResponse", + "responseLongType": "StatisticsResponse", + "responseFullType": "vega.api.v1.StatisticsResponse", + "responseStreaming": false + }, + { + "name": "LastBlockHeight", + "description": "Blockchain height\n\nGet the height of the last tendermint block", + "requestType": "LastBlockHeightRequest", + "requestLongType": "LastBlockHeightRequest", + "requestFullType": "vega.api.v1.LastBlockHeightRequest", + "requestStreaming": false, + "responseType": "LastBlockHeightResponse", + "responseLongType": "LastBlockHeightResponse", + "responseFullType": "vega.api.v1.LastBlockHeightResponse", + "responseStreaming": false + }, + { + "name": "GetVegaTime", + "description": "Vega time\n\nGet current Vega time", + "requestType": "GetVegaTimeRequest", + "requestLongType": "GetVegaTimeRequest", + "requestFullType": "vega.api.v1.GetVegaTimeRequest", + "requestStreaming": false, + "responseType": "GetVegaTimeResponse", + "responseLongType": "GetVegaTimeResponse", + "responseFullType": "vega.api.v1.GetVegaTimeResponse", + "responseStreaming": false + }, + { + "name": "ObserveEventBus", + "description": "Events subscription\n\nSubscribe to a stream of events from the core", + "requestType": "ObserveEventBusRequest", + "requestLongType": "ObserveEventBusRequest", + "requestFullType": "vega.api.v1.ObserveEventBusRequest", + "requestStreaming": true, + "responseType": "ObserveEventBusResponse", + "responseLongType": "ObserveEventBusResponse", + "responseFullType": "vega.api.v1.ObserveEventBusResponse", + "responseStreaming": true + }, + { + "name": "SubmitRawTransaction", + "description": "Submit raw transaction\n\nSubmit a version agnostic signed transaction", + "requestType": "SubmitRawTransactionRequest", + "requestLongType": "SubmitRawTransactionRequest", + "requestFullType": "vega.api.v1.SubmitRawTransactionRequest", + "requestStreaming": false, + "responseType": "SubmitRawTransactionResponse", + "responseLongType": "SubmitRawTransactionResponse", + "responseFullType": "vega.api.v1.SubmitRawTransactionResponse", + "responseStreaming": false + }, + { + "name": "CheckTransaction", + "description": "Check transaction\n\nCheck a signed transaction", + "requestType": "CheckTransactionRequest", + "requestLongType": "CheckTransactionRequest", + "requestFullType": "vega.api.v1.CheckTransactionRequest", + "requestStreaming": false, + "responseType": "CheckTransactionResponse", + "responseLongType": "CheckTransactionResponse", + "responseFullType": "vega.api.v1.CheckTransactionResponse", + "responseStreaming": false + }, + { + "name": "CheckRawTransaction", + "description": "Check raw transaction\n\nCheck a raw signed transaction", + "requestType": "CheckRawTransactionRequest", + "requestLongType": "CheckRawTransactionRequest", + "requestFullType": "vega.api.v1.CheckRawTransactionRequest", + "requestStreaming": false, + "responseType": "CheckRawTransactionResponse", + "responseLongType": "CheckRawTransactionResponse", + "responseFullType": "vega.api.v1.CheckRawTransactionResponse", + "responseStreaming": false + }, + { + "name": "GetSpamStatistics", + "description": "Get Spam statistics\n\nGet the spam statistics for a given party", + "requestType": "GetSpamStatisticsRequest", + "requestLongType": "GetSpamStatisticsRequest", + "requestFullType": "vega.api.v1.GetSpamStatisticsRequest", + "requestStreaming": false, + "responseType": "GetSpamStatisticsResponse", + "responseLongType": "GetSpamStatisticsResponse", + "responseFullType": "vega.api.v1.GetSpamStatisticsResponse", + "responseStreaming": false + } + ] + } + ] + }, + { + "name": "vega/api/v1/corestate.proto", + "description": "", + "package": "vega.api.v1", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": true, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "Account", + "longName": "Account", + "fullName": "vega.api.v1.Account", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "balance", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "type", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListAccountsRequest", + "longName": "ListAccountsRequest", + "fullName": "vega.api.v1.ListAccountsRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListAccountsResponse", + "longName": "ListAccountsResponse", + "fullName": "vega.api.v1.ListAccountsResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "accounts", + "description": "", + "label": "repeated", + "type": "Account", + "longType": "Account", + "fullType": "vega.api.v1.Account", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListAssetsRequest", + "longName": "ListAssetsRequest", + "fullName": "vega.api.v1.ListAssetsRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset", + "description": "optional ID", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListAssetsResponse", + "longName": "ListAssetsResponse", + "fullName": "vega.api.v1.ListAssetsResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "assets", + "description": "", + "label": "repeated", + "type": "Asset", + "longType": "vega.Asset", + "fullType": "vega.Asset", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListDelegationsRequest", + "longName": "ListDelegationsRequest", + "fullName": "vega.api.v1.ListDelegationsRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "node", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListDelegationsResponse", + "longName": "ListDelegationsResponse", + "fullName": "vega.api.v1.ListDelegationsResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "delegations", + "description": "", + "label": "repeated", + "type": "Delegation", + "longType": "vega.Delegation", + "fullType": "vega.Delegation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListMarketsDataRequest", + "longName": "ListMarketsDataRequest", + "fullName": "vega.api.v1.ListMarketsDataRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListMarketsDataResponse", + "longName": "ListMarketsDataResponse", + "fullName": "vega.api.v1.ListMarketsDataResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "markets_data", + "description": "", + "label": "repeated", + "type": "MarketData", + "longType": "vega.MarketData", + "fullType": "vega.MarketData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListMarketsRequest", + "longName": "ListMarketsRequest", + "fullName": "vega.api.v1.ListMarketsRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListMarketsResponse", + "longName": "ListMarketsResponse", + "fullName": "vega.api.v1.ListMarketsResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "markets", + "description": "", + "label": "repeated", + "type": "Market", + "longType": "vega.Market", + "fullType": "vega.Market", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListNetworkLimitsRequest", + "longName": "ListNetworkLimitsRequest", + "fullName": "vega.api.v1.ListNetworkLimitsRequest", + "description": "", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "ListNetworkLimitsResponse", + "longName": "ListNetworkLimitsResponse", + "fullName": "vega.api.v1.ListNetworkLimitsResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "network_limits", + "description": "", + "label": "", + "type": "NetworkLimits", + "longType": "vega.NetworkLimits", + "fullType": "vega.NetworkLimits", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListNetworkParametersRequest", + "longName": "ListNetworkParametersRequest", + "fullName": "vega.api.v1.ListNetworkParametersRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "network_parameter_key", + "description": "optional parameter key", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListNetworkParametersResponse", + "longName": "ListNetworkParametersResponse", + "fullName": "vega.api.v1.ListNetworkParametersResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "network_parameters", + "description": "", + "label": "repeated", + "type": "NetworkParameter", + "longType": "vega.NetworkParameter", + "fullType": "vega.NetworkParameter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListPartiesRequest", + "longName": "ListPartiesRequest", + "fullName": "vega.api.v1.ListPartiesRequest", + "description": "", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "ListPartiesResponse", + "longName": "ListPartiesResponse", + "fullName": "vega.api.v1.ListPartiesResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "parties", + "description": "", + "label": "repeated", + "type": "Party", + "longType": "vega.Party", + "fullType": "vega.Party", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListPartiesStakeRequest", + "longName": "ListPartiesStakeRequest", + "fullName": "vega.api.v1.ListPartiesStakeRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListPartiesStakeResponse", + "longName": "ListPartiesStakeResponse", + "fullName": "vega.api.v1.ListPartiesStakeResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "parties_stake", + "description": "", + "label": "repeated", + "type": "PartyStake", + "longType": "PartyStake", + "fullType": "vega.api.v1.PartyStake", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListProposalsRequest", + "longName": "ListProposalsRequest", + "fullName": "vega.api.v1.ListProposalsRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposal", + "description": "optional ID", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "proposer", + "description": "optional party", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListProposalsResponse", + "longName": "ListProposalsResponse", + "fullName": "vega.api.v1.ListProposalsResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposals", + "description": "", + "label": "repeated", + "type": "Proposal", + "longType": "vega.Proposal", + "fullType": "vega.Proposal", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListValidatorsRequest", + "longName": "ListValidatorsRequest", + "fullName": "vega.api.v1.ListValidatorsRequest", + "description": "", + "hasExtensions": false, + "hasFields": false, + "hasOneofs": false, + "extensions": [], + "fields": [] + }, + { + "name": "ListValidatorsResponse", + "longName": "ListValidatorsResponse", + "fullName": "vega.api.v1.ListValidatorsResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "validators", + "description": "", + "label": "repeated", + "type": "ValidatorUpdate", + "longType": "vega.events.v1.ValidatorUpdate", + "fullType": "vega.events.v1.ValidatorUpdate", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListVotesRequest", + "longName": "ListVotesRequest", + "fullName": "vega.api.v1.ListVotesRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposal", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ListVotesResponse", + "longName": "ListVotesResponse", + "fullName": "vega.api.v1.ListVotesResponse", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "votes", + "description": "", + "label": "repeated", + "type": "Vote", + "longType": "vega.Vote", + "fullType": "vega.Vote", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PartyStake", + "longName": "PartyStake", + "fullName": "vega.api.v1.PartyStake", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "current_stake_available", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "stake_linkings", + "description": "", + "label": "repeated", + "type": "StakeLinking", + "longType": "vega.events.v1.StakeLinking", + "fullType": "vega.events.v1.StakeLinking", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [ + { + "name": "CoreStateService", + "longName": "CoreStateService", + "fullName": "vega.api.v1.CoreStateService", + "description": "", + "methods": [ + { + "name": "ListAccounts", + "description": "Accounts list\n\nGet a list of accounts", + "requestType": "ListAccountsRequest", + "requestLongType": "ListAccountsRequest", + "requestFullType": "vega.api.v1.ListAccountsRequest", + "requestStreaming": false, + "responseType": "ListAccountsResponse", + "responseLongType": "ListAccountsResponse", + "responseFullType": "vega.api.v1.ListAccountsResponse", + "responseStreaming": false + }, + { + "name": "ListAssets", + "description": "Assets list\n\nGet a list of assets", + "requestType": "ListAssetsRequest", + "requestLongType": "ListAssetsRequest", + "requestFullType": "vega.api.v1.ListAssetsRequest", + "requestStreaming": false, + "responseType": "ListAssetsResponse", + "responseLongType": "ListAssetsResponse", + "responseFullType": "vega.api.v1.ListAssetsResponse", + "responseStreaming": false + }, + { + "name": "ListNetworkParameters", + "description": "Network parameters list\n\nGet a list of network parameters", + "requestType": "ListNetworkParametersRequest", + "requestLongType": "ListNetworkParametersRequest", + "requestFullType": "vega.api.v1.ListNetworkParametersRequest", + "requestStreaming": false, + "responseType": "ListNetworkParametersResponse", + "responseLongType": "ListNetworkParametersResponse", + "responseFullType": "vega.api.v1.ListNetworkParametersResponse", + "responseStreaming": false + }, + { + "name": "ListNetworkLimits", + "description": "Network limits list\n\nGet a list of network limits", + "requestType": "ListNetworkLimitsRequest", + "requestLongType": "ListNetworkLimitsRequest", + "requestFullType": "vega.api.v1.ListNetworkLimitsRequest", + "requestStreaming": false, + "responseType": "ListNetworkLimitsResponse", + "responseLongType": "ListNetworkLimitsResponse", + "responseFullType": "vega.api.v1.ListNetworkLimitsResponse", + "responseStreaming": false + }, + { + "name": "ListParties", + "description": "Parties list\n\nGet a list of parties", + "requestType": "ListPartiesRequest", + "requestLongType": "ListPartiesRequest", + "requestFullType": "vega.api.v1.ListPartiesRequest", + "requestStreaming": false, + "responseType": "ListPartiesResponse", + "responseLongType": "ListPartiesResponse", + "responseFullType": "vega.api.v1.ListPartiesResponse", + "responseStreaming": false + }, + { + "name": "ListValidators", + "description": "Validators list\n\nGet a list of validators", + "requestType": "ListValidatorsRequest", + "requestLongType": "ListValidatorsRequest", + "requestFullType": "vega.api.v1.ListValidatorsRequest", + "requestStreaming": false, + "responseType": "ListValidatorsResponse", + "responseLongType": "ListValidatorsResponse", + "responseFullType": "vega.api.v1.ListValidatorsResponse", + "responseStreaming": false + }, + { + "name": "ListMarkets", + "description": "Markets list\n\nGet a list of markets", + "requestType": "ListMarketsRequest", + "requestLongType": "ListMarketsRequest", + "requestFullType": "vega.api.v1.ListMarketsRequest", + "requestStreaming": false, + "responseType": "ListMarketsResponse", + "responseLongType": "ListMarketsResponse", + "responseFullType": "vega.api.v1.ListMarketsResponse", + "responseStreaming": false + }, + { + "name": "ListProposals", + "description": "Proposals list\n\nGet a list of proposals", + "requestType": "ListProposalsRequest", + "requestLongType": "ListProposalsRequest", + "requestFullType": "vega.api.v1.ListProposalsRequest", + "requestStreaming": false, + "responseType": "ListProposalsResponse", + "responseLongType": "ListProposalsResponse", + "responseFullType": "vega.api.v1.ListProposalsResponse", + "responseStreaming": false + }, + { + "name": "ListMarketsData", + "description": "Markets data list\n\nGet a list of markets data", + "requestType": "ListMarketsDataRequest", + "requestLongType": "ListMarketsDataRequest", + "requestFullType": "vega.api.v1.ListMarketsDataRequest", + "requestStreaming": false, + "responseType": "ListMarketsDataResponse", + "responseLongType": "ListMarketsDataResponse", + "responseFullType": "vega.api.v1.ListMarketsDataResponse", + "responseStreaming": false + }, + { + "name": "ListVotes", + "description": "Votes list\n\nGet a list of votes", + "requestType": "ListVotesRequest", + "requestLongType": "ListVotesRequest", + "requestFullType": "vega.api.v1.ListVotesRequest", + "requestStreaming": false, + "responseType": "ListVotesResponse", + "responseLongType": "ListVotesResponse", + "responseFullType": "vega.api.v1.ListVotesResponse", + "responseStreaming": false + }, + { + "name": "ListPartiesStake", + "description": "Parties stake list\n\nGet a list of parties stake", + "requestType": "ListPartiesStakeRequest", + "requestLongType": "ListPartiesStakeRequest", + "requestFullType": "vega.api.v1.ListPartiesStakeRequest", + "requestStreaming": false, + "responseType": "ListPartiesStakeResponse", + "responseLongType": "ListPartiesStakeResponse", + "responseFullType": "vega.api.v1.ListPartiesStakeResponse", + "responseStreaming": false + }, + { + "name": "ListDelegations", + "description": "Delegations list\n\nGet a list of delegations", + "requestType": "ListDelegationsRequest", + "requestLongType": "ListDelegationsRequest", + "requestFullType": "vega.api.v1.ListDelegationsRequest", + "requestStreaming": false, + "responseType": "ListDelegationsResponse", + "responseLongType": "ListDelegationsResponse", + "responseFullType": "vega.api.v1.ListDelegationsResponse", + "responseStreaming": false + } + ] + } + ] + }, + { + "name": "vega/checkpoint/v1/checkpoint.proto", + "description": "", + "package": "vega.checkpoint.v1", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "AssetAction", + "longName": "AssetAction", + "fullName": "vega.checkpoint.v1.AssetAction", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "state", + "description": "", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_number", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tx_index", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "hash", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "builtin_deposit", + "description": "", + "label": "", + "type": "BuiltinAssetDeposit", + "longType": "vega.BuiltinAssetDeposit", + "fullType": "vega.BuiltinAssetDeposit", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "erc20_deposit", + "description": "", + "label": "", + "type": "ERC20Deposit", + "longType": "vega.ERC20Deposit", + "fullType": "vega.ERC20Deposit", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset_list", + "description": "", + "label": "", + "type": "ERC20AssetList", + "longType": "vega.ERC20AssetList", + "fullType": "vega.ERC20AssetList", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "erc20_asset_limits_updated", + "description": "", + "label": "", + "type": "ERC20AssetLimitsUpdated", + "longType": "vega.ERC20AssetLimitsUpdated", + "fullType": "vega.ERC20AssetLimitsUpdated", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "erc20_bridge_stopped", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "erc20_bridge_resumed", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AssetBalance", + "longName": "AssetBalance", + "fullName": "vega.checkpoint.v1.AssetBalance", + "description": "AssetBalance represents the total balance of a given asset for a party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "balance", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AssetEntry", + "longName": "AssetEntry", + "fullName": "vega.checkpoint.v1.AssetEntry", + "description": "AssetEntry is a single (enabled) asset", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset_details", + "description": "", + "label": "", + "type": "AssetDetails", + "longType": "vega.AssetDetails", + "fullType": "vega.AssetDetails", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Assets", + "longName": "Assets", + "fullName": "vega.checkpoint.v1.Assets", + "description": "Assets contains all the enabled assets as AssetEntries", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "assets", + "description": "", + "label": "repeated", + "type": "AssetEntry", + "longType": "AssetEntry", + "fullType": "vega.checkpoint.v1.AssetEntry", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pending_listing_assets", + "description": "", + "label": "repeated", + "type": "AssetEntry", + "longType": "AssetEntry", + "fullType": "vega.checkpoint.v1.AssetEntry", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Banking", + "longName": "Banking", + "fullName": "vega.checkpoint.v1.Banking", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "transfers_at_time", + "description": "", + "label": "repeated", + "type": "ScheduledTransferAtTime", + "longType": "ScheduledTransferAtTime", + "fullType": "vega.checkpoint.v1.ScheduledTransferAtTime", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "recurring_transfers", + "description": "", + "label": "", + "type": "RecurringTransfers", + "longType": "RecurringTransfers", + "fullType": "vega.checkpoint.v1.RecurringTransfers", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "bridge_state", + "description": "", + "label": "", + "type": "BridgeState", + "longType": "BridgeState", + "fullType": "vega.checkpoint.v1.BridgeState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset_actions", + "description": "", + "label": "repeated", + "type": "AssetAction", + "longType": "AssetAction", + "fullType": "vega.checkpoint.v1.AssetAction", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_seen_eth_block", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "seen_refs", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "governance_transfers_at_time", + "description": "", + "label": "repeated", + "type": "ScheduledGovernanceTransferAtTime", + "longType": "ScheduledGovernanceTransferAtTime", + "fullType": "vega.checkpoint.v1.ScheduledGovernanceTransferAtTime", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "recurring_governance_transfers", + "description": "", + "label": "repeated", + "type": "GovernanceTransfer", + "longType": "GovernanceTransfer", + "fullType": "vega.checkpoint.v1.GovernanceTransfer", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Block", + "longName": "Block", + "fullName": "vega.checkpoint.v1.Block", + "description": "Block message contains data related to block at which the checkpoint\nwas created i.e. the block height", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "height", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BridgeState", + "longName": "BridgeState", + "fullName": "vega.checkpoint.v1.BridgeState", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "active", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "log_index", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Checkpoint", + "longName": "Checkpoint", + "fullName": "vega.checkpoint.v1.Checkpoint", + "description": "Checkpoint aggregates the various engine snapshots", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "governance", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "assets", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "collateral", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "network_parameters", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "delegation", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch", + "description": "will just be an epoch event", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "rewards", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "banking", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validators", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "staking", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "multisig_control", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_tracker", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "execution", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CheckpointState", + "longName": "CheckpointState", + "fullName": "vega.checkpoint.v1.CheckpointState", + "description": "CheckpointState is the entire checkpoint serialised. Basically it is the serialisation of the Checkpoint message + hash.", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "hash", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "state", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Collateral", + "longName": "Collateral", + "fullName": "vega.checkpoint.v1.Collateral", + "description": "Collateral contains the balances per party", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "balances", + "description": "", + "label": "repeated", + "type": "AssetBalance", + "longType": "AssetBalance", + "fullType": "vega.checkpoint.v1.AssetBalance", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Delegate", + "longName": "Delegate", + "fullName": "vega.checkpoint.v1.Delegate", + "description": "Delegate contains all entries for a checkpoint", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "active", + "description": "", + "label": "repeated", + "type": "DelegateEntry", + "longType": "DelegateEntry", + "fullType": "vega.checkpoint.v1.DelegateEntry", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pending", + "description": "", + "label": "repeated", + "type": "DelegateEntry", + "longType": "DelegateEntry", + "fullType": "vega.checkpoint.v1.DelegateEntry", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "auto_delegation", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DelegateEntry", + "longName": "DelegateEntry", + "fullName": "vega.checkpoint.v1.DelegateEntry", + "description": "Delegated amounts for party/node\n`undelegate` and `epoch_seq` are only relevant for pending entries", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "node", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "undelegate", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ELSShare", + "longName": "ELSShare", + "fullName": "vega.checkpoint.v1.ELSShare", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "Party ID of the liquidity provider.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "share", + "description": "The equity-like share of the liquidity provider, representing their share in the total provided liquidity expressed as a value between 0 and 1.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "supplied_stake", + "description": "Amount committed. This is the total commitment made. It does not necessarily match the LP balance.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "virtual_stake", + "description": "LP stake, weighted according to the time the stake was committed and market growth.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "avg", + "description": "Average entry valuation. As time increases the weight of stake, this is the overall valuation of the current stake.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ExecutionState", + "longName": "ExecutionState", + "fullName": "vega.checkpoint.v1.ExecutionState", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "data", + "description": "Market data that should be preserved, like equity-like shares, and settled markets that have pending successor markets.", + "label": "repeated", + "type": "MarketState", + "longType": "MarketState", + "fullType": "vega.checkpoint.v1.MarketState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GovernanceTransfer", + "longName": "GovernanceTransfer", + "fullName": "vega.checkpoint.v1.GovernanceTransfer", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "", + "label": "", + "type": "Status", + "longType": "vega.events.v1.Transfer.Status", + "fullType": "vega.events.v1.Transfer.Status", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "config", + "description": "", + "label": "", + "type": "NewTransferConfiguration", + "longType": "vega.NewTransferConfiguration", + "fullType": "vega.NewTransferConfiguration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketActivityTracker", + "longName": "MarketActivityTracker", + "fullName": "vega.checkpoint.v1.MarketActivityTracker", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "maker_fees_received", + "description": "", + "label": "repeated", + "type": "PartyFees", + "longType": "PartyFees", + "fullType": "vega.checkpoint.v1.PartyFees", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "maker_fees_paid", + "description": "", + "label": "repeated", + "type": "PartyFees", + "longType": "PartyFees", + "fullType": "vega.checkpoint.v1.PartyFees", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "lp_fees", + "description": "", + "label": "repeated", + "type": "PartyFees", + "longType": "PartyFees", + "fullType": "vega.checkpoint.v1.PartyFees", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "proposer", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "bonus_paid", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "value_traded", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ready_to_delete", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketState", + "longName": "MarketState", + "fullName": "vega.checkpoint.v1.MarketState", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "Unique ID for the market", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "shares", + "description": "The current equity-like share data for a market.", + "label": "repeated", + "type": "ELSShare", + "longType": "ELSShare", + "fullType": "vega.checkpoint.v1.ELSShare", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "insurance_balance", + "description": "Current balance of the insurance pool.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_trade_value", + "description": "Total trade value which last determined the growth rate of the market.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_trade_volume", + "description": "Total trade volume which last determined the growth rate of the market.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "succession_window", + "description": "Succession window in nanoseconds: the timestamp when this market cannot be succeeded anymore.", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market", + "description": "The underlying market should be present in case the successor market is enacted during the succession window.\nThis field can be omitted if the market is not yet settled.", + "label": "", + "type": "Market", + "longType": "vega.Market", + "fullType": "vega.Market", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketTracker", + "longName": "MarketTracker", + "fullName": "vega.checkpoint.v1.MarketTracker", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_activity", + "description": "", + "label": "repeated", + "type": "MarketActivityTracker", + "longType": "MarketActivityTracker", + "fullType": "vega.checkpoint.v1.MarketActivityTracker", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MultisigControl", + "longName": "MultisigControl", + "fullName": "vega.checkpoint.v1.MultisigControl", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "signers", + "description": "", + "label": "repeated", + "type": "ERC20MultiSigSignerEvent", + "longType": "vega.events.v1.ERC20MultiSigSignerEvent", + "fullType": "vega.events.v1.ERC20MultiSigSignerEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "threshold_set", + "description": "", + "label": "", + "type": "ERC20MultiSigThresholdSetEvent", + "longType": "vega.events.v1.ERC20MultiSigThresholdSetEvent", + "fullType": "vega.events.v1.ERC20MultiSigThresholdSetEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_block_seen", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NetParams", + "longName": "NetParams", + "fullName": "vega.checkpoint.v1.NetParams", + "description": "NetParams contains all network parameters", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "params", + "description": "", + "label": "repeated", + "type": "NetworkParameter", + "longType": "vega.NetworkParameter", + "fullType": "vega.NetworkParameter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PartyAmount", + "longName": "PartyAmount", + "fullName": "vega.checkpoint.v1.PartyAmount", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PartyFees", + "longName": "PartyFees", + "fullName": "vega.checkpoint.v1.PartyFees", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "fee", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PendingEthereumKeyRotation", + "longName": "PendingEthereumKeyRotation", + "fullName": "vega.checkpoint.v1.PendingEthereumKeyRotation", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "relative_target_block_height", + "description": "Relative target block height is: target block height - current block height.\nUseful for cross blockchain compatibility.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "node_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PendingKeyRotation", + "longName": "PendingKeyRotation", + "fullName": "vega.checkpoint.v1.PendingKeyRotation", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "relative_target_block_height", + "description": "Relative target block height is: target block height - current block height.\nUseful for cross blockchain compatibility.", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "node_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_pub_key", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_pub_key_index", + "description": "", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PendingRewardPayout", + "longName": "PendingRewardPayout", + "fullName": "vega.checkpoint.v1.PendingRewardPayout", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "from_account", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_amount", + "description": "", + "label": "repeated", + "type": "PartyAmount", + "longType": "PartyAmount", + "fullType": "vega.checkpoint.v1.PartyAmount", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_reward", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Proposals", + "longName": "Proposals", + "fullName": "vega.checkpoint.v1.Proposals", + "description": "Proposals will contain all accepted proposals", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposals", + "description": "", + "label": "repeated", + "type": "Proposal", + "longType": "vega.Proposal", + "fullType": "vega.Proposal", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RecurringTransfers", + "longName": "RecurringTransfers", + "fullName": "vega.checkpoint.v1.RecurringTransfers", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "recurring_transfers", + "description": "", + "label": "repeated", + "type": "Transfer", + "longType": "vega.events.v1.Transfer", + "fullType": "vega.events.v1.Transfer", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RewardPayout", + "longName": "RewardPayout", + "fullName": "vega.checkpoint.v1.RewardPayout", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "payout_time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "rewards_payout", + "description": "", + "label": "repeated", + "type": "PendingRewardPayout", + "longType": "PendingRewardPayout", + "fullType": "vega.checkpoint.v1.PendingRewardPayout", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Rewards", + "longName": "Rewards", + "fullName": "vega.checkpoint.v1.Rewards", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "rewards", + "description": "", + "label": "repeated", + "type": "RewardPayout", + "longType": "RewardPayout", + "fullType": "vega.checkpoint.v1.RewardPayout", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ScheduledGovernanceTransferAtTime", + "longName": "ScheduledGovernanceTransferAtTime", + "fullName": "vega.checkpoint.v1.ScheduledGovernanceTransferAtTime", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "deliver_on", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "transfers", + "description": "", + "label": "repeated", + "type": "GovernanceTransfer", + "longType": "GovernanceTransfer", + "fullType": "vega.checkpoint.v1.GovernanceTransfer", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ScheduledTransfer", + "longName": "ScheduledTransfer", + "fullName": "vega.checkpoint.v1.ScheduledTransfer", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "transfer", + "description": "", + "label": "", + "type": "Transfer", + "longType": "vega.Transfer", + "fullType": "vega.Transfer", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "account_type", + "description": "", + "label": "", + "type": "AccountType", + "longType": "vega.AccountType", + "fullType": "vega.AccountType", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reference", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "oneoff_transfer", + "description": "", + "label": "", + "type": "Transfer", + "longType": "vega.events.v1.Transfer", + "fullType": "vega.events.v1.Transfer", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ScheduledTransferAtTime", + "longName": "ScheduledTransferAtTime", + "fullName": "vega.checkpoint.v1.ScheduledTransferAtTime", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "deliver_on", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "transfers", + "description": "", + "label": "repeated", + "type": "ScheduledTransfer", + "longType": "ScheduledTransfer", + "fullType": "vega.checkpoint.v1.ScheduledTransfer", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Staking", + "longName": "Staking", + "fullName": "vega.checkpoint.v1.Staking", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "accepted", + "description": "", + "label": "repeated", + "type": "StakeLinking", + "longType": "vega.events.v1.StakeLinking", + "fullType": "vega.events.v1.StakeLinking", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_block_seen", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ValidatorState", + "longName": "ValidatorState", + "fullName": "vega.checkpoint.v1.ValidatorState", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "validator_update", + "description": "", + "label": "", + "type": "ValidatorUpdate", + "longType": "vega.events.v1.ValidatorUpdate", + "fullType": "vega.events.v1.ValidatorUpdate", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "eth_events_forwarded", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validator_power", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ranking_score", + "description": "", + "label": "", + "type": "RankingScore", + "longType": "vega.RankingScore", + "fullType": "vega.RankingScore", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "heartbeat_block_index", + "description": "", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "heartbeat_block_sigs", + "description": "", + "label": "repeated", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Validators", + "longName": "Validators", + "fullName": "vega.checkpoint.v1.Validators", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "validator_state", + "description": "", + "label": "repeated", + "type": "ValidatorState", + "longType": "ValidatorState", + "fullType": "vega.checkpoint.v1.ValidatorState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pending_key_rotations", + "description": "", + "label": "repeated", + "type": "PendingKeyRotation", + "longType": "PendingKeyRotation", + "fullType": "vega.checkpoint.v1.PendingKeyRotation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pending_ethereum_key_rotations", + "description": "", + "label": "repeated", + "type": "PendingEthereumKeyRotation", + "longType": "PendingEthereumKeyRotation", + "fullType": "vega.checkpoint.v1.PendingEthereumKeyRotation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/snapshot/v1/snapshot.proto", + "description": "", + "package": "vega.snapshot.v1", + "hasEnums": true, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [ + { + "name": "Format", + "longName": "Format", + "fullName": "vega.snapshot.v1.Format", + "description": "", + "values": [ + { + "name": "FORMAT_UNSPECIFIED", + "number": "0", + "description": "Default value, always invalid" + }, + { + "name": "FORMAT_PROTO", + "number": "1", + "description": "Standard proto encoding" + }, + { + "name": "FORMAT_PROTO_COMPRESSED", + "number": "2", + "description": "Compressed proto, might come in handy" + }, + { + "name": "FORMAT_JSON", + "number": "3", + "description": "Simple JSON serialisation, probably not going to be used" + } + ] + } + ], + "extensions": [], + "messages": [ + { + "name": "AcceptedProtocolUpgradeProposal", + "longName": "AcceptedProtocolUpgradeProposal", + "fullName": "vega.snapshot.v1.AcceptedProtocolUpgradeProposal", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "upgrade_block_height", + "description": "Block height at which to perform the upgrade", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_release_tag", + "description": "Release tag for the vega binary", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ActiveAssets", + "longName": "ActiveAssets", + "fullName": "vega.snapshot.v1.ActiveAssets", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "assets", + "description": "", + "label": "repeated", + "type": "Asset", + "longType": "vega.Asset", + "fullType": "vega.Asset", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AppState", + "longName": "AppState", + "fullName": "vega.snapshot.v1.AppState", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "chain_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "AuctionState", + "longName": "AuctionState", + "fullName": "vega.snapshot.v1.AuctionState", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "mode", + "description": "", + "label": "", + "type": "TradingMode", + "longType": "vega.Market.TradingMode", + "fullType": "vega.Market.TradingMode", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "default_mode", + "description": "", + "label": "", + "type": "TradingMode", + "longType": "vega.Market.TradingMode", + "fullType": "vega.Market.TradingMode", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trigger", + "description": "", + "label": "", + "type": "AuctionTrigger", + "longType": "vega.AuctionTrigger", + "fullType": "vega.AuctionTrigger", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "begin", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "end", + "description": "", + "label": "", + "type": "AuctionDuration", + "longType": "vega.AuctionDuration", + "fullType": "vega.AuctionDuration", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "start", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "stop", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "extension", + "description": "", + "label": "", + "type": "AuctionTrigger", + "longType": "vega.AuctionTrigger", + "fullType": "vega.AuctionTrigger", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "extension_event_sent", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BankingAssetActions", + "longName": "BankingAssetActions", + "fullName": "vega.snapshot.v1.BankingAssetActions", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset_action", + "description": "", + "label": "repeated", + "type": "AssetAction", + "longType": "vega.checkpoint.v1.AssetAction", + "fullType": "vega.checkpoint.v1.AssetAction", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BankingBridgeState", + "longName": "BankingBridgeState", + "fullName": "vega.snapshot.v1.BankingBridgeState", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bridge_state", + "description": "", + "label": "", + "type": "BridgeState", + "longType": "vega.checkpoint.v1.BridgeState", + "fullType": "vega.checkpoint.v1.BridgeState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BankingDeposits", + "longName": "BankingDeposits", + "fullName": "vega.snapshot.v1.BankingDeposits", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "deposit", + "description": "", + "label": "repeated", + "type": "Deposit", + "longType": "Deposit", + "fullType": "vega.snapshot.v1.Deposit", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BankingRecurringGovernanceTransfers", + "longName": "BankingRecurringGovernanceTransfers", + "fullName": "vega.snapshot.v1.BankingRecurringGovernanceTransfers", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "recurring_transfers", + "description": "", + "label": "repeated", + "type": "GovernanceTransfer", + "longType": "vega.checkpoint.v1.GovernanceTransfer", + "fullType": "vega.checkpoint.v1.GovernanceTransfer", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BankingRecurringTransfers", + "longName": "BankingRecurringTransfers", + "fullName": "vega.snapshot.v1.BankingRecurringTransfers", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "recurring_transfers", + "description": "", + "label": "", + "type": "RecurringTransfers", + "longType": "vega.checkpoint.v1.RecurringTransfers", + "fullType": "vega.checkpoint.v1.RecurringTransfers", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BankingScheduledGovernanceTransfers", + "longName": "BankingScheduledGovernanceTransfers", + "fullName": "vega.snapshot.v1.BankingScheduledGovernanceTransfers", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "transfers_at_time", + "description": "", + "label": "repeated", + "type": "ScheduledGovernanceTransferAtTime", + "longType": "vega.checkpoint.v1.ScheduledGovernanceTransferAtTime", + "fullType": "vega.checkpoint.v1.ScheduledGovernanceTransferAtTime", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BankingScheduledTransfers", + "longName": "BankingScheduledTransfers", + "fullName": "vega.snapshot.v1.BankingScheduledTransfers", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "transfers_at_time", + "description": "", + "label": "repeated", + "type": "ScheduledTransferAtTime", + "longType": "vega.checkpoint.v1.ScheduledTransferAtTime", + "fullType": "vega.checkpoint.v1.ScheduledTransferAtTime", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BankingSeen", + "longName": "BankingSeen", + "fullName": "vega.snapshot.v1.BankingSeen", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "refs", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_seen_eth_block", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BankingWithdrawals", + "longName": "BankingWithdrawals", + "fullName": "vega.snapshot.v1.BankingWithdrawals", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "withdrawals", + "description": "", + "label": "repeated", + "type": "Withdrawal", + "longType": "Withdrawal", + "fullType": "vega.snapshot.v1.Withdrawal", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BannedParty", + "longName": "BannedParty", + "fullName": "vega.snapshot.v1.BannedParty", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "until", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "BlockRejectStats", + "longName": "BlockRejectStats", + "fullName": "vega.snapshot.v1.BlockRejectStats", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "rejected", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Checkpoint", + "longName": "Checkpoint", + "fullName": "vega.snapshot.v1.Checkpoint", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "next_cp", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Chunk", + "longName": "Chunk", + "fullName": "vega.snapshot.v1.Chunk", + "description": "Chunk is simply an as-is chunk belonging to a snapshot\nnot sure how usable this type would be", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "data", + "description": "", + "label": "repeated", + "type": "Payload", + "longType": "Payload", + "fullType": "vega.snapshot.v1.Payload", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nr", + "description": "in case of multi-part data, this is chunk nr...", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "of", + "description": "...of a total of N chunks", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CollateralAccounts", + "longName": "CollateralAccounts", + "fullName": "vega.snapshot.v1.CollateralAccounts", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "accounts", + "description": "", + "label": "repeated", + "type": "Account", + "longType": "vega.Account", + "fullType": "vega.Account", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CollateralAssets", + "longName": "CollateralAssets", + "fullName": "vega.snapshot.v1.CollateralAssets", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "assets", + "description": "", + "label": "repeated", + "type": "Asset", + "longType": "vega.Asset", + "fullType": "vega.Asset", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "CurrentPrice", + "longName": "CurrentPrice", + "fullName": "vega.snapshot.v1.CurrentPrice", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "volume", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DataPoint", + "longName": "DataPoint", + "fullName": "vega.snapshot.v1.DataPoint", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DecimalMap", + "longName": "DecimalMap", + "fullName": "vega.snapshot.v1.DecimalMap", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "val", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DelegationActive", + "longName": "DelegationActive", + "fullName": "vega.snapshot.v1.DelegationActive", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "delegations", + "description": "", + "label": "repeated", + "type": "Delegation", + "longType": "vega.Delegation", + "fullType": "vega.Delegation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DelegationAuto", + "longName": "DelegationAuto", + "fullName": "vega.snapshot.v1.DelegationAuto", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "parties", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DelegationLastReconciliationTime", + "longName": "DelegationLastReconciliationTime", + "fullName": "vega.snapshot.v1.DelegationLastReconciliationTime", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "last_reconciliation_time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "DelegationPending", + "longName": "DelegationPending", + "fullName": "vega.snapshot.v1.DelegationPending", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "delegations", + "description": "", + "label": "repeated", + "type": "Delegation", + "longType": "vega.Delegation", + "fullType": "vega.Delegation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "undelegation", + "description": "", + "label": "repeated", + "type": "Delegation", + "longType": "vega.Delegation", + "fullType": "vega.Delegation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Deposit", + "longName": "Deposit", + "fullName": "vega.snapshot.v1.Deposit", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "deposit", + "description": "", + "label": "", + "type": "Deposit", + "longType": "vega.Deposit", + "fullType": "vega.Deposit", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigTopologyPending", + "longName": "ERC20MultiSigTopologyPending", + "fullName": "vega.snapshot.v1.ERC20MultiSigTopologyPending", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "pending_signers", + "description": "", + "label": "repeated", + "type": "ERC20MultiSigSignerEvent", + "longType": "vega.events.v1.ERC20MultiSigSignerEvent", + "fullType": "vega.events.v1.ERC20MultiSigSignerEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pending_threshold_set", + "description": "", + "label": "repeated", + "type": "ERC20MultiSigThresholdSetEvent", + "longType": "vega.events.v1.ERC20MultiSigThresholdSetEvent", + "fullType": "vega.events.v1.ERC20MultiSigThresholdSetEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "witnessed_signers", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "witnessed_threshold_sets", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ERC20MultiSigTopologyVerified", + "longName": "ERC20MultiSigTopologyVerified", + "fullName": "vega.snapshot.v1.ERC20MultiSigTopologyVerified", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "signers", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "events_per_address", + "description": "", + "label": "repeated", + "type": "SignerEventsPerAddress", + "longType": "SignerEventsPerAddress", + "fullType": "vega.snapshot.v1.SignerEventsPerAddress", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "threshold", + "description": "", + "label": "", + "type": "ERC20MultiSigThresholdSetEvent", + "longType": "vega.events.v1.ERC20MultiSigThresholdSetEvent", + "fullType": "vega.events.v1.ERC20MultiSigThresholdSetEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "seen_events", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EpochState", + "longName": "EpochState", + "fullName": "vega.snapshot.v1.EpochState", + "description": "EpochState details", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "seq", + "description": "Sequence number that increases by one each epoch", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "start_time", + "description": "Time at which this epoch started", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expire_time", + "description": "Time at which this epoch should end", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ready_to_start_new_epoch", + "description": "Ready to start a new epoch", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ready_to_end_epoch", + "description": "Ready to end epoch", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EquityShare", + "longName": "EquityShare", + "fullName": "vega.snapshot.v1.EquityShare", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "mvp", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "opening_auction_ended", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "lps", + "description": "", + "label": "repeated", + "type": "EquityShareLP", + "longType": "EquityShareLP", + "fullType": "vega.snapshot.v1.EquityShareLP", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "r", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "p_mvp", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EquityShareLP", + "longName": "EquityShareLP", + "fullName": "vega.snapshot.v1.EquityShareLP", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "stake", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "share", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "avg", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vshare", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EthContractCallResult", + "longName": "EthContractCallResult", + "fullName": "vega.snapshot.v1.EthContractCallResult", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "block_height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_time", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "spec_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "result", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EthContractCallResults", + "longName": "EthContractCallResults", + "fullName": "vega.snapshot.v1.EthContractCallResults", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "pending_contract_call_result", + "description": "", + "label": "repeated", + "type": "EthContractCallResult", + "longType": "EthContractCallResult", + "fullType": "vega.snapshot.v1.EthContractCallResult", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EthOracleVerifierLastBlock", + "longName": "EthOracleVerifierLastBlock", + "fullName": "vega.snapshot.v1.EthOracleVerifierLastBlock", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "block_height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_time", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "EventForwarder", + "longName": "EventForwarder", + "fullName": "vega.snapshot.v1.EventForwarder", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "acked_events", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ExecutionMarkets", + "longName": "ExecutionMarkets", + "fullName": "vega.snapshot.v1.ExecutionMarkets", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "markets", + "description": "", + "label": "repeated", + "type": "Market", + "longType": "Market", + "fullType": "vega.snapshot.v1.Market", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "spot_markets", + "description": "", + "label": "repeated", + "type": "SpotMarket", + "longType": "SpotMarket", + "fullType": "vega.snapshot.v1.SpotMarket", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "settled_markets", + "description": "", + "label": "repeated", + "type": "MarketState", + "longType": "vega.checkpoint.v1.MarketState", + "fullType": "vega.checkpoint.v1.MarketState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "successors", + "description": "", + "label": "repeated", + "type": "Successors", + "longType": "Successors", + "fullType": "vega.snapshot.v1.Successors", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_ids", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "FeeSplitter", + "longName": "FeeSplitter", + "fullName": "vega.snapshot.v1.FeeSplitter", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "time_window_start", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trade_value", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "avg", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "window", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "FloatingPointConsensus", + "longName": "FloatingPointConsensus", + "fullName": "vega.snapshot.v1.FloatingPointConsensus", + "description": "Snapshot payload for floating point consensus", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "next_time_trigger", + "description": "", + "label": "repeated", + "type": "NextTimeTrigger", + "longType": "NextTimeTrigger", + "fullType": "vega.snapshot.v1.NextTimeTrigger", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "state_variables", + "description": "", + "label": "repeated", + "type": "StateVarInternalState", + "longType": "StateVarInternalState", + "fullType": "vega.snapshot.v1.StateVarInternalState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "FloatingPointValidatorResult", + "longName": "FloatingPointValidatorResult", + "fullName": "vega.snapshot.v1.FloatingPointValidatorResult", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "bundle", + "description": "", + "label": "repeated", + "type": "KeyValueBundle", + "longType": "vega.KeyValueBundle", + "fullType": "vega.KeyValueBundle", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GovernanceActive", + "longName": "GovernanceActive", + "fullName": "vega.snapshot.v1.GovernanceActive", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposals", + "description": "", + "label": "repeated", + "type": "ProposalData", + "longType": "ProposalData", + "fullType": "vega.snapshot.v1.ProposalData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GovernanceEnacted", + "longName": "GovernanceEnacted", + "fullName": "vega.snapshot.v1.GovernanceEnacted", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposals", + "description": "", + "label": "repeated", + "type": "ProposalData", + "longType": "ProposalData", + "fullType": "vega.snapshot.v1.ProposalData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "GovernanceNode", + "longName": "GovernanceNode", + "fullName": "vega.snapshot.v1.GovernanceNode", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposals", + "description": "", + "label": "repeated", + "type": "Proposal", + "longType": "vega.Proposal", + "fullType": "vega.Proposal", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "HeartbeatTracker", + "longName": "HeartbeatTracker", + "fullName": "vega.snapshot.v1.HeartbeatTracker", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "expected_next_hash", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expected_next_hash_since", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_index", + "description": "", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_sigs", + "description": "", + "label": "repeated", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "HoldingAccountTracker", + "longName": "HoldingAccountTracker", + "fullName": "vega.snapshot.v1.HoldingAccountTracker", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "order_holding", + "description": "", + "label": "repeated", + "type": "OrderHoldingQuantities", + "longType": "OrderHoldingQuantities", + "fullType": "vega.snapshot.v1.OrderHoldingQuantities", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "IssuedERC20MultisigControlSignature", + "longName": "IssuedERC20MultisigControlSignature", + "fullName": "vega.snapshot.v1.IssuedERC20MultisigControlSignature", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "resource_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ethereum_address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "submitter_address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LastSettledPosition", + "longName": "LastSettledPosition", + "fullName": "vega.snapshot.v1.LastSettledPosition", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "settled_position", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LimitState", + "longName": "LimitState", + "fullName": "vega.snapshot.v1.LimitState", + "description": "LimitState details", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "block_count", + "description": "Number of blocks into the bootstrapping phase", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "can_propose_market", + "description": "Whether or not the limit on market proposals has been lifted", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "can_propose_asset", + "description": "Whether or not the limit on asset proposals has been lifted", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "genesis_loaded", + "description": "Whether or not the genesis state is loaded", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "propose_market_enabled", + "description": "Fields derived from the genesis state", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "propose_asset_enabled", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "propose_market_enabled_from", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "propose_asset_enabled_from", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "propose_spot_market_enabled", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "propose_perps_market_enabled", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityOffsetProbabilityPair", + "longName": "LiquidityOffsetProbabilityPair", + "fullName": "vega.snapshot.v1.LiquidityOffsetProbabilityPair", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "offset", + "description": "", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "probability", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityParameters", + "longName": "LiquidityParameters", + "fullName": "vega.snapshot.v1.LiquidityParameters", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "max_fee", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "max_shape_size", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "stake_to_obligation_factor", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID these liquidity parameters apply to. Required for key generation", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityPartiesLiquidityOrders", + "longName": "LiquidityPartiesLiquidityOrders", + "fullName": "vega.snapshot.v1.LiquidityPartiesLiquidityOrders", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_orders", + "description": "", + "label": "repeated", + "type": "PartyOrders", + "longType": "PartyOrders", + "fullType": "vega.snapshot.v1.PartyOrders", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID these liquidity orders apply to. Required for key generation", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityPartiesOrders", + "longName": "LiquidityPartiesOrders", + "fullName": "vega.snapshot.v1.LiquidityPartiesOrders", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_orders", + "description": "", + "label": "repeated", + "type": "PartyOrders", + "longType": "PartyOrders", + "fullType": "vega.snapshot.v1.PartyOrders", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID these orders apply to.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityPendingProvisions", + "longName": "LiquidityPendingProvisions", + "fullName": "vega.snapshot.v1.LiquidityPendingProvisions", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "pending_provisions", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID these liquidity provisions apply to. Required for key generation", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityProvisions", + "longName": "LiquidityProvisions", + "fullName": "vega.snapshot.v1.LiquidityProvisions", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "liquidity_provisions", + "description": "", + "label": "repeated", + "type": "LiquidityProvision", + "longType": "vega.LiquidityProvision", + "fullType": "vega.LiquidityProvision", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "Market ID these provisions apply to.", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityScore", + "longName": "LiquidityScore", + "fullName": "vega.snapshot.v1.LiquidityScore", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "score", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityScores", + "longName": "LiquidityScores", + "fullName": "vega.snapshot.v1.LiquidityScores", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "running_average_counter", + "description": "", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "scores", + "description": "", + "label": "repeated", + "type": "LiquidityScore", + "longType": "LiquidityScore", + "fullType": "vega.snapshot.v1.LiquidityScore", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquiditySupplied", + "longName": "LiquiditySupplied", + "fullName": "vega.snapshot.v1.LiquiditySupplied", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "consensus_reached", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "bid_cache", + "description": "", + "label": "repeated", + "type": "LiquidityOffsetProbabilityPair", + "longType": "LiquidityOffsetProbabilityPair", + "fullType": "vega.snapshot.v1.LiquidityOffsetProbabilityPair", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ask_cache", + "description": "", + "label": "repeated", + "type": "LiquidityOffsetProbabilityPair", + "longType": "LiquidityOffsetProbabilityPair", + "fullType": "vega.snapshot.v1.LiquidityOffsetProbabilityPair", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityTarget", + "longName": "LiquidityTarget", + "fullName": "vega.snapshot.v1.LiquidityTarget", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "current_time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "scheduled_truncate", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "current_open_interests", + "description": "", + "label": "repeated", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "previous_open_interests", + "description": "", + "label": "repeated", + "type": "TimestampedOpenInterest", + "longType": "TimestampedOpenInterest", + "fullType": "vega.snapshot.v1.TimestampedOpenInterest", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "max_open_interests", + "description": "", + "label": "", + "type": "TimestampedOpenInterest", + "longType": "TimestampedOpenInterest", + "fullType": "vega.snapshot.v1.TimestampedOpenInterest", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityV2PendingProvisions", + "longName": "LiquidityV2PendingProvisions", + "fullName": "vega.snapshot.v1.LiquidityV2PendingProvisions", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID these liquidity parameters apply to. Required for key generation", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pending_liquidity_provisions", + "description": "", + "label": "repeated", + "type": "LiquidityProvision", + "longType": "vega.LiquidityProvision", + "fullType": "vega.LiquidityProvision", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityV2PerformancePerParty", + "longName": "LiquidityV2PerformancePerParty", + "fullName": "vega.snapshot.v1.LiquidityV2PerformancePerParty", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "elapsed_time_meeting_sla_during_epoch", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "commitment_start_time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "registered_penalties_per_epoch", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "position_in_penalties_per_epoch", + "description": "", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityV2Performances", + "longName": "LiquidityV2Performances", + "fullName": "vega.snapshot.v1.LiquidityV2Performances", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID these liquidity parameters apply to. Required for key generation", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_start_time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "performance_per_party", + "description": "", + "label": "repeated", + "type": "LiquidityV2PerformancePerParty", + "longType": "LiquidityV2PerformancePerParty", + "fullType": "vega.snapshot.v1.LiquidityV2PerformancePerParty", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityV2Provisions", + "longName": "LiquidityV2Provisions", + "fullName": "vega.snapshot.v1.LiquidityV2Provisions", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID these liquidity parameters apply to. Required for key generation", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "liquidity_provisions", + "description": "", + "label": "repeated", + "type": "LiquidityProvision", + "longType": "vega.LiquidityProvision", + "fullType": "vega.LiquidityProvision", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityV2Scores", + "longName": "LiquidityV2Scores", + "fullName": "vega.snapshot.v1.LiquidityV2Scores", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID these liquidity parameters apply to. Required for key generation", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "running_average_counter", + "description": "", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "scores", + "description": "", + "label": "repeated", + "type": "LiquidityScore", + "longType": "LiquidityScore", + "fullType": "vega.snapshot.v1.LiquidityScore", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "LiquidityV2Supplied", + "longName": "LiquidityV2Supplied", + "fullName": "vega.snapshot.v1.LiquidityV2Supplied", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "Market ID these liquidity parameters apply to. Required for key generation", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "consensus_reached", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "bid_cache", + "description": "", + "label": "repeated", + "type": "LiquidityOffsetProbabilityPair", + "longType": "LiquidityOffsetProbabilityPair", + "fullType": "vega.snapshot.v1.LiquidityOffsetProbabilityPair", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ask_cache", + "description": "", + "label": "repeated", + "type": "LiquidityOffsetProbabilityPair", + "longType": "LiquidityOffsetProbabilityPair", + "fullType": "vega.snapshot.v1.LiquidityOffsetProbabilityPair", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Market", + "longName": "Market", + "fullName": "vega.snapshot.v1.Market", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market", + "description": "", + "label": "", + "type": "Market", + "longType": "vega.Market", + "fullType": "vega.Market", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price_monitor", + "description": "", + "label": "", + "type": "PriceMonitor", + "longType": "PriceMonitor", + "fullType": "vega.snapshot.v1.PriceMonitor", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "auction_state", + "description": "", + "label": "", + "type": "AuctionState", + "longType": "AuctionState", + "fullType": "vega.snapshot.v1.AuctionState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pegged_orders", + "description": "", + "label": "", + "type": "PeggedOrders", + "longType": "PeggedOrders", + "fullType": "vega.snapshot.v1.PeggedOrders", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expiring_orders", + "description": "", + "label": "repeated", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_best_bid", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_best_ask", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_mid_bid", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_mid_ask", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_market_value_proxy", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_equity_share_distributed", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "equity_share", + "description": "", + "label": "", + "type": "EquityShare", + "longType": "EquityShare", + "fullType": "vega.snapshot.v1.EquityShare", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "current_mark_price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "risk_factor_short", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "risk_factor_long", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "risk_factor_consensus_reached", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "fee_splitter", + "description": "", + "label": "", + "type": "FeeSplitter", + "longType": "FeeSplitter", + "fullType": "vega.snapshot.v1.FeeSplitter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "settlement_data", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "next_mark_to_market", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_traded_price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "parties", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "closed", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "succeeded", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "stop_orders", + "description": "", + "label": "", + "type": "StopOrders", + "longType": "StopOrders", + "fullType": "vega.snapshot.v1.StopOrders", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expiring_stop_orders", + "description": "", + "label": "repeated", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "product", + "description": "", + "label": "", + "type": "Product", + "longType": "Product", + "fullType": "vega.snapshot.v1.Product", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketPositions", + "longName": "MarketPositions", + "fullName": "vega.snapshot.v1.MarketPositions", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "positions", + "description": "", + "label": "repeated", + "type": "Position", + "longType": "Position", + "fullType": "vega.snapshot.v1.Position", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MarketTracker", + "longName": "MarketTracker", + "fullName": "vega.snapshot.v1.MarketTracker", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_activity", + "description": "", + "label": "repeated", + "type": "MarketActivityTracker", + "longType": "vega.checkpoint.v1.MarketActivityTracker", + "fullType": "vega.checkpoint.v1.MarketActivityTracker", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "MatchingBook", + "longName": "MatchingBook", + "fullName": "vega.snapshot.v1.MatchingBook", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buy", + "description": "", + "label": "repeated", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sell", + "description": "", + "label": "repeated", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_traded_price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "auction", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "batch_id", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Metadata", + "longName": "Metadata", + "fullName": "vega.snapshot.v1.Metadata", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "version", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "chunk_hashes", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "node_hashes", + "description": "hashes used by snapshot engine, different to chunk hash if data was", + "label": "repeated", + "type": "NodeHash", + "longType": "NodeHash", + "fullType": "vega.snapshot.v1.NodeHash", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NetParams", + "longName": "NetParams", + "fullName": "vega.snapshot.v1.NetParams", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "params", + "description": "", + "label": "repeated", + "type": "NetworkParameter", + "longType": "vega.NetworkParameter", + "fullType": "vega.NetworkParameter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NextTimeTrigger", + "longName": "NextTimeTrigger", + "fullName": "vega.snapshot.v1.NextTimeTrigger", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "next_trigger", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NodeHash", + "longName": "NodeHash", + "fullName": "vega.snapshot.v1.NodeHash", + "description": "NodeHash represents an exported node from the AVL tree and contains all the\ndata necessary to reconstruct an identical copy of the AVL tree after it's\nbeen serialised", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "Node's full key, for example epoch.all", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "hash", + "description": "Hash of the node's value", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "height", + "description": "Height of the node in the tree", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "version", + "description": "Version of that node i.e., how many times its value has changed during tree\nupdates", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "is_leaf", + "description": "Whether or not the node contains a snapshot payload, only leaf nodes in the\nAVL contain payloads", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Notary", + "longName": "Notary", + "fullName": "vega.snapshot.v1.Notary", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "notary_sigs", + "description": "", + "label": "repeated", + "type": "NotarySigs", + "longType": "NotarySigs", + "fullType": "vega.snapshot.v1.NotarySigs", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "NotarySigs", + "longName": "NotarySigs", + "fullName": "vega.snapshot.v1.NotarySigs", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "kind", + "description": "", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "node", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sig", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pending", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OffsetsAtPrice", + "longName": "OffsetsAtPrice", + "fullName": "vega.snapshot.v1.OffsetsAtPrice", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "offsets", + "description": "", + "label": "repeated", + "type": "OrdersAtOffset", + "longType": "OrdersAtOffset", + "fullType": "vega.snapshot.v1.OrdersAtOffset", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OracleData", + "longName": "OracleData", + "fullName": "vega.snapshot.v1.OracleData", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "signers", + "description": "", + "label": "repeated", + "type": "Signer", + "longType": "vega.data.v1.Signer", + "fullType": "vega.data.v1.Signer", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "data", + "description": "", + "label": "repeated", + "type": "OracleDataPair", + "longType": "OracleDataPair", + "fullType": "vega.snapshot.v1.OracleDataPair", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "meta_data", + "description": "", + "label": "repeated", + "type": "Property", + "longType": "vega.data.v1.Property", + "fullType": "vega.data.v1.Property", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OracleDataBatch", + "longName": "OracleDataBatch", + "fullName": "vega.snapshot.v1.OracleDataBatch", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "oracle_data", + "description": "", + "label": "repeated", + "type": "OracleData", + "longType": "OracleData", + "fullType": "vega.snapshot.v1.OracleData", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OracleDataPair", + "longName": "OracleDataPair", + "fullName": "vega.snapshot.v1.OracleDataPair", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "key", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "value", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrderHoldingQuantities", + "longName": "OrderHoldingQuantities", + "fullName": "vega.snapshot.v1.OrderHoldingQuantities", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "quantity", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "fee", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrdersAtOffset", + "longName": "OrdersAtOffset", + "fullName": "vega.snapshot.v1.OrdersAtOffset", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "offset", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "orders", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "OrdersAtPrice", + "longName": "OrdersAtPrice", + "fullName": "vega.snapshot.v1.OrdersAtPrice", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "orders", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PartyOrders", + "longName": "PartyOrders", + "fullName": "vega.snapshot.v1.PartyOrders", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "orders", + "description": "", + "label": "repeated", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PartyProposalVoteCount", + "longName": "PartyProposalVoteCount", + "fullName": "vega.snapshot.v1.PartyProposalVoteCount", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "proposal", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "count", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PartyTokenBalance", + "longName": "PartyTokenBalance", + "fullName": "vega.snapshot.v1.PartyTokenBalance", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "balance", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PastPrice", + "longName": "PastPrice", + "fullName": "vega.snapshot.v1.PastPrice", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "volume_weighted_price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Payload", + "longName": "Payload", + "fullName": "vega.snapshot.v1.Payload", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "active_assets", + "description": "", + "label": "", + "type": "ActiveAssets", + "longType": "ActiveAssets", + "fullType": "vega.snapshot.v1.ActiveAssets", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "pending_assets", + "description": "", + "label": "", + "type": "PendingAssets", + "longType": "PendingAssets", + "fullType": "vega.snapshot.v1.PendingAssets", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "banking_withdrawals", + "description": "", + "label": "", + "type": "BankingWithdrawals", + "longType": "BankingWithdrawals", + "fullType": "vega.snapshot.v1.BankingWithdrawals", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "banking_deposits", + "description": "", + "label": "", + "type": "BankingDeposits", + "longType": "BankingDeposits", + "fullType": "vega.snapshot.v1.BankingDeposits", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "banking_seen", + "description": "", + "label": "", + "type": "BankingSeen", + "longType": "BankingSeen", + "fullType": "vega.snapshot.v1.BankingSeen", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "banking_asset_actions", + "description": "", + "label": "", + "type": "BankingAssetActions", + "longType": "BankingAssetActions", + "fullType": "vega.snapshot.v1.BankingAssetActions", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "checkpoint", + "description": "", + "label": "", + "type": "Checkpoint", + "longType": "Checkpoint", + "fullType": "vega.snapshot.v1.Checkpoint", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "collateral_accounts", + "description": "", + "label": "", + "type": "CollateralAccounts", + "longType": "CollateralAccounts", + "fullType": "vega.snapshot.v1.CollateralAccounts", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "collateral_assets", + "description": "", + "label": "", + "type": "CollateralAssets", + "longType": "CollateralAssets", + "fullType": "vega.snapshot.v1.CollateralAssets", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "delegation_active", + "description": "", + "label": "", + "type": "DelegationActive", + "longType": "DelegationActive", + "fullType": "vega.snapshot.v1.DelegationActive", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "delegation_pending", + "description": "", + "label": "", + "type": "DelegationPending", + "longType": "DelegationPending", + "fullType": "vega.snapshot.v1.DelegationPending", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "delegation_auto", + "description": "", + "label": "", + "type": "DelegationAuto", + "longType": "DelegationAuto", + "fullType": "vega.snapshot.v1.DelegationAuto", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "governance_active", + "description": "", + "label": "", + "type": "GovernanceActive", + "longType": "GovernanceActive", + "fullType": "vega.snapshot.v1.GovernanceActive", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "governance_enacted", + "description": "", + "label": "", + "type": "GovernanceEnacted", + "longType": "GovernanceEnacted", + "fullType": "vega.snapshot.v1.GovernanceEnacted", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "staking_accounts", + "description": "", + "label": "", + "type": "StakingAccounts", + "longType": "StakingAccounts", + "fullType": "vega.snapshot.v1.StakingAccounts", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "matching_book", + "description": "", + "label": "", + "type": "MatchingBook", + "longType": "MatchingBook", + "fullType": "vega.snapshot.v1.MatchingBook", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "network_parameters", + "description": "", + "label": "", + "type": "NetParams", + "longType": "NetParams", + "fullType": "vega.snapshot.v1.NetParams", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "execution_markets", + "description": "", + "label": "", + "type": "ExecutionMarkets", + "longType": "ExecutionMarkets", + "fullType": "vega.snapshot.v1.ExecutionMarkets", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "market_positions", + "description": "", + "label": "", + "type": "MarketPositions", + "longType": "MarketPositions", + "fullType": "vega.snapshot.v1.MarketPositions", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "app_state", + "description": "", + "label": "", + "type": "AppState", + "longType": "AppState", + "fullType": "vega.snapshot.v1.AppState", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "epoch", + "description": "", + "label": "", + "type": "EpochState", + "longType": "EpochState", + "fullType": "vega.snapshot.v1.EpochState", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "rewards_pending_payouts", + "description": "", + "label": "", + "type": "RewardsPendingPayouts", + "longType": "RewardsPendingPayouts", + "fullType": "vega.snapshot.v1.RewardsPendingPayouts", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "governance_node", + "description": "", + "label": "", + "type": "GovernanceNode", + "longType": "GovernanceNode", + "fullType": "vega.snapshot.v1.GovernanceNode", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "limit_state", + "description": "", + "label": "", + "type": "LimitState", + "longType": "LimitState", + "fullType": "vega.snapshot.v1.LimitState", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "vote_spam_policy", + "description": "", + "label": "", + "type": "VoteSpamPolicy", + "longType": "VoteSpamPolicy", + "fullType": "vega.snapshot.v1.VoteSpamPolicy", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "simple_spam_policy", + "description": "", + "label": "", + "type": "SimpleSpamPolicy", + "longType": "SimpleSpamPolicy", + "fullType": "vega.snapshot.v1.SimpleSpamPolicy", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "notary", + "description": "", + "label": "", + "type": "Notary", + "longType": "Notary", + "fullType": "vega.snapshot.v1.Notary", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "event_forwarder", + "description": "", + "label": "", + "type": "EventForwarder", + "longType": "EventForwarder", + "fullType": "vega.snapshot.v1.EventForwarder", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "stake_verifier_deposited", + "description": "", + "label": "", + "type": "StakeVerifierDeposited", + "longType": "StakeVerifierDeposited", + "fullType": "vega.snapshot.v1.StakeVerifierDeposited", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "stake_verifier_removed", + "description": "", + "label": "", + "type": "StakeVerifierRemoved", + "longType": "StakeVerifierRemoved", + "fullType": "vega.snapshot.v1.StakeVerifierRemoved", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "witness", + "description": "", + "label": "", + "type": "Witness", + "longType": "Witness", + "fullType": "vega.snapshot.v1.Witness", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "delegation_last_reconciliation_time", + "description": "", + "label": "", + "type": "DelegationLastReconciliationTime", + "longType": "DelegationLastReconciliationTime", + "fullType": "vega.snapshot.v1.DelegationLastReconciliationTime", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "topology", + "description": "", + "label": "", + "type": "Topology", + "longType": "Topology", + "fullType": "vega.snapshot.v1.Topology", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "oracle_data", + "description": "", + "label": "", + "type": "OracleDataBatch", + "longType": "OracleDataBatch", + "fullType": "vega.snapshot.v1.OracleDataBatch", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "liquidity_parameters", + "description": "", + "label": "", + "type": "LiquidityParameters", + "longType": "LiquidityParameters", + "fullType": "vega.snapshot.v1.LiquidityParameters", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "liquidity_pending_provisions", + "description": "", + "label": "", + "type": "LiquidityPendingProvisions", + "longType": "LiquidityPendingProvisions", + "fullType": "vega.snapshot.v1.LiquidityPendingProvisions", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "liquidity_parties_liquidity_orders", + "description": "", + "label": "", + "type": "LiquidityPartiesLiquidityOrders", + "longType": "LiquidityPartiesLiquidityOrders", + "fullType": "vega.snapshot.v1.LiquidityPartiesLiquidityOrders", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "liquidity_parties_orders", + "description": "", + "label": "", + "type": "LiquidityPartiesOrders", + "longType": "LiquidityPartiesOrders", + "fullType": "vega.snapshot.v1.LiquidityPartiesOrders", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "liquidity_provisions", + "description": "", + "label": "", + "type": "LiquidityProvisions", + "longType": "LiquidityProvisions", + "fullType": "vega.snapshot.v1.LiquidityProvisions", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "liquidity_supplied", + "description": "", + "label": "", + "type": "LiquiditySupplied", + "longType": "LiquiditySupplied", + "fullType": "vega.snapshot.v1.LiquiditySupplied", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "liquidity_target", + "description": "", + "label": "", + "type": "LiquidityTarget", + "longType": "LiquidityTarget", + "fullType": "vega.snapshot.v1.LiquidityTarget", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "floating_point_consensus", + "description": "", + "label": "", + "type": "FloatingPointConsensus", + "longType": "FloatingPointConsensus", + "fullType": "vega.snapshot.v1.FloatingPointConsensus", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "market_tracker", + "description": "", + "label": "", + "type": "MarketTracker", + "longType": "MarketTracker", + "fullType": "vega.snapshot.v1.MarketTracker", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "banking_recurring_transfers", + "description": "", + "label": "", + "type": "BankingRecurringTransfers", + "longType": "BankingRecurringTransfers", + "fullType": "vega.snapshot.v1.BankingRecurringTransfers", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "banking_scheduled_transfers", + "description": "", + "label": "", + "type": "BankingScheduledTransfers", + "longType": "BankingScheduledTransfers", + "fullType": "vega.snapshot.v1.BankingScheduledTransfers", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "erc20_multisig_topology_verified", + "description": "", + "label": "", + "type": "ERC20MultiSigTopologyVerified", + "longType": "ERC20MultiSigTopologyVerified", + "fullType": "vega.snapshot.v1.ERC20MultiSigTopologyVerified", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "erc20_multisig_topology_pending", + "description": "", + "label": "", + "type": "ERC20MultiSigTopologyPending", + "longType": "ERC20MultiSigTopologyPending", + "fullType": "vega.snapshot.v1.ERC20MultiSigTopologyPending", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "proof_of_work", + "description": "", + "label": "", + "type": "ProofOfWork", + "longType": "ProofOfWork", + "fullType": "vega.snapshot.v1.ProofOfWork", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "pending_asset_updates", + "description": "", + "label": "", + "type": "PendingAssetUpdates", + "longType": "PendingAssetUpdates", + "fullType": "vega.snapshot.v1.PendingAssetUpdates", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "protocol_upgrade_proposals", + "description": "", + "label": "", + "type": "ProtocolUpgradeProposals", + "longType": "ProtocolUpgradeProposals", + "fullType": "vega.snapshot.v1.ProtocolUpgradeProposals", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "banking_bridge_state", + "description": "", + "label": "", + "type": "BankingBridgeState", + "longType": "BankingBridgeState", + "fullType": "vega.snapshot.v1.BankingBridgeState", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "settlement_state", + "description": "", + "label": "", + "type": "SettlementState", + "longType": "SettlementState", + "fullType": "vega.snapshot.v1.SettlementState", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "liquidity_scores", + "description": "", + "label": "", + "type": "LiquidityScores", + "longType": "LiquidityScores", + "fullType": "vega.snapshot.v1.LiquidityScores", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "spot_liquidity_target", + "description": "", + "label": "", + "type": "SpotLiquidityTarget", + "longType": "SpotLiquidityTarget", + "fullType": "vega.snapshot.v1.SpotLiquidityTarget", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "banking_recurring_governance_transfers", + "description": "", + "label": "", + "type": "BankingRecurringGovernanceTransfers", + "longType": "BankingRecurringGovernanceTransfers", + "fullType": "vega.snapshot.v1.BankingRecurringGovernanceTransfers", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "banking_scheduled_governance_transfers", + "description": "", + "label": "", + "type": "BankingScheduledGovernanceTransfers", + "longType": "BankingScheduledGovernanceTransfers", + "fullType": "vega.snapshot.v1.BankingScheduledGovernanceTransfers", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "eth_contract_call_results", + "description": "", + "label": "", + "type": "EthContractCallResults", + "longType": "EthContractCallResults", + "fullType": "vega.snapshot.v1.EthContractCallResults", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "eth_oracle_verifier_last_block", + "description": "", + "label": "", + "type": "EthOracleVerifierLastBlock", + "longType": "EthOracleVerifierLastBlock", + "fullType": "vega.snapshot.v1.EthOracleVerifierLastBlock", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "liquidity_v2_provisions", + "description": "", + "label": "", + "type": "LiquidityV2Provisions", + "longType": "LiquidityV2Provisions", + "fullType": "vega.snapshot.v1.LiquidityV2Provisions", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "liquidity_v2_pending_provisions", + "description": "", + "label": "", + "type": "LiquidityV2PendingProvisions", + "longType": "LiquidityV2PendingProvisions", + "fullType": "vega.snapshot.v1.LiquidityV2PendingProvisions", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "liquidity_v2_performances", + "description": "", + "label": "", + "type": "LiquidityV2Performances", + "longType": "LiquidityV2Performances", + "fullType": "vega.snapshot.v1.LiquidityV2Performances", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "liquidity_v2_supplied", + "description": "", + "label": "", + "type": "LiquidityV2Supplied", + "longType": "LiquidityV2Supplied", + "fullType": "vega.snapshot.v1.LiquidityV2Supplied", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "liquidity_v2_scores", + "description": "", + "label": "", + "type": "LiquidityV2Scores", + "longType": "LiquidityV2Scores", + "fullType": "vega.snapshot.v1.LiquidityV2Scores", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + }, + { + "name": "holding_account_tracker", + "description": "", + "label": "", + "type": "HoldingAccountTracker", + "longType": "HoldingAccountTracker", + "fullType": "vega.snapshot.v1.HoldingAccountTracker", + "ismap": false, + "isoneof": true, + "oneofdecl": "data", + "defaultValue": "" + } + ] + }, + { + "name": "PeggedOrders", + "longName": "PeggedOrders", + "fullName": "vega.snapshot.v1.PeggedOrders", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "parked_orders", + "description": "", + "label": "repeated", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PendingAssetUpdates", + "longName": "PendingAssetUpdates", + "fullName": "vega.snapshot.v1.PendingAssetUpdates", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "assets", + "description": "", + "label": "repeated", + "type": "Asset", + "longType": "vega.Asset", + "fullType": "vega.Asset", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PendingAssets", + "longName": "PendingAssets", + "fullName": "vega.snapshot.v1.PendingAssets", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "assets", + "description": "", + "label": "repeated", + "type": "Asset", + "longType": "vega.Asset", + "fullType": "vega.Asset", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PendingERC20MultisigControlSignature", + "longName": "PendingERC20MultisigControlSignature", + "fullName": "vega.snapshot.v1.PendingERC20MultisigControlSignature", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "node_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ethereum_address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "nonce", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "added", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PendingEthereumKeyRotation", + "longName": "PendingEthereumKeyRotation", + "fullName": "vega.snapshot.v1.PendingEthereumKeyRotation", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "block_height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "node_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "submitter", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "old_address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PendingKeyRotation", + "longName": "PendingKeyRotation", + "fullName": "vega.snapshot.v1.PendingKeyRotation", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "block_height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "node_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_pub_key", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_pub_key_index", + "description": "", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PerformanceStats", + "longName": "PerformanceStats", + "fullName": "vega.snapshot.v1.PerformanceStats", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "validator_address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "proposed", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "elected", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "voted", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_height_voted", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_height_proposed", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_height_elected", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Perps", + "longName": "Perps", + "fullName": "vega.snapshot.v1.Perps", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "external_data_point", + "description": "", + "label": "repeated", + "type": "DataPoint", + "longType": "DataPoint", + "fullType": "vega.snapshot.v1.DataPoint", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "internal_data_point", + "description": "", + "label": "repeated", + "type": "DataPoint", + "longType": "DataPoint", + "fullType": "vega.snapshot.v1.DataPoint", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "seq", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "started_at", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Position", + "longName": "Position", + "fullName": "vega.snapshot.v1.Position", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "size", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buy", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sell", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "buy_sum_product", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "sell_sum_product", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "distressed", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PriceBound", + "longName": "PriceBound", + "fullName": "vega.snapshot.v1.PriceBound", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "active", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "up_factor", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "down_factor", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trigger", + "description": "", + "label": "", + "type": "PriceMonitoringTrigger", + "longType": "vega.PriceMonitoringTrigger", + "fullType": "vega.PriceMonitoringTrigger", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PriceMonitor", + "longName": "PriceMonitor", + "fullName": "vega.snapshot.v1.PriceMonitor", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "initialised", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "fp_horizons", + "description": "", + "label": "repeated", + "type": "DecimalMap", + "longType": "DecimalMap", + "fullType": "vega.snapshot.v1.DecimalMap", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "now", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "update", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "bounds", + "description": "", + "label": "repeated", + "type": "PriceBound", + "longType": "PriceBound", + "fullType": "vega.snapshot.v1.PriceBound", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price_range_cache_time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price_range_cache", + "description": "", + "label": "repeated", + "type": "PriceRangeCache", + "longType": "PriceRangeCache", + "fullType": "vega.snapshot.v1.PriceRangeCache", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ref_price_cache_time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ref_price_cache", + "description": "", + "label": "repeated", + "type": "DecimalMap", + "longType": "DecimalMap", + "fullType": "vega.snapshot.v1.DecimalMap", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "prices_now", + "description": "", + "label": "repeated", + "type": "CurrentPrice", + "longType": "CurrentPrice", + "fullType": "vega.snapshot.v1.CurrentPrice", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "prices_past", + "description": "", + "label": "repeated", + "type": "PastPrice", + "longType": "PastPrice", + "fullType": "vega.snapshot.v1.PastPrice", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "consensus_reached", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PriceRange", + "longName": "PriceRange", + "fullName": "vega.snapshot.v1.PriceRange", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "min", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "max", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ref", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PriceRangeCache", + "longName": "PriceRangeCache", + "fullName": "vega.snapshot.v1.PriceRangeCache", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "bound", + "description": "", + "label": "", + "type": "PriceBound", + "longType": "PriceBound", + "fullType": "vega.snapshot.v1.PriceBound", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "range", + "description": "", + "label": "", + "type": "PriceRange", + "longType": "PriceRange", + "fullType": "vega.snapshot.v1.PriceRange", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PriceVolume", + "longName": "PriceVolume", + "fullName": "vega.snapshot.v1.PriceVolume", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "volume", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "PricedStopOrders", + "longName": "PricedStopOrders", + "fullName": "vega.snapshot.v1.PricedStopOrders", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "falls_bellow", + "description": "", + "label": "repeated", + "type": "OrdersAtPrice", + "longType": "OrdersAtPrice", + "fullType": "vega.snapshot.v1.OrdersAtPrice", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "rises_above", + "description": "", + "label": "repeated", + "type": "OrdersAtPrice", + "longType": "OrdersAtPrice", + "fullType": "vega.snapshot.v1.OrdersAtPrice", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Product", + "longName": "Product", + "fullName": "vega.snapshot.v1.Product", + "description": "eventually support multiple products", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "perps", + "description": "", + "label": "", + "type": "Perps", + "longType": "Perps", + "fullType": "vega.snapshot.v1.Perps", + "ismap": false, + "isoneof": true, + "oneofdecl": "type", + "defaultValue": "" + } + ] + }, + { + "name": "ProofOfWork", + "longName": "ProofOfWork", + "fullName": "vega.snapshot.v1.ProofOfWork", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "block_height", + "description": "", + "label": "repeated", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_hash", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tx_at_height", + "description": "", + "label": "repeated", + "type": "TransactionsAtHeight", + "longType": "TransactionsAtHeight", + "fullType": "vega.snapshot.v1.TransactionsAtHeight", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tid_at_height", + "description": "", + "label": "repeated", + "type": "TransactionsAtHeight", + "longType": "TransactionsAtHeight", + "fullType": "vega.snapshot.v1.TransactionsAtHeight", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "banned", + "description": "", + "label": "repeated", + "type": "BannedParty", + "longType": "BannedParty", + "fullType": "vega.snapshot.v1.BannedParty", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pow_params", + "description": "", + "label": "repeated", + "type": "ProofOfWorkParams", + "longType": "ProofOfWorkParams", + "fullType": "vega.snapshot.v1.ProofOfWorkParams", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pow_state", + "description": "", + "label": "repeated", + "type": "ProofOfWorkState", + "longType": "ProofOfWorkState", + "fullType": "vega.snapshot.v1.ProofOfWorkState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_pruning_block", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ProofOfWorkBlockState", + "longName": "ProofOfWorkBlockState", + "fullName": "vega.snapshot.v1.ProofOfWorkBlockState", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "block_height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_state", + "description": "", + "label": "repeated", + "type": "ProofOfWorkPartyStateForBlock", + "longType": "ProofOfWorkPartyStateForBlock", + "fullType": "vega.snapshot.v1.ProofOfWorkPartyStateForBlock", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ProofOfWorkParams", + "longName": "ProofOfWorkParams", + "fullName": "vega.snapshot.v1.ProofOfWorkParams", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "spam_pow_number_of_past_blocks", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "spam_pow_difficulty", + "description": "", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "spam_pow_hash_function", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "spam_pow_number_of_tx_per_block", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "spam_pow_increasing_difficulty", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "from_block", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "until_block", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ProofOfWorkPartyStateForBlock", + "longName": "ProofOfWorkPartyStateForBlock", + "fullName": "vega.snapshot.v1.ProofOfWorkPartyStateForBlock", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "seen_count", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "observed_difficulty", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ProofOfWorkState", + "longName": "ProofOfWorkState", + "fullName": "vega.snapshot.v1.ProofOfWorkState", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "pow_state", + "description": "", + "label": "repeated", + "type": "ProofOfWorkBlockState", + "longType": "ProofOfWorkBlockState", + "fullType": "vega.snapshot.v1.ProofOfWorkBlockState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ProposalData", + "longName": "ProposalData", + "fullName": "vega.snapshot.v1.ProposalData", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "proposal", + "description": "", + "label": "", + "type": "Proposal", + "longType": "vega.Proposal", + "fullType": "vega.Proposal", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "yes", + "description": "", + "label": "repeated", + "type": "Vote", + "longType": "vega.Vote", + "fullType": "vega.Vote", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "no", + "description": "", + "label": "repeated", + "type": "Vote", + "longType": "vega.Vote", + "fullType": "vega.Vote", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "invalid", + "description": "", + "label": "repeated", + "type": "Vote", + "longType": "vega.Vote", + "fullType": "vega.Vote", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ProtocolUpgradeProposals", + "longName": "ProtocolUpgradeProposals", + "fullName": "vega.snapshot.v1.ProtocolUpgradeProposals", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "active_proposals", + "description": "", + "label": "repeated", + "type": "ProtocolUpgradeEvent", + "longType": "vega.events.v1.ProtocolUpgradeEvent", + "fullType": "vega.events.v1.ProtocolUpgradeEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "accepted_proposal", + "description": "", + "label": "", + "type": "AcceptedProtocolUpgradeProposal", + "longType": "AcceptedProtocolUpgradeProposal", + "fullType": "vega.snapshot.v1.AcceptedProtocolUpgradeProposal", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Resource", + "longName": "Resource", + "fullName": "vega.snapshot.v1.Resource", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "check_until", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "votes", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "state", + "description": "", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RewardsPartyAmount", + "longName": "RewardsPartyAmount", + "fullName": "vega.snapshot.v1.RewardsPartyAmount", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RewardsPayout", + "longName": "RewardsPayout", + "fullName": "vega.snapshot.v1.RewardsPayout", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "from_account", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "asset", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "reward_party_amount", + "description": "", + "label": "repeated", + "type": "RewardsPartyAmount", + "longType": "RewardsPartyAmount", + "fullType": "vega.snapshot.v1.RewardsPartyAmount", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "total_reward", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "epoch_seq", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "timestamp", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "RewardsPendingPayouts", + "longName": "RewardsPendingPayouts", + "fullName": "vega.snapshot.v1.RewardsPendingPayouts", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "scheduled_rewards_payout", + "description": "", + "label": "repeated", + "type": "ScheduledRewardsPayout", + "longType": "ScheduledRewardsPayout", + "fullType": "vega.snapshot.v1.ScheduledRewardsPayout", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ScheduledRewardsPayout", + "longName": "ScheduledRewardsPayout", + "fullName": "vega.snapshot.v1.ScheduledRewardsPayout", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "payout_time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "rewards_payout", + "description": "", + "label": "repeated", + "type": "RewardsPayout", + "longType": "RewardsPayout", + "fullType": "vega.snapshot.v1.RewardsPayout", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SettlementState", + "longName": "SettlementState", + "fullName": "vega.snapshot.v1.SettlementState", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_mark_price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_settled_positions", + "description": "", + "label": "repeated", + "type": "LastSettledPosition", + "longType": "LastSettledPosition", + "fullType": "vega.snapshot.v1.LastSettledPosition", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trades", + "description": "", + "label": "repeated", + "type": "SettlementTrade", + "longType": "SettlementTrade", + "fullType": "vega.snapshot.v1.SettlementTrade", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SettlementTrade", + "longName": "SettlementTrade", + "fullName": "vega.snapshot.v1.SettlementTrade", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "market_price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "size", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "new_size", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SignerEventsPerAddress", + "longName": "SignerEventsPerAddress", + "fullName": "vega.snapshot.v1.SignerEventsPerAddress", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "events", + "description": "", + "label": "repeated", + "type": "ERC20MultiSigSignerEvent", + "longType": "vega.events.v1.ERC20MultiSigSignerEvent", + "fullType": "vega.events.v1.ERC20MultiSigSignerEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SimpleSpamPolicy", + "longName": "SimpleSpamPolicy", + "fullName": "vega.snapshot.v1.SimpleSpamPolicy", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "policy_name", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "party_to_count", + "description": "", + "label": "repeated", + "type": "SpamPartyTransactionCount", + "longType": "SpamPartyTransactionCount", + "fullType": "vega.snapshot.v1.SpamPartyTransactionCount", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "banned_parties", + "description": "", + "label": "repeated", + "type": "BannedParty", + "longType": "BannedParty", + "fullType": "vega.snapshot.v1.BannedParty", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "token_balance", + "description": "", + "label": "repeated", + "type": "PartyTokenBalance", + "longType": "PartyTokenBalance", + "fullType": "vega.snapshot.v1.PartyTokenBalance", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "current_epoch_seq", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Snapshot", + "longName": "Snapshot", + "fullName": "vega.snapshot.v1.Snapshot", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "format", + "description": "", + "label": "", + "type": "Format", + "longType": "Format", + "fullType": "vega.snapshot.v1.Format", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "chunks", + "description": "", + "label": "", + "type": "uint32", + "longType": "uint32", + "fullType": "uint32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "hash", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "metadata", + "description": "", + "label": "", + "type": "bytes", + "longType": "bytes", + "fullType": "bytes", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SpamPartyTransactionCount", + "longName": "SpamPartyTransactionCount", + "fullName": "vega.snapshot.v1.SpamPartyTransactionCount", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "count", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SpotLiquidityTarget", + "longName": "SpotLiquidityTarget", + "fullName": "vega.snapshot.v1.SpotLiquidityTarget", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "current_time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "scheduled_truncate", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "current_total_stake", + "description": "", + "label": "repeated", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "previous_total_stake", + "description": "", + "label": "repeated", + "type": "TimestampedTotalStake", + "longType": "TimestampedTotalStake", + "fullType": "vega.snapshot.v1.TimestampedTotalStake", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "max_total_stake", + "description": "", + "label": "", + "type": "TimestampedTotalStake", + "longType": "TimestampedTotalStake", + "fullType": "vega.snapshot.v1.TimestampedTotalStake", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "SpotMarket", + "longName": "SpotMarket", + "fullName": "vega.snapshot.v1.SpotMarket", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "market", + "description": "", + "label": "", + "type": "Market", + "longType": "vega.Market", + "fullType": "vega.Market", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price_monitor", + "description": "", + "label": "", + "type": "PriceMonitor", + "longType": "PriceMonitor", + "fullType": "vega.snapshot.v1.PriceMonitor", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "auction_state", + "description": "", + "label": "", + "type": "AuctionState", + "longType": "AuctionState", + "fullType": "vega.snapshot.v1.AuctionState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pegged_orders", + "description": "", + "label": "", + "type": "PeggedOrders", + "longType": "PeggedOrders", + "fullType": "vega.snapshot.v1.PeggedOrders", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expiring_orders", + "description": "", + "label": "repeated", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_best_bid", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_best_ask", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_mid_bid", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_mid_ask", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_market_value_proxy", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_equity_share_distributed", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "equity_share", + "description": "", + "label": "", + "type": "EquityShare", + "longType": "EquityShare", + "fullType": "vega.snapshot.v1.EquityShare", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "current_mark_price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "fee_splitter", + "description": "", + "label": "", + "type": "FeeSplitter", + "longType": "FeeSplitter", + "fullType": "vega.snapshot.v1.FeeSplitter", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "next_mark_to_market", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_traded_price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "parties", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "closed", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "stop_orders", + "description": "", + "label": "", + "type": "StopOrders", + "longType": "StopOrders", + "fullType": "vega.snapshot.v1.StopOrders", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "expiring_stop_orders", + "description": "", + "label": "repeated", + "type": "Order", + "longType": "vega.Order", + "fullType": "vega.Order", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StakeVerifierDeposited", + "longName": "StakeVerifierDeposited", + "fullName": "vega.snapshot.v1.StakeVerifierDeposited", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "pending_deposited", + "description": "", + "label": "repeated", + "type": "StakeVerifierPending", + "longType": "StakeVerifierPending", + "fullType": "vega.snapshot.v1.StakeVerifierPending", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StakeVerifierPending", + "longName": "StakeVerifierPending", + "fullName": "vega.snapshot.v1.StakeVerifierPending", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "ethereum_address", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "vega_public_key", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "amount", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_number", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "log_index", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "tx_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StakeVerifierRemoved", + "longName": "StakeVerifierRemoved", + "fullName": "vega.snapshot.v1.StakeVerifierRemoved", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "pending_removed", + "description": "", + "label": "repeated", + "type": "StakeVerifierPending", + "longType": "StakeVerifierPending", + "fullType": "vega.snapshot.v1.StakeVerifierPending", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StakingAccount", + "longName": "StakingAccount", + "fullName": "vega.snapshot.v1.StakingAccount", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "balance", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "events", + "description": "", + "label": "repeated", + "type": "StakeLinking", + "longType": "vega.events.v1.StakeLinking", + "fullType": "vega.events.v1.StakeLinking", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StakingAccounts", + "longName": "StakingAccounts", + "fullName": "vega.snapshot.v1.StakingAccounts", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "accounts", + "description": "", + "label": "repeated", + "type": "StakingAccount", + "longType": "StakingAccount", + "fullType": "vega.snapshot.v1.StakingAccount", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "staking_asset_total_supply", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pending_stake_total_supply", + "description": "", + "label": "", + "type": "StakeTotalSupply", + "longType": "vega.StakeTotalSupply", + "fullType": "vega.StakeTotalSupply", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StateVarInternalState", + "longName": "StateVarInternalState", + "fullName": "vega.snapshot.v1.StateVarInternalState", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "state", + "description": "", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "event_id", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validators_results", + "description": "", + "label": "repeated", + "type": "FloatingPointValidatorResult", + "longType": "FloatingPointValidatorResult", + "fullType": "vega.snapshot.v1.FloatingPointValidatorResult", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "rounds_since_meaningful_update", + "description": "", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "StopOrders", + "longName": "StopOrders", + "fullName": "vega.snapshot.v1.StopOrders", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "stop_orders", + "description": "", + "label": "repeated", + "type": "StopOrderEvent", + "longType": "vega.events.v1.StopOrderEvent", + "fullType": "vega.events.v1.StopOrderEvent", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "priced_stop_orders", + "description": "", + "label": "", + "type": "PricedStopOrders", + "longType": "PricedStopOrders", + "fullType": "vega.snapshot.v1.PricedStopOrders", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "trailing_stop_orders", + "description": "", + "label": "", + "type": "TrailingStopOrders", + "longType": "TrailingStopOrders", + "fullType": "vega.snapshot.v1.TrailingStopOrders", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Successors", + "longName": "Successors", + "fullName": "vega.snapshot.v1.Successors", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "parent_market", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "successor_markets", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TimePrice", + "longName": "TimePrice", + "fullName": "vega.snapshot.v1.TimePrice", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TimestampedOpenInterest", + "longName": "TimestampedOpenInterest", + "fullName": "vega.snapshot.v1.TimestampedOpenInterest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "open_interest", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TimestampedTotalStake", + "longName": "TimestampedTotalStake", + "fullName": "vega.snapshot.v1.TimestampedTotalStake", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "total_stake", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "time", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ToplogySignatures", + "longName": "ToplogySignatures", + "fullName": "vega.snapshot.v1.ToplogySignatures", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "pending_signatures", + "description": "", + "label": "repeated", + "type": "PendingERC20MultisigControlSignature", + "longType": "PendingERC20MultisigControlSignature", + "fullType": "vega.snapshot.v1.PendingERC20MultisigControlSignature", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "issued_signatures", + "description": "", + "label": "repeated", + "type": "IssuedERC20MultisigControlSignature", + "longType": "IssuedERC20MultisigControlSignature", + "fullType": "vega.snapshot.v1.IssuedERC20MultisigControlSignature", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Topology", + "longName": "Topology", + "fullName": "vega.snapshot.v1.Topology", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "validator_data", + "description": "", + "label": "repeated", + "type": "ValidatorState", + "longType": "ValidatorState", + "fullType": "vega.snapshot.v1.ValidatorState", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "chain_keys", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pending_pub_key_rotations", + "description": "", + "label": "repeated", + "type": "PendingKeyRotation", + "longType": "PendingKeyRotation", + "fullType": "vega.snapshot.v1.PendingKeyRotation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validator_performance", + "description": "", + "label": "", + "type": "ValidatorPerformance", + "longType": "ValidatorPerformance", + "fullType": "vega.snapshot.v1.ValidatorPerformance", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "pending_ethereum_key_rotations", + "description": "", + "label": "repeated", + "type": "PendingEthereumKeyRotation", + "longType": "PendingEthereumKeyRotation", + "fullType": "vega.snapshot.v1.PendingEthereumKeyRotation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "signatures", + "description": "", + "label": "", + "type": "ToplogySignatures", + "longType": "ToplogySignatures", + "fullType": "vega.snapshot.v1.ToplogySignatures", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "unsolved_ethereum_key_rotations", + "description": "", + "label": "repeated", + "type": "PendingEthereumKeyRotation", + "longType": "PendingEthereumKeyRotation", + "fullType": "vega.snapshot.v1.PendingEthereumKeyRotation", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TrailingStopOrders", + "longName": "TrailingStopOrders", + "fullName": "vega.snapshot.v1.TrailingStopOrders", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "last_seen_price", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "falls_bellow", + "description": "", + "label": "repeated", + "type": "OffsetsAtPrice", + "longType": "OffsetsAtPrice", + "fullType": "vega.snapshot.v1.OffsetsAtPrice", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "rises_above", + "description": "", + "label": "repeated", + "type": "OffsetsAtPrice", + "longType": "OffsetsAtPrice", + "fullType": "vega.snapshot.v1.OffsetsAtPrice", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TransactionsAtHeight", + "longName": "TransactionsAtHeight", + "fullName": "vega.snapshot.v1.TransactionsAtHeight", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "height", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "transactions", + "description": "", + "label": "repeated", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "TxRef", + "longName": "TxRef", + "fullName": "vega.snapshot.v1.TxRef", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "asset", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_nr", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "hash", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "log_index", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ValidatorPerformance", + "longName": "ValidatorPerformance", + "fullName": "vega.snapshot.v1.ValidatorPerformance", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "validator_perf_stats", + "description": "", + "label": "repeated", + "type": "PerformanceStats", + "longType": "PerformanceStats", + "fullType": "vega.snapshot.v1.PerformanceStats", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "ValidatorState", + "longName": "ValidatorState", + "fullName": "vega.snapshot.v1.ValidatorState", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "validator_update", + "description": "", + "label": "", + "type": "ValidatorUpdate", + "longType": "vega.events.v1.ValidatorUpdate", + "fullType": "vega.events.v1.ValidatorUpdate", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "block_added", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status", + "description": "", + "label": "", + "type": "int32", + "longType": "int32", + "fullType": "int32", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "status_change_block", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_block_with_positive_ranking", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "eth_events_forwarded", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "heartbeat_tracker", + "description": "", + "label": "", + "type": "HeartbeatTracker", + "longType": "HeartbeatTracker", + "fullType": "vega.snapshot.v1.HeartbeatTracker", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "validator_power", + "description": "", + "label": "", + "type": "int64", + "longType": "int64", + "fullType": "int64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "ranking_score", + "description": "", + "label": "", + "type": "RankingScore", + "longType": "vega.RankingScore", + "fullType": "vega.RankingScore", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "VoteSpamPolicy", + "longName": "VoteSpamPolicy", + "fullName": "vega.snapshot.v1.VoteSpamPolicy", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "party_to_vote", + "description": "", + "label": "repeated", + "type": "PartyProposalVoteCount", + "longType": "PartyProposalVoteCount", + "fullType": "vega.snapshot.v1.PartyProposalVoteCount", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "banned_parties", + "description": "", + "label": "repeated", + "type": "BannedParty", + "longType": "BannedParty", + "fullType": "vega.snapshot.v1.BannedParty", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "token_balance", + "description": "", + "label": "repeated", + "type": "PartyTokenBalance", + "longType": "PartyTokenBalance", + "fullType": "vega.snapshot.v1.PartyTokenBalance", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "recent_blocks_reject_stats", + "description": "", + "label": "repeated", + "type": "BlockRejectStats", + "longType": "BlockRejectStats", + "fullType": "vega.snapshot.v1.BlockRejectStats", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "current_block_index", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "last_increase_block", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "current_epoch_seq", + "description": "", + "label": "", + "type": "uint64", + "longType": "uint64", + "fullType": "uint64", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "min_voting_tokens_factor", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Withdrawal", + "longName": "Withdrawal", + "fullName": "vega.snapshot.v1.Withdrawal", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "ref", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "withdrawal", + "description": "", + "label": "", + "type": "Withdrawal", + "longType": "vega.Withdrawal", + "fullType": "vega.Withdrawal", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + }, + { + "name": "Witness", + "longName": "Witness", + "fullName": "vega.snapshot.v1.Witness", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": false, + "extensions": [], + "fields": [ + { + "name": "resources", + "description": "", + "label": "repeated", + "type": "Resource", + "longType": "Resource", + "fullType": "vega.snapshot.v1.Resource", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + } + ] + } + ], + "services": [] + }, + { + "name": "vega/wallet/v1/wallet.proto", + "description": "", + "package": "vega.wallet.v1", + "hasEnums": false, + "hasExtensions": false, + "hasMessages": true, + "hasServices": false, + "enums": [], + "extensions": [], + "messages": [ + { + "name": "SubmitTransactionRequest", + "longName": "SubmitTransactionRequest", + "fullName": "vega.wallet.v1.SubmitTransactionRequest", + "description": "", + "hasExtensions": false, + "hasFields": true, + "hasOneofs": true, + "extensions": [], + "fields": [ + { + "name": "pub_key", + "description": "", + "label": "", + "type": "string", + "longType": "string", + "fullType": "string", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "propagate", + "description": "", + "label": "", + "type": "bool", + "longType": "bool", + "fullType": "bool", + "ismap": false, + "isoneof": false, + "oneofdecl": "", + "defaultValue": "" + }, + { + "name": "order_submission", + "description": "User commands", + "label": "", + "type": "OrderSubmission", + "longType": "vega.commands.v1.OrderSubmission", + "fullType": "vega.commands.v1.OrderSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "order_cancellation", + "description": "", + "label": "", + "type": "OrderCancellation", + "longType": "vega.commands.v1.OrderCancellation", + "fullType": "vega.commands.v1.OrderCancellation", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "order_amendment", + "description": "", + "label": "", + "type": "OrderAmendment", + "longType": "vega.commands.v1.OrderAmendment", + "fullType": "vega.commands.v1.OrderAmendment", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "withdraw_submission", + "description": "", + "label": "", + "type": "WithdrawSubmission", + "longType": "vega.commands.v1.WithdrawSubmission", + "fullType": "vega.commands.v1.WithdrawSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "proposal_submission", + "description": "", + "label": "", + "type": "ProposalSubmission", + "longType": "vega.commands.v1.ProposalSubmission", + "fullType": "vega.commands.v1.ProposalSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "vote_submission", + "description": "", + "label": "", + "type": "VoteSubmission", + "longType": "vega.commands.v1.VoteSubmission", + "fullType": "vega.commands.v1.VoteSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "liquidity_provision_submission", + "description": "", + "label": "", + "type": "LiquidityProvisionSubmission", + "longType": "vega.commands.v1.LiquidityProvisionSubmission", + "fullType": "vega.commands.v1.LiquidityProvisionSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "delegate_submission", + "description": "", + "label": "", + "type": "DelegateSubmission", + "longType": "vega.commands.v1.DelegateSubmission", + "fullType": "vega.commands.v1.DelegateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "undelegate_submission", + "description": "", + "label": "", + "type": "UndelegateSubmission", + "longType": "vega.commands.v1.UndelegateSubmission", + "fullType": "vega.commands.v1.UndelegateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "liquidity_provision_cancellation", + "description": "", + "label": "", + "type": "LiquidityProvisionCancellation", + "longType": "vega.commands.v1.LiquidityProvisionCancellation", + "fullType": "vega.commands.v1.LiquidityProvisionCancellation", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "liquidity_provision_amendment", + "description": "", + "label": "", + "type": "LiquidityProvisionAmendment", + "longType": "vega.commands.v1.LiquidityProvisionAmendment", + "fullType": "vega.commands.v1.LiquidityProvisionAmendment", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "transfer", + "description": "", + "label": "", + "type": "Transfer", + "longType": "vega.commands.v1.Transfer", + "fullType": "vega.commands.v1.Transfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "cancel_transfer", + "description": "", + "label": "", + "type": "CancelTransfer", + "longType": "vega.commands.v1.CancelTransfer", + "fullType": "vega.commands.v1.CancelTransfer", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "announce_node", + "description": "", + "label": "", + "type": "AnnounceNode", + "longType": "vega.commands.v1.AnnounceNode", + "fullType": "vega.commands.v1.AnnounceNode", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "batch_market_instructions", + "description": "", + "label": "", + "type": "BatchMarketInstructions", + "longType": "vega.commands.v1.BatchMarketInstructions", + "fullType": "vega.commands.v1.BatchMarketInstructions", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "stop_orders_submission", + "description": "", + "label": "", + "type": "StopOrdersSubmission", + "longType": "vega.commands.v1.StopOrdersSubmission", + "fullType": "vega.commands.v1.StopOrdersSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "stop_orders_cancellation", + "description": "", + "label": "", + "type": "StopOrdersCancellation", + "longType": "vega.commands.v1.StopOrdersCancellation", + "fullType": "vega.commands.v1.StopOrdersCancellation", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "create_team", + "description": "", + "label": "", + "type": "CreateTeam", + "longType": "vega.commands.v1.CreateTeam", + "fullType": "vega.commands.v1.CreateTeam", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "update_team", + "description": "", + "label": "", + "type": "UpdateTeam", + "longType": "vega.commands.v1.UpdateTeam", + "fullType": "vega.commands.v1.UpdateTeam", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "join_team", + "description": "", + "label": "", + "type": "JoinTeam", + "longType": "vega.commands.v1.JoinTeam", + "fullType": "vega.commands.v1.JoinTeam", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "node_vote", + "description": "Validator commands", + "label": "", + "type": "NodeVote", + "longType": "vega.commands.v1.NodeVote", + "fullType": "vega.commands.v1.NodeVote", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "node_signature", + "description": "", + "label": "", + "type": "NodeSignature", + "longType": "vega.commands.v1.NodeSignature", + "fullType": "vega.commands.v1.NodeSignature", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "chain_event", + "description": "", + "label": "", + "type": "ChainEvent", + "longType": "vega.commands.v1.ChainEvent", + "fullType": "vega.commands.v1.ChainEvent", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "key_rotate_submission", + "description": "", + "label": "", + "type": "KeyRotateSubmission", + "longType": "vega.commands.v1.KeyRotateSubmission", + "fullType": "vega.commands.v1.KeyRotateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "state_variable_proposal", + "description": "", + "label": "", + "type": "StateVariableProposal", + "longType": "vega.commands.v1.StateVariableProposal", + "fullType": "vega.commands.v1.StateVariableProposal", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "validator_heartbeat", + "description": "", + "label": "", + "type": "ValidatorHeartbeat", + "longType": "vega.commands.v1.ValidatorHeartbeat", + "fullType": "vega.commands.v1.ValidatorHeartbeat", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "ethereum_key_rotate_submission", + "description": "", + "label": "", + "type": "EthereumKeyRotateSubmission", + "longType": "vega.commands.v1.EthereumKeyRotateSubmission", + "fullType": "vega.commands.v1.EthereumKeyRotateSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "protocol_upgrade_proposal", + "description": "", + "label": "", + "type": "ProtocolUpgradeProposal", + "longType": "vega.commands.v1.ProtocolUpgradeProposal", + "fullType": "vega.commands.v1.ProtocolUpgradeProposal", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "issue_signatures", + "description": "", + "label": "", + "type": "IssueSignatures", + "longType": "vega.commands.v1.IssueSignatures", + "fullType": "vega.commands.v1.IssueSignatures", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + }, + { + "name": "oracle_data_submission", + "description": "Oracle commands", + "label": "", + "type": "OracleDataSubmission", + "longType": "vega.commands.v1.OracleDataSubmission", + "fullType": "vega.commands.v1.OracleDataSubmission", + "ismap": false, + "isoneof": true, + "oneofdecl": "command", + "defaultValue": "" + } + ] + } + ], + "services": [] + } + ], + "scalarValueTypes": [ + { + "protoType": "double", + "notes": "", + "cppType": "double", + "csType": "double", + "goType": "float64", + "javaType": "double", + "phpType": "float", + "pythonType": "float", + "rubyType": "Float" + }, + { + "protoType": "float", + "notes": "", + "cppType": "float", + "csType": "float", + "goType": "float32", + "javaType": "float", + "phpType": "float", + "pythonType": "float", + "rubyType": "Float" + }, + { + "protoType": "int32", + "notes": "Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.", + "cppType": "int32", + "csType": "int", + "goType": "int32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "int64", + "notes": "Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.", + "cppType": "int64", + "csType": "long", + "goType": "int64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "uint32", + "notes": "Uses variable-length encoding.", + "cppType": "uint32", + "csType": "uint", + "goType": "uint32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int/long", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "uint64", + "notes": "Uses variable-length encoding.", + "cppType": "uint64", + "csType": "ulong", + "goType": "uint64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "sint32", + "notes": "Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.", + "cppType": "int32", + "csType": "int", + "goType": "int32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "sint64", + "notes": "Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.", + "cppType": "int64", + "csType": "long", + "goType": "int64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "fixed32", + "notes": "Always four bytes. More efficient than uint32 if values are often greater than 2^28.", + "cppType": "uint32", + "csType": "uint", + "goType": "uint32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "fixed64", + "notes": "Always eight bytes. More efficient than uint64 if values are often greater than 2^56.", + "cppType": "uint64", + "csType": "ulong", + "goType": "uint64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "sfixed32", + "notes": "Always four bytes.", + "cppType": "int32", + "csType": "int", + "goType": "int32", + "javaType": "int", + "phpType": "integer", + "pythonType": "int", + "rubyType": "Bignum or Fixnum (as required)" + }, + { + "protoType": "sfixed64", + "notes": "Always eight bytes.", + "cppType": "int64", + "csType": "long", + "goType": "int64", + "javaType": "long", + "phpType": "integer/string", + "pythonType": "int/long", + "rubyType": "Bignum" + }, + { + "protoType": "bool", + "notes": "", + "cppType": "bool", + "csType": "bool", + "goType": "bool", + "javaType": "boolean", + "phpType": "boolean", + "pythonType": "boolean", + "rubyType": "TrueClass/FalseClass" + }, + { + "protoType": "string", + "notes": "A string must always contain UTF-8 encoded or 7-bit ASCII text.", + "cppType": "string", + "csType": "string", + "goType": "string", + "javaType": "String", + "phpType": "string", + "pythonType": "str/unicode", + "rubyType": "String (UTF-8)" + }, + { + "protoType": "bytes", + "notes": "May contain any arbitrary sequence of bytes.", + "cppType": "string", + "csType": "ByteString", + "goType": "[]byte", + "javaType": "ByteString", + "phpType": "string", + "pythonType": "str", + "rubyType": "String (ASCII-8BIT)" + } + ] +} \ No newline at end of file diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/blockexplorer/api/v1/blockexplorer.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/blockexplorer/api/v1/blockexplorer.swagger.json new file mode 100644 index 000000000..08a27e5df --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/blockexplorer/api/v1/blockexplorer.swagger.json @@ -0,0 +1,3068 @@ +{ + "swagger": "2.0", + "info": { + "title": "Vega block explorer APIs", + "version": "v0.72.1" + }, + "tags": [ + { + "name": "BlockExplorerService" + } + ], + "host": "lb.testnet.vega.xyz", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "ConditionOperator": { + "type": "string", + "enum": [ + "OPERATOR_UNSPECIFIED", + "OPERATOR_EQUALS", + "OPERATOR_GREATER_THAN", + "OPERATOR_GREATER_THAN_OR_EQUAL", + "OPERATOR_LESS_THAN", + "OPERATOR_LESS_THAN_OR_EQUAL" + ], + "default": "OPERATOR_UNSPECIFIED", + "description": "Operator describes the type of comparison.\n\n - OPERATOR_UNSPECIFIED: The default value\n - OPERATOR_EQUALS: Verify if the property values are strictly equal or not.\n - OPERATOR_GREATER_THAN: Verify if the data source data value is greater than the Condition value.\n - OPERATOR_GREATER_THAN_OR_EQUAL: Verify if the data source data value is greater than or equal to the Condition\nvalue.\n - OPERATOR_LESS_THAN: Verify if the data source data value is less than the Condition value.\n - OPERATOR_LESS_THAN_OR_EQUAL: Verify if the data source data value is less or equal to than the Condition\nvalue." + }, + "OracleDataSubmissionOracleSource": { + "type": "string", + "enum": [ + "ORACLE_SOURCE_UNSPECIFIED", + "ORACLE_SOURCE_OPEN_ORACLE", + "ORACLE_SOURCE_JSON", + "ORACLE_SOURCE_ETHEREUM" + ], + "default": "ORACLE_SOURCE_UNSPECIFIED", + "description": "- ORACLE_SOURCE_UNSPECIFIED: Default value\n - ORACLE_SOURCE_OPEN_ORACLE: Specifies that the payload will be base64 encoded JSON conforming to the Open Oracle standard\n - ORACLE_SOURCE_JSON: Specifies that the payload will be base64 encoded JSON, but does not specify the shape of the data\n - ORACLE_SOURCE_ETHEREUM: Specifies that the payload will be base64 encoded JSON conforming to the ETH standard", + "title": "Supported oracle sources" + }, + "OrderTimeInForce": { + "type": "string", + "enum": [ + "TIME_IN_FORCE_UNSPECIFIED", + "TIME_IN_FORCE_GTC", + "TIME_IN_FORCE_GTT", + "TIME_IN_FORCE_IOC", + "TIME_IN_FORCE_FOK", + "TIME_IN_FORCE_GFA", + "TIME_IN_FORCE_GFN" + ], + "default": "TIME_IN_FORCE_UNSPECIFIED", + "description": "- TIME_IN_FORCE_UNSPECIFIED: Default value for TimeInForce, can be valid for an amend\n - TIME_IN_FORCE_GTC: Good until cancelled, the order trades any amount and as much as possible\nand remains on the book until it either trades completely or is cancelled\n - TIME_IN_FORCE_GTT: Good until specified time, this order type trades any amount and as much as possible\nand remains on the book until it either trades completely, is cancelled, or expires at a set time\nNOTE: this may in future be multiple types or have sub types for orders that provide different ways of specifying expiry\n - TIME_IN_FORCE_IOC: Immediate or cancel, the order trades any amount and as much as possible\nbut does not remain on the book (whether it trades or not)\n - TIME_IN_FORCE_FOK: Fill or kill, the order either trades completely i.e. remainingSize == 0 after adding,\nor not at all, and does not remain on the book if it doesn't trade\n - TIME_IN_FORCE_GFA: Good for auction, this order is only accepted during an auction period\n - TIME_IN_FORCE_GFN: Good for normal, this order is only accepted during normal trading (that can be continuous trading or frequent batched auctions)", + "title": "Time In Force for an order" + }, + "StopOrderExpiryStrategy": { + "type": "string", + "enum": [ + "EXPIRY_STRATEGY_UNSPECIFIED", + "EXPIRY_STRATEGY_CANCELS", + "EXPIRY_STRATEGY_SUBMIT" + ], + "default": "EXPIRY_STRATEGY_UNSPECIFIED", + "description": " - EXPIRY_STRATEGY_UNSPECIFIED: Never valid\n - EXPIRY_STRATEGY_CANCELS: Stop order should be cancelled if the expiry time is reached.\n - EXPIRY_STRATEGY_SUBMIT: Order should be submitted if the expiry time is reached." + }, + "UndelegateSubmissionMethod": { + "type": "string", + "enum": [ + "METHOD_UNSPECIFIED", + "METHOD_NOW", + "METHOD_AT_END_OF_EPOCH" + ], + "default": "METHOD_UNSPECIFIED" + }, + "blockexplorerapiv1Transaction": { + "type": "object", + "properties": { + "block": { + "type": "string", + "format": "uint64", + "title": "Height of the block the transaction was found in" + }, + "index": { + "type": "integer", + "format": "int64", + "title": "Index of the transaction in the block" + }, + "hash": { + "type": "string", + "title": "Hash of the transaction" + }, + "submitter": { + "type": "string", + "title": "Vega public key of the transaction's submitter" + }, + "type": { + "type": "string", + "title": "Type of transaction" + }, + "code": { + "type": "integer", + "format": "int64", + "title": "Results code of the transaction. 0 indicates the transaction was successful" + }, + "cursor": { + "type": "string", + "title": "Cursor for this transaction. This is used for paginating results" + }, + "command": { + "$ref": "#/definitions/v1InputData", + "title": "Actual command of the transaction" + }, + "signature": { + "$ref": "#/definitions/v1Signature", + "title": "Signature generated by the submitter for the transaction" + }, + "error": { + "type": "string", + "title": "Optional error happening when processing / checking the transaction\nThis should be set if error code is not 0" + } + } + }, + "commandsv1CancelTransfer": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "Transfer ID of the transfer to cancel." + } + }, + "title": "Request for cancelling a recurring transfer" + }, + "commandsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "commandsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64", + "description": "First epoch from which this transfer shall be paid." + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "factor": { + "type": "string", + "description": "Factor needs to be \u003e 0." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "commandsv1Transfer": { + "type": "object", + "properties": { + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type from which the funds of the party\nshould be taken." + }, + "to": { + "type": "string", + "description": "Public key of the destination account." + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the destination account." + }, + "asset": { + "type": "string", + "description": "Asset ID of the asset to be transferred." + }, + "amount": { + "type": "string", + "description": "Amount to be taken from the source account. This field is an unsigned integer scaled to the asset's decimal places." + }, + "reference": { + "type": "string", + "description": "Reference to be attached to the transfer." + }, + "oneOff": { + "$ref": "#/definitions/commandsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/commandsv1RecurringTransfer" + } + }, + "title": "Transfer initiated by a party" + }, + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "protobufNullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "v1AnnounceNode": { + "type": "object", + "properties": { + "vegaPubKey": { + "type": "string", + "description": "Vega public key, required field." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key, required field." + }, + "chainPubKey": { + "type": "string", + "description": "Public key for the blockchain, required field." + }, + "infoUrl": { + "type": "string", + "description": "URL with more info on the node." + }, + "country": { + "type": "string", + "description": "Country code (ISO 3166-1 alpha-2) for the location of the node." + }, + "id": { + "type": "string", + "description": "Node ID of the validator, i.e. the node's public master key." + }, + "name": { + "type": "string", + "description": "Name of the validator." + }, + "avatarUrl": { + "type": "string", + "description": "AvatarURL of the validator." + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "Vega public key derivation index." + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "description": "Epoch from which the validator is expected\nto be ready to validate blocks." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the ethereum wallet." + }, + "vegaSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the Vega wallet." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + } + }, + "title": "Used to announce a node as a new pending validator" + }, + "v1BatchMarketInstructions": { + "type": "object", + "properties": { + "cancellations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "description": "List of order cancellations to be processed sequentially." + }, + "amendments": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "description": "List of order amendments to be processed sequentially." + }, + "submissions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "description": "List of order submissions to be processed sequentially." + }, + "stopOrdersCancellation": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "description": "List of stop order cancellations to be processed sequentially." + }, + "stopOrdersSubmission": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "description": "List of stop order submissions to be processed sequentially." + } + }, + "title": "Batch of order instructions.\nThis command accepts only the following batches of commands\nand will be processed in the following order:\n- OrderCancellation\n- OrderAmendment\n- OrderSubmission\nThe total amount of commands in the batch across all three lists of\ninstructions is restricted by the following network parameter:\n\"spam.protection.max.batchSize\"" + }, + "v1ChainEvent": { + "type": "object", + "properties": { + "txId": { + "type": "string", + "description": "Transaction ID of the transaction in which the events happened, usually a hash." + }, + "nonce": { + "type": "string", + "format": "uint64", + "description": "Arbitrary one-time integer used to prevent replay attacks." + }, + "builtin": { + "$ref": "#/definitions/vegaBuiltinAssetEvent", + "description": "Built-in asset event." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Event", + "description": "Ethereum ERC20 event." + }, + "stakingEvent": { + "$ref": "#/definitions/vegaStakingEvent", + "description": "Ethereum Staking event." + }, + "erc20Multisig": { + "$ref": "#/definitions/vegaERC20MultiSigEvent", + "description": "Ethereum ERC20 multisig event." + }, + "contractCall": { + "$ref": "#/definitions/vegaEthContractCallEvent", + "title": "Arbitrary contract call" + } + }, + "title": "Event forwarded to the Vega network to provide information on events happening on other networks" + }, + "v1Condition": { + "type": "object", + "properties": { + "operator": { + "$ref": "#/definitions/ConditionOperator", + "description": "Type of comparison to make on the value." + }, + "value": { + "type": "string", + "description": "Value to be compared with by the operator." + } + }, + "title": "Condition describes the condition that must be validated by the network" + }, + "v1CreateTeam": { + "type": "object", + "properties": { + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "description": "Creates a referral team. The team creator automatically becomes\nthe team leader, called a referrer. This cannot be changed.\nA referrer cannot already be or become a liquidity provider,\nnor can they be on an existing team as referrer or referee.", + "title": "Request for creating a referral team" + }, + "v1DelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Delegate to the specified node ID." + }, + "amount": { + "type": "string", + "description": "Amount of stake to delegate. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Command to submit an instruction to delegate some stake to a node" + }, + "v1ETHAddress": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "v1EthereumKeyRotateSubmission": { + "type": "object", + "properties": { + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newAddress": { + "type": "string", + "description": "New address to rotate to." + }, + "currentAddress": { + "type": "string", + "description": "Currently used public address." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature that can be verified using the new ethereum address." + } + }, + "title": "Transaction to allow a validator to rotate their ethereum keys" + }, + "v1Filter": { + "type": "object", + "properties": { + "key": { + "$ref": "#/definitions/v1PropertyKey", + "description": "Data source's data property key targeted by the filter." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that should be matched by the data to be\nconsidered of interest." + } + }, + "description": "Filter describes the conditions under which a data source data is considered of\ninterest or not." + }, + "v1GetTransactionResponse": { + "type": "object", + "properties": { + "transaction": { + "$ref": "#/definitions/blockexplorerapiv1Transaction", + "title": "Transaction corresponding to the hash" + } + } + }, + "v1IcebergOpts": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is made visible and can be traded with during the execution of a single order." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "Minimum allowed remaining size of the order before it is replenished back to its peak size." + } + }, + "title": "Iceberg order options" + }, + "v1InfoResponse": { + "type": "object", + "properties": { + "version": { + "type": "string", + "title": "Semver formatted version of the data node" + }, + "commitHash": { + "type": "string", + "title": "Commit hash from which the data node was built" + } + } + }, + "v1InputData": { + "type": "object", + "properties": { + "nonce": { + "type": "string", + "format": "uint64", + "description": "Number to provide uniqueness to prevent accidental replays and,\nin combination with `block_height`, deliberate attacks.\nA nonce provides uniqueness for otherwise identical transactions,\nensuring that the transaction hash uniquely identifies a specific transaction.\nGranted all other fields are equal, the nonce can either be a counter\nor generated at random to submit multiple transactions within the same\nblock (see below), without being identified as replays.\nPlease note that Protocol Buffers do not have a canonical, unique encoding\nand therefore different libraries or binaries may encode the same message\nslightly differently, causing a different hash." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Block height at which the transaction was made.\nThis should be the current block height. The transaction will be valid\nfrom the block and up to the `tolerance` block height.\nExample: If the network has a tolerance of 150 blocks and `block_height`\nis set to `200`, then the transaction will be valid until block `350`.\nNote that a `block_height` that is ahead of the real block height will be\nrejected. The tolerance can be queried from the chain's network parameters.\n`block_height` prevents replay attacks in conjunction with `nonce` (see above)." + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission", + "description": "Command for submitting an order." + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation", + "description": "Command to cancel an order." + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment", + "description": "Command to amend an order." + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission", + "description": "Command to submit a withdrawal." + }, + "proposalSubmission": { + "$ref": "#/definitions/v1ProposalSubmission", + "description": "Command to submit a governance proposal." + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission", + "description": "Command to submit a vote on a governance proposal." + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission", + "description": "Command to submit a liquidity commitment." + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission", + "description": "Command to delegate tokens to a validator." + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission", + "description": "Command to remove tokens delegated to a validator." + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation", + "description": "Command to request cancelling a liquidity commitment." + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment", + "description": "Command to request amending a liquidity commitment." + }, + "transfer": { + "$ref": "#/definitions/commandsv1Transfer", + "description": "Command to submit a transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer", + "description": "Command to request cancelling a recurring transfer." + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode", + "description": "Command used by a node operator to announce its node as a pending validator." + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions", + "description": "Command to submit a batch of order instructions to a market." + }, + "stopOrdersSubmission": { + "$ref": "#/definitions/v1StopOrdersSubmission", + "description": "Command to submit a pair of stop orders." + }, + "stopOrdersCancellation": { + "$ref": "#/definitions/v1StopOrdersCancellation", + "description": "Command to cancel stop orders." + }, + "createTeam": { + "$ref": "#/definitions/v1CreateTeam", + "description": "Command to create a team." + }, + "updateTeam": { + "$ref": "#/definitions/v1UpdateTeam", + "description": "Command to update a team." + }, + "joinTeam": { + "$ref": "#/definitions/v1JoinTeam", + "description": "Command to join a team." + }, + "nodeVote": { + "$ref": "#/definitions/v1NodeVote", + "description": "Command used by a validator when a node votes for validating that a given resource exists or is valid,\nfor example, an ERC20 deposit is valid and exists on ethereum." + }, + "nodeSignature": { + "$ref": "#/definitions/v1NodeSignature", + "description": "Command used by a validator to submit a signature, to be used by a foreign chain to recognise a decision taken by the Vega network." + }, + "chainEvent": { + "$ref": "#/definitions/v1ChainEvent", + "description": "Command used by a validator to submit an event forwarded to the Vega network to provide information\non events happening on other networks, to be used by a foreign chain\nto recognise a decision taken by the Vega network." + }, + "keyRotateSubmission": { + "$ref": "#/definitions/v1KeyRotateSubmission", + "description": "Command used by a validator to allow given validator to rotate their Vega keys." + }, + "stateVariableProposal": { + "$ref": "#/definitions/v1StateVariableProposal", + "description": "Command used by a validator to submit a floating point value." + }, + "validatorHeartbeat": { + "$ref": "#/definitions/v1ValidatorHeartbeat", + "description": "Command used by a validator to signal they are still online and validating blocks\nor ready to validate blocks when they are still a pending validator." + }, + "ethereumKeyRotateSubmission": { + "$ref": "#/definitions/v1EthereumKeyRotateSubmission", + "description": "Command used by a validator to allow given validator to rotate their Ethereum keys." + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal", + "description": "Command used by a validator to propose a protocol upgrade." + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures", + "description": "Command used by a validator to submit signatures to a smart contract." + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission", + "description": "Command to submit new oracle data from third party providers." + } + } + }, + "v1InternalTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "int64", + "description": "Trigger when the vega time is greater or equal to this time, in Unix seconds." + }, + "every": { + "type": "string", + "format": "int64", + "description": "Repeat the trigger every n seconds after the initial. If no time for\ninitial was specified, begin repeating immediately." + } + }, + "description": "Trigger for an internal time data source." + }, + "v1IssueSignatures": { + "type": "object", + "properties": { + "submitter": { + "type": "string", + "description": "Ethereum address which will submit the signatures to the smart contract." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "What kind of signatures to generate, namely for whether a signer is being added or removed." + }, + "validatorNodeId": { + "type": "string", + "description": "Node ID of the validator node that will be signed in or out of the smart contract." + } + }, + "title": "Transaction for a validator to submit signatures to a smart contract" + }, + "v1JoinTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to join." + } + }, + "description": "A party that joins a referral team is called a referee. A referee cannot\nbe a liquidity provider, nor can they create a team or join multiple teams.\nTo switch teams, the referee can ask to join another team, and the switch will\nbe effective at the end of the epoch.", + "title": "Request to join a team" + }, + "v1KeyRotateSubmission": { + "type": "object", + "properties": { + "newPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "New Vega public key derivation index." + }, + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newPubKey": { + "type": "string", + "description": "New public key to rotate to." + }, + "currentPubKeyHash": { + "type": "string", + "description": "Hash of currently used public key." + } + }, + "title": "Transaction to allow a validator to rotate their Vega keys" + }, + "v1LiquidityProvisionAmendment": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be amended." + }, + "commitmentAmount": { + "type": "string", + "description": "From here at least one of the following is required to consider the command valid." + }, + "fee": { + "type": "string" + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "reference": { + "type": "string" + } + }, + "title": "Amend a liquidity provision request" + }, + "v1LiquidityProvisionCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be cancelled." + } + }, + "title": "Cancel a liquidity provision request" + }, + "v1LiquidityProvisionSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled using the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "reference": { + "type": "string", + "description": "Reference to be added to every order created out of this liquidity provision submission." + } + }, + "title": "A liquidity provision submitted for a given market" + }, + "v1ListTransactionsResponse": { + "type": "object", + "properties": { + "transactions": { + "type": "array", + "items": { + "$ref": "#/definitions/blockexplorerapiv1Transaction" + }, + "title": "Transaction corresponding to the specific request and filters" + } + } + }, + "v1NodeSignature": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the resource being signed." + }, + "sig": { + "type": "string", + "format": "byte", + "description": "The signature generated by the signer." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "Kind of resource being signed." + } + }, + "title": "Represents a signature from a validator, to be used by a foreign chain in order to recognise a decision taken by the Vega network" + }, + "v1NodeSignatureKind": { + "type": "string", + "enum": [ + "NODE_SIGNATURE_KIND_UNSPECIFIED", + "NODE_SIGNATURE_KIND_ASSET_NEW", + "NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED", + "NODE_SIGNATURE_KIND_ASSET_UPDATE" + ], + "default": "NODE_SIGNATURE_KIND_UNSPECIFIED", + "description": "- NODE_SIGNATURE_KIND_UNSPECIFIED: Represents an unspecified or missing value from the input\n - NODE_SIGNATURE_KIND_ASSET_NEW: Represents a signature for a new asset allow-listing\n - NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL: Represents a signature for an asset withdrawal\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED: Represents a signature for a new signer added to the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED: Represents a signature for a signer removed from the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ASSET_UPDATE: Represents a signature for an asset update allow-listing", + "title": "Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc" + }, + "v1NodeVote": { + "type": "object", + "properties": { + "reference": { + "type": "string", + "description": "Reference identifying the resource making the vote, required field." + }, + "type": { + "$ref": "#/definitions/v1NodeVoteType", + "description": "Type of NodeVote, also required." + } + }, + "description": "Used when a node votes for validating that a given resource exists or is valid,\nfor example, an ERC20 deposit is valid and exists on ethereum." + }, + "v1NodeVoteType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_STAKE_DEPOSITED", + "TYPE_STAKE_REMOVED", + "TYPE_FUNDS_DEPOSITED", + "TYPE_SIGNER_ADDED", + "TYPE_SIGNER_REMOVED", + "TYPE_BRIDGE_STOPPED", + "TYPE_BRIDGE_RESUMED", + "TYPE_ASSET_LISTED", + "TYPE_LIMITS_UPDATED", + "TYPE_STAKE_TOTAL_SUPPLY", + "TYPE_SIGNER_THRESHOLD_SET", + "TYPE_GOVERNANCE_VALIDATE_ASSET", + "TYPE_ETHEREUM_CONTRACT_CALL_RESULT" + ], + "default": "TYPE_UNSPECIFIED", + "title": "- TYPE_UNSPECIFIED: Represents an unspecified or missing value from the input\n - TYPE_STAKE_DEPOSITED: Node vote for a new stake deposit\n - TYPE_STAKE_REMOVED: Node vote for a new stake removed event\n - TYPE_FUNDS_DEPOSITED: Node vote for a new collateral deposit\n - TYPE_SIGNER_ADDED: Node vote for a new signer added to the erc20 bridge\n - TYPE_SIGNER_REMOVED: Node vote for a signer removed from the erc20 bridge\n - TYPE_BRIDGE_STOPPED: Node vote for a bridge stopped event\n - TYPE_BRIDGE_RESUMED: Node vote for a bridge resumed event\n - TYPE_ASSET_LISTED: Node vote for a newly listed asset\n - TYPE_LIMITS_UPDATED: Node vote for an asset limits update\n - TYPE_STAKE_TOTAL_SUPPLY: Node vote to share the total supply of the staking token\n - TYPE_SIGNER_THRESHOLD_SET: Node vote to update the threshold of the signer set for the multisig contract\n - TYPE_GOVERNANCE_VALIDATE_ASSET: Node vote to validate a new assert governance proposal\n - TYPE_ETHEREUM_CONTRACT_CALL_RESULT: Node vote for an Ethereum contract call result" + }, + "v1OracleDataSubmission": { + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/OracleDataSubmissionOracleSource", + "description": "Source from which the data is coming from. Must be base64 encoded.\nOracle data is a type of external data source data." + }, + "payload": { + "type": "string", + "format": "byte", + "description": "Data provided by the data source\nIn the case of Open Oracle - it will be the entire object - it will contain messages, signatures and price data." + } + }, + "title": "Command to submit new Oracle data from third party providers" + }, + "v1OrderAmendment": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Order ID, this is required to find the order and will not be updated, required field." + }, + "marketId": { + "type": "string", + "description": "Market ID, this is required to find the order and will not be updated." + }, + "price": { + "type": "string", + "description": "Amend the price for the order if the price value is set, otherwise price will remain unchanged.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "sizeDelta": { + "type": "string", + "format": "int64", + "description": "Amend the size for the order by the delta specified:\n- To reduce the size from the current value set a negative integer value\n- To increase the size from the current value, set a positive integer value\n- To leave the size unchanged set a value of zero\nThis field needs to be scaled using the market's position decimal places." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Amend the expiry time for the order, if the Timestamp value is set, otherwise expiry time will remain unchanged." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Amend the time in force for the order, set to TIME_IN_FORCE_UNSPECIFIED to remain unchanged." + }, + "peggedOffset": { + "type": "string", + "description": "Amend the pegged order offset for the order. This field is an unsigned integer scaled to the market's decimal places." + }, + "peggedReference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Amend the pegged order reference for the order." + } + }, + "title": "An order amendment is a request to amend or update an existing order on Vega" + }, + "v1OrderCancellation": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID for the order. This is set by the system after consensus. Required field." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + } + }, + "title": "Order cancellation is a request to cancel an existing order on Vega" + }, + "v1OrderSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places,\nrequired field for limit orders, however it is not required for market orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of units, cannot be negative." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL, required field." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Time in force indicates how long an order will remain active before it is executed or expires, required field." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire,\nrequired field only for `Order.TimeInForce`.TIME_IN_FORCE_GTT`." + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order, required field - See `Order.Type`." + }, + "reference": { + "type": "string", + "description": "Reference given for the order, this is typically used to retrieve an order submitted through consensus, currently\nset internally by the node to return a unique reference ID for the order submission." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Used to specify the details for a pegged order." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOpts": { + "$ref": "#/definitions/v1IcebergOpts", + "description": "Parameters used to specify an iceberg order." + } + }, + "title": "Order submission is a request to submit or create a new order on Vega" + }, + "v1PropertyKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "type": { + "$ref": "#/definitions/v1PropertyKeyType", + "description": "Data type of the property." + }, + "numberDecimalPlaces": { + "type": "string", + "format": "uint64", + "title": "Optional decimal place to be be applied on the provided value\nvalid only for PropertyType of type DECIMAL and INTEGER" + } + }, + "description": "PropertyKey describes the property key contained in data source data." + }, + "v1PropertyKeyType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_EMPTY", + "TYPE_INTEGER", + "TYPE_STRING", + "TYPE_BOOLEAN", + "TYPE_DECIMAL", + "TYPE_TIMESTAMP" + ], + "default": "TYPE_UNSPECIFIED", + "description": "Type describes the data type of properties that are supported by the data source\nengine.\n\n - TYPE_UNSPECIFIED: The default value.\n - TYPE_EMPTY: Any type.\n - TYPE_INTEGER: Integer type.\n - TYPE_STRING: String type.\n - TYPE_BOOLEAN: Boolean type.\n - TYPE_DECIMAL: Any floating point decimal type.\n - TYPE_TIMESTAMP: Timestamp date type." + }, + "v1ProposalSubmission": { + "type": "object", + "properties": { + "reference": { + "type": "string", + "description": "Reference identifying the proposal." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + } + }, + "title": "Command to submit a new proposal for the\nVega network governance" + }, + "v1ProtocolUpgradeProposal": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "description": "Block height at which to perform the upgrade." + }, + "vegaReleaseTag": { + "type": "string", + "description": "Release tag for the Vega binary." + } + }, + "title": "Transaction for a validator to suggest a protocol upgrade" + }, + "v1PubKey": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + }, + "description": "PubKey is the public key that signed this data.\nDifferent public keys coming from different sources will be further separated." + }, + "v1Signature": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Hex encoded bytes of the signature." + }, + "algo": { + "type": "string", + "description": "Algorithm used to create the signature." + }, + "version": { + "type": "integer", + "format": "int64", + "description": "Version of the signature used to create the signature." + } + }, + "description": "Signature to authenticate a transaction and to be verified by the Vega\nnetwork." + }, + "v1Signer": { + "type": "object", + "properties": { + "pubKey": { + "$ref": "#/definitions/v1PubKey", + "description": "List of authorized public keys that signed the data for this\nsource. All the public keys in the data should be contained in these\npublic keys." + }, + "ethAddress": { + "$ref": "#/definitions/v1ETHAddress", + "description": "In case of an open oracle - Ethereum address will be submitted." + } + } + }, + "v1StateVariableProposal": { + "type": "object", + "properties": { + "proposal": { + "$ref": "#/definitions/vegaStateValueProposal", + "description": "State value proposal details." + } + }, + "title": "Transaction for a validator to submit a floating point value" + }, + "v1StopOrderSetup": { + "type": "object", + "properties": { + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission", + "description": "Order to be submitted once the trigger is breached." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "description": "Trailing percentage at which the order will be submitted." + } + }, + "title": "Price and expiry configuration for a stop order" + }, + "v1StopOrdersCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Optional market ID." + }, + "stopOrderId": { + "type": "string", + "description": "Optional order ID." + } + }, + "title": "Cancel a stop order.\nThe following combinations are available:\nEmpty object will cancel all stop orders for the party\nMarket ID alone will cancel all stop orders in a market\nMarket ID and order ID will cancel a specific stop order in a market\nIf the stop order is part of an OCO, both stop orders will be cancelled" + }, + "v1StopOrdersSubmission": { + "type": "object", + "properties": { + "risesAbove": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price rises above a given trigger price." + }, + "fallsBelow": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price falls below a given trigger price." + } + }, + "title": "Stop order submission submits stops orders.\nIt is possible to make a single stop order submission by\nspecifying a single direction,\nor an OCO (One Cancels the Other) stop order submission\nby specifying a configuration for both directions" + }, + "v1UndelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Optional, if not specified = ALL.\nIf provided, this field must be an unsigned integer passed as a string\nand needs to be scaled using the asset decimal places for the token." + }, + "method": { + "$ref": "#/definitions/UndelegateSubmissionMethod", + "description": "Method of delegation." + } + } + }, + "v1UpdateTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to update." + }, + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "title": "Request for updating a team's properties" + }, + "v1ValidatorHeartbeat": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Node ID of the validator emitting the heartbeat." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the ethereum wallet." + }, + "vegaSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the vega wallet." + }, + "message": { + "type": "string", + "description": "Message which has been signed." + } + }, + "title": "Message from a validator signalling they are still online and validating blocks\nor ready to validate blocks when they are still a pending validator" + }, + "v1VoteSubmission": { + "type": "object", + "properties": { + "proposalId": { + "type": "string", + "description": "Submit vote for the specified proposal ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Actual value of the vote." + } + }, + "description": "Command to submit a new vote for a governance proposal." + }, + "v1WithdrawSubmission": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to be withdrawn." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Represents the submission request to withdraw funds for a party on Vega" + }, + "vegaAccountType": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ], + "default": "ACCOUNT_TYPE_UNSPECIFIED", + "description": "- ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "title": "Various collateral/account types as used by Vega" + }, + "vegaAssetDetails": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the asset (e.g: Great British Pound)." + }, + "symbol": { + "type": "string", + "description": "Symbol of the asset (e.g: GBP)." + }, + "decimals": { + "type": "string", + "format": "uint64", + "description": "Number of decimal / precision handled by this asset." + }, + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "builtinAsset": { + "$ref": "#/definitions/vegaBuiltinAsset", + "description": "Vega built-in asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20", + "description": "Ethereum ERC20 asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetailsUpdate": { + "type": "object", + "properties": { + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Update", + "description": "Ethereum ERC20 asset update." + } + }, + "description": "Changes to apply on an existing asset." + }, + "vegaBuiltinAsset": { + "type": "object", + "properties": { + "maxFaucetAmountMint": { + "type": "string", + "description": "Maximum amount that can be requested by a party through the built-in asset faucet at a time." + } + }, + "title": "Vega internal asset" + }, + "vegaBuiltinAssetDeposit": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "partyId": { + "type": "string", + "description": "Vega party ID i.e. public key." + }, + "amount": { + "type": "string", + "description": "Amount to be deposited. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Deposit for a Vega built-in asset" + }, + "vegaBuiltinAssetEvent": { + "type": "object", + "properties": { + "deposit": { + "$ref": "#/definitions/vegaBuiltinAssetDeposit", + "description": "Built-in asset deposit." + }, + "withdrawal": { + "$ref": "#/definitions/vegaBuiltinAssetWithdrawal", + "description": "Built-in asset withdrawal." + } + }, + "title": "Event related to a Vega built-in asset" + }, + "vegaBuiltinAssetWithdrawal": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "partyId": { + "type": "string", + "description": "Vega network party ID i.e. public key." + }, + "amount": { + "type": "string", + "description": "The amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Withdrawal for a Vega built-in asset" + }, + "vegaCancelTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaCancelTransferConfiguration", + "title": "Configuration for cancellation of a governance-initiated transfer" + } + } + }, + "vegaCancelTransferConfiguration": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "ID of the governance transfer proposal." + } + } + }, + "vegaDataSourceDefinition": { + "type": "object", + "properties": { + "internal": { + "$ref": "#/definitions/vegaDataSourceDefinitionInternal" + }, + "external": { + "$ref": "#/definitions/vegaDataSourceDefinitionExternal" + } + }, + "description": "Represents the top level object that handles data sources.\nData source definition can be external or internal, with whatever\nnumber of data sources are defined for each type in the child objects below." + }, + "vegaDataSourceDefinitionExternal": { + "type": "object", + "properties": { + "oracle": { + "$ref": "#/definitions/vegaDataSourceSpecConfiguration" + }, + "ethOracle": { + "$ref": "#/definitions/vegaEthCallSpec", + "description": "Contains the data specification that is received from Ethereum sources." + } + }, + "description": "DataSourceDefinitionExternal is the top level object used for all external\ndata sources. It contains one of any of the defined `SourceType` variants." + }, + "vegaDataSourceDefinitionInternal": { + "type": "object", + "properties": { + "time": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTime" + }, + "timeTrigger": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTimeTrigger" + } + }, + "description": "Top level object used for all internal data sources.\nIt contains one of any of the defined source type variants." + }, + "vegaDataSourceSpecConfiguration": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + }, + "description": "Signers is the list of authorized signatures that signed the data for this\nsource. All the signatures in the data source data should be contained in\nthis external source. All the signatures in the data should be contained in\nthis list." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "description": "Filters describes which source data are considered of interest or not for\nthe product (or the risk model)." + } + }, + "description": "All types of external data sources use the same configuration set for meeting\nrequirements in order for the data to be useful for Vega - valid signatures\nand matching filters." + }, + "vegaDataSourceSpecConfigurationTime": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps should meet in order to be considered." + } + }, + "description": "Internal data source used for emitting timestamps." + }, + "vegaDataSourceSpecConfigurationTimeTrigger": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps need to meet in order to be considered." + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1InternalTimeTrigger" + }, + "title": "An internal time trigger" + } + }, + "description": "Internal data source used for emitting timestamps automatically using predefined intervals and conditions." + }, + "vegaDataSourceSpecToFutureBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the Future will use the value of\nthis property as settlement data." + }, + "tradingTerminationProperty": { + "type": "string", + "description": "Name of the property in the data source data that signals termination of trading." + } + }, + "title": "DataSourceSpecToFutureBinding describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDataSourceSpecToPerpetualBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + }, + "settlementScheduleProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + } + }, + "title": "Describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDispatchMetric": { + "type": "string", + "enum": [ + "DISPATCH_METRIC_UNSPECIFIED", + "DISPATCH_METRIC_MAKER_FEES_PAID", + "DISPATCH_METRIC_MAKER_FEES_RECEIVED", + "DISPATCH_METRIC_LP_FEES_RECEIVED", + "DISPATCH_METRIC_MARKET_VALUE" + ], + "default": "DISPATCH_METRIC_UNSPECIFIED", + "title": "- DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that is using the total maker fees paid in the market\n - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that is using the total maker fees received in the market\n - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that is using the total LP fees received in the market\n - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that is using total value of the market if above the required threshold and not paid given proposer bonus yet" + }, + "vegaDispatchStrategy": { + "type": "object", + "properties": { + "assetForMetric": { + "type": "string", + "description": "Asset to use for metric." + }, + "metric": { + "$ref": "#/definitions/vegaDispatchMetric", + "description": "Metric to apply." + }, + "markets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional markets in scope." + } + } + }, + "vegaERC20": { + "type": "object", + "properties": { + "contractAddress": { + "type": "string", + "description": "Address of the contract for the token, on the ethereum network." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + }, + "title": "ERC20 token based asset, living on the ethereum network" + }, + "vegaERC20AssetDelist": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + } + }, + "title": "Asset deny-listing for an ERC20 token" + }, + "vegaERC20AssetLimitsUpdated": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "sourceEthereumAddress": { + "type": "string", + "description": "Ethereum wallet that initiated the deposit." + }, + "lifetimeLimits": { + "type": "string", + "description": "Updated lifetime limits." + }, + "withdrawThreshold": { + "type": "string", + "description": "Updated withdrawal threshold." + } + } + }, + "vegaERC20AssetList": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "assetSource": { + "type": "string", + "description": "Ethereum address of the asset." + } + }, + "title": "Asset allow-listing for an ERC20 token" + }, + "vegaERC20Deposit": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "sourceEthereumAddress": { + "type": "string", + "description": "Ethereum wallet that initiated the deposit." + }, + "targetPartyId": { + "type": "string", + "description": "Vega party ID i.e. public key that is the target of the deposit." + }, + "amount": { + "type": "string", + "description": "Amount to be deposited." + } + }, + "title": "Asset deposit for an ERC20 token" + }, + "vegaERC20Event": { + "type": "object", + "properties": { + "index": { + "type": "string", + "format": "uint64", + "description": "Index of the log in the transaction." + }, + "block": { + "type": "string", + "format": "uint64", + "description": "Block in which the transaction was added." + }, + "assetList": { + "$ref": "#/definitions/vegaERC20AssetList", + "description": "List an ERC20 asset." + }, + "assetDelist": { + "$ref": "#/definitions/vegaERC20AssetDelist", + "description": "De-list an ERC20 asset." + }, + "deposit": { + "$ref": "#/definitions/vegaERC20Deposit", + "description": "Deposit ERC20 asset." + }, + "withdrawal": { + "$ref": "#/definitions/vegaERC20Withdrawal", + "description": "Withdraw ERC20 asset." + }, + "assetLimitsUpdated": { + "$ref": "#/definitions/vegaERC20AssetLimitsUpdated", + "description": "Update an ERC20 asset." + }, + "bridgeStopped": { + "type": "boolean", + "description": "Bridge operations has been stopped." + }, + "bridgeResumed": { + "type": "boolean", + "description": "Bridge operations has been resumed." + } + }, + "title": "Event related to an ERC20 token" + }, + "vegaERC20MultiSigEvent": { + "type": "object", + "properties": { + "index": { + "type": "string", + "format": "uint64", + "title": "Index of the log in the transaction" + }, + "block": { + "type": "string", + "format": "uint64", + "title": "Block in which the transaction was added" + }, + "signerAdded": { + "$ref": "#/definitions/vegaERC20SignerAdded", + "title": "Add a signer to the erc20 bridge" + }, + "signerRemoved": { + "$ref": "#/definitions/vegaERC20SignerRemoved", + "title": "Remove a signer from the erc20 bridge" + }, + "thresholdSet": { + "$ref": "#/definitions/vegaERC20ThresholdSet", + "title": "Threshold set" + } + }, + "title": "Event related to the ERC20 MultiSig" + }, + "vegaERC20SignerAdded": { + "type": "object", + "properties": { + "newSigner": { + "type": "string", + "title": "Ethereum address of the new signer" + }, + "nonce": { + "type": "string", + "title": "Nonce created by the Vega network used for this new signer" + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Time at which the block was produced\nwill be used to inform the core at what time\nthe stake was made unavailable." + } + }, + "title": "New signer added to the ERC20 bridge" + }, + "vegaERC20SignerRemoved": { + "type": "object", + "properties": { + "oldSigner": { + "type": "string", + "title": "Ethereum address of the old signer" + }, + "nonce": { + "type": "string", + "title": "Nonce created by the Vega network used for this old signer" + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Time at which the block was produced.\nWill be used to inform the core at what time\nthe stake was made unavailable." + } + }, + "title": "Signer removed from the ERC20 bridge" + }, + "vegaERC20ThresholdSet": { + "type": "object", + "properties": { + "newThreshold": { + "type": "integer", + "format": "int64", + "title": "New threshold value to set" + }, + "nonce": { + "type": "string", + "title": "Nonce created by the Vega network" + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Time at which the block was produced.\nWill be used to inform the core at what time\nthe stake was made unavailable." + } + }, + "title": "Threshold has been updated on the multisig control" + }, + "vegaERC20Update": { + "type": "object", + "properties": { + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address.\nThis will be interpreted against the asset decimals.\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + } + }, + "vegaERC20Withdrawal": { + "type": "object", + "properties": { + "vegaAssetId": { + "type": "string", + "description": "Vega network internal asset ID." + }, + "targetEthereumAddress": { + "type": "string", + "description": "Target Ethereum wallet address." + }, + "referenceNonce": { + "type": "string", + "description": "Reference nonce used for the transaction." + } + }, + "title": "Asset withdrawal for an ERC20 token" + }, + "vegaErc20WithdrawExt": { + "type": "object", + "properties": { + "receiverAddress": { + "type": "string", + "description": "Address into which the bridge will release the funds." + } + }, + "title": "Extension of data required for the withdraw submissions" + }, + "vegaEthCallSpec": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Ethereum address of the contract to call." + }, + "abi": { + "type": "string", + "description": "The ABI of that contract." + }, + "method": { + "type": "string", + "description": "Name of the method on the contract to call." + }, + "args": { + "type": "array", + "items": { + "type": "object" + }, + "description": "List of arguments to pass to method call.\nProtobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum\ntype according to the ABI." + }, + "trigger": { + "$ref": "#/definitions/vegaEthCallTrigger", + "description": "Conditions for determining when to call the contract method." + }, + "requiredConfirmations": { + "type": "string", + "format": "uint64", + "title": "Number of confirmations required before the query is considered verified" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "title": "Filters the data returned from the contract method" + }, + "normalisers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNormaliser" + }, + "description": "Normalisers are used to convert the data returned from the contract method\ninto a standard format. The key of the map is the name of the property,\nwhich identifies the specific piece of data to other parts of the data\nsourcing framework, for example filters. The value is a JSONPath expression\nfor expressing where in the contract call result the required data is\nlocated, for example $[0] indicates the first result. $[1].price would look\nin the second result returned from the contract for a structure with a key\ncalled 'price' and use that if it exists." + } + }, + "description": "Specifies a data source that derives its content from calling a read method\non an Ethereum contract." + }, + "vegaEthCallTrigger": { + "type": "object", + "properties": { + "timeTrigger": { + "$ref": "#/definitions/vegaEthTimeTrigger" + } + }, + "description": "Determines when the contract method should be called." + }, + "vegaEthContractCallEvent": { + "type": "object", + "properties": { + "specId": { + "type": "string", + "description": "ID of the data source spec that triggered this contract call." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Ethereum block height." + }, + "blockTime": { + "type": "string", + "format": "uint64", + "description": "Ethereum block time in Unix seconds." + }, + "result": { + "type": "string", + "format": "byte", + "description": "Result of contract call, packed according to the ABI stored in the associated data source spec." + }, + "error": { + "type": "string", + "description": "Error message if the call failed." + } + }, + "title": "Result of calling an arbitrary Ethereum contract method" + }, + "vegaEthTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "uint64", + "description": "Trigger when the Ethereum time is greater or equal to this time, in Unix\nseconds." + }, + "every": { + "type": "string", + "format": "uint64", + "description": "Repeat the call every n seconds after the initial call. If no time for\ninitial call was specified, begin repeating immediately." + }, + "until": { + "type": "string", + "format": "uint64", + "description": "If repeating, stop once Ethereum time is greater than this time, in Unix\nseconds. If not set, then repeat indefinitely." + } + }, + "description": "Trigger for an Ethereum call based on the Ethereum block timestamp. Can be\none-off or repeating." + }, + "vegaFutureProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The external data source spec describing the data source of trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaGovernanceTransferType": { + "type": "string", + "enum": [ + "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED", + "GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING", + "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT" + ], + "default": "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED" + }, + "vegaInstrumentConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Instrument name." + }, + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaFutureProduct", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpotProduct", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaKeyValueBundle": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "tolerance": { + "type": "string" + }, + "value": { + "$ref": "#/definitions/vegaStateVarValue" + } + } + }, + "vegaLiquidityMonitoringParameters": { + "type": "object", + "properties": { + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "triggeringRatio": { + "type": "string", + "description": "Specifies the triggering ratio for entering liquidity auction." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction." + } + }, + "title": "LiquidityMonitoringParameters contains settings used for liquidity monitoring" + }, + "vegaLiquidityOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Pegged reference point for the order." + }, + "proportion": { + "type": "integer", + "format": "int64", + "description": "Relative proportion of the commitment to be allocated at a price level." + }, + "offset": { + "type": "string", + "description": "Offset/amount of units away for the order. This field is an unsigned integer scaled using the market's decimal places." + } + }, + "title": "Represents a liquidity order" + }, + "vegaLiquiditySLAParameters": { + "type": "object", + "properties": { + "priceRange": { + "type": "string" + }, + "commitmentMinTimeFraction": { + "type": "string", + "description": "Specifies the minimum fraction of time LPs must spend \"on the book\" providing their committed liquidity." + }, + "providersFeeCalculationTimeStep": { + "type": "string", + "format": "int64", + "description": "Specifies how often the quality of liquidity supplied by the LPs is evaluated and fees arising from that period are earmarked for specific parties." + }, + "performanceHysteresisEpochs": { + "type": "string", + "format": "uint64", + "description": "Specifies the number of liquidity epochs over which past performance will continue to affect rewards." + }, + "slaCompetitionFactor": { + "type": "string", + "description": "Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers\nthat achieved a higher SLA performance than them." + } + } + }, + "vegaLogNormalModelParams": { + "type": "object", + "properties": { + "mu": { + "type": "number", + "format": "double", + "description": "Mu parameter, annualised growth rate of the underlying asset." + }, + "r": { + "type": "number", + "format": "double", + "description": "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number." + }, + "sigma": { + "type": "number", + "format": "double", + "description": "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number." + } + }, + "title": "Risk model parameters for log normal" + }, + "vegaLogNormalRiskModel": { + "type": "object", + "properties": { + "riskAversionParameter": { + "type": "number", + "format": "double", + "description": "Risk Aversion Parameter." + }, + "tau": { + "type": "number", + "format": "double", + "description": "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall\ncalculation to obtain the maintenance margin, must be a strictly non-negative real number." + }, + "params": { + "$ref": "#/definitions/vegaLogNormalModelParams", + "description": "Risk model parameters for log normal." + } + }, + "title": "Risk model for log normal" + }, + "vegaMarketStateUpdateType": { + "type": "string", + "enum": [ + "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "MARKET_STATE_UPDATE_TYPE_TERMINATE", + "MARKET_STATE_UPDATE_TYPE_SUSPEND", + "MARKET_STATE_UPDATE_TYPE_RESUME" + ], + "default": "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "title": "- MARKET_STATE_UPDATE_TYPE_UNSPECIFIED: Default value, always invalid\n - MARKET_STATE_UPDATE_TYPE_TERMINATE: Request to terminate a market via governance\n - MARKET_STATE_UPDATE_TYPE_SUSPEND: Request to suspend a market via governance\n - MARKET_STATE_UPDATE_TYPE_RESUME: Request to resume a market via governance" + }, + "vegaMatrixValue": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVectorValue" + } + } + } + }, + "vegaNetworkParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Unique key of the network parameter." + }, + "value": { + "type": "string", + "description": "Value for the network parameter." + } + }, + "title": "Represents a network parameter on Vega" + }, + "vegaNewAsset": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Configuration of the new asset." + } + }, + "title": "New asset on Vega" + }, + "vegaNewFreeform": { + "type": "object", + "description": "Freeform proposal\nThis message is just used as a placeholder to sort out the nature of the\nproposal once parsed." + }, + "vegaNewMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewMarketConfiguration", + "description": "Configuration of the new market." + } + }, + "title": "New market on Vega" + }, + "vegaNewMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New futures market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new futures market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the futures market can be." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "successor": { + "$ref": "#/definitions/vegaSuccessorConfiguration", + "description": "Successor configuration. If this proposal is meant to succeed a given market, then this should be set." + } + }, + "title": "Configuration for a new futures market on Vega" + }, + "vegaNewSpotMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewSpotMarketConfiguration", + "description": "Configuration of the new spot market." + } + }, + "title": "New spot market on Vega" + }, + "vegaNewSpotMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New spot market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new spot market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the spot market can be." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration for a new spot market on Vega" + }, + "vegaNewTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewTransferConfiguration", + "description": "Configuration for a new transfer." + } + }, + "title": "New governance transfer" + }, + "vegaNewTransferConfiguration": { + "type": "object", + "properties": { + "sourceType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Source account type, such as network treasury, market insurance pool" + }, + "source": { + "type": "string", + "title": "If network treasury, field is empty, otherwise uses the market ID" + }, + "transferType": { + "$ref": "#/definitions/vegaGovernanceTransferType", + "title": "\"All or nothing\" or \"best effort\":\nAll or nothing: Transfers the specified amount or does not transfer anything\nBest effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount" + }, + "amount": { + "type": "string", + "title": "Maximum amount to transfer" + }, + "asset": { + "type": "string", + "title": "ID of asset to transfer" + }, + "fractionOfBalance": { + "type": "string", + "title": "Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance" + }, + "destinationType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool" + }, + "destination": { + "type": "string", + "title": "Specifies the account to transfer to, depending on the account type:\nNetwork treasury: leave empty\nParty: party's public key\nMarket insurance pool: market ID" + }, + "oneOff": { + "$ref": "#/definitions/vegaOneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaRecurringTransfer" + } + } + }, + "vegaNormaliser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "expression": { + "type": "string" + } + } + }, + "vegaOneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegaOrderType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LIMIT", + "TYPE_MARKET", + "TYPE_NETWORK" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_LIMIT: Used for Limit orders\n - TYPE_MARKET: Used for Market orders\n - TYPE_NETWORK: Used for orders where the initiating party is the network (with distressed parties)", + "title": "Type values for an order" + }, + "vegaPeggedOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Price point the order is linked to." + }, + "offset": { + "type": "string", + "description": "Offset from the price reference." + } + }, + "title": "Pegged orders are limit orders where the price is specified in the form REFERENCE +/- OFFSET\nThey can be used for any limit order that is valid during continuous trading" + }, + "vegaPeggedReference": { + "type": "string", + "enum": [ + "PEGGED_REFERENCE_UNSPECIFIED", + "PEGGED_REFERENCE_MID", + "PEGGED_REFERENCE_BEST_BID", + "PEGGED_REFERENCE_BEST_ASK" + ], + "default": "PEGGED_REFERENCE_UNSPECIFIED", + "description": "- PEGGED_REFERENCE_UNSPECIFIED: Default value for PeggedReference, no reference given\n - PEGGED_REFERENCE_MID: Mid price reference\n - PEGGED_REFERENCE_BEST_BID: Best bid price reference\n - PEGGED_REFERENCE_BEST_ASK: Best ask price reference", + "title": "Pegged reference defines which price point a pegged order is linked to - meaning\nthe price for a pegged order is calculated from the value of the reference price point" + }, + "vegaPerpetualProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaPriceMonitoringParameters": { + "type": "object", + "properties": { + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger" + } + } + }, + "title": "PriceMonitoringParameters contains a collection of triggers to be used for a given market" + }, + "vegaPriceMonitoringTrigger": { + "type": "object", + "properties": { + "horizon": { + "type": "string", + "format": "int64", + "description": "Price monitoring projection horizon τ in seconds." + }, + "probability": { + "type": "string", + "description": "Price monitoring probability level p." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Price monitoring auction extension duration in seconds should the price\nbreach its theoretical level over the specified horizon at the specified\nprobability level." + } + }, + "title": "PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration" + }, + "vegaProposalRationale": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description to show a short title / something in case the link goes offline.\nThis is to be between 0 and 20k unicode characters.\nThis is mandatory for all proposals." + }, + "title": { + "type": "string", + "description": "Title to be used to give a short description of the proposal in lists.\nThis is to be between 0 and 100 unicode characters.\nThis is mandatory for all proposals." + } + }, + "description": "Rationale behind a proposal." + }, + "vegaProposalTerms": { + "type": "object", + "properties": { + "closingTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when voting closes for this proposal,\nconstrained by `minClose` and `maxClose` network parameters." + }, + "enactmentTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when proposal gets enacted if passed,\nconstrained by `minEnact` and `maxEnact` network parameters." + }, + "validationTimestamp": { + "type": "string", + "format": "int64", + "description": "Validation timestamp as Unix time in seconds." + }, + "updateMarket": { + "$ref": "#/definitions/vegaUpdateMarket", + "description": "Proposal change for modifying an existing futures market on Vega." + }, + "newMarket": { + "$ref": "#/definitions/vegaNewMarket", + "description": "Proposal change for creating new futures market on Vega." + }, + "updateNetworkParameter": { + "$ref": "#/definitions/vegaUpdateNetworkParameter", + "description": "Proposal change for updating Vega network parameters." + }, + "newAsset": { + "$ref": "#/definitions/vegaNewAsset", + "description": "Proposal change for creating new assets on Vega." + }, + "newFreeform": { + "$ref": "#/definitions/vegaNewFreeform", + "description": "Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system,\nand can be used to gauge community sentiment." + }, + "updateAsset": { + "$ref": "#/definitions/vegaUpdateAsset", + "description": "Proposal change for updating an asset." + }, + "newSpotMarket": { + "$ref": "#/definitions/vegaNewSpotMarket", + "description": "Proposal change for creating new spot market on Vega." + }, + "updateSpotMarket": { + "$ref": "#/definitions/vegaUpdateSpotMarket", + "description": "Proposal change for modifying an existing spot market on Vega." + }, + "newTransfer": { + "$ref": "#/definitions/vegaNewTransfer", + "description": "Proposal change for a governance transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/vegaCancelTransfer", + "description": "Cancel a governance transfer." + }, + "updateMarketState": { + "$ref": "#/definitions/vegaUpdateMarketState", + "description": "Proposal change for updating the state of a market." + } + }, + "title": "Terms for a governance proposal on Vega" + }, + "vegaRecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegaScalarValue": { + "type": "object", + "properties": { + "value": { + "type": "string" + } + } + }, + "vegaSide": { + "type": "string", + "enum": [ + "SIDE_UNSPECIFIED", + "SIDE_BUY", + "SIDE_SELL" + ], + "default": "SIDE_UNSPECIFIED", + "description": "- SIDE_UNSPECIFIED: Default value, always invalid\n - SIDE_BUY: Buy order\n - SIDE_SELL: Sell order", + "title": "Side relates to the direction of an order, to Buy, or Sell" + }, + "vegaSimpleModelParams": { + "type": "object", + "properties": { + "factorLong": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for long." + }, + "factorShort": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for short." + }, + "maxMoveUp": { + "type": "number", + "format": "double", + "description": "Pre-defined maximum price move up that the model considers as valid." + }, + "minMoveDown": { + "type": "number", + "format": "double", + "description": "Pre-defined minimum price move down that the model considers as valid." + }, + "probabilityOfTrading": { + "type": "number", + "format": "double", + "description": "Pre-defined constant probability of trading." + } + }, + "title": "Risk model parameters for simple modelling" + }, + "vegaSpotProduct": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Base asset ID." + }, + "quoteAsset": { + "type": "string", + "description": "Quote asset ID." + }, + "name": { + "type": "string", + "description": "Product name." + } + }, + "title": "Spot product configuration" + }, + "vegaStakeDeposited": { + "type": "object", + "properties": { + "ethereumAddress": { + "type": "string", + "title": "Ethereum Address of the user depositing stake (hex encode with 0x prefix)" + }, + "vegaPublicKey": { + "type": "string", + "description": "Hex encoded public key of the party receiving the stake deposit." + }, + "amount": { + "type": "string", + "description": "Amount deposited as an unsigned base 10 integer scaled to the asset's decimal places." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Time at which the block was produced.\nWill be used to inform the core at what time\nthe stake started to be available." + } + } + }, + "vegaStakeRemoved": { + "type": "object", + "properties": { + "ethereumAddress": { + "type": "string", + "description": "Ethereum address of the user removing stake. This should be hex encoded with 0x prefix." + }, + "vegaPublicKey": { + "type": "string", + "description": "Hex encoded public key of the party from which to remove stake." + }, + "amount": { + "type": "string", + "description": "Amount removed as a base 10 unsigned integer scaled to the asset's decimal places." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "The time at which the block was produced\nwill be used to inform the core at what time\nthe stake was made unavailable." + } + } + }, + "vegaStakeTotalSupply": { + "type": "object", + "properties": { + "tokenAddress": { + "type": "string", + "title": "Address of the staking asset" + }, + "totalSupply": { + "type": "string", + "description": "Total supply observed for the token as an unsigned based 10 integer scaled to the asset's decimal places." + } + } + }, + "vegaStakingEvent": { + "type": "object", + "properties": { + "index": { + "type": "string", + "format": "uint64", + "description": "Index of the log in the transaction." + }, + "block": { + "type": "string", + "format": "uint64", + "description": "Block in which the transaction was added." + }, + "stakeDeposited": { + "$ref": "#/definitions/vegaStakeDeposited" + }, + "stakeRemoved": { + "$ref": "#/definitions/vegaStakeRemoved" + }, + "totalSupply": { + "$ref": "#/definitions/vegaStakeTotalSupply" + } + }, + "description": "Event related to staking on the Vega network." + }, + "vegaStateValueProposal": { + "type": "object", + "properties": { + "stateVarId": { + "type": "string", + "description": "State variable ID." + }, + "eventId": { + "type": "string", + "description": "Event ID." + }, + "kvb": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaKeyValueBundle" + }, + "description": "Key value tolerance triplets." + } + } + }, + "vegaStateVarValue": { + "type": "object", + "properties": { + "scalarVal": { + "$ref": "#/definitions/vegaScalarValue" + }, + "vectorVal": { + "$ref": "#/definitions/vegaVectorValue" + }, + "matrixVal": { + "$ref": "#/definitions/vegaMatrixValue" + } + } + }, + "vegaSuccessorConfiguration": { + "type": "object", + "properties": { + "parentMarketId": { + "type": "string", + "description": "ID of the market that the successor should take over from." + }, + "insurancePoolFraction": { + "type": "string", + "description": "A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor." + } + }, + "description": "Configuration required to turn a new market proposal in to a successor market proposal." + }, + "vegaTargetStakeParameters": { + "type": "object", + "properties": { + "timeWindow": { + "type": "string", + "format": "int64", + "description": "Specifies length of time window expressed in seconds for target stake calculation." + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Specifies scaling factors used in target stake calculation." + } + }, + "title": "TargetStakeParameters contains parameters used in target stake calculation" + }, + "vegaUpdateAsset": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaAssetDetailsUpdate", + "description": "Changes to apply on an existing asset." + } + }, + "title": "Update an existing asset on Vega" + }, + "vegaUpdateFutureProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data of settlement data." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data source for trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "The binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaUpdateInstrumentConfiguration": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaUpdateFutureProduct", + "description": "Future." + }, + "perpetual": { + "$ref": "#/definitions/vegaUpdatePerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaUpdateMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateMarketConfiguration", + "description": "Updated configuration of the futures market." + } + }, + "title": "Update an existing market on Vega" + }, + "vegaUpdateMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaUpdateInstrumentConfiguration", + "description": "Updated futures market instrument configuration." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + } + }, + "title": "Configuration to update a futures market on Vega" + }, + "vegaUpdateMarketState": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaUpdateMarketStateConfiguration", + "title": "Configuration for governance-initiated change of a market's state" + } + } + }, + "vegaUpdateMarketStateConfiguration": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "ID of the market" + }, + "updateType": { + "$ref": "#/definitions/vegaMarketStateUpdateType", + "title": "Type of the market update" + }, + "price": { + "type": "string", + "title": "Settlement price, relevant only for market termination for futures markets" + } + } + }, + "vegaUpdateNetworkParameter": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "The network parameter to update." + } + }, + "title": "Update network configuration on Vega" + }, + "vegaUpdatePerpetualProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaUpdateSpotMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateSpotMarketConfiguration", + "description": "Updated configuration of the spot market." + } + }, + "title": "Update an existing spot market on Vega" + }, + "vegaUpdateSpotMarketConfiguration": { + "type": "object", + "properties": { + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration to update a spot market on Vega" + }, + "vegaVectorValue": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "vegaVoteValue": { + "type": "string", + "enum": [ + "VALUE_UNSPECIFIED", + "VALUE_NO", + "VALUE_YES" + ], + "default": "VALUE_UNSPECIFIED", + "description": "- VALUE_UNSPECIFIED: Default value, always invalid\n - VALUE_NO: Vote against the proposal\n - VALUE_YES: Vote in favour of the proposal", + "title": "Vote value" + }, + "vegaWithdrawExt": { + "type": "object", + "properties": { + "erc20": { + "$ref": "#/definitions/vegaErc20WithdrawExt", + "description": "ERC20 withdrawal details." + } + }, + "title": "Withdrawal external details" + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/data-node/api/v2/trading_data.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/data-node/api/v2/trading_data.swagger.json new file mode 100644 index 000000000..daf3e2635 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/data-node/api/v2/trading_data.swagger.json @@ -0,0 +1,9561 @@ +{ + "swagger": "2.0", + "info": { + "title": "Vega data node APIs", + "version": "v0.72.1" + }, + "tags": [ + { + "name": "TradingDataService" + } + ], + "host": "https://api.testnet.vega.xyz", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "ConditionOperator": { + "type": "string", + "enum": [ + "OPERATOR_UNSPECIFIED", + "OPERATOR_EQUALS", + "OPERATOR_GREATER_THAN", + "OPERATOR_GREATER_THAN_OR_EQUAL", + "OPERATOR_LESS_THAN", + "OPERATOR_LESS_THAN_OR_EQUAL" + ], + "default": "OPERATOR_UNSPECIFIED", + "description": "Operator describes the type of comparison.\n\n - OPERATOR_UNSPECIFIED: The default value\n - OPERATOR_EQUALS: Verify if the property values are strictly equal or not.\n - OPERATOR_GREATER_THAN: Verify if the data source data value is greater than the Condition value.\n - OPERATOR_GREATER_THAN_OR_EQUAL: Verify if the data source data value is greater than or equal to the Condition\nvalue.\n - OPERATOR_LESS_THAN: Verify if the data source data value is less than the Condition value.\n - OPERATOR_LESS_THAN_OR_EQUAL: Verify if the data source data value is less or equal to than the Condition\nvalue." + }, + "FundingPeriodDataPointSource": { + "type": "string", + "enum": [ + "SOURCE_UNSPECIFIED", + "SOURCE_EXTERNAL", + "SOURCE_INTERNAL" + ], + "default": "SOURCE_UNSPECIFIED", + "description": " - SOURCE_UNSPECIFIED: Default value\n - SOURCE_EXTERNAL: Data point is from an external data source, such as an oracle, and represents the spot price of the underlying asset.\n - SOURCE_INTERNAL: Data point from within Vega such as the mark price after performing mark-to-market." + }, + "MarketTradingMode": { + "type": "string", + "enum": [ + "TRADING_MODE_UNSPECIFIED", + "TRADING_MODE_CONTINUOUS", + "TRADING_MODE_BATCH_AUCTION", + "TRADING_MODE_OPENING_AUCTION", + "TRADING_MODE_MONITORING_AUCTION", + "TRADING_MODE_NO_TRADING", + "TRADING_MODE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "TRADING_MODE_UNSPECIFIED", + "description": "- TRADING_MODE_UNSPECIFIED: Default value, this is invalid\n - TRADING_MODE_CONTINUOUS: Normal trading\n - TRADING_MODE_BATCH_AUCTION: Auction trading (FBA)\n - TRADING_MODE_OPENING_AUCTION: Opening auction\n - TRADING_MODE_MONITORING_AUCTION: Auction triggered by monitoring\n - TRADING_MODE_NO_TRADING: No trading is allowed\n - TRADING_MODE_SUSPENDED_VIA_GOVERNANCE: Special auction mode triggered via governance", + "title": "Trading mode the market is currently running, also referred to as 'market state'" + }, + "OracleDataSubmissionOracleSource": { + "type": "string", + "enum": [ + "ORACLE_SOURCE_UNSPECIFIED", + "ORACLE_SOURCE_OPEN_ORACLE", + "ORACLE_SOURCE_JSON", + "ORACLE_SOURCE_ETHEREUM" + ], + "default": "ORACLE_SOURCE_UNSPECIFIED", + "description": "- ORACLE_SOURCE_UNSPECIFIED: Default value\n - ORACLE_SOURCE_OPEN_ORACLE: Specifies that the payload will be base64 encoded JSON conforming to the Open Oracle standard\n - ORACLE_SOURCE_JSON: Specifies that the payload will be base64 encoded JSON, but does not specify the shape of the data\n - ORACLE_SOURCE_ETHEREUM: Specifies that the payload will be base64 encoded JSON conforming to the ETH standard", + "title": "Supported oracle sources" + }, + "OrderTimeInForce": { + "type": "string", + "enum": [ + "TIME_IN_FORCE_UNSPECIFIED", + "TIME_IN_FORCE_GTC", + "TIME_IN_FORCE_GTT", + "TIME_IN_FORCE_IOC", + "TIME_IN_FORCE_FOK", + "TIME_IN_FORCE_GFA", + "TIME_IN_FORCE_GFN" + ], + "default": "TIME_IN_FORCE_UNSPECIFIED", + "description": "- TIME_IN_FORCE_UNSPECIFIED: Default value for TimeInForce, can be valid for an amend\n - TIME_IN_FORCE_GTC: Good until cancelled, the order trades any amount and as much as possible\nand remains on the book until it either trades completely or is cancelled\n - TIME_IN_FORCE_GTT: Good until specified time, this order type trades any amount and as much as possible\nand remains on the book until it either trades completely, is cancelled, or expires at a set time\nNOTE: this may in future be multiple types or have sub types for orders that provide different ways of specifying expiry\n - TIME_IN_FORCE_IOC: Immediate or cancel, the order trades any amount and as much as possible\nbut does not remain on the book (whether it trades or not)\n - TIME_IN_FORCE_FOK: Fill or kill, the order either trades completely i.e. remainingSize == 0 after adding,\nor not at all, and does not remain on the book if it doesn't trade\n - TIME_IN_FORCE_GFA: Good for auction, this order is only accepted during an auction period\n - TIME_IN_FORCE_GFN: Good for normal, this order is only accepted during normal trading (that can be continuous trading or frequent batched auctions)", + "title": "Time In Force for an order" + }, + "StopOrderExpiryStrategy": { + "type": "string", + "enum": [ + "EXPIRY_STRATEGY_UNSPECIFIED", + "EXPIRY_STRATEGY_CANCELS", + "EXPIRY_STRATEGY_SUBMIT" + ], + "default": "EXPIRY_STRATEGY_UNSPECIFIED", + "description": " - EXPIRY_STRATEGY_UNSPECIFIED: Never valid\n - EXPIRY_STRATEGY_CANCELS: Stop order should be cancelled if the expiry time is reached.\n - EXPIRY_STRATEGY_SUBMIT: Order should be submitted if the expiry time is reached." + }, + "StopOrderTriggerDirection": { + "type": "string", + "enum": [ + "TRIGGER_DIRECTION_UNSPECIFIED", + "TRIGGER_DIRECTION_RISES_ABOVE", + "TRIGGER_DIRECTION_FALLS_BELOW" + ], + "default": "TRIGGER_DIRECTION_UNSPECIFIED", + "title": "- TRIGGER_DIRECTION_UNSPECIFIED: Never valid\n - TRIGGER_DIRECTION_RISES_ABOVE: Stop order is triggered once the price rises above a certain level\n - TRIGGER_DIRECTION_FALLS_BELOW: Stop order is triggered once the price falls below a certain level" + }, + "TransactionResultFailureDetails": { + "type": "object", + "properties": { + "error": { + "type": "string", + "title": "Error message explaining the reason for the transaction failing processing" + } + } + }, + "TransactionResultSuccessDetails": { + "type": "object" + }, + "UndelegateSubmissionMethod": { + "type": "string", + "enum": [ + "METHOD_UNSPECIFIED", + "METHOD_NOW", + "METHOD_AT_END_OF_EPOCH" + ], + "default": "METHOD_UNSPECIFIED" + }, + "apiHttpBody": { + "type": "object", + "properties": { + "contentType": { + "type": "string", + "description": "The HTTP Content-Type header value specifying the content type of the body." + }, + "data": { + "type": "string", + "format": "byte", + "description": "The HTTP request/response body as raw binary." + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + }, + "description": "Application specific response metadata. Must be set in the first response\nfor streaming APIs." + } + }, + "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n message GetResourceRequest {\n // A unique request id.\n string request_id = 1;\n\n // The raw HTTP body is bound to this field.\n google.api.HttpBody http_body = 2;\n\n }\n\n service ResourceService {\n rpc GetResource(GetResourceRequest)\n returns (google.api.HttpBody);\n rpc UpdateResource(google.api.HttpBody)\n returns (google.protobuf.Empty);\n\n }\n\nExample with streaming methods:\n\n service CaldavService {\n rpc GetCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n rpc UpdateCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n\n }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged." + }, + "apiv2Candle": { + "type": "object", + "properties": { + "start": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for the point in time when the candle was initially created/opened." + }, + "lastUpdate": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for the point in time when the candle was last updated." + }, + "high": { + "type": "string", + "description": "Highest price for trading during the candle interval." + }, + "low": { + "type": "string", + "description": "Lowest price for trading during the candle interval." + }, + "open": { + "type": "string", + "description": "Open trade price." + }, + "close": { + "type": "string", + "description": "Closing trade price." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Total trading volume during the candle interval." + }, + "notional": { + "type": "string", + "format": "uint64", + "description": "Total notional value traded during the candle interval." + } + }, + "title": "Represents the high, low, open, and closing prices for an interval of trading,\nreferred to commonly as a candlestick or candle" + }, + "commandsv1CancelTransfer": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "Transfer ID of the transfer to cancel." + } + }, + "title": "Request for cancelling a recurring transfer" + }, + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string", + "description": "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n* Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation specific semantics." + } + }, + "additionalProperties": {}, + "description": "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack Any values in the form\nof utility functions or additional generated methods of the Any type.\n\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(\u0026foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\nExample 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\nExample 4: Pack and unpack a message in Go\n\n foo := \u0026pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := \u0026pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name' as the type URL and the unpack\nmethods only use the fully qualified type name after the last '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized, embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": \u003cstring\u003e,\n \"lastName\": \u003cstring\u003e\n }\n\nIf the embedded message type is well-known and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value` which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }" + }, + "protobufNullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "v1AnnounceNode": { + "type": "object", + "properties": { + "vegaPubKey": { + "type": "string", + "description": "Vega public key, required field." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key, required field." + }, + "chainPubKey": { + "type": "string", + "description": "Public key for the blockchain, required field." + }, + "infoUrl": { + "type": "string", + "description": "URL with more info on the node." + }, + "country": { + "type": "string", + "description": "Country code (ISO 3166-1 alpha-2) for the location of the node." + }, + "id": { + "type": "string", + "description": "Node ID of the validator, i.e. the node's public master key." + }, + "name": { + "type": "string", + "description": "Name of the validator." + }, + "avatarUrl": { + "type": "string", + "description": "AvatarURL of the validator." + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "Vega public key derivation index." + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "description": "Epoch from which the validator is expected\nto be ready to validate blocks." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the ethereum wallet." + }, + "vegaSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the Vega wallet." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + } + }, + "title": "Used to announce a node as a new pending validator" + }, + "v1AuctionEvent": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "openingAuction": { + "type": "boolean", + "title": "True if the event indicates an auction opening and False otherwise" + }, + "leave": { + "type": "boolean", + "title": "True if the event indicates leaving auction mode and False otherwise" + }, + "start": { + "type": "string", + "format": "int64", + "title": "Timestamp containing the start time for an auction" + }, + "end": { + "type": "string", + "format": "int64", + "title": "Timestamp containing the end time for an auction" + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "title": "Reason this market is/was in auction" + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "title": "If an auction was ongoing, but was extended for whatever reason, this field will\nbe set to the trigger type indicating which component extended the auction" + } + }, + "title": "Auction event indicating a change in auction state, for example starting or ending an auction" + }, + "v1BatchMarketInstructions": { + "type": "object", + "properties": { + "cancellations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "description": "List of order cancellations to be processed sequentially." + }, + "amendments": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "description": "List of order amendments to be processed sequentially." + }, + "submissions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "description": "List of order submissions to be processed sequentially." + }, + "stopOrdersCancellation": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "description": "List of stop order cancellations to be processed sequentially." + }, + "stopOrdersSubmission": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "description": "List of stop order submissions to be processed sequentially." + } + }, + "title": "Batch of order instructions.\nThis command accepts only the following batches of commands\nand will be processed in the following order:\n- OrderCancellation\n- OrderAmendment\n- OrderSubmission\nThe total amount of commands in the batch across all three lists of\ninstructions is restricted by the following network parameter:\n\"spam.protection.max.batchSize\"" + }, + "v1BeginBlock": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "hash": { + "type": "string" + } + }, + "title": "BeginBlock" + }, + "v1BusEvent": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Unique event ID for the message" + }, + "block": { + "type": "string", + "title": "The batch or block of transactions that the events relate to" + }, + "type": { + "$ref": "#/definitions/v1BusEventType", + "title": "The type of bus event. Must be one of the list below:" + }, + "timeUpdate": { + "$ref": "#/definitions/v1TimeUpdate", + "title": "Time update events" + }, + "ledgerMovements": { + "$ref": "#/definitions/v1LedgerMovements", + "title": "Transfer responses update events" + }, + "positionResolution": { + "$ref": "#/definitions/v1PositionResolution", + "title": "Position resolution events" + }, + "order": { + "$ref": "#/definitions/vegaOrder", + "title": "Order events" + }, + "account": { + "$ref": "#/definitions/vegaAccount", + "title": "Account events" + }, + "party": { + "$ref": "#/definitions/vegaParty", + "title": "Party events" + }, + "trade": { + "$ref": "#/definitions/vegaTrade", + "title": "Trade events" + }, + "marginLevels": { + "$ref": "#/definitions/vegaMarginLevels", + "title": "Margin level update events" + }, + "proposal": { + "$ref": "#/definitions/vegaProposal", + "title": "Proposal events for governance" + }, + "vote": { + "$ref": "#/definitions/vegaVote", + "title": "Vote events for governance" + }, + "marketData": { + "$ref": "#/definitions/vegaMarketData", + "title": "Market data events" + }, + "nodeSignature": { + "$ref": "#/definitions/v1NodeSignature", + "title": "Node signature events" + }, + "lossSocialization": { + "$ref": "#/definitions/v1LossSocialization", + "title": "Loss socialization events" + }, + "settlePosition": { + "$ref": "#/definitions/v1SettlePosition", + "title": "Position settlement events" + }, + "settleDistressed": { + "$ref": "#/definitions/v1SettleDistressed", + "title": "Position distressed events" + }, + "marketCreated": { + "$ref": "#/definitions/vegaMarket", + "title": "Market created events" + }, + "asset": { + "$ref": "#/definitions/vegaAsset", + "title": "Asset events" + }, + "marketTick": { + "$ref": "#/definitions/v1MarketTick", + "title": "Market tick events" + }, + "withdrawal": { + "$ref": "#/definitions/vegaWithdrawal", + "title": "Withdrawal events" + }, + "deposit": { + "$ref": "#/definitions/vegaDeposit", + "title": "Deposit events" + }, + "auction": { + "$ref": "#/definitions/v1AuctionEvent", + "title": "Auction events" + }, + "riskFactor": { + "$ref": "#/definitions/vegaRiskFactor", + "title": "Risk factor events" + }, + "networkParameter": { + "$ref": "#/definitions/vegaNetworkParameter", + "title": "Network parameter events" + }, + "liquidityProvision": { + "$ref": "#/definitions/vegaLiquidityProvision", + "title": "LiquidityProvision events" + }, + "marketUpdated": { + "$ref": "#/definitions/vegaMarket", + "title": "Market created events" + }, + "oracleSpec": { + "$ref": "#/definitions/vegaOracleSpec", + "title": "OracleSpec events" + }, + "oracleData": { + "$ref": "#/definitions/vegaOracleData", + "title": "OracleData events" + }, + "delegationBalance": { + "$ref": "#/definitions/v1DelegationBalanceEvent", + "title": "Delegation balance events" + }, + "validatorScore": { + "$ref": "#/definitions/v1ValidatorScoreEvent", + "title": "Validator score calculated" + }, + "epochEvent": { + "$ref": "#/definitions/v1EpochEvent", + "title": "Epoch update events" + }, + "validatorUpdate": { + "$ref": "#/definitions/v1ValidatorUpdate", + "title": "Validator update events" + }, + "stakeLinking": { + "$ref": "#/definitions/v1StakeLinking", + "title": "Staking event" + }, + "rewardPayout": { + "$ref": "#/definitions/v1RewardPayoutEvent", + "title": "Reward payout event" + }, + "checkpoint": { + "$ref": "#/definitions/v1CheckpointEvent", + "title": "Checkpoint was created" + }, + "keyRotation": { + "$ref": "#/definitions/v1KeyRotation", + "title": "Key rotation took place" + }, + "stateVar": { + "$ref": "#/definitions/v1StateVar", + "title": "State variable consensus state transition update" + }, + "networkLimits": { + "$ref": "#/definitions/vegaNetworkLimits", + "title": "Network limits events" + }, + "transfer": { + "$ref": "#/definitions/vegaeventsv1Transfer", + "title": "Transfer event" + }, + "rankingEvent": { + "$ref": "#/definitions/v1ValidatorRankingEvent", + "title": "Ranking event" + }, + "erc20MultisigSignerEvent": { + "$ref": "#/definitions/v1ERC20MultiSigSignerEvent", + "title": "ERC20 multi sig signer event" + }, + "erc20MultisigSetThresholdEvent": { + "$ref": "#/definitions/v1ERC20MultiSigThresholdSetEvent", + "title": "ERC20 multi sig set threshold event" + }, + "erc20MultisigSignerAdded": { + "$ref": "#/definitions/v1ERC20MultiSigSignerAdded", + "title": "ERC20 multi sig signer added" + }, + "erc20MultisigSignerRemoved": { + "$ref": "#/definitions/v1ERC20MultiSigSignerRemoved", + "title": "ERC20 multi sig signer removed" + }, + "positionStateEvent": { + "$ref": "#/definitions/v1PositionStateEvent", + "title": "Position status for a party in a market" + }, + "ethereumKeyRotation": { + "$ref": "#/definitions/v1EthereumKeyRotation", + "title": "Ethereum key rotation took place" + }, + "protocolUpgradeEvent": { + "$ref": "#/definitions/v1ProtocolUpgradeEvent", + "title": "Protocol upgrade proposal updates" + }, + "beginBlock": { + "$ref": "#/definitions/v1BeginBlock", + "title": "Core is starting to process a new block" + }, + "endBlock": { + "$ref": "#/definitions/v1EndBlock", + "title": "Core finished processing a block" + }, + "protocolUpgradeStarted": { + "$ref": "#/definitions/v1ProtocolUpgradeStarted", + "title": "Core is starting a protocol upgrade" + }, + "settleMarket": { + "$ref": "#/definitions/v1SettleMarket", + "title": "Settle market event for data-node to update positions for settled markets" + }, + "transactionResult": { + "$ref": "#/definitions/v1TransactionResult", + "title": "Result of a transaction processed by the network" + }, + "coreSnapshotEvent": { + "$ref": "#/definitions/v1CoreSnapshotData", + "title": "Core snapshot has been taken at the end of the block" + }, + "protocolUpgradeDataNodeReady": { + "$ref": "#/definitions/v1ProtocolUpgradeDataNodeReady", + "title": "Core snapshot has been taken at the end of the block" + }, + "distressedOrders": { + "$ref": "#/definitions/v1DistressedOrders", + "title": "Parties that had their orders closed because they were distressed" + }, + "expiredOrders": { + "$ref": "#/definitions/v1ExpiredOrders", + "title": "Orders that expired for a given market" + }, + "distressedPositions": { + "$ref": "#/definitions/v1DistressedPositions", + "title": "Open positions on the market that are/were distressed" + }, + "stopOrder": { + "$ref": "#/definitions/v1StopOrderEvent", + "title": "A stop order event" + }, + "fundingPeriod": { + "$ref": "#/definitions/v1FundingPeriod", + "description": "Start or end of a funding period." + }, + "fundingPeriodDataPoint": { + "$ref": "#/definitions/v1FundingPeriodDataPoint", + "description": "Data point within a funding period." + }, + "market": { + "$ref": "#/definitions/v1MarketEvent", + "title": "Market tick events" + }, + "txErrEvent": { + "$ref": "#/definitions/v1TxErrorEvent", + "title": "Transaction error events, not included in the ALL event type" + }, + "version": { + "type": "integer", + "format": "int64", + "title": "Version of bus event" + }, + "chainId": { + "type": "string" + }, + "txHash": { + "type": "string" + } + }, + "title": "Bus event is a container for event bus events emitted by Vega" + }, + "v1BusEventType": { + "type": "string", + "enum": [ + "BUS_EVENT_TYPE_UNSPECIFIED", + "BUS_EVENT_TYPE_ALL", + "BUS_EVENT_TYPE_TIME_UPDATE", + "BUS_EVENT_TYPE_LEDGER_MOVEMENTS", + "BUS_EVENT_TYPE_POSITION_RESOLUTION", + "BUS_EVENT_TYPE_ORDER", + "BUS_EVENT_TYPE_ACCOUNT", + "BUS_EVENT_TYPE_PARTY", + "BUS_EVENT_TYPE_TRADE", + "BUS_EVENT_TYPE_MARGIN_LEVELS", + "BUS_EVENT_TYPE_PROPOSAL", + "BUS_EVENT_TYPE_VOTE", + "BUS_EVENT_TYPE_MARKET_DATA", + "BUS_EVENT_TYPE_NODE_SIGNATURE", + "BUS_EVENT_TYPE_LOSS_SOCIALIZATION", + "BUS_EVENT_TYPE_SETTLE_POSITION", + "BUS_EVENT_TYPE_SETTLE_DISTRESSED", + "BUS_EVENT_TYPE_MARKET_CREATED", + "BUS_EVENT_TYPE_ASSET", + "BUS_EVENT_TYPE_MARKET_TICK", + "BUS_EVENT_TYPE_WITHDRAWAL", + "BUS_EVENT_TYPE_DEPOSIT", + "BUS_EVENT_TYPE_AUCTION", + "BUS_EVENT_TYPE_RISK_FACTOR", + "BUS_EVENT_TYPE_NETWORK_PARAMETER", + "BUS_EVENT_TYPE_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_MARKET_UPDATED", + "BUS_EVENT_TYPE_ORACLE_SPEC", + "BUS_EVENT_TYPE_ORACLE_DATA", + "BUS_EVENT_TYPE_DELEGATION_BALANCE", + "BUS_EVENT_TYPE_VALIDATOR_SCORE", + "BUS_EVENT_TYPE_EPOCH_UPDATE", + "BUS_EVENT_TYPE_VALIDATOR_UPDATE", + "BUS_EVENT_TYPE_STAKE_LINKING", + "BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT", + "BUS_EVENT_TYPE_CHECKPOINT", + "BUS_EVENT_TYPE_STREAM_START", + "BUS_EVENT_TYPE_KEY_ROTATION", + "BUS_EVENT_TYPE_STATE_VAR", + "BUS_EVENT_TYPE_NETWORK_LIMITS", + "BUS_EVENT_TYPE_TRANSFER", + "BUS_EVENT_TYPE_VALIDATOR_RANKING", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED", + "BUS_EVENT_TYPE_POSITION_STATE", + "BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL", + "BUS_EVENT_TYPE_BEGIN_BLOCK", + "BUS_EVENT_TYPE_END_BLOCK", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED", + "BUS_EVENT_TYPE_SETTLE_MARKET", + "BUS_EVENT_TYPE_TRANSACTION_RESULT", + "BUS_EVENT_TYPE_SNAPSHOT_TAKEN", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY", + "BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED", + "BUS_EVENT_TYPE_EXPIRED_ORDERS", + "BUS_EVENT_TYPE_DISTRESSED_POSITIONS", + "BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_STOP_ORDER", + "BUS_EVENT_TYPE_FUNDING_PERIOD", + "BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT", + "BUS_EVENT_TYPE_MARKET", + "BUS_EVENT_TYPE_TX_ERROR" + ], + "default": "BUS_EVENT_TYPE_UNSPECIFIED", + "description": "- BUS_EVENT_TYPE_UNSPECIFIED: Default value, always invalid\n - BUS_EVENT_TYPE_ALL: Events of ALL event types, used when filtering stream from event bus\n - BUS_EVENT_TYPE_TIME_UPDATE: Event for blockchain time updates\n - BUS_EVENT_TYPE_LEDGER_MOVEMENTS: Event for when a transfer happens internally, contains the transfer information\n - BUS_EVENT_TYPE_POSITION_RESOLUTION: Event indicating position resolution has occurred\n - BUS_EVENT_TYPE_ORDER: Event for order updates, both new and existing orders\n - BUS_EVENT_TYPE_ACCOUNT: Event for account updates\n - BUS_EVENT_TYPE_PARTY: Event for party updates\n - BUS_EVENT_TYPE_TRADE: Event indicating a new trade has occurred\n - BUS_EVENT_TYPE_MARGIN_LEVELS: Event indicating margin levels have changed for a party\n - BUS_EVENT_TYPE_PROPOSAL: Event for proposal updates (for governance)\n - BUS_EVENT_TYPE_VOTE: Event indicating a new vote has occurred (for governance)\n - BUS_EVENT_TYPE_MARKET_DATA: Event for market data updates\n - BUS_EVENT_TYPE_NODE_SIGNATURE: Event for a new signature for a Vega node\n - BUS_EVENT_TYPE_LOSS_SOCIALIZATION: Event indicating loss socialisation occurred for a party\n - BUS_EVENT_TYPE_SETTLE_POSITION: Event for when a position is being settled\n - BUS_EVENT_TYPE_SETTLE_DISTRESSED: Event for when a position is distressed\n - BUS_EVENT_TYPE_MARKET_CREATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ASSET: Event for when an asset is added to Vega\n - BUS_EVENT_TYPE_MARKET_TICK: Event indicating a market tick event\n - BUS_EVENT_TYPE_WITHDRAWAL: Event for when a withdrawal occurs\n - BUS_EVENT_TYPE_DEPOSIT: Event for when a deposit occurs\n - BUS_EVENT_TYPE_AUCTION: Event indicating a change in auction state, for example starting or ending an auction\n - BUS_EVENT_TYPE_RISK_FACTOR: Event indicating a risk factor has been updated\n - BUS_EVENT_TYPE_NETWORK_PARAMETER: Event indicating a network parameter has been added or updated\n - BUS_EVENT_TYPE_LIQUIDITY_PROVISION: Event indicating a liquidity provision has been created or updated\n - BUS_EVENT_TYPE_MARKET_UPDATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ORACLE_SPEC: Event indicating an oracle spec has been created or updated\n - BUS_EVENT_TYPE_ORACLE_DATA: Event indicating that an oracle data has been broadcast\n - BUS_EVENT_TYPE_DELEGATION_BALANCE: Event indicating that an delegation balance of a party to a node for current epoch has changed\n - BUS_EVENT_TYPE_VALIDATOR_SCORE: Event indicating the validator score for the given epoch\n - BUS_EVENT_TYPE_EPOCH_UPDATE: Event indicating the start or end of an epoch\n - BUS_EVENT_TYPE_VALIDATOR_UPDATE: Event indicating that validator node has been updated\n - BUS_EVENT_TYPE_STAKE_LINKING: Event indicating a new staking event have been processed by the network\n - BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT: Event indicating the payout of a reward has been initiated\n - BUS_EVENT_TYPE_CHECKPOINT: Event indicating a new checkpoint was created\n - BUS_EVENT_TYPE_STREAM_START: Event indicating stream is starting\n - BUS_EVENT_TYPE_KEY_ROTATION: Event indicating key rotation took place\n - BUS_EVENT_TYPE_STATE_VAR: Event indicating state transitions in state variable consensus\n - BUS_EVENT_TYPE_NETWORK_LIMITS: Event indicating network limits set or updated\n - BUS_EVENT_TYPE_TRANSFER: Event indicating a update for a transfer\n - BUS_EVENT_TYPE_VALIDATOR_RANKING: Event indicating the ranking of validator and their status in Vega\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT: Event indicating a new multi sig signer event have been processed\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD: Event indicating the erc20 multi sig threshold have been updated\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED: Event indicating a new signer has been added to the ERC-20 multisig\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED: Event indicating a signer has been removed from the ERC-20 multisig\n - BUS_EVENT_TYPE_POSITION_STATE: Event indicating that a party's position has changed\n - BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION: Event indicating Ethereum key rotation took place\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL: Event indicating protocol upgrade proposal updates\n - BUS_EVENT_TYPE_BEGIN_BLOCK: Event indicating the core is starting to process a new block\n - BUS_EVENT_TYPE_END_BLOCK: Event indicating the core finished to process a block\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED: Event indicating the core is starting a protocol upgrade\n - BUS_EVENT_TYPE_SETTLE_MARKET: Event indicating the market has stopped and settled\n - BUS_EVENT_TYPE_TRANSACTION_RESULT: Event indicating the result of a transaction processed by the network\n - BUS_EVENT_TYPE_SNAPSHOT_TAKEN: Event indicating a snapshot was taken at this block height\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY: Event data node uses to notify that it is ready to upgrade\n - BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_EXPIRED_ORDERS: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_DISTRESSED_POSITIONS: Event indicating parties have become, or were, distressed but still have an active position.\n - BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION: Event indicating a spot liquidity provision has been created or updated.\n - BUS_EVENT_TYPE_STOP_ORDER: Event indicating a stop order has been submitted or updated.\n - BUS_EVENT_TYPE_FUNDING_PERIOD: Event indicating the start or end of a funding period.\n - BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT: Event indicating a data point for a funding period has been received.\n - BUS_EVENT_TYPE_MARKET: Event indicating a market related event, for example when a market opens\n - BUS_EVENT_TYPE_TX_ERROR: Event used to report failed transactions back to a user, this is excluded from the ALL type", + "title": "Bus event type is used to specify a type of event\nIt has 2 styles of event:\nSingle values (e.g. BUS_EVENT_TYPE_ORDER) where they represent one data item\nGroup values (e.g. BUS_EVENT_TYPE_AUCTION) where they represent a group of data items" + }, + "v1CheckpointEvent": { + "type": "object", + "properties": { + "hash": { + "type": "string" + }, + "blockHash": { + "type": "string" + }, + "blockHeight": { + "type": "string", + "format": "uint64" + } + } + }, + "v1Condition": { + "type": "object", + "properties": { + "operator": { + "$ref": "#/definitions/ConditionOperator", + "description": "Type of comparison to make on the value." + }, + "value": { + "type": "string", + "description": "Value to be compared with by the operator." + } + }, + "title": "Condition describes the condition that must be validated by the network" + }, + "v1CoreSnapshotData": { + "type": "object", + "properties": { + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height at which snapshot was taken" + }, + "blockHash": { + "type": "string", + "title": "Hash of the snapshot block" + }, + "coreVersion": { + "type": "string", + "description": "Semver version number of the core." + }, + "protocolUpgradeBlock": { + "type": "boolean", + "title": "Indicates if the snapshot is taken as part of protocol upgrade" + } + }, + "description": "CoreSnapshotData represents the core snapshot data." + }, + "v1CreateTeam": { + "type": "object", + "properties": { + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "description": "Creates a referral team. The team creator automatically becomes\nthe team leader, called a referrer. This cannot be changed.\nA referrer cannot already be or become a liquidity provider,\nnor can they be on an existing team as referrer or referee.", + "title": "Request for creating a referral team" + }, + "v1Data": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + } + }, + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Property" + }, + "title": "Data holds all the properties of the data" + }, + "matchedSpecIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "`matched_specs_ids` lists all the specs that matched this data.\nWhen the array is empty, it means no spec matched this data." + }, + "broadcastAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the data was broadcast to the markets\nwith a matching spec. It has no value when the data did not match any spec." + }, + "metaData": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Property" + }, + "title": "Holds all metadata properties" + }, + "error": { + "type": "string", + "description": "Error message if the data could not be sourced." + } + }, + "description": "Data describes valid source data that has been received by the node.\nIt represents both matched and unmatched data." + }, + "v1DelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Delegate to the specified node ID." + }, + "amount": { + "type": "string", + "description": "Amount of stake to delegate. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Command to submit an instruction to delegate some stake to a node" + }, + "v1DelegationBalanceEvent": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "nodeId": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "epochSeq": { + "type": "string" + } + }, + "title": "DelegationBalanceEvent - updates on the delegation balance of a party to a node in the current epoch in effect" + }, + "v1DistressedOrders": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "parties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of Party IDs i.e. each party's public key for the event" + } + }, + "title": "Distressed order contains the party IDs for all parties that were distressed and had their orders closed,\nbut did not need to be closed out after cancelling their orders" + }, + "v1DistressedPositions": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "distressedParties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of party IDs i.e. each party's public key, that are distressed but still have open volume" + }, + "safeParties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of party IDs i.e. each party's public key, who were distressed but now can safely maintain their position" + } + }, + "description": "Distressed positions event contains the party IDs for all parties that were distressed, had their orders closed but because of insufficient volume on the book\ncould not be fully closed out. These parties are distressed, but still hold an active position on the book as a result. Once enough volume is on the book to close\nthem out, a SettleDistressed event will be sent. In case they manage to reduce their position, or meet the margin requirements, this status will be updated.\nParties that are no longer distressed but active will be listed in the safe_parties field." + }, + "v1ERC20MultiSigSignerAdded": { + "type": "object", + "properties": { + "signatureId": { + "type": "string", + "title": "ID of the signature bundle" + }, + "validatorId": { + "type": "string", + "title": "Node ID of the Vega node to be added" + }, + "timestamp": { + "type": "string", + "format": "int64", + "title": "Time at which this happened" + }, + "newSigner": { + "type": "string", + "title": "Ethereum address of the new signer" + }, + "submitter": { + "type": "string", + "title": "Address of the submitter of the transaction" + }, + "nonce": { + "type": "string", + "description": "Nonce used." + }, + "epochSeq": { + "type": "string", + "title": "Epoch that the node was added for" + } + } + }, + "v1ERC20MultiSigSignerEvent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1ERC20MultiSigSignerEventType" + }, + "signer": { + "type": "string" + }, + "nonce": { + "type": "string" + }, + "blockTime": { + "type": "string", + "format": "int64" + }, + "txHash": { + "type": "string" + }, + "logIndex": { + "type": "string", + "format": "uint64" + }, + "blockNumber": { + "type": "string", + "format": "uint64" + } + } + }, + "v1ERC20MultiSigSignerEventType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ADDED", + "TYPE_REMOVED" + ], + "default": "TYPE_UNSPECIFIED" + }, + "v1ERC20MultiSigSignerRemoved": { + "type": "object", + "properties": { + "signatureSubmitters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ERC20MultiSigSignerRemovedSubmitter" + }, + "title": "List containing all the IDs of bundle generated\nThere should be one bundle generated for every validators\nin the validator set" + }, + "validatorId": { + "type": "string", + "title": "Node ID of the Vega node which is to be removed" + }, + "timestamp": { + "type": "string", + "format": "int64", + "title": "Time at which this happened" + }, + "oldSigner": { + "type": "string", + "title": "Ethereum address of the signer to be removed" + }, + "nonce": { + "type": "string", + "description": "Nonce used." + }, + "epochSeq": { + "type": "string", + "title": "Epoch that the node was removed for" + } + } + }, + "v1ERC20MultiSigSignerRemovedSubmitter": { + "type": "object", + "properties": { + "signatureId": { + "type": "string", + "description": "Signature ID of the signer removed." + }, + "submitter": { + "type": "string", + "title": "Address of the submitter of the transaction" + } + } + }, + "v1ERC20MultiSigThresholdSetEvent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "newThreshold": { + "type": "integer", + "format": "int64" + }, + "nonce": { + "type": "string" + }, + "blockTime": { + "type": "string", + "format": "int64" + }, + "txHash": { + "type": "string" + }, + "logIndex": { + "type": "string", + "format": "uint64" + }, + "blockNumber": { + "type": "string", + "format": "uint64" + } + } + }, + "v1ETHAddress": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "v1EndBlock": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64" + } + }, + "title": "EndBlock" + }, + "v1EpochEvent": { + "type": "object", + "properties": { + "seq": { + "type": "string", + "format": "uint64", + "title": "Sequence number that increases by one each epoch" + }, + "action": { + "$ref": "#/definitions/vegaEpochAction", + "title": "Action tells us what action is taking place" + }, + "startTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch started" + }, + "expireTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch should end" + }, + "endTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch actually ended" + } + }, + "title": "Epoch details" + }, + "v1EthereumKeyRotateSubmission": { + "type": "object", + "properties": { + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newAddress": { + "type": "string", + "description": "New address to rotate to." + }, + "currentAddress": { + "type": "string", + "description": "Currently used public address." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature that can be verified using the new ethereum address." + } + }, + "title": "Transaction to allow a validator to rotate their ethereum keys" + }, + "v1EthereumKeyRotation": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the node that rotated their Ethereum key" + }, + "oldAddress": { + "type": "string", + "title": "Ethereum address that was previously associated with the node" + }, + "newAddress": { + "type": "string", + "title": "Ethereum address that is newly associated with the node" + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height when the key rotation took effect" + } + }, + "title": "Event that contains information about an Ethereum key rotation" + }, + "v1ExpiredOrders": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "orderIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of expired order IDs" + } + } + }, + "v1ExternalData": { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/v1Data" + } + } + }, + "v1Filter": { + "type": "object", + "properties": { + "key": { + "$ref": "#/definitions/v1PropertyKey", + "description": "Data source's data property key targeted by the filter." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that should be matched by the data to be\nconsidered of interest." + } + }, + "description": "Filter describes the conditions under which a data source data is considered of\ninterest or not." + }, + "v1FundingPeriod": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "ID of the market for which this funding period relates to." + }, + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the funding period." + }, + "start": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the funding period started." + }, + "end": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the funding period ended." + }, + "fundingPayment": { + "type": "string", + "description": "Funding payment for this period as the difference between the time-weighted average price of the external and internal data point." + }, + "fundingRate": { + "type": "string", + "description": "Percentage difference between the time-weighted average price of the external and internal data point." + }, + "internalTwap": { + "type": "string", + "description": "TWAP for this period based on the internal data-points." + }, + "externalTwap": { + "type": "string", + "description": "TWAP for this period based on the external data-points." + } + }, + "description": "Event notifying on the details of a funding interval for a perpetuals market." + }, + "v1FundingPeriodDataPoint": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID which the data point relates to." + }, + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the funding period this data point belongs to." + }, + "dataPointType": { + "$ref": "#/definitions/FundingPeriodDataPointSource", + "description": "Origin of the data point." + }, + "price": { + "type": "string", + "description": "Price of the asset as seen by this data point." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the data point was received." + }, + "twap": { + "type": "string", + "description": "The TWAP for this source with this data-point added." + } + }, + "description": "Event notifying a data point for a funding period." + }, + "v1IcebergOpts": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is made visible and can be traded with during the execution of a single order." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "Minimum allowed remaining size of the order before it is replenished back to its peak size." + } + }, + "title": "Iceberg order options" + }, + "v1InternalTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "int64", + "description": "Trigger when the vega time is greater or equal to this time, in Unix seconds." + }, + "every": { + "type": "string", + "format": "int64", + "description": "Repeat the trigger every n seconds after the initial. If no time for\ninitial was specified, begin repeating immediately." + } + }, + "description": "Trigger for an internal time data source." + }, + "v1IssueSignatures": { + "type": "object", + "properties": { + "submitter": { + "type": "string", + "description": "Ethereum address which will submit the signatures to the smart contract." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "What kind of signatures to generate, namely for whether a signer is being added or removed." + }, + "validatorNodeId": { + "type": "string", + "description": "Node ID of the validator node that will be signed in or out of the smart contract." + } + }, + "title": "Transaction for a validator to submit signatures to a smart contract" + }, + "v1JoinTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to join." + } + }, + "description": "A party that joins a referral team is called a referee. A referee cannot\nbe a liquidity provider, nor can they create a team or join multiple teams.\nTo switch teams, the referee can ask to join another team, and the switch will\nbe effective at the end of the epoch.", + "title": "Request to join a team" + }, + "v1KeyRotateSubmission": { + "type": "object", + "properties": { + "newPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "New Vega public key derivation index." + }, + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newPubKey": { + "type": "string", + "description": "New public key to rotate to." + }, + "currentPubKeyHash": { + "type": "string", + "description": "Hash of currently used public key." + } + }, + "title": "Transaction to allow a validator to rotate their Vega keys" + }, + "v1KeyRotation": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the node that rotated their Vega key" + }, + "oldPubKey": { + "type": "string", + "title": "Vega public key that was previously associated with the node" + }, + "newPubKey": { + "type": "string", + "title": "Vega public key that is newly associated with the node" + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height when the key rotation took effect" + } + }, + "title": "Event that contains information about a Vega key rotation" + }, + "v1LedgerMovements": { + "type": "object", + "properties": { + "ledgerMovements": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerMovement" + }, + "title": "One or more entries containing internal transfer information" + } + }, + "title": "Transfer responses event contains a collection of transfer information" + }, + "v1LiquidityProvisionAmendment": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be amended." + }, + "commitmentAmount": { + "type": "string", + "description": "From here at least one of the following is required to consider the command valid." + }, + "fee": { + "type": "string" + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "reference": { + "type": "string" + } + }, + "title": "Amend a liquidity provision request" + }, + "v1LiquidityProvisionCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be cancelled." + } + }, + "title": "Cancel a liquidity provision request" + }, + "v1LiquidityProvisionSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled using the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "reference": { + "type": "string", + "description": "Reference to be added to every order created out of this liquidity provision submission." + } + }, + "title": "A liquidity provision submitted for a given market" + }, + "v1LossSocialization": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID (public key) for the event" + }, + "amount": { + "type": "string", + "title": "Amount distributed" + } + }, + "title": "Loss socialization event contains details on the amount of wins unable to be distributed" + }, + "v1MarketEvent": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "payload": { + "type": "string", + "title": "Payload is a unique information string" + } + }, + "title": "MarketEvent - the common denominator for all market events\ninterface has a method to return a string for logging" + }, + "v1MarketTick": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Market ID for the event" + }, + "time": { + "type": "string", + "format": "int64", + "title": "Timestamp containing latest update from Vega blockchain aka Vega-time" + } + }, + "title": "Market tick event contains the time value for when a particular market was last processed on Vega" + }, + "v1NodeSignature": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the resource being signed." + }, + "sig": { + "type": "string", + "format": "byte", + "description": "The signature generated by the signer." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "Kind of resource being signed." + } + }, + "title": "Represents a signature from a validator, to be used by a foreign chain in order to recognise a decision taken by the Vega network" + }, + "v1NodeSignatureKind": { + "type": "string", + "enum": [ + "NODE_SIGNATURE_KIND_UNSPECIFIED", + "NODE_SIGNATURE_KIND_ASSET_NEW", + "NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED", + "NODE_SIGNATURE_KIND_ASSET_UPDATE" + ], + "default": "NODE_SIGNATURE_KIND_UNSPECIFIED", + "description": "- NODE_SIGNATURE_KIND_UNSPECIFIED: Represents an unspecified or missing value from the input\n - NODE_SIGNATURE_KIND_ASSET_NEW: Represents a signature for a new asset allow-listing\n - NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL: Represents a signature for an asset withdrawal\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED: Represents a signature for a new signer added to the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED: Represents a signature for a signer removed from the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ASSET_UPDATE: Represents a signature for an asset update allow-listing", + "title": "Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc" + }, + "v1OneOffGovernanceTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64" + } + } + }, + "v1OracleDataSubmission": { + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/OracleDataSubmissionOracleSource", + "description": "Source from which the data is coming from. Must be base64 encoded.\nOracle data is a type of external data source data." + }, + "payload": { + "type": "string", + "format": "byte", + "description": "Data provided by the data source\nIn the case of Open Oracle - it will be the entire object - it will contain messages, signatures and price data." + } + }, + "title": "Command to submit new Oracle data from third party providers" + }, + "v1OrderAmendment": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Order ID, this is required to find the order and will not be updated, required field." + }, + "marketId": { + "type": "string", + "description": "Market ID, this is required to find the order and will not be updated." + }, + "price": { + "type": "string", + "description": "Amend the price for the order if the price value is set, otherwise price will remain unchanged.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "sizeDelta": { + "type": "string", + "format": "int64", + "description": "Amend the size for the order by the delta specified:\n- To reduce the size from the current value set a negative integer value\n- To increase the size from the current value, set a positive integer value\n- To leave the size unchanged set a value of zero\nThis field needs to be scaled using the market's position decimal places." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Amend the expiry time for the order, if the Timestamp value is set, otherwise expiry time will remain unchanged." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Amend the time in force for the order, set to TIME_IN_FORCE_UNSPECIFIED to remain unchanged." + }, + "peggedOffset": { + "type": "string", + "description": "Amend the pegged order offset for the order. This field is an unsigned integer scaled to the market's decimal places." + }, + "peggedReference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Amend the pegged order reference for the order." + } + }, + "title": "An order amendment is a request to amend or update an existing order on Vega" + }, + "v1OrderCancellation": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID for the order. This is set by the system after consensus. Required field." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + } + }, + "title": "Order cancellation is a request to cancel an existing order on Vega" + }, + "v1OrderSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places,\nrequired field for limit orders, however it is not required for market orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of units, cannot be negative." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL, required field." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Time in force indicates how long an order will remain active before it is executed or expires, required field." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire,\nrequired field only for `Order.TimeInForce`.TIME_IN_FORCE_GTT`." + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order, required field - See `Order.Type`." + }, + "reference": { + "type": "string", + "description": "Reference given for the order, this is typically used to retrieve an order submitted through consensus, currently\nset internally by the node to return a unique reference ID for the order submission." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Used to specify the details for a pegged order." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOpts": { + "$ref": "#/definitions/v1IcebergOpts", + "description": "Parameters used to specify an iceberg order." + } + }, + "title": "Order submission is a request to submit or create a new order on Vega" + }, + "v1PositionResolution": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "distressed": { + "type": "string", + "format": "int64", + "title": "Number of distressed traders" + }, + "closed": { + "type": "string", + "format": "int64", + "title": "Number of close outs" + }, + "markPrice": { + "type": "string", + "title": "Mark price as a string representing a scaled price" + } + }, + "title": "Position resolution event contains information on distressed trades" + }, + "v1PositionStateEvent": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Party ID for this position update" + }, + "marketId": { + "type": "string", + "title": "Market ID for this position update" + }, + "size": { + "type": "string", + "format": "int64", + "title": "Current position" + }, + "potentialBuys": { + "type": "string", + "format": "int64", + "title": "Potential orders" + }, + "potentialSells": { + "type": "string", + "format": "int64" + }, + "vwBuyPrice": { + "type": "string", + "title": "Volume weighted prices" + }, + "vwSellPrice": { + "type": "string" + } + }, + "title": "Position state event contains the current position state for a single party in a single market" + }, + "v1Property": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "value": { + "type": "string", + "description": "Value of the property." + } + }, + "description": "Property describes one property of data spec with a key with its value." + }, + "v1PropertyKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "type": { + "$ref": "#/definitions/v1PropertyKeyType", + "description": "Data type of the property." + }, + "numberDecimalPlaces": { + "type": "string", + "format": "uint64", + "title": "Optional decimal place to be be applied on the provided value\nvalid only for PropertyType of type DECIMAL and INTEGER" + } + }, + "description": "PropertyKey describes the property key contained in data source data." + }, + "v1PropertyKeyType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_EMPTY", + "TYPE_INTEGER", + "TYPE_STRING", + "TYPE_BOOLEAN", + "TYPE_DECIMAL", + "TYPE_TIMESTAMP" + ], + "default": "TYPE_UNSPECIFIED", + "description": "Type describes the data type of properties that are supported by the data source\nengine.\n\n - TYPE_UNSPECIFIED: The default value.\n - TYPE_EMPTY: Any type.\n - TYPE_INTEGER: Integer type.\n - TYPE_STRING: String type.\n - TYPE_BOOLEAN: Boolean type.\n - TYPE_DECIMAL: Any floating point decimal type.\n - TYPE_TIMESTAMP: Timestamp date type." + }, + "v1ProposalSubmission": { + "type": "object", + "properties": { + "reference": { + "type": "string", + "description": "Reference identifying the proposal." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + } + }, + "title": "Command to submit a new proposal for the\nVega network governance" + }, + "v1ProtocolUpgradeDataNodeReady": { + "type": "object", + "properties": { + "lastBlockHeight": { + "type": "string", + "format": "uint64" + } + }, + "title": "Event indicating the data node is ready for protocol upgrade" + }, + "v1ProtocolUpgradeEvent": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height at which to perform the upgrade" + }, + "vegaReleaseTag": { + "type": "string", + "title": "Release tag for the vega binary" + }, + "approvers": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tendermint validators that have agreed to the upgrade" + }, + "status": { + "$ref": "#/definitions/v1ProtocolUpgradeProposalStatus", + "title": "Status of the proposal" + } + } + }, + "v1ProtocolUpgradeProposal": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "description": "Block height at which to perform the upgrade." + }, + "vegaReleaseTag": { + "type": "string", + "description": "Release tag for the Vega binary." + } + }, + "title": "Transaction for a validator to suggest a protocol upgrade" + }, + "v1ProtocolUpgradeProposalStatus": { + "type": "string", + "enum": [ + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED" + ], + "default": "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "title": "- PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING: The proposal is pending\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED: The proposal is approved\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED: The proposal is rejected" + }, + "v1ProtocolUpgradeStarted": { + "type": "object", + "properties": { + "lastBlockHeight": { + "type": "string", + "format": "uint64" + } + }, + "title": "Event indicating the core is starting a protocol upgrade" + }, + "v1PubKey": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + }, + "description": "PubKey is the public key that signed this data.\nDifferent public keys coming from different sources will be further separated." + }, + "v1RecurringGovernanceTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64" + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy" + } + } + }, + "v1RewardPayoutEvent": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "epochSeq": { + "type": "string" + }, + "asset": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "percentOfTotalReward": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "rewardType": { + "type": "string" + }, + "market": { + "type": "string" + } + } + }, + "v1SettleDistressed": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID i.e. a party's public key for the event" + }, + "margin": { + "type": "string", + "title": "Margin value as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places" + }, + "price": { + "type": "string", + "title": "Price as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places" + } + }, + "title": "Settle distressed event contains information on distressed trading parties who are closed out" + }, + "v1SettleMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "price": { + "type": "string", + "title": "Price of settlement as a string" + }, + "positionFactor": { + "type": "string", + "title": "Position factor - 10 ^ number of position decimal places" + } + }, + "title": "Settle market event to notify data node that a market has been settled\nso positions and PL can be updated accordingly" + }, + "v1SettlePosition": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID (public key) for the event" + }, + "price": { + "type": "string", + "title": "Price of settlement as a string" + }, + "tradeSettlements": { + "type": "array", + "items": { + "$ref": "#/definitions/v1TradeSettlement" + }, + "title": "A collection of 1 or more trade settlements" + }, + "positionFactor": { + "type": "string", + "title": "Position factor - 10 ^ number of position decimal places" + } + }, + "title": "Settle position event contains position settlement information for a party" + }, + "v1Signature": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Hex encoded bytes of the signature." + }, + "algo": { + "type": "string", + "description": "Algorithm used to create the signature." + }, + "version": { + "type": "integer", + "format": "int64", + "description": "Version of the signature used to create the signature." + } + }, + "description": "Signature to authenticate a transaction and to be verified by the Vega\nnetwork." + }, + "v1Signer": { + "type": "object", + "properties": { + "pubKey": { + "$ref": "#/definitions/v1PubKey", + "description": "List of authorized public keys that signed the data for this\nsource. All the public keys in the data should be contained in these\npublic keys." + }, + "ethAddress": { + "$ref": "#/definitions/v1ETHAddress", + "description": "In case of an open oracle - Ethereum address will be submitted." + } + } + }, + "v1StakeLinking": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Internal ID for this staking event" + }, + "type": { + "$ref": "#/definitions/v1StakeLinkingType", + "description": "Stake linking event type." + }, + "ts": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the event was emitted by Ethereum." + }, + "party": { + "type": "string", + "description": "Party to whom the event is directed at." + }, + "amount": { + "type": "string", + "description": "Amount of stake deposited or removed." + }, + "status": { + "$ref": "#/definitions/v1StakeLinkingStatus", + "description": "Status of the event." + }, + "finalizedAt": { + "type": "string", + "format": "int64", + "description": "Time at which the Vega network finalised the state of the event." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction in which the event happened." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Block when the event happened." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Block time." + }, + "logIndex": { + "type": "string", + "format": "uint64", + "description": "Log index." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum address from which the stake link was initiated." + } + }, + "title": "StakeLinking - an event notifying of stake being deposited or removed for a given party\nThese events are emitted for every Staking deposit or removed accepted by the network" + }, + "v1StakeLinkingStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_ACCEPTED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates an event waiting for confirmation from the Vega network\n - STATUS_ACCEPTED: Indicates an event accepted by the Vega network\n - STATUS_REJECTED: Indicates an event rejected by the Vega network" + }, + "v1StakeLinkingType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LINK", + "TYPE_UNLINK" + ], + "default": "TYPE_UNSPECIFIED", + "title": "- TYPE_UNSPECIFIED: Default value\n - TYPE_LINK: Indicate of a stake deposit instruction\n - TYPE_UNLINK: Indicate of a stake remove instruction" + }, + "v1StateVar": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "eventId": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "title": "StateVar event updates on state changes in state variable consensus" + }, + "v1StopOrderEvent": { + "type": "object", + "properties": { + "submission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "stopOrder": { + "$ref": "#/definitions/vegaStopOrder" + } + } + }, + "v1StopOrderSetup": { + "type": "object", + "properties": { + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission", + "description": "Order to be submitted once the trigger is breached." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "description": "Trailing percentage at which the order will be submitted." + } + }, + "title": "Price and expiry configuration for a stop order" + }, + "v1StopOrdersCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Optional market ID." + }, + "stopOrderId": { + "type": "string", + "description": "Optional order ID." + } + }, + "title": "Cancel a stop order.\nThe following combinations are available:\nEmpty object will cancel all stop orders for the party\nMarket ID alone will cancel all stop orders in a market\nMarket ID and order ID will cancel a specific stop order in a market\nIf the stop order is part of an OCO, both stop orders will be cancelled" + }, + "v1StopOrdersSubmission": { + "type": "object", + "properties": { + "risesAbove": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price rises above a given trigger price." + }, + "fallsBelow": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price falls below a given trigger price." + } + }, + "title": "Stop order submission submits stops orders.\nIt is possible to make a single stop order submission by\nspecifying a single direction,\nor an OCO (One Cancels the Other) stop order submission\nby specifying a configuration for both directions" + }, + "v1TimeUpdate": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "title": "Timestamp containing latest update from Vega blockchain aka Vega-time" + } + }, + "title": "Time update event contains the latest time update from Vega blockchain and indicates the start of a new block" + }, + "v1TradeSettlement": { + "type": "object", + "properties": { + "size": { + "type": "string", + "format": "int64", + "title": "Size of trade settlement" + }, + "price": { + "type": "string", + "title": "Price of settlement as string (in asset decimals)" + }, + "marketPrice": { + "type": "string", + "title": "Price of settlement as a string (in market decimals)" + } + }, + "title": "Trade settlement is part of the settle position event" + }, + "v1TransactionResult": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Unique party ID for the related party" + }, + "status": { + "type": "boolean", + "description": "Status of the transaction, did it succeed or an error was raised." + }, + "hash": { + "type": "string", + "title": "Hash of the transaction" + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "proposal": { + "$ref": "#/definitions/v1ProposalSubmission" + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission" + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission" + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission" + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission" + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission" + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation" + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment" + }, + "transfer": { + "$ref": "#/definitions/vegacommandsv1Transfer" + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer" + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode" + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission" + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal" + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures" + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions" + }, + "keyRotateSubmission": { + "$ref": "#/definitions/v1KeyRotateSubmission" + }, + "ethereumKeyRotateSubmission": { + "$ref": "#/definitions/v1EthereumKeyRotateSubmission" + }, + "stopOrderSubmission": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "stopOrderCancellation": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "createTeam": { + "$ref": "#/definitions/v1CreateTeam" + }, + "updateTeam": { + "$ref": "#/definitions/v1UpdateTeam" + }, + "joinTeam": { + "$ref": "#/definitions/v1JoinTeam" + }, + "success": { + "$ref": "#/definitions/TransactionResultSuccessDetails" + }, + "failure": { + "$ref": "#/definitions/TransactionResultFailureDetails" + } + } + }, + "v1TransferStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_DONE", + "STATUS_REJECTED", + "STATUS_STOPPED", + "STATUS_CANCELLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates a transfer still being processed\n - STATUS_DONE: Indicates a transfer accepted by the Vega network\n - STATUS_REJECTED: Indicates a transfer rejected by the Vega network\n - STATUS_STOPPED: Indicates a transfer stopped by the Vega network\ne.g: no funds left to cover the transfer\n - STATUS_CANCELLED: Indicates a transfer cancelled by the user" + }, + "v1TxErrorEvent": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Unique party ID for the related party" + }, + "errMsg": { + "type": "string", + "title": "Error message describing what went wrong" + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "proposal": { + "$ref": "#/definitions/v1ProposalSubmission" + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission" + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission" + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission" + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission" + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission" + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation" + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment" + }, + "transfer": { + "$ref": "#/definitions/vegacommandsv1Transfer" + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer" + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode" + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission" + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal" + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures" + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions" + } + } + }, + "v1UndelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Optional, if not specified = ALL.\nIf provided, this field must be an unsigned integer passed as a string\nand needs to be scaled using the asset decimal places for the token." + }, + "method": { + "$ref": "#/definitions/UndelegateSubmissionMethod", + "description": "Method of delegation." + } + } + }, + "v1UpdateTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to update." + }, + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "title": "Request for updating a team's properties" + }, + "v1ValidatorRankingEvent": { + "type": "object", + "properties": { + "nodeId": { + "type": "string" + }, + "stakeScore": { + "type": "string", + "title": "Stake based score - no anti-whaling" + }, + "performanceScore": { + "type": "string", + "title": "Performance base score" + }, + "rankingScore": { + "type": "string", + "title": "Final score" + }, + "previousStatus": { + "type": "string", + "title": "Status of the validator in the previous epoch" + }, + "nextStatus": { + "type": "string", + "title": "Status of the validator in the next epoch" + }, + "epochSeq": { + "type": "string", + "title": "Epoch seq for which the status is valid" + }, + "tmVotingPower": { + "type": "integer", + "format": "int64", + "title": "Tendermint voting power of the validator" + } + }, + "title": "Event that explains the status of the validator for the coming epoch" + }, + "v1ValidatorScoreEvent": { + "type": "object", + "properties": { + "nodeId": { + "type": "string" + }, + "epochSeq": { + "type": "string" + }, + "validatorScore": { + "type": "string" + }, + "normalisedScore": { + "type": "string" + }, + "validatorPerformance": { + "type": "string" + }, + "rawValidatorScore": { + "type": "string" + }, + "validatorStatus": { + "type": "string" + }, + "multisigScore": { + "type": "string" + } + }, + "title": "ValidatorScoreEvent is the score a validator gets for a given epoch" + }, + "v1ValidatorUpdate": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the validator node" + }, + "vegaPubKey": { + "type": "string", + "title": "Vega public key of validator node" + }, + "ethereumAddress": { + "type": "string", + "title": "Ethereum public key of validator node" + }, + "tmPubKey": { + "type": "string", + "title": "Public key of Tendermint" + }, + "infoUrl": { + "type": "string", + "title": "URL with more info on the node" + }, + "country": { + "type": "string", + "title": "Country code (ISO 3166-1 alpha-2) for the location of the node" + }, + "name": { + "type": "string", + "title": "Name of the validator" + }, + "avatarUrl": { + "type": "string", + "title": "AvatarURL of the validator" + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "title": "Vega public key derivation index" + }, + "added": { + "type": "boolean", + "title": "Flag indicating if the validator has been added to or removed from vega" + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the announced pending node will start participating in the network" + }, + "submitterAddress": { + "type": "string", + "title": "Ethereum public key being used as the submitter to allow automatic signature generation" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the node was announced or removed from the network" + } + }, + "title": "Validator update event contains information about validator node" + }, + "v1VoteSubmission": { + "type": "object", + "properties": { + "proposalId": { + "type": "string", + "description": "Submit vote for the specified proposal ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Actual value of the vote." + } + }, + "description": "Command to submit a new vote for a governance proposal." + }, + "v1WithdrawSubmission": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to be withdrawn." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Represents the submission request to withdraw funds for a party on Vega" + }, + "v2AccountBalance": { + "type": "object", + "properties": { + "owner": { + "type": "string", + "description": "Party that owns the account.\nSpecial values include `network` - represents the Vega network and is\nmost commonly seen during liquidation of a distressed trading position." + }, + "balance": { + "type": "string", + "description": "Asset balance represented as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places.\nBalances cannot be negative." + }, + "asset": { + "type": "string", + "description": "Asset ID for the account." + }, + "marketId": { + "type": "string", + "description": "Market ID for the account, this field will be empty if the asset is in a general account." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type of this account." + } + }, + "title": "Represents the current balance of an account for an asset on Vega, for a particular owner or party" + }, + "v2AccountEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2AccountBalance", + "description": "Account balance data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages with reference to this account." + } + }, + "description": "Account data item with the corresponding cursor." + }, + "v2AccountFilter": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Restrict accounts to those holding balances in this asset ID." + }, + "partyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict accounts to those owned by the parties in this list. Pass an empty list for no filter." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict accounts to those connected to the markets in this list. Pass an empty list for no filter." + }, + "accountTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaAccountType" + }, + "description": "Restrict accounts to those connected to any of the types in this list. Pass an empty list for no filter." + } + }, + "description": "Account filter is used to filter account data.\n\nAn account is defined as a set of asset ID, type, party ID, and market ID.\n- Every account has an associated asset and type.\n- Certain account types such as the global reward pool for example, do not have an associated party.\n These are denoted by the special party ID 'network'.\n- Certain account types do not have an associated market such as the general party accounts, for example.\n These are denoted by the special market ID '' (an empty string)." + }, + "v2AccountSnapshotPage": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AccountBalance" + }, + "description": "List of account balances." + }, + "lastPage": { + "type": "boolean", + "description": "Indicator if the current page is the last one or not." + } + }, + "title": "'Initial image' snapshot containing current account balances - may be sent over several response messages" + }, + "v2AccountUpdates": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AccountBalance" + }, + "description": "List of account balances." + } + }, + "title": "List of account updates in the last block" + }, + "v2AccountsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AccountEdge" + }, + "description": "Page of accounts data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of accounts data and corresponding page information." + }, + "v2AggregatedBalance": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in nanseconds of the block in which the balance exists." + }, + "balance": { + "type": "string", + "description": "Balance of the set of requested accounts at the time above." + }, + "partyId": { + "type": "string", + "description": "If grouping by party, the party ID." + }, + "assetId": { + "type": "string", + "description": "If grouping by asset, the asset ID." + }, + "marketId": { + "type": "string", + "title": "If grouping by market, the market ID" + }, + "accountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "If grouping by account type, the account type." + } + }, + "title": "AggregatedBalance data contains the balance of the set of requested accounts combined with corresponding\nparty ID, market ID and account type details" + }, + "v2AggregatedBalanceConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AggregatedBalanceEdge" + }, + "description": "Page of aggregated balance data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of aggregated balance objects and corresponding page information" + }, + "v2AggregatedBalanceEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2AggregatedBalance", + "description": "Balance of the set of requested accounts." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Aggregated balance data with the corresponding cursor." + }, + "v2AggregatedLedgerEntriesConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AggregatedLedgerEntriesEdge" + }, + "description": "Page of 'AggregatedLedgerEntry' data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of aggregated ledger entries data and corresponding page information." + }, + "v2AggregatedLedgerEntriesEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2AggregatedLedgerEntry", + "description": "'AggregatedLedgerEntry' data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "title": "Represents the aggregated ledger entry data with corresponding cursor for it" + }, + "v2AggregatedLedgerEntry": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of the block in which the result is referring to." + }, + "quantity": { + "type": "string", + "description": "Amount of ledger entries for the set of requested accounts at the time above." + }, + "transferType": { + "$ref": "#/definitions/vegaTransferType", + "description": "Transfer type." + }, + "assetId": { + "type": "string", + "description": "Asset ID for the asset associated with the entry." + }, + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of account sent from." + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of account received to." + }, + "fromAccountPartyId": { + "type": "string", + "description": "Sender's party ID." + }, + "toAccountPartyId": { + "type": "string", + "description": "Receiver's party ID." + }, + "fromAccountMarketId": { + "type": "string", + "description": "Sender market ID." + }, + "toAccountMarketId": { + "type": "string", + "description": "Receiver market ID." + }, + "fromAccountBalance": { + "type": "string", + "description": "Sender account balance after the transfer." + }, + "toAccountBalance": { + "type": "string", + "description": "Receiver account balance after the transfer." + } + }, + "title": "Represents an aggregated view of ledger entry data, sender and receiver accounts,\ndetails and balances for both sides after the transfer has been made" + }, + "v2AssetEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaAsset", + "description": "Asset data returned." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Assets data with the corresponding cursor." + }, + "v2AssetsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AssetEdge" + }, + "description": "Page of assets data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of asset data and corresponding page information" + }, + "v2CandleDataConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2CandleEdge" + }, + "description": "Page of candle data items and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of candles data and corresponding page information" + }, + "v2CandleEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/apiv2Candle", + "description": "Candlestick data, i.e. high, low, open, and closing prices for an interval of trading." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Candle data with the corresponding cursor." + }, + "v2Checkpoint": { + "type": "object", + "properties": { + "hash": { + "type": "string", + "description": "Hash of the checkpoint." + }, + "blockHash": { + "type": "string", + "description": "Block hash at which the checkpoint is made." + }, + "atBlock": { + "type": "string", + "format": "uint64", + "description": "Block number at which the checkpoint is made." + } + }, + "title": "Actual data regarding a checkpoint" + }, + "v2CheckpointEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2Checkpoint", + "description": "Data relating to a single checkpoint generated by the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Checkpoint data with the corresponding cursor." + }, + "v2CheckpointsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2CheckpointEdge" + }, + "description": "Page of checkpoints data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of checkpoints data and corresponding page information" + }, + "v2CoreSnapshotConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2CoreSnapshotEdge" + }, + "description": "Page of core snapshot data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of core snapshot data and corresponding page information." + }, + "v2CoreSnapshotEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1CoreSnapshotData", + "description": "Core snapshot data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Core snapshot data with the corresponding cursor." + }, + "v2DateRange": { + "type": "object", + "properties": { + "startTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds indicating the start of the date range." + }, + "endTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds indicating the end of the date range." + } + }, + "description": "Date range for queries that can return historical data\nTimestamps should be provided as unix time in Unix nanoseconds and are inclusive." + }, + "v2DelegationEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaDelegation", + "description": "How much a party is delegating to a node and when." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Delegation data with the corresponding cursor." + }, + "v2DelegationsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2DelegationEdge" + }, + "description": "Page of delegations data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of delegations data and corresponding page information" + }, + "v2DepositEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaDeposit", + "description": "Data associated with a single deposit made on the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Deposits data with the corresponding cursor." + }, + "v2DepositsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2DepositEdge" + }, + "description": "Page of deposits data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of deposits data received and corresponding page information" + }, + "v2ERC20MultiSigSignerAddedBundle": { + "type": "object", + "properties": { + "newSigner": { + "type": "string", + "description": "Ethereum address of the signer to be removed." + }, + "submitter": { + "type": "string", + "description": "Ethereum address of the submitter." + }, + "nonce": { + "type": "string", + "description": "Nonce used in the signing operation." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Unixnano timestamp for when the validator was added." + }, + "signatures": { + "type": "string", + "description": "Bundle of signatures from current validators to sign in the new signer." + }, + "epochSeq": { + "type": "string", + "description": "Epoch in which the validator was added." + } + }, + "title": "Signature bundle data to be added" + }, + "v2ERC20MultiSigSignerAddedBundleEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2ERC20MultiSigSignerAddedBundle", + "description": "Signature bundle data to be added." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Signature bundle data that is to be added with the corresponding cursor." + }, + "v2ERC20MultiSigSignerAddedConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ERC20MultiSigSignerAddedBundleEdge" + }, + "description": "Page of signature bundle data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of signature data items to be added and corresponding page information" + }, + "v2ERC20MultiSigSignerRemovedBundle": { + "type": "object", + "properties": { + "oldSigner": { + "type": "string", + "description": "Ethereum address of the signer to be removed." + }, + "submitter": { + "type": "string", + "description": "Ethereum address of the submitter." + }, + "nonce": { + "type": "string", + "description": "Nonce used in the signing operation." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Unixnano timestamp for when the validator was added." + }, + "signatures": { + "type": "string", + "description": "Bundle of signatures from current validators to sign in the new signer." + }, + "epochSeq": { + "type": "string", + "description": "Epoch in which the validator was removed." + } + }, + "title": "Signature bundle data to be removed" + }, + "v2ERC20MultiSigSignerRemovedBundleEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2ERC20MultiSigSignerRemovedBundle", + "description": "Signature bundle data to be added." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Signature bundle data to be removed, with the corresponding cursor." + }, + "v2ERC20MultiSigSignerRemovedConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ERC20MultiSigSignerRemovedBundleEdge" + }, + "description": "Page of signature bundle data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of signature data items to be removed and corresponding page information." + }, + "v2EpochRewardSummaryConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2EpochRewardSummaryEdge" + }, + "description": "Page of rewards summary data for epochs and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of rewards summary data for epoch and corresponding page information" + }, + "v2EpochRewardSummaryEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaEpochRewardSummary", + "description": "Rewards summary data for epoch." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Rewards summary data for epoch with the corresponding cursor." + }, + "v2EstimateFeeResponse": { + "type": "object", + "properties": { + "fee": { + "$ref": "#/definitions/vegaFee", + "description": "Summary of the estimated fees for this order if it were to trade now." + } + }, + "title": "Response that is received from EstimateFeeRequest, contains the estimated fees for a given order" + }, + "v2EstimateMarginResponse": { + "type": "object", + "properties": { + "marginLevels": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Summary of the estimated margins for this order if it were to trade now." + } + }, + "title": "Response to an estimate margin request, containing the estimated margin levels for a given order" + }, + "v2EstimatePositionResponse": { + "type": "object", + "properties": { + "margin": { + "$ref": "#/definitions/v2MarginEstimate", + "description": "Margin level range estimate for the specified position." + }, + "liquidation": { + "$ref": "#/definitions/v2LiquidationEstimate", + "description": "Liquidation price range estimate for the specified position. Only populated if available collateral was specified in the request." + } + }, + "description": "Response for the estimate of the margin level and, if available collateral was provided in the request, liquidation price for the specified position." + }, + "v2EthereumKeyRotationEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1EthereumKeyRotation", + "description": "Data relating to an Ethereum key rotation performed by a node on the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Ethereum key rotation data with the corresponding cursor." + }, + "v2EthereumKeyRotationsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2EthereumKeyRotationEdge" + }, + "description": "Page of Ethereum key rotations data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of Ethereum key rotations data and corresponding page information" + }, + "v2GetActiveNetworkHistoryPeerAddressesResponse": { + "type": "object", + "properties": { + "ipAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of IP addresses for the active peers." + } + }, + "title": "Response containing the addresses of active network history peers" + }, + "v2GetAssetResponse": { + "type": "object", + "properties": { + "asset": { + "$ref": "#/definitions/vegaAsset", + "description": "Asset information that is returned." + } + }, + "title": "Response from getting an asset" + }, + "v2GetDepositResponse": { + "type": "object", + "properties": { + "deposit": { + "$ref": "#/definitions/vegaDeposit", + "description": "Deposit matching the ID from the request." + } + }, + "title": "Response that is received from getting deposit data" + }, + "v2GetERC20ListAssetBundleResponse": { + "type": "object", + "properties": { + "assetSource": { + "type": "string", + "description": "Address of the asset on Ethereum." + }, + "vegaAssetId": { + "type": "string", + "description": "Asset ID for the underlying Vega asset." + }, + "nonce": { + "type": "string", + "description": "Nonce that uniquely identifies this signature bundle and prevents resubmission." + }, + "signatures": { + "type": "string", + "description": "Signatures bundle as hex encoded data, prefixed with `0x`\ne.g: `0x + sig1 + sig2 + ... + sixN`." + } + }, + "title": "Response from listing the signature bundle to an ERC-20 token in the collateral bridge" + }, + "v2GetERC20SetAssetLimitsBundleResponse": { + "type": "object", + "properties": { + "assetSource": { + "type": "string", + "description": "Address of the asset on Ethereum." + }, + "vegaAssetId": { + "type": "string", + "description": "Asset ID for the underlying Vega asset." + }, + "nonce": { + "type": "string", + "description": "Nonce that uniquely identifies this signature bundle and prevents resubmission." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limit deposit for this asset." + }, + "threshold": { + "type": "string", + "description": "Threshold withdraw for this asset." + }, + "signatures": { + "type": "string", + "description": "Signatures bundle as hex encoded data, prefixed with `0x`\ne.g: `0x + sig1 + sig2 + ... + sixN`." + } + }, + "title": "Response for the signature bundle to update the token limits i.e. maxLifetimeDeposit and withdrawThreshold for a given ERC20 token that is already allowlisted in the collateral bridge" + }, + "v2GetERC20WithdrawalApprovalResponse": { + "type": "object", + "properties": { + "assetSource": { + "type": "string", + "description": "Address of asset on Ethereum." + }, + "amount": { + "type": "string", + "description": "Amount to be withdrawn." + }, + "nonce": { + "type": "string", + "description": "Nonce that uniquely identifies this signature bundle and prevents resubmission." + }, + "signatures": { + "type": "string", + "description": "Signatures bundle as hex encoded data, prefixed with `0x`\ne.g: 0x + sig1 + sig2 + ... + sixN." + }, + "targetAddress": { + "type": "string", + "description": "Ethereum address, prefixed with `0x`, that will receive the withdrawn assets." + }, + "creation": { + "type": "string", + "format": "int64", + "description": "Creation timestamps." + } + }, + "title": "Response with all information required to bundle the call to finalise the withdrawal on the erc20 bridge\nfunction withdraw_asset(address asset_source, uint256 asset_id, uint256 amount, uint256 expiry, uint256 nonce, bytes memory signatures)" + }, + "v2GetEpochResponse": { + "type": "object", + "properties": { + "epoch": { + "$ref": "#/definitions/vegaEpoch", + "description": "Data specific to a single epoch on the Vega network. This includes the epoch number,\nstart and end times, and the nodes that participated in the epoch." + } + }, + "title": "Response from getting epoch" + }, + "v2GetGovernanceDataResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/vegaGovernanceData", + "description": "Governance data content, i.e. proposal and votes for and against." + } + }, + "title": "Response from getting governance data" + }, + "v2GetLastTradeResponse": { + "type": "object", + "properties": { + "trade": { + "$ref": "#/definitions/vegaTrade", + "description": "Information about the trade, if one is found." + } + }, + "title": "Response for the latest trade that occurred on Vega for a given market" + }, + "v2GetLatestMarketDataResponse": { + "type": "object", + "properties": { + "marketData": { + "$ref": "#/definitions/vegaMarketData", + "description": "Market data that was requested." + } + }, + "title": "Response that is received when listing the latest market data for a given market" + }, + "v2GetLatestMarketDepthResponse": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID of the depth levels returned." + }, + "buy": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Zero or more price levels for the buy side of the market depth data." + }, + "sell": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Zero or more price levels for the sell side of the market depth data." + }, + "lastTrade": { + "$ref": "#/definitions/vegaTrade", + "description": "Last trade recorded on Vega." + }, + "sequenceNumber": { + "type": "string", + "format": "uint64", + "description": "Sequence number incremented after each update." + } + }, + "title": "Response that is received when latest market depth data is queried" + }, + "v2GetMarketDataHistoryByIDResponse": { + "type": "object", + "properties": { + "marketData": { + "$ref": "#/definitions/v2MarketDataConnection", + "description": "Page of market data history with the corresponding page information." + } + }, + "title": "Response that is received when querying Market Data History" + }, + "v2GetMarketResponse": { + "type": "object", + "properties": { + "market": { + "$ref": "#/definitions/vegaMarket", + "description": "Information about the market requested." + } + }, + "title": "Response from getting a market by ID" + }, + "v2GetMostRecentNetworkHistorySegmentResponse": { + "type": "object", + "properties": { + "segment": { + "$ref": "#/definitions/v2HistorySegment", + "description": "Data relating to a history segment created by a Vega data node." + }, + "swarmKeySeed": { + "type": "string", + "description": "Key seed for the swarm section." + } + }, + "title": "Response from getting most recent history segment" + }, + "v2GetNetworkDataResponse": { + "type": "object", + "properties": { + "nodeData": { + "$ref": "#/definitions/vegaNodeData", + "description": "Summary of information with respect to nodes on the Vega network." + } + }, + "title": "Response from getting network data" + }, + "v2GetNetworkHistoryBootstrapPeersResponse": { + "type": "object", + "properties": { + "bootstrapPeers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of peers that can be used to bootstrap a Vega data node." + } + }, + "title": "Response containing the nodes network history bootstrap peers" + }, + "v2GetNetworkHistoryStatusResponse": { + "type": "object", + "properties": { + "ipfsAddress": { + "type": "string", + "description": "IPFS address of the data node currently connected to." + }, + "swarmKey": { + "type": "string", + "description": "Swarm key used by the IPFS swarm." + }, + "swarmKeySeed": { + "type": "string", + "description": "Swarm key seed used by the IPFS swarm." + }, + "connectedPeers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of peers connected to the IPFS swarm." + } + }, + "title": "Response containing the status of network history" + }, + "v2GetNetworkLimitsResponse": { + "type": "object", + "properties": { + "limits": { + "$ref": "#/definitions/vegaNetworkLimits", + "description": "List of received network limits." + } + }, + "title": "Response received when querying the current network limits" + }, + "v2GetNetworkParameterResponse": { + "type": "object", + "properties": { + "networkParameter": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "Network parameter key and value." + } + }, + "title": "Response that is received when getting a network parameter" + }, + "v2GetNodeResponse": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaNode", + "description": "Data specific to a single node on the Vega network." + } + }, + "title": "Response from getting node" + }, + "v2GetOracleSpecResponse": { + "type": "object", + "properties": { + "oracleSpec": { + "$ref": "#/definitions/vegaOracleSpec", + "description": "External data spec matching the ID." + } + }, + "title": "Response for a oracle spec" + }, + "v2GetOrderResponse": { + "type": "object", + "properties": { + "order": { + "$ref": "#/definitions/vegaOrder", + "description": "Order details, if one was found." + } + }, + "title": "Response received from the query for getting a single order" + }, + "v2GetPartyResponse": { + "type": "object", + "properties": { + "party": { + "$ref": "#/definitions/vegaParty", + "description": "Data for the party requested." + } + }, + "title": "Response from getting party by ID" + }, + "v2GetProtocolUpgradeStatusResponse": { + "type": "object", + "properties": { + "ready": { + "type": "boolean", + "description": "Indicator if the upgrade is ready or not." + } + }, + "title": "Response from getting protocol upgrade status" + }, + "v2GetRiskFactorsResponse": { + "type": "object", + "properties": { + "riskFactor": { + "$ref": "#/definitions/vegaRiskFactor", + "description": "Risk factor emitted by the risk model for a given market." + } + }, + "title": "Response that is received from getting a risk factor" + }, + "v2GetStakeResponse": { + "type": "object", + "properties": { + "currentStakeAvailable": { + "type": "string", + "description": "Current stake available information." + }, + "stakeLinkings": { + "$ref": "#/definitions/v2StakesConnection", + "description": "Paged list of stake data with corresponding page information." + } + }, + "title": "Response that is received from requesting stake information" + }, + "v2GetStopOrderResponse": { + "type": "object", + "properties": { + "order": { + "$ref": "#/definitions/v1StopOrderEvent", + "description": "Order details, if one was found." + } + }, + "description": "Response received from the query for getting a single stop order." + }, + "v2GetVegaTimeResponse": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp representation of current VegaTime as represented in nanoseconds, for example\n`1580473859111222333` corresponds to `2020-01-31T12:30:59.111222333Z`." + } + }, + "title": "Response for the current consensus coordinated time on the Vega network, referred to as \"VegaTime\"" + }, + "v2GetWithdrawalResponse": { + "type": "object", + "properties": { + "withdrawal": { + "$ref": "#/definitions/vegaWithdrawal", + "description": "Withdrawal matching the ID from the request." + } + }, + "title": "Response for a withdrawal request" + }, + "v2GovernanceDataConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2GovernanceDataEdge" + }, + "description": "Page of governance data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of governance data and corresponding page information" + }, + "v2GovernanceDataEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaGovernanceData", + "description": "Governance data content, i.e. proposal and votes for and against." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Governance data with the corresponding cursor." + }, + "v2HistorySegment": { + "type": "object", + "properties": { + "fromHeight": { + "type": "string", + "format": "int64", + "description": "Starting height of the history segment." + }, + "toHeight": { + "type": "string", + "format": "int64", + "description": "Ending height of the history segment." + }, + "historySegmentId": { + "type": "string", + "description": "History segment ID." + }, + "previousHistorySegmentId": { + "type": "string", + "description": "Previous history segment ID." + }, + "databaseVersion": { + "type": "string", + "format": "int64", + "description": "Database schema version of the history segment." + }, + "chainId": { + "type": "string", + "description": "Chain ID of the history segment." + } + }, + "title": "Describes a network history segment" + }, + "v2InfoResponse": { + "type": "object", + "properties": { + "version": { + "type": "string", + "description": "Semver formatted version of the data node." + }, + "commitHash": { + "type": "string", + "description": "Commit hash from which the data node was built." + } + }, + "title": "Response that is received from the node information query" + }, + "v2IntervalToCandleId": { + "type": "object", + "properties": { + "interval": { + "type": "string", + "description": "Interval for the candle." + }, + "candleId": { + "type": "string", + "description": "Unique id of the candle." + } + }, + "title": "Maps an interval for a given market to its corresponding candle ID" + }, + "v2KeyRotationConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2KeyRotationEdge" + }, + "description": "Page of key rotation data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of key rotations data and corresponding page information" + }, + "v2KeyRotationEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1KeyRotation", + "description": "Data relating to a key rotation that was performed by a node on the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Key rotation data with the corresponding cursor." + }, + "v2LedgerEntryFilter": { + "type": "object", + "properties": { + "closeOnAccountFilters": { + "type": "boolean", + "description": "Determines whether an entry must have accounts matching both the account_from_filter\nand the account_to_filter. If set to 'true', entries must have matches in both filters.\nIf set to `false`, entries matching only the account_from_filter or the account_to_filter will also be included." + }, + "fromAccountFilter": { + "$ref": "#/definitions/v2AccountFilter", + "description": "Used to set values for filtering sender accounts." + }, + "toAccountFilter": { + "$ref": "#/definitions/v2AccountFilter", + "description": "Used to set values for filtering receiver accounts." + }, + "transferTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaTransferType" + }, + "description": "List of transfer types that is used for filtering sender and receiver accounts." + } + }, + "description": "Ledger entry filter sets filters on returned set of ledger entries." + }, + "v2LiquidationEstimate": { + "type": "object", + "properties": { + "worstCase": { + "$ref": "#/definitions/v2LiquidationPrice", + "description": "Liquidation price estimate assuming slippage cap is applied." + }, + "bestCase": { + "$ref": "#/definitions/v2LiquidationPrice", + "description": "Liquidation price estimate assuming no slippage." + } + }, + "description": "Liquidation estimate for both worst and best case possible." + }, + "v2LiquidationPrice": { + "type": "object", + "properties": { + "openVolumeOnly": { + "type": "string", + "description": "Liquidation price for current open volume ignoring any active orders." + }, + "includingBuyOrders": { + "type": "string", + "description": "Liquidation price assuming buy orders start getting filled." + }, + "includingSellOrders": { + "type": "string", + "description": "Liquidation price assuming sell orders start getting filled." + } + }, + "description": "Liquidation price estimate for either only the current open volume and position given some or all buy orders get filled, or position given some or all sell orders get filled." + }, + "v2LiquidityProvider": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "description": "Party ID of the liquidity provider." + }, + "marketId": { + "type": "string", + "description": "ID of the market the liquidity provider is active in." + }, + "feeShare": { + "$ref": "#/definitions/vegaLiquidityProviderFeeShare", + "description": "Information used for calculating an LP's fee share, such as the equity like share,\naverage entry valuation and liquidity score for the liquidity provider for the specified market." + } + }, + "description": "Liquidity provider information." + }, + "v2LiquidityProviderConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2LiquidityProviderEdge" + }, + "description": "Page of liquidity provider data." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of liquidity provider data and corresponding page information." + }, + "v2LiquidityProviderEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2LiquidityProvider", + "description": "Liquidity provider information returned by the API." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further data." + } + }, + "description": "Liquidity provider data with the corresponding cursor." + }, + "v2LiquidityProvisionsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2LiquidityProvisionsEdge" + }, + "description": "Page of liquidity provisions data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of liquidity provisions data and corresponding page information" + }, + "v2LiquidityProvisionsEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaLiquidityProvision", + "description": "Data corresponding to a liquidity provider's commitment." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Liquidity provision data with the corresponding cursor." + }, + "v2ListAccountsResponse": { + "type": "object", + "properties": { + "accounts": { + "$ref": "#/definitions/v2AccountsConnection", + "description": "Page of accounts data and corresponding page information." + } + }, + "description": "Response that is received from listing accounts query." + }, + "v2ListAllNetworkHistorySegmentsResponse": { + "type": "object", + "properties": { + "segments": { + "type": "array", + "items": { + "$ref": "#/definitions/v2HistorySegment" + }, + "description": "Page of history segments data and corresponding page information." + } + }, + "title": "Response with a list of all the nodes history segments" + }, + "v2ListAllPositionsResponse": { + "type": "object", + "properties": { + "positions": { + "$ref": "#/definitions/v2PositionConnection", + "description": "Page of positions data and corresponding page information." + } + }, + "title": "Response to query for listing of positions, given the filter is supplied" + }, + "v2ListAssetsResponse": { + "type": "object", + "properties": { + "assets": { + "$ref": "#/definitions/v2AssetsConnection", + "description": "Page of assets data and corresponding page information." + } + }, + "title": "Response from listing assets" + }, + "v2ListBalanceChangesResponse": { + "type": "object", + "properties": { + "balances": { + "$ref": "#/definitions/v2AggregatedBalanceConnection", + "description": "Page of aggregated balances data and corresponding page information." + } + }, + "description": "Response that is received from querying balances changes." + }, + "v2ListCandleDataResponse": { + "type": "object", + "properties": { + "candles": { + "$ref": "#/definitions/v2CandleDataConnection", + "description": "Page of candle data and corresponding page information." + } + }, + "title": "Response for list of candles for a market at an interval" + }, + "v2ListCandleIntervalsResponse": { + "type": "object", + "properties": { + "intervalToCandleId": { + "type": "array", + "items": { + "$ref": "#/definitions/v2IntervalToCandleId" + }, + "description": "List of the mappings." + } + }, + "title": "List of mapped pairs `interval` -\u003e `candle ID` for a given market" + }, + "v2ListCheckpointsResponse": { + "type": "object", + "properties": { + "checkpoints": { + "$ref": "#/definitions/v2CheckpointsConnection", + "description": "Page of checkpoints data and corresponding page information." + } + }, + "title": "Response message containing all checkpoints requested" + }, + "v2ListCoreSnapshotsResponse": { + "type": "object", + "properties": { + "coreSnapshots": { + "$ref": "#/definitions/v2CoreSnapshotConnection", + "description": "Page of core snapshot data and corresponding page information." + } + }, + "description": "Response from a ListCoreSnapshots RPC call; a paginated list of the core snapshots." + }, + "v2ListDelegationsResponse": { + "type": "object", + "properties": { + "delegations": { + "$ref": "#/definitions/v2DelegationsConnection", + "description": "Page of delegations data and corresponding page information." + } + }, + "title": "Response from listing delegations" + }, + "v2ListDepositsResponse": { + "type": "object", + "properties": { + "deposits": { + "$ref": "#/definitions/v2DepositsConnection", + "description": "Page of deposits data and corresponding page information." + } + }, + "title": "Response from listing deposits" + }, + "v2ListERC20MultiSigSignerAddedBundlesResponse": { + "type": "object", + "properties": { + "bundles": { + "$ref": "#/definitions/v2ERC20MultiSigSignerAddedConnection", + "description": "Page of bundles for that validator - it may have been added multiple times if removed in between - and corresponding page information." + } + }, + "title": "Response from adding a signature bundle to the signer list of a multisig contract for a particular validator" + }, + "v2ListERC20MultiSigSignerRemovedBundlesResponse": { + "type": "object", + "properties": { + "bundles": { + "$ref": "#/definitions/v2ERC20MultiSigSignerRemovedConnection", + "description": "Page of signer bundle data items for that validator and corresponding page information." + } + }, + "title": "Response when removing a signature bundle from the signer list of the multisig contract for a particular validator" + }, + "v2ListEntitiesResponse": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaAccount" + } + }, + "orders": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrder" + } + }, + "positions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPosition" + } + }, + "ledgerEntries": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerEntry" + } + }, + "balanceChanges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2AccountBalance" + } + }, + "transfers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaeventsv1Transfer" + } + }, + "votes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVote" + } + }, + "erc20MultiSigSignerAddedBundles": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ERC20MultiSigSignerAddedBundle" + } + }, + "erc20MultiSigSignerRemovedBundles": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ERC20MultiSigSignerRemovedBundle" + } + }, + "trades": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaTrade" + } + }, + "oracleSpecs": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOracleSpec" + } + }, + "oracleData": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOracleData" + } + }, + "markets": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarket" + } + }, + "parties": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaParty" + } + }, + "marginLevels": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarginLevels" + } + }, + "rewards": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaReward" + } + }, + "deposits": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDeposit" + } + }, + "withdrawals": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaWithdrawal" + } + }, + "assets": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaAsset" + } + }, + "liquidityProvisions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProvision" + } + }, + "proposals": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaProposal" + } + }, + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDelegation" + } + }, + "nodes": { + "type": "array", + "items": { + "$ref": "#/definitions/v2NodeBasic" + } + }, + "nodeSignatures": { + "type": "array", + "items": { + "$ref": "#/definitions/v1NodeSignature" + } + }, + "networkParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNetworkParameter" + } + }, + "keyRotations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1KeyRotation" + } + }, + "ethereumKeyRotations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1EthereumKeyRotation" + } + }, + "protocolUpgradeProposals": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ProtocolUpgradeEvent" + } + } + }, + "title": "Response from listing entities that were created for a given transaction hash" + }, + "v2ListEpochRewardSummariesResponse": { + "type": "object", + "properties": { + "summaries": { + "$ref": "#/definitions/v2EpochRewardSummaryConnection", + "description": "Page of rewards details for a single party and corresponding page information." + } + }, + "title": "Return message with reward details in for a single party" + }, + "v2ListEthereumKeyRotationsResponse": { + "type": "object", + "properties": { + "keyRotations": { + "$ref": "#/definitions/v2EthereumKeyRotationsConnection", + "description": "Page of Ethereum key rotations data and corresponding page information." + } + }, + "title": "Response message containing Ethereum key rotations" + }, + "v2ListGovernanceDataRequestType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ALL", + "TYPE_NEW_MARKET", + "TYPE_UPDATE_MARKET", + "TYPE_NETWORK_PARAMETERS", + "TYPE_NEW_ASSET", + "TYPE_NEW_FREE_FORM", + "TYPE_UPDATE_ASSET" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_ALL: List all proposals\n - TYPE_NEW_MARKET: List new market proposals\n - TYPE_UPDATE_MARKET: List update market proposals\n - TYPE_NETWORK_PARAMETERS: List change Vega network parameter proposals\n - TYPE_NEW_ASSET: New asset proposals\n - TYPE_NEW_FREE_FORM: Proposals for creating a new free form proposal\n - TYPE_UPDATE_ASSET: Update asset proposals", + "title": "Filter for the types of governance proposals to view" + }, + "v2ListGovernanceDataResponse": { + "type": "object", + "properties": { + "connection": { + "$ref": "#/definitions/v2GovernanceDataConnection", + "description": "Page of governance data and corresponding page information." + } + }, + "title": "Response from listing governance data" + }, + "v2ListKeyRotationsResponse": { + "type": "object", + "properties": { + "rotations": { + "$ref": "#/definitions/v2KeyRotationConnection", + "description": "Page of key rotations data and corresponding page information." + } + }, + "title": "Response message containing Vega key rotations" + }, + "v2ListLatestMarketDataResponse": { + "type": "object", + "properties": { + "marketsData": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketData" + } + } + }, + "title": "Response that is received when listing the latest market data for every market" + }, + "v2ListLedgerEntriesResponse": { + "type": "object", + "properties": { + "ledgerEntries": { + "$ref": "#/definitions/v2AggregatedLedgerEntriesConnection", + "description": "Page of aggregated ledger entries data and corresponding page information." + } + }, + "title": "Response that is received when listing ledger entries" + }, + "v2ListLiquidityProvidersResponse": { + "type": "object", + "properties": { + "liquidityProviders": { + "$ref": "#/definitions/v2LiquidityProviderConnection", + "description": "Page of liquidity providers and corresponding page information." + } + }, + "description": "Response for listing liquidity providers." + }, + "v2ListLiquidityProvisionsResponse": { + "type": "object", + "properties": { + "liquidityProvisions": { + "$ref": "#/definitions/v2LiquidityProvisionsConnection", + "description": "Page of liquidity provisions data and corresponding page information." + } + }, + "title": "Response from listing liquidity provisions" + }, + "v2ListMarginLevelsResponse": { + "type": "object", + "properties": { + "marginLevels": { + "$ref": "#/definitions/v2MarginConnection", + "description": "Page of margin levels data and corresponding page information." + } + }, + "title": "Response from listing margin levels" + }, + "v2ListMarketsResponse": { + "type": "object", + "properties": { + "markets": { + "$ref": "#/definitions/v2MarketConnection", + "description": "Page of markets and corresponding page information." + } + }, + "title": "Response from listing markets" + }, + "v2ListNetworkParametersResponse": { + "type": "object", + "properties": { + "networkParameters": { + "$ref": "#/definitions/v2NetworkParameterConnection", + "description": "Page of network parameters and corresponding page information." + } + }, + "title": "Response containing all of the Vega network parameters" + }, + "v2ListNodeSignaturesResponse": { + "type": "object", + "properties": { + "signatures": { + "$ref": "#/definitions/v2NodeSignaturesConnection", + "description": "Page of nodes signatures and corresponding page information." + } + }, + "title": "Response to specify the ID of the resource to retrieve aggregated signatures for" + }, + "v2ListNodesResponse": { + "type": "object", + "properties": { + "nodes": { + "$ref": "#/definitions/v2NodesConnection", + "description": "Page of node data and corresponding page information." + } + }, + "title": "Response from listing nodes" + }, + "v2ListOracleDataResponse": { + "type": "object", + "properties": { + "oracleData": { + "$ref": "#/definitions/v2OracleDataConnection", + "description": "Page of seen oracle data and corresponding page information." + } + }, + "title": "Response to get all seen oracle data" + }, + "v2ListOracleSpecsResponse": { + "type": "object", + "properties": { + "oracleSpecs": { + "$ref": "#/definitions/v2OracleSpecsConnection", + "description": "Page of active oracle specs and corresponding page information." + } + }, + "title": "Response to get all active oracle specs" + }, + "v2ListOrderVersionsResponse": { + "type": "object", + "properties": { + "orders": { + "$ref": "#/definitions/v2OrderConnection", + "description": "Page of order versions and corresponding page information." + } + }, + "title": "Response that is received when listing possible order versions" + }, + "v2ListOrdersResponse": { + "type": "object", + "properties": { + "orders": { + "$ref": "#/definitions/v2OrderConnection", + "description": "Page of orders data and corresponding page information." + } + }, + "title": "Response that is received from the query to list orders" + }, + "v2ListPartiesResponse": { + "type": "object", + "properties": { + "parties": { + "$ref": "#/definitions/v2PartyConnection", + "description": "Page of parties data and corresponding page information." + } + }, + "title": "Response from listing parties" + }, + "v2ListPositionsResponse": { + "type": "object", + "properties": { + "positions": { + "$ref": "#/definitions/v2PositionConnection", + "description": "Page of positions data and corresponding page information." + } + }, + "title": "Response for a list of positions for a party" + }, + "v2ListProtocolUpgradeProposalsResponse": { + "type": "object", + "properties": { + "protocolUpgradeProposals": { + "$ref": "#/definitions/v2ProtocolUpgradeProposalConnection", + "description": "Page of protocol upgrade proposals and corresponding page information." + } + }, + "title": "Response type from a ListProtocolUpgradeProposals RPC call; a paginated list of protocol upgrade proposals" + }, + "v2ListRewardSummariesResponse": { + "type": "object", + "properties": { + "summaries": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaRewardSummary" + }, + "description": "Page of rewards details data and corresponding page information." + } + }, + "title": "Response from listing reward details in for a single party" + }, + "v2ListRewardsResponse": { + "type": "object", + "properties": { + "rewards": { + "$ref": "#/definitions/v2RewardsConnection", + "description": "Page of rewards data and corresponding page information." + } + }, + "title": "Response for listing reward details for a single party" + }, + "v2ListStopOrdersResponse": { + "type": "object", + "properties": { + "orders": { + "$ref": "#/definitions/v2StopOrderConnection", + "description": "Page of stop orders data and corresponding page information." + } + }, + "description": "Response that is received from the query to list stop orders." + }, + "v2ListSuccessorMarketsResponse": { + "type": "object", + "properties": { + "successorMarkets": { + "$ref": "#/definitions/v2SuccessorMarketConnection", + "description": "List of markets in the succession line." + } + }, + "description": "Response from a list successor markets request." + }, + "v2ListTradesResponse": { + "type": "object", + "properties": { + "trades": { + "$ref": "#/definitions/v2TradeConnection", + "description": "Page of trades data and corresponding page information." + } + }, + "title": "Response from listing trades" + }, + "v2ListTransfersResponse": { + "type": "object", + "properties": { + "transfers": { + "$ref": "#/definitions/v2TransferConnection", + "description": "Page of transfers data and corresponding page information." + } + }, + "title": "Response that is received when listing transfers" + }, + "v2ListVotesResponse": { + "type": "object", + "properties": { + "votes": { + "$ref": "#/definitions/v2VoteConnection", + "description": "Page of votes data received and corresponding page information." + } + }, + "title": "Response that is received when listing Votes" + }, + "v2ListWithdrawalsResponse": { + "type": "object", + "properties": { + "withdrawals": { + "$ref": "#/definitions/v2WithdrawalsConnection", + "description": "Page of withdrawals data and corresponding page information." + } + }, + "title": "Response from listing withdrawals data" + }, + "v2MarginConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2MarginEdge" + }, + "description": "Page of margins data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of margins data and corresponding page information." + }, + "v2MarginEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Margin levels data that satisfy a list margin levels request." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Margin data with the corresponding cursor." + }, + "v2MarginEstimate": { + "type": "object", + "properties": { + "worstCase": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Margin level estimate assuming slippage cap is applied." + }, + "bestCase": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Margin level estimate assuming no slippage." + } + }, + "description": "Margin level estimate for both worst and best case possible." + }, + "v2MarketConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2MarketEdge" + }, + "description": "Page of markets and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of markets and corresponding page information." + }, + "v2MarketDataConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2MarketDataEdge" + }, + "description": "Page of market data items and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of market data items and corresponding page information" + }, + "v2MarketDataEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaMarketData", + "description": "Data generated by a market when open." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Market data with the corresponding cursor." + }, + "v2MarketEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaMarket", + "description": "Information about the market." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Market information with the corresponding cursor." + }, + "v2NetworkParameterConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2NetworkParameterEdge" + }, + "description": "Page of network parameters data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of network parameters and corresponding page information" + }, + "v2NetworkParameterEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "Name and associated value of a network parameter." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Network parameter with the corresponding cursor." + }, + "v2NodeBasic": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID identifying the node." + }, + "pubKey": { + "type": "string", + "description": "Node operator's public key." + }, + "tmPubKey": { + "type": "string", + "description": "Tendermint public key of the node." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key of the node." + }, + "infoUrl": { + "type": "string", + "description": "URL that provides more information about the node." + }, + "location": { + "type": "string", + "description": "Country code for the location of the node." + }, + "status": { + "$ref": "#/definitions/vegaNodeStatus", + "description": "Node status." + }, + "name": { + "type": "string", + "description": "Node name." + }, + "avatarUrl": { + "type": "string", + "description": "Avatar URL." + } + }, + "description": "Represents a basic node without any epoch specific details like delegations, staking, rewards etc." + }, + "v2NodeEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaNode", + "description": "Data specific to a single node on the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Node data with the corresponding cursor." + }, + "v2NodeSignatureEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1NodeSignature", + "description": "Node signature data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Nodes signature edge with the corresponding cursor." + }, + "v2NodeSignaturesConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2NodeSignatureEdge" + }, + "description": "Page of node signatures and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of node signatures and corresponding page information." + }, + "v2NodesConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2NodeEdge" + }, + "description": "Page of node data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of node data and corresponding page information" + }, + "v2ObserveAccountsResponse": { + "type": "object", + "properties": { + "snapshot": { + "$ref": "#/definitions/v2AccountSnapshotPage", + "description": "'Initial image' snapshot containing current account balances." + }, + "updates": { + "$ref": "#/definitions/v2AccountUpdates", + "description": "List of account updates in the last block." + } + }, + "description": "Response that is received when subscribing to a stream of accounts." + }, + "v2ObserveCandleDataResponse": { + "type": "object", + "properties": { + "candle": { + "$ref": "#/definitions/apiv2Candle", + "description": "Candle data." + } + }, + "title": "Response that is received when subscribing to a stream of candles" + }, + "v2ObserveEventBusResponse": { + "type": "object", + "properties": { + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/v1BusEvent" + }, + "description": "List of events that occurred on the Vega event bus." + } + }, + "title": "Response to a subscribed stream of events from the Vega event bus" + }, + "v2ObserveGovernanceResponse": { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/vegaGovernanceData", + "description": "Governance data, i.e. proposal and votes for and against." + } + }, + "title": "Response from governance subscription" + }, + "v2ObserveLedgerMovementsResponse": { + "type": "object", + "properties": { + "ledgerMovement": { + "$ref": "#/definitions/vegaLedgerMovement", + "description": "Ledger movements data with list of ledger entries and and post-transfer balances." + } + }, + "title": "Response from ledger movements subscription" + }, + "v2ObserveLiquidityProvisionsResponse": { + "type": "object", + "properties": { + "liquidityProvisions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProvision" + } + } + }, + "title": "Response from liquidity provisions subscription" + }, + "v2ObserveMarginLevelsResponse": { + "type": "object", + "properties": { + "marginLevels": { + "$ref": "#/definitions/vegaMarginLevels", + "description": "Margin levels data that match the subscription request filters." + } + }, + "title": "Response from subscribing to margin levels data" + }, + "v2ObserveMarketsDataResponse": { + "type": "object", + "properties": { + "marketData": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketData" + }, + "description": "List of market data." + } + }, + "title": "Response that is received for market data subscription" + }, + "v2ObserveMarketsDepthResponse": { + "type": "object", + "properties": { + "marketDepth": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketDepth" + }, + "description": "List of market depth data." + } + }, + "description": "Response that is received for MarketDepth subscription." + }, + "v2ObserveMarketsDepthUpdatesResponse": { + "type": "object", + "properties": { + "update": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketDepthUpdate" + }, + "description": "List of market depth update data." + } + }, + "title": "Response that is received for market depth update subscription" + }, + "v2ObserveOrdersResponse": { + "type": "object", + "properties": { + "snapshot": { + "$ref": "#/definitions/v2OrderSnapshotPage", + "description": "An 'initial image' snapshot containing current live orders." + }, + "updates": { + "$ref": "#/definitions/v2OrderUpdates", + "description": "List of order updates in the last block." + } + }, + "description": "Response that is received from an orders subscription." + }, + "v2ObservePositionsResponse": { + "type": "object", + "properties": { + "snapshot": { + "$ref": "#/definitions/v2PositionSnapshotPage", + "description": "An 'initial image' snapshot containing current positions." + }, + "updates": { + "$ref": "#/definitions/v2PositionUpdates", + "description": "List of position updates in the last block." + } + }, + "title": "Response received from a positions subscription request" + }, + "v2ObserveTradesResponse": { + "type": "object", + "properties": { + "trades": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaTrade" + }, + "description": "List of 0 or more trades." + } + }, + "title": "Stream of trades" + }, + "v2ObserveVotesResponse": { + "type": "object", + "properties": { + "vote": { + "$ref": "#/definitions/vegaVote", + "description": "Data associated with governance votes that are published to the stream." + } + }, + "title": "Response that is received from votes subscription" + }, + "v2OracleDataConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2OracleDataEdge" + }, + "description": "Page of oracle data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of oracle data and corresponding page information." + }, + "v2OracleDataEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaOracleData", + "description": "Data that was received from an external oracle." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Oracle data item with the corresponding cursor." + }, + "v2OracleSpecEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaOracleSpec", + "description": "External spec data that satisfies the list request." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Oracle specs data item with the corresponding cursor." + }, + "v2OracleSpecsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2OracleSpecEdge" + }, + "description": "Page of oracle specs data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of oracle specs and corresponding page information" + }, + "v2OrderConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2OrderEdge" + }, + "description": "Page of orders and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of orders data and corresponding page information." + }, + "v2OrderEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaOrder", + "description": "Data associated with an order submitted to a Vega node." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Order data with the corresponding cursor." + }, + "v2OrderFilter": { + "type": "object", + "properties": { + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrderStatus" + }, + "description": "Restrict orders to those with the given statuses." + }, + "types": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrderType" + }, + "description": "Restrict orders to those with the given types." + }, + "timeInForces": { + "type": "array", + "items": { + "$ref": "#/definitions/OrderTimeInForce" + }, + "description": "Restrict orders to those with the given Time In Force." + }, + "excludeLiquidity": { + "type": "boolean", + "description": "Indicator if liquidity provision orders should be included or not in the list." + }, + "partyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict orders to those placed by the given party IDs." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict orders to those placed on the given market IDs." + }, + "reference": { + "type": "string", + "description": "Restrict orders to those with the given reference." + }, + "dateRange": { + "$ref": "#/definitions/v2DateRange", + "description": "Restrict orders to those placed during the given date range. If not set, all orders will be returned." + }, + "liveOnly": { + "type": "boolean", + "description": "Restrict orders to those that are live. If not set, it is treated as being false." + } + }, + "title": "Order filter that contains all filtering conditions and values that are applied to the orders listing" + }, + "v2OrderInfo": { + "type": "object", + "properties": { + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. buy or sell." + }, + "price": { + "type": "string", + "description": "Price for the order. The price is an unsigned integer. For example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "remaining": { + "type": "string", + "format": "uint64", + "description": "Size remaining." + }, + "isMarketOrder": { + "type": "boolean", + "description": "Boolean that indicates if it is a market order." + } + }, + "description": "Basic description of an order." + }, + "v2OrderSnapshotPage": { + "type": "object", + "properties": { + "orders": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrder" + }, + "description": "List of order data parts." + }, + "lastPage": { + "type": "boolean", + "description": "Indicator if the last page is reached or not." + } + }, + "description": "'Initial image' of live orders, may be sent over multiple response messages." + }, + "v2OrderUpdates": { + "type": "object", + "properties": { + "orders": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaOrder" + }, + "description": "List of orders data." + } + }, + "description": "List of order updates in the last block." + }, + "v2PageInfo": { + "type": "object", + "properties": { + "hasNextPage": { + "type": "boolean", + "description": "Indicator if there is a next page." + }, + "hasPreviousPage": { + "type": "boolean", + "description": "Indicator if there is a previous page." + }, + "startCursor": { + "type": "string", + "description": "Start cursor." + }, + "endCursor": { + "type": "string", + "description": "End cursor." + } + }, + "title": "Page information for cursor based pagination" + }, + "v2Pagination": { + "type": "object", + "properties": { + "first": { + "type": "integer", + "format": "int32", + "description": "Number of records to be returned that sort greater than row identified by cursor supplied in 'after'." + }, + "after": { + "type": "string", + "description": "If paging forwards, the cursor string for the last row of the previous page." + }, + "last": { + "type": "integer", + "format": "int32", + "description": "Number of records to be returned that sort less than row identified by cursor supplied in 'before'." + }, + "before": { + "type": "string", + "description": "If paging forwards, the cursor string for the first row of the previous page." + }, + "newestFirst": { + "type": "boolean", + "description": "Whether to order the results with the newest records first. If not set, the default value is true." + } + }, + "description": "All data returned from the API is ordered in a well-defined manner.\nThe specific columns and the order in which the sorting is performed\ndepend on the API endpoint being called. However, the primary sorting\ncolumn is usually the timestamp of the block in which the data was last updated.\n\nTo prevent excessively large response messages and to avoid overloading\ndatabase resources, the API employs a cursor-based pagination mechanism.\n\nThis Pagination message can be optionally provided as part of the request to specify:\n- The starting point within the total result set for beginning the page\n- The size of the returned page\n- The ordering of the data within that page\n\nIf no Pagination message is provided, the API will return the first page of\ndata using the default page size. The default page size is 1000.\n\nTo retrieve subsequent pages, the caller must examine the PageInfo structure\nreturned in the response to find a cursor string that uniquely identifies the\nlast row of that page. This cursor should then be passed in the 'after' field\nof the Pagination message in a subsequent request.\n\nFor paging backward, take the cursor for the first row of the page from PageInfo\nand pass it in the 'before' field of the Pagination message.\n\nPagination message that uses both first/after and last/before is considered invalid." + }, + "v2PartyConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2PartyEdge" + }, + "description": "Page of parties and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of parties data and corresponding page information." + }, + "v2PartyEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaParty", + "description": "Data associated with a party." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Party data with the corresponding cursor." + }, + "v2PingResponse": { + "type": "object", + "title": "Ping response from the data node" + }, + "v2PositionConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2PositionEdge" + }, + "description": "Page of positions data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of positions and corresponding page information" + }, + "v2PositionEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaPosition", + "description": "Position data for a party on a market." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Position data with the corresponding cursor." + }, + "v2PositionSnapshotPage": { + "type": "object", + "properties": { + "positions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPosition" + }, + "description": "List of positions data." + }, + "lastPage": { + "type": "boolean", + "description": "Indicator if last page is reached or not." + } + }, + "title": "'Initial image' of current positions, may be sent over multiple response messages" + }, + "v2PositionUpdates": { + "type": "object", + "properties": { + "positions": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPosition" + }, + "description": "List of positions data." + } + }, + "title": "List of position updates in the last block" + }, + "v2PositionsFilter": { + "type": "object", + "properties": { + "partyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict positions to those related to the given parties." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict positions to those on the given markets." + } + }, + "title": "Filter to apply to the ListAllPositionsRequest" + }, + "v2ProtocolUpgradeProposalConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2ProtocolUpgradeProposalEdge" + }, + "description": "Page of protocol upgrade proposals data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of protocol upgrade proposals and corresponding page information" + }, + "v2ProtocolUpgradeProposalEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1ProtocolUpgradeEvent", + "description": "Protocol upgrade proposal data." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Protocol upgrade proposal data with the corresponding cursor." + }, + "v2RewardEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaReward", + "description": "Details for a single reward payment." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Rewards data with the corresponding cursor." + }, + "v2RewardSummaryFilter": { + "type": "object", + "properties": { + "assetIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict reward summaries to those connected to the assets in the given list." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict reward summaries to those connected to the markets in the given list." + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "description": "Restrict rewards summaries to those that were paid after and including the given epoch ID." + }, + "toEpoch": { + "type": "string", + "format": "uint64", + "description": "Restrict rewards summaries to those that were paid up to and including the given epoch ID." + } + }, + "title": "Filter to restrict the results returned by the ListEpochRewardSummaries" + }, + "v2RewardsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2RewardEdge" + }, + "description": "Page of rewards data items and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of rewards data and corresponding page information." + }, + "v2StakeLinkingEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1StakeLinking", + "description": "Stake linking represent the intent from a party to deposit." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Stake linking data with the corresponding cursor." + }, + "v2StakesConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2StakeLinkingEdge" + }, + "description": "Page of stake data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of stake data and corresponding page information." + }, + "v2StopOrderConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2StopOrderEdge" + }, + "description": "Page of stop orders and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "description": "Page of stop orders data and corresponding page information." + }, + "v2StopOrderEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v1StopOrderEvent", + "description": "Data associated with an order submitted to a Vega node." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Order data with the corresponding cursor." + }, + "v2StopOrderFilter": { + "type": "object", + "properties": { + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaStopOrderStatus" + }, + "description": "Restrict orders to those with the given statuses." + }, + "expiryStrategies": { + "type": "array", + "items": { + "$ref": "#/definitions/StopOrderExpiryStrategy" + }, + "description": "Restrict orders to those with the given expiry strategies." + }, + "dateRange": { + "$ref": "#/definitions/v2DateRange", + "description": "Restrict orders to those placed during the given date range. If not set, all orders will be returned." + }, + "partyIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict orders to those placed by the given party IDs." + }, + "marketIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restrict orders to those placed on the given market IDs." + } + }, + "description": "Stop order filter that contains all filtering conditions and values that are applied to the stop orders listing.", + "title": "Stop order filter" + }, + "v2SuccessorMarket": { + "type": "object", + "properties": { + "market": { + "$ref": "#/definitions/vegaMarket", + "description": "The market that is a member of the succession line." + }, + "proposals": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaGovernanceData" + }, + "description": "All proposals for child markets that have the market as a parent." + } + }, + "description": "Successor market information includes the market that is a member of the succession line\nand any governance data that is associated with proposals for child markets\nwhether enacted or not." + }, + "v2SuccessorMarketConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2SuccessorMarketEdge" + }, + "description": "Page of successor markets and their cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information for pagination control." + } + }, + "description": "Page of successor market records and corresponding page information." + }, + "v2SuccessorMarketEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/v2SuccessorMarket", + "description": "Successor market record." + }, + "cursor": { + "type": "string", + "description": "Cursor identifying the record for pagination control." + } + }, + "title": "Successor market record with the corresponding cursor for paginated results" + }, + "v2Table": { + "type": "string", + "enum": [ + "TABLE_UNSPECIFIED", + "TABLE_BALANCES", + "TABLE_CHECKPOINTS", + "TABLE_DELEGATIONS", + "TABLE_LEDGER", + "TABLE_ORDERS", + "TABLE_TRADES", + "TABLE_MARKET_DATA", + "TABLE_MARGIN_LEVELS", + "TABLE_POSITIONS", + "TABLE_LIQUIDITY_PROVISIONS", + "TABLE_MARKETS", + "TABLE_DEPOSITS", + "TABLE_WITHDRAWALS", + "TABLE_BLOCKS", + "TABLE_REWARDS" + ], + "default": "TABLE_UNSPECIFIED" + }, + "v2TradeConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2TradeEdge" + }, + "description": "Page of trades and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of trades and corresponding page information" + }, + "v2TradeEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaTrade", + "description": "Data associated with a trade that has been executed." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Trade data item with the corresponding cursor.." + }, + "v2TransferConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2TransferEdge" + }, + "description": "Page of transfers data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of transfers data items and corresponding page information" + }, + "v2TransferDirection": { + "type": "string", + "enum": [ + "TRANSFER_DIRECTION_UNSPECIFIED", + "TRANSFER_DIRECTION_TRANSFER_FROM", + "TRANSFER_DIRECTION_TRANSFER_TO", + "TRANSFER_DIRECTION_TRANSFER_TO_OR_FROM" + ], + "default": "TRANSFER_DIRECTION_UNSPECIFIED", + "title": "Direction of a transfer" + }, + "v2TransferEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaeventsv1Transfer", + "description": "Data relating to a transfer that has been made." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Transfers data with the corresponding cursor." + }, + "v2VoteConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2VoteEdge" + }, + "description": "Page of vote data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of vote data items and corresponding page information" + }, + "v2VoteEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaVote", + "description": "Data associated with a governance vote." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Votes data with the corresponding cursor." + }, + "v2WithdrawalEdge": { + "type": "object", + "properties": { + "node": { + "$ref": "#/definitions/vegaWithdrawal", + "description": "Data associated with a single withdrawal made from the Vega network." + }, + "cursor": { + "type": "string", + "description": "Cursor that can be used to fetch further pages." + } + }, + "description": "Withdrawals data with the corresponding cursor." + }, + "v2WithdrawalsConnection": { + "type": "object", + "properties": { + "edges": { + "type": "array", + "items": { + "$ref": "#/definitions/v2WithdrawalEdge" + }, + "description": "Page of withdrawals data and their corresponding cursors." + }, + "pageInfo": { + "$ref": "#/definitions/v2PageInfo", + "description": "Page information that is used for fetching further pages." + } + }, + "title": "Page of withdrawals data and corresponding page information" + }, + "vegaAccount": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique account ID, used internally by Vega." + }, + "owner": { + "type": "string", + "description": "Party that the account belongs to, special values include `network`, which represents the Vega network and is\nmost commonly seen during liquidation of distressed trading positions." + }, + "balance": { + "type": "string", + "description": "Balance of the asset, the balance is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places\nand importantly balances cannot be negative." + }, + "asset": { + "type": "string", + "description": "Asset ID for the account." + }, + "marketId": { + "type": "string", + "description": "Market ID for the account, if `AccountType.ACCOUNT_TYPE_GENERAL` this will be empty." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type related to this account." + } + }, + "title": "Represents an account for an asset on Vega for a particular owner or party" + }, + "vegaAccountDetails": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID of the asset for this account." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the account." + }, + "owner": { + "type": "string", + "description": "Not specified if network account." + }, + "marketId": { + "type": "string", + "description": "Not specified if account is not related to a market." + } + } + }, + "vegaAccountType": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ], + "default": "ACCOUNT_TYPE_UNSPECIFIED", + "description": "- ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "title": "Various collateral/account types as used by Vega" + }, + "vegaAsset": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Internal identifier of the asset." + }, + "details": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Definition of the external source for this asset." + }, + "status": { + "$ref": "#/definitions/vegaAssetStatus", + "description": "Status of the asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetails": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the asset (e.g: Great British Pound)." + }, + "symbol": { + "type": "string", + "description": "Symbol of the asset (e.g: GBP)." + }, + "decimals": { + "type": "string", + "format": "uint64", + "description": "Number of decimal / precision handled by this asset." + }, + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "builtinAsset": { + "$ref": "#/definitions/vegaBuiltinAsset", + "description": "Vega built-in asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20", + "description": "Ethereum ERC20 asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetailsUpdate": { + "type": "object", + "properties": { + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Update", + "description": "Ethereum ERC20 asset update." + } + }, + "description": "Changes to apply on an existing asset." + }, + "vegaAssetStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PROPOSED", + "STATUS_REJECTED", + "STATUS_PENDING_LISTING", + "STATUS_ENABLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_PROPOSED: Asset is proposed and under vote\n - STATUS_REJECTED: Asset has been rejected from governance\n - STATUS_PENDING_LISTING: Asset is pending listing from the bridge\n - STATUS_ENABLED: Asset is fully usable in the network" + }, + "vegaAuctionDuration": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "format": "int64", + "description": "Duration of the auction in seconds." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Target uncrossing trading volume." + } + }, + "title": "Auction duration is used to configure 3 auction periods:\n1. `duration \u003e 0`, `volume == 0`:\n The auction will last for at least N seconds\n2. `duration == 0`, `volume \u003e 0`:\n The auction will end once the given volume will match at uncrossing\n3. `duration \u003e 0`, `volume \u003e 0`:\n The auction will take at least N seconds, but can end sooner if the market can trade a certain volume" + }, + "vegaAuctionTrigger": { + "type": "string", + "enum": [ + "AUCTION_TRIGGER_UNSPECIFIED", + "AUCTION_TRIGGER_BATCH", + "AUCTION_TRIGGER_OPENING", + "AUCTION_TRIGGER_PRICE", + "AUCTION_TRIGGER_LIQUIDITY", + "AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET", + "AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS", + "AUCTION_TRIGGER_GOVERNANCE_SUSPENSION" + ], + "default": "AUCTION_TRIGGER_UNSPECIFIED", + "description": "- AUCTION_TRIGGER_UNSPECIFIED: Default value for AuctionTrigger, no auction triggered\n - AUCTION_TRIGGER_BATCH: Batch auction\n - AUCTION_TRIGGER_OPENING: Opening auction\n - AUCTION_TRIGGER_PRICE: Price monitoring trigger\n - AUCTION_TRIGGER_LIQUIDITY: Deprecated\n - AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET: Liquidity auction due to not enough committed liquidity\n - AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS: Liquidity auction due to not being able to deploy LP orders because there's nothing to peg on one or both sides of the book\n - AUCTION_TRIGGER_GOVERNANCE_SUSPENSION: Market is suspended and put into auction via governance", + "title": "Auction triggers indicate what condition triggered an auction (if market is in auction mode)" + }, + "vegaBuiltinAsset": { + "type": "object", + "properties": { + "maxFaucetAmountMint": { + "type": "string", + "description": "Maximum amount that can be requested by a party through the built-in asset faucet at a time." + } + }, + "title": "Vega internal asset" + }, + "vegaCancelTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaCancelTransferConfiguration", + "title": "Configuration for cancellation of a governance-initiated transfer" + } + } + }, + "vegaCancelTransferConfiguration": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "ID of the governance transfer proposal." + } + } + }, + "vegaDataSourceDefinition": { + "type": "object", + "properties": { + "internal": { + "$ref": "#/definitions/vegaDataSourceDefinitionInternal" + }, + "external": { + "$ref": "#/definitions/vegaDataSourceDefinitionExternal" + } + }, + "description": "Represents the top level object that handles data sources.\nData source definition can be external or internal, with whatever\nnumber of data sources are defined for each type in the child objects below." + }, + "vegaDataSourceDefinitionExternal": { + "type": "object", + "properties": { + "oracle": { + "$ref": "#/definitions/vegaDataSourceSpecConfiguration" + }, + "ethOracle": { + "$ref": "#/definitions/vegaEthCallSpec", + "description": "Contains the data specification that is received from Ethereum sources." + } + }, + "description": "DataSourceDefinitionExternal is the top level object used for all external\ndata sources. It contains one of any of the defined `SourceType` variants." + }, + "vegaDataSourceDefinitionInternal": { + "type": "object", + "properties": { + "time": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTime" + }, + "timeTrigger": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTimeTrigger" + } + }, + "description": "Top level object used for all internal data sources.\nIt contains one of any of the defined source type variants." + }, + "vegaDataSourceSpec": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Hash generated from the DataSpec data." + }, + "createdAt": { + "type": "string", + "format": "int64", + "title": "Creation date and time" + }, + "updatedAt": { + "type": "string", + "format": "int64", + "title": "Last Updated timestamp" + }, + "data": { + "$ref": "#/definitions/vegaDataSourceDefinition" + }, + "status": { + "$ref": "#/definitions/vegaDataSourceSpecStatus", + "title": "Status describes the status of the data source spec" + } + }, + "description": "Data source spec describes the data source base that a product or a risk\nmodel wants to get from the data source engine. This message contains\nadditional information used by the API." + }, + "vegaDataSourceSpecConfiguration": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + }, + "description": "Signers is the list of authorized signatures that signed the data for this\nsource. All the signatures in the data source data should be contained in\nthis external source. All the signatures in the data should be contained in\nthis list." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "description": "Filters describes which source data are considered of interest or not for\nthe product (or the risk model)." + } + }, + "description": "All types of external data sources use the same configuration set for meeting\nrequirements in order for the data to be useful for Vega - valid signatures\nand matching filters." + }, + "vegaDataSourceSpecConfigurationTime": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps should meet in order to be considered." + } + }, + "description": "Internal data source used for emitting timestamps." + }, + "vegaDataSourceSpecConfigurationTimeTrigger": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps need to meet in order to be considered." + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1InternalTimeTrigger" + }, + "title": "An internal time trigger" + } + }, + "description": "Internal data source used for emitting timestamps automatically using predefined intervals and conditions." + }, + "vegaDataSourceSpecStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_DEACTIVATED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value.\n - STATUS_ACTIVE: STATUS_ACTIVE describes an active data source spec.\n - STATUS_DEACTIVATED: STATUS_DEACTIVATED describes a data source spec that is not listening to\ndata anymore.", + "title": "Status describe the status of the data source spec" + }, + "vegaDataSourceSpecToFutureBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the Future will use the value of\nthis property as settlement data." + }, + "tradingTerminationProperty": { + "type": "string", + "description": "Name of the property in the data source data that signals termination of trading." + } + }, + "title": "DataSourceSpecToFutureBinding describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDataSourceSpecToPerpetualBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + }, + "settlementScheduleProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + } + }, + "title": "Describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDelegation": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Party which is delegating." + }, + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Amount delegated. This field is an unsigned integer scaled to the asset's decimal places." + }, + "epochSeq": { + "type": "string", + "description": "Epoch of delegation." + } + } + }, + "vegaDeposit": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the deposit." + }, + "status": { + "$ref": "#/definitions/vegaDepositStatus", + "description": "Status of the deposit." + }, + "partyId": { + "type": "string", + "description": "Party ID of the user initiating the deposit." + }, + "asset": { + "type": "string", + "description": "Vega asset targeted by this deposit." + }, + "amount": { + "type": "string", + "description": "Amount to be deposited. This field is an unsigned integer scaled to the asset's decimal places." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction from the foreign chain." + }, + "creditedTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the Vega account was updated with the deposit." + }, + "createdTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the deposit was created on the Vega network." + } + }, + "title": "Deposit on to the Vega network" + }, + "vegaDepositStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_OPEN", + "STATUS_CANCELLED", + "STATUS_FINALIZED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_OPEN: Deposit is being processed by the network\n - STATUS_CANCELLED: Deposit has been cancelled by the network\n - STATUS_FINALIZED: Deposit has been finalised and accounts have been updated", + "title": "Status of the deposit" + }, + "vegaDispatchMetric": { + "type": "string", + "enum": [ + "DISPATCH_METRIC_UNSPECIFIED", + "DISPATCH_METRIC_MAKER_FEES_PAID", + "DISPATCH_METRIC_MAKER_FEES_RECEIVED", + "DISPATCH_METRIC_LP_FEES_RECEIVED", + "DISPATCH_METRIC_MARKET_VALUE" + ], + "default": "DISPATCH_METRIC_UNSPECIFIED", + "title": "- DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that is using the total maker fees paid in the market\n - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that is using the total maker fees received in the market\n - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that is using the total LP fees received in the market\n - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that is using total value of the market if above the required threshold and not paid given proposer bonus yet" + }, + "vegaDispatchStrategy": { + "type": "object", + "properties": { + "assetForMetric": { + "type": "string", + "description": "Asset to use for metric." + }, + "metric": { + "$ref": "#/definitions/vegaDispatchMetric", + "description": "Metric to apply." + }, + "markets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional markets in scope." + } + } + }, + "vegaERC20": { + "type": "object", + "properties": { + "contractAddress": { + "type": "string", + "description": "Address of the contract for the token, on the ethereum network." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + }, + "title": "ERC20 token based asset, living on the ethereum network" + }, + "vegaERC20Update": { + "type": "object", + "properties": { + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address.\nThis will be interpreted against the asset decimals.\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + } + }, + "vegaEpoch": { + "type": "object", + "properties": { + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence is used as epoch ID." + }, + "timestamps": { + "$ref": "#/definitions/vegaEpochTimestamps", + "description": "Timestamps for start/end etc." + }, + "validators": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNode" + }, + "description": "Validators that participated in this epoch." + }, + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDelegation" + }, + "description": "List of all delegations in epoch." + } + } + }, + "vegaEpochAction": { + "type": "string", + "enum": [ + "EPOCH_ACTION_UNSPECIFIED", + "EPOCH_ACTION_START", + "EPOCH_ACTION_END" + ], + "default": "EPOCH_ACTION_UNSPECIFIED", + "description": "- EPOCH_ACTION_START: Epoch update is for a new epoch.\n - EPOCH_ACTION_END: Epoch update is for the end of an epoch.", + "title": "What epoch action has occurred" + }, + "vegaEpochData": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int32", + "description": "Total number of epochs since node was created." + }, + "offline": { + "type": "integer", + "format": "int32", + "description": "Total number of offline epochs since node was created." + }, + "online": { + "type": "integer", + "format": "int32", + "description": "Total number of online epochs since node was created." + } + } + }, + "vegaEpochRewardSummary": { + "type": "object", + "properties": { + "epoch": { + "type": "string", + "format": "uint64", + "description": "Epoch in which the reward is being paid." + }, + "assetId": { + "type": "string", + "description": "Asset ID in which the reward is being paid." + }, + "marketId": { + "type": "string", + "description": "Market ID in which the reward is being paid." + }, + "rewardType": { + "type": "string", + "description": "Type of reward being paid." + }, + "amount": { + "type": "string", + "description": "Amount distributed. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Details for rewards for a combination of asset, market, and reward type in a given epoch" + }, + "vegaEpochTimestamps": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when epoch started." + }, + "expiryTime": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for the epoch's expiry." + }, + "endTime": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the epoch ended, empty if not ended." + }, + "firstBlock": { + "type": "string", + "format": "uint64", + "description": "Height of first block in the epoch." + }, + "lastBlock": { + "type": "string", + "format": "uint64", + "description": "Height of last block in the epoch, empty if not ended." + } + }, + "title": "Describes in both human readable and block time when an epoch spans" + }, + "vegaErc20WithdrawExt": { + "type": "object", + "properties": { + "receiverAddress": { + "type": "string", + "description": "Address into which the bridge will release the funds." + } + }, + "title": "Extension of data required for the withdraw submissions" + }, + "vegaEthCallSpec": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Ethereum address of the contract to call." + }, + "abi": { + "type": "string", + "description": "The ABI of that contract." + }, + "method": { + "type": "string", + "description": "Name of the method on the contract to call." + }, + "args": { + "type": "array", + "items": { + "type": "object" + }, + "description": "List of arguments to pass to method call.\nProtobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum\ntype according to the ABI." + }, + "trigger": { + "$ref": "#/definitions/vegaEthCallTrigger", + "description": "Conditions for determining when to call the contract method." + }, + "requiredConfirmations": { + "type": "string", + "format": "uint64", + "title": "Number of confirmations required before the query is considered verified" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "title": "Filters the data returned from the contract method" + }, + "normalisers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNormaliser" + }, + "description": "Normalisers are used to convert the data returned from the contract method\ninto a standard format. The key of the map is the name of the property,\nwhich identifies the specific piece of data to other parts of the data\nsourcing framework, for example filters. The value is a JSONPath expression\nfor expressing where in the contract call result the required data is\nlocated, for example $[0] indicates the first result. $[1].price would look\nin the second result returned from the contract for a structure with a key\ncalled 'price' and use that if it exists." + } + }, + "description": "Specifies a data source that derives its content from calling a read method\non an Ethereum contract." + }, + "vegaEthCallTrigger": { + "type": "object", + "properties": { + "timeTrigger": { + "$ref": "#/definitions/vegaEthTimeTrigger" + } + }, + "description": "Determines when the contract method should be called." + }, + "vegaEthTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "uint64", + "description": "Trigger when the Ethereum time is greater or equal to this time, in Unix\nseconds." + }, + "every": { + "type": "string", + "format": "uint64", + "description": "Repeat the call every n seconds after the initial call. If no time for\ninitial call was specified, begin repeating immediately." + }, + "until": { + "type": "string", + "format": "uint64", + "description": "If repeating, stop once Ethereum time is greater than this time, in Unix\nseconds. If not set, then repeat indefinitely." + } + }, + "description": "Trigger for an Ethereum call based on the Ethereum block timestamp. Can be\none-off or repeating." + }, + "vegaExternalDataSourceSpec": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/definitions/vegaDataSourceSpec" + } + } + }, + "vegaFee": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Fee amount paid to the non-aggressive party of the trade. This field is an unsigned integer scaled to the asset's decimal places." + }, + "infrastructureFee": { + "type": "string", + "description": "Fee amount paid for maintaining the Vega infrastructure. This field is an unsigned integer scaled using the asset's decimal places." + }, + "liquidityFee": { + "type": "string", + "description": "Fee amount paid to market makers. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents any fees paid by a party, resulting from a trade" + }, + "vegaFeeFactors": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Market maker fee charged network wide." + }, + "infrastructureFee": { + "type": "string", + "description": "Infrastructure fee charged network wide for staking and governance." + }, + "liquidityFee": { + "type": "string", + "description": "Liquidity fee applied per market for market making." + } + }, + "title": "Fee factors definition" + }, + "vegaFees": { + "type": "object", + "properties": { + "factors": { + "$ref": "#/definitions/vegaFeeFactors", + "description": "Fee factors." + } + }, + "title": "Fees definition" + }, + "vegaFuture": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the future." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the settlement data source filter." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the trading termination data source filter." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data spec and the data source." + } + }, + "title": "Future product definition" + }, + "vegaFutureProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The external data source spec describing the data source of trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaGovernanceData": { + "type": "object", + "properties": { + "proposal": { + "$ref": "#/definitions/vegaProposal", + "description": "Governance proposal that is being voted on." + }, + "yes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVote" + }, + "description": "All YES votes in favour of the proposal above." + }, + "no": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVote" + }, + "description": "All NO votes against the proposal above." + }, + "yesParty": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/vegaVote" + }, + "description": "All latest YES votes by party which is guaranteed to be unique,\nwhere key (string) is the party ID i.e. public key and\nvalue (Vote) is the vote cast by the given party." + }, + "noParty": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/vegaVote" + }, + "description": "All latest NO votes by party which is guaranteed to be unique,\nwhere key (string) is the party ID i.e. public key and\nvalue (Vote) is the vote cast by the given party." + } + }, + "title": "Governance data" + }, + "vegaGovernanceTransferType": { + "type": "string", + "enum": [ + "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED", + "GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING", + "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT" + ], + "default": "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED" + }, + "vegaIcebergOrder": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that will be made visible if the iceberg order is replenished after trading." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "If the visible size of the order falls below this value, it will be replenished back to the peak size using the reserved amount." + }, + "reservedRemaining": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is reserved and used to restore the iceberg's peak when it is refreshed." + } + }, + "title": "Details of an iceberg order" + }, + "vegaInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique instrument ID." + }, + "code": { + "type": "string", + "description": "Code for the instrument." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + }, + "metadata": { + "$ref": "#/definitions/vegaInstrumentMetadata", + "description": "Collection of instrument meta-data." + }, + "future": { + "$ref": "#/definitions/vegaFuture", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpot", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetual", + "description": "Perpetual." + } + }, + "title": "Instrument definition" + }, + "vegaInstrumentConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Instrument name." + }, + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaFutureProduct", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpotProduct", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaInstrumentMetadata": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of 0 or more tags." + } + }, + "title": "Instrument metadata definition" + }, + "vegaLedgerEntry": { + "type": "object", + "properties": { + "fromAccount": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "One or more accounts to transfer from." + }, + "toAccount": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "One or more accounts to transfer to." + }, + "amount": { + "type": "string", + "description": "Amount to transfer. This field is an unsigned integer scaled to the asset's decimal places." + }, + "type": { + "$ref": "#/definitions/vegaTransferType", + "description": "Transfer type for this entry." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in nanoseconds of when the ledger entry was created." + }, + "fromAccountBalance": { + "type": "string", + "description": "Sender account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places." + }, + "toAccountBalance": { + "type": "string", + "description": "Receiver account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents a ledger entry on Vega" + }, + "vegaLedgerMovement": { + "type": "object", + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerEntry" + }, + "description": "All the entries for these ledger movements." + }, + "balances": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPostTransferBalance" + }, + "description": "Resulting balances once the ledger movement are applied." + } + } + }, + "vegaLiquidityMonitoringParameters": { + "type": "object", + "properties": { + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "triggeringRatio": { + "type": "string", + "description": "Specifies the triggering ratio for entering liquidity auction." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction." + } + }, + "title": "LiquidityMonitoringParameters contains settings used for liquidity monitoring" + }, + "vegaLiquidityOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Pegged reference point for the order." + }, + "proportion": { + "type": "integer", + "format": "int64", + "description": "Relative proportion of the commitment to be allocated at a price level." + }, + "offset": { + "type": "string", + "description": "Offset/amount of units away for the order. This field is an unsigned integer scaled using the market's decimal places." + } + }, + "title": "Represents a liquidity order" + }, + "vegaLiquidityOrderReference": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID of the pegged order generated to fulfil this liquidity order." + }, + "liquidityOrder": { + "$ref": "#/definitions/vegaLiquidityOrder", + "description": "Liquidity order from the original submission." + } + }, + "title": "Pair of a liquidity order and the ID of the generated order" + }, + "vegaLiquidityProviderFeeShare": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Liquidity provider party ID." + }, + "equityLikeShare": { + "type": "string", + "description": "Share own by this liquidity provider." + }, + "averageEntryValuation": { + "type": "string", + "description": "Average entry valuation of the liquidity provider for the market." + }, + "averageScore": { + "type": "string", + "description": "Average liquidity score." + }, + "virtualStake": { + "type": "string", + "description": "The virtual stake of this liquidity provider." + } + }, + "title": "Equity like share of liquidity fee for each liquidity provider" + }, + "vegaLiquidityProvision": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the liquidity provision." + }, + "partyId": { + "type": "string", + "description": "Unique party ID for the creator of the provision." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was created." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was updated." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled to the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrderReference" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrderReference" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "version": { + "type": "string", + "format": "uint64", + "description": "Version of this liquidity provision order." + }, + "status": { + "$ref": "#/definitions/vegaLiquidityProvisionStatus", + "description": "Status of this liquidity provision order." + }, + "reference": { + "type": "string", + "description": "Reference shared between this liquidity provision and all its orders." + } + }, + "title": "Liquidity provider commitment" + }, + "vegaLiquidityProvisionStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_STOPPED", + "STATUS_CANCELLED", + "STATUS_REJECTED", + "STATUS_UNDEPLOYED", + "STATUS_PENDING" + ], + "default": "STATUS_UNSPECIFIED", + "description": "Status of a liquidity provision order.\n\n - STATUS_UNSPECIFIED: Always invalid\n - STATUS_ACTIVE: Liquidity provision is active\n - STATUS_STOPPED: Liquidity provision was stopped by the network\n - STATUS_CANCELLED: Liquidity provision was cancelled by the liquidity provider\n - STATUS_REJECTED: Liquidity provision was invalid and got rejected\n - STATUS_UNDEPLOYED: Liquidity provision is valid and accepted by network, but orders aren't deployed\n - STATUS_PENDING: Liquidity provision is valid and accepted by network\nbut has never been deployed. If when it's possible to deploy the orders for the first time\nmargin check fails, then they will be cancelled without any penalties." + }, + "vegaLiquiditySLAParameters": { + "type": "object", + "properties": { + "priceRange": { + "type": "string" + }, + "commitmentMinTimeFraction": { + "type": "string", + "description": "Specifies the minimum fraction of time LPs must spend \"on the book\" providing their committed liquidity." + }, + "providersFeeCalculationTimeStep": { + "type": "string", + "format": "int64", + "description": "Specifies how often the quality of liquidity supplied by the LPs is evaluated and fees arising from that period are earmarked for specific parties." + }, + "performanceHysteresisEpochs": { + "type": "string", + "format": "uint64", + "description": "Specifies the number of liquidity epochs over which past performance will continue to affect rewards." + }, + "slaCompetitionFactor": { + "type": "string", + "description": "Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers\nthat achieved a higher SLA performance than them." + } + } + }, + "vegaLogNormalModelParams": { + "type": "object", + "properties": { + "mu": { + "type": "number", + "format": "double", + "description": "Mu parameter, annualised growth rate of the underlying asset." + }, + "r": { + "type": "number", + "format": "double", + "description": "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number." + }, + "sigma": { + "type": "number", + "format": "double", + "description": "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number." + } + }, + "title": "Risk model parameters for log normal" + }, + "vegaLogNormalRiskModel": { + "type": "object", + "properties": { + "riskAversionParameter": { + "type": "number", + "format": "double", + "description": "Risk Aversion Parameter." + }, + "tau": { + "type": "number", + "format": "double", + "description": "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall\ncalculation to obtain the maintenance margin, must be a strictly non-negative real number." + }, + "params": { + "$ref": "#/definitions/vegaLogNormalModelParams", + "description": "Risk model parameters for log normal." + } + }, + "title": "Risk model for log normal" + }, + "vegaMarginCalculator": { + "type": "object", + "properties": { + "scalingFactors": { + "$ref": "#/definitions/vegaScalingFactors", + "description": "Scaling factors for margin calculation." + } + }, + "title": "Margin Calculator definition" + }, + "vegaMarginLevels": { + "type": "object", + "properties": { + "maintenanceMargin": { + "type": "string", + "description": "Maintenance margin value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "searchLevel": { + "type": "string", + "description": "Margin search level value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "initialMargin": { + "type": "string", + "description": "Initial margin value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "collateralReleaseLevel": { + "type": "string", + "description": "Collateral release level value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "partyId": { + "type": "string", + "description": "Party ID for whom the margin levels apply." + }, + "marketId": { + "type": "string", + "description": "Market ID for which the margin levels apply." + }, + "asset": { + "type": "string", + "description": "Asset ID for which the margin levels apply." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the ledger entry was created." + } + }, + "title": "Represents the margin levels for a party on a market at a given time" + }, + "vegaMarket": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the market." + }, + "tradableInstrument": { + "$ref": "#/definitions/vegaTradableInstrument", + "description": "Tradable instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Number of decimal places that a price must be shifted by in order to get a\ncorrect price denominated in the currency of the market, for example:\n`realPrice = price / 10^decimalPlaces`." + }, + "fees": { + "$ref": "#/definitions/vegaFees", + "description": "Fees configuration that apply to the market." + }, + "openingAuction": { + "$ref": "#/definitions/vegaAuctionDuration", + "description": "Auction duration specifies how long the opening auction will run (minimum\nduration and optionally a minimum traded volume)." + }, + "priceMonitoringSettings": { + "$ref": "#/definitions/vegaPriceMonitoringSettings", + "description": "PriceMonitoringSettings for the market." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "LiquidityMonitoringParameters for the market." + }, + "tradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current mode of execution of the market." + }, + "state": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "marketTimestamps": { + "$ref": "#/definitions/vegaMarketTimestamps", + "description": "Timestamps for when the market state changes." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "The number of decimal places for a position." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "parentMarketId": { + "type": "string", + "title": "ID of the market this market succeeds" + }, + "insurancePoolFraction": { + "type": "string", + "description": "The fraction of the parent market's insurance pool that this market inherits; range 0 through 1." + }, + "successorMarketId": { + "type": "string", + "description": "ID of the market that succeeds this market if it exists. This will be populated by the system when the successor market is enabled." + }, + "liquiditySlaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Liquidity SLA parameters for the market." + } + }, + "title": "Market definition" + }, + "vegaMarketData": { + "type": "object", + "properties": { + "markPrice": { + "type": "string", + "description": "Mark price, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidPrice": { + "type": "string", + "description": "Highest price level on an order book for buy orders, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being bid at the best bid price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestOfferPrice": { + "type": "string", + "description": "Lowest price level on an order book for offer orders. This field is an unsigned integer scaled to the market's decimal places." + }, + "bestOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being offered at the best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestStaticBidPrice": { + "type": "string", + "description": "Highest price on the order book for buy orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticBidVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static bid price excluding pegged orders." + }, + "bestStaticOfferPrice": { + "type": "string", + "description": "Lowest price on the order book for sell orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static offer price, excluding pegged orders." + }, + "midPrice": { + "type": "string", + "description": "Arithmetic average of the best bid price and best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "staticMidPrice": { + "type": "string", + "description": "Arithmetic average of the best static bid price and best static offer price.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "market": { + "type": "string", + "title": "Market ID for the data" + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which this mark price was relevant." + }, + "openInterest": { + "type": "string", + "format": "uint64", + "description": "Sum of the size of all positions greater than zero on the market." + }, + "auctionEnd": { + "type": "string", + "format": "int64", + "description": "Time in seconds until the end of the auction (zero if currently not in auction period)." + }, + "auctionStart": { + "type": "string", + "format": "int64", + "description": "Time until next auction, or start time of the current auction if market is in auction period." + }, + "indicativePrice": { + "type": "string", + "description": "Indicative price (zero if not in auction). This field is an unsigned scaled to the market's decimal places." + }, + "indicativeVolume": { + "type": "string", + "format": "uint64", + "description": "Indicative volume (zero if not in auction)." + }, + "marketTradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current trading mode for the market." + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market is in an auction trading mode, this field indicates what triggered the auction." + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market auction is extended, this field indicates what caused the extension." + }, + "targetStake": { + "type": "string", + "description": "Targeted stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "suppliedStake": { + "type": "string", + "description": "Available stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "priceMonitoringBounds": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringBounds" + }, + "description": "One or more price monitoring bounds for the current timestamp." + }, + "marketValueProxy": { + "type": "string", + "description": "Market value proxy." + }, + "liquidityProviderFeeShare": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProviderFeeShare" + }, + "description": "Equity like share of liquidity fee for each liquidity provider." + }, + "marketState": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "nextMarkToMarket": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the next mark-to-market calculation will occur." + }, + "lastTradedPrice": { + "type": "string", + "description": "Last traded price of the market. This field is an unsigned integer scaled to the market's decimal places." + }, + "marketGrowth": { + "type": "string", + "description": "Market growth at the last market time window." + } + }, + "title": "Represents data generated by a market when open" + }, + "vegaMarketDepth": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for which the depth levels apply." + }, + "buy": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Collection of price levels for the buy side of the book." + }, + "sell": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Collection of price levels for the sell side of the book." + }, + "sequenceNumber": { + "type": "string", + "format": "uint64", + "description": "Sequence number for the market depth data returned." + } + }, + "title": "Represents market depth or order book data for the specified market on Vega" + }, + "vegaMarketDepthUpdate": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for which the market depth updates are for." + }, + "buy": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Collection of updated price levels for the buy side of the book." + }, + "sell": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceLevel" + }, + "description": "Collection of updated price levels for the sell side of the book." + }, + "sequenceNumber": { + "type": "string", + "format": "uint64", + "description": "Sequence number for the market depth update data returned. It is increasing but not monotonic." + }, + "previousSequenceNumber": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the previous market depth update, for checking there are no gaps." + } + }, + "title": "Represents the changed market depth since the last update" + }, + "vegaMarketState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_PROPOSED", + "STATE_REJECTED", + "STATE_PENDING", + "STATE_CANCELLED", + "STATE_ACTIVE", + "STATE_SUSPENDED", + "STATE_CLOSED", + "STATE_TRADING_TERMINATED", + "STATE_SETTLED", + "STATE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, invalid\n - STATE_PROPOSED: Governance proposal valid and accepted\n - STATE_REJECTED: Outcome of governance votes is to reject the market\n - STATE_PENDING: Governance vote passes/wins\n - STATE_CANCELLED: Market triggers cancellation condition or governance\nvotes to close before market becomes Active\n - STATE_ACTIVE: Enactment date reached and usual auction exit checks pass\n - STATE_SUSPENDED: Price monitoring or liquidity monitoring trigger\n - STATE_CLOSED: Governance vote to close (Not currently implemented)\n - STATE_TRADING_TERMINATED: Defined by the product (i.e. from a product parameter,\nspecified in market definition, giving close date/time)\n - STATE_SETTLED: Settlement triggered and completed as defined by product\n - STATE_SUSPENDED_VIA_GOVERNANCE: Market has been suspended via governance", + "title": "Current state of the market" + }, + "vegaMarketStateUpdateType": { + "type": "string", + "enum": [ + "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "MARKET_STATE_UPDATE_TYPE_TERMINATE", + "MARKET_STATE_UPDATE_TYPE_SUSPEND", + "MARKET_STATE_UPDATE_TYPE_RESUME" + ], + "default": "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "title": "- MARKET_STATE_UPDATE_TYPE_UNSPECIFIED: Default value, always invalid\n - MARKET_STATE_UPDATE_TYPE_TERMINATE: Request to terminate a market via governance\n - MARKET_STATE_UPDATE_TYPE_SUSPEND: Request to suspend a market via governance\n - MARKET_STATE_UPDATE_TYPE_RESUME: Request to resume a market via governance" + }, + "vegaMarketTimestamps": { + "type": "object", + "properties": { + "proposed": { + "type": "string", + "format": "int64", + "description": "Time when the market is first proposed." + }, + "pending": { + "type": "string", + "format": "int64", + "description": "Time when the market has been voted in and began its opening auction." + }, + "open": { + "type": "string", + "format": "int64", + "description": "Time when the market has left the opening auction and is ready to accept trades." + }, + "close": { + "type": "string", + "format": "int64", + "description": "Time when the market closed." + } + }, + "title": "Time stamps for important times about creating, enacting etc the market" + }, + "vegaNetworkLimits": { + "type": "object", + "properties": { + "canProposeMarket": { + "type": "boolean", + "description": "Are market proposals allowed at this point in time." + }, + "canProposeAsset": { + "type": "boolean", + "description": "Are asset proposals allowed at this point in time." + }, + "proposeMarketEnabled": { + "type": "boolean", + "description": "Are market proposals enabled on this chain." + }, + "proposeAssetEnabled": { + "type": "boolean", + "description": "Are asset proposals enabled on this chain." + }, + "genesisLoaded": { + "type": "boolean", + "description": "True once the genesis file is loaded." + }, + "proposeMarketEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which market proposals will be enabled (0 indicates not set)." + }, + "proposeAssetEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which asset proposals will be enabled (0 indicates not set)." + }, + "canProposeSpotMarket": { + "type": "boolean", + "description": "Are spot market proposals allowed at this point in time." + }, + "canProposePerpetualMarket": { + "type": "boolean", + "description": "Are perpetual market proposals allowed at this point in time." + } + }, + "title": "Network limits, defined in the genesis file" + }, + "vegaNetworkParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Unique key of the network parameter." + }, + "value": { + "type": "string", + "description": "Value for the network parameter." + } + }, + "title": "Represents a network parameter on Vega" + }, + "vegaNewAsset": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Configuration of the new asset." + } + }, + "title": "New asset on Vega" + }, + "vegaNewFreeform": { + "type": "object", + "description": "Freeform proposal\nThis message is just used as a placeholder to sort out the nature of the\nproposal once parsed." + }, + "vegaNewMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewMarketConfiguration", + "description": "Configuration of the new market." + } + }, + "title": "New market on Vega" + }, + "vegaNewMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New futures market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new futures market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the futures market can be." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "successor": { + "$ref": "#/definitions/vegaSuccessorConfiguration", + "description": "Successor configuration. If this proposal is meant to succeed a given market, then this should be set." + } + }, + "title": "Configuration for a new futures market on Vega" + }, + "vegaNewSpotMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewSpotMarketConfiguration", + "description": "Configuration of the new spot market." + } + }, + "title": "New spot market on Vega" + }, + "vegaNewSpotMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New spot market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new spot market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the spot market can be." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration for a new spot market on Vega" + }, + "vegaNewTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewTransferConfiguration", + "description": "Configuration for a new transfer." + } + }, + "title": "New governance transfer" + }, + "vegaNewTransferConfiguration": { + "type": "object", + "properties": { + "sourceType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Source account type, such as network treasury, market insurance pool" + }, + "source": { + "type": "string", + "title": "If network treasury, field is empty, otherwise uses the market ID" + }, + "transferType": { + "$ref": "#/definitions/vegaGovernanceTransferType", + "title": "\"All or nothing\" or \"best effort\":\nAll or nothing: Transfers the specified amount or does not transfer anything\nBest effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount" + }, + "amount": { + "type": "string", + "title": "Maximum amount to transfer" + }, + "asset": { + "type": "string", + "title": "ID of asset to transfer" + }, + "fractionOfBalance": { + "type": "string", + "title": "Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance" + }, + "destinationType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool" + }, + "destination": { + "type": "string", + "title": "Specifies the account to transfer to, depending on the account type:\nNetwork treasury: leave empty\nParty: party's public key\nMarket insurance pool: market ID" + }, + "oneOff": { + "$ref": "#/definitions/vegaOneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaRecurringTransfer" + } + } + }, + "vegaNode": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Node ID i.e. the node's wallet ID." + }, + "pubKey": { + "type": "string", + "description": "Public key of the node operator." + }, + "tmPubKey": { + "type": "string", + "description": "Public key of Tendermint." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key of the node." + }, + "infoUrl": { + "type": "string", + "description": "URL where users can find out more information on the node." + }, + "location": { + "type": "string", + "description": "Country code for the location of the node." + }, + "stakedByOperator": { + "type": "string", + "description": "Amount the node operator has put up themselves. This field is an unsigned integer scaled to the asset's decimal places." + }, + "stakedByDelegates": { + "type": "string", + "description": "Amount of stake that has been delegated by token holders. This field is an unsigned integer scaled to the asset's decimal places." + }, + "stakedTotal": { + "type": "string", + "description": "Total amount staked on node. This field is an unsigned integer scaled to the asset's decimal places." + }, + "maxIntendedStake": { + "type": "string", + "description": "Max amount of (wanted) stake. This field is an unsigned integer scaled to the asset's decimal places." + }, + "pendingStake": { + "type": "string", + "description": "Amount of stake on the next epoch. This field is an unsigned integer scaled to the asset's decimal places." + }, + "epochData": { + "$ref": "#/definitions/vegaEpochData", + "description": "Information about epoch." + }, + "status": { + "$ref": "#/definitions/vegaNodeStatus", + "description": "Node status." + }, + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDelegation" + }, + "description": "Node's delegations." + }, + "rewardScore": { + "$ref": "#/definitions/vegaRewardScore", + "description": "Node reward score." + }, + "rankingScore": { + "$ref": "#/definitions/vegaRankingScore", + "description": "Node ranking information." + }, + "name": { + "type": "string", + "description": "Node name." + }, + "avatarUrl": { + "type": "string", + "description": "Avatar url." + } + } + }, + "vegaNodeData": { + "type": "object", + "properties": { + "stakedTotal": { + "type": "string", + "description": "Total staked amount across all nodes. This field is an unsigned integer scaled to the asset's decimal places." + }, + "totalNodes": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes across all node sets." + }, + "inactiveNodes": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes that had a performance score of 0 at the end of the last epoch." + }, + "tendermintNodes": { + "$ref": "#/definitions/vegaNodeSet", + "description": "Details on the set of consensus nodes in the network." + }, + "ersatzNodes": { + "$ref": "#/definitions/vegaNodeSet", + "description": "Details on the set of ersatz (standby) nodes in the network." + }, + "pendingNodes": { + "$ref": "#/definitions/vegaNodeSet", + "description": "Details on the set of pending nodes in the network." + }, + "uptime": { + "type": "number", + "format": "float", + "description": "Total uptime for all epochs across all nodes." + } + } + }, + "vegaNodeSet": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes in the node set." + }, + "inactive": { + "type": "integer", + "format": "int64", + "description": "Number of nodes in the node set that had a performance score of 0 at the end of the last epoch." + }, + "promoted": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IDs of nodes that were promoted into this node set at the start of the epoch." + }, + "demoted": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IDs of nodes that were demoted into this node set at the start of the epoch." + }, + "maximum": { + "type": "integer", + "format": "int64", + "description": "Total number of nodes allowed in the node set." + } + }, + "title": "Details on the collection of nodes for a particular validator status" + }, + "vegaNodeStatus": { + "type": "string", + "enum": [ + "NODE_STATUS_UNSPECIFIED", + "NODE_STATUS_VALIDATOR", + "NODE_STATUS_NON_VALIDATOR" + ], + "default": "NODE_STATUS_UNSPECIFIED", + "description": "- NODE_STATUS_VALIDATOR: Node is a validating node\n - NODE_STATUS_NON_VALIDATOR: Node is a non-validating node", + "title": "Node status type" + }, + "vegaNormaliser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "expression": { + "type": "string" + } + } + }, + "vegaOneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegaOracleData": { + "type": "object", + "properties": { + "externalData": { + "$ref": "#/definitions/v1ExternalData" + } + } + }, + "vegaOracleSpec": { + "type": "object", + "properties": { + "externalDataSourceSpec": { + "$ref": "#/definitions/vegaExternalDataSourceSpec" + } + }, + "title": "Oracle spec contains an embedded external data source spec.\nIt will be generated by the compiler as: OracleSpec_ExternalDataSourceSpec_*" + }, + "vegaOrder": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID generated for the order." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "partyId": { + "type": "string", + "description": "Party ID for the order." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of contracts." + }, + "remaining": { + "type": "string", + "format": "uint64", + "description": "Size remaining, when this reaches 0 then the order is fully filled and status becomes STATUS_FILLED." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "title": "Time in force indicates how long an order will remain active before it is executed or expires.\n- See OrderTimeInForce" + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the order was created at, in nanoseconds." + }, + "status": { + "$ref": "#/definitions/vegaOrderStatus", + "description": "Current status of the order." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire." + }, + "reference": { + "type": "string", + "description": "Reference given for the order." + }, + "reason": { + "$ref": "#/definitions/vegaOrderError", + "description": "Futher details for why an order with status `STATUS_REJECTED` was rejected." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was last updated." + }, + "version": { + "type": "string", + "format": "uint64", + "description": "Version for the order, initial value is version 1 and is incremented after each successful amend." + }, + "batchId": { + "type": "string", + "format": "uint64", + "description": "Batch ID for the order, used internally for orders submitted during auctions\nto keep track of the auction batch this order falls under. Required for fees calculation." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Pegged order details, used only if the order represents a pegged order." + }, + "liquidityProvisionId": { + "type": "string", + "description": "Set if the order was created as part of a liquidity provision, will be empty if not." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOrder": { + "$ref": "#/definitions/vegaIcebergOrder", + "title": "Details of an iceberg order" + } + }, + "title": "Orders can be submitted, amended and cancelled on Vega in an attempt to make trades with other parties" + }, + "vegaOrderError": { + "type": "string", + "enum": [ + "ORDER_ERROR_UNSPECIFIED", + "ORDER_ERROR_INVALID_MARKET_ID", + "ORDER_ERROR_INVALID_ORDER_ID", + "ORDER_ERROR_OUT_OF_SEQUENCE", + "ORDER_ERROR_INVALID_REMAINING_SIZE", + "ORDER_ERROR_TIME_FAILURE", + "ORDER_ERROR_REMOVAL_FAILURE", + "ORDER_ERROR_INVALID_EXPIRATION_DATETIME", + "ORDER_ERROR_INVALID_ORDER_REFERENCE", + "ORDER_ERROR_EDIT_NOT_ALLOWED", + "ORDER_ERROR_AMEND_FAILURE", + "ORDER_ERROR_NOT_FOUND", + "ORDER_ERROR_INVALID_PARTY_ID", + "ORDER_ERROR_MARKET_CLOSED", + "ORDER_ERROR_MARGIN_CHECK_FAILED", + "ORDER_ERROR_MISSING_GENERAL_ACCOUNT", + "ORDER_ERROR_INTERNAL_ERROR", + "ORDER_ERROR_INVALID_SIZE", + "ORDER_ERROR_INVALID_PERSISTENCE", + "ORDER_ERROR_INVALID_TYPE", + "ORDER_ERROR_SELF_TRADING", + "ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES", + "ORDER_ERROR_INCORRECT_MARKET_TYPE", + "ORDER_ERROR_INVALID_TIME_IN_FORCE", + "ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION", + "ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING", + "ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT", + "ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT", + "ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT", + "ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC", + "ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN", + "ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN", + "ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION", + "ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION", + "ORDER_ERROR_MUST_BE_LIMIT_ORDER", + "ORDER_ERROR_MUST_BE_GTT_OR_GTC", + "ORDER_ERROR_WITHOUT_REFERENCE_PRICE", + "ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE", + "ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO", + "ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE", + "ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO", + "ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE", + "ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER", + "ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER", + "ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER", + "ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS", + "ORDER_ERROR_TOO_MANY_PEGGED_ORDERS", + "ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE", + "ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION" + ], + "default": "ORDER_ERROR_UNSPECIFIED", + "description": "- ORDER_ERROR_UNSPECIFIED: Default value, no error reported\n - ORDER_ERROR_INVALID_MARKET_ID: Order was submitted for a market that does not exist\n - ORDER_ERROR_INVALID_ORDER_ID: Order was submitted with an invalid ID\n - ORDER_ERROR_OUT_OF_SEQUENCE: Order was amended with a sequence number that was not previous version + 1\n - ORDER_ERROR_INVALID_REMAINING_SIZE: Order was amended with an invalid remaining size (e.g. remaining greater than total size)\n - ORDER_ERROR_TIME_FAILURE: Node was unable to get Vega (blockchain) time\n - ORDER_ERROR_REMOVAL_FAILURE: Failed to remove an order from the book\n - ORDER_ERROR_INVALID_EXPIRATION_DATETIME: Order with `TimeInForce.TIME_IN_FORCE_GTT` was submitted or amended\nwith an expiration that was badly formatted or otherwise invalid\n - ORDER_ERROR_INVALID_ORDER_REFERENCE: Order was submitted or amended with an invalid reference field\n - ORDER_ERROR_EDIT_NOT_ALLOWED: Order amend was submitted for an order field that cannot not be amended (e.g. order ID)\n - ORDER_ERROR_AMEND_FAILURE: Amend failure because amend details do not match original order\n - ORDER_ERROR_NOT_FOUND: Order not found in an order book or store\n - ORDER_ERROR_INVALID_PARTY_ID: Order was submitted with an invalid or missing party ID\n - ORDER_ERROR_MARKET_CLOSED: Order was submitted for a market that has closed\n - ORDER_ERROR_MARGIN_CHECK_FAILED: Order was submitted, but the party did not have enough collateral to cover the order\n - ORDER_ERROR_MISSING_GENERAL_ACCOUNT: Order was submitted, but the party did not have an account for this asset\n - ORDER_ERROR_INTERNAL_ERROR: Unspecified internal error\n - ORDER_ERROR_INVALID_SIZE: Order was submitted with an invalid or missing size (e.g. 0)\n - ORDER_ERROR_INVALID_PERSISTENCE: Order was submitted with an invalid persistence for its type\n - ORDER_ERROR_INVALID_TYPE: Order was submitted with an invalid type field\n - ORDER_ERROR_SELF_TRADING: Order was stopped as it would have traded with another order submitted from the same party\n - ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES: Order was submitted, but the party did not have enough collateral to cover the fees for the order\n - ORDER_ERROR_INCORRECT_MARKET_TYPE: Order was submitted with an incorrect or invalid market type\n - ORDER_ERROR_INVALID_TIME_IN_FORCE: Order was submitted with invalid time in force\n - ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION: Good For Normal order has reached the market when it is in auction mode\n - ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING: Good For Auction order has reached the market when it is in continuous trading mode\n - ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT: Attempt to amend order to GTT without ExpiryAt\n - ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT: Attempt to amend ExpiryAt to a value before CreatedAt\n - ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT: Attempt to amend to GTC without an ExpiryAt value\n - ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC: Amending to FOK or IOC is invalid\n - ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN: Amending to GFA or GFN is invalid\n - ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN: Amending from GFA or GFN is invalid\n - ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION: IOC orders are not allowed during auction\n - ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION: FOK orders are not allowed during auction\n - ORDER_ERROR_MUST_BE_LIMIT_ORDER: Pegged orders must be LIMIT orders\n - ORDER_ERROR_MUST_BE_GTT_OR_GTC: Pegged orders can only have TIF GTC or GTT\n - ORDER_ERROR_WITHOUT_REFERENCE_PRICE: Pegged order must have a reference price\n - ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE: Buy pegged order cannot reference best ask price\n - ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO: Pegged order offset must be \u003e= 0\n - ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE: Sell pegged order cannot reference best bid price\n - ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO: Pegged order offset must be \u003e zero\n - ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE: Party has an insufficient balance, or does not have\na general account to submit the order (no deposits made\nfor the required asset)\n - ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER: Cannot amend details of a non pegged details\n - ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER: Could not re-price a pegged order because a market price is unavailable\n - ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER: It is not possible to amend the price of an existing pegged order\n - ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS: FOK, IOC, or GFN order was rejected because it resulted in trades outside the price bounds\n - ORDER_ERROR_TOO_MANY_PEGGED_ORDERS: Unable to submit pegged order, temporarily too many pegged orders across all markets\n - ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE: Post order would trade\n - ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION: Post order would trade", + "title": "OrderError codes are returned in the Order.reason field - If there is an issue\nwith an order during its life-cycle, it will be marked with `status.ORDER_STATUS_REJECTED`" + }, + "vegaOrderStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_EXPIRED", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_FILLED", + "STATUS_REJECTED", + "STATUS_PARTIALLY_FILLED", + "STATUS_PARKED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_ACTIVE: Used for active unfilled or partially filled orders\n - STATUS_EXPIRED: Used for expired GTT orders\n - STATUS_CANCELLED: Used for orders cancelled by the party that created the order\n - STATUS_STOPPED: Used for unfilled FOK or IOC orders, and for orders that were stopped by the network\n - STATUS_FILLED: Used for closed fully filled orders\n - STATUS_REJECTED: Used for orders when not enough collateral was available to fill the margin requirements\n - STATUS_PARTIALLY_FILLED: Used for closed partially filled IOC orders\n - STATUS_PARKED: Order has been removed from the order book and has been parked,\nthis applies to pegged orders and liquidity orders (orders created from a liquidity provision shape)", + "title": "Status values for an order" + }, + "vegaOrderType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LIMIT", + "TYPE_MARKET", + "TYPE_NETWORK" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_LIMIT: Used for Limit orders\n - TYPE_MARKET: Used for Market orders\n - TYPE_NETWORK: Used for orders where the initiating party is the network (with distressed parties)", + "title": "Type values for an order" + }, + "vegaParty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the party, typically represented by a public key." + } + }, + "title": "Party represents an entity who wishes to trade on or query a Vega network" + }, + "vegaPeggedOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Price point the order is linked to." + }, + "offset": { + "type": "string", + "description": "Offset from the price reference." + } + }, + "title": "Pegged orders are limit orders where the price is specified in the form REFERENCE +/- OFFSET\nThey can be used for any limit order that is valid during continuous trading" + }, + "vegaPeggedReference": { + "type": "string", + "enum": [ + "PEGGED_REFERENCE_UNSPECIFIED", + "PEGGED_REFERENCE_MID", + "PEGGED_REFERENCE_BEST_BID", + "PEGGED_REFERENCE_BEST_ASK" + ], + "default": "PEGGED_REFERENCE_UNSPECIFIED", + "description": "- PEGGED_REFERENCE_UNSPECIFIED: Default value for PeggedReference, no reference given\n - PEGGED_REFERENCE_MID: Mid price reference\n - PEGGED_REFERENCE_BEST_BID: Best bid price reference\n - PEGGED_REFERENCE_BEST_ASK: Best ask price reference", + "title": "Pegged reference defines which price point a pegged order is linked to - meaning\nthe price for a pegged order is calculated from the value of the reference price point" + }, + "vegaPerpetual": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the perpetual." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product definition" + }, + "vegaPerpetualProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaPosition": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID in which the position is held." + }, + "partyId": { + "type": "string", + "description": "Party ID holding the position." + }, + "openVolume": { + "type": "string", + "format": "int64", + "description": "Open volume for the position, value is signed +ve for long and -ve for short." + }, + "realisedPnl": { + "type": "string", + "description": "Realised profit and loss for the position, value is signed +ve for long and -ve for short.\nThis field is a signed integer scaled to the market's decimal places." + }, + "unrealisedPnl": { + "type": "string", + "description": "Unrealised profit and loss for the position, value is signed +ve for long and -ve for short.\nThis field is a signed integer scaled to the market's decimal places." + }, + "averageEntryPrice": { + "type": "string", + "description": "Average entry price for the position, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp for the latest time the position was updated." + }, + "lossSocialisationAmount": { + "type": "string", + "description": "Sum of profit that could not be paid due to loss socialisation." + }, + "positionStatus": { + "$ref": "#/definitions/vegaPositionStatus", + "description": "Position status, indicating whether the party was distressed and had orders cancelled or was closed out." + } + }, + "title": "Represents position data for a party on the specified market on Vega" + }, + "vegaPositionStatus": { + "type": "string", + "enum": [ + "POSITION_STATUS_UNSPECIFIED", + "POSITION_STATUS_ORDERS_CLOSED", + "POSITION_STATUS_CLOSED_OUT", + "POSITION_STATUS_DISTRESSED" + ], + "default": "POSITION_STATUS_UNSPECIFIED", + "title": "Represents the status of a position" + }, + "vegaPostTransferBalance": { + "type": "object", + "properties": { + "account": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "Account relating to the transfer." + }, + "balance": { + "type": "string", + "description": "Balance relating to the transfer. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents the balance for an account during a transfer" + }, + "vegaPriceLevel": { + "type": "object", + "properties": { + "price": { + "type": "string", + "description": "Price for the price level, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places. This field\nis an unsigned integer passed as a string and needs to be scaled using the market's decimal places." + }, + "numberOfOrders": { + "type": "string", + "format": "uint64", + "description": "Number of orders at the price level." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Volume at the price level." + } + }, + "title": "Represents a price level from market depth or order book data" + }, + "vegaPriceMonitoringBounds": { + "type": "object", + "properties": { + "minValidPrice": { + "type": "string", + "description": "Minimum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "maxValidPrice": { + "type": "string", + "description": "Maximum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "trigger": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger", + "description": "Price monitoring trigger associated with the bounds." + }, + "referencePrice": { + "type": "string", + "description": "Reference price used to calculate the valid price range. This field is an unsigned integer scaled to the market's decimal places." + } + }, + "title": "Represents a list of valid (at the current timestamp) price ranges per associated trigger" + }, + "vegaPriceMonitoringParameters": { + "type": "object", + "properties": { + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger" + } + } + }, + "title": "PriceMonitoringParameters contains a collection of triggers to be used for a given market" + }, + "vegaPriceMonitoringSettings": { + "type": "object", + "properties": { + "parameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Specifies price monitoring parameters to be used for price monitoring purposes." + } + }, + "title": "PriceMonitoringSettings contains the settings for price monitoring" + }, + "vegaPriceMonitoringTrigger": { + "type": "object", + "properties": { + "horizon": { + "type": "string", + "format": "int64", + "description": "Price monitoring projection horizon τ in seconds." + }, + "probability": { + "type": "string", + "description": "Price monitoring probability level p." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Price monitoring auction extension duration in seconds should the price\nbreach its theoretical level over the specified horizon at the specified\nprobability level." + } + }, + "title": "PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration" + }, + "vegaProposal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique proposal ID." + }, + "reference": { + "type": "string", + "description": "Proposal reference." + }, + "partyId": { + "type": "string", + "description": "Party ID i.e. public key of the party submitting the proposal." + }, + "state": { + "$ref": "#/definitions/vegaProposalState", + "description": "Current state of the proposal, i.e. open, passed, failed etc." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Proposal timestamp for date and time as Unix time in nanoseconds when proposal was submitted to the network." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "reason": { + "$ref": "#/definitions/vegaProposalError", + "description": "Reason for the current state of the proposal, this may be set in case of REJECTED and FAILED statuses." + }, + "errorDetails": { + "type": "string", + "description": "Detailed error associated to the reason." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + }, + "requiredParticipation": { + "type": "string", + "description": "Required vote participation for this proposal." + }, + "requiredMajority": { + "type": "string", + "description": "Required majority for this proposal." + }, + "requiredLiquidityProviderParticipation": { + "type": "string", + "description": "Required participation from liquidity providers, optional but is required for market update proposal." + }, + "requiredLiquidityProviderMajority": { + "type": "string", + "description": "Required majority from liquidity providers, optional but is required for market update proposal." + } + }, + "title": "Governance proposal" + }, + "vegaProposalError": { + "type": "string", + "enum": [ + "PROPOSAL_ERROR_UNSPECIFIED", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE", + "PROPOSAL_ERROR_ENACT_TIME_TOO_SOON", + "PROPOSAL_ERROR_ENACT_TIME_TOO_LATE", + "PROPOSAL_ERROR_INSUFFICIENT_TOKENS", + "PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY", + "PROPOSAL_ERROR_NO_PRODUCT", + "PROPOSAL_ERROR_UNSUPPORTED_PRODUCT", + "PROPOSAL_ERROR_NO_TRADING_MODE", + "PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE", + "PROPOSAL_ERROR_NODE_VALIDATION_FAILED", + "PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD", + "PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS", + "PROPOSAL_ERROR_INVALID_ASSET", + "PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS", + "PROPOSAL_ERROR_NO_RISK_PARAMETERS", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE", + "PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE", + "PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET", + "PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT", + "PROPOSAL_ERROR_INVALID_RISK_PARAMETER", + "PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_INVALID_ASSET_DETAILS", + "PROPOSAL_ERROR_UNKNOWN_TYPE", + "PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE", + "PROPOSAL_ERROR_INVALID_FREEFORM", + "PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE", + "PROPOSAL_ERROR_INVALID_MARKET", + "PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES", + "PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS", + "PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE", + "PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_INVALID_SPOT", + "PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED", + "PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE", + "PROPOSAL_ERROR_INVALID_SLA_PARAMS", + "PROPOSAL_ERROR_MISSING_SLA_PARAMS", + "PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT" + ], + "default": "PROPOSAL_ERROR_UNSPECIFIED", + "description": "- PROPOSAL_ERROR_UNSPECIFIED: Default value\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON: Specified close time is too early based on network parameters\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE: Specified close time is too late based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_SOON: Specified enactment time is too early based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_LATE: Specified enactment time is too late based on network parameters\n - PROPOSAL_ERROR_INSUFFICIENT_TOKENS: Proposer for this proposal has insufficient tokens\n - PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY: Instrument quote name and base name were the same\n - PROPOSAL_ERROR_NO_PRODUCT: Proposal has no product\n - PROPOSAL_ERROR_UNSUPPORTED_PRODUCT: Specified product is not supported\n - PROPOSAL_ERROR_NO_TRADING_MODE: Proposal has no trading mode\n - PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE: Proposal has an unsupported trading mode\n - PROPOSAL_ERROR_NODE_VALIDATION_FAILED: Proposal failed node validation\n - PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD: Field is missing in a builtin asset source\n - PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS: Contract address is missing in the ERC20 asset source\n - PROPOSAL_ERROR_INVALID_ASSET: Asset ID is invalid or does not exist on the Vega network\n - PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS: Proposal terms timestamps are not compatible (Validation \u003c Closing \u003c Enactment)\n - PROPOSAL_ERROR_NO_RISK_PARAMETERS: No risk parameters were specified\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY: Invalid key in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE: Invalid value in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED: Validation failed for network parameter proposal\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL: Opening auction duration is less than the network minimum opening auction time\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE: Opening auction duration is more than the network minimum opening auction time\n - PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET: Market proposal market could not be instantiated in execution\n - PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT: Market proposal market contained invalid product definition\n - PROPOSAL_ERROR_INVALID_RISK_PARAMETER: Market proposal has invalid risk parameter\n - PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED: Proposal was declined because vote didn't reach the majority threshold required\n - PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED: Proposal declined because the participation threshold was not reached\n - PROPOSAL_ERROR_INVALID_ASSET_DETAILS: Asset proposal has invalid asset details\n - PROPOSAL_ERROR_UNKNOWN_TYPE: Proposal is an unknown type\n - PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE: Proposal has an unknown risk parameter type\n - PROPOSAL_ERROR_INVALID_FREEFORM: Validation failed for freeform proposal\n - PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE: Party doesn't have enough equity-like share to propose an update on the market\ntargeted by the proposal\n - PROPOSAL_ERROR_INVALID_MARKET: Market targeted by the proposal does not exist or is not eligible for modification\n - PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES: Market proposal decimal place is higher than the market settlement asset decimal places\n - PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE: LP price range must be larger than 0\n - PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE: LP price range must not be larger than 100\n - PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE: Linear slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE: Quadratic slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_INVALID_SPOT: Validation failed for spot proposal\n - PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED: Spot trading not enabled\n - PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET: Market proposal is invalid, either invalid insurance pool fraction, or it specifies a parent market that it can't succeed.\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED: Governance transfer proposal is invalid\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID: Governance transfer proposal failed\n - PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID: Proposal for cancelling transfer is invalid, check proposal ID\n - PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE: Proposal for updating market state is invalid\n - PROPOSAL_ERROR_INVALID_SLA_PARAMS: Liquidity provision SLA parameters are invalid\n - PROPOSAL_ERROR_MISSING_SLA_PARAMS: Mandatory liquidity provision SLA parameters are missing\n - PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT: Perpetual market proposal contained invalid product definition", + "title": "List of possible errors that can cause a proposal to be in state rejected or failed" + }, + "vegaProposalRationale": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description to show a short title / something in case the link goes offline.\nThis is to be between 0 and 20k unicode characters.\nThis is mandatory for all proposals." + }, + "title": { + "type": "string", + "description": "Title to be used to give a short description of the proposal in lists.\nThis is to be between 0 and 100 unicode characters.\nThis is mandatory for all proposals." + } + }, + "description": "Rationale behind a proposal." + }, + "vegaProposalState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_FAILED", + "STATE_OPEN", + "STATE_PASSED", + "STATE_REJECTED", + "STATE_DECLINED", + "STATE_ENACTED", + "STATE_WAITING_FOR_NODE_VOTE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, always invalid\n - STATE_FAILED: Proposal enactment has failed - even though proposal has passed, its execution could not be performed\n - STATE_OPEN: Proposal is open for voting\n - STATE_PASSED: Proposal has gained enough support to be executed\n - STATE_REJECTED: Proposal wasn't accepted i.e. proposal terms failed validation due to wrong configuration or failed to meet network requirements.\n - STATE_DECLINED: Proposal didn't get enough votes, e.g. either failed to gain required participation or majority level.\n - STATE_ENACTED: Proposal enacted\n - STATE_WAITING_FOR_NODE_VOTE: Waiting for node validation of the proposal", + "title": "Proposal state transition:\nOpen -\u003e\n - Passed -\u003e Enacted.\n - Passed -\u003e Failed.\n - Declined\nRejected\nProposal can enter Failed state from any other state" + }, + "vegaProposalTerms": { + "type": "object", + "properties": { + "closingTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when voting closes for this proposal,\nconstrained by `minClose` and `maxClose` network parameters." + }, + "enactmentTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when proposal gets enacted if passed,\nconstrained by `minEnact` and `maxEnact` network parameters." + }, + "validationTimestamp": { + "type": "string", + "format": "int64", + "description": "Validation timestamp as Unix time in seconds." + }, + "updateMarket": { + "$ref": "#/definitions/vegaUpdateMarket", + "description": "Proposal change for modifying an existing futures market on Vega." + }, + "newMarket": { + "$ref": "#/definitions/vegaNewMarket", + "description": "Proposal change for creating new futures market on Vega." + }, + "updateNetworkParameter": { + "$ref": "#/definitions/vegaUpdateNetworkParameter", + "description": "Proposal change for updating Vega network parameters." + }, + "newAsset": { + "$ref": "#/definitions/vegaNewAsset", + "description": "Proposal change for creating new assets on Vega." + }, + "newFreeform": { + "$ref": "#/definitions/vegaNewFreeform", + "description": "Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system,\nand can be used to gauge community sentiment." + }, + "updateAsset": { + "$ref": "#/definitions/vegaUpdateAsset", + "description": "Proposal change for updating an asset." + }, + "newSpotMarket": { + "$ref": "#/definitions/vegaNewSpotMarket", + "description": "Proposal change for creating new spot market on Vega." + }, + "updateSpotMarket": { + "$ref": "#/definitions/vegaUpdateSpotMarket", + "description": "Proposal change for modifying an existing spot market on Vega." + }, + "newTransfer": { + "$ref": "#/definitions/vegaNewTransfer", + "description": "Proposal change for a governance transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/vegaCancelTransfer", + "description": "Cancel a governance transfer." + }, + "updateMarketState": { + "$ref": "#/definitions/vegaUpdateMarketState", + "description": "Proposal change for updating the state of a market." + } + }, + "title": "Terms for a governance proposal on Vega" + }, + "vegaRankingScore": { + "type": "object", + "properties": { + "stakeScore": { + "type": "string", + "description": "Stake based score - no anti-whaling." + }, + "performanceScore": { + "type": "string", + "description": "Performance based score." + }, + "previousStatus": { + "$ref": "#/definitions/vegaValidatorNodeStatus", + "description": "Status of the validator in the previous epoch." + }, + "status": { + "$ref": "#/definitions/vegaValidatorNodeStatus", + "description": "Status of the validator in the current epoch." + }, + "votingPower": { + "type": "integer", + "format": "int64", + "description": "Tendermint voting power of the validator." + }, + "rankingScore": { + "type": "string", + "description": "Final score." + } + } + }, + "vegaRecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegaReward": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID in which the reward is being paid." + }, + "partyId": { + "type": "string", + "description": "Party ID to whom the reward is being paid." + }, + "epoch": { + "type": "string", + "format": "uint64", + "description": "Epoch in which the reward is being paid." + }, + "amount": { + "type": "string", + "description": "Amount paid as a reward. This field is an unsigned integer scaled to the asset's decimal places." + }, + "percentageOfTotal": { + "type": "string", + "description": "Percentage of total rewards paid in the epoch." + }, + "receivedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp at which the reward was paid as Unix nano time." + }, + "marketId": { + "type": "string", + "description": "Market ID in which the reward is being paid." + }, + "rewardType": { + "type": "string", + "description": "Type of reward being paid." + } + }, + "title": "Details for a single reward payment" + }, + "vegaRewardScore": { + "type": "object", + "properties": { + "rawValidatorScore": { + "type": "string", + "description": "Stake based score - with anti-whaling." + }, + "performanceScore": { + "type": "string", + "description": "Performance based score." + }, + "multisigScore": { + "type": "string", + "description": "Multisig score." + }, + "validatorScore": { + "type": "string", + "description": "Un-normalised score." + }, + "normalisedScore": { + "type": "string", + "description": "Normalised validator score for rewards." + }, + "validatorStatus": { + "$ref": "#/definitions/vegaValidatorNodeStatus", + "description": "Status of the validator for reward." + } + } + }, + "vegaRewardSummary": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID in which the reward is being paid." + }, + "partyId": { + "type": "string", + "description": "Party ID to whom the reward is being paid." + }, + "amount": { + "type": "string", + "description": "Total amount of rewards paid in the asset. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Details for rewards for a single asset" + }, + "vegaRiskFactor": { + "type": "object", + "properties": { + "market": { + "type": "string", + "description": "Market ID that relates to this risk factor." + }, + "short": { + "type": "string", + "description": "Short Risk factor value." + }, + "long": { + "type": "string", + "description": "Long Risk factor value." + } + }, + "title": "Risk factors are used to calculate the current risk associated with orders trading on a given market" + }, + "vegaScalingFactors": { + "type": "object", + "properties": { + "searchLevel": { + "type": "number", + "format": "double", + "description": "Collateral search level. If collateral dips below this value,\nthe system will search for collateral to release." + }, + "initialMargin": { + "type": "number", + "format": "double", + "description": "Initial margin level. This is the minimum amount of collateral\nrequired to open a position in a market that requires margin." + }, + "collateralRelease": { + "type": "number", + "format": "double", + "description": "Collateral release level. If a trader has collateral above this level,\nthe system will release collateral to a trader's general collateral account\nfor the asset." + } + }, + "title": "Scaling Factors (for use in margin calculation)" + }, + "vegaSide": { + "type": "string", + "enum": [ + "SIDE_UNSPECIFIED", + "SIDE_BUY", + "SIDE_SELL" + ], + "default": "SIDE_UNSPECIFIED", + "description": "- SIDE_UNSPECIFIED: Default value, always invalid\n - SIDE_BUY: Buy order\n - SIDE_SELL: Sell order", + "title": "Side relates to the direction of an order, to Buy, or Sell" + }, + "vegaSimpleModelParams": { + "type": "object", + "properties": { + "factorLong": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for long." + }, + "factorShort": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for short." + }, + "maxMoveUp": { + "type": "number", + "format": "double", + "description": "Pre-defined maximum price move up that the model considers as valid." + }, + "minMoveDown": { + "type": "number", + "format": "double", + "description": "Pre-defined minimum price move down that the model considers as valid." + }, + "probabilityOfTrading": { + "type": "number", + "format": "double", + "description": "Pre-defined constant probability of trading." + } + }, + "title": "Risk model parameters for simple modelling" + }, + "vegaSimpleRiskModel": { + "type": "object", + "properties": { + "params": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Risk model params for simple modelling." + } + }, + "title": "Risk model for simple modelling" + }, + "vegaSpot": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Asset ID of the underlying base asset for the spot product." + }, + "quoteAsset": { + "type": "string", + "description": "Asset ID of the underlying quote asset for the spot product." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + } + }, + "title": "Spot product definition" + }, + "vegaSpotProduct": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Base asset ID." + }, + "quoteAsset": { + "type": "string", + "description": "Quote asset ID." + }, + "name": { + "type": "string", + "description": "Product name." + } + }, + "title": "Spot product configuration" + }, + "vegaStopOrder": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "ID of this stop order\nalso the ID of the associated order if it is ever triggered" + }, + "ocoLinkId": { + "type": "string", + "title": "The ID of the 'other' part of the OCO if 2 stop orders were submitted at once" + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "triggerDirection": { + "$ref": "#/definitions/StopOrderTriggerDirection", + "description": "Trigger direction for this stop order." + }, + "status": { + "$ref": "#/definitions/vegaStopOrderStatus", + "description": "Status of the stop order." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Creation time of the stop order." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Last update of this stop order." + }, + "orderId": { + "type": "string", + "description": "ID of the order created once the trigger is hit." + }, + "partyId": { + "type": "string", + "description": "ID of the party that submitted this stop order." + }, + "marketId": { + "type": "string", + "description": "ID of the market the stop order is submitted to." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "title": "Trailing percentage at which the order will be submitted.\nThis should be expressed as a decimal value between 0 and 1, e.g. 0.01 for 1%" + } + } + }, + "vegaStopOrderStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_TRIGGERED", + "STATUS_EXPIRED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Never valid\n - STATUS_PENDING: Pending to be executed once the trigger is breached\n - STATUS_CANCELLED: Cancelled by the user\n - STATUS_STOPPED: Stopped by the network, e.g: OCO on the other side has been triggered\n - STATUS_TRIGGERED: Stop order has been triggered and generated an order\n - STATUS_EXPIRED: Stop order has expired\n - STATUS_REJECTED: Stop order was rejected at submission" + }, + "vegaSuccessorConfiguration": { + "type": "object", + "properties": { + "parentMarketId": { + "type": "string", + "description": "ID of the market that the successor should take over from." + }, + "insurancePoolFraction": { + "type": "string", + "description": "A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor." + } + }, + "description": "Configuration required to turn a new market proposal in to a successor market proposal." + }, + "vegaTargetStakeParameters": { + "type": "object", + "properties": { + "timeWindow": { + "type": "string", + "format": "int64", + "description": "Specifies length of time window expressed in seconds for target stake calculation." + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Specifies scaling factors used in target stake calculation." + } + }, + "title": "TargetStakeParameters contains parameters used in target stake calculation" + }, + "vegaTradableInstrument": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrument", + "description": "Details for the underlying instrument." + }, + "marginCalculator": { + "$ref": "#/definitions/vegaMarginCalculator", + "description": "Margin calculator for the instrument." + }, + "logNormalRiskModel": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal." + }, + "simpleRiskModel": { + "$ref": "#/definitions/vegaSimpleRiskModel", + "description": "Simple." + } + }, + "title": "Tradable Instrument definition" + }, + "vegaTrade": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the trade." + }, + "marketId": { + "type": "string", + "description": "Market ID on which the trade occurred." + }, + "price": { + "type": "string", + "description": "Price for the trade, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size filled for the trade." + }, + "buyer": { + "type": "string", + "description": "Unique party ID for the buyer." + }, + "seller": { + "type": "string", + "description": "Unique party ID for the seller." + }, + "aggressor": { + "$ref": "#/definitions/vegaSide", + "description": "Direction of the aggressive party e.g. SIDE_BUY or SIDE_SELL." + }, + "buyOrder": { + "type": "string", + "description": "Identifier of the order from the buy side." + }, + "sellOrder": { + "type": "string", + "description": "Identifier of the order from the sell side." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the trade occurred." + }, + "type": { + "$ref": "#/definitions/vegaTradeType", + "description": "Type for the trade." + }, + "buyerFee": { + "$ref": "#/definitions/vegaFee", + "description": "Fee amount charged to the buyer party for the trade." + }, + "sellerFee": { + "$ref": "#/definitions/vegaFee", + "description": "Fee amount charged to the seller party for the trade." + }, + "buyerAuctionBatch": { + "type": "string", + "format": "uint64", + "description": "Auction batch number that the buy side order was placed in." + }, + "sellerAuctionBatch": { + "type": "string", + "format": "uint64", + "description": "Auction batch number that the sell side order was placed in." + } + }, + "title": "A trade occurs when an aggressive order crosses one or more passive orders on the order book for a market on Vega" + }, + "vegaTradeType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_DEFAULT", + "TYPE_NETWORK_CLOSE_OUT_GOOD", + "TYPE_NETWORK_CLOSE_OUT_BAD" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_DEFAULT: Normal trading between two parties\n - TYPE_NETWORK_CLOSE_OUT_GOOD: Trading initiated by the network with another party on the book,\nwhich helps to zero-out the positions of one or more distressed parties\n - TYPE_NETWORK_CLOSE_OUT_BAD: Trading initiated by the network with another party off the book,\nwith a distressed party in order to zero-out the position of the party", + "title": "Type values for a trade" + }, + "vegaTransferType": { + "type": "string", + "enum": [ + "TRANSFER_TYPE_UNSPECIFIED", + "TRANSFER_TYPE_LOSS", + "TRANSFER_TYPE_WIN", + "TRANSFER_TYPE_MTM_LOSS", + "TRANSFER_TYPE_MTM_WIN", + "TRANSFER_TYPE_MARGIN_LOW", + "TRANSFER_TYPE_MARGIN_HIGH", + "TRANSFER_TYPE_MARGIN_CONFISCATED", + "TRANSFER_TYPE_MAKER_FEE_PAY", + "TRANSFER_TYPE_MAKER_FEE_RECEIVE", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE", + "TRANSFER_TYPE_LIQUIDITY_FEE_PAY", + "TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE", + "TRANSFER_TYPE_BOND_LOW", + "TRANSFER_TYPE_BOND_HIGH", + "TRANSFER_TYPE_WITHDRAW", + "TRANSFER_TYPE_DEPOSIT", + "TRANSFER_TYPE_BOND_SLASHING", + "TRANSFER_TYPE_REWARD_PAYOUT", + "TRANSFER_TYPE_TRANSFER_FUNDS_SEND", + "TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE", + "TRANSFER_TYPE_CLEAR_ACCOUNT", + "TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE", + "TRANSFER_TYPE_SPOT", + "TRANSFER_TYPE_HOLDING_LOCK", + "TRANSFER_TYPE_HOLDING_RELEASE", + "TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION", + "TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE", + "TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE", + "TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY", + "TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY", + "TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT", + "TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE", + "TRANSFER_TYPE_PERP_FUNDING_LOSS", + "TRANSFER_TYPE_PERP_FUNDING_WIN" + ], + "default": "TRANSFER_TYPE_UNSPECIFIED", + "description": "- TRANSFER_TYPE_UNSPECIFIED: Default value, always invalid\n - TRANSFER_TYPE_LOSS: Funds deducted after final settlement loss\n - TRANSFER_TYPE_WIN: Funds added to general account after final settlement gain\n - TRANSFER_TYPE_MTM_LOSS: Funds deducted from margin account after mark to market loss\n - TRANSFER_TYPE_MTM_WIN: Funds added to margin account after mark to market gain\n - TRANSFER_TYPE_MARGIN_LOW: Funds transferred from general account to meet margin requirement\n - TRANSFER_TYPE_MARGIN_HIGH: Excess margin amount returned to general account\n - TRANSFER_TYPE_MARGIN_CONFISCATED: Margin confiscated from margin account to fulfil closeout\n - TRANSFER_TYPE_MAKER_FEE_PAY: Maker fee paid from general account\n - TRANSFER_TYPE_MAKER_FEE_RECEIVE: Maker fee received into general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY: Infrastructure fee paid from general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE: Infrastructure fee received into general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_PAY: Liquidity fee paid from general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE: Liquidity fee received into general account\n - TRANSFER_TYPE_BOND_LOW: Bond account funded from general account to meet required bond amount\n - TRANSFER_TYPE_BOND_HIGH: Bond returned to general account after liquidity commitment was reduced\n - TRANSFER_TYPE_WITHDRAW: Funds withdrawn from general account\n - TRANSFER_TYPE_DEPOSIT: Funds deposited to general account\n - TRANSFER_TYPE_BOND_SLASHING: Bond account penalised when liquidity commitment not met\n - TRANSFER_TYPE_REWARD_PAYOUT: Reward payout received\n - TRANSFER_TYPE_TRANSFER_FUNDS_SEND: Internal Vega network instruction for the collateral engine to move funds from a user's general account into the pending transfers pool\n - TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE: Internal Vega network instruction for the collateral engine to move funds from the pending transfers pool account into the destination account\n - TRANSFER_TYPE_CLEAR_ACCOUNT: Market-related accounts emptied because market has closed\n - TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE: Balances restored after network restart\n - TRANSFER_TYPE_SPOT: Spot trade delivery\n - TRANSFER_TYPE_HOLDING_LOCK: An internal instruction to transfer a quantity corresponding to an active spot order from a general account into a party holding account.\n - TRANSFER_TYPE_HOLDING_RELEASE: An internal instruction to transfer an excess quantity corresponding to an active spot order from a holding account into a party general account.\n - TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION: Insurance pool fraction transfer from parent to successor market.\n - TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE: Allocates liquidity fee earnings to each liquidity provider's network controlled liquidity fee account.\n - TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE: Distributes net fee earnings from liquidity provider's fee account to their general account.\n - TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY: Applies SLA penalty by moving funds from party's bond account to market's insurance pool.\n - TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY: Applies SLA penalty by moving funds from the liquidity provider's fee account to market insurance pool.\n - TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT: Collects penalties from the liquidity provider's fee account before the fee revenue is paid, and transfers it to the market's bonus distribution account.\n - TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE: Distributes performance bonus from market bonus to liquidity provider's general account.\n - TRANSFER_TYPE_PERP_FUNDING_LOSS: Funds deducted from margin account after a perpetuals funding loss.\n - TRANSFER_TYPE_PERP_FUNDING_WIN: Funds added to margin account after a perpetuals funding gain.", + "title": "Transfers can occur between parties on Vega, these are the types that indicate why a transfer took place" + }, + "vegaUpdateAsset": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaAssetDetailsUpdate", + "description": "Changes to apply on an existing asset." + } + }, + "title": "Update an existing asset on Vega" + }, + "vegaUpdateFutureProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data of settlement data." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data source for trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "The binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaUpdateInstrumentConfiguration": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaUpdateFutureProduct", + "description": "Future." + }, + "perpetual": { + "$ref": "#/definitions/vegaUpdatePerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaUpdateMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateMarketConfiguration", + "description": "Updated configuration of the futures market." + } + }, + "title": "Update an existing market on Vega" + }, + "vegaUpdateMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaUpdateInstrumentConfiguration", + "description": "Updated futures market instrument configuration." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + } + }, + "title": "Configuration to update a futures market on Vega" + }, + "vegaUpdateMarketState": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaUpdateMarketStateConfiguration", + "title": "Configuration for governance-initiated change of a market's state" + } + } + }, + "vegaUpdateMarketStateConfiguration": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "ID of the market" + }, + "updateType": { + "$ref": "#/definitions/vegaMarketStateUpdateType", + "title": "Type of the market update" + }, + "price": { + "type": "string", + "title": "Settlement price, relevant only for market termination for futures markets" + } + } + }, + "vegaUpdateNetworkParameter": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "The network parameter to update." + } + }, + "title": "Update network configuration on Vega" + }, + "vegaUpdatePerpetualProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaUpdateSpotMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateSpotMarketConfiguration", + "description": "Updated configuration of the spot market." + } + }, + "title": "Update an existing spot market on Vega" + }, + "vegaUpdateSpotMarketConfiguration": { + "type": "object", + "properties": { + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration to update a spot market on Vega" + }, + "vegaValidatorNodeStatus": { + "type": "string", + "enum": [ + "VALIDATOR_NODE_STATUS_UNSPECIFIED", + "VALIDATOR_NODE_STATUS_TENDERMINT", + "VALIDATOR_NODE_STATUS_ERSATZ", + "VALIDATOR_NODE_STATUS_PENDING" + ], + "default": "VALIDATOR_NODE_STATUS_UNSPECIFIED", + "description": "- VALIDATOR_NODE_STATUS_TENDERMINT: Node is a tendermint validator\n - VALIDATOR_NODE_STATUS_ERSATZ: Node is an ersatz validator\n - VALIDATOR_NODE_STATUS_PENDING: Node is a pending validator", + "title": "Validation status of the node" + }, + "vegaVote": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "description": "Voter's party ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Which way the party voted." + }, + "proposalId": { + "type": "string", + "description": "Proposal ID being voted on." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds when the vote was acknowledged by the network." + }, + "totalGovernanceTokenBalance": { + "type": "string", + "description": "Total number of governance token for the party that cast the vote." + }, + "totalGovernanceTokenWeight": { + "type": "string", + "description": "The weight of this vote based on the total number of governance tokens." + }, + "totalEquityLikeShareWeight": { + "type": "string", + "description": "The weight of the vote compared to the total amount of equity-like share on the market." + } + }, + "title": "Governance vote" + }, + "vegaVoteValue": { + "type": "string", + "enum": [ + "VALUE_UNSPECIFIED", + "VALUE_NO", + "VALUE_YES" + ], + "default": "VALUE_UNSPECIFIED", + "description": "- VALUE_UNSPECIFIED: Default value, always invalid\n - VALUE_NO: Vote against the proposal\n - VALUE_YES: Vote in favour of the proposal", + "title": "Vote value" + }, + "vegaWithdrawExt": { + "type": "object", + "properties": { + "erc20": { + "$ref": "#/definitions/vegaErc20WithdrawExt", + "description": "ERC20 withdrawal details." + } + }, + "title": "Withdrawal external details" + }, + "vegaWithdrawal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the withdrawal." + }, + "partyId": { + "type": "string", + "description": "Unique party ID of the user initiating the withdrawal." + }, + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to withdraw funds from." + }, + "status": { + "$ref": "#/definitions/vegaWithdrawalStatus", + "description": "Status of the withdrawal." + }, + "ref": { + "type": "string", + "description": "Reference which is used by the foreign chain\nto refer to this withdrawal." + }, + "txHash": { + "type": "string", + "description": "Hash of the foreign chain for this transaction." + }, + "createdTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the network started to process this withdrawal." + }, + "withdrawnTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the withdrawal was finalised by the network." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Withdrawal from the Vega network" + }, + "vegaWithdrawalStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_OPEN", + "STATUS_REJECTED", + "STATUS_FINALIZED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_OPEN: Withdrawal is open and being processed by the network\n - STATUS_REJECTED: Withdrawal have been cancelled\n - STATUS_FINALIZED: Withdrawal went through and is fully finalised, the funds are removed from the\nVega network and are unlocked on the foreign chain bridge, for example, on the Ethereum network", + "title": "Status of the withdrawal" + }, + "vegacommandsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegacommandsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64", + "description": "First epoch from which this transfer shall be paid." + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "factor": { + "type": "string", + "description": "Factor needs to be \u003e 0." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegacommandsv1Transfer": { + "type": "object", + "properties": { + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type from which the funds of the party\nshould be taken." + }, + "to": { + "type": "string", + "description": "Public key of the destination account." + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the destination account." + }, + "asset": { + "type": "string", + "description": "Asset ID of the asset to be transferred." + }, + "amount": { + "type": "string", + "description": "Amount to be taken from the source account. This field is an unsigned integer scaled to the asset's decimal places." + }, + "reference": { + "type": "string", + "description": "Reference to be attached to the transfer." + }, + "oneOff": { + "$ref": "#/definitions/vegacommandsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegacommandsv1RecurringTransfer" + } + }, + "title": "Transfer initiated by a party" + }, + "vegaeventsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64" + } + } + }, + "vegaeventsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64" + }, + "factor": { + "type": "string" + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy" + } + } + }, + "vegaeventsv1Transfer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "from": { + "type": "string" + }, + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType" + }, + "to": { + "type": "string" + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType" + }, + "asset": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/v1TransferStatus" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "reason": { + "type": "string" + }, + "oneOff": { + "$ref": "#/definitions/vegaeventsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaeventsv1RecurringTransfer" + }, + "oneOffGovernance": { + "$ref": "#/definitions/v1OneOffGovernanceTransfer" + }, + "recurringGovernance": { + "$ref": "#/definitions/v1RecurringGovernanceTransfer" + } + } + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/api/v1/core.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/api/v1/core.swagger.json new file mode 100644 index 000000000..ff49c4128 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/api/v1/core.swagger.json @@ -0,0 +1,6864 @@ +{ + "swagger": "2.0", + "info": { + "title": "Vega core APIs", + "version": "v0.72.1" + }, + "tags": [ + { + "name": "CoreService" + } + ], + "host": "lb.testnet.vega.xyz", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/blockchain/height": { + "get": { + "summary": "Blockchain height", + "description": "Get the height of the last tendermint block", + "operationId": "CoreService_LastBlockHeight", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1LastBlockHeightResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "CoreService" + ] + } + }, + "/statistics": { + "get": { + "summary": "Statistics", + "description": "Get statistics on Vega", + "operationId": "CoreService_Statistics", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1StatisticsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "CoreService" + ] + } + }, + "/statistics/spam/{partyId}": { + "get": { + "summary": "Get Spam statistics", + "description": "Get the spam statistics for a given party", + "operationId": "CoreService_GetSpamStatistics", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1GetSpamStatisticsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "partyId", + "description": "Party ID whose statistics are requested", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "CoreService" + ] + } + }, + "/stream/event/bus": { + "get": { + "summary": "Events subscription", + "description": "Subscribe to a stream of events from the core", + "operationId": "CoreService_ObserveEventBus", + "responses": { + "200": { + "description": "A successful response.(streaming responses)", + "schema": { + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/v1ObserveEventBusResponse" + }, + "error": { + "$ref": "#/definitions/googlerpcStatus" + } + }, + "title": "Stream result of v1ObserveEventBusResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "type", + "description": "One or more types of event, required field.\n\n - BUS_EVENT_TYPE_UNSPECIFIED: Default value, always invalid\n - BUS_EVENT_TYPE_ALL: Events of ALL event types, used when filtering stream from event bus\n - BUS_EVENT_TYPE_TIME_UPDATE: Event for blockchain time updates\n - BUS_EVENT_TYPE_LEDGER_MOVEMENTS: Event for when a transfer happens internally, contains the transfer information\n - BUS_EVENT_TYPE_POSITION_RESOLUTION: Event indicating position resolution has occurred\n - BUS_EVENT_TYPE_ORDER: Event for order updates, both new and existing orders\n - BUS_EVENT_TYPE_ACCOUNT: Event for account updates\n - BUS_EVENT_TYPE_PARTY: Event for party updates\n - BUS_EVENT_TYPE_TRADE: Event indicating a new trade has occurred\n - BUS_EVENT_TYPE_MARGIN_LEVELS: Event indicating margin levels have changed for a party\n - BUS_EVENT_TYPE_PROPOSAL: Event for proposal updates (for governance)\n - BUS_EVENT_TYPE_VOTE: Event indicating a new vote has occurred (for governance)\n - BUS_EVENT_TYPE_MARKET_DATA: Event for market data updates\n - BUS_EVENT_TYPE_NODE_SIGNATURE: Event for a new signature for a Vega node\n - BUS_EVENT_TYPE_LOSS_SOCIALIZATION: Event indicating loss socialisation occurred for a party\n - BUS_EVENT_TYPE_SETTLE_POSITION: Event for when a position is being settled\n - BUS_EVENT_TYPE_SETTLE_DISTRESSED: Event for when a position is distressed\n - BUS_EVENT_TYPE_MARKET_CREATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ASSET: Event for when an asset is added to Vega\n - BUS_EVENT_TYPE_MARKET_TICK: Event indicating a market tick event\n - BUS_EVENT_TYPE_WITHDRAWAL: Event for when a withdrawal occurs\n - BUS_EVENT_TYPE_DEPOSIT: Event for when a deposit occurs\n - BUS_EVENT_TYPE_AUCTION: Event indicating a change in auction state, for example starting or ending an auction\n - BUS_EVENT_TYPE_RISK_FACTOR: Event indicating a risk factor has been updated\n - BUS_EVENT_TYPE_NETWORK_PARAMETER: Event indicating a network parameter has been added or updated\n - BUS_EVENT_TYPE_LIQUIDITY_PROVISION: Event indicating a liquidity provision has been created or updated\n - BUS_EVENT_TYPE_MARKET_UPDATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ORACLE_SPEC: Event indicating an oracle spec has been created or updated\n - BUS_EVENT_TYPE_ORACLE_DATA: Event indicating that an oracle data has been broadcast\n - BUS_EVENT_TYPE_DELEGATION_BALANCE: Event indicating that an delegation balance of a party to a node for current epoch has changed\n - BUS_EVENT_TYPE_VALIDATOR_SCORE: Event indicating the validator score for the given epoch\n - BUS_EVENT_TYPE_EPOCH_UPDATE: Event indicating the start or end of an epoch\n - BUS_EVENT_TYPE_VALIDATOR_UPDATE: Event indicating that validator node has been updated\n - BUS_EVENT_TYPE_STAKE_LINKING: Event indicating a new staking event have been processed by the network\n - BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT: Event indicating the payout of a reward has been initiated\n - BUS_EVENT_TYPE_CHECKPOINT: Event indicating a new checkpoint was created\n - BUS_EVENT_TYPE_STREAM_START: Event indicating stream is starting\n - BUS_EVENT_TYPE_KEY_ROTATION: Event indicating key rotation took place\n - BUS_EVENT_TYPE_STATE_VAR: Event indicating state transitions in state variable consensus\n - BUS_EVENT_TYPE_NETWORK_LIMITS: Event indicating network limits set or updated\n - BUS_EVENT_TYPE_TRANSFER: Event indicating a update for a transfer\n - BUS_EVENT_TYPE_VALIDATOR_RANKING: Event indicating the ranking of validator and their status in Vega\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT: Event indicating a new multi sig signer event have been processed\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD: Event indicating the erc20 multi sig threshold have been updated\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED: Event indicating a new signer has been added to the ERC-20 multisig\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED: Event indicating a signer has been removed from the ERC-20 multisig\n - BUS_EVENT_TYPE_POSITION_STATE: Event indicating that a party's position has changed\n - BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION: Event indicating Ethereum key rotation took place\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL: Event indicating protocol upgrade proposal updates\n - BUS_EVENT_TYPE_BEGIN_BLOCK: Event indicating the core is starting to process a new block\n - BUS_EVENT_TYPE_END_BLOCK: Event indicating the core finished to process a block\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED: Event indicating the core is starting a protocol upgrade\n - BUS_EVENT_TYPE_SETTLE_MARKET: Event indicating the market has stopped and settled\n - BUS_EVENT_TYPE_TRANSACTION_RESULT: Event indicating the result of a transaction processed by the network\n - BUS_EVENT_TYPE_SNAPSHOT_TAKEN: Event indicating a snapshot was taken at this block height\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY: Event data node uses to notify that it is ready to upgrade\n - BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_EXPIRED_ORDERS: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_DISTRESSED_POSITIONS: Event indicating parties have become, or were, distressed but still have an active position.\n - BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION: Event indicating a spot liquidity provision has been created or updated.\n - BUS_EVENT_TYPE_STOP_ORDER: Event indicating a stop order has been submitted or updated.\n - BUS_EVENT_TYPE_FUNDING_PERIOD: Event indicating the start or end of a funding period.\n - BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT: Event indicating a data point for a funding period has been received.\n - BUS_EVENT_TYPE_MARKET: Event indicating a market related event, for example when a market opens\n - BUS_EVENT_TYPE_TX_ERROR: Event used to report failed transactions back to a user, this is excluded from the ALL type", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "BUS_EVENT_TYPE_UNSPECIFIED", + "BUS_EVENT_TYPE_ALL", + "BUS_EVENT_TYPE_TIME_UPDATE", + "BUS_EVENT_TYPE_LEDGER_MOVEMENTS", + "BUS_EVENT_TYPE_POSITION_RESOLUTION", + "BUS_EVENT_TYPE_ORDER", + "BUS_EVENT_TYPE_ACCOUNT", + "BUS_EVENT_TYPE_PARTY", + "BUS_EVENT_TYPE_TRADE", + "BUS_EVENT_TYPE_MARGIN_LEVELS", + "BUS_EVENT_TYPE_PROPOSAL", + "BUS_EVENT_TYPE_VOTE", + "BUS_EVENT_TYPE_MARKET_DATA", + "BUS_EVENT_TYPE_NODE_SIGNATURE", + "BUS_EVENT_TYPE_LOSS_SOCIALIZATION", + "BUS_EVENT_TYPE_SETTLE_POSITION", + "BUS_EVENT_TYPE_SETTLE_DISTRESSED", + "BUS_EVENT_TYPE_MARKET_CREATED", + "BUS_EVENT_TYPE_ASSET", + "BUS_EVENT_TYPE_MARKET_TICK", + "BUS_EVENT_TYPE_WITHDRAWAL", + "BUS_EVENT_TYPE_DEPOSIT", + "BUS_EVENT_TYPE_AUCTION", + "BUS_EVENT_TYPE_RISK_FACTOR", + "BUS_EVENT_TYPE_NETWORK_PARAMETER", + "BUS_EVENT_TYPE_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_MARKET_UPDATED", + "BUS_EVENT_TYPE_ORACLE_SPEC", + "BUS_EVENT_TYPE_ORACLE_DATA", + "BUS_EVENT_TYPE_DELEGATION_BALANCE", + "BUS_EVENT_TYPE_VALIDATOR_SCORE", + "BUS_EVENT_TYPE_EPOCH_UPDATE", + "BUS_EVENT_TYPE_VALIDATOR_UPDATE", + "BUS_EVENT_TYPE_STAKE_LINKING", + "BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT", + "BUS_EVENT_TYPE_CHECKPOINT", + "BUS_EVENT_TYPE_STREAM_START", + "BUS_EVENT_TYPE_KEY_ROTATION", + "BUS_EVENT_TYPE_STATE_VAR", + "BUS_EVENT_TYPE_NETWORK_LIMITS", + "BUS_EVENT_TYPE_TRANSFER", + "BUS_EVENT_TYPE_VALIDATOR_RANKING", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED", + "BUS_EVENT_TYPE_POSITION_STATE", + "BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL", + "BUS_EVENT_TYPE_BEGIN_BLOCK", + "BUS_EVENT_TYPE_END_BLOCK", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED", + "BUS_EVENT_TYPE_SETTLE_MARKET", + "BUS_EVENT_TYPE_TRANSACTION_RESULT", + "BUS_EVENT_TYPE_SNAPSHOT_TAKEN", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY", + "BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED", + "BUS_EVENT_TYPE_EXPIRED_ORDERS", + "BUS_EVENT_TYPE_DISTRESSED_POSITIONS", + "BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_STOP_ORDER", + "BUS_EVENT_TYPE_FUNDING_PERIOD", + "BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT", + "BUS_EVENT_TYPE_MARKET", + "BUS_EVENT_TYPE_TX_ERROR" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "marketId", + "description": "Market ID to filter events for, optional field. If omitted, no markets will be filtered out.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "partyId", + "description": "Party ID to filter events for, optional field. If omitted, no parties will be filtered out.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "batchSize", + "description": "Batch size, optional field -\nIf not specified, any events received will be sent immediately. If the client is not ready\nfor the next data-set, data may be dropped a number of times, and eventually the stream is closed.\nif specified, the first batch will be sent when ready. To receive the next set of events, the client\nmust write an `ObserveEventBatch` message on the stream to flush the buffer.\nIf no message is received in 5 seconds, the stream is closed.\nDefault: 0, send any and all events when they are available.", + "in": "query", + "required": false, + "type": "string", + "format": "int64" + } + ], + "tags": [ + "CoreService" + ] + } + }, + "/time": { + "get": { + "summary": "Vega time", + "description": "Get current Vega time", + "operationId": "CoreService_GetVegaTime", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1GetVegaTimeResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "CoreService" + ] + } + }, + "/transaction": { + "post": { + "summary": "Submit transaction", + "description": "Submit a signed transaction", + "operationId": "CoreService_SubmitTransaction", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1SubmitTransactionResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1SubmitTransactionRequest" + } + } + ], + "tags": [ + "CoreService" + ] + } + }, + "/transaction/check": { + "post": { + "summary": "Check transaction", + "description": "Check a signed transaction", + "operationId": "CoreService_CheckTransaction", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1CheckTransactionResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1CheckTransactionRequest" + } + } + ], + "tags": [ + "CoreService" + ] + } + }, + "/transaction/raw": { + "post": { + "summary": "Submit raw transaction", + "description": "Submit a version agnostic signed transaction", + "operationId": "CoreService_SubmitRawTransaction", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1SubmitRawTransactionResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1SubmitRawTransactionRequest" + } + } + ], + "tags": [ + "CoreService" + ] + } + }, + "/transaction/raw/check": { + "post": { + "summary": "Check raw transaction", + "description": "Check a raw signed transaction", + "operationId": "CoreService_CheckRawTransaction", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1CheckRawTransactionResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1CheckRawTransactionRequest" + } + } + ], + "tags": [ + "CoreService" + ] + } + } + }, + "definitions": { + "ConditionOperator": { + "type": "string", + "enum": [ + "OPERATOR_UNSPECIFIED", + "OPERATOR_EQUALS", + "OPERATOR_GREATER_THAN", + "OPERATOR_GREATER_THAN_OR_EQUAL", + "OPERATOR_LESS_THAN", + "OPERATOR_LESS_THAN_OR_EQUAL" + ], + "default": "OPERATOR_UNSPECIFIED", + "description": "Operator describes the type of comparison.\n\n - OPERATOR_UNSPECIFIED: The default value\n - OPERATOR_EQUALS: Verify if the property values are strictly equal or not.\n - OPERATOR_GREATER_THAN: Verify if the data source data value is greater than the Condition value.\n - OPERATOR_GREATER_THAN_OR_EQUAL: Verify if the data source data value is greater than or equal to the Condition\nvalue.\n - OPERATOR_LESS_THAN: Verify if the data source data value is less than the Condition value.\n - OPERATOR_LESS_THAN_OR_EQUAL: Verify if the data source data value is less or equal to than the Condition\nvalue." + }, + "FundingPeriodDataPointSource": { + "type": "string", + "enum": [ + "SOURCE_UNSPECIFIED", + "SOURCE_EXTERNAL", + "SOURCE_INTERNAL" + ], + "default": "SOURCE_UNSPECIFIED", + "description": " - SOURCE_UNSPECIFIED: Default value\n - SOURCE_EXTERNAL: Data point is from an external data source, such as an oracle, and represents the spot price of the underlying asset.\n - SOURCE_INTERNAL: Data point from within Vega such as the mark price after performing mark-to-market." + }, + "MarketTradingMode": { + "type": "string", + "enum": [ + "TRADING_MODE_UNSPECIFIED", + "TRADING_MODE_CONTINUOUS", + "TRADING_MODE_BATCH_AUCTION", + "TRADING_MODE_OPENING_AUCTION", + "TRADING_MODE_MONITORING_AUCTION", + "TRADING_MODE_NO_TRADING", + "TRADING_MODE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "TRADING_MODE_UNSPECIFIED", + "description": "- TRADING_MODE_UNSPECIFIED: Default value, this is invalid\n - TRADING_MODE_CONTINUOUS: Normal trading\n - TRADING_MODE_BATCH_AUCTION: Auction trading (FBA)\n - TRADING_MODE_OPENING_AUCTION: Opening auction\n - TRADING_MODE_MONITORING_AUCTION: Auction triggered by monitoring\n - TRADING_MODE_NO_TRADING: No trading is allowed\n - TRADING_MODE_SUSPENDED_VIA_GOVERNANCE: Special auction mode triggered via governance", + "title": "Trading mode the market is currently running, also referred to as 'market state'" + }, + "OracleDataSubmissionOracleSource": { + "type": "string", + "enum": [ + "ORACLE_SOURCE_UNSPECIFIED", + "ORACLE_SOURCE_OPEN_ORACLE", + "ORACLE_SOURCE_JSON", + "ORACLE_SOURCE_ETHEREUM" + ], + "default": "ORACLE_SOURCE_UNSPECIFIED", + "description": "- ORACLE_SOURCE_UNSPECIFIED: Default value\n - ORACLE_SOURCE_OPEN_ORACLE: Specifies that the payload will be base64 encoded JSON conforming to the Open Oracle standard\n - ORACLE_SOURCE_JSON: Specifies that the payload will be base64 encoded JSON, but does not specify the shape of the data\n - ORACLE_SOURCE_ETHEREUM: Specifies that the payload will be base64 encoded JSON conforming to the ETH standard", + "title": "Supported oracle sources" + }, + "OrderTimeInForce": { + "type": "string", + "enum": [ + "TIME_IN_FORCE_UNSPECIFIED", + "TIME_IN_FORCE_GTC", + "TIME_IN_FORCE_GTT", + "TIME_IN_FORCE_IOC", + "TIME_IN_FORCE_FOK", + "TIME_IN_FORCE_GFA", + "TIME_IN_FORCE_GFN" + ], + "default": "TIME_IN_FORCE_UNSPECIFIED", + "description": "- TIME_IN_FORCE_UNSPECIFIED: Default value for TimeInForce, can be valid for an amend\n - TIME_IN_FORCE_GTC: Good until cancelled, the order trades any amount and as much as possible\nand remains on the book until it either trades completely or is cancelled\n - TIME_IN_FORCE_GTT: Good until specified time, this order type trades any amount and as much as possible\nand remains on the book until it either trades completely, is cancelled, or expires at a set time\nNOTE: this may in future be multiple types or have sub types for orders that provide different ways of specifying expiry\n - TIME_IN_FORCE_IOC: Immediate or cancel, the order trades any amount and as much as possible\nbut does not remain on the book (whether it trades or not)\n - TIME_IN_FORCE_FOK: Fill or kill, the order either trades completely i.e. remainingSize == 0 after adding,\nor not at all, and does not remain on the book if it doesn't trade\n - TIME_IN_FORCE_GFA: Good for auction, this order is only accepted during an auction period\n - TIME_IN_FORCE_GFN: Good for normal, this order is only accepted during normal trading (that can be continuous trading or frequent batched auctions)", + "title": "Time In Force for an order" + }, + "StopOrderExpiryStrategy": { + "type": "string", + "enum": [ + "EXPIRY_STRATEGY_UNSPECIFIED", + "EXPIRY_STRATEGY_CANCELS", + "EXPIRY_STRATEGY_SUBMIT" + ], + "default": "EXPIRY_STRATEGY_UNSPECIFIED", + "description": " - EXPIRY_STRATEGY_UNSPECIFIED: Never valid\n - EXPIRY_STRATEGY_CANCELS: Stop order should be cancelled if the expiry time is reached.\n - EXPIRY_STRATEGY_SUBMIT: Order should be submitted if the expiry time is reached." + }, + "StopOrderTriggerDirection": { + "type": "string", + "enum": [ + "TRIGGER_DIRECTION_UNSPECIFIED", + "TRIGGER_DIRECTION_RISES_ABOVE", + "TRIGGER_DIRECTION_FALLS_BELOW" + ], + "default": "TRIGGER_DIRECTION_UNSPECIFIED", + "title": "- TRIGGER_DIRECTION_UNSPECIFIED: Never valid\n - TRIGGER_DIRECTION_RISES_ABOVE: Stop order is triggered once the price rises above a certain level\n - TRIGGER_DIRECTION_FALLS_BELOW: Stop order is triggered once the price falls below a certain level" + }, + "TransactionResultFailureDetails": { + "type": "object", + "properties": { + "error": { + "type": "string", + "title": "Error message explaining the reason for the transaction failing processing" + } + } + }, + "TransactionResultSuccessDetails": { + "type": "object" + }, + "UndelegateSubmissionMethod": { + "type": "string", + "enum": [ + "METHOD_UNSPECIFIED", + "METHOD_NOW", + "METHOD_AT_END_OF_EPOCH" + ], + "default": "METHOD_UNSPECIFIED" + }, + "commandsv1CancelTransfer": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "Transfer ID of the transfer to cancel." + } + }, + "title": "Request for cancelling a recurring transfer" + }, + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "protobufNullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "v1AnnounceNode": { + "type": "object", + "properties": { + "vegaPubKey": { + "type": "string", + "description": "Vega public key, required field." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum public key, required field." + }, + "chainPubKey": { + "type": "string", + "description": "Public key for the blockchain, required field." + }, + "infoUrl": { + "type": "string", + "description": "URL with more info on the node." + }, + "country": { + "type": "string", + "description": "Country code (ISO 3166-1 alpha-2) for the location of the node." + }, + "id": { + "type": "string", + "description": "Node ID of the validator, i.e. the node's public master key." + }, + "name": { + "type": "string", + "description": "Name of the validator." + }, + "avatarUrl": { + "type": "string", + "description": "AvatarURL of the validator." + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "Vega public key derivation index." + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "description": "Epoch from which the validator is expected\nto be ready to validate blocks." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the ethereum wallet." + }, + "vegaSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature from the validator made using the Vega wallet." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + } + }, + "title": "Used to announce a node as a new pending validator" + }, + "v1AuctionEvent": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "openingAuction": { + "type": "boolean", + "title": "True if the event indicates an auction opening and False otherwise" + }, + "leave": { + "type": "boolean", + "title": "True if the event indicates leaving auction mode and False otherwise" + }, + "start": { + "type": "string", + "format": "int64", + "title": "Timestamp containing the start time for an auction" + }, + "end": { + "type": "string", + "format": "int64", + "title": "Timestamp containing the end time for an auction" + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "title": "Reason this market is/was in auction" + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "title": "If an auction was ongoing, but was extended for whatever reason, this field will\nbe set to the trigger type indicating which component extended the auction" + } + }, + "title": "Auction event indicating a change in auction state, for example starting or ending an auction" + }, + "v1BatchMarketInstructions": { + "type": "object", + "properties": { + "cancellations": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "description": "List of order cancellations to be processed sequentially." + }, + "amendments": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "description": "List of order amendments to be processed sequentially." + }, + "submissions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "description": "List of order submissions to be processed sequentially." + }, + "stopOrdersCancellation": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "description": "List of stop order cancellations to be processed sequentially." + }, + "stopOrdersSubmission": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "description": "List of stop order submissions to be processed sequentially." + } + }, + "title": "Batch of order instructions.\nThis command accepts only the following batches of commands\nand will be processed in the following order:\n- OrderCancellation\n- OrderAmendment\n- OrderSubmission\nThe total amount of commands in the batch across all three lists of\ninstructions is restricted by the following network parameter:\n\"spam.protection.max.batchSize\"" + }, + "v1BeginBlock": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "hash": { + "type": "string" + } + }, + "title": "BeginBlock" + }, + "v1BusEvent": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Unique event ID for the message" + }, + "block": { + "type": "string", + "title": "The batch or block of transactions that the events relate to" + }, + "type": { + "$ref": "#/definitions/v1BusEventType", + "title": "The type of bus event. Must be one of the list below:" + }, + "timeUpdate": { + "$ref": "#/definitions/v1TimeUpdate", + "title": "Time update events" + }, + "ledgerMovements": { + "$ref": "#/definitions/v1LedgerMovements", + "title": "Transfer responses update events" + }, + "positionResolution": { + "$ref": "#/definitions/v1PositionResolution", + "title": "Position resolution events" + }, + "order": { + "$ref": "#/definitions/vegaOrder", + "title": "Order events" + }, + "account": { + "$ref": "#/definitions/vegaAccount", + "title": "Account events" + }, + "party": { + "$ref": "#/definitions/vegaParty", + "title": "Party events" + }, + "trade": { + "$ref": "#/definitions/vegaTrade", + "title": "Trade events" + }, + "marginLevels": { + "$ref": "#/definitions/vegaMarginLevels", + "title": "Margin level update events" + }, + "proposal": { + "$ref": "#/definitions/vegaProposal", + "title": "Proposal events for governance" + }, + "vote": { + "$ref": "#/definitions/vegaVote", + "title": "Vote events for governance" + }, + "marketData": { + "$ref": "#/definitions/vegaMarketData", + "title": "Market data events" + }, + "nodeSignature": { + "$ref": "#/definitions/v1NodeSignature", + "title": "Node signature events" + }, + "lossSocialization": { + "$ref": "#/definitions/v1LossSocialization", + "title": "Loss socialization events" + }, + "settlePosition": { + "$ref": "#/definitions/v1SettlePosition", + "title": "Position settlement events" + }, + "settleDistressed": { + "$ref": "#/definitions/v1SettleDistressed", + "title": "Position distressed events" + }, + "marketCreated": { + "$ref": "#/definitions/vegaMarket", + "title": "Market created events" + }, + "asset": { + "$ref": "#/definitions/vegaAsset", + "title": "Asset events" + }, + "marketTick": { + "$ref": "#/definitions/v1MarketTick", + "title": "Market tick events" + }, + "withdrawal": { + "$ref": "#/definitions/vegaWithdrawal", + "title": "Withdrawal events" + }, + "deposit": { + "$ref": "#/definitions/vegaDeposit", + "title": "Deposit events" + }, + "auction": { + "$ref": "#/definitions/v1AuctionEvent", + "title": "Auction events" + }, + "riskFactor": { + "$ref": "#/definitions/vegaRiskFactor", + "title": "Risk factor events" + }, + "networkParameter": { + "$ref": "#/definitions/vegaNetworkParameter", + "title": "Network parameter events" + }, + "liquidityProvision": { + "$ref": "#/definitions/vegaLiquidityProvision", + "title": "LiquidityProvision events" + }, + "marketUpdated": { + "$ref": "#/definitions/vegaMarket", + "title": "Market created events" + }, + "oracleSpec": { + "$ref": "#/definitions/vegaOracleSpec", + "title": "OracleSpec events" + }, + "oracleData": { + "$ref": "#/definitions/vegaOracleData", + "title": "OracleData events" + }, + "delegationBalance": { + "$ref": "#/definitions/v1DelegationBalanceEvent", + "title": "Delegation balance events" + }, + "validatorScore": { + "$ref": "#/definitions/v1ValidatorScoreEvent", + "title": "Validator score calculated" + }, + "epochEvent": { + "$ref": "#/definitions/v1EpochEvent", + "title": "Epoch update events" + }, + "validatorUpdate": { + "$ref": "#/definitions/v1ValidatorUpdate", + "title": "Validator update events" + }, + "stakeLinking": { + "$ref": "#/definitions/v1StakeLinking", + "title": "Staking event" + }, + "rewardPayout": { + "$ref": "#/definitions/v1RewardPayoutEvent", + "title": "Reward payout event" + }, + "checkpoint": { + "$ref": "#/definitions/v1CheckpointEvent", + "title": "Checkpoint was created" + }, + "keyRotation": { + "$ref": "#/definitions/v1KeyRotation", + "title": "Key rotation took place" + }, + "stateVar": { + "$ref": "#/definitions/v1StateVar", + "title": "State variable consensus state transition update" + }, + "networkLimits": { + "$ref": "#/definitions/vegaNetworkLimits", + "title": "Network limits events" + }, + "transfer": { + "$ref": "#/definitions/vegaeventsv1Transfer", + "title": "Transfer event" + }, + "rankingEvent": { + "$ref": "#/definitions/v1ValidatorRankingEvent", + "title": "Ranking event" + }, + "erc20MultisigSignerEvent": { + "$ref": "#/definitions/v1ERC20MultiSigSignerEvent", + "title": "ERC20 multi sig signer event" + }, + "erc20MultisigSetThresholdEvent": { + "$ref": "#/definitions/v1ERC20MultiSigThresholdSetEvent", + "title": "ERC20 multi sig set threshold event" + }, + "erc20MultisigSignerAdded": { + "$ref": "#/definitions/v1ERC20MultiSigSignerAdded", + "title": "ERC20 multi sig signer added" + }, + "erc20MultisigSignerRemoved": { + "$ref": "#/definitions/v1ERC20MultiSigSignerRemoved", + "title": "ERC20 multi sig signer removed" + }, + "positionStateEvent": { + "$ref": "#/definitions/v1PositionStateEvent", + "title": "Position status for a party in a market" + }, + "ethereumKeyRotation": { + "$ref": "#/definitions/v1EthereumKeyRotation", + "title": "Ethereum key rotation took place" + }, + "protocolUpgradeEvent": { + "$ref": "#/definitions/v1ProtocolUpgradeEvent", + "title": "Protocol upgrade proposal updates" + }, + "beginBlock": { + "$ref": "#/definitions/v1BeginBlock", + "title": "Core is starting to process a new block" + }, + "endBlock": { + "$ref": "#/definitions/v1EndBlock", + "title": "Core finished processing a block" + }, + "protocolUpgradeStarted": { + "$ref": "#/definitions/v1ProtocolUpgradeStarted", + "title": "Core is starting a protocol upgrade" + }, + "settleMarket": { + "$ref": "#/definitions/v1SettleMarket", + "title": "Settle market event for data-node to update positions for settled markets" + }, + "transactionResult": { + "$ref": "#/definitions/v1TransactionResult", + "title": "Result of a transaction processed by the network" + }, + "coreSnapshotEvent": { + "$ref": "#/definitions/v1CoreSnapshotData", + "title": "Core snapshot has been taken at the end of the block" + }, + "protocolUpgradeDataNodeReady": { + "$ref": "#/definitions/v1ProtocolUpgradeDataNodeReady", + "title": "Core snapshot has been taken at the end of the block" + }, + "distressedOrders": { + "$ref": "#/definitions/v1DistressedOrders", + "title": "Parties that had their orders closed because they were distressed" + }, + "expiredOrders": { + "$ref": "#/definitions/v1ExpiredOrders", + "title": "Orders that expired for a given market" + }, + "distressedPositions": { + "$ref": "#/definitions/v1DistressedPositions", + "title": "Open positions on the market that are/were distressed" + }, + "stopOrder": { + "$ref": "#/definitions/v1StopOrderEvent", + "title": "A stop order event" + }, + "fundingPeriod": { + "$ref": "#/definitions/v1FundingPeriod", + "description": "Start or end of a funding period." + }, + "fundingPeriodDataPoint": { + "$ref": "#/definitions/v1FundingPeriodDataPoint", + "description": "Data point within a funding period." + }, + "market": { + "$ref": "#/definitions/v1MarketEvent", + "title": "Market tick events" + }, + "txErrEvent": { + "$ref": "#/definitions/v1TxErrorEvent", + "title": "Transaction error events, not included in the ALL event type" + }, + "version": { + "type": "integer", + "format": "int64", + "title": "Version of bus event" + }, + "chainId": { + "type": "string" + }, + "txHash": { + "type": "string" + } + }, + "title": "Bus event is a container for event bus events emitted by Vega" + }, + "v1BusEventType": { + "type": "string", + "enum": [ + "BUS_EVENT_TYPE_UNSPECIFIED", + "BUS_EVENT_TYPE_ALL", + "BUS_EVENT_TYPE_TIME_UPDATE", + "BUS_EVENT_TYPE_LEDGER_MOVEMENTS", + "BUS_EVENT_TYPE_POSITION_RESOLUTION", + "BUS_EVENT_TYPE_ORDER", + "BUS_EVENT_TYPE_ACCOUNT", + "BUS_EVENT_TYPE_PARTY", + "BUS_EVENT_TYPE_TRADE", + "BUS_EVENT_TYPE_MARGIN_LEVELS", + "BUS_EVENT_TYPE_PROPOSAL", + "BUS_EVENT_TYPE_VOTE", + "BUS_EVENT_TYPE_MARKET_DATA", + "BUS_EVENT_TYPE_NODE_SIGNATURE", + "BUS_EVENT_TYPE_LOSS_SOCIALIZATION", + "BUS_EVENT_TYPE_SETTLE_POSITION", + "BUS_EVENT_TYPE_SETTLE_DISTRESSED", + "BUS_EVENT_TYPE_MARKET_CREATED", + "BUS_EVENT_TYPE_ASSET", + "BUS_EVENT_TYPE_MARKET_TICK", + "BUS_EVENT_TYPE_WITHDRAWAL", + "BUS_EVENT_TYPE_DEPOSIT", + "BUS_EVENT_TYPE_AUCTION", + "BUS_EVENT_TYPE_RISK_FACTOR", + "BUS_EVENT_TYPE_NETWORK_PARAMETER", + "BUS_EVENT_TYPE_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_MARKET_UPDATED", + "BUS_EVENT_TYPE_ORACLE_SPEC", + "BUS_EVENT_TYPE_ORACLE_DATA", + "BUS_EVENT_TYPE_DELEGATION_BALANCE", + "BUS_EVENT_TYPE_VALIDATOR_SCORE", + "BUS_EVENT_TYPE_EPOCH_UPDATE", + "BUS_EVENT_TYPE_VALIDATOR_UPDATE", + "BUS_EVENT_TYPE_STAKE_LINKING", + "BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT", + "BUS_EVENT_TYPE_CHECKPOINT", + "BUS_EVENT_TYPE_STREAM_START", + "BUS_EVENT_TYPE_KEY_ROTATION", + "BUS_EVENT_TYPE_STATE_VAR", + "BUS_EVENT_TYPE_NETWORK_LIMITS", + "BUS_EVENT_TYPE_TRANSFER", + "BUS_EVENT_TYPE_VALIDATOR_RANKING", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED", + "BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED", + "BUS_EVENT_TYPE_POSITION_STATE", + "BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL", + "BUS_EVENT_TYPE_BEGIN_BLOCK", + "BUS_EVENT_TYPE_END_BLOCK", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED", + "BUS_EVENT_TYPE_SETTLE_MARKET", + "BUS_EVENT_TYPE_TRANSACTION_RESULT", + "BUS_EVENT_TYPE_SNAPSHOT_TAKEN", + "BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY", + "BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED", + "BUS_EVENT_TYPE_EXPIRED_ORDERS", + "BUS_EVENT_TYPE_DISTRESSED_POSITIONS", + "BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION", + "BUS_EVENT_TYPE_STOP_ORDER", + "BUS_EVENT_TYPE_FUNDING_PERIOD", + "BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT", + "BUS_EVENT_TYPE_MARKET", + "BUS_EVENT_TYPE_TX_ERROR" + ], + "default": "BUS_EVENT_TYPE_UNSPECIFIED", + "description": "- BUS_EVENT_TYPE_UNSPECIFIED: Default value, always invalid\n - BUS_EVENT_TYPE_ALL: Events of ALL event types, used when filtering stream from event bus\n - BUS_EVENT_TYPE_TIME_UPDATE: Event for blockchain time updates\n - BUS_EVENT_TYPE_LEDGER_MOVEMENTS: Event for when a transfer happens internally, contains the transfer information\n - BUS_EVENT_TYPE_POSITION_RESOLUTION: Event indicating position resolution has occurred\n - BUS_EVENT_TYPE_ORDER: Event for order updates, both new and existing orders\n - BUS_EVENT_TYPE_ACCOUNT: Event for account updates\n - BUS_EVENT_TYPE_PARTY: Event for party updates\n - BUS_EVENT_TYPE_TRADE: Event indicating a new trade has occurred\n - BUS_EVENT_TYPE_MARGIN_LEVELS: Event indicating margin levels have changed for a party\n - BUS_EVENT_TYPE_PROPOSAL: Event for proposal updates (for governance)\n - BUS_EVENT_TYPE_VOTE: Event indicating a new vote has occurred (for governance)\n - BUS_EVENT_TYPE_MARKET_DATA: Event for market data updates\n - BUS_EVENT_TYPE_NODE_SIGNATURE: Event for a new signature for a Vega node\n - BUS_EVENT_TYPE_LOSS_SOCIALIZATION: Event indicating loss socialisation occurred for a party\n - BUS_EVENT_TYPE_SETTLE_POSITION: Event for when a position is being settled\n - BUS_EVENT_TYPE_SETTLE_DISTRESSED: Event for when a position is distressed\n - BUS_EVENT_TYPE_MARKET_CREATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ASSET: Event for when an asset is added to Vega\n - BUS_EVENT_TYPE_MARKET_TICK: Event indicating a market tick event\n - BUS_EVENT_TYPE_WITHDRAWAL: Event for when a withdrawal occurs\n - BUS_EVENT_TYPE_DEPOSIT: Event for when a deposit occurs\n - BUS_EVENT_TYPE_AUCTION: Event indicating a change in auction state, for example starting or ending an auction\n - BUS_EVENT_TYPE_RISK_FACTOR: Event indicating a risk factor has been updated\n - BUS_EVENT_TYPE_NETWORK_PARAMETER: Event indicating a network parameter has been added or updated\n - BUS_EVENT_TYPE_LIQUIDITY_PROVISION: Event indicating a liquidity provision has been created or updated\n - BUS_EVENT_TYPE_MARKET_UPDATED: Event indicating a new market was created\n - BUS_EVENT_TYPE_ORACLE_SPEC: Event indicating an oracle spec has been created or updated\n - BUS_EVENT_TYPE_ORACLE_DATA: Event indicating that an oracle data has been broadcast\n - BUS_EVENT_TYPE_DELEGATION_BALANCE: Event indicating that an delegation balance of a party to a node for current epoch has changed\n - BUS_EVENT_TYPE_VALIDATOR_SCORE: Event indicating the validator score for the given epoch\n - BUS_EVENT_TYPE_EPOCH_UPDATE: Event indicating the start or end of an epoch\n - BUS_EVENT_TYPE_VALIDATOR_UPDATE: Event indicating that validator node has been updated\n - BUS_EVENT_TYPE_STAKE_LINKING: Event indicating a new staking event have been processed by the network\n - BUS_EVENT_TYPE_REWARD_PAYOUT_EVENT: Event indicating the payout of a reward has been initiated\n - BUS_EVENT_TYPE_CHECKPOINT: Event indicating a new checkpoint was created\n - BUS_EVENT_TYPE_STREAM_START: Event indicating stream is starting\n - BUS_EVENT_TYPE_KEY_ROTATION: Event indicating key rotation took place\n - BUS_EVENT_TYPE_STATE_VAR: Event indicating state transitions in state variable consensus\n - BUS_EVENT_TYPE_NETWORK_LIMITS: Event indicating network limits set or updated\n - BUS_EVENT_TYPE_TRANSFER: Event indicating a update for a transfer\n - BUS_EVENT_TYPE_VALIDATOR_RANKING: Event indicating the ranking of validator and their status in Vega\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_EVENT: Event indicating a new multi sig signer event have been processed\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SET_THRESHOLD: Event indicating the erc20 multi sig threshold have been updated\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_ADDED: Event indicating a new signer has been added to the ERC-20 multisig\n - BUS_EVENT_TYPE_ERC20_MULTI_SIG_SIGNER_REMOVED: Event indicating a signer has been removed from the ERC-20 multisig\n - BUS_EVENT_TYPE_POSITION_STATE: Event indicating that a party's position has changed\n - BUS_EVENT_TYPE_ETHEREUM_KEY_ROTATION: Event indicating Ethereum key rotation took place\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_PROPOSAL: Event indicating protocol upgrade proposal updates\n - BUS_EVENT_TYPE_BEGIN_BLOCK: Event indicating the core is starting to process a new block\n - BUS_EVENT_TYPE_END_BLOCK: Event indicating the core finished to process a block\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_STARTED: Event indicating the core is starting a protocol upgrade\n - BUS_EVENT_TYPE_SETTLE_MARKET: Event indicating the market has stopped and settled\n - BUS_EVENT_TYPE_TRANSACTION_RESULT: Event indicating the result of a transaction processed by the network\n - BUS_EVENT_TYPE_SNAPSHOT_TAKEN: Event indicating a snapshot was taken at this block height\n - BUS_EVENT_TYPE_PROTOCOL_UPGRADE_DATA_NODE_READY: Event data node uses to notify that it is ready to upgrade\n - BUS_EVENT_TYPE_DISTRESSED_ORDERS_CLOSED: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_EXPIRED_ORDERS: Event indicating parties had orders closed because they were distressed, but were not closed out.\n - BUS_EVENT_TYPE_DISTRESSED_POSITIONS: Event indicating parties have become, or were, distressed but still have an active position.\n - BUS_EVENT_TYPE_SPOT_LIQUIDITY_PROVISION: Event indicating a spot liquidity provision has been created or updated.\n - BUS_EVENT_TYPE_STOP_ORDER: Event indicating a stop order has been submitted or updated.\n - BUS_EVENT_TYPE_FUNDING_PERIOD: Event indicating the start or end of a funding period.\n - BUS_EVENT_TYPE_FUNDING_PERIOD_DATA_POINT: Event indicating a data point for a funding period has been received.\n - BUS_EVENT_TYPE_MARKET: Event indicating a market related event, for example when a market opens\n - BUS_EVENT_TYPE_TX_ERROR: Event used to report failed transactions back to a user, this is excluded from the ALL type", + "title": "Bus event type is used to specify a type of event\nIt has 2 styles of event:\nSingle values (e.g. BUS_EVENT_TYPE_ORDER) where they represent one data item\nGroup values (e.g. BUS_EVENT_TYPE_AUCTION) where they represent a group of data items" + }, + "v1CheckRawTransactionRequest": { + "type": "object", + "properties": { + "tx": { + "type": "string", + "format": "byte", + "title": "Bundle of signed payload and signature marshalled into a byte array, to form a transaction that would be submitted to the Vega blockchain", + "required": [ + "tx" + ] + } + }, + "title": "Request for checking a version agnostic transaction on Vega", + "required": [ + "tx" + ] + }, + "v1CheckRawTransactionResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the transaction was checked by the node" + }, + "code": { + "type": "integer", + "format": "int64", + "title": "Check code result" + }, + "gasWanted": { + "type": "string", + "format": "int64", + "title": "Gas wanted for transaction" + }, + "gasUsed": { + "type": "string", + "format": "int64", + "title": "Gas used for transaction" + }, + "data": { + "type": "string", + "title": "Data for details" + }, + "log": { + "type": "string", + "title": "Transaction log" + }, + "info": { + "type": "string", + "title": "Information about the transaction" + } + }, + "title": "Response for checking a version agnostic transaction on Vega" + }, + "v1CheckTransactionRequest": { + "type": "object", + "properties": { + "tx": { + "$ref": "#/definitions/v1Transaction", + "title": "Bundle of signed payload and signature, to form a transaction that would be submitted to the Vega blockchain" + } + }, + "title": "Request for checking a transaction v2 on Vega" + }, + "v1CheckTransactionResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the transaction was checked by the node" + }, + "code": { + "type": "integer", + "format": "int64", + "title": "Check code result" + }, + "gasWanted": { + "type": "string", + "format": "int64", + "title": "Gas wanted for transaction" + }, + "gasUsed": { + "type": "string", + "format": "int64", + "title": "Gas used for transaction" + }, + "data": { + "type": "string", + "title": "Data for details" + }, + "log": { + "type": "string", + "title": "Transaction log" + }, + "info": { + "type": "string", + "title": "Information about the transaction" + } + } + }, + "v1CheckpointEvent": { + "type": "object", + "properties": { + "hash": { + "type": "string" + }, + "blockHash": { + "type": "string" + }, + "blockHeight": { + "type": "string", + "format": "uint64" + } + } + }, + "v1Condition": { + "type": "object", + "properties": { + "operator": { + "$ref": "#/definitions/ConditionOperator", + "description": "Type of comparison to make on the value." + }, + "value": { + "type": "string", + "description": "Value to be compared with by the operator." + } + }, + "title": "Condition describes the condition that must be validated by the network" + }, + "v1CoreSnapshotData": { + "type": "object", + "properties": { + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height at which snapshot was taken" + }, + "blockHash": { + "type": "string", + "title": "Hash of the snapshot block" + }, + "coreVersion": { + "type": "string", + "description": "Semver version number of the core." + }, + "protocolUpgradeBlock": { + "type": "boolean", + "title": "Indicates if the snapshot is taken as part of protocol upgrade" + } + }, + "description": "CoreSnapshotData represents the core snapshot data." + }, + "v1CreateTeam": { + "type": "object", + "properties": { + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "description": "Creates a referral team. The team creator automatically becomes\nthe team leader, called a referrer. This cannot be changed.\nA referrer cannot already be or become a liquidity provider,\nnor can they be on an existing team as referrer or referee.", + "title": "Request for creating a referral team" + }, + "v1Data": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + } + }, + "data": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Property" + }, + "title": "Data holds all the properties of the data" + }, + "matchedSpecIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "`matched_specs_ids` lists all the specs that matched this data.\nWhen the array is empty, it means no spec matched this data." + }, + "broadcastAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the data was broadcast to the markets\nwith a matching spec. It has no value when the data did not match any spec." + }, + "metaData": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Property" + }, + "title": "Holds all metadata properties" + }, + "error": { + "type": "string", + "description": "Error message if the data could not be sourced." + } + }, + "description": "Data describes valid source data that has been received by the node.\nIt represents both matched and unmatched data." + }, + "v1DelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Delegate to the specified node ID." + }, + "amount": { + "type": "string", + "description": "Amount of stake to delegate. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Command to submit an instruction to delegate some stake to a node" + }, + "v1DelegationBalanceEvent": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "nodeId": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "epochSeq": { + "type": "string" + } + }, + "title": "DelegationBalanceEvent - updates on the delegation balance of a party to a node in the current epoch in effect" + }, + "v1DistressedOrders": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "parties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of Party IDs i.e. each party's public key for the event" + } + }, + "title": "Distressed order contains the party IDs for all parties that were distressed and had their orders closed,\nbut did not need to be closed out after cancelling their orders" + }, + "v1DistressedPositions": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "distressedParties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of party IDs i.e. each party's public key, that are distressed but still have open volume" + }, + "safeParties": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of party IDs i.e. each party's public key, who were distressed but now can safely maintain their position" + } + }, + "description": "Distressed positions event contains the party IDs for all parties that were distressed, had their orders closed but because of insufficient volume on the book\ncould not be fully closed out. These parties are distressed, but still hold an active position on the book as a result. Once enough volume is on the book to close\nthem out, a SettleDistressed event will be sent. In case they manage to reduce their position, or meet the margin requirements, this status will be updated.\nParties that are no longer distressed but active will be listed in the safe_parties field." + }, + "v1ERC20MultiSigSignerAdded": { + "type": "object", + "properties": { + "signatureId": { + "type": "string", + "title": "ID of the signature bundle" + }, + "validatorId": { + "type": "string", + "title": "Node ID of the Vega node to be added" + }, + "timestamp": { + "type": "string", + "format": "int64", + "title": "Time at which this happened" + }, + "newSigner": { + "type": "string", + "title": "Ethereum address of the new signer" + }, + "submitter": { + "type": "string", + "title": "Address of the submitter of the transaction" + }, + "nonce": { + "type": "string", + "description": "Nonce used." + }, + "epochSeq": { + "type": "string", + "title": "Epoch that the node was added for" + } + } + }, + "v1ERC20MultiSigSignerEvent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/v1ERC20MultiSigSignerEventType" + }, + "signer": { + "type": "string" + }, + "nonce": { + "type": "string" + }, + "blockTime": { + "type": "string", + "format": "int64" + }, + "txHash": { + "type": "string" + }, + "logIndex": { + "type": "string", + "format": "uint64" + }, + "blockNumber": { + "type": "string", + "format": "uint64" + } + } + }, + "v1ERC20MultiSigSignerEventType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ADDED", + "TYPE_REMOVED" + ], + "default": "TYPE_UNSPECIFIED" + }, + "v1ERC20MultiSigSignerRemoved": { + "type": "object", + "properties": { + "signatureSubmitters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ERC20MultiSigSignerRemovedSubmitter" + }, + "title": "List containing all the IDs of bundle generated\nThere should be one bundle generated for every validators\nin the validator set" + }, + "validatorId": { + "type": "string", + "title": "Node ID of the Vega node which is to be removed" + }, + "timestamp": { + "type": "string", + "format": "int64", + "title": "Time at which this happened" + }, + "oldSigner": { + "type": "string", + "title": "Ethereum address of the signer to be removed" + }, + "nonce": { + "type": "string", + "description": "Nonce used." + }, + "epochSeq": { + "type": "string", + "title": "Epoch that the node was removed for" + } + } + }, + "v1ERC20MultiSigSignerRemovedSubmitter": { + "type": "object", + "properties": { + "signatureId": { + "type": "string", + "description": "Signature ID of the signer removed." + }, + "submitter": { + "type": "string", + "title": "Address of the submitter of the transaction" + } + } + }, + "v1ERC20MultiSigThresholdSetEvent": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "newThreshold": { + "type": "integer", + "format": "int64" + }, + "nonce": { + "type": "string" + }, + "blockTime": { + "type": "string", + "format": "int64" + }, + "txHash": { + "type": "string" + }, + "logIndex": { + "type": "string", + "format": "uint64" + }, + "blockNumber": { + "type": "string", + "format": "uint64" + } + } + }, + "v1ETHAddress": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "v1EndBlock": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64" + } + }, + "title": "EndBlock" + }, + "v1EpochEvent": { + "type": "object", + "properties": { + "seq": { + "type": "string", + "format": "uint64", + "title": "Sequence number that increases by one each epoch" + }, + "action": { + "$ref": "#/definitions/vegaEpochAction", + "title": "Action tells us what action is taking place" + }, + "startTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch started" + }, + "expireTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch should end" + }, + "endTime": { + "type": "string", + "format": "int64", + "title": "Vega time at which this epoch actually ended" + } + }, + "title": "Epoch details" + }, + "v1EthereumKeyRotateSubmission": { + "type": "object", + "properties": { + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newAddress": { + "type": "string", + "description": "New address to rotate to." + }, + "currentAddress": { + "type": "string", + "description": "Currently used public address." + }, + "submitterAddress": { + "type": "string", + "description": "Ethereum public key to use as a submitter to allow automatic signature generation." + }, + "ethereumSignature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature that can be verified using the new ethereum address." + } + }, + "title": "Transaction to allow a validator to rotate their ethereum keys" + }, + "v1EthereumKeyRotation": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the node that rotated their Ethereum key" + }, + "oldAddress": { + "type": "string", + "title": "Ethereum address that was previously associated with the node" + }, + "newAddress": { + "type": "string", + "title": "Ethereum address that is newly associated with the node" + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height when the key rotation took effect" + } + }, + "title": "Event that contains information about an Ethereum key rotation" + }, + "v1ExpiredOrders": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "orderIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Slice of expired order IDs" + } + } + }, + "v1ExternalData": { + "type": "object", + "properties": { + "data": { + "$ref": "#/definitions/v1Data" + } + } + }, + "v1Filter": { + "type": "object", + "properties": { + "key": { + "$ref": "#/definitions/v1PropertyKey", + "description": "Data source's data property key targeted by the filter." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that should be matched by the data to be\nconsidered of interest." + } + }, + "description": "Filter describes the conditions under which a data source data is considered of\ninterest or not." + }, + "v1FundingPeriod": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "ID of the market for which this funding period relates to." + }, + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the funding period." + }, + "start": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the funding period started." + }, + "end": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the funding period ended." + }, + "fundingPayment": { + "type": "string", + "description": "Funding payment for this period as the difference between the time-weighted average price of the external and internal data point." + }, + "fundingRate": { + "type": "string", + "description": "Percentage difference between the time-weighted average price of the external and internal data point." + }, + "internalTwap": { + "type": "string", + "description": "TWAP for this period based on the internal data-points." + }, + "externalTwap": { + "type": "string", + "description": "TWAP for this period based on the external data-points." + } + }, + "description": "Event notifying on the details of a funding interval for a perpetuals market." + }, + "v1FundingPeriodDataPoint": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID which the data point relates to." + }, + "seq": { + "type": "string", + "format": "uint64", + "description": "Sequence number of the funding period this data point belongs to." + }, + "dataPointType": { + "$ref": "#/definitions/FundingPeriodDataPointSource", + "description": "Origin of the data point." + }, + "price": { + "type": "string", + "description": "Price of the asset as seen by this data point." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the data point was received." + }, + "twap": { + "type": "string", + "description": "The TWAP for this source with this data-point added." + } + }, + "description": "Event notifying a data point for a funding period." + }, + "v1GetSpamStatisticsResponse": { + "type": "object", + "properties": { + "chainId": { + "type": "string", + "description": "Chain ID for which the statistics are captured." + }, + "statistics": { + "$ref": "#/definitions/v1SpamStatistics", + "title": "Spam statistics for the party" + } + }, + "title": "Response containing all the spam statistics of a party for the current epoch" + }, + "v1GetVegaTimeResponse": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "title": "Timestamp representation of current VegaTime as represented in\nUnix nanoseconds, for example `1580473859111222333` corresponds to `2020-01-31T12:30:59.111222333Z`" + } + }, + "title": "Response for the current consensus coordinated time on the Vega network, referred to as \"VegaTime\"" + }, + "v1IcebergOpts": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is made visible and can be traded with during the execution of a single order." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "Minimum allowed remaining size of the order before it is replenished back to its peak size." + } + }, + "title": "Iceberg order options" + }, + "v1InternalTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "int64", + "description": "Trigger when the vega time is greater or equal to this time, in Unix seconds." + }, + "every": { + "type": "string", + "format": "int64", + "description": "Repeat the trigger every n seconds after the initial. If no time for\ninitial was specified, begin repeating immediately." + } + }, + "description": "Trigger for an internal time data source." + }, + "v1IssueSignatures": { + "type": "object", + "properties": { + "submitter": { + "type": "string", + "description": "Ethereum address which will submit the signatures to the smart contract." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "What kind of signatures to generate, namely for whether a signer is being added or removed." + }, + "validatorNodeId": { + "type": "string", + "description": "Node ID of the validator node that will be signed in or out of the smart contract." + } + }, + "title": "Transaction for a validator to submit signatures to a smart contract" + }, + "v1JoinTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to join." + } + }, + "description": "A party that joins a referral team is called a referee. A referee cannot\nbe a liquidity provider, nor can they create a team or join multiple teams.\nTo switch teams, the referee can ask to join another team, and the switch will\nbe effective at the end of the epoch.", + "title": "Request to join a team" + }, + "v1KeyRotateSubmission": { + "type": "object", + "properties": { + "newPubKeyIndex": { + "type": "integer", + "format": "int64", + "description": "New Vega public key derivation index." + }, + "targetBlock": { + "type": "string", + "format": "uint64", + "description": "Target block at which the key rotation will take effect on." + }, + "newPubKey": { + "type": "string", + "description": "New public key to rotate to." + }, + "currentPubKeyHash": { + "type": "string", + "description": "Hash of currently used public key." + } + }, + "title": "Transaction to allow a validator to rotate their Vega keys" + }, + "v1KeyRotation": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the node that rotated their Vega key" + }, + "oldPubKey": { + "type": "string", + "title": "Vega public key that was previously associated with the node" + }, + "newPubKey": { + "type": "string", + "title": "Vega public key that is newly associated with the node" + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height when the key rotation took effect" + } + }, + "title": "Event that contains information about a Vega key rotation" + }, + "v1LastBlockHeightResponse": { + "type": "object", + "properties": { + "height": { + "type": "string", + "format": "uint64", + "title": "Last block height" + }, + "hash": { + "type": "string", + "title": "Last block hash" + }, + "spamPowHashFunction": { + "type": "string", + "title": "Supported proof of work hash function" + }, + "spamPowDifficulty": { + "type": "integer", + "format": "int64", + "title": "Difficulty of the proof of work, i.e. the target number of zeros" + }, + "spamPowNumberOfPastBlocks": { + "type": "integer", + "format": "int64", + "title": "Supported proof of work number of blocks behind current height allowed" + }, + "spamPowNumberOfTxPerBlock": { + "type": "integer", + "format": "int64", + "title": "Allowed number of transactions per block" + }, + "spamPowIncreasingDifficulty": { + "type": "boolean", + "title": "Boolean indicating whether increasing difficulty is allowed for using the\nsame height for more than `spam_pow_number_of_past_blocks` transactions" + }, + "chainId": { + "type": "string", + "title": "Network chain id from which the block comes from" + } + }, + "title": "Response with the height of the last block processed by\ntendermint" + }, + "v1LedgerMovements": { + "type": "object", + "properties": { + "ledgerMovements": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerMovement" + }, + "title": "One or more entries containing internal transfer information" + } + }, + "title": "Transfer responses event contains a collection of transfer information" + }, + "v1LiquidityProvisionAmendment": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be amended." + }, + "commitmentAmount": { + "type": "string", + "description": "From here at least one of the following is required to consider the command valid." + }, + "fee": { + "type": "string" + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + } + }, + "reference": { + "type": "string" + } + }, + "title": "Amend a liquidity provision request" + }, + "v1LiquidityProvisionCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Unique ID for the market with the liquidity provision to be cancelled." + } + }, + "title": "Cancel a liquidity provision request" + }, + "v1LiquidityProvisionSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled using the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrder" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "reference": { + "type": "string", + "description": "Reference to be added to every order created out of this liquidity provision submission." + } + }, + "title": "A liquidity provision submitted for a given market" + }, + "v1LossSocialization": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID (public key) for the event" + }, + "amount": { + "type": "string", + "title": "Amount distributed" + } + }, + "title": "Loss socialization event contains details on the amount of wins unable to be distributed" + }, + "v1MarketEvent": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "payload": { + "type": "string", + "title": "Payload is a unique information string" + } + }, + "title": "MarketEvent - the common denominator for all market events\ninterface has a method to return a string for logging" + }, + "v1MarketTick": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Market ID for the event" + }, + "time": { + "type": "string", + "format": "int64", + "title": "Timestamp containing latest update from Vega blockchain aka Vega-time" + } + }, + "title": "Market tick event contains the time value for when a particular market was last processed on Vega" + }, + "v1NodeSignature": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "ID of the resource being signed." + }, + "sig": { + "type": "string", + "format": "byte", + "description": "The signature generated by the signer." + }, + "kind": { + "$ref": "#/definitions/v1NodeSignatureKind", + "description": "Kind of resource being signed." + } + }, + "title": "Represents a signature from a validator, to be used by a foreign chain in order to recognise a decision taken by the Vega network" + }, + "v1NodeSignatureKind": { + "type": "string", + "enum": [ + "NODE_SIGNATURE_KIND_UNSPECIFIED", + "NODE_SIGNATURE_KIND_ASSET_NEW", + "NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED", + "NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED", + "NODE_SIGNATURE_KIND_ASSET_UPDATE" + ], + "default": "NODE_SIGNATURE_KIND_UNSPECIFIED", + "description": "- NODE_SIGNATURE_KIND_UNSPECIFIED: Represents an unspecified or missing value from the input\n - NODE_SIGNATURE_KIND_ASSET_NEW: Represents a signature for a new asset allow-listing\n - NODE_SIGNATURE_KIND_ASSET_WITHDRAWAL: Represents a signature for an asset withdrawal\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_ADDED: Represents a signature for a new signer added to the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ERC20_MULTISIG_SIGNER_REMOVED: Represents a signature for a signer removed from the erc20 multisig contract\n - NODE_SIGNATURE_KIND_ASSET_UPDATE: Represents a signature for an asset update allow-listing", + "title": "Kind of signature created by a node, for example, allow-listing a new asset, withdrawal etc" + }, + "v1ObserveEventBusResponse": { + "type": "object", + "properties": { + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/v1BusEvent" + }, + "description": "One or more events that match the subscription request criteria." + } + }, + "title": "Response to a subscribed stream of events from the Vega event bus" + }, + "v1OneOffGovernanceTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64" + } + } + }, + "v1OracleDataSubmission": { + "type": "object", + "properties": { + "source": { + "$ref": "#/definitions/OracleDataSubmissionOracleSource", + "description": "Source from which the data is coming from. Must be base64 encoded.\nOracle data is a type of external data source data." + }, + "payload": { + "type": "string", + "format": "byte", + "description": "Data provided by the data source\nIn the case of Open Oracle - it will be the entire object - it will contain messages, signatures and price data." + } + }, + "title": "Command to submit new Oracle data from third party providers" + }, + "v1OrderAmendment": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Order ID, this is required to find the order and will not be updated, required field." + }, + "marketId": { + "type": "string", + "description": "Market ID, this is required to find the order and will not be updated." + }, + "price": { + "type": "string", + "description": "Amend the price for the order if the price value is set, otherwise price will remain unchanged.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "sizeDelta": { + "type": "string", + "format": "int64", + "description": "Amend the size for the order by the delta specified:\n- To reduce the size from the current value set a negative integer value\n- To increase the size from the current value, set a positive integer value\n- To leave the size unchanged set a value of zero\nThis field needs to be scaled using the market's position decimal places." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Amend the expiry time for the order, if the Timestamp value is set, otherwise expiry time will remain unchanged." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Amend the time in force for the order, set to TIME_IN_FORCE_UNSPECIFIED to remain unchanged." + }, + "peggedOffset": { + "type": "string", + "description": "Amend the pegged order offset for the order. This field is an unsigned integer scaled to the market's decimal places." + }, + "peggedReference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Amend the pegged order reference for the order." + } + }, + "title": "An order amendment is a request to amend or update an existing order on Vega" + }, + "v1OrderCancellation": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID for the order. This is set by the system after consensus. Required field." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + } + }, + "title": "Order cancellation is a request to cancel an existing order on Vega" + }, + "v1OrderSubmission": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID for the order, required field." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places,\nrequired field for limit orders, however it is not required for market orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of units, cannot be negative." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL, required field." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "description": "Time in force indicates how long an order will remain active before it is executed or expires, required field." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire,\nrequired field only for `Order.TimeInForce`.TIME_IN_FORCE_GTT`." + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order, required field - See `Order.Type`." + }, + "reference": { + "type": "string", + "description": "Reference given for the order, this is typically used to retrieve an order submitted through consensus, currently\nset internally by the node to return a unique reference ID for the order submission." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Used to specify the details for a pegged order." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOpts": { + "$ref": "#/definitions/v1IcebergOpts", + "description": "Parameters used to specify an iceberg order." + } + }, + "title": "Order submission is a request to submit or create a new order on Vega" + }, + "v1PoWBlockState": { + "type": "object", + "properties": { + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height for the current Proof of Work state statistics" + }, + "blockHash": { + "type": "string", + "title": "Hash of the current block" + }, + "transactionsSeen": { + "type": "string", + "format": "uint64", + "title": "Total number of transactions seen in the block" + }, + "expectedDifficulty": { + "type": "string", + "format": "uint64", + "description": "This is the minimum required difficulty for the next transaction submitted on this block\nif it is possible to submit more transactions on this block, otherwise nil." + }, + "hashFunction": { + "type": "string", + "title": "Hashing function used to calculate the block hash" + }, + "difficulty": { + "type": "string", + "format": "uint64", + "title": "Base difficulty for this block for when transactions seen \u003c tx_per_block" + }, + "txPerBlock": { + "type": "string", + "format": "uint64", + "title": "Number of transactions that can have their proof-of-work calculated with this block hash before\neither the difficulty increases, or no more transactions can use this block hash" + }, + "increasingDifficulty": { + "type": "boolean", + "title": "Whether or not this block allows for increasing proof-of-work difficulty if the\ntx-per-block-hash limit has been reached" + } + }, + "title": "Proof of Work state for a given block" + }, + "v1PoWStatistic": { + "type": "object", + "properties": { + "blockStates": { + "type": "array", + "items": { + "$ref": "#/definitions/v1PoWBlockState" + }, + "title": "Block state for each block in scope for PoW calculation" + }, + "bannedUntil": { + "type": "string", + "title": "PoW banned until timestamp as RFC3339Nano" + }, + "numberOfPastBlocks": { + "type": "string", + "format": "uint64", + "title": "Number of block behind the current block whose hash can be used for proof-of-work calculations" + } + }, + "title": "Proof of work statistics for a party" + }, + "v1PositionResolution": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "distressed": { + "type": "string", + "format": "int64", + "title": "Number of distressed traders" + }, + "closed": { + "type": "string", + "format": "int64", + "title": "Number of close outs" + }, + "markPrice": { + "type": "string", + "title": "Mark price as a string representing a scaled price" + } + }, + "title": "Position resolution event contains information on distressed trades" + }, + "v1PositionStateEvent": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Party ID for this position update" + }, + "marketId": { + "type": "string", + "title": "Market ID for this position update" + }, + "size": { + "type": "string", + "format": "int64", + "title": "Current position" + }, + "potentialBuys": { + "type": "string", + "format": "int64", + "title": "Potential orders" + }, + "potentialSells": { + "type": "string", + "format": "int64" + }, + "vwBuyPrice": { + "type": "string", + "title": "Volume weighted prices" + }, + "vwSellPrice": { + "type": "string" + } + }, + "title": "Position state event contains the current position state for a single party in a single market" + }, + "v1ProofOfWork": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "description": "Unique transaction identifier used to seed the proof-of-work hash." + }, + "nonce": { + "type": "string", + "format": "uint64", + "description": "Number which, combined with the transaction identifier, will produce a hash with the required number of leading zeros to be accepted by the network." + } + }, + "title": "Components needed for the network to verify proof-of-work" + }, + "v1PropagateChainEventResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the event was accepted by the node,\n**Important** - success does not mean that the event is confirmed by consensus" + } + }, + "title": "Response for a new event sent by the blockchain queue to be propagated on Vega" + }, + "v1Property": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "value": { + "type": "string", + "description": "Value of the property." + } + }, + "description": "Property describes one property of data spec with a key with its value." + }, + "v1PropertyKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "type": { + "$ref": "#/definitions/v1PropertyKeyType", + "description": "Data type of the property." + }, + "numberDecimalPlaces": { + "type": "string", + "format": "uint64", + "title": "Optional decimal place to be be applied on the provided value\nvalid only for PropertyType of type DECIMAL and INTEGER" + } + }, + "description": "PropertyKey describes the property key contained in data source data." + }, + "v1PropertyKeyType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_EMPTY", + "TYPE_INTEGER", + "TYPE_STRING", + "TYPE_BOOLEAN", + "TYPE_DECIMAL", + "TYPE_TIMESTAMP" + ], + "default": "TYPE_UNSPECIFIED", + "description": "Type describes the data type of properties that are supported by the data source\nengine.\n\n - TYPE_UNSPECIFIED: The default value.\n - TYPE_EMPTY: Any type.\n - TYPE_INTEGER: Integer type.\n - TYPE_STRING: String type.\n - TYPE_BOOLEAN: Boolean type.\n - TYPE_DECIMAL: Any floating point decimal type.\n - TYPE_TIMESTAMP: Timestamp date type." + }, + "v1ProposalSubmission": { + "type": "object", + "properties": { + "reference": { + "type": "string", + "description": "Reference identifying the proposal." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + } + }, + "title": "Command to submit a new proposal for the\nVega network governance" + }, + "v1ProtocolUpgradeDataNodeReady": { + "type": "object", + "properties": { + "lastBlockHeight": { + "type": "string", + "format": "uint64" + } + }, + "title": "Event indicating the data node is ready for protocol upgrade" + }, + "v1ProtocolUpgradeEvent": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "title": "Block height at which to perform the upgrade" + }, + "vegaReleaseTag": { + "type": "string", + "title": "Release tag for the vega binary" + }, + "approvers": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Tendermint validators that have agreed to the upgrade" + }, + "status": { + "$ref": "#/definitions/v1ProtocolUpgradeProposalStatus", + "title": "Status of the proposal" + } + } + }, + "v1ProtocolUpgradeProposal": { + "type": "object", + "properties": { + "upgradeBlockHeight": { + "type": "string", + "format": "uint64", + "description": "Block height at which to perform the upgrade." + }, + "vegaReleaseTag": { + "type": "string", + "description": "Release tag for the Vega binary." + } + }, + "title": "Transaction for a validator to suggest a protocol upgrade" + }, + "v1ProtocolUpgradeProposalStatus": { + "type": "string", + "enum": [ + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED", + "PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED" + ], + "default": "PROTOCOL_UPGRADE_PROPOSAL_STATUS_UNSPECIFIED", + "title": "- PROTOCOL_UPGRADE_PROPOSAL_STATUS_PENDING: The proposal is pending\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_APPROVED: The proposal is approved\n - PROTOCOL_UPGRADE_PROPOSAL_STATUS_REJECTED: The proposal is rejected" + }, + "v1ProtocolUpgradeStarted": { + "type": "object", + "properties": { + "lastBlockHeight": { + "type": "string", + "format": "uint64" + } + }, + "title": "Event indicating the core is starting a protocol upgrade" + }, + "v1PubKey": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + }, + "description": "PubKey is the public key that signed this data.\nDifferent public keys coming from different sources will be further separated." + }, + "v1RecurringGovernanceTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64" + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy" + } + } + }, + "v1RewardPayoutEvent": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "epochSeq": { + "type": "string" + }, + "asset": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "percentOfTotalReward": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "rewardType": { + "type": "string" + }, + "market": { + "type": "string" + } + } + }, + "v1SettleDistressed": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID i.e. a party's public key for the event" + }, + "margin": { + "type": "string", + "title": "Margin value as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places" + }, + "price": { + "type": "string", + "title": "Price as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places" + } + }, + "title": "Settle distressed event contains information on distressed trading parties who are closed out" + }, + "v1SettleMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "price": { + "type": "string", + "title": "Price of settlement as a string" + }, + "positionFactor": { + "type": "string", + "title": "Position factor - 10 ^ number of position decimal places" + } + }, + "title": "Settle market event to notify data node that a market has been settled\nso positions and PL can be updated accordingly" + }, + "v1SettlePosition": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "Market ID for the event" + }, + "partyId": { + "type": "string", + "title": "Party ID (public key) for the event" + }, + "price": { + "type": "string", + "title": "Price of settlement as a string" + }, + "tradeSettlements": { + "type": "array", + "items": { + "$ref": "#/definitions/v1TradeSettlement" + }, + "title": "A collection of 1 or more trade settlements" + }, + "positionFactor": { + "type": "string", + "title": "Position factor - 10 ^ number of position decimal places" + } + }, + "title": "Settle position event contains position settlement information for a party" + }, + "v1Signature": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Hex encoded bytes of the signature." + }, + "algo": { + "type": "string", + "description": "Algorithm used to create the signature." + }, + "version": { + "type": "integer", + "format": "int64", + "description": "Version of the signature used to create the signature." + } + }, + "description": "Signature to authenticate a transaction and to be verified by the Vega\nnetwork." + }, + "v1Signer": { + "type": "object", + "properties": { + "pubKey": { + "$ref": "#/definitions/v1PubKey", + "description": "List of authorized public keys that signed the data for this\nsource. All the public keys in the data should be contained in these\npublic keys." + }, + "ethAddress": { + "$ref": "#/definitions/v1ETHAddress", + "description": "In case of an open oracle - Ethereum address will be submitted." + } + } + }, + "v1SpamStatistic": { + "type": "object", + "properties": { + "countForEpoch": { + "type": "string", + "format": "uint64", + "title": "Current transaction count received from the party during this epoch for this policy" + }, + "maxForEpoch": { + "type": "string", + "format": "uint64", + "title": "Maximum number of transactions allowed for this policy in an epoch" + }, + "bannedUntil": { + "type": "string", + "title": "If blocked the timestamp when the party will be unblocked as RFC3339Nano" + }, + "minTokensRequired": { + "type": "string", + "title": "Effective minimum number of tokens required to submit a transaction of this type" + } + }, + "title": "Statistics for a given spam policy" + }, + "v1SpamStatistics": { + "type": "object", + "properties": { + "proposals": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for proposal transactions made by the party" + }, + "delegations": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for delegation transactions made by the party" + }, + "transfers": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for transfer transactions made by the party" + }, + "nodeAnnouncements": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for node announcement transactions made by the party" + }, + "votes": { + "$ref": "#/definitions/v1VoteSpamStatistics", + "title": "Statistics for proposal votes made by the party" + }, + "pow": { + "$ref": "#/definitions/v1PoWStatistic", + "title": "Statistics for proof of work difficulty observed per block for the party" + }, + "issueSignatures": { + "$ref": "#/definitions/v1SpamStatistic", + "title": "Statistics for multisig signatures issued for the party" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Epoch in which these statistics apply to" + } + }, + "title": "Complete spam statistics captured for a given party" + }, + "v1StakeLinking": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Internal ID for this staking event" + }, + "type": { + "$ref": "#/definitions/v1StakeLinkingType", + "description": "Stake linking event type." + }, + "ts": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the event was emitted by Ethereum." + }, + "party": { + "type": "string", + "description": "Party to whom the event is directed at." + }, + "amount": { + "type": "string", + "description": "Amount of stake deposited or removed." + }, + "status": { + "$ref": "#/definitions/v1StakeLinkingStatus", + "description": "Status of the event." + }, + "finalizedAt": { + "type": "string", + "format": "int64", + "description": "Time at which the Vega network finalised the state of the event." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction in which the event happened." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Block when the event happened." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Block time." + }, + "logIndex": { + "type": "string", + "format": "uint64", + "description": "Log index." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum address from which the stake link was initiated." + } + }, + "title": "StakeLinking - an event notifying of stake being deposited or removed for a given party\nThese events are emitted for every Staking deposit or removed accepted by the network" + }, + "v1StakeLinkingStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_ACCEPTED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates an event waiting for confirmation from the Vega network\n - STATUS_ACCEPTED: Indicates an event accepted by the Vega network\n - STATUS_REJECTED: Indicates an event rejected by the Vega network" + }, + "v1StakeLinkingType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LINK", + "TYPE_UNLINK" + ], + "default": "TYPE_UNSPECIFIED", + "title": "- TYPE_UNSPECIFIED: Default value\n - TYPE_LINK: Indicate of a stake deposit instruction\n - TYPE_UNLINK: Indicate of a stake remove instruction" + }, + "v1StateVar": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "eventId": { + "type": "string" + }, + "state": { + "type": "string" + } + }, + "title": "StateVar event updates on state changes in state variable consensus" + }, + "v1Statistics": { + "type": "object", + "properties": { + "blockHeight": { + "type": "string", + "format": "uint64", + "title": "Current block height as reported by the Vega blockchain" + }, + "backlogLength": { + "type": "string", + "format": "uint64", + "title": "Current backlog length i.e., number of transactions, that are waiting to be included in a block" + }, + "totalPeers": { + "type": "string", + "format": "uint64", + "title": "Total number of connected peers to this node" + }, + "genesisTime": { + "type": "string", + "title": "Genesis block date and time formatted in ISO-8601 datetime format with nanosecond precision" + }, + "currentTime": { + "type": "string", + "title": "Current system date and time formatted in ISO-8601 datetime format with nanosecond precision" + }, + "vegaTime": { + "type": "string", + "title": "Current Vega date and time formatted in ISO-8601 datetime format with nanosecond precision" + }, + "status": { + "$ref": "#/definitions/vegaChainStatus", + "title": "Status of the connection to the Vega blockchain" + }, + "txPerBlock": { + "type": "string", + "format": "uint64", + "title": "Transactions per block" + }, + "averageTxBytes": { + "type": "string", + "format": "uint64", + "title": "Average transaction size in bytes" + }, + "averageOrdersPerBlock": { + "type": "string", + "format": "uint64", + "title": "Average orders per block" + }, + "tradesPerSecond": { + "type": "string", + "format": "uint64", + "title": "Trades emitted per second" + }, + "ordersPerSecond": { + "type": "string", + "format": "uint64", + "title": "Orders processed per second" + }, + "totalMarkets": { + "type": "string", + "format": "uint64", + "title": "Total markets on this Vega network" + }, + "totalAmendOrder": { + "type": "string", + "format": "uint64", + "title": "Total number of order amendments since genesis across all markets" + }, + "totalCancelOrder": { + "type": "string", + "format": "uint64", + "title": "Total number of order cancellations since genesis across all markets" + }, + "totalCreateOrder": { + "type": "string", + "format": "uint64", + "title": "Total number of order submissions since genesis across all markets" + }, + "totalOrders": { + "type": "string", + "format": "uint64", + "title": "Total number of orders processed since genesis across all markets" + }, + "totalTrades": { + "type": "string", + "format": "uint64", + "title": "Total number of trades emitted since genesis across all markets" + }, + "orderSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to order data" + }, + "tradeSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to trade data" + }, + "candleSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to candlestick data" + }, + "marketDepthSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to market depth data" + }, + "positionsSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to positions data" + }, + "accountSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to account data" + }, + "marketDataSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to market data" + }, + "appVersionHash": { + "type": "string", + "title": "Version hash of the Vega node software" + }, + "appVersion": { + "type": "string", + "title": "Version of the Vega node software" + }, + "chainVersion": { + "type": "string", + "title": "Version of the underlying Vega blockchain" + }, + "blockDuration": { + "type": "string", + "format": "uint64", + "title": "Current block duration, in nanoseconds" + }, + "uptime": { + "type": "string", + "title": "Total uptime for this node formatted in ISO-8601 datetime format with nanosecond precision" + }, + "chainId": { + "type": "string", + "title": "Unique ID for the underlying Vega blockchain" + }, + "marketDepthUpdatesSubscriptions": { + "type": "integer", + "format": "int64", + "title": "Current number of stream subscribers to market depth update data" + }, + "blockHash": { + "type": "string", + "title": "Current block hash" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Current epoch" + }, + "epochStartTime": { + "type": "string", + "title": "Epoch start time" + }, + "epochExpiryTime": { + "type": "string", + "title": "Epoch expected end time" + }, + "eventCount": { + "type": "string", + "format": "uint64", + "title": "Number of events in the last block" + }, + "eventsPerSecond": { + "type": "string", + "format": "uint64", + "title": "Rate of events per second in the last block" + } + }, + "title": "Vega domain specific statistics as reported by the node the caller is connected to" + }, + "v1StatisticsResponse": { + "type": "object", + "properties": { + "statistics": { + "$ref": "#/definitions/v1Statistics" + } + }, + "title": "Response containing statistics about the Vega network" + }, + "v1StopOrderEvent": { + "type": "object", + "properties": { + "submission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "stopOrder": { + "$ref": "#/definitions/vegaStopOrder" + } + } + }, + "v1StopOrderSetup": { + "type": "object", + "properties": { + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission", + "description": "Order to be submitted once the trigger is breached." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "description": "Trailing percentage at which the order will be submitted." + } + }, + "title": "Price and expiry configuration for a stop order" + }, + "v1StopOrdersCancellation": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Optional market ID." + }, + "stopOrderId": { + "type": "string", + "description": "Optional order ID." + } + }, + "title": "Cancel a stop order.\nThe following combinations are available:\nEmpty object will cancel all stop orders for the party\nMarket ID alone will cancel all stop orders in a market\nMarket ID and order ID will cancel a specific stop order in a market\nIf the stop order is part of an OCO, both stop orders will be cancelled" + }, + "v1StopOrdersSubmission": { + "type": "object", + "properties": { + "risesAbove": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price rises above a given trigger price." + }, + "fallsBelow": { + "$ref": "#/definitions/v1StopOrderSetup", + "description": "Stop order that will be triggered\nif the price falls below a given trigger price." + } + }, + "title": "Stop order submission submits stops orders.\nIt is possible to make a single stop order submission by\nspecifying a single direction,\nor an OCO (One Cancels the Other) stop order submission\nby specifying a configuration for both directions" + }, + "v1SubmitRawTransactionRequest": { + "type": "object", + "properties": { + "tx": { + "type": "string", + "format": "byte", + "title": "Bundle of signed payload and signature marshalled into a byte array, to form a transaction that will be submitted to the Vega blockchain", + "required": [ + "tx" + ] + }, + "type": { + "$ref": "#/definitions/v1SubmitRawTransactionRequestType", + "title": "Type of transaction request, for example ASYNC, meaning the transaction will be submitted and not block on a response" + } + }, + "title": "Request for submitting a version agnostic transaction on Vega", + "required": [ + "tx" + ] + }, + "v1SubmitRawTransactionRequestType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ASYNC", + "TYPE_SYNC", + "TYPE_COMMIT" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_ASYNC: Transaction will be submitted without waiting for response\n - TYPE_SYNC: Transaction will be submitted, and blocking until the\ntendermint mempool returns a response\n - TYPE_COMMIT: Transaction will be submitted, and blocking until the tendermint\nnetwork has committed it into a block. Used only for debugging,\nnot for submitting transactions", + "title": "Blockchain transaction type" + }, + "v1SubmitRawTransactionResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the transaction was accepted by the node,\n**Important** - success does not mean that the event is confirmed by consensus" + }, + "txHash": { + "type": "string", + "title": "Hash of the transaction, if accepted" + }, + "code": { + "type": "integer", + "format": "int64" + }, + "data": { + "type": "string" + }, + "log": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64" + } + }, + "title": "Response for submitting a version agnostic transaction on Vega" + }, + "v1SubmitTransactionRequest": { + "type": "object", + "properties": { + "tx": { + "$ref": "#/definitions/v1Transaction", + "title": "Bundle of signed payload and signature, to form a transaction that will be submitted to the Vega blockchain" + }, + "type": { + "$ref": "#/definitions/v1SubmitTransactionRequestType", + "title": "Type of transaction request, for example ASYNC, meaning the transaction will be submitted and not block on a response" + } + }, + "title": "Request for submitting a transaction v2 on Vega" + }, + "v1SubmitTransactionRequestType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_ASYNC", + "TYPE_SYNC", + "TYPE_COMMIT" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_ASYNC: Transaction will be submitted without waiting for response\n - TYPE_SYNC: Transaction will be submitted, and blocking until the\ntendermint mempool returns a response\n - TYPE_COMMIT: Transaction will be submitted, and blocking until the tendermint\nnetwork has committed it into a block. Used only for debugging,\nnot for submitting transactions", + "title": "Blockchain transaction type" + }, + "v1SubmitTransactionResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean", + "title": "Success will be true if the transaction was accepted by the node,\n**Important** - success does not mean that the event is confirmed by consensus" + }, + "txHash": { + "type": "string", + "title": "Hash of the transaction, if accepted" + }, + "code": { + "type": "integer", + "format": "int64", + "title": "Result code for success if unsuccessful" + }, + "data": { + "type": "string", + "title": "Data for details" + }, + "log": { + "type": "string" + }, + "height": { + "type": "string", + "format": "int64", + "title": "Height for commit" + } + }, + "title": "Response for submitting a transaction v2 on Vega" + }, + "v1TimeUpdate": { + "type": "object", + "properties": { + "timestamp": { + "type": "string", + "format": "int64", + "title": "Timestamp containing latest update from Vega blockchain aka Vega-time" + } + }, + "title": "Time update event contains the latest time update from Vega blockchain and indicates the start of a new block" + }, + "v1TradeSettlement": { + "type": "object", + "properties": { + "size": { + "type": "string", + "format": "int64", + "title": "Size of trade settlement" + }, + "price": { + "type": "string", + "title": "Price of settlement as string (in asset decimals)" + }, + "marketPrice": { + "type": "string", + "title": "Price of settlement as a string (in market decimals)" + } + }, + "title": "Trade settlement is part of the settle position event" + }, + "v1Transaction": { + "type": "object", + "properties": { + "inputData": { + "type": "string", + "format": "byte", + "description": "One of the set of Vega commands.\nThese bytes are should be built as follows:\n chain_id_as_bytes + \\0 character as delimiter + proto_marshalled_command." + }, + "signature": { + "$ref": "#/definitions/v1Signature", + "description": "Signature of the input data." + }, + "address": { + "type": "string", + "description": "Hex-encoded address of the sender. Not supported yet." + }, + "pubKey": { + "type": "string", + "description": "Hex-encoded public key of the sender." + }, + "version": { + "$ref": "#/definitions/v1TxVersion", + "description": "Version of the transaction, to be used in the future in case changes are implemented\nto the transaction format." + }, + "pow": { + "$ref": "#/definitions/v1ProofOfWork", + "description": "Proof of work contains the random transaction id used by the client and the nonce." + } + }, + "description": "Represents a transaction to be sent to Vega." + }, + "v1TransactionResult": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Unique party ID for the related party" + }, + "status": { + "type": "boolean", + "description": "Status of the transaction, did it succeed or an error was raised." + }, + "hash": { + "type": "string", + "title": "Hash of the transaction" + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "proposal": { + "$ref": "#/definitions/v1ProposalSubmission" + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission" + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission" + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission" + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission" + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission" + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation" + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment" + }, + "transfer": { + "$ref": "#/definitions/vegacommandsv1Transfer" + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer" + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode" + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission" + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal" + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures" + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions" + }, + "keyRotateSubmission": { + "$ref": "#/definitions/v1KeyRotateSubmission" + }, + "ethereumKeyRotateSubmission": { + "$ref": "#/definitions/v1EthereumKeyRotateSubmission" + }, + "stopOrderSubmission": { + "$ref": "#/definitions/v1StopOrdersSubmission" + }, + "stopOrderCancellation": { + "$ref": "#/definitions/v1StopOrdersCancellation" + }, + "createTeam": { + "$ref": "#/definitions/v1CreateTeam" + }, + "updateTeam": { + "$ref": "#/definitions/v1UpdateTeam" + }, + "joinTeam": { + "$ref": "#/definitions/v1JoinTeam" + }, + "success": { + "$ref": "#/definitions/TransactionResultSuccessDetails" + }, + "failure": { + "$ref": "#/definitions/TransactionResultFailureDetails" + } + } + }, + "v1TransferStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_DONE", + "STATUS_REJECTED", + "STATUS_STOPPED", + "STATUS_CANCELLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates a transfer still being processed\n - STATUS_DONE: Indicates a transfer accepted by the Vega network\n - STATUS_REJECTED: Indicates a transfer rejected by the Vega network\n - STATUS_STOPPED: Indicates a transfer stopped by the Vega network\ne.g: no funds left to cover the transfer\n - STATUS_CANCELLED: Indicates a transfer cancelled by the user" + }, + "v1TxErrorEvent": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "title": "Unique party ID for the related party" + }, + "errMsg": { + "type": "string", + "title": "Error message describing what went wrong" + }, + "orderSubmission": { + "$ref": "#/definitions/v1OrderSubmission" + }, + "orderAmendment": { + "$ref": "#/definitions/v1OrderAmendment" + }, + "orderCancellation": { + "$ref": "#/definitions/v1OrderCancellation" + }, + "proposal": { + "$ref": "#/definitions/v1ProposalSubmission" + }, + "voteSubmission": { + "$ref": "#/definitions/v1VoteSubmission" + }, + "liquidityProvisionSubmission": { + "$ref": "#/definitions/v1LiquidityProvisionSubmission" + }, + "withdrawSubmission": { + "$ref": "#/definitions/v1WithdrawSubmission" + }, + "delegateSubmission": { + "$ref": "#/definitions/v1DelegateSubmission" + }, + "undelegateSubmission": { + "$ref": "#/definitions/v1UndelegateSubmission" + }, + "liquidityProvisionCancellation": { + "$ref": "#/definitions/v1LiquidityProvisionCancellation" + }, + "liquidityProvisionAmendment": { + "$ref": "#/definitions/v1LiquidityProvisionAmendment" + }, + "transfer": { + "$ref": "#/definitions/vegacommandsv1Transfer" + }, + "cancelTransfer": { + "$ref": "#/definitions/commandsv1CancelTransfer" + }, + "announceNode": { + "$ref": "#/definitions/v1AnnounceNode" + }, + "oracleDataSubmission": { + "$ref": "#/definitions/v1OracleDataSubmission" + }, + "protocolUpgradeProposal": { + "$ref": "#/definitions/v1ProtocolUpgradeProposal" + }, + "issueSignatures": { + "$ref": "#/definitions/v1IssueSignatures" + }, + "batchMarketInstructions": { + "$ref": "#/definitions/v1BatchMarketInstructions" + } + } + }, + "v1TxVersion": { + "type": "string", + "enum": [ + "TX_VERSION_UNSPECIFIED", + "TX_VERSION_V2", + "TX_VERSION_V3" + ], + "default": "TX_VERSION_UNSPECIFIED", + "description": "Current supported version of the transaction inside the network.\n\n - TX_VERSION_UNSPECIFIED: Represents an unspecified or missing value from the input\n - TX_VERSION_V2: This version requires the proof-of-work added to the transaction.\n - TX_VERSION_V3: This version requires the chain ID to be appended in front of the input data\nbyte, with a `\\0` delimiter." + }, + "v1UndelegateSubmission": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Optional, if not specified = ALL.\nIf provided, this field must be an unsigned integer passed as a string\nand needs to be scaled using the asset decimal places for the token." + }, + "method": { + "$ref": "#/definitions/UndelegateSubmissionMethod", + "description": "Method of delegation." + } + } + }, + "v1UpdateTeam": { + "type": "object", + "properties": { + "teamId": { + "type": "string", + "description": "Team ID of the team to update." + }, + "enableRewards": { + "type": "boolean", + "description": "Specifies whether the team is eligible for team based rewards." + }, + "name": { + "type": "string", + "description": "Optional team name to be added to the referral banner." + }, + "teamUrl": { + "type": "string", + "description": "Optional link to a team forum, discord, etc." + }, + "avatarUrl": { + "type": "string", + "description": "Optional link to an image to be used as the team avatar." + } + }, + "title": "Request for updating a team's properties" + }, + "v1ValidatorRankingEvent": { + "type": "object", + "properties": { + "nodeId": { + "type": "string" + }, + "stakeScore": { + "type": "string", + "title": "Stake based score - no anti-whaling" + }, + "performanceScore": { + "type": "string", + "title": "Performance base score" + }, + "rankingScore": { + "type": "string", + "title": "Final score" + }, + "previousStatus": { + "type": "string", + "title": "Status of the validator in the previous epoch" + }, + "nextStatus": { + "type": "string", + "title": "Status of the validator in the next epoch" + }, + "epochSeq": { + "type": "string", + "title": "Epoch seq for which the status is valid" + }, + "tmVotingPower": { + "type": "integer", + "format": "int64", + "title": "Tendermint voting power of the validator" + } + }, + "title": "Event that explains the status of the validator for the coming epoch" + }, + "v1ValidatorScoreEvent": { + "type": "object", + "properties": { + "nodeId": { + "type": "string" + }, + "epochSeq": { + "type": "string" + }, + "validatorScore": { + "type": "string" + }, + "normalisedScore": { + "type": "string" + }, + "validatorPerformance": { + "type": "string" + }, + "rawValidatorScore": { + "type": "string" + }, + "validatorStatus": { + "type": "string" + }, + "multisigScore": { + "type": "string" + } + }, + "title": "ValidatorScoreEvent is the score a validator gets for a given epoch" + }, + "v1ValidatorUpdate": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the validator node" + }, + "vegaPubKey": { + "type": "string", + "title": "Vega public key of validator node" + }, + "ethereumAddress": { + "type": "string", + "title": "Ethereum public key of validator node" + }, + "tmPubKey": { + "type": "string", + "title": "Public key of Tendermint" + }, + "infoUrl": { + "type": "string", + "title": "URL with more info on the node" + }, + "country": { + "type": "string", + "title": "Country code (ISO 3166-1 alpha-2) for the location of the node" + }, + "name": { + "type": "string", + "title": "Name of the validator" + }, + "avatarUrl": { + "type": "string", + "title": "AvatarURL of the validator" + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "title": "Vega public key derivation index" + }, + "added": { + "type": "boolean", + "title": "Flag indicating if the validator has been added to or removed from vega" + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the announced pending node will start participating in the network" + }, + "submitterAddress": { + "type": "string", + "title": "Ethereum public key being used as the submitter to allow automatic signature generation" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the node was announced or removed from the network" + } + }, + "title": "Validator update event contains information about validator node" + }, + "v1VoteSpamStatistic": { + "type": "object", + "properties": { + "proposal": { + "type": "string", + "description": "Unique ID of the proposal being voted on by the party." + }, + "countForEpoch": { + "type": "string", + "format": "uint64", + "title": "Current vote count received from the party for the given proposal during this epoch" + }, + "minTokensRequired": { + "type": "string", + "title": "Effective minimum number of tokens required to vote on the proposal" + } + }, + "description": "Vote statistics for the voting spam policies\nwhich are calculated as a ratio of the total votes\nthat have been rejected." + }, + "v1VoteSpamStatistics": { + "type": "object", + "properties": { + "statistics": { + "type": "array", + "items": { + "$ref": "#/definitions/v1VoteSpamStatistic" + }, + "title": "List of statistics for proposals voted on by the party" + }, + "maxForEpoch": { + "type": "string", + "format": "uint64", + "title": "Maximum number of votes per proposal allowed in an epoch" + }, + "bannedUntil": { + "type": "string", + "title": "If blocked the timestamp when the party will be unblocked as RFC3339Nano" + } + }, + "title": "Voting statistics by proposal for a given party for the current epoch" + }, + "v1VoteSubmission": { + "type": "object", + "properties": { + "proposalId": { + "type": "string", + "description": "Submit vote for the specified proposal ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Actual value of the vote." + } + }, + "description": "Command to submit a new vote for a governance proposal." + }, + "v1WithdrawSubmission": { + "type": "object", + "properties": { + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to be withdrawn." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Represents the submission request to withdraw funds for a party on Vega" + }, + "vegaAccount": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique account ID, used internally by Vega." + }, + "owner": { + "type": "string", + "description": "Party that the account belongs to, special values include `network`, which represents the Vega network and is\nmost commonly seen during liquidation of distressed trading positions." + }, + "balance": { + "type": "string", + "description": "Balance of the asset, the balance is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places\nand importantly balances cannot be negative." + }, + "asset": { + "type": "string", + "description": "Asset ID for the account." + }, + "marketId": { + "type": "string", + "description": "Market ID for the account, if `AccountType.ACCOUNT_TYPE_GENERAL` this will be empty." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type related to this account." + } + }, + "title": "Represents an account for an asset on Vega for a particular owner or party" + }, + "vegaAccountDetails": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID of the asset for this account." + }, + "type": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the account." + }, + "owner": { + "type": "string", + "description": "Not specified if network account." + }, + "marketId": { + "type": "string", + "description": "Not specified if account is not related to a market." + } + } + }, + "vegaAccountType": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ], + "default": "ACCOUNT_TYPE_UNSPECIFIED", + "description": "- ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "title": "Various collateral/account types as used by Vega" + }, + "vegaAsset": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Internal identifier of the asset." + }, + "details": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Definition of the external source for this asset." + }, + "status": { + "$ref": "#/definitions/vegaAssetStatus", + "description": "Status of the asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetails": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the asset (e.g: Great British Pound)." + }, + "symbol": { + "type": "string", + "description": "Symbol of the asset (e.g: GBP)." + }, + "decimals": { + "type": "string", + "format": "uint64", + "description": "Number of decimal / precision handled by this asset." + }, + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "builtinAsset": { + "$ref": "#/definitions/vegaBuiltinAsset", + "description": "Vega built-in asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20", + "description": "Ethereum ERC20 asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetailsUpdate": { + "type": "object", + "properties": { + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Update", + "description": "Ethereum ERC20 asset update." + } + }, + "description": "Changes to apply on an existing asset." + }, + "vegaAssetStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PROPOSED", + "STATUS_REJECTED", + "STATUS_PENDING_LISTING", + "STATUS_ENABLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_PROPOSED: Asset is proposed and under vote\n - STATUS_REJECTED: Asset has been rejected from governance\n - STATUS_PENDING_LISTING: Asset is pending listing from the bridge\n - STATUS_ENABLED: Asset is fully usable in the network" + }, + "vegaAuctionDuration": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "format": "int64", + "description": "Duration of the auction in seconds." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Target uncrossing trading volume." + } + }, + "title": "Auction duration is used to configure 3 auction periods:\n1. `duration \u003e 0`, `volume == 0`:\n The auction will last for at least N seconds\n2. `duration == 0`, `volume \u003e 0`:\n The auction will end once the given volume will match at uncrossing\n3. `duration \u003e 0`, `volume \u003e 0`:\n The auction will take at least N seconds, but can end sooner if the market can trade a certain volume" + }, + "vegaAuctionTrigger": { + "type": "string", + "enum": [ + "AUCTION_TRIGGER_UNSPECIFIED", + "AUCTION_TRIGGER_BATCH", + "AUCTION_TRIGGER_OPENING", + "AUCTION_TRIGGER_PRICE", + "AUCTION_TRIGGER_LIQUIDITY", + "AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET", + "AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS", + "AUCTION_TRIGGER_GOVERNANCE_SUSPENSION" + ], + "default": "AUCTION_TRIGGER_UNSPECIFIED", + "description": "- AUCTION_TRIGGER_UNSPECIFIED: Default value for AuctionTrigger, no auction triggered\n - AUCTION_TRIGGER_BATCH: Batch auction\n - AUCTION_TRIGGER_OPENING: Opening auction\n - AUCTION_TRIGGER_PRICE: Price monitoring trigger\n - AUCTION_TRIGGER_LIQUIDITY: Deprecated\n - AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET: Liquidity auction due to not enough committed liquidity\n - AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS: Liquidity auction due to not being able to deploy LP orders because there's nothing to peg on one or both sides of the book\n - AUCTION_TRIGGER_GOVERNANCE_SUSPENSION: Market is suspended and put into auction via governance", + "title": "Auction triggers indicate what condition triggered an auction (if market is in auction mode)" + }, + "vegaBuiltinAsset": { + "type": "object", + "properties": { + "maxFaucetAmountMint": { + "type": "string", + "description": "Maximum amount that can be requested by a party through the built-in asset faucet at a time." + } + }, + "title": "Vega internal asset" + }, + "vegaCancelTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaCancelTransferConfiguration", + "title": "Configuration for cancellation of a governance-initiated transfer" + } + } + }, + "vegaCancelTransferConfiguration": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "ID of the governance transfer proposal." + } + } + }, + "vegaChainStatus": { + "type": "string", + "enum": [ + "CHAIN_STATUS_UNSPECIFIED", + "CHAIN_STATUS_DISCONNECTED", + "CHAIN_STATUS_REPLAYING", + "CHAIN_STATUS_CONNECTED" + ], + "default": "CHAIN_STATUS_UNSPECIFIED", + "description": "- CHAIN_STATUS_UNSPECIFIED: Default value, always invalid\n - CHAIN_STATUS_DISCONNECTED: Blockchain is disconnected\n - CHAIN_STATUS_REPLAYING: Blockchain is replaying historic transactions\n - CHAIN_STATUS_CONNECTED: Blockchain is connected and receiving transactions", + "title": "Vega blockchain status as reported by the node the caller is connected to" + }, + "vegaDataSourceDefinition": { + "type": "object", + "properties": { + "internal": { + "$ref": "#/definitions/vegaDataSourceDefinitionInternal" + }, + "external": { + "$ref": "#/definitions/vegaDataSourceDefinitionExternal" + } + }, + "description": "Represents the top level object that handles data sources.\nData source definition can be external or internal, with whatever\nnumber of data sources are defined for each type in the child objects below." + }, + "vegaDataSourceDefinitionExternal": { + "type": "object", + "properties": { + "oracle": { + "$ref": "#/definitions/vegaDataSourceSpecConfiguration" + }, + "ethOracle": { + "$ref": "#/definitions/vegaEthCallSpec", + "description": "Contains the data specification that is received from Ethereum sources." + } + }, + "description": "DataSourceDefinitionExternal is the top level object used for all external\ndata sources. It contains one of any of the defined `SourceType` variants." + }, + "vegaDataSourceDefinitionInternal": { + "type": "object", + "properties": { + "time": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTime" + }, + "timeTrigger": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTimeTrigger" + } + }, + "description": "Top level object used for all internal data sources.\nIt contains one of any of the defined source type variants." + }, + "vegaDataSourceSpec": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Hash generated from the DataSpec data." + }, + "createdAt": { + "type": "string", + "format": "int64", + "title": "Creation date and time" + }, + "updatedAt": { + "type": "string", + "format": "int64", + "title": "Last Updated timestamp" + }, + "data": { + "$ref": "#/definitions/vegaDataSourceDefinition" + }, + "status": { + "$ref": "#/definitions/vegaDataSourceSpecStatus", + "title": "Status describes the status of the data source spec" + } + }, + "description": "Data source spec describes the data source base that a product or a risk\nmodel wants to get from the data source engine. This message contains\nadditional information used by the API." + }, + "vegaDataSourceSpecConfiguration": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + }, + "description": "Signers is the list of authorized signatures that signed the data for this\nsource. All the signatures in the data source data should be contained in\nthis external source. All the signatures in the data should be contained in\nthis list." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "description": "Filters describes which source data are considered of interest or not for\nthe product (or the risk model)." + } + }, + "description": "All types of external data sources use the same configuration set for meeting\nrequirements in order for the data to be useful for Vega - valid signatures\nand matching filters." + }, + "vegaDataSourceSpecConfigurationTime": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps should meet in order to be considered." + } + }, + "description": "Internal data source used for emitting timestamps." + }, + "vegaDataSourceSpecConfigurationTimeTrigger": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps need to meet in order to be considered." + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1InternalTimeTrigger" + }, + "title": "An internal time trigger" + } + }, + "description": "Internal data source used for emitting timestamps automatically using predefined intervals and conditions." + }, + "vegaDataSourceSpecStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_DEACTIVATED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value.\n - STATUS_ACTIVE: STATUS_ACTIVE describes an active data source spec.\n - STATUS_DEACTIVATED: STATUS_DEACTIVATED describes a data source spec that is not listening to\ndata anymore.", + "title": "Status describe the status of the data source spec" + }, + "vegaDataSourceSpecToFutureBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the Future will use the value of\nthis property as settlement data." + }, + "tradingTerminationProperty": { + "type": "string", + "description": "Name of the property in the data source data that signals termination of trading." + } + }, + "title": "DataSourceSpecToFutureBinding describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDataSourceSpecToPerpetualBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + }, + "settlementScheduleProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + } + }, + "title": "Describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDeposit": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the deposit." + }, + "status": { + "$ref": "#/definitions/vegaDepositStatus", + "description": "Status of the deposit." + }, + "partyId": { + "type": "string", + "description": "Party ID of the user initiating the deposit." + }, + "asset": { + "type": "string", + "description": "Vega asset targeted by this deposit." + }, + "amount": { + "type": "string", + "description": "Amount to be deposited. This field is an unsigned integer scaled to the asset's decimal places." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction from the foreign chain." + }, + "creditedTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the Vega account was updated with the deposit." + }, + "createdTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the deposit was created on the Vega network." + } + }, + "title": "Deposit on to the Vega network" + }, + "vegaDepositStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_OPEN", + "STATUS_CANCELLED", + "STATUS_FINALIZED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_OPEN: Deposit is being processed by the network\n - STATUS_CANCELLED: Deposit has been cancelled by the network\n - STATUS_FINALIZED: Deposit has been finalised and accounts have been updated", + "title": "Status of the deposit" + }, + "vegaDispatchMetric": { + "type": "string", + "enum": [ + "DISPATCH_METRIC_UNSPECIFIED", + "DISPATCH_METRIC_MAKER_FEES_PAID", + "DISPATCH_METRIC_MAKER_FEES_RECEIVED", + "DISPATCH_METRIC_LP_FEES_RECEIVED", + "DISPATCH_METRIC_MARKET_VALUE" + ], + "default": "DISPATCH_METRIC_UNSPECIFIED", + "title": "- DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that is using the total maker fees paid in the market\n - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that is using the total maker fees received in the market\n - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that is using the total LP fees received in the market\n - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that is using total value of the market if above the required threshold and not paid given proposer bonus yet" + }, + "vegaDispatchStrategy": { + "type": "object", + "properties": { + "assetForMetric": { + "type": "string", + "description": "Asset to use for metric." + }, + "metric": { + "$ref": "#/definitions/vegaDispatchMetric", + "description": "Metric to apply." + }, + "markets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional markets in scope." + } + } + }, + "vegaERC20": { + "type": "object", + "properties": { + "contractAddress": { + "type": "string", + "description": "Address of the contract for the token, on the ethereum network." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + }, + "title": "ERC20 token based asset, living on the ethereum network" + }, + "vegaERC20Update": { + "type": "object", + "properties": { + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address.\nThis will be interpreted against the asset decimals.\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + } + }, + "vegaEpochAction": { + "type": "string", + "enum": [ + "EPOCH_ACTION_UNSPECIFIED", + "EPOCH_ACTION_START", + "EPOCH_ACTION_END" + ], + "default": "EPOCH_ACTION_UNSPECIFIED", + "description": "- EPOCH_ACTION_START: Epoch update is for a new epoch.\n - EPOCH_ACTION_END: Epoch update is for the end of an epoch.", + "title": "What epoch action has occurred" + }, + "vegaErc20WithdrawExt": { + "type": "object", + "properties": { + "receiverAddress": { + "type": "string", + "description": "Address into which the bridge will release the funds." + } + }, + "title": "Extension of data required for the withdraw submissions" + }, + "vegaEthCallSpec": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Ethereum address of the contract to call." + }, + "abi": { + "type": "string", + "description": "The ABI of that contract." + }, + "method": { + "type": "string", + "description": "Name of the method on the contract to call." + }, + "args": { + "type": "array", + "items": { + "type": "object" + }, + "description": "List of arguments to pass to method call.\nProtobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum\ntype according to the ABI." + }, + "trigger": { + "$ref": "#/definitions/vegaEthCallTrigger", + "description": "Conditions for determining when to call the contract method." + }, + "requiredConfirmations": { + "type": "string", + "format": "uint64", + "title": "Number of confirmations required before the query is considered verified" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "title": "Filters the data returned from the contract method" + }, + "normalisers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNormaliser" + }, + "description": "Normalisers are used to convert the data returned from the contract method\ninto a standard format. The key of the map is the name of the property,\nwhich identifies the specific piece of data to other parts of the data\nsourcing framework, for example filters. The value is a JSONPath expression\nfor expressing where in the contract call result the required data is\nlocated, for example $[0] indicates the first result. $[1].price would look\nin the second result returned from the contract for a structure with a key\ncalled 'price' and use that if it exists." + } + }, + "description": "Specifies a data source that derives its content from calling a read method\non an Ethereum contract." + }, + "vegaEthCallTrigger": { + "type": "object", + "properties": { + "timeTrigger": { + "$ref": "#/definitions/vegaEthTimeTrigger" + } + }, + "description": "Determines when the contract method should be called." + }, + "vegaEthTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "uint64", + "description": "Trigger when the Ethereum time is greater or equal to this time, in Unix\nseconds." + }, + "every": { + "type": "string", + "format": "uint64", + "description": "Repeat the call every n seconds after the initial call. If no time for\ninitial call was specified, begin repeating immediately." + }, + "until": { + "type": "string", + "format": "uint64", + "description": "If repeating, stop once Ethereum time is greater than this time, in Unix\nseconds. If not set, then repeat indefinitely." + } + }, + "description": "Trigger for an Ethereum call based on the Ethereum block timestamp. Can be\none-off or repeating." + }, + "vegaExternalDataSourceSpec": { + "type": "object", + "properties": { + "spec": { + "$ref": "#/definitions/vegaDataSourceSpec" + } + } + }, + "vegaFee": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Fee amount paid to the non-aggressive party of the trade. This field is an unsigned integer scaled to the asset's decimal places." + }, + "infrastructureFee": { + "type": "string", + "description": "Fee amount paid for maintaining the Vega infrastructure. This field is an unsigned integer scaled using the asset's decimal places." + }, + "liquidityFee": { + "type": "string", + "description": "Fee amount paid to market makers. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents any fees paid by a party, resulting from a trade" + }, + "vegaFeeFactors": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Market maker fee charged network wide." + }, + "infrastructureFee": { + "type": "string", + "description": "Infrastructure fee charged network wide for staking and governance." + }, + "liquidityFee": { + "type": "string", + "description": "Liquidity fee applied per market for market making." + } + }, + "title": "Fee factors definition" + }, + "vegaFees": { + "type": "object", + "properties": { + "factors": { + "$ref": "#/definitions/vegaFeeFactors", + "description": "Fee factors." + } + }, + "title": "Fees definition" + }, + "vegaFuture": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the future." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the settlement data source filter." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the trading termination data source filter." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data spec and the data source." + } + }, + "title": "Future product definition" + }, + "vegaFutureProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The external data source spec describing the data source of trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaGovernanceTransferType": { + "type": "string", + "enum": [ + "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED", + "GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING", + "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT" + ], + "default": "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED" + }, + "vegaIcebergOrder": { + "type": "object", + "properties": { + "peakSize": { + "type": "string", + "format": "uint64", + "description": "Size of the order that will be made visible if the iceberg order is replenished after trading." + }, + "minimumVisibleSize": { + "type": "string", + "format": "uint64", + "description": "If the visible size of the order falls below this value, it will be replenished back to the peak size using the reserved amount." + }, + "reservedRemaining": { + "type": "string", + "format": "uint64", + "description": "Size of the order that is reserved and used to restore the iceberg's peak when it is refreshed." + } + }, + "title": "Details of an iceberg order" + }, + "vegaInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique instrument ID." + }, + "code": { + "type": "string", + "description": "Code for the instrument." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + }, + "metadata": { + "$ref": "#/definitions/vegaInstrumentMetadata", + "description": "Collection of instrument meta-data." + }, + "future": { + "$ref": "#/definitions/vegaFuture", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpot", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetual", + "description": "Perpetual." + } + }, + "title": "Instrument definition" + }, + "vegaInstrumentConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Instrument name." + }, + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaFutureProduct", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpotProduct", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaInstrumentMetadata": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of 0 or more tags." + } + }, + "title": "Instrument metadata definition" + }, + "vegaLedgerEntry": { + "type": "object", + "properties": { + "fromAccount": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "One or more accounts to transfer from." + }, + "toAccount": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "One or more accounts to transfer to." + }, + "amount": { + "type": "string", + "description": "Amount to transfer. This field is an unsigned integer scaled to the asset's decimal places." + }, + "type": { + "$ref": "#/definitions/vegaTransferType", + "description": "Transfer type for this entry." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in nanoseconds of when the ledger entry was created." + }, + "fromAccountBalance": { + "type": "string", + "description": "Sender account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places." + }, + "toAccountBalance": { + "type": "string", + "description": "Receiver account balance after the transfer. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents a ledger entry on Vega" + }, + "vegaLedgerMovement": { + "type": "object", + "properties": { + "entries": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLedgerEntry" + }, + "description": "All the entries for these ledger movements." + }, + "balances": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPostTransferBalance" + }, + "description": "Resulting balances once the ledger movement are applied." + } + } + }, + "vegaLiquidityMonitoringParameters": { + "type": "object", + "properties": { + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "triggeringRatio": { + "type": "string", + "description": "Specifies the triggering ratio for entering liquidity auction." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction." + } + }, + "title": "LiquidityMonitoringParameters contains settings used for liquidity monitoring" + }, + "vegaLiquidityOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Pegged reference point for the order." + }, + "proportion": { + "type": "integer", + "format": "int64", + "description": "Relative proportion of the commitment to be allocated at a price level." + }, + "offset": { + "type": "string", + "description": "Offset/amount of units away for the order. This field is an unsigned integer scaled using the market's decimal places." + } + }, + "title": "Represents a liquidity order" + }, + "vegaLiquidityOrderReference": { + "type": "object", + "properties": { + "orderId": { + "type": "string", + "description": "Unique ID of the pegged order generated to fulfil this liquidity order." + }, + "liquidityOrder": { + "$ref": "#/definitions/vegaLiquidityOrder", + "description": "Liquidity order from the original submission." + } + }, + "title": "Pair of a liquidity order and the ID of the generated order" + }, + "vegaLiquidityProviderFeeShare": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Liquidity provider party ID." + }, + "equityLikeShare": { + "type": "string", + "description": "Share own by this liquidity provider." + }, + "averageEntryValuation": { + "type": "string", + "description": "Average entry valuation of the liquidity provider for the market." + }, + "averageScore": { + "type": "string", + "description": "Average liquidity score." + }, + "virtualStake": { + "type": "string", + "description": "The virtual stake of this liquidity provider." + } + }, + "title": "Equity like share of liquidity fee for each liquidity provider" + }, + "vegaLiquidityProvision": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the liquidity provision." + }, + "partyId": { + "type": "string", + "description": "Unique party ID for the creator of the provision." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was created." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was updated." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "commitmentAmount": { + "type": "string", + "description": "Specified as a unitless number that represents the amount of settlement asset of the market.\nThis field is an unsigned integer scaled to the asset's decimal places." + }, + "fee": { + "type": "string", + "description": "Nominated liquidity fee factor, which is an input to the calculation of taker fees on the market, as per setting fees and rewarding liquidity providers." + }, + "sells": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrderReference" + }, + "description": "Set of liquidity sell orders to meet the liquidity provision obligation." + }, + "buys": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityOrderReference" + }, + "description": "Set of liquidity buy orders to meet the liquidity provision obligation." + }, + "version": { + "type": "string", + "format": "uint64", + "description": "Version of this liquidity provision order." + }, + "status": { + "$ref": "#/definitions/vegaLiquidityProvisionStatus", + "description": "Status of this liquidity provision order." + }, + "reference": { + "type": "string", + "description": "Reference shared between this liquidity provision and all its orders." + } + }, + "title": "Liquidity provider commitment" + }, + "vegaLiquidityProvisionStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_STOPPED", + "STATUS_CANCELLED", + "STATUS_REJECTED", + "STATUS_UNDEPLOYED", + "STATUS_PENDING" + ], + "default": "STATUS_UNSPECIFIED", + "description": "Status of a liquidity provision order.\n\n - STATUS_UNSPECIFIED: Always invalid\n - STATUS_ACTIVE: Liquidity provision is active\n - STATUS_STOPPED: Liquidity provision was stopped by the network\n - STATUS_CANCELLED: Liquidity provision was cancelled by the liquidity provider\n - STATUS_REJECTED: Liquidity provision was invalid and got rejected\n - STATUS_UNDEPLOYED: Liquidity provision is valid and accepted by network, but orders aren't deployed\n - STATUS_PENDING: Liquidity provision is valid and accepted by network\nbut has never been deployed. If when it's possible to deploy the orders for the first time\nmargin check fails, then they will be cancelled without any penalties." + }, + "vegaLiquiditySLAParameters": { + "type": "object", + "properties": { + "priceRange": { + "type": "string" + }, + "commitmentMinTimeFraction": { + "type": "string", + "description": "Specifies the minimum fraction of time LPs must spend \"on the book\" providing their committed liquidity." + }, + "providersFeeCalculationTimeStep": { + "type": "string", + "format": "int64", + "description": "Specifies how often the quality of liquidity supplied by the LPs is evaluated and fees arising from that period are earmarked for specific parties." + }, + "performanceHysteresisEpochs": { + "type": "string", + "format": "uint64", + "description": "Specifies the number of liquidity epochs over which past performance will continue to affect rewards." + }, + "slaCompetitionFactor": { + "type": "string", + "description": "Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers\nthat achieved a higher SLA performance than them." + } + } + }, + "vegaLogNormalModelParams": { + "type": "object", + "properties": { + "mu": { + "type": "number", + "format": "double", + "description": "Mu parameter, annualised growth rate of the underlying asset." + }, + "r": { + "type": "number", + "format": "double", + "description": "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number." + }, + "sigma": { + "type": "number", + "format": "double", + "description": "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number." + } + }, + "title": "Risk model parameters for log normal" + }, + "vegaLogNormalRiskModel": { + "type": "object", + "properties": { + "riskAversionParameter": { + "type": "number", + "format": "double", + "description": "Risk Aversion Parameter." + }, + "tau": { + "type": "number", + "format": "double", + "description": "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall\ncalculation to obtain the maintenance margin, must be a strictly non-negative real number." + }, + "params": { + "$ref": "#/definitions/vegaLogNormalModelParams", + "description": "Risk model parameters for log normal." + } + }, + "title": "Risk model for log normal" + }, + "vegaMarginCalculator": { + "type": "object", + "properties": { + "scalingFactors": { + "$ref": "#/definitions/vegaScalingFactors", + "description": "Scaling factors for margin calculation." + } + }, + "title": "Margin Calculator definition" + }, + "vegaMarginLevels": { + "type": "object", + "properties": { + "maintenanceMargin": { + "type": "string", + "description": "Maintenance margin value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "searchLevel": { + "type": "string", + "description": "Margin search level value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "initialMargin": { + "type": "string", + "description": "Initial margin value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "collateralReleaseLevel": { + "type": "string", + "description": "Collateral release level value. This field is an unsigned integer scaled to the asset's decimal places." + }, + "partyId": { + "type": "string", + "description": "Party ID for whom the margin levels apply." + }, + "marketId": { + "type": "string", + "description": "Market ID for which the margin levels apply." + }, + "asset": { + "type": "string", + "description": "Asset ID for which the margin levels apply." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the ledger entry was created." + } + }, + "title": "Represents the margin levels for a party on a market at a given time" + }, + "vegaMarket": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the market." + }, + "tradableInstrument": { + "$ref": "#/definitions/vegaTradableInstrument", + "description": "Tradable instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Number of decimal places that a price must be shifted by in order to get a\ncorrect price denominated in the currency of the market, for example:\n`realPrice = price / 10^decimalPlaces`." + }, + "fees": { + "$ref": "#/definitions/vegaFees", + "description": "Fees configuration that apply to the market." + }, + "openingAuction": { + "$ref": "#/definitions/vegaAuctionDuration", + "description": "Auction duration specifies how long the opening auction will run (minimum\nduration and optionally a minimum traded volume)." + }, + "priceMonitoringSettings": { + "$ref": "#/definitions/vegaPriceMonitoringSettings", + "description": "PriceMonitoringSettings for the market." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "LiquidityMonitoringParameters for the market." + }, + "tradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current mode of execution of the market." + }, + "state": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "marketTimestamps": { + "$ref": "#/definitions/vegaMarketTimestamps", + "description": "Timestamps for when the market state changes." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "The number of decimal places for a position." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "parentMarketId": { + "type": "string", + "title": "ID of the market this market succeeds" + }, + "insurancePoolFraction": { + "type": "string", + "description": "The fraction of the parent market's insurance pool that this market inherits; range 0 through 1." + }, + "successorMarketId": { + "type": "string", + "description": "ID of the market that succeeds this market if it exists. This will be populated by the system when the successor market is enabled." + }, + "liquiditySlaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Liquidity SLA parameters for the market." + } + }, + "title": "Market definition" + }, + "vegaMarketData": { + "type": "object", + "properties": { + "markPrice": { + "type": "string", + "description": "Mark price, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidPrice": { + "type": "string", + "description": "Highest price level on an order book for buy orders, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being bid at the best bid price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestOfferPrice": { + "type": "string", + "description": "Lowest price level on an order book for offer orders. This field is an unsigned integer scaled to the market's decimal places." + }, + "bestOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being offered at the best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestStaticBidPrice": { + "type": "string", + "description": "Highest price on the order book for buy orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticBidVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static bid price excluding pegged orders." + }, + "bestStaticOfferPrice": { + "type": "string", + "description": "Lowest price on the order book for sell orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static offer price, excluding pegged orders." + }, + "midPrice": { + "type": "string", + "description": "Arithmetic average of the best bid price and best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "staticMidPrice": { + "type": "string", + "description": "Arithmetic average of the best static bid price and best static offer price.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "market": { + "type": "string", + "title": "Market ID for the data" + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which this mark price was relevant." + }, + "openInterest": { + "type": "string", + "format": "uint64", + "description": "Sum of the size of all positions greater than zero on the market." + }, + "auctionEnd": { + "type": "string", + "format": "int64", + "description": "Time in seconds until the end of the auction (zero if currently not in auction period)." + }, + "auctionStart": { + "type": "string", + "format": "int64", + "description": "Time until next auction, or start time of the current auction if market is in auction period." + }, + "indicativePrice": { + "type": "string", + "description": "Indicative price (zero if not in auction). This field is an unsigned scaled to the market's decimal places." + }, + "indicativeVolume": { + "type": "string", + "format": "uint64", + "description": "Indicative volume (zero if not in auction)." + }, + "marketTradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current trading mode for the market." + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market is in an auction trading mode, this field indicates what triggered the auction." + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market auction is extended, this field indicates what caused the extension." + }, + "targetStake": { + "type": "string", + "description": "Targeted stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "suppliedStake": { + "type": "string", + "description": "Available stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "priceMonitoringBounds": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringBounds" + }, + "description": "One or more price monitoring bounds for the current timestamp." + }, + "marketValueProxy": { + "type": "string", + "description": "Market value proxy." + }, + "liquidityProviderFeeShare": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProviderFeeShare" + }, + "description": "Equity like share of liquidity fee for each liquidity provider." + }, + "marketState": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "nextMarkToMarket": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the next mark-to-market calculation will occur." + }, + "lastTradedPrice": { + "type": "string", + "description": "Last traded price of the market. This field is an unsigned integer scaled to the market's decimal places." + }, + "marketGrowth": { + "type": "string", + "description": "Market growth at the last market time window." + } + }, + "title": "Represents data generated by a market when open" + }, + "vegaMarketState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_PROPOSED", + "STATE_REJECTED", + "STATE_PENDING", + "STATE_CANCELLED", + "STATE_ACTIVE", + "STATE_SUSPENDED", + "STATE_CLOSED", + "STATE_TRADING_TERMINATED", + "STATE_SETTLED", + "STATE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, invalid\n - STATE_PROPOSED: Governance proposal valid and accepted\n - STATE_REJECTED: Outcome of governance votes is to reject the market\n - STATE_PENDING: Governance vote passes/wins\n - STATE_CANCELLED: Market triggers cancellation condition or governance\nvotes to close before market becomes Active\n - STATE_ACTIVE: Enactment date reached and usual auction exit checks pass\n - STATE_SUSPENDED: Price monitoring or liquidity monitoring trigger\n - STATE_CLOSED: Governance vote to close (Not currently implemented)\n - STATE_TRADING_TERMINATED: Defined by the product (i.e. from a product parameter,\nspecified in market definition, giving close date/time)\n - STATE_SETTLED: Settlement triggered and completed as defined by product\n - STATE_SUSPENDED_VIA_GOVERNANCE: Market has been suspended via governance", + "title": "Current state of the market" + }, + "vegaMarketStateUpdateType": { + "type": "string", + "enum": [ + "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "MARKET_STATE_UPDATE_TYPE_TERMINATE", + "MARKET_STATE_UPDATE_TYPE_SUSPEND", + "MARKET_STATE_UPDATE_TYPE_RESUME" + ], + "default": "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "title": "- MARKET_STATE_UPDATE_TYPE_UNSPECIFIED: Default value, always invalid\n - MARKET_STATE_UPDATE_TYPE_TERMINATE: Request to terminate a market via governance\n - MARKET_STATE_UPDATE_TYPE_SUSPEND: Request to suspend a market via governance\n - MARKET_STATE_UPDATE_TYPE_RESUME: Request to resume a market via governance" + }, + "vegaMarketTimestamps": { + "type": "object", + "properties": { + "proposed": { + "type": "string", + "format": "int64", + "description": "Time when the market is first proposed." + }, + "pending": { + "type": "string", + "format": "int64", + "description": "Time when the market has been voted in and began its opening auction." + }, + "open": { + "type": "string", + "format": "int64", + "description": "Time when the market has left the opening auction and is ready to accept trades." + }, + "close": { + "type": "string", + "format": "int64", + "description": "Time when the market closed." + } + }, + "title": "Time stamps for important times about creating, enacting etc the market" + }, + "vegaNetworkLimits": { + "type": "object", + "properties": { + "canProposeMarket": { + "type": "boolean", + "description": "Are market proposals allowed at this point in time." + }, + "canProposeAsset": { + "type": "boolean", + "description": "Are asset proposals allowed at this point in time." + }, + "proposeMarketEnabled": { + "type": "boolean", + "description": "Are market proposals enabled on this chain." + }, + "proposeAssetEnabled": { + "type": "boolean", + "description": "Are asset proposals enabled on this chain." + }, + "genesisLoaded": { + "type": "boolean", + "description": "True once the genesis file is loaded." + }, + "proposeMarketEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which market proposals will be enabled (0 indicates not set)." + }, + "proposeAssetEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which asset proposals will be enabled (0 indicates not set)." + }, + "canProposeSpotMarket": { + "type": "boolean", + "description": "Are spot market proposals allowed at this point in time." + }, + "canProposePerpetualMarket": { + "type": "boolean", + "description": "Are perpetual market proposals allowed at this point in time." + } + }, + "title": "Network limits, defined in the genesis file" + }, + "vegaNetworkParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Unique key of the network parameter." + }, + "value": { + "type": "string", + "description": "Value for the network parameter." + } + }, + "title": "Represents a network parameter on Vega" + }, + "vegaNewAsset": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Configuration of the new asset." + } + }, + "title": "New asset on Vega" + }, + "vegaNewFreeform": { + "type": "object", + "description": "Freeform proposal\nThis message is just used as a placeholder to sort out the nature of the\nproposal once parsed." + }, + "vegaNewMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewMarketConfiguration", + "description": "Configuration of the new market." + } + }, + "title": "New market on Vega" + }, + "vegaNewMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New futures market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new futures market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the futures market can be." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "successor": { + "$ref": "#/definitions/vegaSuccessorConfiguration", + "description": "Successor configuration. If this proposal is meant to succeed a given market, then this should be set." + } + }, + "title": "Configuration for a new futures market on Vega" + }, + "vegaNewSpotMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewSpotMarketConfiguration", + "description": "Configuration of the new spot market." + } + }, + "title": "New spot market on Vega" + }, + "vegaNewSpotMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New spot market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new spot market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the spot market can be." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration for a new spot market on Vega" + }, + "vegaNewTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewTransferConfiguration", + "description": "Configuration for a new transfer." + } + }, + "title": "New governance transfer" + }, + "vegaNewTransferConfiguration": { + "type": "object", + "properties": { + "sourceType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Source account type, such as network treasury, market insurance pool" + }, + "source": { + "type": "string", + "title": "If network treasury, field is empty, otherwise uses the market ID" + }, + "transferType": { + "$ref": "#/definitions/vegaGovernanceTransferType", + "title": "\"All or nothing\" or \"best effort\":\nAll or nothing: Transfers the specified amount or does not transfer anything\nBest effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount" + }, + "amount": { + "type": "string", + "title": "Maximum amount to transfer" + }, + "asset": { + "type": "string", + "title": "ID of asset to transfer" + }, + "fractionOfBalance": { + "type": "string", + "title": "Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance" + }, + "destinationType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool" + }, + "destination": { + "type": "string", + "title": "Specifies the account to transfer to, depending on the account type:\nNetwork treasury: leave empty\nParty: party's public key\nMarket insurance pool: market ID" + }, + "oneOff": { + "$ref": "#/definitions/vegaOneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaRecurringTransfer" + } + } + }, + "vegaNormaliser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "expression": { + "type": "string" + } + } + }, + "vegaOneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegaOracleData": { + "type": "object", + "properties": { + "externalData": { + "$ref": "#/definitions/v1ExternalData" + } + } + }, + "vegaOracleSpec": { + "type": "object", + "properties": { + "externalDataSourceSpec": { + "$ref": "#/definitions/vegaExternalDataSourceSpec" + } + }, + "title": "Oracle spec contains an embedded external data source spec.\nIt will be generated by the compiler as: OracleSpec_ExternalDataSourceSpec_*" + }, + "vegaOrder": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID generated for the order." + }, + "marketId": { + "type": "string", + "description": "Market ID for the order." + }, + "partyId": { + "type": "string", + "description": "Party ID for the order." + }, + "side": { + "$ref": "#/definitions/vegaSide", + "description": "Side for the order, e.g. SIDE_BUY or SIDE_SELL." + }, + "price": { + "type": "string", + "description": "Price for the order, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size for the order, for example, in a futures market the size equals the number of contracts." + }, + "remaining": { + "type": "string", + "format": "uint64", + "description": "Size remaining, when this reaches 0 then the order is fully filled and status becomes STATUS_FILLED." + }, + "timeInForce": { + "$ref": "#/definitions/OrderTimeInForce", + "title": "Time in force indicates how long an order will remain active before it is executed or expires.\n- See OrderTimeInForce" + }, + "type": { + "$ref": "#/definitions/vegaOrderType", + "description": "Type for the order." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the order was created at, in nanoseconds." + }, + "status": { + "$ref": "#/definitions/vegaOrderStatus", + "description": "Current status of the order." + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order will expire." + }, + "reference": { + "type": "string", + "description": "Reference given for the order." + }, + "reason": { + "$ref": "#/definitions/vegaOrderError", + "description": "Futher details for why an order with status `STATUS_REJECTED` was rejected." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the order was last updated." + }, + "version": { + "type": "string", + "format": "uint64", + "description": "Version for the order, initial value is version 1 and is incremented after each successful amend." + }, + "batchId": { + "type": "string", + "format": "uint64", + "description": "Batch ID for the order, used internally for orders submitted during auctions\nto keep track of the auction batch this order falls under. Required for fees calculation." + }, + "peggedOrder": { + "$ref": "#/definitions/vegaPeggedOrder", + "description": "Pegged order details, used only if the order represents a pegged order." + }, + "liquidityProvisionId": { + "type": "string", + "description": "Set if the order was created as part of a liquidity provision, will be empty if not." + }, + "postOnly": { + "type": "boolean", + "description": "Only valid for Limit orders. Cannot be True at the same time as Reduce-Only." + }, + "reduceOnly": { + "type": "boolean", + "description": "Only valid for Non-Persistent orders. Cannot be True at the same time as Post-Only.\nIf set, order will only be executed if the outcome of the trade moves the trader's position closer to 0." + }, + "icebergOrder": { + "$ref": "#/definitions/vegaIcebergOrder", + "title": "Details of an iceberg order" + } + }, + "title": "Orders can be submitted, amended and cancelled on Vega in an attempt to make trades with other parties" + }, + "vegaOrderError": { + "type": "string", + "enum": [ + "ORDER_ERROR_UNSPECIFIED", + "ORDER_ERROR_INVALID_MARKET_ID", + "ORDER_ERROR_INVALID_ORDER_ID", + "ORDER_ERROR_OUT_OF_SEQUENCE", + "ORDER_ERROR_INVALID_REMAINING_SIZE", + "ORDER_ERROR_TIME_FAILURE", + "ORDER_ERROR_REMOVAL_FAILURE", + "ORDER_ERROR_INVALID_EXPIRATION_DATETIME", + "ORDER_ERROR_INVALID_ORDER_REFERENCE", + "ORDER_ERROR_EDIT_NOT_ALLOWED", + "ORDER_ERROR_AMEND_FAILURE", + "ORDER_ERROR_NOT_FOUND", + "ORDER_ERROR_INVALID_PARTY_ID", + "ORDER_ERROR_MARKET_CLOSED", + "ORDER_ERROR_MARGIN_CHECK_FAILED", + "ORDER_ERROR_MISSING_GENERAL_ACCOUNT", + "ORDER_ERROR_INTERNAL_ERROR", + "ORDER_ERROR_INVALID_SIZE", + "ORDER_ERROR_INVALID_PERSISTENCE", + "ORDER_ERROR_INVALID_TYPE", + "ORDER_ERROR_SELF_TRADING", + "ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES", + "ORDER_ERROR_INCORRECT_MARKET_TYPE", + "ORDER_ERROR_INVALID_TIME_IN_FORCE", + "ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION", + "ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING", + "ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT", + "ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT", + "ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT", + "ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC", + "ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN", + "ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN", + "ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION", + "ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION", + "ORDER_ERROR_MUST_BE_LIMIT_ORDER", + "ORDER_ERROR_MUST_BE_GTT_OR_GTC", + "ORDER_ERROR_WITHOUT_REFERENCE_PRICE", + "ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE", + "ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO", + "ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE", + "ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO", + "ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE", + "ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER", + "ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER", + "ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER", + "ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS", + "ORDER_ERROR_TOO_MANY_PEGGED_ORDERS", + "ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE", + "ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION" + ], + "default": "ORDER_ERROR_UNSPECIFIED", + "description": "- ORDER_ERROR_UNSPECIFIED: Default value, no error reported\n - ORDER_ERROR_INVALID_MARKET_ID: Order was submitted for a market that does not exist\n - ORDER_ERROR_INVALID_ORDER_ID: Order was submitted with an invalid ID\n - ORDER_ERROR_OUT_OF_SEQUENCE: Order was amended with a sequence number that was not previous version + 1\n - ORDER_ERROR_INVALID_REMAINING_SIZE: Order was amended with an invalid remaining size (e.g. remaining greater than total size)\n - ORDER_ERROR_TIME_FAILURE: Node was unable to get Vega (blockchain) time\n - ORDER_ERROR_REMOVAL_FAILURE: Failed to remove an order from the book\n - ORDER_ERROR_INVALID_EXPIRATION_DATETIME: Order with `TimeInForce.TIME_IN_FORCE_GTT` was submitted or amended\nwith an expiration that was badly formatted or otherwise invalid\n - ORDER_ERROR_INVALID_ORDER_REFERENCE: Order was submitted or amended with an invalid reference field\n - ORDER_ERROR_EDIT_NOT_ALLOWED: Order amend was submitted for an order field that cannot not be amended (e.g. order ID)\n - ORDER_ERROR_AMEND_FAILURE: Amend failure because amend details do not match original order\n - ORDER_ERROR_NOT_FOUND: Order not found in an order book or store\n - ORDER_ERROR_INVALID_PARTY_ID: Order was submitted with an invalid or missing party ID\n - ORDER_ERROR_MARKET_CLOSED: Order was submitted for a market that has closed\n - ORDER_ERROR_MARGIN_CHECK_FAILED: Order was submitted, but the party did not have enough collateral to cover the order\n - ORDER_ERROR_MISSING_GENERAL_ACCOUNT: Order was submitted, but the party did not have an account for this asset\n - ORDER_ERROR_INTERNAL_ERROR: Unspecified internal error\n - ORDER_ERROR_INVALID_SIZE: Order was submitted with an invalid or missing size (e.g. 0)\n - ORDER_ERROR_INVALID_PERSISTENCE: Order was submitted with an invalid persistence for its type\n - ORDER_ERROR_INVALID_TYPE: Order was submitted with an invalid type field\n - ORDER_ERROR_SELF_TRADING: Order was stopped as it would have traded with another order submitted from the same party\n - ORDER_ERROR_INSUFFICIENT_FUNDS_TO_PAY_FEES: Order was submitted, but the party did not have enough collateral to cover the fees for the order\n - ORDER_ERROR_INCORRECT_MARKET_TYPE: Order was submitted with an incorrect or invalid market type\n - ORDER_ERROR_INVALID_TIME_IN_FORCE: Order was submitted with invalid time in force\n - ORDER_ERROR_CANNOT_SEND_GFN_ORDER_DURING_AN_AUCTION: Good For Normal order has reached the market when it is in auction mode\n - ORDER_ERROR_CANNOT_SEND_GFA_ORDER_DURING_CONTINUOUS_TRADING: Good For Auction order has reached the market when it is in continuous trading mode\n - ORDER_ERROR_CANNOT_AMEND_TO_GTT_WITHOUT_EXPIRYAT: Attempt to amend order to GTT without ExpiryAt\n - ORDER_ERROR_EXPIRYAT_BEFORE_CREATEDAT: Attempt to amend ExpiryAt to a value before CreatedAt\n - ORDER_ERROR_CANNOT_HAVE_GTC_AND_EXPIRYAT: Attempt to amend to GTC without an ExpiryAt value\n - ORDER_ERROR_CANNOT_AMEND_TO_FOK_OR_IOC: Amending to FOK or IOC is invalid\n - ORDER_ERROR_CANNOT_AMEND_TO_GFA_OR_GFN: Amending to GFA or GFN is invalid\n - ORDER_ERROR_CANNOT_AMEND_FROM_GFA_OR_GFN: Amending from GFA or GFN is invalid\n - ORDER_ERROR_CANNOT_SEND_IOC_ORDER_DURING_AUCTION: IOC orders are not allowed during auction\n - ORDER_ERROR_CANNOT_SEND_FOK_ORDER_DURING_AUCTION: FOK orders are not allowed during auction\n - ORDER_ERROR_MUST_BE_LIMIT_ORDER: Pegged orders must be LIMIT orders\n - ORDER_ERROR_MUST_BE_GTT_OR_GTC: Pegged orders can only have TIF GTC or GTT\n - ORDER_ERROR_WITHOUT_REFERENCE_PRICE: Pegged order must have a reference price\n - ORDER_ERROR_BUY_CANNOT_REFERENCE_BEST_ASK_PRICE: Buy pegged order cannot reference best ask price\n - ORDER_ERROR_OFFSET_MUST_BE_GREATER_OR_EQUAL_TO_ZERO: Pegged order offset must be \u003e= 0\n - ORDER_ERROR_SELL_CANNOT_REFERENCE_BEST_BID_PRICE: Sell pegged order cannot reference best bid price\n - ORDER_ERROR_OFFSET_MUST_BE_GREATER_THAN_ZERO: Pegged order offset must be \u003e zero\n - ORDER_ERROR_INSUFFICIENT_ASSET_BALANCE: Party has an insufficient balance, or does not have\na general account to submit the order (no deposits made\nfor the required asset)\n - ORDER_ERROR_CANNOT_AMEND_PEGGED_ORDER_DETAILS_ON_NON_PEGGED_ORDER: Cannot amend details of a non pegged details\n - ORDER_ERROR_UNABLE_TO_REPRICE_PEGGED_ORDER: Could not re-price a pegged order because a market price is unavailable\n - ORDER_ERROR_UNABLE_TO_AMEND_PRICE_ON_PEGGED_ORDER: It is not possible to amend the price of an existing pegged order\n - ORDER_ERROR_NON_PERSISTENT_ORDER_OUT_OF_PRICE_BOUNDS: FOK, IOC, or GFN order was rejected because it resulted in trades outside the price bounds\n - ORDER_ERROR_TOO_MANY_PEGGED_ORDERS: Unable to submit pegged order, temporarily too many pegged orders across all markets\n - ORDER_ERROR_POST_ONLY_ORDER_WOULD_TRADE: Post order would trade\n - ORDER_ERROR_REDUCE_ONLY_ORDER_WOULD_NOT_REDUCE_POSITION: Post order would trade", + "title": "OrderError codes are returned in the Order.reason field - If there is an issue\nwith an order during its life-cycle, it will be marked with `status.ORDER_STATUS_REJECTED`" + }, + "vegaOrderStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_EXPIRED", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_FILLED", + "STATUS_REJECTED", + "STATUS_PARTIALLY_FILLED", + "STATUS_PARKED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_ACTIVE: Used for active unfilled or partially filled orders\n - STATUS_EXPIRED: Used for expired GTT orders\n - STATUS_CANCELLED: Used for orders cancelled by the party that created the order\n - STATUS_STOPPED: Used for unfilled FOK or IOC orders, and for orders that were stopped by the network\n - STATUS_FILLED: Used for closed fully filled orders\n - STATUS_REJECTED: Used for orders when not enough collateral was available to fill the margin requirements\n - STATUS_PARTIALLY_FILLED: Used for closed partially filled IOC orders\n - STATUS_PARKED: Order has been removed from the order book and has been parked,\nthis applies to pegged orders and liquidity orders (orders created from a liquidity provision shape)", + "title": "Status values for an order" + }, + "vegaOrderType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LIMIT", + "TYPE_MARKET", + "TYPE_NETWORK" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_LIMIT: Used for Limit orders\n - TYPE_MARKET: Used for Market orders\n - TYPE_NETWORK: Used for orders where the initiating party is the network (with distressed parties)", + "title": "Type values for an order" + }, + "vegaParty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the party, typically represented by a public key." + } + }, + "title": "Party represents an entity who wishes to trade on or query a Vega network" + }, + "vegaPeggedOrder": { + "type": "object", + "properties": { + "reference": { + "$ref": "#/definitions/vegaPeggedReference", + "description": "Price point the order is linked to." + }, + "offset": { + "type": "string", + "description": "Offset from the price reference." + } + }, + "title": "Pegged orders are limit orders where the price is specified in the form REFERENCE +/- OFFSET\nThey can be used for any limit order that is valid during continuous trading" + }, + "vegaPeggedReference": { + "type": "string", + "enum": [ + "PEGGED_REFERENCE_UNSPECIFIED", + "PEGGED_REFERENCE_MID", + "PEGGED_REFERENCE_BEST_BID", + "PEGGED_REFERENCE_BEST_ASK" + ], + "default": "PEGGED_REFERENCE_UNSPECIFIED", + "description": "- PEGGED_REFERENCE_UNSPECIFIED: Default value for PeggedReference, no reference given\n - PEGGED_REFERENCE_MID: Mid price reference\n - PEGGED_REFERENCE_BEST_BID: Best bid price reference\n - PEGGED_REFERENCE_BEST_ASK: Best ask price reference", + "title": "Pegged reference defines which price point a pegged order is linked to - meaning\nthe price for a pegged order is calculated from the value of the reference price point" + }, + "vegaPerpetual": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the perpetual." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product definition" + }, + "vegaPerpetualProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaPostTransferBalance": { + "type": "object", + "properties": { + "account": { + "$ref": "#/definitions/vegaAccountDetails", + "description": "Account relating to the transfer." + }, + "balance": { + "type": "string", + "description": "Balance relating to the transfer. This field is an unsigned integer scaled to the asset's decimal places." + } + }, + "title": "Represents the balance for an account during a transfer" + }, + "vegaPriceMonitoringBounds": { + "type": "object", + "properties": { + "minValidPrice": { + "type": "string", + "description": "Minimum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "maxValidPrice": { + "type": "string", + "description": "Maximum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "trigger": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger", + "description": "Price monitoring trigger associated with the bounds." + }, + "referencePrice": { + "type": "string", + "description": "Reference price used to calculate the valid price range. This field is an unsigned integer scaled to the market's decimal places." + } + }, + "title": "Represents a list of valid (at the current timestamp) price ranges per associated trigger" + }, + "vegaPriceMonitoringParameters": { + "type": "object", + "properties": { + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger" + } + } + }, + "title": "PriceMonitoringParameters contains a collection of triggers to be used for a given market" + }, + "vegaPriceMonitoringSettings": { + "type": "object", + "properties": { + "parameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Specifies price monitoring parameters to be used for price monitoring purposes." + } + }, + "title": "PriceMonitoringSettings contains the settings for price monitoring" + }, + "vegaPriceMonitoringTrigger": { + "type": "object", + "properties": { + "horizon": { + "type": "string", + "format": "int64", + "description": "Price monitoring projection horizon τ in seconds." + }, + "probability": { + "type": "string", + "description": "Price monitoring probability level p." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Price monitoring auction extension duration in seconds should the price\nbreach its theoretical level over the specified horizon at the specified\nprobability level." + } + }, + "title": "PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration" + }, + "vegaProposal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique proposal ID." + }, + "reference": { + "type": "string", + "description": "Proposal reference." + }, + "partyId": { + "type": "string", + "description": "Party ID i.e. public key of the party submitting the proposal." + }, + "state": { + "$ref": "#/definitions/vegaProposalState", + "description": "Current state of the proposal, i.e. open, passed, failed etc." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Proposal timestamp for date and time as Unix time in nanoseconds when proposal was submitted to the network." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "reason": { + "$ref": "#/definitions/vegaProposalError", + "description": "Reason for the current state of the proposal, this may be set in case of REJECTED and FAILED statuses." + }, + "errorDetails": { + "type": "string", + "description": "Detailed error associated to the reason." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + }, + "requiredParticipation": { + "type": "string", + "description": "Required vote participation for this proposal." + }, + "requiredMajority": { + "type": "string", + "description": "Required majority for this proposal." + }, + "requiredLiquidityProviderParticipation": { + "type": "string", + "description": "Required participation from liquidity providers, optional but is required for market update proposal." + }, + "requiredLiquidityProviderMajority": { + "type": "string", + "description": "Required majority from liquidity providers, optional but is required for market update proposal." + } + }, + "title": "Governance proposal" + }, + "vegaProposalError": { + "type": "string", + "enum": [ + "PROPOSAL_ERROR_UNSPECIFIED", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE", + "PROPOSAL_ERROR_ENACT_TIME_TOO_SOON", + "PROPOSAL_ERROR_ENACT_TIME_TOO_LATE", + "PROPOSAL_ERROR_INSUFFICIENT_TOKENS", + "PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY", + "PROPOSAL_ERROR_NO_PRODUCT", + "PROPOSAL_ERROR_UNSUPPORTED_PRODUCT", + "PROPOSAL_ERROR_NO_TRADING_MODE", + "PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE", + "PROPOSAL_ERROR_NODE_VALIDATION_FAILED", + "PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD", + "PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS", + "PROPOSAL_ERROR_INVALID_ASSET", + "PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS", + "PROPOSAL_ERROR_NO_RISK_PARAMETERS", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE", + "PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE", + "PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET", + "PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT", + "PROPOSAL_ERROR_INVALID_RISK_PARAMETER", + "PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_INVALID_ASSET_DETAILS", + "PROPOSAL_ERROR_UNKNOWN_TYPE", + "PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE", + "PROPOSAL_ERROR_INVALID_FREEFORM", + "PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE", + "PROPOSAL_ERROR_INVALID_MARKET", + "PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES", + "PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS", + "PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE", + "PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_INVALID_SPOT", + "PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED", + "PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE", + "PROPOSAL_ERROR_INVALID_SLA_PARAMS", + "PROPOSAL_ERROR_MISSING_SLA_PARAMS", + "PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT" + ], + "default": "PROPOSAL_ERROR_UNSPECIFIED", + "description": "- PROPOSAL_ERROR_UNSPECIFIED: Default value\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON: Specified close time is too early based on network parameters\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE: Specified close time is too late based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_SOON: Specified enactment time is too early based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_LATE: Specified enactment time is too late based on network parameters\n - PROPOSAL_ERROR_INSUFFICIENT_TOKENS: Proposer for this proposal has insufficient tokens\n - PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY: Instrument quote name and base name were the same\n - PROPOSAL_ERROR_NO_PRODUCT: Proposal has no product\n - PROPOSAL_ERROR_UNSUPPORTED_PRODUCT: Specified product is not supported\n - PROPOSAL_ERROR_NO_TRADING_MODE: Proposal has no trading mode\n - PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE: Proposal has an unsupported trading mode\n - PROPOSAL_ERROR_NODE_VALIDATION_FAILED: Proposal failed node validation\n - PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD: Field is missing in a builtin asset source\n - PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS: Contract address is missing in the ERC20 asset source\n - PROPOSAL_ERROR_INVALID_ASSET: Asset ID is invalid or does not exist on the Vega network\n - PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS: Proposal terms timestamps are not compatible (Validation \u003c Closing \u003c Enactment)\n - PROPOSAL_ERROR_NO_RISK_PARAMETERS: No risk parameters were specified\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY: Invalid key in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE: Invalid value in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED: Validation failed for network parameter proposal\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL: Opening auction duration is less than the network minimum opening auction time\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE: Opening auction duration is more than the network minimum opening auction time\n - PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET: Market proposal market could not be instantiated in execution\n - PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT: Market proposal market contained invalid product definition\n - PROPOSAL_ERROR_INVALID_RISK_PARAMETER: Market proposal has invalid risk parameter\n - PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED: Proposal was declined because vote didn't reach the majority threshold required\n - PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED: Proposal declined because the participation threshold was not reached\n - PROPOSAL_ERROR_INVALID_ASSET_DETAILS: Asset proposal has invalid asset details\n - PROPOSAL_ERROR_UNKNOWN_TYPE: Proposal is an unknown type\n - PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE: Proposal has an unknown risk parameter type\n - PROPOSAL_ERROR_INVALID_FREEFORM: Validation failed for freeform proposal\n - PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE: Party doesn't have enough equity-like share to propose an update on the market\ntargeted by the proposal\n - PROPOSAL_ERROR_INVALID_MARKET: Market targeted by the proposal does not exist or is not eligible for modification\n - PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES: Market proposal decimal place is higher than the market settlement asset decimal places\n - PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE: LP price range must be larger than 0\n - PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE: LP price range must not be larger than 100\n - PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE: Linear slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE: Quadratic slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_INVALID_SPOT: Validation failed for spot proposal\n - PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED: Spot trading not enabled\n - PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET: Market proposal is invalid, either invalid insurance pool fraction, or it specifies a parent market that it can't succeed.\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED: Governance transfer proposal is invalid\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID: Governance transfer proposal failed\n - PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID: Proposal for cancelling transfer is invalid, check proposal ID\n - PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE: Proposal for updating market state is invalid\n - PROPOSAL_ERROR_INVALID_SLA_PARAMS: Liquidity provision SLA parameters are invalid\n - PROPOSAL_ERROR_MISSING_SLA_PARAMS: Mandatory liquidity provision SLA parameters are missing\n - PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT: Perpetual market proposal contained invalid product definition", + "title": "List of possible errors that can cause a proposal to be in state rejected or failed" + }, + "vegaProposalRationale": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description to show a short title / something in case the link goes offline.\nThis is to be between 0 and 20k unicode characters.\nThis is mandatory for all proposals." + }, + "title": { + "type": "string", + "description": "Title to be used to give a short description of the proposal in lists.\nThis is to be between 0 and 100 unicode characters.\nThis is mandatory for all proposals." + } + }, + "description": "Rationale behind a proposal." + }, + "vegaProposalState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_FAILED", + "STATE_OPEN", + "STATE_PASSED", + "STATE_REJECTED", + "STATE_DECLINED", + "STATE_ENACTED", + "STATE_WAITING_FOR_NODE_VOTE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, always invalid\n - STATE_FAILED: Proposal enactment has failed - even though proposal has passed, its execution could not be performed\n - STATE_OPEN: Proposal is open for voting\n - STATE_PASSED: Proposal has gained enough support to be executed\n - STATE_REJECTED: Proposal wasn't accepted i.e. proposal terms failed validation due to wrong configuration or failed to meet network requirements.\n - STATE_DECLINED: Proposal didn't get enough votes, e.g. either failed to gain required participation or majority level.\n - STATE_ENACTED: Proposal enacted\n - STATE_WAITING_FOR_NODE_VOTE: Waiting for node validation of the proposal", + "title": "Proposal state transition:\nOpen -\u003e\n - Passed -\u003e Enacted.\n - Passed -\u003e Failed.\n - Declined\nRejected\nProposal can enter Failed state from any other state" + }, + "vegaProposalTerms": { + "type": "object", + "properties": { + "closingTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when voting closes for this proposal,\nconstrained by `minClose` and `maxClose` network parameters." + }, + "enactmentTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when proposal gets enacted if passed,\nconstrained by `minEnact` and `maxEnact` network parameters." + }, + "validationTimestamp": { + "type": "string", + "format": "int64", + "description": "Validation timestamp as Unix time in seconds." + }, + "updateMarket": { + "$ref": "#/definitions/vegaUpdateMarket", + "description": "Proposal change for modifying an existing futures market on Vega." + }, + "newMarket": { + "$ref": "#/definitions/vegaNewMarket", + "description": "Proposal change for creating new futures market on Vega." + }, + "updateNetworkParameter": { + "$ref": "#/definitions/vegaUpdateNetworkParameter", + "description": "Proposal change for updating Vega network parameters." + }, + "newAsset": { + "$ref": "#/definitions/vegaNewAsset", + "description": "Proposal change for creating new assets on Vega." + }, + "newFreeform": { + "$ref": "#/definitions/vegaNewFreeform", + "description": "Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system,\nand can be used to gauge community sentiment." + }, + "updateAsset": { + "$ref": "#/definitions/vegaUpdateAsset", + "description": "Proposal change for updating an asset." + }, + "newSpotMarket": { + "$ref": "#/definitions/vegaNewSpotMarket", + "description": "Proposal change for creating new spot market on Vega." + }, + "updateSpotMarket": { + "$ref": "#/definitions/vegaUpdateSpotMarket", + "description": "Proposal change for modifying an existing spot market on Vega." + }, + "newTransfer": { + "$ref": "#/definitions/vegaNewTransfer", + "description": "Proposal change for a governance transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/vegaCancelTransfer", + "description": "Cancel a governance transfer." + }, + "updateMarketState": { + "$ref": "#/definitions/vegaUpdateMarketState", + "description": "Proposal change for updating the state of a market." + } + }, + "title": "Terms for a governance proposal on Vega" + }, + "vegaRecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegaRiskFactor": { + "type": "object", + "properties": { + "market": { + "type": "string", + "description": "Market ID that relates to this risk factor." + }, + "short": { + "type": "string", + "description": "Short Risk factor value." + }, + "long": { + "type": "string", + "description": "Long Risk factor value." + } + }, + "title": "Risk factors are used to calculate the current risk associated with orders trading on a given market" + }, + "vegaScalingFactors": { + "type": "object", + "properties": { + "searchLevel": { + "type": "number", + "format": "double", + "description": "Collateral search level. If collateral dips below this value,\nthe system will search for collateral to release." + }, + "initialMargin": { + "type": "number", + "format": "double", + "description": "Initial margin level. This is the minimum amount of collateral\nrequired to open a position in a market that requires margin." + }, + "collateralRelease": { + "type": "number", + "format": "double", + "description": "Collateral release level. If a trader has collateral above this level,\nthe system will release collateral to a trader's general collateral account\nfor the asset." + } + }, + "title": "Scaling Factors (for use in margin calculation)" + }, + "vegaSide": { + "type": "string", + "enum": [ + "SIDE_UNSPECIFIED", + "SIDE_BUY", + "SIDE_SELL" + ], + "default": "SIDE_UNSPECIFIED", + "description": "- SIDE_UNSPECIFIED: Default value, always invalid\n - SIDE_BUY: Buy order\n - SIDE_SELL: Sell order", + "title": "Side relates to the direction of an order, to Buy, or Sell" + }, + "vegaSimpleModelParams": { + "type": "object", + "properties": { + "factorLong": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for long." + }, + "factorShort": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for short." + }, + "maxMoveUp": { + "type": "number", + "format": "double", + "description": "Pre-defined maximum price move up that the model considers as valid." + }, + "minMoveDown": { + "type": "number", + "format": "double", + "description": "Pre-defined minimum price move down that the model considers as valid." + }, + "probabilityOfTrading": { + "type": "number", + "format": "double", + "description": "Pre-defined constant probability of trading." + } + }, + "title": "Risk model parameters for simple modelling" + }, + "vegaSimpleRiskModel": { + "type": "object", + "properties": { + "params": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Risk model params for simple modelling." + } + }, + "title": "Risk model for simple modelling" + }, + "vegaSpot": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Asset ID of the underlying base asset for the spot product." + }, + "quoteAsset": { + "type": "string", + "description": "Asset ID of the underlying quote asset for the spot product." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + } + }, + "title": "Spot product definition" + }, + "vegaSpotProduct": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Base asset ID." + }, + "quoteAsset": { + "type": "string", + "description": "Quote asset ID." + }, + "name": { + "type": "string", + "description": "Product name." + } + }, + "title": "Spot product configuration" + }, + "vegaStopOrder": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "ID of this stop order\nalso the ID of the associated order if it is ever triggered" + }, + "ocoLinkId": { + "type": "string", + "title": "The ID of the 'other' part of the OCO if 2 stop orders were submitted at once" + }, + "expiresAt": { + "type": "string", + "format": "int64", + "description": "Optional expiry timestamp." + }, + "expiryStrategy": { + "$ref": "#/definitions/StopOrderExpiryStrategy", + "description": "Strategy to adopt if the expiry time is reached." + }, + "triggerDirection": { + "$ref": "#/definitions/StopOrderTriggerDirection", + "description": "Trigger direction for this stop order." + }, + "status": { + "$ref": "#/definitions/vegaStopOrderStatus", + "description": "Status of the stop order." + }, + "createdAt": { + "type": "string", + "format": "int64", + "description": "Creation time of the stop order." + }, + "updatedAt": { + "type": "string", + "format": "int64", + "description": "Last update of this stop order." + }, + "orderId": { + "type": "string", + "description": "ID of the order created once the trigger is hit." + }, + "partyId": { + "type": "string", + "description": "ID of the party that submitted this stop order." + }, + "marketId": { + "type": "string", + "description": "ID of the market the stop order is submitted to." + }, + "price": { + "type": "string", + "description": "Fixed price at which the order will be submitted." + }, + "trailingPercentOffset": { + "type": "string", + "title": "Trailing percentage at which the order will be submitted.\nThis should be expressed as a decimal value between 0 and 1, e.g. 0.01 for 1%" + } + } + }, + "vegaStopOrderStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_CANCELLED", + "STATUS_STOPPED", + "STATUS_TRIGGERED", + "STATUS_EXPIRED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Never valid\n - STATUS_PENDING: Pending to be executed once the trigger is breached\n - STATUS_CANCELLED: Cancelled by the user\n - STATUS_STOPPED: Stopped by the network, e.g: OCO on the other side has been triggered\n - STATUS_TRIGGERED: Stop order has been triggered and generated an order\n - STATUS_EXPIRED: Stop order has expired\n - STATUS_REJECTED: Stop order was rejected at submission" + }, + "vegaSuccessorConfiguration": { + "type": "object", + "properties": { + "parentMarketId": { + "type": "string", + "description": "ID of the market that the successor should take over from." + }, + "insurancePoolFraction": { + "type": "string", + "description": "A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor." + } + }, + "description": "Configuration required to turn a new market proposal in to a successor market proposal." + }, + "vegaTargetStakeParameters": { + "type": "object", + "properties": { + "timeWindow": { + "type": "string", + "format": "int64", + "description": "Specifies length of time window expressed in seconds for target stake calculation." + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Specifies scaling factors used in target stake calculation." + } + }, + "title": "TargetStakeParameters contains parameters used in target stake calculation" + }, + "vegaTradableInstrument": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrument", + "description": "Details for the underlying instrument." + }, + "marginCalculator": { + "$ref": "#/definitions/vegaMarginCalculator", + "description": "Margin calculator for the instrument." + }, + "logNormalRiskModel": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal." + }, + "simpleRiskModel": { + "$ref": "#/definitions/vegaSimpleRiskModel", + "description": "Simple." + } + }, + "title": "Tradable Instrument definition" + }, + "vegaTrade": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the trade." + }, + "marketId": { + "type": "string", + "description": "Market ID on which the trade occurred." + }, + "price": { + "type": "string", + "description": "Price for the trade, the price is an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "Size filled for the trade." + }, + "buyer": { + "type": "string", + "description": "Unique party ID for the buyer." + }, + "seller": { + "type": "string", + "description": "Unique party ID for the seller." + }, + "aggressor": { + "$ref": "#/definitions/vegaSide", + "description": "Direction of the aggressive party e.g. SIDE_BUY or SIDE_SELL." + }, + "buyOrder": { + "type": "string", + "description": "Identifier of the order from the buy side." + }, + "sellOrder": { + "type": "string", + "description": "Identifier of the order from the sell side." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the trade occurred." + }, + "type": { + "$ref": "#/definitions/vegaTradeType", + "description": "Type for the trade." + }, + "buyerFee": { + "$ref": "#/definitions/vegaFee", + "description": "Fee amount charged to the buyer party for the trade." + }, + "sellerFee": { + "$ref": "#/definitions/vegaFee", + "description": "Fee amount charged to the seller party for the trade." + }, + "buyerAuctionBatch": { + "type": "string", + "format": "uint64", + "description": "Auction batch number that the buy side order was placed in." + }, + "sellerAuctionBatch": { + "type": "string", + "format": "uint64", + "description": "Auction batch number that the sell side order was placed in." + } + }, + "title": "A trade occurs when an aggressive order crosses one or more passive orders on the order book for a market on Vega" + }, + "vegaTradeType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_DEFAULT", + "TYPE_NETWORK_CLOSE_OUT_GOOD", + "TYPE_NETWORK_CLOSE_OUT_BAD" + ], + "default": "TYPE_UNSPECIFIED", + "description": "- TYPE_UNSPECIFIED: Default value, always invalid\n - TYPE_DEFAULT: Normal trading between two parties\n - TYPE_NETWORK_CLOSE_OUT_GOOD: Trading initiated by the network with another party on the book,\nwhich helps to zero-out the positions of one or more distressed parties\n - TYPE_NETWORK_CLOSE_OUT_BAD: Trading initiated by the network with another party off the book,\nwith a distressed party in order to zero-out the position of the party", + "title": "Type values for a trade" + }, + "vegaTransferType": { + "type": "string", + "enum": [ + "TRANSFER_TYPE_UNSPECIFIED", + "TRANSFER_TYPE_LOSS", + "TRANSFER_TYPE_WIN", + "TRANSFER_TYPE_MTM_LOSS", + "TRANSFER_TYPE_MTM_WIN", + "TRANSFER_TYPE_MARGIN_LOW", + "TRANSFER_TYPE_MARGIN_HIGH", + "TRANSFER_TYPE_MARGIN_CONFISCATED", + "TRANSFER_TYPE_MAKER_FEE_PAY", + "TRANSFER_TYPE_MAKER_FEE_RECEIVE", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY", + "TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE", + "TRANSFER_TYPE_LIQUIDITY_FEE_PAY", + "TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE", + "TRANSFER_TYPE_BOND_LOW", + "TRANSFER_TYPE_BOND_HIGH", + "TRANSFER_TYPE_WITHDRAW", + "TRANSFER_TYPE_DEPOSIT", + "TRANSFER_TYPE_BOND_SLASHING", + "TRANSFER_TYPE_REWARD_PAYOUT", + "TRANSFER_TYPE_TRANSFER_FUNDS_SEND", + "TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE", + "TRANSFER_TYPE_CLEAR_ACCOUNT", + "TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE", + "TRANSFER_TYPE_SPOT", + "TRANSFER_TYPE_HOLDING_LOCK", + "TRANSFER_TYPE_HOLDING_RELEASE", + "TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION", + "TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE", + "TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE", + "TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY", + "TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY", + "TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT", + "TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE", + "TRANSFER_TYPE_PERP_FUNDING_LOSS", + "TRANSFER_TYPE_PERP_FUNDING_WIN" + ], + "default": "TRANSFER_TYPE_UNSPECIFIED", + "description": "- TRANSFER_TYPE_UNSPECIFIED: Default value, always invalid\n - TRANSFER_TYPE_LOSS: Funds deducted after final settlement loss\n - TRANSFER_TYPE_WIN: Funds added to general account after final settlement gain\n - TRANSFER_TYPE_MTM_LOSS: Funds deducted from margin account after mark to market loss\n - TRANSFER_TYPE_MTM_WIN: Funds added to margin account after mark to market gain\n - TRANSFER_TYPE_MARGIN_LOW: Funds transferred from general account to meet margin requirement\n - TRANSFER_TYPE_MARGIN_HIGH: Excess margin amount returned to general account\n - TRANSFER_TYPE_MARGIN_CONFISCATED: Margin confiscated from margin account to fulfil closeout\n - TRANSFER_TYPE_MAKER_FEE_PAY: Maker fee paid from general account\n - TRANSFER_TYPE_MAKER_FEE_RECEIVE: Maker fee received into general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_PAY: Infrastructure fee paid from general account\n - TRANSFER_TYPE_INFRASTRUCTURE_FEE_DISTRIBUTE: Infrastructure fee received into general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_PAY: Liquidity fee paid from general account\n - TRANSFER_TYPE_LIQUIDITY_FEE_DISTRIBUTE: Liquidity fee received into general account\n - TRANSFER_TYPE_BOND_LOW: Bond account funded from general account to meet required bond amount\n - TRANSFER_TYPE_BOND_HIGH: Bond returned to general account after liquidity commitment was reduced\n - TRANSFER_TYPE_WITHDRAW: Funds withdrawn from general account\n - TRANSFER_TYPE_DEPOSIT: Funds deposited to general account\n - TRANSFER_TYPE_BOND_SLASHING: Bond account penalised when liquidity commitment not met\n - TRANSFER_TYPE_REWARD_PAYOUT: Reward payout received\n - TRANSFER_TYPE_TRANSFER_FUNDS_SEND: Internal Vega network instruction for the collateral engine to move funds from a user's general account into the pending transfers pool\n - TRANSFER_TYPE_TRANSFER_FUNDS_DISTRIBUTE: Internal Vega network instruction for the collateral engine to move funds from the pending transfers pool account into the destination account\n - TRANSFER_TYPE_CLEAR_ACCOUNT: Market-related accounts emptied because market has closed\n - TRANSFER_TYPE_CHECKPOINT_BALANCE_RESTORE: Balances restored after network restart\n - TRANSFER_TYPE_SPOT: Spot trade delivery\n - TRANSFER_TYPE_HOLDING_LOCK: An internal instruction to transfer a quantity corresponding to an active spot order from a general account into a party holding account.\n - TRANSFER_TYPE_HOLDING_RELEASE: An internal instruction to transfer an excess quantity corresponding to an active spot order from a holding account into a party general account.\n - TRANSFER_TYPE_SUCCESSOR_INSURANCE_FRACTION: Insurance pool fraction transfer from parent to successor market.\n - TRANSFER_TYPE_LIQUIDITY_FEE_ALLOCATE: Allocates liquidity fee earnings to each liquidity provider's network controlled liquidity fee account.\n - TRANSFER_TYPE_LIQUIDITY_FEE_NET_DISTRIBUTE: Distributes net fee earnings from liquidity provider's fee account to their general account.\n - TRANSFER_TYPE_SLA_PENALTY_BOND_APPLY: Applies SLA penalty by moving funds from party's bond account to market's insurance pool.\n - TRANSFER_TYPE_SLA_PENALTY_LP_FEE_APPLY: Applies SLA penalty by moving funds from the liquidity provider's fee account to market insurance pool.\n - TRANSFER_TYPE_LIQUIDITY_FEE_UNPAID_COLLECT: Collects penalties from the liquidity provider's fee account before the fee revenue is paid, and transfers it to the market's bonus distribution account.\n - TRANSFER_TYPE_SLA_PERFORMANCE_BONUS_DISTRIBUTE: Distributes performance bonus from market bonus to liquidity provider's general account.\n - TRANSFER_TYPE_PERP_FUNDING_LOSS: Funds deducted from margin account after a perpetuals funding loss.\n - TRANSFER_TYPE_PERP_FUNDING_WIN: Funds added to margin account after a perpetuals funding gain.", + "title": "Transfers can occur between parties on Vega, these are the types that indicate why a transfer took place" + }, + "vegaUpdateAsset": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaAssetDetailsUpdate", + "description": "Changes to apply on an existing asset." + } + }, + "title": "Update an existing asset on Vega" + }, + "vegaUpdateFutureProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data of settlement data." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data source for trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "The binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaUpdateInstrumentConfiguration": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaUpdateFutureProduct", + "description": "Future." + }, + "perpetual": { + "$ref": "#/definitions/vegaUpdatePerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaUpdateMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateMarketConfiguration", + "description": "Updated configuration of the futures market." + } + }, + "title": "Update an existing market on Vega" + }, + "vegaUpdateMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaUpdateInstrumentConfiguration", + "description": "Updated futures market instrument configuration." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + } + }, + "title": "Configuration to update a futures market on Vega" + }, + "vegaUpdateMarketState": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaUpdateMarketStateConfiguration", + "title": "Configuration for governance-initiated change of a market's state" + } + } + }, + "vegaUpdateMarketStateConfiguration": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "ID of the market" + }, + "updateType": { + "$ref": "#/definitions/vegaMarketStateUpdateType", + "title": "Type of the market update" + }, + "price": { + "type": "string", + "title": "Settlement price, relevant only for market termination for futures markets" + } + } + }, + "vegaUpdateNetworkParameter": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "The network parameter to update." + } + }, + "title": "Update network configuration on Vega" + }, + "vegaUpdatePerpetualProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaUpdateSpotMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateSpotMarketConfiguration", + "description": "Updated configuration of the spot market." + } + }, + "title": "Update an existing spot market on Vega" + }, + "vegaUpdateSpotMarketConfiguration": { + "type": "object", + "properties": { + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration to update a spot market on Vega" + }, + "vegaVote": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "description": "Voter's party ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Which way the party voted." + }, + "proposalId": { + "type": "string", + "description": "Proposal ID being voted on." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds when the vote was acknowledged by the network." + }, + "totalGovernanceTokenBalance": { + "type": "string", + "description": "Total number of governance token for the party that cast the vote." + }, + "totalGovernanceTokenWeight": { + "type": "string", + "description": "The weight of this vote based on the total number of governance tokens." + }, + "totalEquityLikeShareWeight": { + "type": "string", + "description": "The weight of the vote compared to the total amount of equity-like share on the market." + } + }, + "title": "Governance vote" + }, + "vegaVoteValue": { + "type": "string", + "enum": [ + "VALUE_UNSPECIFIED", + "VALUE_NO", + "VALUE_YES" + ], + "default": "VALUE_UNSPECIFIED", + "description": "- VALUE_UNSPECIFIED: Default value, always invalid\n - VALUE_NO: Vote against the proposal\n - VALUE_YES: Vote in favour of the proposal", + "title": "Vote value" + }, + "vegaWithdrawExt": { + "type": "object", + "properties": { + "erc20": { + "$ref": "#/definitions/vegaErc20WithdrawExt", + "description": "ERC20 withdrawal details." + } + }, + "title": "Withdrawal external details" + }, + "vegaWithdrawal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the withdrawal." + }, + "partyId": { + "type": "string", + "description": "Unique party ID of the user initiating the withdrawal." + }, + "amount": { + "type": "string", + "description": "Amount to be withdrawn. This field is an unsigned integer scaled to the asset's decimal places." + }, + "asset": { + "type": "string", + "description": "Asset to withdraw funds from." + }, + "status": { + "$ref": "#/definitions/vegaWithdrawalStatus", + "description": "Status of the withdrawal." + }, + "ref": { + "type": "string", + "description": "Reference which is used by the foreign chain\nto refer to this withdrawal." + }, + "txHash": { + "type": "string", + "description": "Hash of the foreign chain for this transaction." + }, + "createdTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the network started to process this withdrawal." + }, + "withdrawnTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp for when the withdrawal was finalised by the network." + }, + "ext": { + "$ref": "#/definitions/vegaWithdrawExt", + "description": "Foreign chain specifics." + } + }, + "title": "Withdrawal from the Vega network" + }, + "vegaWithdrawalStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_OPEN", + "STATUS_REJECTED", + "STATUS_FINALIZED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_OPEN: Withdrawal is open and being processed by the network\n - STATUS_REJECTED: Withdrawal have been cancelled\n - STATUS_FINALIZED: Withdrawal went through and is fully finalised, the funds are removed from the\nVega network and are unlocked on the foreign chain bridge, for example, on the Ethereum network", + "title": "Status of the withdrawal" + }, + "vegacommandsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegacommandsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64", + "description": "First epoch from which this transfer shall be paid." + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "factor": { + "type": "string", + "description": "Factor needs to be \u003e 0." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegacommandsv1Transfer": { + "type": "object", + "properties": { + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Account type from which the funds of the party\nshould be taken." + }, + "to": { + "type": "string", + "description": "Public key of the destination account." + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType", + "description": "Type of the destination account." + }, + "asset": { + "type": "string", + "description": "Asset ID of the asset to be transferred." + }, + "amount": { + "type": "string", + "description": "Amount to be taken from the source account. This field is an unsigned integer scaled to the asset's decimal places." + }, + "reference": { + "type": "string", + "description": "Reference to be attached to the transfer." + }, + "oneOff": { + "$ref": "#/definitions/vegacommandsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegacommandsv1RecurringTransfer" + } + }, + "title": "Transfer initiated by a party" + }, + "vegaeventsv1OneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64" + } + } + }, + "vegaeventsv1RecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64" + }, + "factor": { + "type": "string" + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy" + } + } + }, + "vegaeventsv1Transfer": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "from": { + "type": "string" + }, + "fromAccountType": { + "$ref": "#/definitions/vegaAccountType" + }, + "to": { + "type": "string" + }, + "toAccountType": { + "$ref": "#/definitions/vegaAccountType" + }, + "asset": { + "type": "string" + }, + "amount": { + "type": "string" + }, + "reference": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/v1TransferStatus" + }, + "timestamp": { + "type": "string", + "format": "int64" + }, + "reason": { + "type": "string" + }, + "oneOff": { + "$ref": "#/definitions/vegaeventsv1OneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaeventsv1RecurringTransfer" + }, + "oneOffGovernance": { + "$ref": "#/definitions/v1OneOffGovernanceTransfer" + }, + "recurringGovernance": { + "$ref": "#/definitions/v1RecurringGovernanceTransfer" + } + } + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/api/v1/corestate.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/api/v1/corestate.swagger.json new file mode 100644 index 000000000..063ff780e --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/api/v1/corestate.swagger.json @@ -0,0 +1,3033 @@ +{ + "swagger": "2.0", + "info": { + "title": "Vega core state APIs", + "version": "v0.72.1" + }, + "tags": [ + { + "name": "CoreStateService" + } + ], + "host": "lb.testnet.vega.xyz", + "schemes": [ + "http", + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/accounts": { + "get": { + "summary": "Accounts list", + "description": "Get a list of accounts", + "operationId": "CoreStateService_ListAccounts", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListAccountsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "party", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "market", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "CoreStateService" + ] + } + }, + "/assets": { + "get": { + "summary": "Assets list", + "description": "Get a list of assets", + "operationId": "CoreStateService_ListAssets", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListAssetsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "asset", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "CoreStateService" + ] + } + }, + "/delegations": { + "get": { + "summary": "Delegations list", + "description": "Get a list of delegations", + "operationId": "CoreStateService_ListDelegations", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListDelegationsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "party", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "node", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "epochSeq", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "CoreStateService" + ] + } + }, + "/markets": { + "get": { + "summary": "Markets list", + "description": "Get a list of markets", + "operationId": "CoreStateService_ListMarkets", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListMarketsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "market", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "CoreStateService" + ] + } + }, + "/markets/data": { + "get": { + "summary": "Markets data list", + "description": "Get a list of markets data", + "operationId": "CoreStateService_ListMarketsData", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListMarketsDataResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "market", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "CoreStateService" + ] + } + }, + "/network/limits": { + "get": { + "summary": "Network limits list", + "description": "Get a list of network limits", + "operationId": "CoreStateService_ListNetworkLimits", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListNetworkLimitsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "CoreStateService" + ] + } + }, + "/network/parameters": { + "get": { + "summary": "Network parameters list", + "description": "Get a list of network parameters", + "operationId": "CoreStateService_ListNetworkParameters", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListNetworkParametersResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "networkParameterKey", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "CoreStateService" + ] + } + }, + "/parties": { + "get": { + "summary": "Parties list", + "description": "Get a list of parties", + "operationId": "CoreStateService_ListParties", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListPartiesResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "CoreStateService" + ] + } + }, + "/parties/stake": { + "get": { + "summary": "Parties stake list", + "description": "Get a list of parties stake", + "operationId": "CoreStateService_ListPartiesStake", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListPartiesStakeResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "party", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "CoreStateService" + ] + } + }, + "/proposals": { + "get": { + "summary": "Proposals list", + "description": "Get a list of proposals", + "operationId": "CoreStateService_ListProposals", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListProposalsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "proposal", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "proposer", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "CoreStateService" + ] + } + }, + "/validators": { + "get": { + "summary": "Validators list", + "description": "Get a list of validators", + "operationId": "CoreStateService_ListValidators", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListValidatorsResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "tags": [ + "CoreStateService" + ] + } + }, + "/votes": { + "get": { + "summary": "Votes list", + "description": "Get a list of votes", + "operationId": "CoreStateService_ListVotes", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/v1ListVotesResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/googlerpcStatus" + } + } + }, + "parameters": [ + { + "name": "proposal", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "party", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "CoreStateService" + ] + } + } + }, + "definitions": { + "ConditionOperator": { + "type": "string", + "enum": [ + "OPERATOR_UNSPECIFIED", + "OPERATOR_EQUALS", + "OPERATOR_GREATER_THAN", + "OPERATOR_GREATER_THAN_OR_EQUAL", + "OPERATOR_LESS_THAN", + "OPERATOR_LESS_THAN_OR_EQUAL" + ], + "default": "OPERATOR_UNSPECIFIED", + "description": "Operator describes the type of comparison.\n\n - OPERATOR_UNSPECIFIED: The default value\n - OPERATOR_EQUALS: Verify if the property values are strictly equal or not.\n - OPERATOR_GREATER_THAN: Verify if the data source data value is greater than the Condition value.\n - OPERATOR_GREATER_THAN_OR_EQUAL: Verify if the data source data value is greater than or equal to the Condition\nvalue.\n - OPERATOR_LESS_THAN: Verify if the data source data value is less than the Condition value.\n - OPERATOR_LESS_THAN_OR_EQUAL: Verify if the data source data value is less or equal to than the Condition\nvalue." + }, + "MarketTradingMode": { + "type": "string", + "enum": [ + "TRADING_MODE_UNSPECIFIED", + "TRADING_MODE_CONTINUOUS", + "TRADING_MODE_BATCH_AUCTION", + "TRADING_MODE_OPENING_AUCTION", + "TRADING_MODE_MONITORING_AUCTION", + "TRADING_MODE_NO_TRADING", + "TRADING_MODE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "TRADING_MODE_UNSPECIFIED", + "description": "- TRADING_MODE_UNSPECIFIED: Default value, this is invalid\n - TRADING_MODE_CONTINUOUS: Normal trading\n - TRADING_MODE_BATCH_AUCTION: Auction trading (FBA)\n - TRADING_MODE_OPENING_AUCTION: Opening auction\n - TRADING_MODE_MONITORING_AUCTION: Auction triggered by monitoring\n - TRADING_MODE_NO_TRADING: No trading is allowed\n - TRADING_MODE_SUSPENDED_VIA_GOVERNANCE: Special auction mode triggered via governance", + "title": "Trading mode the market is currently running, also referred to as 'market state'" + }, + "apiv1Account": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "market": { + "type": "string" + }, + "balance": { + "type": "string" + }, + "asset": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "protobufNullValue": { + "type": "string", + "enum": [ + "NULL_VALUE" + ], + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." + }, + "v1Condition": { + "type": "object", + "properties": { + "operator": { + "$ref": "#/definitions/ConditionOperator", + "description": "Type of comparison to make on the value." + }, + "value": { + "type": "string", + "description": "Value to be compared with by the operator." + } + }, + "title": "Condition describes the condition that must be validated by the network" + }, + "v1ETHAddress": { + "type": "object", + "properties": { + "address": { + "type": "string" + } + } + }, + "v1Filter": { + "type": "object", + "properties": { + "key": { + "$ref": "#/definitions/v1PropertyKey", + "description": "Data source's data property key targeted by the filter." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that should be matched by the data to be\nconsidered of interest." + } + }, + "description": "Filter describes the conditions under which a data source data is considered of\ninterest or not." + }, + "v1InternalTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "int64", + "description": "Trigger when the vega time is greater or equal to this time, in Unix seconds." + }, + "every": { + "type": "string", + "format": "int64", + "description": "Repeat the trigger every n seconds after the initial. If no time for\ninitial was specified, begin repeating immediately." + } + }, + "description": "Trigger for an internal time data source." + }, + "v1ListAccountsResponse": { + "type": "object", + "properties": { + "accounts": { + "type": "array", + "items": { + "$ref": "#/definitions/apiv1Account" + } + } + } + }, + "v1ListAssetsResponse": { + "type": "object", + "properties": { + "assets": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaAsset" + } + } + } + }, + "v1ListDelegationsResponse": { + "type": "object", + "properties": { + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaDelegation" + } + } + } + }, + "v1ListMarketsDataResponse": { + "type": "object", + "properties": { + "marketsData": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarketData" + } + } + } + }, + "v1ListMarketsResponse": { + "type": "object", + "properties": { + "markets": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaMarket" + } + } + } + }, + "v1ListNetworkLimitsResponse": { + "type": "object", + "properties": { + "networkLimits": { + "$ref": "#/definitions/vegaNetworkLimits" + } + } + }, + "v1ListNetworkParametersResponse": { + "type": "object", + "properties": { + "networkParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNetworkParameter" + } + } + } + }, + "v1ListPartiesResponse": { + "type": "object", + "properties": { + "parties": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaParty" + } + } + } + }, + "v1ListPartiesStakeResponse": { + "type": "object", + "properties": { + "partiesStake": { + "type": "array", + "items": { + "$ref": "#/definitions/v1PartyStake" + } + } + } + }, + "v1ListProposalsResponse": { + "type": "object", + "properties": { + "proposals": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaProposal" + } + } + } + }, + "v1ListValidatorsResponse": { + "type": "object", + "properties": { + "validators": { + "type": "array", + "items": { + "$ref": "#/definitions/v1ValidatorUpdate" + } + } + } + }, + "v1ListVotesResponse": { + "type": "object", + "properties": { + "votes": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaVote" + } + } + } + }, + "v1PartyStake": { + "type": "object", + "properties": { + "party": { + "type": "string" + }, + "currentStakeAvailable": { + "type": "string" + }, + "stakeLinkings": { + "type": "array", + "items": { + "$ref": "#/definitions/v1StakeLinking" + } + } + } + }, + "v1PropertyKey": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the property." + }, + "type": { + "$ref": "#/definitions/v1PropertyKeyType", + "description": "Data type of the property." + }, + "numberDecimalPlaces": { + "type": "string", + "format": "uint64", + "title": "Optional decimal place to be be applied on the provided value\nvalid only for PropertyType of type DECIMAL and INTEGER" + } + }, + "description": "PropertyKey describes the property key contained in data source data." + }, + "v1PropertyKeyType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_EMPTY", + "TYPE_INTEGER", + "TYPE_STRING", + "TYPE_BOOLEAN", + "TYPE_DECIMAL", + "TYPE_TIMESTAMP" + ], + "default": "TYPE_UNSPECIFIED", + "description": "Type describes the data type of properties that are supported by the data source\nengine.\n\n - TYPE_UNSPECIFIED: The default value.\n - TYPE_EMPTY: Any type.\n - TYPE_INTEGER: Integer type.\n - TYPE_STRING: String type.\n - TYPE_BOOLEAN: Boolean type.\n - TYPE_DECIMAL: Any floating point decimal type.\n - TYPE_TIMESTAMP: Timestamp date type." + }, + "v1PubKey": { + "type": "object", + "properties": { + "key": { + "type": "string" + } + }, + "description": "PubKey is the public key that signed this data.\nDifferent public keys coming from different sources will be further separated." + }, + "v1Signer": { + "type": "object", + "properties": { + "pubKey": { + "$ref": "#/definitions/v1PubKey", + "description": "List of authorized public keys that signed the data for this\nsource. All the public keys in the data should be contained in these\npublic keys." + }, + "ethAddress": { + "$ref": "#/definitions/v1ETHAddress", + "description": "In case of an open oracle - Ethereum address will be submitted." + } + } + }, + "v1StakeLinking": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "Internal ID for this staking event" + }, + "type": { + "$ref": "#/definitions/v1StakeLinkingType", + "description": "Stake linking event type." + }, + "ts": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds of when the event was emitted by Ethereum." + }, + "party": { + "type": "string", + "description": "Party to whom the event is directed at." + }, + "amount": { + "type": "string", + "description": "Amount of stake deposited or removed." + }, + "status": { + "$ref": "#/definitions/v1StakeLinkingStatus", + "description": "Status of the event." + }, + "finalizedAt": { + "type": "string", + "format": "int64", + "description": "Time at which the Vega network finalised the state of the event." + }, + "txHash": { + "type": "string", + "description": "Hash of the transaction in which the event happened." + }, + "blockHeight": { + "type": "string", + "format": "uint64", + "description": "Block when the event happened." + }, + "blockTime": { + "type": "string", + "format": "int64", + "description": "Block time." + }, + "logIndex": { + "type": "string", + "format": "uint64", + "description": "Log index." + }, + "ethereumAddress": { + "type": "string", + "description": "Ethereum address from which the stake link was initiated." + } + }, + "title": "StakeLinking - an event notifying of stake being deposited or removed for a given party\nThese events are emitted for every Staking deposit or removed accepted by the network" + }, + "v1StakeLinkingStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PENDING", + "STATUS_ACCEPTED", + "STATUS_REJECTED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value\n - STATUS_PENDING: Indicates an event waiting for confirmation from the Vega network\n - STATUS_ACCEPTED: Indicates an event accepted by the Vega network\n - STATUS_REJECTED: Indicates an event rejected by the Vega network" + }, + "v1StakeLinkingType": { + "type": "string", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_LINK", + "TYPE_UNLINK" + ], + "default": "TYPE_UNSPECIFIED", + "title": "- TYPE_UNSPECIFIED: Default value\n - TYPE_LINK: Indicate of a stake deposit instruction\n - TYPE_UNLINK: Indicate of a stake remove instruction" + }, + "v1ValidatorUpdate": { + "type": "object", + "properties": { + "nodeId": { + "type": "string", + "title": "Node ID of the validator node" + }, + "vegaPubKey": { + "type": "string", + "title": "Vega public key of validator node" + }, + "ethereumAddress": { + "type": "string", + "title": "Ethereum public key of validator node" + }, + "tmPubKey": { + "type": "string", + "title": "Public key of Tendermint" + }, + "infoUrl": { + "type": "string", + "title": "URL with more info on the node" + }, + "country": { + "type": "string", + "title": "Country code (ISO 3166-1 alpha-2) for the location of the node" + }, + "name": { + "type": "string", + "title": "Name of the validator" + }, + "avatarUrl": { + "type": "string", + "title": "AvatarURL of the validator" + }, + "vegaPubKeyIndex": { + "type": "integer", + "format": "int64", + "title": "Vega public key derivation index" + }, + "added": { + "type": "boolean", + "title": "Flag indicating if the validator has been added to or removed from vega" + }, + "fromEpoch": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the announced pending node will start participating in the network" + }, + "submitterAddress": { + "type": "string", + "title": "Ethereum public key being used as the submitter to allow automatic signature generation" + }, + "epochSeq": { + "type": "string", + "format": "uint64", + "title": "Epoch in which the node was announced or removed from the network" + } + }, + "title": "Validator update event contains information about validator node" + }, + "vegaAccountType": { + "type": "string", + "enum": [ + "ACCOUNT_TYPE_UNSPECIFIED", + "ACCOUNT_TYPE_INSURANCE", + "ACCOUNT_TYPE_SETTLEMENT", + "ACCOUNT_TYPE_MARGIN", + "ACCOUNT_TYPE_GENERAL", + "ACCOUNT_TYPE_FEES_INFRASTRUCTURE", + "ACCOUNT_TYPE_FEES_LIQUIDITY", + "ACCOUNT_TYPE_FEES_MAKER", + "ACCOUNT_TYPE_BOND", + "ACCOUNT_TYPE_EXTERNAL", + "ACCOUNT_TYPE_GLOBAL_INSURANCE", + "ACCOUNT_TYPE_GLOBAL_REWARD", + "ACCOUNT_TYPE_PENDING_TRANSFERS", + "ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES", + "ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES", + "ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS", + "ACCOUNT_TYPE_HOLDING", + "ACCOUNT_TYPE_LP_LIQUIDITY_FEES", + "ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION", + "ACCOUNT_TYPE_NETWORK_TREASURY" + ], + "default": "ACCOUNT_TYPE_UNSPECIFIED", + "description": "- ACCOUNT_TYPE_UNSPECIFIED: Default value\n - ACCOUNT_TYPE_INSURANCE: Insurance pool accounts contain insurance pool funds for a market\n - ACCOUNT_TYPE_SETTLEMENT: Settlement accounts exist only during settlement or mark-to-market\n - ACCOUNT_TYPE_MARGIN: Margin accounts contain funds set aside for the margin needed to support a party's open positions.\nEach party will have a margin account for each market they have traded in.\nRequired initial margin is allocated to each market from user's general account.\nCollateral in the margin account can't be withdrawn or used as margin on another market until\nit is released back to the general account.\nVega protocol uses an internal accounting system to segregate funds held as\nmargin from other funds to ensure they are never lost or 'double spent'\n\nMargin account funds will vary as margin requirements on positions change\n - ACCOUNT_TYPE_GENERAL: General accounts contain the collateral for a party that is not otherwise allocated. A party will\nhave multiple general accounts, one for each asset they want\nto trade with\n\nGeneral accounts are where funds are initially deposited or withdrawn from,\nit is also the account where funds are taken to fulfil fees and initial margin requirements\n - ACCOUNT_TYPE_FEES_INFRASTRUCTURE: Infrastructure accounts contain fees earned by providing infrastructure on Vega\n - ACCOUNT_TYPE_FEES_LIQUIDITY: Liquidity accounts contain fees earned by providing liquidity on Vega markets\n - ACCOUNT_TYPE_FEES_MAKER: This account is created to hold fees earned by placing orders that sit on the book\nand are then matched with an incoming order to create a trade - These fees reward parties\nwho provide the best priced liquidity that actually allows trading to take place\n - ACCOUNT_TYPE_BOND: This account is created to maintain liquidity providers funds commitments\n - ACCOUNT_TYPE_EXTERNAL: External account represents an external source (deposit/withdrawal)\n - ACCOUNT_TYPE_GLOBAL_INSURANCE: Global insurance account for the asset\n - ACCOUNT_TYPE_GLOBAL_REWARD: Global reward account for the asset\n - ACCOUNT_TYPE_PENDING_TRANSFERS: Per asset account used to store pending transfers (if any)\n - ACCOUNT_TYPE_REWARD_MAKER_PAID_FEES: Per asset reward account for fees paid to makers\n - ACCOUNT_TYPE_REWARD_MAKER_RECEIVED_FEES: Per asset reward account for fees received by makers\n - ACCOUNT_TYPE_REWARD_LP_RECEIVED_FEES: Per asset reward account for fees received by liquidity providers\n - ACCOUNT_TYPE_REWARD_MARKET_PROPOSERS: Per asset reward account for market proposers when the market goes above some trading threshold\n - ACCOUNT_TYPE_HOLDING: Per asset account for holding in-flight unfilled orders' funds\n - ACCOUNT_TYPE_LP_LIQUIDITY_FEES: Network controlled liquidity provider's account, per market, to hold accrued liquidity fees.\n - ACCOUNT_TYPE_LIQUIDITY_FEES_BONUS_DISTRIBUTION: Network controlled liquidity fees bonus distribution account, per market.\n - ACCOUNT_TYPE_NETWORK_TREASURY: Network controlled treasury", + "title": "Various collateral/account types as used by Vega" + }, + "vegaAsset": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Internal identifier of the asset." + }, + "details": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Definition of the external source for this asset." + }, + "status": { + "$ref": "#/definitions/vegaAssetStatus", + "description": "Status of the asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetails": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the asset (e.g: Great British Pound)." + }, + "symbol": { + "type": "string", + "description": "Symbol of the asset (e.g: GBP)." + }, + "decimals": { + "type": "string", + "format": "uint64", + "description": "Number of decimal / precision handled by this asset." + }, + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "builtinAsset": { + "$ref": "#/definitions/vegaBuiltinAsset", + "description": "Vega built-in asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20", + "description": "Ethereum ERC20 asset." + } + }, + "title": "Vega representation of an external asset" + }, + "vegaAssetDetailsUpdate": { + "type": "object", + "properties": { + "quantum": { + "type": "string", + "description": "Minimum economically meaningful amount in the asset." + }, + "erc20": { + "$ref": "#/definitions/vegaERC20Update", + "description": "Ethereum ERC20 asset update." + } + }, + "description": "Changes to apply on an existing asset." + }, + "vegaAssetStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_PROPOSED", + "STATUS_REJECTED", + "STATUS_PENDING_LISTING", + "STATUS_ENABLED" + ], + "default": "STATUS_UNSPECIFIED", + "title": "- STATUS_UNSPECIFIED: Default value, always invalid\n - STATUS_PROPOSED: Asset is proposed and under vote\n - STATUS_REJECTED: Asset has been rejected from governance\n - STATUS_PENDING_LISTING: Asset is pending listing from the bridge\n - STATUS_ENABLED: Asset is fully usable in the network" + }, + "vegaAuctionDuration": { + "type": "object", + "properties": { + "duration": { + "type": "string", + "format": "int64", + "description": "Duration of the auction in seconds." + }, + "volume": { + "type": "string", + "format": "uint64", + "description": "Target uncrossing trading volume." + } + }, + "title": "Auction duration is used to configure 3 auction periods:\n1. `duration \u003e 0`, `volume == 0`:\n The auction will last for at least N seconds\n2. `duration == 0`, `volume \u003e 0`:\n The auction will end once the given volume will match at uncrossing\n3. `duration \u003e 0`, `volume \u003e 0`:\n The auction will take at least N seconds, but can end sooner if the market can trade a certain volume" + }, + "vegaAuctionTrigger": { + "type": "string", + "enum": [ + "AUCTION_TRIGGER_UNSPECIFIED", + "AUCTION_TRIGGER_BATCH", + "AUCTION_TRIGGER_OPENING", + "AUCTION_TRIGGER_PRICE", + "AUCTION_TRIGGER_LIQUIDITY", + "AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET", + "AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS", + "AUCTION_TRIGGER_GOVERNANCE_SUSPENSION" + ], + "default": "AUCTION_TRIGGER_UNSPECIFIED", + "description": "- AUCTION_TRIGGER_UNSPECIFIED: Default value for AuctionTrigger, no auction triggered\n - AUCTION_TRIGGER_BATCH: Batch auction\n - AUCTION_TRIGGER_OPENING: Opening auction\n - AUCTION_TRIGGER_PRICE: Price monitoring trigger\n - AUCTION_TRIGGER_LIQUIDITY: Deprecated\n - AUCTION_TRIGGER_LIQUIDITY_TARGET_NOT_MET: Liquidity auction due to not enough committed liquidity\n - AUCTION_TRIGGER_UNABLE_TO_DEPLOY_LP_ORDERS: Liquidity auction due to not being able to deploy LP orders because there's nothing to peg on one or both sides of the book\n - AUCTION_TRIGGER_GOVERNANCE_SUSPENSION: Market is suspended and put into auction via governance", + "title": "Auction triggers indicate what condition triggered an auction (if market is in auction mode)" + }, + "vegaBuiltinAsset": { + "type": "object", + "properties": { + "maxFaucetAmountMint": { + "type": "string", + "description": "Maximum amount that can be requested by a party through the built-in asset faucet at a time." + } + }, + "title": "Vega internal asset" + }, + "vegaCancelTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaCancelTransferConfiguration", + "title": "Configuration for cancellation of a governance-initiated transfer" + } + } + }, + "vegaCancelTransferConfiguration": { + "type": "object", + "properties": { + "transferId": { + "type": "string", + "description": "ID of the governance transfer proposal." + } + } + }, + "vegaDataSourceDefinition": { + "type": "object", + "properties": { + "internal": { + "$ref": "#/definitions/vegaDataSourceDefinitionInternal" + }, + "external": { + "$ref": "#/definitions/vegaDataSourceDefinitionExternal" + } + }, + "description": "Represents the top level object that handles data sources.\nData source definition can be external or internal, with whatever\nnumber of data sources are defined for each type in the child objects below." + }, + "vegaDataSourceDefinitionExternal": { + "type": "object", + "properties": { + "oracle": { + "$ref": "#/definitions/vegaDataSourceSpecConfiguration" + }, + "ethOracle": { + "$ref": "#/definitions/vegaEthCallSpec", + "description": "Contains the data specification that is received from Ethereum sources." + } + }, + "description": "DataSourceDefinitionExternal is the top level object used for all external\ndata sources. It contains one of any of the defined `SourceType` variants." + }, + "vegaDataSourceDefinitionInternal": { + "type": "object", + "properties": { + "time": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTime" + }, + "timeTrigger": { + "$ref": "#/definitions/vegaDataSourceSpecConfigurationTimeTrigger" + } + }, + "description": "Top level object used for all internal data sources.\nIt contains one of any of the defined source type variants." + }, + "vegaDataSourceSpec": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Hash generated from the DataSpec data." + }, + "createdAt": { + "type": "string", + "format": "int64", + "title": "Creation date and time" + }, + "updatedAt": { + "type": "string", + "format": "int64", + "title": "Last Updated timestamp" + }, + "data": { + "$ref": "#/definitions/vegaDataSourceDefinition" + }, + "status": { + "$ref": "#/definitions/vegaDataSourceSpecStatus", + "title": "Status describes the status of the data source spec" + } + }, + "description": "Data source spec describes the data source base that a product or a risk\nmodel wants to get from the data source engine. This message contains\nadditional information used by the API." + }, + "vegaDataSourceSpecConfiguration": { + "type": "object", + "properties": { + "signers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Signer" + }, + "description": "Signers is the list of authorized signatures that signed the data for this\nsource. All the signatures in the data source data should be contained in\nthis external source. All the signatures in the data should be contained in\nthis list." + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "description": "Filters describes which source data are considered of interest or not for\nthe product (or the risk model)." + } + }, + "description": "All types of external data sources use the same configuration set for meeting\nrequirements in order for the data to be useful for Vega - valid signatures\nand matching filters." + }, + "vegaDataSourceSpecConfigurationTime": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps should meet in order to be considered." + } + }, + "description": "Internal data source used for emitting timestamps." + }, + "vegaDataSourceSpecConfigurationTimeTrigger": { + "type": "object", + "properties": { + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Condition" + }, + "description": "Conditions that the timestamps need to meet in order to be considered." + }, + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/v1InternalTimeTrigger" + }, + "title": "An internal time trigger" + } + }, + "description": "Internal data source used for emitting timestamps automatically using predefined intervals and conditions." + }, + "vegaDataSourceSpecStatus": { + "type": "string", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_ACTIVE", + "STATUS_DEACTIVATED" + ], + "default": "STATUS_UNSPECIFIED", + "description": "- STATUS_UNSPECIFIED: Default value.\n - STATUS_ACTIVE: STATUS_ACTIVE describes an active data source spec.\n - STATUS_DEACTIVATED: STATUS_DEACTIVATED describes a data source spec that is not listening to\ndata anymore.", + "title": "Status describe the status of the data source spec" + }, + "vegaDataSourceSpecToFutureBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the Future will use the value of\nthis property as settlement data." + }, + "tradingTerminationProperty": { + "type": "string", + "description": "Name of the property in the data source data that signals termination of trading." + } + }, + "title": "DataSourceSpecToFutureBinding describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDataSourceSpecToPerpetualBinding": { + "type": "object", + "properties": { + "settlementDataProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + }, + "settlementScheduleProperty": { + "type": "string", + "description": "Name of the property in the source data that should be used as settlement data.\nIf it is set to \"prices.BTC.value\", then the perpetual market will use the value of\nthis property as settlement data." + } + }, + "title": "Describes which property of the data source data is to be\nused as settlement data and which to use as the trading terminated trigger" + }, + "vegaDelegation": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Party which is delegating." + }, + "nodeId": { + "type": "string", + "description": "Node ID to delegate to." + }, + "amount": { + "type": "string", + "description": "Amount delegated. This field is an unsigned integer scaled to the asset's decimal places." + }, + "epochSeq": { + "type": "string", + "description": "Epoch of delegation." + } + } + }, + "vegaDispatchMetric": { + "type": "string", + "enum": [ + "DISPATCH_METRIC_UNSPECIFIED", + "DISPATCH_METRIC_MAKER_FEES_PAID", + "DISPATCH_METRIC_MAKER_FEES_RECEIVED", + "DISPATCH_METRIC_LP_FEES_RECEIVED", + "DISPATCH_METRIC_MARKET_VALUE" + ], + "default": "DISPATCH_METRIC_UNSPECIFIED", + "title": "- DISPATCH_METRIC_MAKER_FEES_PAID: Dispatch metric that is using the total maker fees paid in the market\n - DISPATCH_METRIC_MAKER_FEES_RECEIVED: Dispatch metric that is using the total maker fees received in the market\n - DISPATCH_METRIC_LP_FEES_RECEIVED: Dispatch metric that is using the total LP fees received in the market\n - DISPATCH_METRIC_MARKET_VALUE: Dispatch metric that is using total value of the market if above the required threshold and not paid given proposer bonus yet" + }, + "vegaDispatchStrategy": { + "type": "object", + "properties": { + "assetForMetric": { + "type": "string", + "description": "Asset to use for metric." + }, + "metric": { + "$ref": "#/definitions/vegaDispatchMetric", + "description": "Metric to apply." + }, + "markets": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional markets in scope." + } + } + }, + "vegaERC20": { + "type": "object", + "properties": { + "contractAddress": { + "type": "string", + "description": "Address of the contract for the token, on the ethereum network." + }, + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + }, + "title": "ERC20 token based asset, living on the ethereum network" + }, + "vegaERC20Update": { + "type": "object", + "properties": { + "lifetimeLimit": { + "type": "string", + "description": "Lifetime limits deposit per address.\nThis will be interpreted against the asset decimals.\nnote: this is a temporary measure that can be changed by governance." + }, + "withdrawThreshold": { + "type": "string", + "description": "Maximum you can withdraw instantly. All withdrawals over the threshold will be delayed by the withdrawal delay.\nThere’s no limit on the size of a withdrawal\nnote: this is a temporary measure that can be changed by governance." + } + } + }, + "vegaEthCallSpec": { + "type": "object", + "properties": { + "address": { + "type": "string", + "description": "Ethereum address of the contract to call." + }, + "abi": { + "type": "string", + "description": "The ABI of that contract." + }, + "method": { + "type": "string", + "description": "Name of the method on the contract to call." + }, + "args": { + "type": "array", + "items": { + "type": "object" + }, + "description": "List of arguments to pass to method call.\nProtobuf 'Value' wraps an arbitrary JSON type that is mapped to an Ethereum\ntype according to the ABI." + }, + "trigger": { + "$ref": "#/definitions/vegaEthCallTrigger", + "description": "Conditions for determining when to call the contract method." + }, + "requiredConfirmations": { + "type": "string", + "format": "uint64", + "title": "Number of confirmations required before the query is considered verified" + }, + "filters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Filter" + }, + "title": "Filters the data returned from the contract method" + }, + "normalisers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaNormaliser" + }, + "description": "Normalisers are used to convert the data returned from the contract method\ninto a standard format. The key of the map is the name of the property,\nwhich identifies the specific piece of data to other parts of the data\nsourcing framework, for example filters. The value is a JSONPath expression\nfor expressing where in the contract call result the required data is\nlocated, for example $[0] indicates the first result. $[1].price would look\nin the second result returned from the contract for a structure with a key\ncalled 'price' and use that if it exists." + } + }, + "description": "Specifies a data source that derives its content from calling a read method\non an Ethereum contract." + }, + "vegaEthCallTrigger": { + "type": "object", + "properties": { + "timeTrigger": { + "$ref": "#/definitions/vegaEthTimeTrigger" + } + }, + "description": "Determines when the contract method should be called." + }, + "vegaEthTimeTrigger": { + "type": "object", + "properties": { + "initial": { + "type": "string", + "format": "uint64", + "description": "Trigger when the Ethereum time is greater or equal to this time, in Unix\nseconds." + }, + "every": { + "type": "string", + "format": "uint64", + "description": "Repeat the call every n seconds after the initial call. If no time for\ninitial call was specified, begin repeating immediately." + }, + "until": { + "type": "string", + "format": "uint64", + "description": "If repeating, stop once Ethereum time is greater than this time, in Unix\nseconds. If not set, then repeat indefinitely." + } + }, + "description": "Trigger for an Ethereum call based on the Ethereum block timestamp. Can be\none-off or repeating." + }, + "vegaFeeFactors": { + "type": "object", + "properties": { + "makerFee": { + "type": "string", + "description": "Market maker fee charged network wide." + }, + "infrastructureFee": { + "type": "string", + "description": "Infrastructure fee charged network wide for staking and governance." + }, + "liquidityFee": { + "type": "string", + "description": "Liquidity fee applied per market for market making." + } + }, + "title": "Fee factors definition" + }, + "vegaFees": { + "type": "object", + "properties": { + "factors": { + "$ref": "#/definitions/vegaFeeFactors", + "description": "Fee factors." + } + }, + "title": "Fees definition" + }, + "vegaFuture": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the future." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the settlement data source filter." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source specification that describes the trading termination data source filter." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data spec and the data source." + } + }, + "title": "Future product definition" + }, + "vegaFutureProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The external data source spec describing the data source of trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaGovernanceTransferType": { + "type": "string", + "enum": [ + "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED", + "GOVERNANCE_TRANSFER_TYPE_ALL_OR_NOTHING", + "GOVERNANCE_TRANSFER_TYPE_BEST_EFFORT" + ], + "default": "GOVERNANCE_TRANSFER_TYPE_UNSPECIFIED" + }, + "vegaInstrument": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique instrument ID." + }, + "code": { + "type": "string", + "description": "Code for the instrument." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + }, + "metadata": { + "$ref": "#/definitions/vegaInstrumentMetadata", + "description": "Collection of instrument meta-data." + }, + "future": { + "$ref": "#/definitions/vegaFuture", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpot", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetual", + "description": "Perpetual." + } + }, + "title": "Instrument definition" + }, + "vegaInstrumentConfiguration": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Instrument name." + }, + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaFutureProduct", + "description": "Future." + }, + "spot": { + "$ref": "#/definitions/vegaSpotProduct", + "description": "Spot." + }, + "perpetual": { + "$ref": "#/definitions/vegaPerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaInstrumentMetadata": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of 0 or more tags." + } + }, + "title": "Instrument metadata definition" + }, + "vegaLiquidityMonitoringParameters": { + "type": "object", + "properties": { + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "triggeringRatio": { + "type": "string", + "description": "Specifies the triggering ratio for entering liquidity auction." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Specifies by how many seconds an auction should be extended if leaving the auction were to trigger a liquidity auction." + } + }, + "title": "LiquidityMonitoringParameters contains settings used for liquidity monitoring" + }, + "vegaLiquidityProviderFeeShare": { + "type": "object", + "properties": { + "party": { + "type": "string", + "description": "Liquidity provider party ID." + }, + "equityLikeShare": { + "type": "string", + "description": "Share own by this liquidity provider." + }, + "averageEntryValuation": { + "type": "string", + "description": "Average entry valuation of the liquidity provider for the market." + }, + "averageScore": { + "type": "string", + "description": "Average liquidity score." + }, + "virtualStake": { + "type": "string", + "description": "The virtual stake of this liquidity provider." + } + }, + "title": "Equity like share of liquidity fee for each liquidity provider" + }, + "vegaLiquiditySLAParameters": { + "type": "object", + "properties": { + "priceRange": { + "type": "string" + }, + "commitmentMinTimeFraction": { + "type": "string", + "description": "Specifies the minimum fraction of time LPs must spend \"on the book\" providing their committed liquidity." + }, + "providersFeeCalculationTimeStep": { + "type": "string", + "format": "int64", + "description": "Specifies how often the quality of liquidity supplied by the LPs is evaluated and fees arising from that period are earmarked for specific parties." + }, + "performanceHysteresisEpochs": { + "type": "string", + "format": "uint64", + "description": "Specifies the number of liquidity epochs over which past performance will continue to affect rewards." + }, + "slaCompetitionFactor": { + "type": "string", + "description": "Specifies the maximum fraction of their accrued fees an LP that meets the SLA implied by market.liquidity.commitmentMinTimeFraction will lose to liquidity providers\nthat achieved a higher SLA performance than them." + } + } + }, + "vegaLogNormalModelParams": { + "type": "object", + "properties": { + "mu": { + "type": "number", + "format": "double", + "description": "Mu parameter, annualised growth rate of the underlying asset." + }, + "r": { + "type": "number", + "format": "double", + "description": "R parameter, annualised growth rate of the risk-free asset, used for discounting of future cash flows, can be any real number." + }, + "sigma": { + "type": "number", + "format": "double", + "description": "Sigma parameter, annualised volatility of the underlying asset, must be a strictly non-negative real number." + } + }, + "title": "Risk model parameters for log normal" + }, + "vegaLogNormalRiskModel": { + "type": "object", + "properties": { + "riskAversionParameter": { + "type": "number", + "format": "double", + "description": "Risk Aversion Parameter." + }, + "tau": { + "type": "number", + "format": "double", + "description": "Tau parameter of the risk model, projection horizon measured as a year fraction used in the expected shortfall\ncalculation to obtain the maintenance margin, must be a strictly non-negative real number." + }, + "params": { + "$ref": "#/definitions/vegaLogNormalModelParams", + "description": "Risk model parameters for log normal." + } + }, + "title": "Risk model for log normal" + }, + "vegaMarginCalculator": { + "type": "object", + "properties": { + "scalingFactors": { + "$ref": "#/definitions/vegaScalingFactors", + "description": "Scaling factors for margin calculation." + } + }, + "title": "Margin Calculator definition" + }, + "vegaMarket": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the market." + }, + "tradableInstrument": { + "$ref": "#/definitions/vegaTradableInstrument", + "description": "Tradable instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Number of decimal places that a price must be shifted by in order to get a\ncorrect price denominated in the currency of the market, for example:\n`realPrice = price / 10^decimalPlaces`." + }, + "fees": { + "$ref": "#/definitions/vegaFees", + "description": "Fees configuration that apply to the market." + }, + "openingAuction": { + "$ref": "#/definitions/vegaAuctionDuration", + "description": "Auction duration specifies how long the opening auction will run (minimum\nduration and optionally a minimum traded volume)." + }, + "priceMonitoringSettings": { + "$ref": "#/definitions/vegaPriceMonitoringSettings", + "description": "PriceMonitoringSettings for the market." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "LiquidityMonitoringParameters for the market." + }, + "tradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current mode of execution of the market." + }, + "state": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "marketTimestamps": { + "$ref": "#/definitions/vegaMarketTimestamps", + "description": "Timestamps for when the market state changes." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "The number of decimal places for a position." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "parentMarketId": { + "type": "string", + "title": "ID of the market this market succeeds" + }, + "insurancePoolFraction": { + "type": "string", + "description": "The fraction of the parent market's insurance pool that this market inherits; range 0 through 1." + }, + "successorMarketId": { + "type": "string", + "description": "ID of the market that succeeds this market if it exists. This will be populated by the system when the successor market is enabled." + }, + "liquiditySlaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Liquidity SLA parameters for the market." + } + }, + "title": "Market definition" + }, + "vegaMarketData": { + "type": "object", + "properties": { + "markPrice": { + "type": "string", + "description": "Mark price, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidPrice": { + "type": "string", + "description": "Highest price level on an order book for buy orders, as an unsigned integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "bestBidVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being bid at the best bid price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestOfferPrice": { + "type": "string", + "description": "Lowest price level on an order book for offer orders. This field is an unsigned integer scaled to the market's decimal places." + }, + "bestOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Aggregated volume being offered at the best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market is configured to 5 decimal places." + }, + "bestStaticBidPrice": { + "type": "string", + "description": "Highest price on the order book for buy orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticBidVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static bid price excluding pegged orders." + }, + "bestStaticOfferPrice": { + "type": "string", + "description": "Lowest price on the order book for sell orders not including pegged orders.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "bestStaticOfferVolume": { + "type": "string", + "format": "uint64", + "description": "Total volume at the best static offer price, excluding pegged orders." + }, + "midPrice": { + "type": "string", + "description": "Arithmetic average of the best bid price and best offer price, as an integer, for example `123456` is a correctly\nformatted price of `1.23456` assuming market configured to 5 decimal places." + }, + "staticMidPrice": { + "type": "string", + "description": "Arithmetic average of the best static bid price and best static offer price.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "market": { + "type": "string", + "title": "Market ID for the data" + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which this mark price was relevant." + }, + "openInterest": { + "type": "string", + "format": "uint64", + "description": "Sum of the size of all positions greater than zero on the market." + }, + "auctionEnd": { + "type": "string", + "format": "int64", + "description": "Time in seconds until the end of the auction (zero if currently not in auction period)." + }, + "auctionStart": { + "type": "string", + "format": "int64", + "description": "Time until next auction, or start time of the current auction if market is in auction period." + }, + "indicativePrice": { + "type": "string", + "description": "Indicative price (zero if not in auction). This field is an unsigned scaled to the market's decimal places." + }, + "indicativeVolume": { + "type": "string", + "format": "uint64", + "description": "Indicative volume (zero if not in auction)." + }, + "marketTradingMode": { + "$ref": "#/definitions/MarketTradingMode", + "description": "Current trading mode for the market." + }, + "trigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market is in an auction trading mode, this field indicates what triggered the auction." + }, + "extensionTrigger": { + "$ref": "#/definitions/vegaAuctionTrigger", + "description": "When a market auction is extended, this field indicates what caused the extension." + }, + "targetStake": { + "type": "string", + "description": "Targeted stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "suppliedStake": { + "type": "string", + "description": "Available stake for the given market. This field is an unsigned integer scaled to the settlement asset's decimal places." + }, + "priceMonitoringBounds": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringBounds" + }, + "description": "One or more price monitoring bounds for the current timestamp." + }, + "marketValueProxy": { + "type": "string", + "description": "Market value proxy." + }, + "liquidityProviderFeeShare": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaLiquidityProviderFeeShare" + }, + "description": "Equity like share of liquidity fee for each liquidity provider." + }, + "marketState": { + "$ref": "#/definitions/vegaMarketState", + "description": "Current state of the market." + }, + "nextMarkToMarket": { + "type": "string", + "format": "int64", + "description": "Time in Unix nanoseconds when the next mark-to-market calculation will occur." + }, + "lastTradedPrice": { + "type": "string", + "description": "Last traded price of the market. This field is an unsigned integer scaled to the market's decimal places." + }, + "marketGrowth": { + "type": "string", + "description": "Market growth at the last market time window." + } + }, + "title": "Represents data generated by a market when open" + }, + "vegaMarketState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_PROPOSED", + "STATE_REJECTED", + "STATE_PENDING", + "STATE_CANCELLED", + "STATE_ACTIVE", + "STATE_SUSPENDED", + "STATE_CLOSED", + "STATE_TRADING_TERMINATED", + "STATE_SETTLED", + "STATE_SUSPENDED_VIA_GOVERNANCE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, invalid\n - STATE_PROPOSED: Governance proposal valid and accepted\n - STATE_REJECTED: Outcome of governance votes is to reject the market\n - STATE_PENDING: Governance vote passes/wins\n - STATE_CANCELLED: Market triggers cancellation condition or governance\nvotes to close before market becomes Active\n - STATE_ACTIVE: Enactment date reached and usual auction exit checks pass\n - STATE_SUSPENDED: Price monitoring or liquidity monitoring trigger\n - STATE_CLOSED: Governance vote to close (Not currently implemented)\n - STATE_TRADING_TERMINATED: Defined by the product (i.e. from a product parameter,\nspecified in market definition, giving close date/time)\n - STATE_SETTLED: Settlement triggered and completed as defined by product\n - STATE_SUSPENDED_VIA_GOVERNANCE: Market has been suspended via governance", + "title": "Current state of the market" + }, + "vegaMarketStateUpdateType": { + "type": "string", + "enum": [ + "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "MARKET_STATE_UPDATE_TYPE_TERMINATE", + "MARKET_STATE_UPDATE_TYPE_SUSPEND", + "MARKET_STATE_UPDATE_TYPE_RESUME" + ], + "default": "MARKET_STATE_UPDATE_TYPE_UNSPECIFIED", + "title": "- MARKET_STATE_UPDATE_TYPE_UNSPECIFIED: Default value, always invalid\n - MARKET_STATE_UPDATE_TYPE_TERMINATE: Request to terminate a market via governance\n - MARKET_STATE_UPDATE_TYPE_SUSPEND: Request to suspend a market via governance\n - MARKET_STATE_UPDATE_TYPE_RESUME: Request to resume a market via governance" + }, + "vegaMarketTimestamps": { + "type": "object", + "properties": { + "proposed": { + "type": "string", + "format": "int64", + "description": "Time when the market is first proposed." + }, + "pending": { + "type": "string", + "format": "int64", + "description": "Time when the market has been voted in and began its opening auction." + }, + "open": { + "type": "string", + "format": "int64", + "description": "Time when the market has left the opening auction and is ready to accept trades." + }, + "close": { + "type": "string", + "format": "int64", + "description": "Time when the market closed." + } + }, + "title": "Time stamps for important times about creating, enacting etc the market" + }, + "vegaNetworkLimits": { + "type": "object", + "properties": { + "canProposeMarket": { + "type": "boolean", + "description": "Are market proposals allowed at this point in time." + }, + "canProposeAsset": { + "type": "boolean", + "description": "Are asset proposals allowed at this point in time." + }, + "proposeMarketEnabled": { + "type": "boolean", + "description": "Are market proposals enabled on this chain." + }, + "proposeAssetEnabled": { + "type": "boolean", + "description": "Are asset proposals enabled on this chain." + }, + "genesisLoaded": { + "type": "boolean", + "description": "True once the genesis file is loaded." + }, + "proposeMarketEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which market proposals will be enabled (0 indicates not set)." + }, + "proposeAssetEnabledFrom": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds at which asset proposals will be enabled (0 indicates not set)." + }, + "canProposeSpotMarket": { + "type": "boolean", + "description": "Are spot market proposals allowed at this point in time." + }, + "canProposePerpetualMarket": { + "type": "boolean", + "description": "Are perpetual market proposals allowed at this point in time." + } + }, + "title": "Network limits, defined in the genesis file" + }, + "vegaNetworkParameter": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "Unique key of the network parameter." + }, + "value": { + "type": "string", + "description": "Value for the network parameter." + } + }, + "title": "Represents a network parameter on Vega" + }, + "vegaNewAsset": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaAssetDetails", + "description": "Configuration of the new asset." + } + }, + "title": "New asset on Vega" + }, + "vegaNewFreeform": { + "type": "object", + "description": "Freeform proposal\nThis message is just used as a placeholder to sort out the nature of the\nproposal once parsed." + }, + "vegaNewMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewMarketConfiguration", + "description": "Configuration of the new market." + } + }, + "title": "New market on Vega" + }, + "vegaNewMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New futures market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new futures market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the futures market can be." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + }, + "successor": { + "$ref": "#/definitions/vegaSuccessorConfiguration", + "description": "Successor configuration. If this proposal is meant to succeed a given market, then this should be set." + } + }, + "title": "Configuration for a new futures market on Vega" + }, + "vegaNewSpotMarket": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewSpotMarketConfiguration", + "description": "Configuration of the new spot market." + } + }, + "title": "New spot market on Vega" + }, + "vegaNewSpotMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrumentConfiguration", + "description": "New spot market instrument configuration." + }, + "decimalPlaces": { + "type": "string", + "format": "uint64", + "description": "Decimal places used for the new spot market, sets the smallest price increment on the book." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional new spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "positionDecimalPlaces": { + "type": "string", + "format": "int64", + "description": "Decimal places for order sizes, sets what size the smallest order / position on the spot market can be." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration for a new spot market on Vega" + }, + "vegaNewTransfer": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNewTransferConfiguration", + "description": "Configuration for a new transfer." + } + }, + "title": "New governance transfer" + }, + "vegaNewTransferConfiguration": { + "type": "object", + "properties": { + "sourceType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Source account type, such as network treasury, market insurance pool" + }, + "source": { + "type": "string", + "title": "If network treasury, field is empty, otherwise uses the market ID" + }, + "transferType": { + "$ref": "#/definitions/vegaGovernanceTransferType", + "title": "\"All or nothing\" or \"best effort\":\nAll or nothing: Transfers the specified amount or does not transfer anything\nBest effort: Transfers the specified amount or the max allowable amount if this is less than the specified amount" + }, + "amount": { + "type": "string", + "title": "Maximum amount to transfer" + }, + "asset": { + "type": "string", + "title": "ID of asset to transfer" + }, + "fractionOfBalance": { + "type": "string", + "title": "Maximum fraction of the source account's balance to transfer as a decimal - i.e. 0.1 = 10% of the balance" + }, + "destinationType": { + "$ref": "#/definitions/vegaAccountType", + "title": "Specifies the account type to transfer to: reward pool, party, network insurance pool, market insurance pool" + }, + "destination": { + "type": "string", + "title": "Specifies the account to transfer to, depending on the account type:\nNetwork treasury: leave empty\nParty: party's public key\nMarket insurance pool: market ID" + }, + "oneOff": { + "$ref": "#/definitions/vegaOneOffTransfer" + }, + "recurring": { + "$ref": "#/definitions/vegaRecurringTransfer" + } + } + }, + "vegaNormaliser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "expression": { + "type": "string" + } + } + }, + "vegaOneOffTransfer": { + "type": "object", + "properties": { + "deliverOn": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds for when the transfer should be delivered into the receiver's account." + } + }, + "title": "Specific details for a one off transfer" + }, + "vegaParty": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique ID for the party, typically represented by a public key." + } + }, + "title": "Party represents an entity who wishes to trade on or query a Vega network" + }, + "vegaPerpetual": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Underlying asset for the perpetual." + }, + "quoteName": { + "type": "string", + "description": "Quote name of the instrument." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceSpec", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product definition" + }, + "vegaPerpetualProduct": { + "type": "object", + "properties": { + "settlementAsset": { + "type": "string", + "description": "Asset ID for the product's settlement asset." + }, + "quoteName": { + "type": "string", + "description": "Product quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaPriceMonitoringBounds": { + "type": "object", + "properties": { + "minValidPrice": { + "type": "string", + "description": "Minimum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "maxValidPrice": { + "type": "string", + "description": "Maximum price that isn't currently breaching the specified price monitoring trigger.\nThis field is an unsigned integer scaled to the market's decimal places." + }, + "trigger": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger", + "description": "Price monitoring trigger associated with the bounds." + }, + "referencePrice": { + "type": "string", + "description": "Reference price used to calculate the valid price range. This field is an unsigned integer scaled to the market's decimal places." + } + }, + "title": "Represents a list of valid (at the current timestamp) price ranges per associated trigger" + }, + "vegaPriceMonitoringParameters": { + "type": "object", + "properties": { + "triggers": { + "type": "array", + "items": { + "$ref": "#/definitions/vegaPriceMonitoringTrigger" + } + } + }, + "title": "PriceMonitoringParameters contains a collection of triggers to be used for a given market" + }, + "vegaPriceMonitoringSettings": { + "type": "object", + "properties": { + "parameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Specifies price monitoring parameters to be used for price monitoring purposes." + } + }, + "title": "PriceMonitoringSettings contains the settings for price monitoring" + }, + "vegaPriceMonitoringTrigger": { + "type": "object", + "properties": { + "horizon": { + "type": "string", + "format": "int64", + "description": "Price monitoring projection horizon τ in seconds." + }, + "probability": { + "type": "string", + "description": "Price monitoring probability level p." + }, + "auctionExtension": { + "type": "string", + "format": "int64", + "description": "Price monitoring auction extension duration in seconds should the price\nbreach its theoretical level over the specified horizon at the specified\nprobability level." + } + }, + "title": "PriceMonitoringTrigger holds together price projection horizon τ, probability level p, and auction extension duration" + }, + "vegaProposal": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Unique proposal ID." + }, + "reference": { + "type": "string", + "description": "Proposal reference." + }, + "partyId": { + "type": "string", + "description": "Party ID i.e. public key of the party submitting the proposal." + }, + "state": { + "$ref": "#/definitions/vegaProposalState", + "description": "Current state of the proposal, i.e. open, passed, failed etc." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Proposal timestamp for date and time as Unix time in nanoseconds when proposal was submitted to the network." + }, + "terms": { + "$ref": "#/definitions/vegaProposalTerms", + "description": "Proposal configuration and the actual change that is meant to be executed when proposal is enacted." + }, + "reason": { + "$ref": "#/definitions/vegaProposalError", + "description": "Reason for the current state of the proposal, this may be set in case of REJECTED and FAILED statuses." + }, + "errorDetails": { + "type": "string", + "description": "Detailed error associated to the reason." + }, + "rationale": { + "$ref": "#/definitions/vegaProposalRationale", + "description": "Rationale behind a proposal." + }, + "requiredParticipation": { + "type": "string", + "description": "Required vote participation for this proposal." + }, + "requiredMajority": { + "type": "string", + "description": "Required majority for this proposal." + }, + "requiredLiquidityProviderParticipation": { + "type": "string", + "description": "Required participation from liquidity providers, optional but is required for market update proposal." + }, + "requiredLiquidityProviderMajority": { + "type": "string", + "description": "Required majority from liquidity providers, optional but is required for market update proposal." + } + }, + "title": "Governance proposal" + }, + "vegaProposalError": { + "type": "string", + "enum": [ + "PROPOSAL_ERROR_UNSPECIFIED", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON", + "PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE", + "PROPOSAL_ERROR_ENACT_TIME_TOO_SOON", + "PROPOSAL_ERROR_ENACT_TIME_TOO_LATE", + "PROPOSAL_ERROR_INSUFFICIENT_TOKENS", + "PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY", + "PROPOSAL_ERROR_NO_PRODUCT", + "PROPOSAL_ERROR_UNSUPPORTED_PRODUCT", + "PROPOSAL_ERROR_NO_TRADING_MODE", + "PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE", + "PROPOSAL_ERROR_NODE_VALIDATION_FAILED", + "PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD", + "PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS", + "PROPOSAL_ERROR_INVALID_ASSET", + "PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS", + "PROPOSAL_ERROR_NO_RISK_PARAMETERS", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY", + "PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE", + "PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL", + "PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE", + "PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET", + "PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT", + "PROPOSAL_ERROR_INVALID_RISK_PARAMETER", + "PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED", + "PROPOSAL_ERROR_INVALID_ASSET_DETAILS", + "PROPOSAL_ERROR_UNKNOWN_TYPE", + "PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE", + "PROPOSAL_ERROR_INVALID_FREEFORM", + "PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE", + "PROPOSAL_ERROR_INVALID_MARKET", + "PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES", + "PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS", + "PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE", + "PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE", + "PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE", + "PROPOSAL_ERROR_INVALID_SPOT", + "PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED", + "PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED", + "PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID", + "PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE", + "PROPOSAL_ERROR_INVALID_SLA_PARAMS", + "PROPOSAL_ERROR_MISSING_SLA_PARAMS", + "PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT" + ], + "default": "PROPOSAL_ERROR_UNSPECIFIED", + "description": "- PROPOSAL_ERROR_UNSPECIFIED: Default value\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_SOON: Specified close time is too early based on network parameters\n - PROPOSAL_ERROR_CLOSE_TIME_TOO_LATE: Specified close time is too late based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_SOON: Specified enactment time is too early based on network parameters\n - PROPOSAL_ERROR_ENACT_TIME_TOO_LATE: Specified enactment time is too late based on network parameters\n - PROPOSAL_ERROR_INSUFFICIENT_TOKENS: Proposer for this proposal has insufficient tokens\n - PROPOSAL_ERROR_INVALID_INSTRUMENT_SECURITY: Instrument quote name and base name were the same\n - PROPOSAL_ERROR_NO_PRODUCT: Proposal has no product\n - PROPOSAL_ERROR_UNSUPPORTED_PRODUCT: Specified product is not supported\n - PROPOSAL_ERROR_NO_TRADING_MODE: Proposal has no trading mode\n - PROPOSAL_ERROR_UNSUPPORTED_TRADING_MODE: Proposal has an unsupported trading mode\n - PROPOSAL_ERROR_NODE_VALIDATION_FAILED: Proposal failed node validation\n - PROPOSAL_ERROR_MISSING_BUILTIN_ASSET_FIELD: Field is missing in a builtin asset source\n - PROPOSAL_ERROR_MISSING_ERC20_CONTRACT_ADDRESS: Contract address is missing in the ERC20 asset source\n - PROPOSAL_ERROR_INVALID_ASSET: Asset ID is invalid or does not exist on the Vega network\n - PROPOSAL_ERROR_INCOMPATIBLE_TIMESTAMPS: Proposal terms timestamps are not compatible (Validation \u003c Closing \u003c Enactment)\n - PROPOSAL_ERROR_NO_RISK_PARAMETERS: No risk parameters were specified\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_KEY: Invalid key in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_INVALID_VALUE: Invalid value in update network parameter proposal\n - PROPOSAL_ERROR_NETWORK_PARAMETER_VALIDATION_FAILED: Validation failed for network parameter proposal\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_SMALL: Opening auction duration is less than the network minimum opening auction time\n - PROPOSAL_ERROR_OPENING_AUCTION_DURATION_TOO_LARGE: Opening auction duration is more than the network minimum opening auction time\n - PROPOSAL_ERROR_COULD_NOT_INSTANTIATE_MARKET: Market proposal market could not be instantiated in execution\n - PROPOSAL_ERROR_INVALID_FUTURE_PRODUCT: Market proposal market contained invalid product definition\n - PROPOSAL_ERROR_INVALID_RISK_PARAMETER: Market proposal has invalid risk parameter\n - PROPOSAL_ERROR_MAJORITY_THRESHOLD_NOT_REACHED: Proposal was declined because vote didn't reach the majority threshold required\n - PROPOSAL_ERROR_PARTICIPATION_THRESHOLD_NOT_REACHED: Proposal declined because the participation threshold was not reached\n - PROPOSAL_ERROR_INVALID_ASSET_DETAILS: Asset proposal has invalid asset details\n - PROPOSAL_ERROR_UNKNOWN_TYPE: Proposal is an unknown type\n - PROPOSAL_ERROR_UNKNOWN_RISK_PARAMETER_TYPE: Proposal has an unknown risk parameter type\n - PROPOSAL_ERROR_INVALID_FREEFORM: Validation failed for freeform proposal\n - PROPOSAL_ERROR_INSUFFICIENT_EQUITY_LIKE_SHARE: Party doesn't have enough equity-like share to propose an update on the market\ntargeted by the proposal\n - PROPOSAL_ERROR_INVALID_MARKET: Market targeted by the proposal does not exist or is not eligible for modification\n - PROPOSAL_ERROR_TOO_MANY_MARKET_DECIMAL_PLACES: Market proposal decimal place is higher than the market settlement asset decimal places\n - PROPOSAL_ERROR_TOO_MANY_PRICE_MONITORING_TRIGGERS: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_ERC20_ADDRESS_ALREADY_IN_USE: Market proposal contains too many price monitoring triggers\n - PROPOSAL_ERROR_LP_PRICE_RANGE_NONPOSITIVE: LP price range must be larger than 0\n - PROPOSAL_ERROR_LP_PRICE_RANGE_TOO_LARGE: LP price range must not be larger than 100\n - PROPOSAL_ERROR_LINEAR_SLIPPAGE_FACTOR_OUT_OF_RANGE: Linear slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_QUADRATIC_SLIPPAGE_FACTOR_OUT_OF_RANGE: Quadratic slippage factor is out of range, either negative or too large\n - PROPOSAL_ERROR_INVALID_SPOT: Validation failed for spot proposal\n - PROPOSAL_ERROR_SPOT_PRODUCT_DISABLED: Spot trading not enabled\n - PROPOSAL_ERROR_INVALID_SUCCESSOR_MARKET: Market proposal is invalid, either invalid insurance pool fraction, or it specifies a parent market that it can't succeed.\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_FAILED: Governance transfer proposal is invalid\n - PROPOSAL_ERROR_GOVERNANCE_TRANSFER_PROPOSAL_INVALID: Governance transfer proposal failed\n - PROPOSAL_ERROR_GOVERNANCE_CANCEL_TRANSFER_PROPOSAL_INVALID: Proposal for cancelling transfer is invalid, check proposal ID\n - PROPOSAL_ERROR_INVALID_MARKET_STATE_UPDATE: Proposal for updating market state is invalid\n - PROPOSAL_ERROR_INVALID_SLA_PARAMS: Liquidity provision SLA parameters are invalid\n - PROPOSAL_ERROR_MISSING_SLA_PARAMS: Mandatory liquidity provision SLA parameters are missing\n - PROPOSAL_ERROR_INVALID_PERPETUAL_PRODUCT: Perpetual market proposal contained invalid product definition", + "title": "List of possible errors that can cause a proposal to be in state rejected or failed" + }, + "vegaProposalRationale": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description to show a short title / something in case the link goes offline.\nThis is to be between 0 and 20k unicode characters.\nThis is mandatory for all proposals." + }, + "title": { + "type": "string", + "description": "Title to be used to give a short description of the proposal in lists.\nThis is to be between 0 and 100 unicode characters.\nThis is mandatory for all proposals." + } + }, + "description": "Rationale behind a proposal." + }, + "vegaProposalState": { + "type": "string", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_FAILED", + "STATE_OPEN", + "STATE_PASSED", + "STATE_REJECTED", + "STATE_DECLINED", + "STATE_ENACTED", + "STATE_WAITING_FOR_NODE_VOTE" + ], + "default": "STATE_UNSPECIFIED", + "description": "- STATE_UNSPECIFIED: Default value, always invalid\n - STATE_FAILED: Proposal enactment has failed - even though proposal has passed, its execution could not be performed\n - STATE_OPEN: Proposal is open for voting\n - STATE_PASSED: Proposal has gained enough support to be executed\n - STATE_REJECTED: Proposal wasn't accepted i.e. proposal terms failed validation due to wrong configuration or failed to meet network requirements.\n - STATE_DECLINED: Proposal didn't get enough votes, e.g. either failed to gain required participation or majority level.\n - STATE_ENACTED: Proposal enacted\n - STATE_WAITING_FOR_NODE_VOTE: Waiting for node validation of the proposal", + "title": "Proposal state transition:\nOpen -\u003e\n - Passed -\u003e Enacted.\n - Passed -\u003e Failed.\n - Declined\nRejected\nProposal can enter Failed state from any other state" + }, + "vegaProposalTerms": { + "type": "object", + "properties": { + "closingTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when voting closes for this proposal,\nconstrained by `minClose` and `maxClose` network parameters." + }, + "enactmentTimestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp as Unix time in seconds when proposal gets enacted if passed,\nconstrained by `minEnact` and `maxEnact` network parameters." + }, + "validationTimestamp": { + "type": "string", + "format": "int64", + "description": "Validation timestamp as Unix time in seconds." + }, + "updateMarket": { + "$ref": "#/definitions/vegaUpdateMarket", + "description": "Proposal change for modifying an existing futures market on Vega." + }, + "newMarket": { + "$ref": "#/definitions/vegaNewMarket", + "description": "Proposal change for creating new futures market on Vega." + }, + "updateNetworkParameter": { + "$ref": "#/definitions/vegaUpdateNetworkParameter", + "description": "Proposal change for updating Vega network parameters." + }, + "newAsset": { + "$ref": "#/definitions/vegaNewAsset", + "description": "Proposal change for creating new assets on Vega." + }, + "newFreeform": { + "$ref": "#/definitions/vegaNewFreeform", + "description": "Proposal change for a freeform request, which can be voted on but does not change the behaviour of the system,\nand can be used to gauge community sentiment." + }, + "updateAsset": { + "$ref": "#/definitions/vegaUpdateAsset", + "description": "Proposal change for updating an asset." + }, + "newSpotMarket": { + "$ref": "#/definitions/vegaNewSpotMarket", + "description": "Proposal change for creating new spot market on Vega." + }, + "updateSpotMarket": { + "$ref": "#/definitions/vegaUpdateSpotMarket", + "description": "Proposal change for modifying an existing spot market on Vega." + }, + "newTransfer": { + "$ref": "#/definitions/vegaNewTransfer", + "description": "Proposal change for a governance transfer." + }, + "cancelTransfer": { + "$ref": "#/definitions/vegaCancelTransfer", + "description": "Cancel a governance transfer." + }, + "updateMarketState": { + "$ref": "#/definitions/vegaUpdateMarketState", + "description": "Proposal change for updating the state of a market." + } + }, + "title": "Terms for a governance proposal on Vega" + }, + "vegaRecurringTransfer": { + "type": "object", + "properties": { + "startEpoch": { + "type": "string", + "format": "uint64" + }, + "endEpoch": { + "type": "string", + "format": "uint64", + "description": "Last epoch at which this transfer shall be paid." + }, + "dispatchStrategy": { + "$ref": "#/definitions/vegaDispatchStrategy", + "description": "Optional parameter defining how a transfer is dispatched." + } + }, + "title": "Specific details for a recurring transfer" + }, + "vegaScalingFactors": { + "type": "object", + "properties": { + "searchLevel": { + "type": "number", + "format": "double", + "description": "Collateral search level. If collateral dips below this value,\nthe system will search for collateral to release." + }, + "initialMargin": { + "type": "number", + "format": "double", + "description": "Initial margin level. This is the minimum amount of collateral\nrequired to open a position in a market that requires margin." + }, + "collateralRelease": { + "type": "number", + "format": "double", + "description": "Collateral release level. If a trader has collateral above this level,\nthe system will release collateral to a trader's general collateral account\nfor the asset." + } + }, + "title": "Scaling Factors (for use in margin calculation)" + }, + "vegaSimpleModelParams": { + "type": "object", + "properties": { + "factorLong": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for long." + }, + "factorShort": { + "type": "number", + "format": "double", + "description": "Pre-defined risk factor value for short." + }, + "maxMoveUp": { + "type": "number", + "format": "double", + "description": "Pre-defined maximum price move up that the model considers as valid." + }, + "minMoveDown": { + "type": "number", + "format": "double", + "description": "Pre-defined minimum price move down that the model considers as valid." + }, + "probabilityOfTrading": { + "type": "number", + "format": "double", + "description": "Pre-defined constant probability of trading." + } + }, + "title": "Risk model parameters for simple modelling" + }, + "vegaSimpleRiskModel": { + "type": "object", + "properties": { + "params": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Risk model params for simple modelling." + } + }, + "title": "Risk model for simple modelling" + }, + "vegaSpot": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Asset ID of the underlying base asset for the spot product." + }, + "quoteAsset": { + "type": "string", + "description": "Asset ID of the underlying quote asset for the spot product." + }, + "name": { + "type": "string", + "description": "Name of the instrument." + } + }, + "title": "Spot product definition" + }, + "vegaSpotProduct": { + "type": "object", + "properties": { + "baseAsset": { + "type": "string", + "description": "Base asset ID." + }, + "quoteAsset": { + "type": "string", + "description": "Quote asset ID." + }, + "name": { + "type": "string", + "description": "Product name." + } + }, + "title": "Spot product configuration" + }, + "vegaSuccessorConfiguration": { + "type": "object", + "properties": { + "parentMarketId": { + "type": "string", + "description": "ID of the market that the successor should take over from." + }, + "insurancePoolFraction": { + "type": "string", + "description": "A decimal value between or equal to 0 and 1, specifying the fraction of the insurance pool balance that is carried over from the parent market to the successor." + } + }, + "description": "Configuration required to turn a new market proposal in to a successor market proposal." + }, + "vegaTargetStakeParameters": { + "type": "object", + "properties": { + "timeWindow": { + "type": "string", + "format": "int64", + "description": "Specifies length of time window expressed in seconds for target stake calculation." + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Specifies scaling factors used in target stake calculation." + } + }, + "title": "TargetStakeParameters contains parameters used in target stake calculation" + }, + "vegaTradableInstrument": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaInstrument", + "description": "Details for the underlying instrument." + }, + "marginCalculator": { + "$ref": "#/definitions/vegaMarginCalculator", + "description": "Margin calculator for the instrument." + }, + "logNormalRiskModel": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal." + }, + "simpleRiskModel": { + "$ref": "#/definitions/vegaSimpleRiskModel", + "description": "Simple." + } + }, + "title": "Tradable Instrument definition" + }, + "vegaUpdateAsset": { + "type": "object", + "properties": { + "assetId": { + "type": "string", + "description": "Asset ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaAssetDetailsUpdate", + "description": "Changes to apply on an existing asset." + } + }, + "title": "Update an existing asset on Vega" + }, + "vegaUpdateFutureProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data of settlement data." + }, + "dataSourceSpecForTradingTermination": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "The data source spec describing the data source for trading termination." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToFutureBinding", + "description": "The binding between the data source spec and the settlement data." + } + }, + "title": "Future product configuration" + }, + "vegaUpdateInstrumentConfiguration": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "Instrument code, human-readable shortcode used to describe the instrument." + }, + "future": { + "$ref": "#/definitions/vegaUpdateFutureProduct", + "description": "Future." + }, + "perpetual": { + "$ref": "#/definitions/vegaUpdatePerpetualProduct", + "description": "Perpetual." + } + }, + "title": "Instrument configuration" + }, + "vegaUpdateMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateMarketConfiguration", + "description": "Updated configuration of the futures market." + } + }, + "title": "Update an existing market on Vega" + }, + "vegaUpdateMarketConfiguration": { + "type": "object", + "properties": { + "instrument": { + "$ref": "#/definitions/vegaUpdateInstrumentConfiguration", + "description": "Updated futures market instrument configuration." + }, + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional futures market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "liquidityMonitoringParameters": { + "$ref": "#/definitions/vegaLiquidityMonitoringParameters", + "description": "Liquidity monitoring parameters." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "lpPriceRange": { + "type": "string", + "description": "Percentage move up and down from the mid price which specifies the range of\nprice levels over which automated liquidity provision orders will be deployed." + }, + "linearSlippageFactor": { + "type": "string", + "description": "Linear slippage factor is used to cap the slippage component of maintenance margin - it is applied to the slippage volume." + }, + "quadraticSlippageFactor": { + "type": "string", + "description": "Quadratic slippage factor is used to cap the slippage component of maintenance margin - it is applied to the square of the slippage volume." + } + }, + "title": "Configuration to update a futures market on Vega" + }, + "vegaUpdateMarketState": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaUpdateMarketStateConfiguration", + "title": "Configuration for governance-initiated change of a market's state" + } + } + }, + "vegaUpdateMarketStateConfiguration": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "title": "ID of the market" + }, + "updateType": { + "$ref": "#/definitions/vegaMarketStateUpdateType", + "title": "Type of the market update" + }, + "price": { + "type": "string", + "title": "Settlement price, relevant only for market termination for futures markets" + } + } + }, + "vegaUpdateNetworkParameter": { + "type": "object", + "properties": { + "changes": { + "$ref": "#/definitions/vegaNetworkParameter", + "description": "The network parameter to update." + } + }, + "title": "Update network configuration on Vega" + }, + "vegaUpdatePerpetualProduct": { + "type": "object", + "properties": { + "quoteName": { + "type": "string", + "description": "Human-readable name/abbreviation of the quote name." + }, + "marginFundingFactor": { + "type": "string", + "description": "Controls how much the upcoming funding payment liability contributes to party's margin, in the range [0, 1]." + }, + "interestRate": { + "type": "string", + "description": "Continuously compounded interest rate used in funding rate calculation, in the range [-1, 1]." + }, + "clampLowerBound": { + "type": "string", + "description": "Lower bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "clampUpperBound": { + "type": "string", + "description": "Upper bound for the clamp function used as part of the funding rate calculation, in the range [-1, 1]." + }, + "dataSourceSpecForSettlementSchedule": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement schedule." + }, + "dataSourceSpecForSettlementData": { + "$ref": "#/definitions/vegaDataSourceDefinition", + "description": "Data source spec describing the data source for settlement." + }, + "dataSourceSpecBinding": { + "$ref": "#/definitions/vegaDataSourceSpecToPerpetualBinding", + "description": "Binding between the data source spec and the settlement data." + } + }, + "title": "Perpetual product configuration" + }, + "vegaUpdateSpotMarket": { + "type": "object", + "properties": { + "marketId": { + "type": "string", + "description": "Market ID the update is for." + }, + "changes": { + "$ref": "#/definitions/vegaUpdateSpotMarketConfiguration", + "description": "Updated configuration of the spot market." + } + }, + "title": "Update an existing spot market on Vega" + }, + "vegaUpdateSpotMarketConfiguration": { + "type": "object", + "properties": { + "metadata": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional spot market metadata, tags." + }, + "priceMonitoringParameters": { + "$ref": "#/definitions/vegaPriceMonitoringParameters", + "description": "Price monitoring parameters." + }, + "targetStakeParameters": { + "$ref": "#/definitions/vegaTargetStakeParameters", + "description": "Specifies parameters related to target stake calculation." + }, + "simple": { + "$ref": "#/definitions/vegaSimpleModelParams", + "description": "Simple risk model parameters, valid only if MODEL_SIMPLE is selected." + }, + "logNormal": { + "$ref": "#/definitions/vegaLogNormalRiskModel", + "description": "Log normal risk model parameters, valid only if MODEL_LOG_NORMAL is selected." + }, + "slaParams": { + "$ref": "#/definitions/vegaLiquiditySLAParameters", + "description": "Specifies the liquidity provision SLA parameters." + } + }, + "title": "Configuration to update a spot market on Vega" + }, + "vegaVote": { + "type": "object", + "properties": { + "partyId": { + "type": "string", + "description": "Voter's party ID." + }, + "value": { + "$ref": "#/definitions/vegaVoteValue", + "description": "Which way the party voted." + }, + "proposalId": { + "type": "string", + "description": "Proposal ID being voted on." + }, + "timestamp": { + "type": "string", + "format": "int64", + "description": "Timestamp in Unix nanoseconds when the vote was acknowledged by the network." + }, + "totalGovernanceTokenBalance": { + "type": "string", + "description": "Total number of governance token for the party that cast the vote." + }, + "totalGovernanceTokenWeight": { + "type": "string", + "description": "The weight of this vote based on the total number of governance tokens." + }, + "totalEquityLikeShareWeight": { + "type": "string", + "description": "The weight of the vote compared to the total amount of equity-like share on the market." + } + }, + "title": "Governance vote" + }, + "vegaVoteValue": { + "type": "string", + "enum": [ + "VALUE_UNSPECIFIED", + "VALUE_NO", + "VALUE_YES" + ], + "default": "VALUE_UNSPECIFIED", + "description": "- VALUE_UNSPECIFIED: Default value, always invalid\n - VALUE_NO: Vote against the proposal\n - VALUE_YES: Vote in favour of the proposal", + "title": "Vote value" + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/assets.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/assets.swagger.json new file mode 100644 index 000000000..9d097dbb9 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/assets.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/assets.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/chain_events.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/chain_events.swagger.json new file mode 100644 index 000000000..7e122e440 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/chain_events.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/chain_events.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/checkpoint/v1/checkpoint.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/checkpoint/v1/checkpoint.swagger.json new file mode 100644 index 000000000..cdccfb99c --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/checkpoint/v1/checkpoint.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/checkpoint/v1/checkpoint.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/commands.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/commands.swagger.json new file mode 100644 index 000000000..26814accb --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/commands.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/commands.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/data.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/data.swagger.json new file mode 100644 index 000000000..72e1066f9 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/data.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/data.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/signature.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/signature.swagger.json new file mode 100644 index 000000000..bca419264 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/signature.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/signature.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/transaction.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/transaction.swagger.json new file mode 100644 index 000000000..80565817c --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/transaction.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/transaction.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/validator_commands.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/validator_commands.swagger.json new file mode 100644 index 000000000..11a4f0aac --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/commands/v1/validator_commands.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/commands/v1/validator_commands.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/data/v1/data.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/data/v1/data.swagger.json new file mode 100644 index 000000000..dac21342e --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/data/v1/data.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/data/v1/data.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "rpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/data/v1/spec.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/data/v1/spec.swagger.json new file mode 100644 index 000000000..77fbc8b87 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/data/v1/spec.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/data/v1/spec.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "rpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/data_source.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/data_source.swagger.json new file mode 100644 index 000000000..fc4472949 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/data_source.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/data_source.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/events/v1/events.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/events/v1/events.swagger.json new file mode 100644 index 000000000..2b32a0c55 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/events/v1/events.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/events/v1/events.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/governance.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/governance.swagger.json new file mode 100644 index 000000000..45c945a56 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/governance.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/governance.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/markets.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/markets.swagger.json new file mode 100644 index 000000000..8fbf8badc --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/markets.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/markets.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/oracle.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/oracle.swagger.json new file mode 100644 index 000000000..ef6f33a5a --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/oracle.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/oracle.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/snapshot/v1/snapshot.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/snapshot/v1/snapshot.swagger.json new file mode 100644 index 000000000..fbdb3af1d --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/snapshot/v1/snapshot.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/snapshot/v1/snapshot.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/vega.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/vega.swagger.json new file mode 100644 index 000000000..53809884b --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/vega.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/vega.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/vega/swagger/vega/wallet/v1/wallet.swagger.json b/specs/v0.79.0-protobuf.1/vega/swagger/vega/wallet/v1/wallet.swagger.json new file mode 100644 index 000000000..f14317268 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/vega/swagger/vega/wallet/v1/wallet.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "vega/wallet/v1/wallet.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "googlerpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + } + } +} diff --git a/specs/v0.79.0-protobuf.1/wallet/api/openrpc.json b/specs/v0.79.0-protobuf.1/wallet/api/openrpc.json new file mode 100644 index 000000000..f72d0faea --- /dev/null +++ b/specs/v0.79.0-protobuf.1/wallet/api/openrpc.json @@ -0,0 +1,3763 @@ +{ + "openrpc": "1.2.6", + "info": { + "version": "1.0.0", + "title": "Wallet API" + }, + "methods": [ + { + "name": "client.connect_wallet", + "summary": "Initiates a connection between a wallet and a third-party application.", + "description": "This method initiates a connection between a wallet and a third-party application.\n\nThe user has to review the request, and, if they accept it, select the wallet they want to use for this connection.\n\n**Supported connections:**\n- Multiple wallets connected for the same hostname.\n- A single wallet connected to multiple hostnames.\n- Combination of the above setups.\n\nHowever, it's not possible to have multiple connections on the same wallet for the same hostname. The previous connection will be terminated and a new one will be initiated.\n\nThis method should be the entry point of every third-party application.", + "tags": [ + { + "name": "client" + }, + { + "name": "connection" + }, + { + "name": "wallet" + } + ], + "paramStructure": "by-name", + "params": [], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "errors": [ + { + "$ref": "#/components/errors/user_error_connection_closed" + }, + { + "$ref": "#/components/errors/application_error_request_cancelled" + }, + { + "$ref": "#/components/errors/user_error_wallet_connection_rejected" + }, + { + "$ref": "#/components/errors/user_error_request_cancelled" + }, + { + "$ref": "#/components/errors/user_error_request_cancelled" + } + ], + "examples": [ + { + "name": "Accepting a connection from \"vega.xyz\"", + "description": "The third-party application \"vega.xyz\" requests a connection to a wallet and the user accepts.", + "params": [], + "result": { + "name": "Success", + "value": "null" + } + } + ] + }, + { + "name": "client.disconnect_wallet", + "summary": "Ends the connection between the third-party application and the wallet.", + "description": "This method ends the connection between the third-party application and the wallet.", + "tags": [ + { + "name": "client" + }, + { + "name": "connection" + }, + { + "name": "wallet" + } + ], + "paramStructure": "by-name", + "params": [], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Disconnection from \"vega.xyz\"", + "description": "The third-party application \"vega.xyz\" requests a disconnection to a wallet.", + "params": [], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "client.list_keys", + "summary": "Returns the keys the user has allowed the third-party application to have access to.", + "description": "This method returns the keys the user has allowed the third-party application to have access to.\n\nIt requires a `read` access on `public_keys`.", + "tags": [ + { + "name": "client" + }, + { + "name": "key" + } + ], + "paramStructure": "by-name", + "params": [], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "keys" + ], + "properties": { + "keys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/named_public_key" + } + } + } + } + }, + "examples": [ + { + "name": "List keys allowed on \"vega.xyz\"", + "description": "The third-party application \"vega.xyz\" wants to list the public keys it has access to.", + "params": [], + "result": { + "name": "Success", + "value": { + "keys": [ + { + "name": "Key 1", + "publicKey": "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0" + }, + { + "name": "Key 2", + "publicKey": "988eae323a07f12363c17025c23ee58ea32ac3912398e16bb0b56969f57adc52" + } + ] + } + } + } + ] + }, + { + "name": "client.sign_transaction", + "summary": "Sign a transaction without sending it.", + "description": "This method signs a transaction and returns it to the third-party application, without sending it to the network. What happens with the transaction is up to the third-party application.\n\nThe user has to review the transaction.", + "tags": [ + { + "name": "client" + }, + { + "name": "transaction" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "publicKey", + "required": true, + "schema": { + "$ref": "#/components/schemas/public_key" + } + }, + { + "name": "transaction", + "required": true, + "schema": { + "$ref": "#/components/schemas/transaction" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "transaction" + ], + "properties": { + "transaction": { + "$ref": "#/components/schemas/signed_transaction" + } + } + } + }, + "errors": [ + { + "$ref": "#/components/errors/network_error_no_healthy_node" + }, + { + "$ref": "#/components/errors/network_error_could_not_get_chain_id" + }, + { + "$ref": "#/components/errors/network_error_could_not_get_last_block" + }, + { + "$ref": "#/components/errors/application_error_public_key_not_allowed" + }, + { + "$ref": "#/components/errors/user_error_connection_closed" + }, + { + "$ref": "#/components/errors/user_error_wallet_connection_rejected" + }, + { + "$ref": "#/components/errors/user_error_request_cancelled" + }, + { + "$ref": "#/components/errors/application_error_transaction_would_break_spam_rules" + }, + { + "$ref": "#/components/errors/application_error_block_height_is_too_historic" + }, + { + "$ref": "#/components/errors/application_error_transaction_per_block_limit_reached" + } + ], + "examples": [ + { + "name": "Signing a transaction for \"vega.xyz\"", + "description": "The third-party application \"vega.xyz\" requests to sign a transaction and the user accepts.", + "params": [ + { + "name": "publicKey", + "value": "3fd42fd5ceb22d99ac45086f1d82d516118a5cb7ad9a2e096cd78ca2c8960c80" + }, + { + "name": "sendingMode", + "value": "TYPE_SYNC" + }, + { + "name": "transaction", + "value": {} + } + ], + "result": { + "name": "Success", + "value": { + "receivedAt": "2021-02-18T21:54:42.123Z", + "sentAt": "2021-02-18T21:54:42.123Z", + "txHash": "E8C167126D1FC8D92898AB9C07C318161DF68753A1316A69ABDC9ADC557723B3" + } + } + } + ] + }, + { + "name": "client.send_transaction", + "summary": "Send a transaction to the network.", + "description": "This method sends a transaction to the network.\n\nThe user has to review the transaction.", + "tags": [ + { + "name": "client" + }, + { + "name": "transaction" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "publicKey", + "required": true, + "schema": { + "$ref": "#/components/schemas/public_key" + } + }, + { + "name": "sendingMode", + "required": true, + "schema": { + "$ref": "#/components/schemas/sending_mode" + } + }, + { + "name": "transaction", + "required": true, + "schema": { + "$ref": "#/components/schemas/transaction" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "receivedAt", + "sentAt", + "transactionHash", + "transaction" + ], + "properties": { + "receivedAt": { + "type": "string", + "description": "The date when the API received the request to send the transaction.\n\nThe time is a quoted string in RFC 3339 format, with sub-second precision added if present.", + "examples": [ + "2021-02-18T21:54:42.123Z" + ] + }, + "sentAt": { + "type": "string", + "description": "The date when the transaction has been sent to the network.\n\nThe time is a quoted string in RFC 3339 format, with sub-second precision added if present.", + "examples": [ + "2021-02-18T21:54:42.123Z" + ] + }, + "transactionHash": { + "type": "string", + "description": "The hash of the transaction. It's used to uniquely identify the transaction and can be used in the block explorer to retrieve it." + }, + "transaction": { + "$ref": "#/components/schemas/signed_transaction" + } + } + } + }, + "errors": [ + { + "$ref": "#/components/errors/network_error_no_healthy_node" + }, + { + "$ref": "#/components/errors/network_error_could_not_get_chain_id" + }, + { + "$ref": "#/components/errors/network_error_could_not_get_last_block" + }, + { + "$ref": "#/components/errors/network_error_failed_transaction" + }, + { + "$ref": "#/components/errors/user_error_connection_closed" + }, + { + "$ref": "#/components/errors/user_error_wallet_connection_rejected" + }, + { + "$ref": "#/components/errors/user_error_request_cancelled" + }, + { + "$ref": "#/components/errors/application_error_public_key_not_allowed" + }, + { + "$ref": "#/components/errors/application_error_transaction_would_break_spam_rules" + }, + { + "$ref": "#/components/errors/application_error_block_height_is_too_historic" + }, + { + "$ref": "#/components/errors/application_error_transaction_per_block_limit_reached" + } + ], + "examples": [ + { + "name": "Sending a transaction for \"vega.xyz\"", + "description": "The third-party application \"vega.xyz\" requests to send a transaction and the user accepts.", + "params": [ + { + "name": "publicKey", + "value": "3fd42fd5ceb22d99ac45086f1d82d516118a5cb7ad9a2e096cd78ca2c8960c80" + }, + { + "name": "sendingMode", + "value": "TYPE_SYNC" + }, + { + "name": "encodedTransaction", + "value": "ewogICAgInZvdGVTdWJtaXNzaW9uIjogewogICAgICAgICJwcm9wb3NhbElkIjogImViMmQzOTAyZmRkYTljM2ViNmUzNjlmMjIzNTY4OWI4NzFjNzMyMmNmM2FiMjg0ZGRlM2U5ZGZjMTM4NjNhMTciLAogICAgICAgICJ2YWx1ZSI6ICJWQUxVRV9ZRVMiCiAgICB9Cn0K" + } + ], + "result": { + "name": "Success", + "value": { + "receivedAt": "2021-02-18T21:54:42.123Z", + "sentAt": "2021-02-18T21:54:42.123Z", + "txHash": "E8C167126D1FC8D92898AB9C07C318161DF68753A1316A69ABDC9ADC557723B3" + } + } + } + ] + }, + { + "name": "client.check_transaction", + "summary": "Check a transaction or a bundle of transactions and send them to the network.", + "description": "This method sends a transaction or a bundle of transactions to the network to verify their validity.\n\nThe network does not add them to a block. What happens with the transaction is up to the third-party application.\n\nThe user has to review the transaction after this step.", + "tags": [ + { + "name": "client" + }, + { + "name": "transaction" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "publicKey", + "required": true, + "schema": { + "$ref": "#/components/schemas/public_key" + } + }, + { + "name": "transaction", + "required": true, + "schema": { + "$ref": "#/components/schemas/transaction" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "receivedAt", + "sentAt", + "transaction" + ], + "properties": { + "receivedAt": { + "type": "string", + "description": "The date when the API received the request to send the transaction.\n\nThe time is a quoted string in RFC 3339 format, with sub-second precision added if present.", + "examples": [ + "2021-02-18T21:54:42.123Z" + ] + }, + "sentAt": { + "type": "string", + "description": "The date when the transaction has been sent to the network.\n\nThe time is a quoted string in RFC 3339 format, with sub-second precision added if present.", + "examples": [ + "2021-02-18T21:54:42.123Z" + ] + }, + "transaction": { + "$ref": "#/components/schemas/signed_transaction" + } + } + } + }, + "errors": [ + { + "$ref": "#/components/errors/network_error_no_healthy_node" + }, + { + "$ref": "#/components/errors/network_error_could_not_get_chain_id" + }, + { + "$ref": "#/components/errors/network_error_could_not_get_last_block" + }, + { + "$ref": "#/components/errors/network_error_failed_transaction" + }, + { + "$ref": "#/components/errors/user_error_connection_closed" + }, + { + "$ref": "#/components/errors/user_error_wallet_connection_rejected" + }, + { + "$ref": "#/components/errors/user_error_request_cancelled" + }, + { + "$ref": "#/components/errors/application_error_public_key_not_allowed" + }, + { + "$ref": "#/components/errors/application_error_transaction_would_break_spam_rules" + }, + { + "$ref": "#/components/errors/application_error_block_height_is_too_historic" + }, + { + "$ref": "#/components/errors/application_error_transaction_per_block_limit_reached" + } + ], + "examples": [ + { + "name": "Check a transaction for \"vega.xyz\"", + "description": "", + "params": [ + { + "name": "publicKey", + "value": "3fd42fd5ceb22d99ac45086f1d82d516118a5cb7ad9a2e096cd78ca2c8960c80" + }, + { + "name": "transaction", + "value": {} + } + ], + "result": { + "name": "Success", + "value": { + "receivedAt": "2021-02-18T21:54:42.123Z", + "sentAt": "2021-02-18T21:54:42.123Z", + "txHash": "E8C167126D1FC8D92898AB9C07C318161DF68753A1316A69ABDC9ADC557723B3" + } + } + } + ] + }, + { + "name": "client.get_chain_id", + "summary": "Returns the chain ID of the network in use.", + "description": "This method returns the chain ID of the network in use.\n\nIt should be called by every third-party application to know from which network it should fetch data.", + "tags": [ + { + "name": "client" + } + ], + "paramStructure": "by-name", + "params": [], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "chainID" + ], + "properties": { + "chainID": { + "type": "string", + "description": "The chain identifier", + "examples": [ + "test-chain-Thz9c6" + ] + } + } + } + }, + "errors": [ + { + "$ref": "#/components/errors/network_error_no_healthy_node" + }, + { + "$ref": "#/components/errors/network_error_could_not_get_last_block" + } + ], + "examples": [ + { + "name": "Fetching the chain ID", + "description": "An example of requesting the chain's ID", + "params": [], + "result": { + "name": "Success", + "value": { + "chainID": "test-chain-Thz9c6" + } + } + } + ] + }, + { + "name": "admin.unlock_wallet", + "summary": "Unlock the wallet to allow other methods to access it.", + "description": "This method unlocks the specified wallet. This is a mandatory step to access and modify the wallet and its associated keys, permissions, etc.", + "tags": [ + { + "name": "admin" + }, + { + "name": "wallet" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "passphrase", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Unlocking a wallet", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "passphrase", + "value": "this-is-not-a-good-passphrase" + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "admin.create_wallet", + "summary": "Creates a wallet with its first key-pair.", + "description": "This method creates a HD wallet (with version 2 of the key derivation) and generates its first key-pair the cryptographic algorithm ed25519.\n\nThe passphrase will be used to encrypt the wallet and its keys.\n\nIf successful, the wallet is ready to use for sending transaction.", + "tags": [ + { + "name": "admin" + }, + { + "name": "wallet" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "passphrase", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "wallet", + "key" + ], + "properties": { + "wallet": { + "type": "object", + "description": "the newly generated wallet", + "required": [ + "name", + "keyDerivationVersion", + "recoveryPhrase" + ], + "properties": { + "name": { + "type": "string" + }, + "keyDerivationVersion": { + "type": "number" + }, + "recoveryPhrase": { + "type": "string" + } + } + }, + "key": { + "type": "object", + "description": "the first public key generated", + "required": [ + "publicKey", + "algorithm", + "metadata" + ], + "properties": { + "publicKey": { + "$ref": "#/components/schemas/public_key" + }, + "algorithm": { + "$ref": "#/components/schemas/algorithm" + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/components/schemas/metadata" + } + } + } + } + } + } + }, + "examples": [ + { + "name": "Creating a wallet", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "passphrase", + "value": "this-is-not-a-good-passphrase" + } + ], + "result": { + "name": "Success", + "value": { + "wallet": { + "name": "my-wallet", + "keyDerivationVersion": 2, + "recoveryPhrase": "swing ceiling chaos green put insane ripple desk match tip melt usual shrug turkey renew icon parade veteran lens govern path rough page render" + }, + "key": { + "publicKey": "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0", + "algorithm": { + "name": "vega/ed25519", + "version": 1 + }, + "metadata": [ + { + "key": "name", + "value": "my-wallet key 1" + } + ] + } + } + } + } + ] + }, + { + "name": "admin.import_wallet", + "summary": "Import a wallet with its first key-pair with a recovery phrase and a key derivation version.", + "description": "This method imports a wallet using the specified recovery phrase and a key derivation version, and generates its first key-pair.\n\nThe passphrase will be used to encrypt the wallet and its keys.\n\nIf successful, the wallet is ready to use for sending transaction.", + "tags": [ + { + "name": "admin" + }, + { + "name": "wallet" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "passphrase", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "recoveryPhrase", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "keyDerivationVersion", + "required": true, + "schema": { + "type": "number" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "wallet", + "key" + ], + "properties": { + "wallet": { + "type": "object", + "description": "the imported wallet", + "required": [ + "name", + "keyDerivationVersion" + ], + "properties": { + "name": { + "type": "string" + }, + "keyDerivationVersion": { + "type": "number" + } + } + }, + "key": { + "type": "object", + "description": "the first public key generated", + "required": [ + "publicKey", + "algorithm", + "metadata" + ], + "properties": { + "publicKey": { + "$ref": "#/components/schemas/public_key" + }, + "algorithm": { + "$ref": "#/components/schemas/algorithm" + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/components/schemas/metadata" + } + } + } + } + } + } + }, + "examples": [ + { + "name": "Importing a wallet", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "passphrase", + "value": "this-is-not-a-good-passphrase" + }, + { + "name": "recoveryPhrase", + "value": "swing ceiling chaos green put insane ripple desk match tip melt usual shrug turkey renew icon parade veteran lens govern path rough page render" + }, + { + "name": "keyDerivationVersion", + "value": "2" + } + ], + "result": { + "name": "Success", + "value": { + "wallet": { + "name": "my-wallet", + "keyDerivationVersion": 2 + }, + "key": { + "publicKey": "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0", + "algorithm": { + "name": "vega/ed25519", + "version": 1 + }, + "metadata": [ + { + "key": "name", + "value": "my-wallet key 1" + } + ] + } + } + } + } + ] + }, + { + "name": "admin.update_passphrase", + "summary": "Change the passphrase of the specified wallet.", + "description": "This method changes the passphrase used to lock the wallet.", + "tags": [ + { + "name": "admin" + }, + { + "name": "wallet" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "newPassphrase", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Update the passphrase", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "newPassphrase", + "value": "this-is-the-new-passphrase" + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "admin.describe_wallet", + "summary": "Returns the wallet base information.", + "description": "This method returns the wallet base information such as its name, ID, type and key derivation version. It doesn't return the keys nor the permissions.", + "tags": [ + { + "name": "admin" + }, + { + "name": "wallet" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "name", + "keyDerivationVersion", + "id", + "type" + ], + "properties": { + "name": { + "type": "string" + }, + "keyDerivationVersion": { + "type": "number" + }, + "id": { + "type": "string" + }, + "type": { + "type": "string" + } + } + } + }, + "examples": [ + { + "name": "Getting wallet base information", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + } + ], + "result": { + "name": "Success", + "value": { + "name": "my-wallet", + "keyDerivationVersion": 2, + "type": "HD Wallet", + "id": "7ffa36b2fb99d8404e9448f0d2ce944055e64c36d895d1fde044c867bfdf779f" + } + } + } + ] + }, + { + "name": "admin.list_wallets", + "summary": "Returns the list of the wallets present on the computer.", + "description": "This method returns the list of the wallets present on the computer. It is alphabetically sorted.", + "tags": [ + { + "name": "admin" + }, + { + "name": "wallet" + } + ], + "params": [], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "wallets" + ], + "properties": { + "wallets": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "examples": [ + { + "name": "Getting the list of wallets", + "params": [], + "result": { + "name": "Success", + "value": { + "wallets": [ + "wallet-1", + "wallet-2" + ] + } + } + } + ] + }, + { + "name": "admin.rename_wallet", + "summary": "Renames a wallet", + "description": "This method renames a wallet in-place.\n\nIf the new name matches an existing wallet, it fails.", + "tags": [ + { + "name": "admin" + }, + { + "name": "wallet" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "newName", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Rename a wallet", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "newWallet", + "value": "my-new-wallet-name" + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "admin.remove_wallet", + "summary": "Removes a wallet from the computer.", + "description": "This method removes a wallet from the computer.", + "tags": [ + { + "name": "admin" + }, + { + "name": "wallet" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Remove a wallet", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "admin.list_networks", + "summary": "Returns the list of all registered networks.", + "description": "This method returns the list of the registered networks.", + "tags": [ + { + "name": "admin" + }, + { + "name": "network" + } + ], + "params": [], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "networks" + ], + "properties": { + "networks": { + "type": "array", + "items": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/components/schemas/metadata" + } + } + } + } + } + } + } + }, + "examples": [ + { + "name": "Getting the list of networks", + "params": [], + "result": { + "name": "Success", + "value": { + "networks": [ + { + "name": "mainnet1", + "metadata": [ + { + "key": "network", + "value": "mainnet" + } + ] + }, + { + "name": "fairground", + "metadata": [ + { + "key": "network", + "value": "testnet" + } + ] + }, + { + "name": "local-network" + } + ] + } + } + } + ] + }, + { + "name": "admin.describe_network", + "summary": "Returns the network information.", + "description": "This method returns the network information.", + "tags": [ + { + "name": "admin" + }, + { + "name": "network" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "name", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "name", + "api", + "apps" + ], + "properties": { + "name": { + "type": "string" + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/components/schemas/metadata" + } + }, + "api": { + "$ref": "#/components/schemas/network_api_config" + }, + "apps": { + "$ref": "#/components/schemas/network_apps_config" + } + } + } + }, + "examples": [ + { + "name": "Describing a network", + "params": [ + { + "name": "name", + "value": "local-network" + } + ], + "result": { + "name": "Success", + "value": { + "name": "local-network", + "metadata": [ + { + "key": "network", + "value": "local" + } + ], + "api": { + "grpc": { + "hosts": [ + "localhost:3028" + ] + }, + "graphQL": { + "hosts": [ + "localhost:3028" + ] + }, + "rest": { + "hosts": [ + "localhost:3029" + ] + } + }, + "apps": { + "console": "console.vega.xyz", + "governance": "governance.vega.xyz", + "explorer": "explorer.vega.xyz" + } + } + } + } + ] + }, + { + "name": "admin.update_network", + "summary": "Update an existing network.", + "description": "This method updates the network configuration.", + "tags": [ + { + "name": "admin" + }, + { + "name": "network" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "name", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "metadata", + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/metadata" + } + } + }, + { + "name": "api", + "required": true, + "schema": { + "$ref": "#/components/schemas/network_api_config" + } + }, + { + "name": "apps", + "required": true, + "schema": { + "$ref": "#/components/schemas/network_apps_config" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Update a network", + "params": [ + { + "name": "name", + "value": "local-network" + }, + { + "name": "api", + "value": { + "grpc": { + "hosts": [ + "localhost:3028" + ] + }, + "graphQL": { + "hosts": [ + "localhost:3028" + ] + }, + "rest": { + "hosts": [ + "localhost:3029" + ] + } + } + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "admin.rename_network", + "summary": "Renames a network", + "description": "This method renames a network in-place.\n\nIf the new name matches an existing network, it fails.", + "tags": [ + { + "name": "admin" + }, + { + "name": "network" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "network", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "newName", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Rename a network", + "params": [ + { + "name": "network", + "value": "my-network" + }, + { + "name": "newWallet", + "value": "my-new-network-name" + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "admin.remove_network", + "summary": "Removes a network from the computer.", + "description": "This method removes a network from the computer.", + "tags": [ + { + "name": "admin" + }, + { + "name": "network" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "name", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Remove a network", + "params": [ + { + "name": "network", + "value": "fairground" + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "admin.import_network", + "summary": "Import a network configuration from a file or an URL.", + "description": "Import a network configuration from a file or an URL.", + "tags": [ + { + "name": "admin" + }, + { + "name": "network" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "name", + "description": "The name to give to the imported network. If unset the network's name will be taken from the imported definition", + "schema": { + "type": "string" + } + }, + { + "name": "url", + "description": "The URL of a network to import. The prefix `file://` can be used to indicate a file-path.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "overwrite", + "required": true, + "schema": { + "type": "boolean" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + } + } + } + }, + "examples": [ + { + "name": "Importing a network", + "params": [ + { + "name": "name", + "value": "local-network" + }, + { + "name": "url", + "value": "file:///Users/username/local-network.toml" + } + ], + "result": { + "name": "Success", + "value": { + "name": "local-network" + } + } + } + ] + }, + { + "name": "admin.generate_key", + "summary": "Generates a key on the specified wallet.", + "description": "This method generates a key on the specified wallet.\n\nMetadata can be attached to this key.\n\nA special metadata `name` can be provided to name the key. If no `name` is provided, a default name is generated.", + "tags": [ + { + "name": "admin" + }, + { + "name": "key" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "metadata", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/metadata" + } + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "publicKey", + "algorithm", + "metadata" + ], + "properties": { + "publicKey": { + "$ref": "#/components/schemas/public_key" + }, + "algorithm": { + "$ref": "#/components/schemas/algorithm" + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/components/schemas/metadata" + } + } + } + } + }, + "examples": [ + { + "name": "Generating a key", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "metadata", + "value": [ + { + "name": "portfolio", + "value": "btc" + } + ] + } + ], + "result": { + "name": "Success", + "value": { + "publicKey": "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0", + "algorithm": { + "name": "vega/ed25519", + "version": 1 + }, + "metadata": [ + { + "key": "portfolio", + "value": "btc" + }, + { + "key": "name", + "value": "Key 1" + } + ] + } + } + } + ] + }, + { + "name": "admin.describe_key", + "summary": "Returns key's information.", + "description": "This method returns the information of the specified key.\n\nIt doesn't return the private key for security reasons. If you need something that requires a private key, you should use the available endpoints and let them handle the private key for you.", + "tags": [ + { + "name": "admin" + }, + { + "name": "key" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "publicKey", + "required": true, + "schema": { + "$ref": "#/components/schemas/public_key" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "name", + "publicKey", + "algorithm", + "metadata", + "isTainted" + ], + "properties": { + "name": { + "type": "string" + }, + "publicKey": { + "$ref": "#/components/schemas/public_key" + }, + "algorithm": { + "$ref": "#/components/schemas/algorithm" + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/components/schemas/metadata" + } + }, + "isTainted": { + "type": "boolean", + "description": "Tells if the key is tainted or not. A tainted key cannot be used for signing and sending transaction, for example." + } + } + } + }, + "examples": [ + { + "name": "Getting key base information", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "publicKey", + "value": "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0" + } + ], + "result": { + "name": "Success", + "value": { + "name": "Key 1", + "publicKey": "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0", + "algorithm": { + "name": "vega/ed25519", + "version": 1 + }, + "metadata": [ + { + "key": "portfolio", + "value": "btc" + } + ], + "isTainted": false + } + } + } + ] + }, + { + "name": "admin.list_keys", + "summary": "Returns all generated key of the specified wallet.", + "description": "This method returns all generated key of the specified wallet with their respective name.", + "tags": [ + { + "name": "admin" + }, + { + "name": "key" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "keys" + ], + "properties": { + "keys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/named_public_key" + } + } + } + } + }, + "examples": [ + { + "name": "Listing the keys", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + } + ], + "result": { + "name": "Success", + "value": { + "keys": [ + { + "name": "Key 1", + "publicKey": "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0" + } + ] + } + } + } + ] + }, + { + "name": "admin.annotate_key", + "summary": "Attaches metadata to a key.", + "description": "This method attaches metadata to the specified key.\n\nA special metadata `name` can be provided to name the key. If no `name` is provided, a default name is generated.\n\nThis method **replaces** the existing metadata by the specified ones. It does **not** update in place.", + "tags": [ + { + "name": "admin" + }, + { + "name": "key" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "publicKey", + "required": true, + "schema": { + "$ref": "#/components/schemas/public_key" + } + }, + { + "name": "metadata", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/metadata" + } + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "metadata" + ], + "properties": { + "metadata": { + "type": "array", + "items": { + "$ref": "#/components/schemas/metadata" + } + } + } + } + }, + "examples": [ + { + "name": "Annotating the key", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "publicKey", + "value": "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0" + }, + { + "name": "metadata", + "value": [ + { + "name": "portfolio", + "value": "btc" + } + ] + } + ], + "result": { + "name": "Success", + "value": { + "metadata": [ + { + "key": "portfolio", + "value": "btc" + }, + { + "key": "name", + "value": "Key 1" + } + ] + } + } + } + ] + }, + { + "name": "admin.isolate_key", + "summary": "Isolate a key to a specific wallet.", + "description": "This method isolates a key in a specific wallet called an \"isolated wallet\". This isolated wallet contains a single key. It can't generate keys, and is stripped of the master key. Generally, it can only sign transactions.\n\nThis is a security feature that **lowers** the impact of having a wallet stolen. If a wallet is stolen and the attacker breaks into it, he has access to all keys. On an isolated wallet, it can only retrieve the isolated key.", + "tags": [ + { + "name": "admin" + }, + { + "name": "key" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "isolatedWalletPassphrase", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "publicKey", + "required": true, + "schema": { + "$ref": "#/components/schemas/public_key" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "wallet" + ], + "properties": { + "wallet": { + "description": "Name of the generated isolated wallet", + "type": "string" + } + } + } + }, + "examples": [ + { + "name": "Isolating a key", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "isolatedWalletPassphrase", + "value": "this-is-also-not-a-good-passphrase" + }, + { + "name": "publicKey", + "value": "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0" + } + ], + "result": { + "name": "Success", + "value": { + "wallet": "my-wallet.b5fd9d3c.isolated" + } + } + } + ] + }, + { + "name": "admin.rotate_key", + "summary": "Builds a transaction to rotate key on the network.", + "description": "This method builds a transaction to rotate key on the network.", + "tags": [ + { + "name": "admin" + }, + { + "name": "key" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "fromPublicKey", + "required": true, + "description": "The current public key", + "schema": { + "type": "string" + } + }, + { + "name": "toPublicKey", + "required": true, + "description": "The next public key to rotate to", + "schema": { + "type": "string" + } + }, + { + "name": "chainID", + "required": true, + "description": "The chain identifier", + "schema": { + "type": "string" + } + }, + { + "name": "submissionBlockHeight", + "required": true, + "description": "The block height (approximation) at which the transaction will be submitted", + "schema": { + "type": "number" + } + }, + { + "name": "enactmentBlockHeight", + "required": true, + "description": "The block height at which the rotation should happen", + "schema": { + "type": "number" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "masterPublicKey", + "encodedTransaction" + ], + "properties": { + "masterPublicKey": { + "description": "The master public key of the wallet used to sign the transaction", + "type": "string" + }, + "encodedTransaction": { + "description": "The base64-encoded key rotation transaction", + "type": "string" + } + } + } + }, + "examples": [ + { + "name": "Rotating a key", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "fromPublicKey", + "value": "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0" + }, + { + "name": "toPublicKey", + "value": "988eae323a07f12363c17025c23ee58ea32ac3912398e16bb0b56969f57adc52" + }, + { + "name": "chainID", + "value": "test-chain-Thz9c6" + }, + { + "name": "submissionBlockHeight", + "value": 10 + }, + { + "name": "enactmentBlockHeight", + "value": 15 + } + ], + "result": { + "name": "Success", + "value": { + "masterPublicKey": "9df682a3c87d90567f260566a9c223ccbbb7529c38340cf163b8fe199dbf0f2e", + "encodedTransaction": "CqsBdGVzdC1jaGFpbi1UaHo5YzYACPfdurmpppHlogEQCqp9iAEIAhAPGkA5ODhlYWUzMjNhMDdmMTIzNjNjMTcwMjVjMjNlZTU4ZWEzMmFjMzkxMjM5OGUxNmJiMGI1Njk2OWY1N2FkYzUyIkA4MWFhZjk2NmU4ZjUxNDIzZjBiZDFkOTMzYWQ0NmY5NjJlMjNiY2Q3MTg4ZWQzZmUwZjUzZjRkYThhMzJhOWVlEpMBCoABYzg3NDVkODhlMWQ1YTBhOGE3NGI5YzRmN2QyMzQ3ZmQ5ZDY1NzIwYTQ3ZmYwNWU3YTZmZmYyOTA0NzhmOTU0M2NjM2E4MzJkNjBmYTJiNmY3ZTQ3YWJlMjE0MGIwOTEyNzBlNTAxZTA5MjVjNDg3NzEwMjViOTkyYTg1ZTAxMDQSDHZlZ2EvZWQyNTUxORgBgH0D0j5AOWRmNjgyYTNjODdkOTA1NjdmMjYwNTY2YTljMjIzY2NiYmI3NTI5YzM4MzQwY2YxNjNiOGZlMTk5ZGJmMGYyZQ==" + } + } + } + ] + }, + { + "name": "admin.taint_key", + "summary": "Marks the specified public key as tainted.", + "description": "This method marks the specified public key as tainted. It makes it unusable for transaction signing.\n\nWhen a key is tainted, it is automatically removed from the allowed keys if specified. If the key is the only one to be set, the permission to access the public keys is revoked. If no allowed key is specified, but all keys in the wallet are tainted, the permission of the public keys is revoked as well.", + "tags": [ + { + "name": "admin" + }, + { + "name": "key" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "publicKey", + "required": true, + "schema": { + "$ref": "#/components/schemas/public_key" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Tainting a key", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "publicKey", + "value": "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0" + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "admin.untaint_key", + "summary": "Remove the taint from the specified public key.", + "description": "This method removes the taint from the specified public key.\n\nIf you tainted a key for security reasons, you should not use it.", + "tags": [ + { + "name": "admin" + }, + { + "name": "key" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "publicKey", + "required": true, + "schema": { + "$ref": "#/components/schemas/public_key" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Remove the taint from a key", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "publicKey", + "value": "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0" + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "admin.describe_permissions", + "summary": "Returns the permissions set for the specified wallet and hostname.", + "description": "This method returns the permissions set for the specified wallet and hostname.", + "tags": [ + { + "name": "admin" + }, + { + "name": "permissions" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "hostname", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "permissions": { + "$ref": "#/components/schemas/permissions" + } + } + } + }, + "examples": [ + { + "name": "Describe the permissions", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "hostname", + "value": "vega.xyz" + } + ], + "result": { + "name": "Success", + "value": { + "permissions": { + "publicKeys": { + "access": "read", + "allowedKeys": [ + "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0" + ] + } + } + } + } + } + ] + }, + { + "name": "admin.list_permissions", + "summary": "Returns the permissions summary for all set hostnames.", + "description": "This method returns the permissions summary for all set hostnames.\n\nFor a detailed description of the permissions on a given hostname, see `admin.describe_permissions`", + "tags": [ + { + "name": "admin" + }, + { + "name": "permissions" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "permissions": { + "type": "object", + "patternProperties": { + ".": { + "schema": { + "$ref": "#/components/schemas/permissions_summary" + } + } + } + } + } + } + }, + "examples": [ + { + "name": "List the permissions", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + } + ], + "result": { + "name": "Success", + "value": { + "permissions": { + "vega.xyz": { + "public_keys": "read" + }, + "token.vega.xyz": { + "public_keys": "none" + } + } + } + } + } + ] + }, + { + "name": "admin.update_permissions", + "summary": "Updates the permissions for the specified wallet and hostname.", + "description": "This method updates the permissions for the specified wallet and hostname.", + "tags": [ + { + "name": "admin" + }, + { + "name": "permissions" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "hostname", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "permissions", + "required": true, + "schema": { + "$ref": "#/components/schemas/permissions" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "permissions" + ], + "properties": { + "permissions": { + "$ref": "#/components/schemas/permissions" + } + } + } + }, + "examples": [ + { + "name": "Update the permissions", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "hostname", + "value": "vega.xyz" + }, + { + "name": "permissions", + "value": { + "publicKeys": { + "access": "read", + "allowedKeys": [ + "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0" + ] + } + } + } + ], + "result": { + "name": "Success", + "value": { + "permissions": { + "publicKeys": { + "access": "read", + "allowedKeys": [ + "b5fd9d3c4ad553cb3196303b6e6df7f484cf7f5331a572a45031239fd71ad8a0" + ] + } + } + } + } + } + ] + }, + { + "name": "admin.revoke_permissions", + "summary": "Revokes the permissions set in the specified hostname.", + "description": "This method revokes the permissions set in the specified hostname.", + "tags": [ + { + "name": "admin" + }, + { + "name": "permissions" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "hostname", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Revoke the permissions", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "hostname", + "value": "vega.xyz" + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "admin.purge_permissions", + "summary": "Purges all the permissions set for all hostname.", + "description": "This method purges all the permissions set for all hostname.", + "tags": [ + { + "name": "admin" + }, + { + "name": "permissions" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Purge the permissions", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "admin.sign_transaction", + "summary": "Sign a command using the specified wallet and public key.", + "description": "This method signs a transaction returning a base64-encoded transaction that can be sent using the method `admin.send_transaction`", + "tags": [ + { + "name": "admin" + }, + { + "name": "transaction" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "description": "The wallet from which the signing key comes from.", + "schema": { + "type": "string" + } + }, + { + "name": "publicKey", + "required": true, + "description": "The public key associated to the private key that is used to sign the transaction.", + "schema": { + "type": "string" + } + }, + { + "name": "network", + "description": "The network configuration to use to retrieve the last block data. If specified, the last block data will be fetched by one of the nodes specified in this network configuration. Not required if the last block data is specified, as no network query will be issued.", + "schema": { + "type": "string" + } + }, + { + "name": "transaction", + "description": "The transaction to sign.", + "required": true, + "schema": { + "$ref": "#/components/schemas/transaction" + } + }, + { + "name": "lastBlockData", + "description": "Instead of fetching the last block data from a network, it possible to manually specify it. If specified, then the parameters `network`, `retries` and `maximumRequestDuration` do not have to be specified.", + "schema": { + "$ref": "#/components/schemas/last_block_data" + } + }, + { + "name": "retries", + "description": "The number of times the software should retry sending the requests to the node if there is a communication failure. Not required if the last block data is specified, as no network query will be issued.", + "schema": { + "type": "number" + } + }, + { + "name": "maximumRequestDuration", + "description": "The maximum duration the software waits for the node to respond. If the node does not respond in time, the software cancels the request. Not required if the last block data is specified, as no network query will be issued.", + "schema": { + "$ref": "#/components/schemas/duration" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "transaction", + "encodedTransaction" + ], + "properties": { + "transaction": { + "$ref": "#/components/schemas/signed_transaction" + }, + "encodedTransaction": { + "type": "string" + } + } + } + } + }, + { + "name": "admin.sign_message", + "summary": "Sign any arbitrary message", + "description": "This method signs any given message with a Vega public-key", + "tags": [ + { + "name": "admin" + }, + { + "name": "message" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "publicKey", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "encodedMessage", + "description": "The message to sign encoded using base-64.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "encodedSignature" + ], + "properties": { + "encodedSignature": { + "type": "string" + } + } + } + }, + "examples": [ + { + "name": "Sign a message", + "params": [ + { + "name": "wallet", + "value": "my-wallet" + }, + { + "name": "publicKey", + "value": "0101010101010101010101010101010101010101010101010101010101010101" + }, + { + "name": "encodedMessage", + "value": "U3VwZXIgc2VjcmV0IG1lc3NhZ2U=" + } + ], + "result": { + "name": "Success", + "value": { + "encodedSignature": "6a2Ud6yuNcnOaO8jaiTJJi8dZBQzvNySV2Tt2hD+YhVnz1dNxHGUavU2a1W1z0/1uX0n91x2jWXONMRpiiNODg==" + } + } + } + ] + }, + { + "name": "admin.verify_message", + "summary": "Verify any arbitrary signature", + "description": "This method verifies any given signature with a Vega public-key", + "tags": [ + { + "name": "admin" + }, + { + "name": "message" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "publicKey", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "encodedMessage", + "description": "The message use to create the signature, encoded using base-64.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "encodedSignature", + "description": "The signature to verify, encoded using base-64.", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "isValid" + ], + "properties": { + "isValid": { + "type": "boolean" + } + } + } + } + }, + { + "name": "admin.send_transaction", + "summary": "Sign & send a transaction to a network", + "description": "This method signs a transaction returning a base64-encoded transaction that can be sent using the method `admin.send_transaction`", + "tags": [ + { + "name": "admin" + }, + { + "name": "transaction" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "description": "The wallet from which the signing key comes from.", + "schema": { + "type": "string" + } + }, + { + "name": "publicKey", + "description": "The public key associated to the private key that is used to sign the transaction.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "network", + "description": "The network configuration used to connect the network and send the transaction to. It should not be specified if the parameter `nodeAddress` is specified.", + "schema": { + "type": "string" + } + }, + { + "name": "nodeAddress", + "description": "he specific node address used to connect to the network and send the transaction. It should not be specified if the parameter `network` is specified.", + "schema": { + "type": "string" + } + }, + { + "name": "retries", + "description": "The number of times the software should retry sending the requests to the node if there is a communication failure.", + "schema": { + "type": "number" + } + }, + { + "name": "maximumRequestDuration", + "description": "The maximum duration the software waits for the node to respond. If the node does not respond in time, the software cancels the request.", + "schema": { + "$ref": "#/components/schemas/duration" + } + }, + { + "name": "sendingMode", + "required": true, + "description": "The mode used to send the transaction to the network.", + "schema": { + "$ref": "#/components/schemas/sending_mode" + } + }, + { + "name": "transaction", + "required": true, + "description": "The transaction to send.", + "schema": { + "$ref": "#/components/schemas/transaction" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "receivedAt", + "sentAt", + "transactionHash", + "transaction", + "node" + ], + "properties": { + "receivedAt": { + "type": "string", + "description": "The date when the API received the request to send the transaction.\n\nThe time is a quoted string in RFC 3339 format, with sub-second precision added if present.", + "examples": [ + "2021-02-18T21:54:42.123Z" + ] + }, + "sentAt": { + "type": "string", + "description": "The date when the transaction has been sent to the network.\n\nThe time is a quoted string in RFC 3339 format, with sub-second precision added if present.", + "examples": [ + "2021-02-18T21:54:42.123Z" + ] + }, + "transactionHash": { + "type": "string", + "description": "The hash of the transaction. It's used to uniquely identify the transaction and can be used in the block explorer to retrieve it." + }, + "transaction": { + "$ref": "#/components/schemas/signed_transaction" + }, + "node": { + "$ref": "#/components/schemas/node_info" + } + } + } + } + }, + { + "name": "admin.check_transaction", + "summary": "Check transaction command using the specified wallet and public key.", + "description": "This method checks a transaction is valid, and returns a base64-encoded transaction that can be sent using the method `admin.send_transaction`", + "tags": [ + { + "name": "admin" + }, + { + "name": "transaction" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "description": "The wallet from which the signing key comes from.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "publicKey", + "description": "The public key associated to the private key that is used to sign the transaction.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "network", + "description": "The network configuration used to connect the network and check the transaction against. It should not be specified if the parameter `nodeAddress` is specified.", + "schema": { + "type": "string" + } + }, + { + "name": "nodeAddress", + "description": "The specific node address used to connect the network and check the transaction against. It should not be specified if the parameter `network` is specified.", + "schema": { + "type": "string" + } + }, + { + "name": "retries", + "description": "The number of times the software should retry sending the requests to the node if there is a communication failure.", + "required": true, + "schema": { + "type": "number" + } + }, + { + "name": "maximumRequestDuration", + "description": "The maximum duration the software waits for the node to respond. If the node does not respond in time, the software cancels the request.", + "required": true, + "schema": { + "$ref": "#/components/schemas/duration" + } + }, + { + "name": "transaction", + "description": "The transaction to check.", + "required": true, + "schema": { + "$ref": "#/components/schemas/transaction" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "receivedAt", + "sentAt", + "encodedTransaction", + "transaction", + "node" + ], + "properties": { + "receivedAt": { + "type": "string", + "description": "The date when the API received the request to send the transaction.\n\nThe time is a quoted string in RFC 3339 format, with sub-second precision added if present.", + "examples": [ + "2021-02-18T21:54:42.123Z" + ] + }, + "sentAt": { + "type": "string", + "description": "The date when the transaction has been sent to the network.\n\nThe time is a quoted string in RFC 3339 format, with sub-second precision added if present.", + "examples": [ + "2021-02-18T21:54:42.123Z" + ] + }, + "encodedTransaction": { + "type": "string" + }, + "transaction": { + "$ref": "#/components/schemas/signed_transaction" + }, + "node": { + "$ref": "#/components/schemas/node_info" + } + } + } + } + }, + { + "name": "admin.send_raw_transaction", + "summary": "Send a signed transaction to a network", + "description": "This method sends a transaction that was signed using admin.sign_transaction into a network", + "tags": [ + { + "name": "admin" + }, + { + "name": "transaction" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "encodedTransaction", + "description": "The signed transaction to be sent, encoded using base-64.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "network", + "description": "The network configuration used to connect the network and send the transaction to. It should not be specified if the parameter `nodeAddress` is specified.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "nodeAddress", + "description": "he specific node address used to connect to the network and send the transaction. It should not be specified if the parameter `network` is specified.", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "retries", + "description": "The number of times the software should retry sending the requests to the node if there is a communication failure.", + "required": true, + "schema": { + "type": "number" + } + }, + { + "name": "maximumRequestDuration", + "description": "The maximum duration the software waits for the node to respond. If the node does not respond in time, the software cancels the request.", + "required": true, + "schema": { + "$ref": "#/components/schemas/duration" + } + }, + { + "name": "sendingMode", + "description": "The mode used to send the transaction to the network.", + "required": true, + "schema": { + "$ref": "#/components/schemas/sending_mode" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "receivedAt", + "sentAt", + "transactionHash", + "transaction", + "node" + ], + "properties": { + "receivedAt": { + "type": "string", + "description": "The date when the API received the request to send the transaction.\n\nThe time is a quoted string in RFC 3339 format, with sub-second precision added if present.", + "examples": [ + "2021-02-18T21:54:42.123Z" + ] + }, + "sentAt": { + "type": "string", + "description": "The date when the transaction has been sent to the network.\n\nThe time is a quoted string in RFC 3339 format, with sub-second precision added if present.", + "examples": [ + "2021-02-18T21:54:42.123Z" + ] + }, + "transactionHash": { + "type": "string", + "description": "The hash of the transaction. It's used to uniquely identify the transaction and can be used in the block explorer to retrieve it." + }, + "transaction": { + "$ref": "#/components/schemas/signed_transaction" + }, + "node": { + "$ref": "#/components/schemas/node_info" + } + } + } + } + }, + { + "name": "admin.list_connections", + "summary": "List all the connections of a service.", + "description": "This method lists all the connections of a service.", + "tags": [ + { + "name": "admin" + }, + { + "name": "service" + } + ], + "paramStructure": "by-name", + "params": [], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "object", + "required": [ + "activeConnections" + ], + "properties": { + "activeConnections": { + "type": "array", + "description": "The list is sorted by hostname, then by wallet name.", + "items": { + "type": "object", + "required": [ + "hostname", + "wallet" + ], + "properties": { + "hostname": { + "type": "string" + }, + "wallet": { + "type": "string" + } + } + } + } + } + } + }, + "examples": [ + { + "name": "List the connection of a service", + "params": [], + "result": { + "name": "Success", + "value": { + "activeConnections": [ + { + "hostname": "console.vega.xyz", + "wallet": "my-btc-wallet" + }, + { + "hostname": "vega.xyz", + "wallet": "my-btc-wallet" + }, + { + "hostname": "vega.xyz", + "wallet": "my-eth-wallet" + } + ] + } + } + } + ] + }, + { + "name": "admin.close_connection", + "summary": "Close the connection between a third-party application and a wallet.", + "description": "This method closes the connection between a third-party application and a wallet opened in the service that run against the specified network.", + "tags": [ + { + "name": "admin" + }, + { + "name": "service" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "hostname", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Close a connection", + "params": [ + { + "name": "hostname", + "value": "vega.xyz" + }, + { + "name": "wallet", + "value": "my-btc-wallet" + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "admin.close_connections_to_hostname", + "summary": "Close the connection from the specified third-party application to any wallet.", + "description": "This method closes all the connections from the specified hostname to any wallet opened in the service that run against the specified network.", + "tags": [ + { + "name": "admin" + }, + { + "name": "service" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "hostname", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Close all connections to a given hostname", + "params": [ + { + "name": "hostname", + "value": "vega.xyz" + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + }, + { + "name": "admin.close_connections_to_wallet", + "summary": "Close the connection from any third-party application to the specified wallet.", + "description": "This method closes all the connections from any hostname to the specified wallet opened in the service that run against the specified network.", + "tags": [ + { + "name": "admin" + }, + { + "name": "service" + } + ], + "paramStructure": "by-name", + "params": [ + { + "name": "wallet", + "required": true, + "schema": { + "type": "string" + } + } + ], + "result": { + "name": "Success", + "required": true, + "schema": { + "type": "null" + } + }, + "examples": [ + { + "name": "Close all connections to a given wallet", + "params": [ + { + "name": "wallet", + "value": "my-btc-wallet" + } + ], + "result": { + "name": "Success", + "value": null + } + } + ] + } + ], + "components": { + "schemas": { + "node_info": { + "type": "object", + "description": "The node that handled the transaction.", + "required": [ + "host" + ], + "properties": { + "host": { + "type": "string" + } + } + }, + "signed_transaction": { + "type": "object", + "description": "A transaction that has been signed by the wallet.", + "required": [ + "inputData", + "signature", + "from", + "version", + "pow" + ], + "properties": { + "inputData": { + "type": "string" + }, + "signature": { + "type": "object", + "required": [ + "value", + "algo", + "version" + ], + "properties": { + "value": { + "type": "string" + }, + "algo": { + "type": "string" + }, + "version": { + "type": "number" + } + } + }, + "from": { + "type": "object" + }, + "version": { + "type": "number" + }, + "pow": { + "type": "object", + "required": [ + "tid", + "nonce" + ], + "properties": { + "tid": { + "type": "string" + }, + "nonce": { + "type": "number" + } + } + } + } + }, + "public_key": { + "type": "string", + "description": "The Vega public key to use." + }, + "algorithm": { + "type": "object", + "description": "The algorithm used to generate the key.", + "required": [ + "name", + "version" + ], + "properties": { + "name": { + "type": "string" + }, + "version": { + "type": "number" + } + } + }, + "metadata": { + "type": "object", + "description": "The object metadata.", + "required": [ + "key", + "value" + ], + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "named_public_key": { + "type": "object", + "description": "The public key with its name.", + "required": [ + "name", + "publicKey" + ], + "properties": { + "name": { + "type": "string" + }, + "publicKey": { + "type": "string" + } + } + }, + "encoded_transaction": { + "type": "string", + "description": "The transaction encoded using base-64." + }, + "transaction": { + "type": "object", + "description": "The transaction as a JSON object" + }, + "access_mode": { + "type": "string", + "description": "The different access modes a permission can have.", + "enum": [ + "read", + "none" + ] + }, + "permissions_summary": { + "type": "object", + "description": "The description of the permissions a third-party application has.", + "patternProperties": { + ".": { + "schema": { + "type": "string" + } + } + } + }, + "permissions": { + "type": "object", + "description": "The full description of the permissions a third-party application has.", + "required": [ + "publicKeys" + ], + "properties": { + "publicKeys": { + "type": "object", + "description": "The permissions related to public keys.", + "required": [ + "access", + "allowedKeys" + ], + "properties": { + "access": { + "$ref": "#/components/schemas/access_mode" + }, + "allowedKeys": { + "type": "array", + "description": "The subset of public keys the user selected for this hostname. If empty, the wallet assumes all keys are accessible.", + "items": { + "type": "string" + } + } + } + } + } + }, + "network_api_config": { + "type": "object", + "description": "The API configuration for the network.", + "required": [ + "grpc" + ], + "properties": { + "grpc": { + "type": "object", + "required": [ + "hosts" + ], + "properties": { + "hosts": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "graphQL": { + "type": "object", + "required": [ + "hosts" + ], + "properties": { + "hosts": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "rest": { + "type": "object", + "required": [ + "hosts" + ], + "properties": { + "hosts": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "network_apps_config": { + "type": "object", + "description": "The URLs to the network applications.", + "properties": { + "console": { + "type": "string" + }, + "governance": { + "type": "string" + }, + "explorer": { + "type": "string" + } + } + }, + "last_block_data": { + "type": "object", + "description": "The data related to the last block forged on the network.", + "required": [ + "blockHeight", + "blockHash", + "chainID", + "proofOfWorkDifficulty", + "proofOfWorkHashFunction" + ], + "properties": { + "blockHeight": { + "type": "number" + }, + "blockHash": { + "type": "string" + }, + "chainID": { + "type": "string" + }, + "proofOfWorkHashFunction": { + "type": "string" + }, + "proofOfWorkDifficulty": { + "type": "number" + } + } + }, + "sending_mode": { + "type": "string", + "description": "The chosen mode to send the transaction:\n- `TYPE_SYNC` returns the result of running the transaction.\n- `TYPE_ASYNC` returns right away without waiting to hear if the transaction is even valid.\n- `TYPE_COMMIT` waits until the transaction is committed in a block, or until some timeout is reached, or returns return right away if the transaction is not valid.", + "enum": [ + "TYPE_SYNC", + "TYPE_ASYNC", + "TYPE_COMMIT" + ] + }, + "duration": { + "type": "number", + "description": "As nanoseconds" + } + }, + "errors": { + "network_error_no_healthy_node": { + "code": 1000, + "message": "Network error", + "data": "no healthy node available" + }, + "network_error_could_not_get_last_block": { + "code": 1000, + "message": "Network error", + "data": "could not get information about the last block on the network" + }, + "network_error_could_not_get_chain_id": { + "code": 1000, + "message": "Network error", + "data": "could not get the chain ID from the node" + }, + "network_error_transaction_failed": { + "code": 1000, + "message": "Network error", + "data": "the transaction could not be sent through the selected node" + }, + "network_error_failed_transaction": { + "code": 1001, + "message": "Network error", + "data": "the transaction failed" + }, + "network_error_invalid_transaction": { + "code": 1051, + "message": "Network error", + "data": "the network rejected the transaction because it's invalid" + }, + "network_error_malformed_transaction": { + "code": 1060, + "message": "Network error", + "data": "the network rejected the transaction because it's malformed" + }, + "network_error_unprocessable_transaction": { + "code": 1070, + "message": "Network error", + "data": "the network could not process the transaction" + }, + "network_error_unsupported_transaction": { + "code": 1080, + "message": "Network error", + "data": "the network does not support this transaction" + }, + "network_error_spam_protection_activated": { + "code": 1089, + "message": "Network error", + "data": "the network blocked the transaction through the spam protection" + }, + "application_error_public_key_not_allowed": { + "code": 2000, + "message": "Application error", + "data": "the public key is not allowed to be used" + }, + "application_error_transaction_would_break_spam_rules": { + "code": 2000, + "message": "Application error", + "data": "the transaction will break the network's spam rules" + }, + "application_error_block_height_is_too_historic": { + "code": 2000, + "message": "Application error", + "data": "the block height is too historic" + }, + "application_error_transaction_per_block_limit_reached": { + "code": 2000, + "message": "Application error", + "data": "the transaction per block limit has been reached" + }, + "application_error_request_cancelled": { + "code": 2001, + "message": "Application error", + "data": "the application cancelled the request" + }, + "user_error_connection_closed": { + "code": 3000, + "message": "User error", + "data": "the user closed the connection" + }, + "user_error_wallet_connection_rejected": { + "code": 3001, + "message": "User error", + "data": "the user rejected the wallet connection" + }, + "user_error_keys_access_rejected": { + "code": 3001, + "message": "User error", + "data": "the user rejected the access to the keys" + }, + "user_error_sending_transaction_rejected": { + "code": 3001, + "message": "User error", + "data": "the user rejected the sending of the transaction" + }, + "user_error_signing_transaction_rejected": { + "code": 3001, + "message": "User error", + "data": "the user rejected the signing of the transaction" + }, + "user_error_request_cancelled": { + "code": 3002, + "message": "User error", + "data": "the user cancelled the request" + } + } + } +} diff --git a/specs/v0.79.0-protobuf.1/wallet/api/wallet.openapi.json b/specs/v0.79.0-protobuf.1/wallet/api/wallet.openapi.json new file mode 100644 index 000000000..b6bc65da7 --- /dev/null +++ b/specs/v0.79.0-protobuf.1/wallet/api/wallet.openapi.json @@ -0,0 +1,284 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "Wallet API", + "description": "The version 2 of the wallet HTTP API leverages the wallet JSON-RPC API.\n\n## Workflow\n1. Use `GET /v2/methods` to ensure the JSON-RPC API exposes all the methods your application requires.\n\n2. Use `POST /v2/requests` endpoint to submit requests to the JSON-RPC API.\n## Useful links\n- [JSON-RPC 2.0 Specification](https://www.jsonrpc.org/specification)", + "version": "2.0.0" + }, + "servers": [ + { "url": "http://localhost:1789/api/", "description": "Local wallet" } + ], + "externalDocs": { + "description": "Find out more about Vega REST APIs.", + "url": "https://docs.vega.xyz/docs/mainnet/api/rest/overview" + }, + "paths": { + "/v2/requests": { + "post": { + "summary": "Submit JSON-RPC request to wallet API", + "description": "This endpoint is the main entry point to submit JSON-RPC requests. The body of the HTTP request should be formatted as a JSON-RPC v2 request. The HTTP response is formatted as the JSON-RPC v2 response.\n\nThe `ID` should be specified. See [the JSON-RPC notification documentation](https://www.jsonrpc.org/specification#notification) for more details.\n\n# Content type\nThis endpoint returns a response with a specific `Content-Type` header: `application/json-rpc`.\n\nThis content type is used to help third-party applications differentiate the different JSON formats returned by the service. \n\nNote that `application/json-rpc` is not a standard HTTP content type.\n\n# Authentication\n\n## Workflow\nWhen connecting to a wallet, a connection token will be received back through the `Authorisation` header.\n\nWhen accessing protected JSON-RPC methods, the connection token must be set to the `Authorisation` header. If the connection token is not valid, the server returns a response with the HTTP code 401, and the `WWW-Authenticate` header set to `VWT` as required by the HTTP standards.\n\n### Community implementation of the wallet service\nPeople might be willing to implement their own wallet service with their own authentication system. It's recommended that any community implementations follow the same workflow.\n\nThis will save third-party applications from having to _explicitly_ support different authentication schemes, and make the community implementations fully interoperable with all third-party applications, out of the box.\n\n### Token format\n\n\nThe token will be formatted as follows:\n`VWT \\`\n\n`VWT` scheme stands for \"Vega Wallet Token\" and is not a standard authorisation scheme.\n\n`YOUR_TOKEN` is a randomly generated string of 64 characters with numbers and letters. Each session generates a unique one.\n\n# Request\nSee the [OpenRPC documentation of the wallet](https://docs.vega.xyz) for more details.", + "tags": ["Wallet"], + "parameters": [ + { + "in": "header", + "name": "Origin", + "description": "The origin of the request. If this header is missing, the request will be rejected as an unauthorized request (401 Unauthorized).", + "required": true, + "schema": { + "type": "string" + } + }, + { + "in": "header", + "name": "Authorization", + "description": "The token used to access the protected methods. The format is `VWT YOUR_TOKEN`. VWT is a non-standard scheme that stands for Vega Wallet Token. If this header is missing when accessing protected methods, the request will be rejected as an unauthorized request (401 Unauthorized).", + "schema": { + "type": "string" + }, + "examples": { + "test": { + "value": "VWT stuTxgheMY8RZyISS9voyLjXHBaQFS7DRqDyXCM7Xx6rcj8zP84U1XNAIhf8110S" + } + } + } + ], + "requestBody": { + "description": "The JSON-RPC v2 request", + "content": { + "application/json-rpc": { + "schema": { + "$ref": "#/components/schemas/JsonRpcRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "The request is successful. On this endpoint, only this type of response format should be expected.", + "content": { + "application/json-rpc": { + "schema": { + "$ref": "#/components/schemas/JsonRpcResponse" + } + } + } + }, + "204": { + "description": "This response is returned when there is no `id` property valued in the JSON-RPC request. Concretely, when a JSON-RPC request doesn't have an ID, it is considered a JSON-RPC notification and, as such, no result is to be expected, even in case of failure." + }, + "400": { + "description": "Something went wrong", + "content": { + "application/json-rpc": { + "schema": { + "type": "object", + "description": "This payload is returned when an error occurs at the JSON-RPC API level. See [the JSON-RPC response documentation](https://www.jsonrpc.org/specification#response_object) for more details.", + "properties": { + "jsonrpc": { + "type": "string", + "required": true, + "enum": [ + "2.0" + ] + }, + "errors": { + "type": "object", + "properties": { + "code": { + "type": "number" + }, + "message": { + "type": "string" + }, + "data": { + "type": "string" + } + } + }, + "id": { + "type": "string" + } + } + } + } + } + }, + "401": { + "description": "This error code is returned when the authentication failed." + }, + "500": { + "description": "Something failed internally. Nothing can be done about it on the client side. Reporting the issue to the wallet software developers is encouraged." + } + } + } + }, + "/v2/methods": { + "get": { + "summary": "List the available methods on the JSON-RPC API", + "description": "The JSON-RPC API behind this HTTP API can have an arbitrary set of endpoints enabled.\n\nThis method allows an application to check for the existence of the JSON-RPC before calling the requests method.", + "tags": ["Wallet"], + "responses": { + "200": { + "description": "Successful listing", + "content": { + "application/json": { + "examples": { + "Example 1": { + "summary" : "Listing the registered methods", + "value" : { + "result": { + "registeredMethods": [ + "client.connect_wallet", + "client.disconnect_wallet", + "client.list_keys", + "client.send_transaction" + ] + } + } + } + }, + "schema": { + "type": "object", + "properties": { + "result": { + "type": "object", + "properties": { + "registeredMethods": { + "type": "array", + "required": true + } + } + } + } + } + } + } + }, + "400": { + "description": "Something went wrong", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "errors": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "data": { + "type": "string" + } + } + } + } + } + } + } + }, + "500": { + "description": "Something failed internally. Nothing can be done about it." + } + } + } + }, + "/v2/health": { + "get": { + "summary": "Checks if service is up and running", + "description": "If the service is running, this endpoint returns 200, otherwise the endpoint will be unreachable.", + "tags": ["Wallet"], + "responses": { + "200": { + "description": "The service is alive." + }, + "500": { + "description": "Something failed internally. Nothing can be done about it." + } + } + } + } + }, + "components": { + "schemas": { + "JsonResponse": { + "type": "object", + "description": "This payload is returned by HTTP handlers. It's the generic envelope for all HTTP responses that do not come from the JSON-RPC API.", + "properties": { + "result": { + "type": "object" + }, + "errors": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "data": { + "type": "string" + } + } + } + } + }, + "JsonRpcRequest": { + "type": "object", + "description": "This request payload is used to query the JSON-RPC API. See [the JSON-RPC request documentation](https://www.jsonrpc.org/specification#request_object) for more details.", + "properties": { + "jsonrpc": { + "required": true, + "type": "string", + "enum": [ + "2.0" + ] + }, + "method": { + "required": true, + "type": "string" + }, + "params": { + "type": "object" + }, + "id": { + "description": "According to the JSON-RPC v2 standard, if the ID is not specified, an empty response should be returned, whatever the state is (success or error). In the Vega implementation, this empty response corresponds to `204 No content`.", + "type": "string" + } + } + }, + "JsonRpcResponse": { + "type": "object", + "description": "This payload is returned by the JSON-RPC API sitting behind the `/v2/requests` endpoint. See [the JSON-RPC response documentation](https://www.jsonrpc.org/specification#response_object) for more details.", + "properties": { + "jsonrpc": { + "type": "string", + "required": true, + "enum": [ + "2.0" + ] + }, + "result": { + "type": "object" + }, + "errors": { + "type": "object", + "properties": { + "code": { + "type": "number" + }, + "message": { + "type": "string" + }, + "data": { + "type": "string" + } + } + }, + "id": { + "type": "string" + } + } + } + } + } +}