Implement BeaconChainState RPC method
This commit is contained in:
parent
fd04431d54
commit
ae1a7a2a25
@ -9,6 +9,7 @@ pub enum RPCMethod {
|
|||||||
BeaconBlockRoots,
|
BeaconBlockRoots,
|
||||||
BeaconBlockHeaders,
|
BeaconBlockHeaders,
|
||||||
BeaconBlockBodies,
|
BeaconBlockBodies,
|
||||||
|
BeaconChainState, // Note: experimental, not complete.
|
||||||
Unknown,
|
Unknown,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -20,6 +21,8 @@ impl From<u16> for RPCMethod {
|
|||||||
10 => RPCMethod::BeaconBlockRoots,
|
10 => RPCMethod::BeaconBlockRoots,
|
||||||
11 => RPCMethod::BeaconBlockHeaders,
|
11 => RPCMethod::BeaconBlockHeaders,
|
||||||
12 => RPCMethod::BeaconBlockBodies,
|
12 => RPCMethod::BeaconBlockBodies,
|
||||||
|
13 => RPCMethod::BeaconChainState,
|
||||||
|
|
||||||
_ => RPCMethod::Unknown,
|
_ => RPCMethod::Unknown,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -33,6 +36,7 @@ impl Into<u16> for RPCMethod {
|
|||||||
RPCMethod::BeaconBlockRoots => 10,
|
RPCMethod::BeaconBlockRoots => 10,
|
||||||
RPCMethod::BeaconBlockHeaders => 11,
|
RPCMethod::BeaconBlockHeaders => 11,
|
||||||
RPCMethod::BeaconBlockBodies => 12,
|
RPCMethod::BeaconBlockBodies => 12,
|
||||||
|
RPCMethod::BeaconChainState => 13,
|
||||||
_ => 0,
|
_ => 0,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -45,6 +49,7 @@ pub enum RPCRequest {
|
|||||||
BeaconBlockRoots(BeaconBlockRootsRequest),
|
BeaconBlockRoots(BeaconBlockRootsRequest),
|
||||||
BeaconBlockHeaders(BeaconBlockHeadersRequest),
|
BeaconBlockHeaders(BeaconBlockHeadersRequest),
|
||||||
BeaconBlockBodies(BeaconBlockBodiesRequest),
|
BeaconBlockBodies(BeaconBlockBodiesRequest),
|
||||||
|
BeaconChainState(BeaconChainStateRequest),
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
@ -53,6 +58,7 @@ pub enum RPCResponse {
|
|||||||
BeaconBlockRoots(BeaconBlockRootsResponse),
|
BeaconBlockRoots(BeaconBlockRootsResponse),
|
||||||
BeaconBlockHeaders(BeaconBlockHeadersResponse),
|
BeaconBlockHeaders(BeaconBlockHeadersResponse),
|
||||||
BeaconBlockBodies(BeaconBlockBodiesResponse),
|
BeaconBlockBodies(BeaconBlockBodiesResponse),
|
||||||
|
BeaconChainState(BeaconChainStateResponse),
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Request/Response data structures for RPC methods */
|
/* Request/Response data structures for RPC methods */
|
||||||
@ -130,3 +136,18 @@ pub struct BeaconBlockBodiesResponse {
|
|||||||
/// The list of beacon block bodies being requested.
|
/// The list of beacon block bodies being requested.
|
||||||
block_bodies: Vec<BeaconBlockBody>,
|
block_bodies: Vec<BeaconBlockBody>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Request values for tree hashes which yield a blocks `state_root`.
|
||||||
|
#[derive(Encode, Decode, Clone, Debug)]
|
||||||
|
pub struct BeaconChainStateRequest {
|
||||||
|
/// The tree hashes that a value is requested for.
|
||||||
|
hashes: Vec<Hash256>,
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Request values for tree hashes which yield a blocks `state_root`.
|
||||||
|
// Note: TBD
|
||||||
|
#[derive(Encode, Decode, Clone, Debug)]
|
||||||
|
pub struct BeaconChainStateResponse {
|
||||||
|
/// The values corresponding the to the requested tree hashes.
|
||||||
|
values: bool, //TBD - stubbed with encodeable bool
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user