From 1b22fcaba5da69b550d25d448b90bdcb9b066033 Mon Sep 17 00:00:00 2001 From: Santiago Carmuega Date: Sun, 11 Jun 2023 21:31:12 -0300 Subject: [PATCH] feat(interop): add block mapping to u5c --- 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 59652b58..ffd4e05a 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) +}