From a54a0539a9f142c7bc9ca0ffc5ee9603ef61542b Mon Sep 17 00:00:00 2001 From: Luke Tchang Date: Thu, 8 Sep 2022 13:21:50 -0700 Subject: [PATCH] add finalized block header example --- avail-subxt/avail.dev.metadata.scale | Bin 0 -> 177564 bytes avail-subxt/examples/da_bridge_actor.rs | 48 ++++++++++++++++ avail-subxt/src/lib.rs | 70 +++++++++++++++++++++++- 3 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 avail-subxt/avail.dev.metadata.scale create mode 100644 avail-subxt/examples/da_bridge_actor.rs diff --git a/avail-subxt/avail.dev.metadata.scale b/avail-subxt/avail.dev.metadata.scale new file mode 100644 index 0000000000000000000000000000000000000000..dddab2f258cfcf49884bf6f3fa40bfc19397350c GIT binary patch literal 177564 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 literal 0 HcmV?d00001 diff --git a/avail-subxt/examples/da_bridge_actor.rs b/avail-subxt/examples/da_bridge_actor.rs new file mode 100644 index 000000000..dc76b4ffd --- /dev/null +++ b/avail-subxt/examples/da_bridge_actor.rs @@ -0,0 +1,48 @@ +use avail_subxt::*; +use sp_keyring::AccountKeyring; +use subxt::{ext::sp_core::H160, tx::PairSigner, OnlineClient}; + +const DESTINATION_DOMAIN: u32 = 1000; +const DA_BRIDGE_ROUTER_ADDRESS: &str = "0x42a8ea235a8edb8c64c22d8c0d181301e9cf5051"; + +#[async_std::main] +async fn main() -> Result<(), Box> { + let api = OnlineClient::::from_url("ws://127.0.0.1:9944").await?; + let signer = PairSigner::new(AccountKeyring::Alice.pair()); + + let mut finalized_blocks = api.rpc().subscribe_finalized_blocks().await?; + + while let Some(finalized_block) = finalized_blocks.next().await { + let header = finalized_block.unwrap(); + println!("Finalized block header: {:?}", &header); + + let bridge_router_eth_addr: H160 = DA_BRIDGE_ROUTER_ADDRESS.parse().unwrap(); + let tx = avail::tx().da_bridge().try_enqueue_extrinsics_root( + DESTINATION_DOMAIN, + bridge_router_eth_addr.into(), + header.into(), + ); + + println!("Sending finalized block header..."); + let h = api + .tx() + .sign_and_submit_then_watch(&tx, &signer, Default::default()) + .await + .unwrap() + .wait_for_finalized_success() + .await + .unwrap(); + + let submitted_block = api + .rpc() + .block(Some(h.block_hash())) + .await + .unwrap() + .unwrap(); + + let xts = submitted_block.block.extrinsics; + println!("Submitted block extrinsic: {xts:?}"); + } + + Ok(()) +} diff --git a/avail-subxt/src/lib.rs b/avail-subxt/src/lib.rs index a1ddc769f..46781fe0c 100644 --- a/avail-subxt/src/lib.rs +++ b/avail-subxt/src/lib.rs @@ -1,5 +1,15 @@ use std::fmt::Debug; +use avail::runtime_types::{ + da_primitives::{ + asdr::data_lookup::DataLookup as AvailDataLookup, header::Header as AvailHeader, + kate_commitment::KateCommitment as AvailKateCommitment, + }, + sp_runtime::{ + generic::digest::{Digest as AvailDigest, DigestItem as AvailDigestItem}, + traits::BlakeTwo256 as AvailBlakeTwo256, + }, +}; use codec::{Codec, Compact, Decode, Encode, EncodeLike, Error as DecodeError, Input}; use parity_util_mem::MallocSizeOf; use scale_info::TypeInfo; @@ -9,14 +19,14 @@ use subxt::{ sp_core::H256, sp_runtime::{ traits::{BlakeTwo256, Extrinsic, Hash, Header}, - AccountId32, Digest, MultiAddress, MultiSignature, + AccountId32, Digest, DigestItem, MultiAddress, MultiSignature, }, }, tx::{Era, ExtrinsicParams, PlainTip}, Config, }; -#[subxt::subxt(runtime_metadata_path = "avail.metadata.scale")] +#[subxt::subxt(runtime_metadata_path = "avail.dev.metadata.scale")] pub mod avail {} #[derive(Clone, Debug, Default)] @@ -258,6 +268,62 @@ pub struct DaHeader { pub app_data_lookup: DataLookup, } +// Type conversions for turning serializable Avail objects into avail +// config-specific types. +impl From for AvailHeader { + fn from(da_header: DaHeader) -> Self { + Self { + number: da_header.number, + state_root: da_header.state_root, + parent_hash: da_header.parent_hash, + digest: da_header.digest.into(), + extrinsics_root: da_header.extrinsics_root.into(), + app_data_lookup: da_header.app_data_lookup.into(), + __subxt_unused_type_params: Default::default(), + } + } +} + +impl From for AvailKateCommitment { + fn from(commitment: KateCommitment) -> Self { + Self { + hash: commitment.hash, + commitment: commitment.commitment, + rows: commitment.rows, + cols: commitment.cols, + } + } +} + +impl From for AvailDataLookup { + fn from(lookup: DataLookup) -> Self { + Self { + size: lookup.size, + index: lookup.index, + } + } +} + +impl From for AvailDigest { + fn from(digest: Digest) -> Self { + Self { + logs: digest.logs.into_iter().map(|l| l.into()).collect(), + } + } +} + +impl From for AvailDigestItem { + fn from(item: DigestItem) -> Self { + match item { + DigestItem::PreRuntime(id, vec) => Self::PreRuntime(id, vec), + DigestItem::Consensus(id, vec) => Self::Consensus(id, vec), + DigestItem::Seal(id, vec) => Self::Seal(id, vec), + DigestItem::Other(vec) => Self::Other(vec), + DigestItem::RuntimeEnvironmentUpdated => Self::RuntimeEnvironmentUpdated, + } + } +} + fn number_from_hex<'de, D>(deserializer: D) -> Result where D: Deserializer<'de>,