diff --git a/rpc_primitives/src/requests.rs b/rpc_primitives/src/requests.rs new file mode 100644 index 00000000..b5f0beb5 --- /dev/null +++ b/rpc_primitives/src/requests.rs @@ -0,0 +1,73 @@ +use crate::errors::RpcParseError; +use crate::parse_request; +use crate::parser::parse_params; +use crate::parser::RpcRequest; +use sequencer_core::transaction_mempool::TransactionMempool; +use serde::{Deserialize, Serialize}; +use serde_json::Value; +use storage::block::Block; + +#[derive(Serialize, Deserialize, Debug)] +pub struct HelloRequest {} + +#[derive(Serialize, Deserialize, Debug)] +pub struct RegisterAccountRequest { + pub nullifier_public_key: Vec, + pub viewing_public_key: Vec, + pub address: [u8; 32], +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct SendTxRequest { + pub transaction: TransactionMempool, + ///Nullifier Root, UTXO Commitment Root, Pub Tx Root + pub tx_roots: [[u8; 32]; 3], +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct GetBlockDataRequest { + pub block_id: u64, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct GetGenesisIdRequest {} + +#[derive(Serialize, Deserialize, Debug)] +pub struct GetLastBlockRequest {} + +parse_request!(HelloRequest); +parse_request!(RegisterAccountRequest); +parse_request!(SendTxRequest); +parse_request!(GetBlockDataRequest); +parse_request!(GetGenesisIdRequest); +parse_request!(GetLastBlockRequest); + +#[derive(Serialize, Deserialize, Debug)] +pub struct HelloResponse { + pub greeting: String, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct RegisterAccountResponse { + pub status: String, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct SendTxResponse { + pub status: String, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct GetBlockDataResponse { + pub block: Block, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct GetGenesisIdResponse { + pub genesis_id: u64, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct GetLastBlockResponse { + pub last_block: u64, +}