Feature request
Currently jam_getBlock returns only counts for the three extrinsic categories:
{
"timeslot": 878,
"guarantees_count": 3,
"tickets_count": 3,
"assurances_count": 0
}
To display meaningful block detail in a block explorer it would be very useful to have a method that returns the full content of each extrinsic.
Proposed method
jam_getBlockExtrinsics(blockHash: string)
Suggested response shape:
{
"tickets": [
{ "attempt": 0, "id": "0x..." }
],
"guarantees": [
{
"core_index": 0,
"package_hash": "0x...",
"erasure_root": "0x...",
"exports_root": "0x...",
"auth_output": "0x...",
"gas_used": 12345,
"results": [
{
"service_id": 0,
"code_hash": "0x...",
"payload_hash": "0x...",
"accumulate_gas": 1000,
"gas_used": 800,
"result": "ok | out-of-gas | panic | bad-exports | bad-code | code-oversize"
}
]
}
],
"assurances": [
{ "anchor": "0x...", "validator_index": 0 }
]
}
Context
This is needed for JarScan, a block explorer for JAR chain that connects directly to a Grey node via WebSocket JSON-RPC. The data is already in the store — it just needs to be surfaced through the RPC layer.
Feature request
Currently
jam_getBlockreturns only counts for the three extrinsic categories:{ "timeslot": 878, "guarantees_count": 3, "tickets_count": 3, "assurances_count": 0 }To display meaningful block detail in a block explorer it would be very useful to have a method that returns the full content of each extrinsic.
Proposed method
Suggested response shape:
{ "tickets": [ { "attempt": 0, "id": "0x..." } ], "guarantees": [ { "core_index": 0, "package_hash": "0x...", "erasure_root": "0x...", "exports_root": "0x...", "auth_output": "0x...", "gas_used": 12345, "results": [ { "service_id": 0, "code_hash": "0x...", "payload_hash": "0x...", "accumulate_gas": 1000, "gas_used": 800, "result": "ok | out-of-gas | panic | bad-exports | bad-code | code-oversize" } ] } ], "assurances": [ { "anchor": "0x...", "validator_index": 0 } ] }Context
This is needed for JarScan, a block explorer for JAR chain that connects directly to a Grey node via WebSocket JSON-RPC. The data is already in the store — it just needs to be surfaced through the RPC layer.