{ "proposal": { "title": "Add Specs: StarkNet", "description": "Adding new specification support for relaying StarkNet data on Lava", "specs": [ { "index": "STRK", "name": "starknet mainnet", "enabled": true, "reliability_threshold": 268435455, "data_reliability_enabled": true, "block_distance_for_finalized_data": 1, "blocks_in_finalization_proof": 3, "average_block_time": 180000, "allowed_block_lag_for_qos_sync": 2, "shares": 1, "min_stake_provider": { "denom": "ulava", "amount": "47500000000" }, "api_collections": [ { "enabled": true, "collection_data": { "api_interface": "jsonrpc", "internal_path": "", "type": "POST", "add_on": "" }, "apis": [ { "name": "starknet_blockHashAndNumber", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_blockNumber", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_call", "block_parsing": { "parser_arg": [ "block_number", ":", "1" ], "parser_func": "PARSE_DICTIONARY_OR_ORDERED", "default_value": "latest" }, "compute_units": 10, "enabled": true, "category": { "deterministic": false, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_chainId", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_estimateFee", "block_parsing": { "parser_arg": [ "block_number", ":", "1" ], "parser_func": "PARSE_DICTIONARY_OR_ORDERED", "default_value": "latest" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getBlockTransactionCount", "block_parsing": { "parser_arg": [ "block_number", ":", "0" ], "parser_func": "PARSE_DICTIONARY_OR_ORDERED", "default_value": "latest" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getBlockWithTxHashes", "block_parsing": { "parser_arg": [ "block_number", ":", "0" ], "parser_func": "PARSE_DICTIONARY_OR_ORDERED", "default_value": "latest" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getBlockWithTxs", "block_parsing": { "parser_arg": [ "block_number", ":", "0" ], "parser_func": "PARSE_DICTIONARY_OR_ORDERED", "default_value": "latest" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getClass", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getClassAt", "block_parsing": { "parser_arg": [ "block_number", ":", "0" ], "parser_func": "PARSE_DICTIONARY_OR_ORDERED", "default_value": "latest" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getClassHashAt", "block_parsing": { "parser_arg": [ "block_number", ":", "0" ], "parser_func": "PARSE_DICTIONARY_OR_ORDERED", "default_value": "latest" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getEvents", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getNonce", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getStateUpdate", "block_parsing": { "parser_arg": [ "block_number", ":", "0" ], "parser_func": "PARSE_DICTIONARY_OR_ORDERED", "default_value": "latest" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getStorageAt", "block_parsing": { "parser_arg": [ "block_number", ":", "2" ], "parser_func": "PARSE_DICTIONARY_OR_ORDERED", "default_value": "latest" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getTransactionByBlockIdAndIndex", "block_parsing": { "parser_arg": [ "block_number", ":", "0" ], "parser_func": "PARSE_DICTIONARY_OR_ORDERED", "default_value": "latest" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getTransactionByHash", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getTransactionReceipt", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_pendingTransactions", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": false, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_syncing", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": false, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_addInvokeTransaction", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": false, "local": false, "subscription": false, "stateful": 1, "hanging_api": true }, "extra_compute_units": 0 }, { "name": "starknet_addDeclareTransaction", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": false, "local": false, "subscription": false, "stateful": 1, "hanging_api": true }, "extra_compute_units": 0 }, { "name": "starknet_addDeployAccountTransaction", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": false, "local": false, "subscription": false, "stateful": 1, "hanging_api": true }, "extra_compute_units": 0 }, { "name": "starknet_estimateMessageFee", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_specVersion", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_getTransactionStatus", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 10, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 } ], "headers": [], "inheritance_apis": [], "parse_directives": [ { "function_tag": "GET_BLOCK_BY_NUM", "function_template": "{\"jsonrpc\":\"2.0\",\"method\":\"starknet_getBlockWithTxHashes\",\"params\":[{\"block_number\":%d}],\"id\":1}", "result_parsing": { "parser_arg": [ "0", "block_hash" ], "parser_func": "PARSE_CANONICAL", "encoding": "base64" }, "api_name": "starknet_getBlockWithTxHashes" }, { "function_template": "{\"jsonrpc\":\"2.0\",\"method\":\"starknet_blockNumber\",\"params\":[],\"id\":1}", "function_tag": "GET_BLOCKNUM", "result_parsing": { "parser_arg": [ "0" ], "parser_func": "PARSE_BY_ARG" }, "api_name": "starknet_blockNumber" } ], "verifications": [ { "name": "chain-id", "parse_directive": { "function_template": "{\"jsonrpc\":\"2.0\",\"method\":\"starknet_chainId\",\"params\":[],\"id\":1}", "function_tag": "VERIFICATION", "result_parsing": { "parser_arg": [ "0" ], "parser_func": "PARSE_BY_ARG", "encoding": "hex" }, "api_name": "starknet_chainId" }, "values": [ { "expected_value": "0x534e5f4d41494e" } ] }, { "name": "pending-support", "parse_directive": { "function_template": "{\"jsonrpc\":\"2.0\",\"method\":\"starknet_getBlockWithTxs\",\"params\":[\"pending\"],\"id\":1}", "function_tag": "VERIFICATION", "result_parsing": { "parser_arg": [ "0", "parent_hash" ], "parser_func": "PARSE_CANONICAL" }, "api_name": "starknet_getBlockWithTxs" }, "values": [ { "expected_value": "*" } ] } ] }, { "enabled": true, "collection_data": { "api_interface": "jsonrpc", "internal_path": "/rpc/v0_5", "type": "POST", "add_on": "" }, "inheritance_apis": [ { "api_interface": "jsonrpc", "internal_path": "", "type": "POST", "add_on": "" } ] }, { "enabled": true, "collection_data": { "api_interface": "jsonrpc", "internal_path": "/rpc/v0_6", "type": "POST", "add_on": "" }, "inheritance_apis": [ { "api_interface": "jsonrpc", "internal_path": "", "type": "POST", "add_on": "" } ] }, { "enabled": true, "collection_data": { "api_interface": "jsonrpc", "internal_path": "", "type": "POST", "add_on": "trace" }, "apis": [ { "name": "starknet_traceTransaction", "block_parsing": { "parser_arg": [ "latest" ], "parser_func": "DEFAULT" }, "compute_units": 100, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_simulateTransactions", "block_parsing": { "parser_arg": [ "0" ], "parser_func": "PARSE_BY_ARG", "encoding": "base64" }, "compute_units": 100, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 }, { "name": "starknet_traceBlockTransactions", "block_parsing": { "parser_arg": [ "0" ], "parser_func": "PARSE_BY_ARG", "encoding": "base64" }, "compute_units": 1000, "timeout_ms": 20000, "enabled": true, "category": { "deterministic": true, "local": false, "subscription": false, "stateful": 0 }, "extra_compute_units": 0 } ], "verifications": [ { "name": "enabled", "parse_directive": { "function_template": "{\"jsonrpc\":\"2.0\",\"method\":\"starknet_traceBlockTransactions\",\"params\":[\"latest\"],\"id\":1}", "function_tag": "VERIFICATION", "result_parsing": { "parser_arg": [ "0" ], "parser_func": "PARSE_BY_ARG", "encoding": "base64" }, "api_name": "starknet_traceBlockTransactions" }, "values": [ { "expected_value": "*" } ] } ] } ] }, { "index": "STRKS", "name": "starknet sepolia testnet", "enabled": true, "imports": [ "STRK" ], "reliability_threshold": 268435455, "data_reliability_enabled": true, "block_distance_for_finalized_data": 1, "blocks_in_finalization_proof": 3, "average_block_time": 1800000, "allowed_block_lag_for_qos_sync": 1, "min_stake_provider": { "denom": "ulava", "amount": "47500000000" }, "api_collections": [ { "enabled": true, "collection_data": { "api_interface": "jsonrpc", "internal_path": "", "type": "POST", "add_on": "" }, "apis": [], "headers": [], "inheritance_apis": [], "parse_directives": [], "verifications": [ { "name": "chain-id", "values": [ { "expected_value": "0x534e5f5345504f4c4941" } ] } ] }, { "enabled": true, "collection_data": { "api_interface": "jsonrpc", "internal_path": "/rpc/v0_6", "type": "POST", "add_on": "" }, "apis": [], "headers": [], "inheritance_apis": [], "parse_directives": [], "verifications": [ { "name": "chain-id", "values": [ { "expected_value": "0x534e5f5345504f4c4941" } ] } ] }, { "enabled": true, "collection_data": { "api_interface": "jsonrpc", "internal_path": "/rpc/v0_5", "type": "POST", "add_on": "" }, "apis": [], "headers": [], "inheritance_apis": [], "parse_directives": [], "verifications": [ { "name": "chain-id", "values": [ { "expected_value": "0x534e5f5345504f4c4941" } ] } ] } ] } ] }, "deposit": "10000000ulava" }