v0.2.9-pre.011
This commit is contained in:
@@ -1,13 +1,16 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "urn:ksp:schema:std.transport:v2",
|
||||
"title": "KSP standard HTTP + WebSocket Transport configuration",
|
||||
"$id": "urn:ksp:schema:std.transport:v3",
|
||||
"title": "KSP standard HTTP + WebSocket + Yellowstone gRPC Transport configuration",
|
||||
"oneOf": [
|
||||
{
|
||||
"$ref": "#/$defs/documentV1"
|
||||
},
|
||||
{
|
||||
"$ref": "#/$defs/documentV2"
|
||||
},
|
||||
{
|
||||
"$ref": "#/$defs/documentV3"
|
||||
}
|
||||
],
|
||||
"$defs": {
|
||||
@@ -455,6 +458,275 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"grpcPositiveMs": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 300000
|
||||
},
|
||||
"grpcCapacity": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 65536
|
||||
},
|
||||
"grpcMessageSize": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 536870912
|
||||
},
|
||||
"grpcReconnect": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"max_retries",
|
||||
"initial_backoff_ms",
|
||||
"max_backoff_ms"
|
||||
],
|
||||
"properties": {
|
||||
"max_retries": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 100
|
||||
},
|
||||
"initial_backoff_ms": {
|
||||
"$ref": "#/$defs/grpcPositiveMs"
|
||||
},
|
||||
"max_backoff_ms": {
|
||||
"$ref": "#/$defs/grpcPositiveMs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"grpcReconnectOverride": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"max_retries": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 100
|
||||
},
|
||||
"initial_backoff_ms": {
|
||||
"$ref": "#/$defs/grpcPositiveMs"
|
||||
},
|
||||
"max_backoff_ms": {
|
||||
"$ref": "#/$defs/grpcPositiveMs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"grpcSession": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"connect_timeout_ms",
|
||||
"unary_timeout_ms",
|
||||
"close_timeout_ms",
|
||||
"reconnect",
|
||||
"request_channel_capacity",
|
||||
"update_channel_capacity",
|
||||
"max_inbound_message_size_bytes",
|
||||
"max_outbound_message_size_bytes"
|
||||
],
|
||||
"properties": {
|
||||
"connect_timeout_ms": {
|
||||
"$ref": "#/$defs/grpcPositiveMs"
|
||||
},
|
||||
"unary_timeout_ms": {
|
||||
"$ref": "#/$defs/grpcPositiveMs"
|
||||
},
|
||||
"close_timeout_ms": {
|
||||
"$ref": "#/$defs/grpcPositiveMs"
|
||||
},
|
||||
"reconnect": {
|
||||
"$ref": "#/$defs/grpcReconnect"
|
||||
},
|
||||
"request_channel_capacity": {
|
||||
"$ref": "#/$defs/grpcCapacity"
|
||||
},
|
||||
"update_channel_capacity": {
|
||||
"$ref": "#/$defs/grpcCapacity"
|
||||
},
|
||||
"max_inbound_message_size_bytes": {
|
||||
"$ref": "#/$defs/grpcMessageSize"
|
||||
},
|
||||
"max_outbound_message_size_bytes": {
|
||||
"$ref": "#/$defs/grpcMessageSize"
|
||||
}
|
||||
}
|
||||
},
|
||||
"grpcSessionOverride": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"minProperties": 1,
|
||||
"properties": {
|
||||
"connect_timeout_ms": {
|
||||
"$ref": "#/$defs/grpcPositiveMs"
|
||||
},
|
||||
"unary_timeout_ms": {
|
||||
"$ref": "#/$defs/grpcPositiveMs"
|
||||
},
|
||||
"close_timeout_ms": {
|
||||
"$ref": "#/$defs/grpcPositiveMs"
|
||||
},
|
||||
"reconnect": {
|
||||
"$ref": "#/$defs/grpcReconnectOverride"
|
||||
},
|
||||
"request_channel_capacity": {
|
||||
"$ref": "#/$defs/grpcCapacity"
|
||||
},
|
||||
"update_channel_capacity": {
|
||||
"$ref": "#/$defs/grpcCapacity"
|
||||
},
|
||||
"max_inbound_message_size_bytes": {
|
||||
"$ref": "#/$defs/grpcMessageSize"
|
||||
},
|
||||
"max_outbound_message_size_bytes": {
|
||||
"$ref": "#/$defs/grpcMessageSize"
|
||||
}
|
||||
}
|
||||
},
|
||||
"grpcMetadata": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"key",
|
||||
"value"
|
||||
],
|
||||
"properties": {
|
||||
"key": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 128,
|
||||
"pattern": "^[0-9a-z_.-]+$"
|
||||
},
|
||||
"value": {
|
||||
"type": "string",
|
||||
"maxLength": 8192
|
||||
}
|
||||
}
|
||||
},
|
||||
"grpcEndpoint": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"name",
|
||||
"enabled",
|
||||
"provider",
|
||||
"cluster",
|
||||
"protocol",
|
||||
"url"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"$ref": "#/$defs/descriptor"
|
||||
},
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"provider": {
|
||||
"$ref": "#/$defs/descriptor"
|
||||
},
|
||||
"cluster": {
|
||||
"$ref": "#/$defs/descriptor"
|
||||
},
|
||||
"protocol": {
|
||||
"const": "solana_yellowstone"
|
||||
},
|
||||
"url": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 8192
|
||||
},
|
||||
"metadata": {
|
||||
"type": "array",
|
||||
"maxItems": 64,
|
||||
"items": {
|
||||
"$ref": "#/$defs/grpcMetadata"
|
||||
}
|
||||
},
|
||||
"secret_metadata": {
|
||||
"type": "array",
|
||||
"maxItems": 64,
|
||||
"items": {
|
||||
"$ref": "#/$defs/grpcMetadata"
|
||||
}
|
||||
},
|
||||
"session": {
|
||||
"$ref": "#/$defs/grpcSessionOverride"
|
||||
}
|
||||
}
|
||||
},
|
||||
"profileV3": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"profile_id",
|
||||
"endpoints",
|
||||
"ws_endpoints"
|
||||
],
|
||||
"properties": {
|
||||
"profile_id": {
|
||||
"$ref": "#/$defs/profileId"
|
||||
},
|
||||
"endpoints": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"$ref": "#/$defs/httpEndpoint"
|
||||
}
|
||||
},
|
||||
"ws_endpoints": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"$ref": "#/$defs/wsEndpoint"
|
||||
}
|
||||
},
|
||||
"grpc_endpoints": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"maxItems": 128,
|
||||
"items": {
|
||||
"$ref": "#/$defs/grpcEndpoint"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"documentV3": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"format_version",
|
||||
"retry",
|
||||
"ws_defaults",
|
||||
"grpc_defaults",
|
||||
"default_profile",
|
||||
"profiles"
|
||||
],
|
||||
"properties": {
|
||||
"format_version": {
|
||||
"const": 3
|
||||
},
|
||||
"retry": {
|
||||
"$ref": "#/$defs/retry"
|
||||
},
|
||||
"ws_defaults": {
|
||||
"$ref": "#/$defs/wsSession"
|
||||
},
|
||||
"grpc_defaults": {
|
||||
"$ref": "#/$defs/grpcSession"
|
||||
},
|
||||
"default_profile": {
|
||||
"$ref": "#/$defs/profileId"
|
||||
},
|
||||
"profiles": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"items": {
|
||||
"$ref": "#/$defs/profileV3"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"format_version": 2,
|
||||
"format_version": 3,
|
||||
"retry": {
|
||||
"max_retries": 2,
|
||||
"initial_backoff_ms": 100,
|
||||
@@ -22,6 +22,20 @@
|
||||
"max_frame_size_bytes": 16777216,
|
||||
"max_write_buffer_size_bytes": 1048576
|
||||
},
|
||||
"grpc_defaults": {
|
||||
"connect_timeout_ms": 10000,
|
||||
"unary_timeout_ms": 10000,
|
||||
"close_timeout_ms": 5000,
|
||||
"reconnect": {
|
||||
"max_retries": 5,
|
||||
"initial_backoff_ms": 250,
|
||||
"max_backoff_ms": 5000
|
||||
},
|
||||
"request_channel_capacity": 128,
|
||||
"update_channel_capacity": 256,
|
||||
"max_inbound_message_size_bytes": 67108864,
|
||||
"max_outbound_message_size_bytes": 67108864
|
||||
},
|
||||
"default_profile": "devnet_public",
|
||||
"profiles": [
|
||||
{
|
||||
@@ -105,6 +119,57 @@
|
||||
"url": "${KSP_PUBLIC_SOLANA_MAINNET_WS_URL:-wss://api.mainnet-beta.solana.com}"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"profile_id": "publicnode_mainnet",
|
||||
"endpoints": [
|
||||
{
|
||||
"name": "solana_mainnet_public",
|
||||
"enabled": true,
|
||||
"provider": "solana-public",
|
||||
"cluster": "mainnet-beta",
|
||||
"url": "${KSP_PUBLIC_SOLANA_MAINNET_HTTP_URL:-https://api.mainnet-beta.solana.com}",
|
||||
"connect_timeout_ms": 5000,
|
||||
"request_timeout_ms": 15000,
|
||||
"max_idle_connections_per_host": 8,
|
||||
"roles": [
|
||||
{
|
||||
"role": "default",
|
||||
"enabled": true,
|
||||
"request_kinds": [
|
||||
"*"
|
||||
],
|
||||
"priority": 100,
|
||||
"limits": {
|
||||
"requests_per_second": 5,
|
||||
"burst_capacity": 10,
|
||||
"max_concurrent_requests": 8,
|
||||
"pause_after_rate_limit_ms": 1000
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"ws_endpoints": [
|
||||
{
|
||||
"name": "solana_mainnet_public_ws",
|
||||
"enabled": true,
|
||||
"provider": "solana-public",
|
||||
"cluster": "mainnet-beta",
|
||||
"kind": "solana_standard",
|
||||
"url": "${KSP_PUBLIC_SOLANA_MAINNET_WS_URL:-wss://api.mainnet-beta.solana.com}"
|
||||
}
|
||||
],
|
||||
"grpc_endpoints": [
|
||||
{
|
||||
"name": "publicnode_solana_mainnet_yellowstone",
|
||||
"enabled": true,
|
||||
"provider": "publicnode",
|
||||
"cluster": "mainnet-beta",
|
||||
"protocol": "solana_yellowstone",
|
||||
"url": "https://solana-yellowstone-grpc.publicnode.com:443"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user