Skip to content

Commit

Permalink
Avail main compatibility update.
Browse files Browse the repository at this point in the history
  • Loading branch information
aterentic-ethernal committed Mar 13, 2024
1 parent a483816 commit 27a6773
Show file tree
Hide file tree
Showing 11 changed files with 1,274 additions and 1,234 deletions.
2,396 changes: 1,246 additions & 1,150 deletions Cargo.lock

Large diffs are not rendered by default.

15 changes: 7 additions & 8 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ bench = false
subxt = "0.29"

# Internal deps
avail-core = { version = "0.5", git = "https://github.com/availproject/avail-core", tag = "kate-recovery/v0.9.2" }
avail-subxt = { version = "0.4", git = "https://github.com/availproject/avail.git", branch = "goldberg" }
avail-core = { version = "0.5", git = "https://github.com/availproject/avail-core", branch = "main" }
avail-subxt = { version = "0.4", git = "https://github.com/availproject/avail.git", branch = "main" }
dusk-plonk = { git = "https://github.com/availproject/plonk.git", tag = "v0.12.0-polygon-2" }
kate-recovery = { version = "0.9", git = "https://github.com/availproject/avail-core", tag = "kate-recovery/v0.9.2" }
kate-recovery = { version = "0.9", git = "https://github.com/availproject/avail-core", branch = "main" }

# 3rd-party
async-std = { version = "1.12.0", features = ["attributes"] }
Expand Down Expand Up @@ -79,11 +79,10 @@ opentelemetry_sdk = { version = "0.20.0", features = ["metrics", "rt-tokio"] }

# Dependency `subxt` uses it's own 'version' of sp-core so we need to patch it :)
[patch.crates-io]
sp-core = { git = "https://github.com/availproject/substrate.git", branch = "goldberg" }
sp-io = { git = "https://github.com/availproject/substrate.git", branch = "goldberg" }
sp-runtime = { git = "https://github.com/availproject/substrate.git", branch = "goldberg" }
sp-std = { git = "https://github.com/availproject/substrate.git", branch = "goldberg" }
sp-core-hashing = { git = "https://github.com/availproject/substrate.git", branch = "goldberg" }
sp-core = { git = "https://github.com/availproject/polkadot-sdk.git", tag = "polkadot-1.7.1-patch" }
sp-io = { git = "https://github.com/availproject/polkadot-sdk.git", tag = "polkadot-1.7.1-patch" }
sp-runtime = { git = "https://github.com/availproject/polkadot-sdk.git", tag = "polkadot-1.7.1-patch" }
sp-std = { git = "https://github.com/availproject/polkadot-sdk.git", tag = "polkadot-1.7.1-patch" }

[features]
network-analysis = []
Expand Down
8 changes: 4 additions & 4 deletions src/api/v2/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -236,8 +236,8 @@ mod tests {
use avail_subxt::{
api::runtime_types::avail_core::{
data_lookup::compact::CompactDataLookup,
header::extension::{v2, HeaderExtension},
kate_commitment::v2::KateCommitment,
header::extension::{v3, HeaderExtension},
kate_commitment::v3::KateCommitment,
},
primitives::Header as DaHeader,
};
Expand Down Expand Up @@ -436,7 +436,7 @@ mod tests {
number: 1,
state_root: H256::default(),
extrinsics_root: H256::default(),
extension: HeaderExtension::V2(v2::HeaderExtension {
extension: HeaderExtension::V3(v3::HeaderExtension {
commitment: KateCommitment::default(),
app_lookup: CompactDataLookup {
size: 0,
Expand Down Expand Up @@ -467,7 +467,7 @@ mod tests {
.await;
assert_eq!(
response.body(),
r#"{"hash":"0xffb84ad27c9d095b0f4790bd168637a6891f962d5a738e2dc7fbdb7a482cce83","parent_hash":"0x0000000000000000000000000000000000000000000000000000000000000000","number":1,"state_root":"0x0000000000000000000000000000000000000000000000000000000000000000","extrinsics_root":"0x0000000000000000000000000000000000000000000000000000000000000000","extension":{"rows":0,"cols":0,"data_root":"0x0000000000000000000000000000000000000000000000000000000000000000","commitments":[],"app_lookup":{"size":0,"index":[]}}}"#
r#"{"hash":"0xb4ab92948e78b5e3115d2ce5ff2207e7d713a7fb33f4a9240e413c00954f244b","parent_hash":"0x0000000000000000000000000000000000000000000000000000000000000000","number":1,"state_root":"0x0000000000000000000000000000000000000000000000000000000000000000","extrinsics_root":"0x0000000000000000000000000000000000000000000000000000000000000000","extension":{"rows":0,"cols":0,"data_root":"0x0000000000000000000000000000000000000000000000000000000000000000","commitments":[],"app_lookup":{"size":0,"index":[]}}}"#
);
}

Expand Down
29 changes: 0 additions & 29 deletions src/api/v2/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -415,35 +415,6 @@ impl TryFrom<HeaderExtension> for Extension {

fn try_from(value: HeaderExtension) -> Result<Self, Self::Error> {
match value {
HeaderExtension::V1(v1) => {
let commitments = commitments::from_slice(&v1.commitment.commitment)?
.into_iter()
.map(Commitment)
.collect::<Vec<_>>();
Ok(Extension {
rows: v1.commitment.rows,
cols: v1.commitment.cols,
data_root: v1.commitment.data_root,
commitments,
app_lookup: v1.app_lookup,
})
},

HeaderExtension::V2(v2) => {
let commitments = commitments::from_slice(&v2.commitment.commitment)?
.into_iter()
.map(Commitment)
.collect::<Vec<_>>();

Ok(Extension {
rows: v2.commitment.rows,
cols: v2.commitment.cols,
data_root: v2.commitment.data_root,
commitments,
app_lookup: v2.app_lookup,
})
},

HeaderExtension::V3(v3) => {
let commitments = commitments::from_slice(&v3.commitment.commitment)?
.into_iter()
Expand Down
4 changes: 2 additions & 2 deletions src/consts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ pub const STATE_CF: &str = "avail_light_state_cf";

/// Expected network Node versions. First version should be the main supported version,
/// while all subsequent versions should be for backward compatibility/fallback/future-proofing versions.
pub const EXPECTED_SYSTEM_VERSION: &[&str] = &["1.10", "1.11"];
pub const EXPECTED_SPEC_NAME: &str = "data-avail";
pub const EXPECTED_SYSTEM_VERSION: &[&str] = &["2.0"];
pub const EXPECTED_SPEC_NAME: &str = "avail";

#[derive(Clone)]
pub struct ExpectedNodeVariant {
Expand Down
6 changes: 3 additions & 3 deletions src/fat_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -268,8 +268,8 @@ mod tests {
use avail_subxt::{
api::runtime_types::avail_core::{
data_lookup::compact::CompactDataLookup,
header::extension::{v1::HeaderExtension, HeaderExtension::V1},
kate_commitment::v1::KateCommitment,
header::extension::{v3::HeaderExtension, HeaderExtension::V3},
kate_commitment::v3::KateCommitment,
},
config::substrate::Digest,
};
Expand All @@ -287,7 +287,7 @@ mod tests {
)
.into(),
digest: Digest { logs: vec![] },
extension: V1(HeaderExtension {
extension: V3(HeaderExtension {
commitment: KateCommitment {
rows: 1,
cols: 4,
Expand Down
6 changes: 3 additions & 3 deletions src/light_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -285,8 +285,8 @@ mod tests {
use avail_subxt::{
api::runtime_types::avail_core::{
data_lookup::compact::CompactDataLookup,
header::extension::{v1::HeaderExtension, HeaderExtension::V1},
kate_commitment::v1::KateCommitment,
header::extension::{v3::HeaderExtension, HeaderExtension::V3},
kate_commitment::v3::KateCommitment,
},
config::substrate::Digest,
};
Expand Down Expand Up @@ -330,7 +330,7 @@ mod tests {
)
.into(),
digest: Digest { logs: vec![] },
extension: V1(HeaderExtension {
extension: V3(HeaderExtension {
commitment: KateCommitment {
rows: 1,
cols: 4,
Expand Down
6 changes: 4 additions & 2 deletions src/network/rpc/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,11 @@ impl Client {

if !expected_node.matches(&system_version, &runtime_version.spec_name) {
return Err(eyre!(
"Expected Node system version:{:?}, found: {}. Skipping to another node.",
"Expected Node system version:{:?}/{}, found: {}/{}. Skipping to another node.",
expected_node.system_version,
system_version.clone()
expected_node.spec_name,
system_version,
runtime_version.spec_name,
));
}

Expand Down
6 changes: 3 additions & 3 deletions src/sync_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -246,8 +246,8 @@ mod tests {
use avail_subxt::{
api::runtime_types::avail_core::{
data_lookup::compact::CompactDataLookup,
header::extension::{v1::HeaderExtension, HeaderExtension::V1},
kate_commitment::v1::KateCommitment,
header::extension::{v3::HeaderExtension, HeaderExtension::V3},
kate_commitment::v3::KateCommitment,
},
config::substrate::Digest,
};
Expand All @@ -267,7 +267,7 @@ mod tests {
)
.into(),
digest: Digest { logs: vec![] },
extension: V1(HeaderExtension {
extension: V3(HeaderExtension {
commitment: KateCommitment {
rows: 1,
cols: 4,
Expand Down
9 changes: 1 addition & 8 deletions src/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -811,7 +811,6 @@ impl Default for RuntimeConfig {
#[derive(Clone)]
pub enum Network {
Local,
Goldberg,
}

impl FromStr for Network {
Expand All @@ -820,8 +819,7 @@ impl FromStr for Network {
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
match s {
"local" => Ok(Network::Local),
"goldberg" => Ok(Network::Goldberg),
_ => Err("valid values are: local, biryani, goldberg".to_string()),
_ => Err("valid values are: local".to_string()),
}
}
}
Expand All @@ -830,35 +828,30 @@ impl Network {
fn peer_id(&self) -> &str {
match self {
Network::Local => "12D3KooWStAKPADXqJ7cngPYXd2mSANpdgh1xQ34aouufHA2xShz",
Network::Goldberg => "12D3KooWBkLsNGaD3SpMaRWtAmWVuiZg1afdNSPbtJ8M8r9ArGRT",
}
}

fn multiaddr(&self) -> &str {
match self {
Network::Local => "/ip4/127.0.0.1/tcp/39000",
Network::Goldberg => "/dns/bootnode.1.lightclient.goldberg.avail.tools/tcp/37000",
}
}

fn full_node_ws(&self) -> &str {
match self {
Network::Local => "ws://127.0.0.1:9944",
Network::Goldberg => "wss://goldberg.avail.tools:443/ws",
}
}

fn ot_collector_endpoint(&self) -> &str {
match self {
Network::Local => "http://127.0.0.1:4317",
Network::Goldberg => "http://otel.lightclient.goldberg.avail.tools:4317",
}
}

fn genesis_hash(&self) -> &str {
match self {
Network::Local => "DEV",
Network::Goldberg => "6f09966420b2608d1947ccfb0f2a362450d1fc7fd902c29b67c906eaa965a7ae",
}
}
}
Expand Down
23 changes: 1 addition & 22 deletions src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,7 @@ use avail_core::{
};
use avail_subxt::{
api::runtime_types::{
avail_core::{
header::extension::HeaderExtension,
header::extension::{v1, v2, v3},
},
avail_core::{header::extension::v3, header::extension::HeaderExtension},
da_control::pallet::Call,
da_runtime::RuntimeCall,
},
Expand Down Expand Up @@ -42,22 +39,6 @@ pub fn calculate_confidence(count: u32) -> f64 {
/// Extract fields from extension header
pub(crate) fn extract_kate(extension: &HeaderExtension) -> (u16, u16, H256, Vec<u8>) {
match &extension {
HeaderExtension::V1(v1::HeaderExtension {
commitment: kate, ..
}) => (
kate.rows,
kate.cols,
kate.data_root,
kate.commitment.clone(),
),
HeaderExtension::V2(v2::HeaderExtension {
commitment: kate, ..
}) => (
kate.rows,
kate.cols,
kate.data_root,
kate.commitment.clone(),
),
HeaderExtension::V3(v3::HeaderExtension {
commitment: kate, ..
}) => (
Expand All @@ -73,8 +54,6 @@ pub(crate) fn extract_app_lookup(
extension: &HeaderExtension,
) -> Result<DataLookup, DataLookupError> {
let compact = match &extension {
HeaderExtension::V1(v1::HeaderExtension { app_lookup, .. }) => app_lookup,
HeaderExtension::V2(v2::HeaderExtension { app_lookup, .. }) => app_lookup,
HeaderExtension::V3(v3::HeaderExtension { app_lookup, .. }) => app_lookup,
};

Expand Down

0 comments on commit 27a6773

Please sign in to comment.