From 227b903bcbc93f868ba4026540c819235ae2e30a Mon Sep 17 00:00:00 2001 From: Santiago Carmuega Date: Mon, 12 Jun 2023 02:31:39 +0200 Subject: [PATCH] feat(interop): add block mapping to u5c (#261) --- pallas-utxorpc/src/lib.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pallas-utxorpc/src/lib.rs b/pallas-utxorpc/src/lib.rs index 59652b5..ffd4e05 100644 --- a/pallas-utxorpc/src/lib.rs +++ b/pallas-utxorpc/src/lib.rs @@ -469,3 +469,22 @@ pub fn map_tx(tx: &trv::MultiEraTx) -> u5c::Tx { .into(), } } + +pub fn map_block(block: &trv::MultiEraBlock) -> u5c::Block { + u5c::Block { + header: u5c::BlockHeader { + slot: block.slot(), + hash: block.hash().to_vec().into(), + } + .into(), + body: u5c::BlockBody { + tx: block.txs().iter().map(map_tx).collect(), + } + .into(), + } +} + +pub fn map_block_cbor(raw: &[u8]) -> u5c::Block { + let block = trv::MultiEraBlock::decode(raw).unwrap(); + map_block(&block) +}