rosetta_config_astar/
lib.rs

1use anyhow::Result;
2use rosetta_core::crypto::address::AddressFormat;
3use rosetta_core::crypto::Algorithm;
4use rosetta_core::BlockchainConfig;
5use std::sync::Arc;
6
7pub fn config(network: &str) -> Result<BlockchainConfig> {
8    anyhow::ensure!(network == "dev");
9    Ok(BlockchainConfig {
10        blockchain: "astar",
11        network: "dev",
12        algorithm: Algorithm::EcdsaRecoverableSecp256k1,
13        address_format: AddressFormat::Eip55,
14        coin: 1,
15        bip44: true,
16        utxo: false,
17        currency_unit: "planck",
18        currency_symbol: "ASTR",
19        currency_decimals: 18,
20        node_port: 9944,
21        node_image: "staketechnologies/astar-collator:latest",
22        node_command: Arc::new(|network, port| {
23            vec![
24                "astar-collator".into(),
25                format!("--chain={network}"),
26                "--rpc-cors=all".into(),
27                "--ws-external".into(),
28                format!("--ws-port={port}"),
29                "--alice".into(),
30                "--tmp".into(),
31                "--enable-evm-rpc".into(),
32            ]
33        }),
34        node_additional_ports: &[],
35        connector_port: 8083,
36        testnet: network == "dev",
37    })
38}