1075 lines
38 KiB
JSON
1075 lines
38 KiB
JSON
{
|
|
"active_profile": "mainnet_research",
|
|
"profiles": [
|
|
{
|
|
"name": "local_devnet",
|
|
"database": {
|
|
"enabled": true,
|
|
"backend": "postgres",
|
|
"postgres": {
|
|
"url": "${KS_SECRET_POSTGRES_DEVNET_URL}",
|
|
"max_connections": 8,
|
|
"connect_timeout_ms": 5000,
|
|
"auto_initialize_schema": true
|
|
},
|
|
"sqlite": {
|
|
"path": "data/local.sqlite",
|
|
"create_if_missing": true,
|
|
"busy_timeout_ms": 5000,
|
|
"max_connections": 1,
|
|
"auto_initialize_schema": true,
|
|
"use_wal": true
|
|
}
|
|
},
|
|
"solana": {
|
|
"http_endpoints": [
|
|
{
|
|
"name": "devnet_public_http",
|
|
"enabled": true,
|
|
"provider": "solana-public",
|
|
"cluster": "devnet",
|
|
"url": "https://api.devnet.solana.com",
|
|
"connect_timeout_ms": 4000,
|
|
"request_timeout_ms": 10000,
|
|
"max_idle_connections_per_host": 4,
|
|
"roles": [
|
|
{
|
|
"role": "http_queries",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"get_account_info",
|
|
"get_balance",
|
|
"get_block_commitment",
|
|
"get_block_height",
|
|
"get_block_production",
|
|
"get_blocks",
|
|
"get_blocks_with_limit",
|
|
"get_cluster_nodes",
|
|
"get_epoch_info",
|
|
"get_epoch_schedule",
|
|
"get_fee_for_message",
|
|
"get_first_available_block",
|
|
"get_genesis_hash",
|
|
"get_health",
|
|
"get_highest_snapshot_slot",
|
|
"get_identity",
|
|
"get_inflation_governor",
|
|
"get_inflation_rate",
|
|
"get_inflation_reward",
|
|
"get_largest_accounts",
|
|
"get_latest_blockhash",
|
|
"get_leader_schedule",
|
|
"get_max_retransmit_slot",
|
|
"get_max_shred_insert_slot",
|
|
"get_minimum_balance_for_rent_exemption",
|
|
"get_multiple_accounts",
|
|
"get_recent_performance_samples",
|
|
"get_recent_prioritization_fees",
|
|
"get_signature_statuses",
|
|
"get_slot",
|
|
"get_slot_leader",
|
|
"get_slot_leaders",
|
|
"get_stake_activation",
|
|
"get_stake_minimum_delegation",
|
|
"get_supply",
|
|
"get_token_account_balance",
|
|
"get_token_accounts_by_delegate",
|
|
"get_token_accounts_by_owner",
|
|
"get_token_largest_accounts",
|
|
"get_token_supply",
|
|
"get_transaction",
|
|
"get_transaction_count",
|
|
"get_version",
|
|
"get_vote_accounts",
|
|
"is_blockhash_valid",
|
|
"request_airdrop"
|
|
],
|
|
"priority": 10,
|
|
"requests_per_second": 3,
|
|
"burst_capacity": 3,
|
|
"max_concurrent_requests": 2,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 10000
|
|
},
|
|
{
|
|
"role": "http_transactions",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"simulate_transaction",
|
|
"send_transaction",
|
|
"get_signature_statuses"
|
|
],
|
|
"priority": 20,
|
|
"requests_per_second": 1,
|
|
"burst_capacity": 1,
|
|
"max_concurrent_requests": 1,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 10000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"ws_endpoints": [
|
|
{
|
|
"name": "devnet_public_ws",
|
|
"enabled": true,
|
|
"provider": "solana-public",
|
|
"cluster": "devnet",
|
|
"url": "wss://api.devnet.solana.com",
|
|
"connect_timeout_ms": 5000,
|
|
"request_timeout_ms": 10000,
|
|
"unsubscribe_timeout_ms": 1500,
|
|
"write_channel_capacity": 256,
|
|
"event_channel_capacity": 1024,
|
|
"auto_reconnect": false,
|
|
"roles": [
|
|
{
|
|
"role": "slot_notifications",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"slot_subscribe",
|
|
"slots_updates_subscribe"
|
|
],
|
|
"priority": 10,
|
|
"requests_per_second": 4,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 16,
|
|
"pause_after_rate_limit_ms": 3000
|
|
},
|
|
{
|
|
"role": "program_logs",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"logs_subscribe_mentions",
|
|
"program_subscribe",
|
|
"account_subscribe",
|
|
"signature_subscribe",
|
|
"block_subscribe",
|
|
"vote_subscribe"
|
|
],
|
|
"priority": 20,
|
|
"requests_per_second": 2,
|
|
"burst_capacity": 4,
|
|
"max_concurrent_requests": 2,
|
|
"max_subscriptions": 64,
|
|
"pause_after_rate_limit_ms": 3000
|
|
},
|
|
{
|
|
"role": "root_notifications",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"root_subscribe"
|
|
],
|
|
"priority": 15,
|
|
"requests_per_second": 4,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 16,
|
|
"pause_after_rate_limit_ms": 3000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"listeners": {
|
|
"enabled": true,
|
|
"default_commitment": "confirmed",
|
|
"log_listeners": [
|
|
{
|
|
"name": "pump_swap_logs",
|
|
"enabled": false,
|
|
"endpoint_role": "program_logs",
|
|
"program_id": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA",
|
|
"purpose": "Détecter les swaps, créations de pool et changements de liquidité Pump Swap."
|
|
}
|
|
],
|
|
"program_listeners": [
|
|
{
|
|
"name": "pump_fun_program_accounts",
|
|
"enabled": false,
|
|
"endpoint_role": "program_logs",
|
|
"program_id": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
|
|
"purpose": "Détecter les changements de comptes utiles à la création ou migration de tokens Pump Fun."
|
|
}
|
|
],
|
|
"account_listeners": []
|
|
}
|
|
},
|
|
"wallet": {
|
|
"wallet_dir": "wallets",
|
|
"cluster": "devnet",
|
|
"temporary_wallet_enabled": true,
|
|
"temporary_wallet_alias": "local-devnet-operator",
|
|
"temporary_wallet_persist": true,
|
|
"temporary_wallet_dir": "wallets/temporary/local_devnet"
|
|
},
|
|
"execution": {
|
|
"dry_run_default": true,
|
|
"require_simulation": true,
|
|
"require_operator_confirmation": true,
|
|
"localnet_max_spend_lamports": 0,
|
|
"devnet_max_spend_lamports": 100000000,
|
|
"testnet_max_spend_lamports": 0,
|
|
"mainnet_max_spend_lamports": 0,
|
|
"max_fee_lamports": 1000000,
|
|
"max_compute_unit_price_micro_lamports": 100000,
|
|
"recent_blockhash_max_age_slots": 150,
|
|
"send_max_retries": 3,
|
|
"confirmation_poll_interval_ms": 500,
|
|
"confirmation_max_attempts": 120,
|
|
"devnet_airdrop_max_lamports": 2000000000,
|
|
"localnet_send_enabled": false,
|
|
"devnet_send_enabled": true,
|
|
"testnet_send_enabled": false,
|
|
"mainnet_send_enabled": false
|
|
}
|
|
},
|
|
{
|
|
"name": "mainnet_research",
|
|
"database": {
|
|
"enabled": true,
|
|
"backend": "postgres",
|
|
"postgres": {
|
|
"url": "${KS_SECRET_POSTGRES_MAINNET_URL}",
|
|
"max_connections": 16,
|
|
"connect_timeout_ms": 5000,
|
|
"auto_initialize_schema": true
|
|
},
|
|
"sqlite": {
|
|
"path": "data/mainnet-import.sqlite",
|
|
"create_if_missing": true,
|
|
"busy_timeout_ms": 5000,
|
|
"max_connections": 1,
|
|
"auto_initialize_schema": true,
|
|
"use_wal": true
|
|
}
|
|
},
|
|
"solana": {
|
|
"http_endpoints": [
|
|
{
|
|
"name": "mainnet_public_http",
|
|
"enabled": true,
|
|
"provider": "solana-public",
|
|
"cluster": "mainnet-beta",
|
|
"url": "https://api.mainnet.solana.com",
|
|
"connect_timeout_ms": 4000,
|
|
"request_timeout_ms": 10000,
|
|
"max_idle_connections_per_host": 4,
|
|
"roles": [
|
|
{
|
|
"role": "http_queries",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"get_account_info",
|
|
"get_balance",
|
|
"get_block_commitment",
|
|
"get_block_height",
|
|
"get_block_production",
|
|
"get_blocks",
|
|
"get_blocks_with_limit",
|
|
"get_cluster_nodes",
|
|
"get_epoch_info",
|
|
"get_epoch_schedule",
|
|
"get_fee_for_message",
|
|
"get_first_available_block",
|
|
"get_genesis_hash",
|
|
"get_health",
|
|
"get_highest_snapshot_slot",
|
|
"get_identity",
|
|
"get_inflation_governor",
|
|
"get_inflation_rate",
|
|
"get_inflation_reward",
|
|
"get_largest_accounts",
|
|
"get_latest_blockhash",
|
|
"get_leader_schedule",
|
|
"get_max_retransmit_slot",
|
|
"get_max_shred_insert_slot",
|
|
"get_minimum_balance_for_rent_exemption",
|
|
"get_multiple_accounts",
|
|
"get_recent_performance_samples",
|
|
"get_recent_prioritization_fees",
|
|
"get_signature_statuses",
|
|
"get_slot",
|
|
"get_slot_leader",
|
|
"get_slot_leaders",
|
|
"get_stake_activation",
|
|
"get_stake_minimum_delegation",
|
|
"get_supply",
|
|
"get_token_account_balance",
|
|
"get_token_accounts_by_delegate",
|
|
"get_token_accounts_by_owner",
|
|
"get_token_largest_accounts",
|
|
"get_token_supply",
|
|
"get_transaction_count",
|
|
"get_version",
|
|
"get_vote_accounts",
|
|
"is_blockhash_valid",
|
|
"request_airdrop"
|
|
],
|
|
"priority": 50,
|
|
"requests_per_second": 4,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 3000
|
|
},
|
|
{
|
|
"role": "http_fallback",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"get_account_info",
|
|
"get_balance",
|
|
"get_block_commitment",
|
|
"get_block_height",
|
|
"get_block_production",
|
|
"get_blocks",
|
|
"get_blocks_with_limit",
|
|
"get_cluster_nodes",
|
|
"get_epoch_info",
|
|
"get_epoch_schedule",
|
|
"get_fee_for_message",
|
|
"get_first_available_block",
|
|
"get_genesis_hash",
|
|
"get_health",
|
|
"get_highest_snapshot_slot",
|
|
"get_identity",
|
|
"get_inflation_governor",
|
|
"get_inflation_rate",
|
|
"get_inflation_reward",
|
|
"get_largest_accounts",
|
|
"get_latest_blockhash",
|
|
"get_leader_schedule",
|
|
"get_max_retransmit_slot",
|
|
"get_max_shred_insert_slot",
|
|
"get_minimum_balance_for_rent_exemption",
|
|
"get_multiple_accounts",
|
|
"get_recent_performance_samples",
|
|
"get_recent_prioritization_fees",
|
|
"get_signature_statuses",
|
|
"get_slot",
|
|
"get_slot_leader",
|
|
"get_slot_leaders",
|
|
"get_stake_activation",
|
|
"get_stake_minimum_delegation",
|
|
"get_supply",
|
|
"get_token_account_balance",
|
|
"get_token_accounts_by_delegate",
|
|
"get_token_accounts_by_owner",
|
|
"get_token_largest_accounts",
|
|
"get_token_supply",
|
|
"get_transaction_count",
|
|
"get_version",
|
|
"get_vote_accounts",
|
|
"is_blockhash_valid",
|
|
"request_airdrop"
|
|
],
|
|
"priority": 90,
|
|
"requests_per_second": 4,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 3000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "helius_primary_http",
|
|
"enabled": true,
|
|
"provider": "helius",
|
|
"cluster": "mainnet-beta",
|
|
"url": "https://mainnet.helius-rpc.com/?api-key=${KS_SECRET_HELIUS_API_KEY}",
|
|
"connect_timeout_ms": 4000,
|
|
"request_timeout_ms": 10000,
|
|
"max_idle_connections_per_host": 8,
|
|
"roles": [
|
|
{
|
|
"role": "http_queries",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"get_account_info",
|
|
"get_balance",
|
|
"get_block_commitment",
|
|
"get_block_height",
|
|
"get_block_production",
|
|
"get_blocks",
|
|
"get_blocks_with_limit",
|
|
"get_cluster_nodes",
|
|
"get_epoch_info",
|
|
"get_epoch_schedule",
|
|
"get_fee_for_message",
|
|
"get_first_available_block",
|
|
"get_genesis_hash",
|
|
"get_health",
|
|
"get_highest_snapshot_slot",
|
|
"get_identity",
|
|
"get_inflation_governor",
|
|
"get_inflation_rate",
|
|
"get_inflation_reward",
|
|
"get_largest_accounts",
|
|
"get_latest_blockhash",
|
|
"get_leader_schedule",
|
|
"get_max_retransmit_slot",
|
|
"get_max_shred_insert_slot",
|
|
"get_minimum_balance_for_rent_exemption",
|
|
"get_multiple_accounts",
|
|
"get_recent_performance_samples",
|
|
"get_recent_prioritization_fees",
|
|
"get_signature_statuses",
|
|
"get_slot",
|
|
"get_slot_leader",
|
|
"get_slot_leaders",
|
|
"get_stake_activation",
|
|
"get_stake_minimum_delegation",
|
|
"get_supply",
|
|
"get_token_account_balance",
|
|
"get_token_accounts_by_delegate",
|
|
"get_token_accounts_by_owner",
|
|
"get_token_largest_accounts",
|
|
"get_token_supply",
|
|
"get_transaction_count",
|
|
"get_version",
|
|
"get_vote_accounts",
|
|
"is_blockhash_valid",
|
|
"request_airdrop"
|
|
],
|
|
"priority": 10,
|
|
"requests_per_second": 8,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 1500
|
|
},
|
|
{
|
|
"role": "http_heavy",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"get_block",
|
|
"get_program_accounts",
|
|
"get_signatures_for_address",
|
|
"get_transaction"
|
|
],
|
|
"priority": 20,
|
|
"requests_per_second": 2,
|
|
"burst_capacity": 1,
|
|
"max_concurrent_requests": 2,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 1500
|
|
},
|
|
{
|
|
"role": "history_backfill",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"get_block",
|
|
"get_program_accounts",
|
|
"get_signatures_for_address",
|
|
"get_transaction"
|
|
],
|
|
"priority": 30,
|
|
"requests_per_second": 4,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 1500
|
|
},
|
|
{
|
|
"role": "http_transactions",
|
|
"enabled": false,
|
|
"request_kinds": [
|
|
"simulate_transaction",
|
|
"send_transaction",
|
|
"get_signature_statuses"
|
|
],
|
|
"priority": 40,
|
|
"requests_per_second": 1,
|
|
"burst_capacity": 1,
|
|
"max_concurrent_requests": 1,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 3000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"ws_endpoints": [
|
|
{
|
|
"name": "mainnet_public_ws_slots",
|
|
"enabled": true,
|
|
"provider": "solana-public",
|
|
"cluster": "mainnet-beta",
|
|
"url": "wss://api.mainnet.solana.com",
|
|
"connect_timeout_ms": 5000,
|
|
"request_timeout_ms": 10000,
|
|
"unsubscribe_timeout_ms": 1500,
|
|
"write_channel_capacity": 256,
|
|
"event_channel_capacity": 1024,
|
|
"auto_reconnect": false,
|
|
"roles": [
|
|
{
|
|
"role": "slot_notifications",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"slot_subscribe",
|
|
"slots_updates_subscribe"
|
|
],
|
|
"priority": 10,
|
|
"requests_per_second": 4,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 16,
|
|
"pause_after_rate_limit_ms": 3000
|
|
},
|
|
{
|
|
"role": "root_notifications",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"root_subscribe"
|
|
],
|
|
"priority": 20,
|
|
"requests_per_second": 4,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 16,
|
|
"pause_after_rate_limit_ms": 3000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "helius_primary_ws_programs",
|
|
"enabled": true,
|
|
"provider": "helius",
|
|
"cluster": "mainnet-beta",
|
|
"url": "wss://mainnet.helius-rpc.com/?api-key=${KS_SECRET_HELIUS_API_KEY}",
|
|
"connect_timeout_ms": 5000,
|
|
"request_timeout_ms": 10000,
|
|
"unsubscribe_timeout_ms": 1500,
|
|
"write_channel_capacity": 512,
|
|
"event_channel_capacity": 4096,
|
|
"auto_reconnect": false,
|
|
"roles": [
|
|
{
|
|
"role": "logs_subscribe",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"logs_subscribe_mentions"
|
|
],
|
|
"priority": 10,
|
|
"requests_per_second": 2,
|
|
"burst_capacity": 4,
|
|
"max_concurrent_requests": 2,
|
|
"max_subscriptions": 128,
|
|
"pause_after_rate_limit_ms": 3000
|
|
},
|
|
{
|
|
"role": "program_subscribe",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"program_subscribe"
|
|
],
|
|
"priority": 20,
|
|
"requests_per_second": 2,
|
|
"burst_capacity": 4,
|
|
"max_concurrent_requests": 2,
|
|
"max_subscriptions": 128,
|
|
"pause_after_rate_limit_ms": 3000
|
|
},
|
|
{
|
|
"role": "account_subscribe",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"account_subscribe"
|
|
],
|
|
"priority": 30,
|
|
"requests_per_second": 2,
|
|
"burst_capacity": 4,
|
|
"max_concurrent_requests": 2,
|
|
"max_subscriptions": 128,
|
|
"pause_after_rate_limit_ms": 3000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"listeners": {
|
|
"enabled": true,
|
|
"default_commitment": "confirmed",
|
|
"log_listeners": [
|
|
{
|
|
"name": "pump_swap_logs",
|
|
"enabled": true,
|
|
"endpoint_role": "program_logs",
|
|
"program_id": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA",
|
|
"purpose": "Détecter les swaps, créations de pool et changements de liquidité Pump Swap."
|
|
},
|
|
{
|
|
"name": "raydium_cpmm_logs",
|
|
"enabled": true,
|
|
"endpoint_role": "program_logs",
|
|
"program_id": "CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C",
|
|
"purpose": "Détecter les créations de pools et swaps Raydium CPMM."
|
|
}
|
|
],
|
|
"program_listeners": [
|
|
{
|
|
"name": "pump_fun_program_accounts",
|
|
"enabled": true,
|
|
"endpoint_role": "program_logs",
|
|
"program_id": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
|
|
"purpose": "Détecter les changements de comptes utiles à la création ou migration de tokens Pump Fun."
|
|
}
|
|
],
|
|
"account_listeners": []
|
|
}
|
|
},
|
|
"wallet": {
|
|
"wallet_dir": "wallets",
|
|
"cluster": "mainnet-beta",
|
|
"temporary_wallet_enabled": false,
|
|
"temporary_wallet_alias": "mainnet_research-disabled",
|
|
"temporary_wallet_persist": false,
|
|
"temporary_wallet_dir": "wallets/temporary/mainnet_research"
|
|
},
|
|
"execution": {
|
|
"dry_run_default": true,
|
|
"require_simulation": true,
|
|
"require_operator_confirmation": true,
|
|
"localnet_max_spend_lamports": 0,
|
|
"devnet_max_spend_lamports": 0,
|
|
"testnet_max_spend_lamports": 0,
|
|
"mainnet_max_spend_lamports": 0,
|
|
"max_fee_lamports": 1000000,
|
|
"max_compute_unit_price_micro_lamports": 100000,
|
|
"recent_blockhash_max_age_slots": 150,
|
|
"send_max_retries": 3,
|
|
"confirmation_poll_interval_ms": 500,
|
|
"confirmation_max_attempts": 120,
|
|
"devnet_airdrop_max_lamports": 0,
|
|
"localnet_send_enabled": false,
|
|
"devnet_send_enabled": false,
|
|
"testnet_send_enabled": false,
|
|
"mainnet_send_enabled": false
|
|
}
|
|
},
|
|
{
|
|
"name": "mainnet",
|
|
"database": {
|
|
"enabled": true,
|
|
"backend": "postgres",
|
|
"postgres": {
|
|
"url": "${KS_SECRET_POSTGRES_MAINNET_URL}",
|
|
"max_connections": 16,
|
|
"connect_timeout_ms": 5000,
|
|
"auto_initialize_schema": true
|
|
},
|
|
"sqlite": {
|
|
"path": "data/mainnet.sqlite",
|
|
"create_if_missing": true,
|
|
"busy_timeout_ms": 5000,
|
|
"max_connections": 1,
|
|
"auto_initialize_schema": true,
|
|
"use_wal": true
|
|
}
|
|
},
|
|
"solana": {
|
|
"http_endpoints": [
|
|
{
|
|
"name": "mainnet_public_http",
|
|
"enabled": true,
|
|
"provider": "solana-public",
|
|
"cluster": "mainnet-beta",
|
|
"url": "https://api.mainnet.solana.com",
|
|
"connect_timeout_ms": 4000,
|
|
"request_timeout_ms": 10000,
|
|
"max_idle_connections_per_host": 4,
|
|
"roles": [
|
|
{
|
|
"role": "http_queries",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"get_account_info",
|
|
"get_balance",
|
|
"get_block_commitment",
|
|
"get_block_height",
|
|
"get_block_production",
|
|
"get_blocks",
|
|
"get_blocks_with_limit",
|
|
"get_cluster_nodes",
|
|
"get_epoch_info",
|
|
"get_epoch_schedule",
|
|
"get_fee_for_message",
|
|
"get_first_available_block",
|
|
"get_genesis_hash",
|
|
"get_health",
|
|
"get_highest_snapshot_slot",
|
|
"get_identity",
|
|
"get_inflation_governor",
|
|
"get_inflation_rate",
|
|
"get_inflation_reward",
|
|
"get_largest_accounts",
|
|
"get_latest_blockhash",
|
|
"get_leader_schedule",
|
|
"get_max_retransmit_slot",
|
|
"get_max_shred_insert_slot",
|
|
"get_minimum_balance_for_rent_exemption",
|
|
"get_multiple_accounts",
|
|
"get_recent_performance_samples",
|
|
"get_recent_prioritization_fees",
|
|
"get_signature_statuses",
|
|
"get_slot",
|
|
"get_slot_leader",
|
|
"get_slot_leaders",
|
|
"get_stake_activation",
|
|
"get_stake_minimum_delegation",
|
|
"get_supply",
|
|
"get_token_account_balance",
|
|
"get_token_accounts_by_delegate",
|
|
"get_token_accounts_by_owner",
|
|
"get_token_largest_accounts",
|
|
"get_token_supply",
|
|
"get_transaction_count",
|
|
"get_version",
|
|
"get_vote_accounts",
|
|
"is_blockhash_valid",
|
|
"request_airdrop"
|
|
],
|
|
"priority": 50,
|
|
"requests_per_second": 4,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 3000
|
|
},
|
|
{
|
|
"role": "http_fallback",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"get_account_info",
|
|
"get_balance",
|
|
"get_block_commitment",
|
|
"get_block_height",
|
|
"get_block_production",
|
|
"get_blocks",
|
|
"get_blocks_with_limit",
|
|
"get_cluster_nodes",
|
|
"get_epoch_info",
|
|
"get_epoch_schedule",
|
|
"get_fee_for_message",
|
|
"get_first_available_block",
|
|
"get_genesis_hash",
|
|
"get_health",
|
|
"get_highest_snapshot_slot",
|
|
"get_identity",
|
|
"get_inflation_governor",
|
|
"get_inflation_rate",
|
|
"get_inflation_reward",
|
|
"get_largest_accounts",
|
|
"get_latest_blockhash",
|
|
"get_leader_schedule",
|
|
"get_max_retransmit_slot",
|
|
"get_max_shred_insert_slot",
|
|
"get_minimum_balance_for_rent_exemption",
|
|
"get_multiple_accounts",
|
|
"get_recent_performance_samples",
|
|
"get_recent_prioritization_fees",
|
|
"get_signature_statuses",
|
|
"get_slot",
|
|
"get_slot_leader",
|
|
"get_slot_leaders",
|
|
"get_stake_activation",
|
|
"get_stake_minimum_delegation",
|
|
"get_supply",
|
|
"get_token_account_balance",
|
|
"get_token_accounts_by_delegate",
|
|
"get_token_accounts_by_owner",
|
|
"get_token_largest_accounts",
|
|
"get_token_supply",
|
|
"get_transaction_count",
|
|
"get_version",
|
|
"get_vote_accounts",
|
|
"is_blockhash_valid",
|
|
"request_airdrop"
|
|
],
|
|
"priority": 90,
|
|
"requests_per_second": 4,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 3000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "helius_primary_http",
|
|
"enabled": true,
|
|
"provider": "helius",
|
|
"cluster": "mainnet-beta",
|
|
"url": "https://mainnet.helius-rpc.com/?api-key=${KS_SECRET_HELIUS_API_KEY}",
|
|
"connect_timeout_ms": 4000,
|
|
"request_timeout_ms": 10000,
|
|
"max_idle_connections_per_host": 8,
|
|
"roles": [
|
|
{
|
|
"role": "http_queries",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"get_account_info",
|
|
"get_balance",
|
|
"get_block_commitment",
|
|
"get_block_height",
|
|
"get_block_production",
|
|
"get_blocks",
|
|
"get_blocks_with_limit",
|
|
"get_cluster_nodes",
|
|
"get_epoch_info",
|
|
"get_epoch_schedule",
|
|
"get_fee_for_message",
|
|
"get_first_available_block",
|
|
"get_genesis_hash",
|
|
"get_health",
|
|
"get_highest_snapshot_slot",
|
|
"get_identity",
|
|
"get_inflation_governor",
|
|
"get_inflation_rate",
|
|
"get_inflation_reward",
|
|
"get_largest_accounts",
|
|
"get_latest_blockhash",
|
|
"get_leader_schedule",
|
|
"get_max_retransmit_slot",
|
|
"get_max_shred_insert_slot",
|
|
"get_minimum_balance_for_rent_exemption",
|
|
"get_multiple_accounts",
|
|
"get_recent_performance_samples",
|
|
"get_recent_prioritization_fees",
|
|
"get_signature_statuses",
|
|
"get_slot",
|
|
"get_slot_leader",
|
|
"get_slot_leaders",
|
|
"get_stake_activation",
|
|
"get_stake_minimum_delegation",
|
|
"get_supply",
|
|
"get_token_account_balance",
|
|
"get_token_accounts_by_delegate",
|
|
"get_token_accounts_by_owner",
|
|
"get_token_largest_accounts",
|
|
"get_token_supply",
|
|
"get_transaction_count",
|
|
"get_version",
|
|
"get_vote_accounts",
|
|
"is_blockhash_valid",
|
|
"request_airdrop"
|
|
],
|
|
"priority": 10,
|
|
"requests_per_second": 8,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 1500
|
|
},
|
|
{
|
|
"role": "http_heavy",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"get_block",
|
|
"get_program_accounts",
|
|
"get_signatures_for_address",
|
|
"get_transaction"
|
|
],
|
|
"priority": 20,
|
|
"requests_per_second": 2,
|
|
"burst_capacity": 1,
|
|
"max_concurrent_requests": 2,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 1500
|
|
},
|
|
{
|
|
"role": "history_backfill",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"get_block",
|
|
"get_program_accounts",
|
|
"get_signatures_for_address",
|
|
"get_transaction"
|
|
],
|
|
"priority": 30,
|
|
"requests_per_second": 4,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 1500
|
|
},
|
|
{
|
|
"role": "http_transactions",
|
|
"enabled": false,
|
|
"request_kinds": [
|
|
"simulate_transaction",
|
|
"send_transaction",
|
|
"get_signature_statuses"
|
|
],
|
|
"priority": 40,
|
|
"requests_per_second": 1,
|
|
"burst_capacity": 1,
|
|
"max_concurrent_requests": 1,
|
|
"max_subscriptions": 0,
|
|
"pause_after_rate_limit_ms": 3000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"ws_endpoints": [
|
|
{
|
|
"name": "mainnet_public_ws_slots",
|
|
"enabled": true,
|
|
"provider": "solana-public",
|
|
"cluster": "mainnet-beta",
|
|
"url": "wss://api.mainnet.solana.com",
|
|
"connect_timeout_ms": 5000,
|
|
"request_timeout_ms": 10000,
|
|
"unsubscribe_timeout_ms": 1500,
|
|
"write_channel_capacity": 256,
|
|
"event_channel_capacity": 1024,
|
|
"auto_reconnect": false,
|
|
"roles": [
|
|
{
|
|
"role": "slot_notifications",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"slot_subscribe",
|
|
"slots_updates_subscribe"
|
|
],
|
|
"priority": 10,
|
|
"requests_per_second": 4,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 16,
|
|
"pause_after_rate_limit_ms": 3000
|
|
},
|
|
{
|
|
"role": "root_notifications",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"root_subscribe"
|
|
],
|
|
"priority": 20,
|
|
"requests_per_second": 4,
|
|
"burst_capacity": 8,
|
|
"max_concurrent_requests": 4,
|
|
"max_subscriptions": 16,
|
|
"pause_after_rate_limit_ms": 3000
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "helius_primary_ws_programs",
|
|
"enabled": true,
|
|
"provider": "helius",
|
|
"cluster": "mainnet-beta",
|
|
"url": "wss://mainnet.helius-rpc.com/?api-key=${KS_SECRET_HELIUS_API_KEY}",
|
|
"connect_timeout_ms": 5000,
|
|
"request_timeout_ms": 10000,
|
|
"unsubscribe_timeout_ms": 1500,
|
|
"write_channel_capacity": 512,
|
|
"event_channel_capacity": 4096,
|
|
"auto_reconnect": false,
|
|
"roles": [
|
|
{
|
|
"role": "logs_subscribe",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"logs_subscribe_mentions"
|
|
],
|
|
"priority": 10,
|
|
"requests_per_second": 2,
|
|
"burst_capacity": 4,
|
|
"max_concurrent_requests": 2,
|
|
"max_subscriptions": 128,
|
|
"pause_after_rate_limit_ms": 3000
|
|
},
|
|
{
|
|
"role": "program_subscribe",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"program_subscribe"
|
|
],
|
|
"priority": 20,
|
|
"requests_per_second": 2,
|
|
"burst_capacity": 4,
|
|
"max_concurrent_requests": 2,
|
|
"max_subscriptions": 128,
|
|
"pause_after_rate_limit_ms": 3000
|
|
},
|
|
{
|
|
"role": "account_subscribe",
|
|
"enabled": true,
|
|
"request_kinds": [
|
|
"account_subscribe"
|
|
],
|
|
"priority": 30,
|
|
"requests_per_second": 2,
|
|
"burst_capacity": 4,
|
|
"max_concurrent_requests": 2,
|
|
"max_subscriptions": 128,
|
|
"pause_after_rate_limit_ms": 3000
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"listeners": {
|
|
"enabled": true,
|
|
"default_commitment": "confirmed",
|
|
"log_listeners": [
|
|
{
|
|
"name": "pump_swap_logs",
|
|
"enabled": true,
|
|
"endpoint_role": "program_logs",
|
|
"program_id": "pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA",
|
|
"purpose": "Détecter les swaps, créations de pool et changements de liquidité Pump Swap."
|
|
},
|
|
{
|
|
"name": "raydium_cpmm_logs",
|
|
"enabled": true,
|
|
"endpoint_role": "program_logs",
|
|
"program_id": "CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C",
|
|
"purpose": "Détecter les créations de pools et swaps Raydium CPMM."
|
|
}
|
|
],
|
|
"program_listeners": [
|
|
{
|
|
"name": "pump_fun_program_accounts",
|
|
"enabled": true,
|
|
"endpoint_role": "program_logs",
|
|
"program_id": "6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P",
|
|
"purpose": "Détecter les changements de comptes utiles à la création ou migration de tokens Pump Fun."
|
|
}
|
|
],
|
|
"account_listeners": []
|
|
}
|
|
},
|
|
"wallet": {
|
|
"wallet_dir": "wallets",
|
|
"cluster": "mainnet-beta",
|
|
"temporary_wallet_enabled": false,
|
|
"temporary_wallet_alias": "mainnet-disabled",
|
|
"temporary_wallet_persist": false,
|
|
"temporary_wallet_dir": "wallets/temporary/mainnet"
|
|
},
|
|
"execution": {
|
|
"dry_run_default": true,
|
|
"require_simulation": true,
|
|
"require_operator_confirmation": true,
|
|
"localnet_max_spend_lamports": 0,
|
|
"devnet_max_spend_lamports": 0,
|
|
"testnet_max_spend_lamports": 0,
|
|
"mainnet_max_spend_lamports": 0,
|
|
"max_fee_lamports": 1000000,
|
|
"max_compute_unit_price_micro_lamports": 100000,
|
|
"recent_blockhash_max_age_slots": 150,
|
|
"send_max_retries": 3,
|
|
"confirmation_poll_interval_ms": 500,
|
|
"confirmation_max_attempts": 120,
|
|
"devnet_airdrop_max_lamports": 0,
|
|
"localnet_send_enabled": false,
|
|
"devnet_send_enabled": false,
|
|
"testnet_send_enabled": false,
|
|
"mainnet_send_enabled": false
|
|
}
|
|
}
|
|
]
|
|
}
|