diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4dc4f6c..0f87f95 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -38,13 +38,16 @@ jobs: run: cargo run --package bbuilder run examples/input_ethereum.json --dry-run test-wasm-build: - name: Test WASM build + name: Test WASM build - ${{ matrix.catalog }} runs-on: ubuntu-latest + strategy: + matrix: + catalog: [catalog-berachain, catalog-ethereum, catalog-polygon] steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: toolchain: stable target: wasm32-unknown-unknown - - name: Build catalog for WASM - run: cargo build --target wasm32-unknown-unknown -p catalog + - name: Build ${{ matrix.catalog }} for WASM + run: cargo build --target wasm32-unknown-unknown -p ${{ matrix.catalog }} diff --git a/Cargo.lock b/Cargo.lock index 4aa2bb1..e9fd165 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1143,6 +1143,46 @@ dependencies = [ [[package]] name = "catalog" version = "0.1.0" +dependencies = [ + "catalog-berachain", + "catalog-ethereum", + "catalog-polygon", + "eyre", + "serde", + "spec", +] + +[[package]] +name = "catalog-berachain" +version = "0.1.0" +dependencies = [ + "askama", + "eyre", + "getrandom 0.2.16", + "serde", + "serde_json", + "spec", + "template", + "tinytemplate", +] + +[[package]] +name = "catalog-ethereum" +version = "0.1.0" +dependencies = [ + "askama", + "eyre", + "getrandom 0.2.16", + "serde", + "serde_json", + "spec", + "template", + "tinytemplate", +] + +[[package]] +name = "catalog-polygon" +version = "0.1.0" dependencies = [ "askama", "cosmos-keys", diff --git a/Cargo.toml b/Cargo.toml index 3e2d440..8ad6591 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,10 @@ members = [ "crates/babel-api", "crates/fetcher", "crates/fetcher-api", - "crates/cosmos-keys" + "crates/cosmos-keys", + "catalog/berachain", + "catalog/ethereum", + "catalog/polygon" ] [workspace.dependencies] @@ -22,6 +25,9 @@ template = { path = "crates/template" } babel-api = { path = "crates/babel-api" } fetcher-api = { path = "crates/fetcher-api" } cosmos-keys = { path = "crates/cosmos-keys" } +catalog-berachain = { path = "catalog/berachain" } +catalog-ethereum = { path = "catalog/ethereum" } +catalog-polygon = { path = "catalog/polygon" } serde = { version = "1.0", features = ["derive"] } serde_yaml = "0.9.34" @@ -33,7 +39,6 @@ async-trait = "0.1.89" serde_json = "1.0.145" include_dir = "0.7" tinytemplate = "1.2" -askama = "0.14.0" clap = { version = "4.5", features = ["derive"] } reqwest = { version = "0.12", default-features = false } jsonrpsee = { version = "0.24", features = ["server", "ws-client", "http-client", "macros"] } diff --git a/catalog/berachain/Cargo.toml b/catalog/berachain/Cargo.toml new file mode 100644 index 0000000..b6f6e07 --- /dev/null +++ b/catalog/berachain/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "catalog-berachain" +version = "0.1.0" +edition = "2024" + +[dependencies] +serde.workspace = true +spec.workspace = true +eyre.workspace = true +tinytemplate.workspace = true +serde_json.workspace = true +template.workspace = true +getrandom.workspace = true + +[lib] +path = "lib.rs" diff --git a/crates/catalog/src/berachain/config/app.toml b/catalog/berachain/config/app.toml similarity index 100% rename from crates/catalog/src/berachain/config/app.toml rename to catalog/berachain/config/app.toml diff --git a/crates/catalog/src/berachain/config/config.toml b/catalog/berachain/config/config.toml similarity index 100% rename from crates/catalog/src/berachain/config/config.toml rename to catalog/berachain/config/config.toml diff --git a/crates/catalog/src/berachain/config/networks/80069/el-bootnodes.txt b/catalog/berachain/config/networks/80069/el-bootnodes.txt similarity index 100% rename from crates/catalog/src/berachain/config/networks/80069/el-bootnodes.txt rename to catalog/berachain/config/networks/80069/el-bootnodes.txt diff --git a/crates/catalog/src/berachain/config/networks/80069/el-peers.txt b/catalog/berachain/config/networks/80069/el-peers.txt similarity index 100% rename from crates/catalog/src/berachain/config/networks/80069/el-peers.txt rename to catalog/berachain/config/networks/80069/el-peers.txt diff --git a/crates/catalog/src/berachain/config/networks/80094/el-bootnodes.txt b/catalog/berachain/config/networks/80094/el-bootnodes.txt similarity index 100% rename from crates/catalog/src/berachain/config/networks/80094/el-bootnodes.txt rename to catalog/berachain/config/networks/80094/el-bootnodes.txt diff --git a/crates/catalog/src/berachain/config/networks/80094/el-peers.txt b/catalog/berachain/config/networks/80094/el-peers.txt similarity index 100% rename from crates/catalog/src/berachain/config/networks/80094/el-peers.txt rename to catalog/berachain/config/networks/80094/el-peers.txt diff --git a/crates/catalog/src/berachain/mod.rs b/catalog/berachain/lib.rs similarity index 100% rename from crates/catalog/src/berachain/mod.rs rename to catalog/berachain/lib.rs diff --git a/catalog/ethereum/Cargo.toml b/catalog/ethereum/Cargo.toml new file mode 100644 index 0000000..eb18711 --- /dev/null +++ b/catalog/ethereum/Cargo.toml @@ -0,0 +1,16 @@ +[package] +name = "catalog-ethereum" +version = "0.1.0" +edition = "2024" + +[dependencies] +serde.workspace = true +spec.workspace = true +eyre.workspace = true +tinytemplate.workspace = true +serde_json.workspace = true +template.workspace = true +getrandom.workspace = true + +[lib] +path = "lib.rs" diff --git a/crates/catalog/src/ethereum/mod.rs b/catalog/ethereum/lib.rs similarity index 100% rename from crates/catalog/src/ethereum/mod.rs rename to catalog/ethereum/lib.rs diff --git a/catalog/polygon/Cargo.toml b/catalog/polygon/Cargo.toml new file mode 100644 index 0000000..67c842a --- /dev/null +++ b/catalog/polygon/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "catalog-polygon" +version = "0.1.0" +edition = "2024" + +[dependencies] +serde.workspace = true +spec.workspace = true +eyre.workspace = true +tinytemplate.workspace = true +serde_json.workspace = true +template.workspace = true +cosmos-keys.workspace = true +getrandom.workspace = true + +[lib] +path = "lib.rs" diff --git a/crates/catalog/src/polygon/bor/config.toml b/catalog/polygon/bor/config.toml similarity index 100% rename from crates/catalog/src/polygon/bor/config.toml rename to catalog/polygon/bor/config.toml diff --git a/crates/catalog/src/polygon/heimdall/app.toml b/catalog/polygon/heimdall/app.toml similarity index 100% rename from crates/catalog/src/polygon/heimdall/app.toml rename to catalog/polygon/heimdall/app.toml diff --git a/crates/catalog/src/polygon/heimdall/client.toml b/catalog/polygon/heimdall/client.toml similarity index 100% rename from crates/catalog/src/polygon/heimdall/client.toml rename to catalog/polygon/heimdall/client.toml diff --git a/crates/catalog/src/polygon/heimdall/config.toml b/catalog/polygon/heimdall/config.toml similarity index 100% rename from crates/catalog/src/polygon/heimdall/config.toml rename to catalog/polygon/heimdall/config.toml diff --git a/crates/catalog/src/polygon/mod.rs b/catalog/polygon/lib.rs similarity index 100% rename from crates/catalog/src/polygon/mod.rs rename to catalog/polygon/lib.rs diff --git a/crates/catalog/Cargo.toml b/crates/catalog/Cargo.toml index dc4db52..c62f729 100644 --- a/crates/catalog/Cargo.toml +++ b/crates/catalog/Cargo.toml @@ -7,9 +7,6 @@ edition = "2024" serde.workspace = true spec.workspace = true eyre.workspace = true -tinytemplate.workspace = true -serde_json.workspace = true -askama.workspace = true -template.workspace = true -cosmos-keys.workspace = true -getrandom.workspace = true +catalog-berachain.workspace = true +catalog-ethereum.workspace = true +catalog-polygon.workspace = true diff --git a/crates/catalog/src/lib.rs b/crates/catalog/src/lib.rs index 00a1588..3dc5b40 100644 --- a/crates/catalog/src/lib.rs +++ b/crates/catalog/src/lib.rs @@ -1,12 +1,8 @@ use spec::{Dep, Deployment, Manifest}; -mod berachain; -mod ethereum; -mod polygon; - -pub use berachain::BerachainDeployment; -pub use ethereum::EthereumDeployment; -pub use polygon::PolygonDeployment; +pub use catalog_berachain::BerachainDeployment; +pub use catalog_ethereum::EthereumDeployment; +pub use catalog_polygon::PolygonDeployment; pub fn apply(dep: Dep) -> eyre::Result { match dep.module.as_str() {