Skip to content

Commit

Permalink
Merge pull request #476 from gregdhill/chore/rm-testnet-cfg
Browse files Browse the repository at this point in the history
chore: remove separate testnet metadata / config
  • Loading branch information
sander2 authored Jul 12, 2023
2 parents e9b71cd + 8322b5d commit 5cba40b
Show file tree
Hide file tree
Showing 25 changed files with 178 additions and 396 deletions.
8 changes: 2 additions & 6 deletions .github/workflows/cargo-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ jobs:
metadata:
- parachain-metadata-interlay
- parachain-metadata-kintsugi
- parachain-metadata-interlay-testnet
- parachain-metadata-kintsugi-testnet

steps:
- uses: actions/checkout@v3
Expand All @@ -51,7 +49,7 @@ jobs:
run: |
cargo check --release --workspace --features ${{ matrix.metadata }}
- name: test
if: matrix.metadata == 'parachain-metadata-kintsugi-testnet'
if: matrix.metadata == 'parachain-metadata-kintsugi'
env:
RUST_LOG: info,regalloc=warn
BITCOIN_RPC_URL: http://127.0.0.1:18443
Expand Down Expand Up @@ -83,7 +81,7 @@ jobs:
path: target/release/faucet
retention-days: 10
- name: upload artifacts - runner
if: matrix.metadata == 'parachain-metadata-kintsugi-testnet'
if: matrix.metadata == 'parachain-metadata-kintsugi'
uses: actions/upload-artifact@v3
with:
name: runner
Expand All @@ -101,8 +99,6 @@ jobs:
metadata:
- parachain-metadata-interlay
- parachain-metadata-kintsugi
- parachain-metadata-interlay-testnet
- parachain-metadata-kintsugi-testnet
steps:
- uses: actions/checkout@v3
- name: Prepare
Expand Down
338 changes: 58 additions & 280 deletions Cargo.lock

Large diffs are not rendered by default.

7 changes: 2 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,13 +69,10 @@ curl -sX POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","meth
To build, one of the following mutually-exclusive features must be specified:
- parachain-metadata-interlay
- parachain-metadata-kintsugi
- parachain-metadata-interlay-testnet
- parachain-metadata-kintsugi-testnet
- standalone-metadata

The default command for building the clients, assuming a standalone chain, is:
The default command for building the clients, assuming a Kintsugi chain, is:
```shell
cargo run --features=standalone-metadata --bin runner -- --parachain-ws 'ws://localhost:9944' --vault-config-file args.txt
cargo run --features=parachain-metadata-kintsugi --bin runner -- --parachain-ws 'ws://localhost:9944' --vault-config-file args.txt
```

<p align="center">
Expand Down
2 changes: 0 additions & 2 deletions faucet/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ path = "src/lib.rs"
[features]
parachain-metadata-interlay = ["runtime/parachain-metadata-interlay"]
parachain-metadata-kintsugi = ["runtime/parachain-metadata-kintsugi"]
parachain-metadata-interlay-testnet = ["runtime/parachain-metadata-interlay-testnet"]
parachain-metadata-kintsugi-testnet = ["runtime/parachain-metadata-kintsugi-testnet"]

[dependencies]
log = "0.4.6"
Expand Down
30 changes: 27 additions & 3 deletions faucet/src/http.rs
Original file line number Diff line number Diff line change
Expand Up @@ -365,14 +365,14 @@ pub async fn start_http(
close_handle
}

#[cfg(all(test, feature = "parachain-metadata-kintsugi-testnet"))]
#[cfg(all(test, feature = "parachain-metadata-kintsugi"))]
mod tests {
use crate::{error::Error, Allowance, AllowanceAmount, AllowanceConfig};
use futures::{future::join_all, TryFutureExt};
use runtime::{
CurrencyId::{self},
Error as RuntimeError, InterBtcParachain, OracleKey, RuntimeCurrencyInfo, Token, TryFromSymbol, VaultId, KBTC,
KINT, KSM,
Error as RuntimeError, InterBtcParachain, OracleKey, RuntimeCurrencyInfo, SudoPallet, Token, TryFromSymbol,
VaultId, KBTC, KINT, KSM,
};
use std::sync::Arc;

Expand Down Expand Up @@ -408,6 +408,24 @@ mod tests {
}
}

async fn endow_accounts(client: SubxtClient) {
let provider = setup_provider(client, AccountKeyring::Alice).await;
provider
.set_balances(
vec![AccountKeyring::Alice, AccountKeyring::Bob]
.into_iter()
.map(|keyring| keyring.to_account_id())
.flat_map(|account_id| {
vec![DEFAULT_TESTING_CURRENCY, DEFAULT_GOVERNANCE_CURRENCY]
.into_iter()
.map(move |currency_id| (account_id.clone(), 1 << 60, 0, currency_id))
})
.collect(),
)
.await
.expect("Should endow accounts")
}

async fn set_exchange_rate(client: SubxtClient) {
let oracle_provider = setup_provider(client, AccountKeyring::Bob).await;
let dot_key = OracleKey::ExchangeRate(DEFAULT_TESTING_CURRENCY);
Expand Down Expand Up @@ -475,6 +493,7 @@ mod tests {
set_concurrency_limit(999);
let (client, tmp_dir) = default_provider_client(AccountKeyring::Alice).await;
set_exchange_rate(client.clone()).await;
endow_accounts(client.clone()).await;

let bob_account_id: AccountId = [3; 32].into();
let user_allowance: Allowance = vec![
Expand Down Expand Up @@ -512,6 +531,7 @@ mod tests {
set_concurrency_limit(999);
let (client, tmp_dir) = default_provider_client(AccountKeyring::Alice).await;
set_exchange_rate(client.clone()).await;
endow_accounts(client.clone()).await;

// Bob's account is prefunded with lots of DOT
let bob_account_id: AccountId = AccountKeyring::Bob.to_account_id();
Expand Down Expand Up @@ -546,6 +566,7 @@ mod tests {
set_concurrency_limit(999);
let (client, tmp_dir) = default_provider_client(AccountKeyring::Alice).await;
set_exchange_rate(client.clone()).await;
endow_accounts(client.clone()).await;

let bob_account_id = AccountKeyring::Bob.to_account_id();
let bob_vault_id = VaultId::new(
Expand Down Expand Up @@ -606,6 +627,7 @@ mod tests {
set_concurrency_limit(999);
let (client, tmp_dir) = default_provider_client(AccountKeyring::Alice).await;
set_exchange_rate(client.clone()).await;
endow_accounts(client.clone()).await;

let bob_account_id: AccountId = [3; 32].into();
let user_allowance: Allowance = vec![
Expand Down Expand Up @@ -648,6 +670,7 @@ mod tests {
set_concurrency_limit(999);
let (client, tmp_dir) = default_provider_client(AccountKeyring::Alice).await;
set_exchange_rate(client.clone()).await;
endow_accounts(client.clone()).await;

let store = Store::new(Config::new(tmp_dir.path().join("kv4"))).expect("Unable to open kv store");
let kv = open_kv_store(store.clone()).unwrap();
Expand Down Expand Up @@ -704,6 +727,7 @@ mod tests {
set_concurrency_limit(999);
let (client, tmp_dir) = default_provider_client(AccountKeyring::Alice).await;
set_exchange_rate(client.clone()).await;
endow_accounts(client.clone()).await;

let bob_account_id: AccountId = AccountKeyring::Bob.to_account_id();
let bob_vault_id = VaultId::new(
Expand Down
2 changes: 0 additions & 2 deletions oracle/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ description = "Liveness service to update the exchange rate periodically."
[features]
parachain-metadata-interlay = ["runtime/parachain-metadata-interlay"]
parachain-metadata-kintsugi = ["runtime/parachain-metadata-kintsugi"]
parachain-metadata-interlay-testnet = ["runtime/parachain-metadata-interlay-testnet"]
parachain-metadata-kintsugi-testnet = ["runtime/parachain-metadata-kintsugi-testnet"]

[dependencies]
log = "0.4.0"
Expand Down
14 changes: 7 additions & 7 deletions runner/src/runner.rs
Original file line number Diff line number Diff line change
Expand Up @@ -674,19 +674,19 @@ mod tests {
async fn test_runner_download_binary() {
let mut runner = MockRunner::default();
let tmp = TempDir::new("runner-tests").expect("failed to create tempdir");
let mock_path = tmp.path().clone().join("vault-standalone-metadata");
let moved_mock_path = tmp.path().clone().join("vault-standalone-metadata");
let mock_bin_name = "vault-standalone-metadata".to_string();
let mock_path = tmp.path().clone().join("vault-parachain-metadata-kintsugi");
let moved_mock_path = tmp.path().clone().join("vault-parachain-metadata-kintsugi");
let mock_bin_name = "vault-parachain-metadata-kintsugi".to_string();

let client_release = ClientRelease {
uri: "https://github.com/interlay/interbtc-clients/releases/download/1.15.0/vault-standalone-metadata"
uri: "https://github.com/interlay/interbtc-clients/releases/download/1.15.0/vault-parachain-metadata-kintsugi"
.to_string(),
checksum: H256::default(),
};

runner
.expect_get_bin_path()
.returning(move |_| Ok(("vault-standalone-metadata".to_string(), moved_mock_path.clone())));
.returning(move |_| Ok(("vault-parachain-metadata-kintsugi".to_string(), moved_mock_path.clone())));
runner
.expect_get_request_bytes()
.returning(|_| Ok(Bytes::from_static(&[1, 2, 3, 4])));
Expand Down Expand Up @@ -756,10 +756,10 @@ mod tests {
runner.expect_client_type().return_const(client.clone());
let (bin_name, bin_path) = Runner::get_bin_path(
&runner,
"https://github.com/interlay/interbtc-clients/releases/download/1.17.2/vault-standalone-metadata",
"https://github.com/interlay/interbtc-clients/releases/download/1.17.2/vault-parachain-metadata-kintsugi",
)
.unwrap();
assert_eq!(bin_name, "vault-standalone-metadata");
assert_eq!(bin_name, "vault-parachain-metadata-kintsugi");
assert_eq!(bin_path, mock_path.join(bin_name));
}
}
Expand Down
14 changes: 6 additions & 8 deletions runtime/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ testing-utils = [
]
parachain-metadata-interlay = []
parachain-metadata-kintsugi = []
parachain-metadata-interlay-testnet = []
parachain-metadata-kintsugi-testnet = []

[dependencies]
serde = { version = "1.0.136", features = ["derive"] }
Expand Down Expand Up @@ -50,28 +48,28 @@ bitcoin = { path = "../bitcoin" }

# Dependencies for the testing utils for integration tests
tempdir = { version = "0.3.7", optional = true }
interbtc = { package = "interbtc-parachain", git = "https://github.com/interlay/interbtc", rev = "7a2f5ee35d93feb0529a308fe87b42674bfca8e9", optional = true }
interbtc-runtime = { package = "testnet-kintsugi-runtime-parachain", git = "https://github.com/interlay/interbtc", rev = "7a2f5ee35d93feb0529a308fe87b42674bfca8e9", optional = true }
interbtc = { package = "interbtc-parachain", git = "https://github.com/interlay/interbtc", rev = "dad0db930dce16070e921c1d9f05b5244be6a995", optional = true }
interbtc-runtime = { package = "kintsugi-runtime-parachain", git = "https://github.com/interlay/interbtc", rev = "dad0db930dce16070e921c1d9f05b5244be6a995", optional = true }
rand = { version = "0.7", optional = true }

[dependencies.primitives]
git = "https://github.com/interlay/interbtc"
rev = "7a2f5ee35d93feb0529a308fe87b42674bfca8e9"
rev = "dad0db930dce16070e921c1d9f05b5244be6a995"
package = "interbtc-primitives"

[dependencies.module-bitcoin]
git = "https://github.com/interlay/interbtc"
rev = "7a2f5ee35d93feb0529a308fe87b42674bfca8e9"
rev = "dad0db930dce16070e921c1d9f05b5244be6a995"
package = "bitcoin"

[dependencies.module-btc-relay]
git = "https://github.com/interlay/interbtc"
rev = "7a2f5ee35d93feb0529a308fe87b42674bfca8e9"
rev = "dad0db930dce16070e921c1d9f05b5244be6a995"
package = "btc-relay"

[dependencies.module-oracle-rpc-runtime-api]
git = "https://github.com/interlay/interbtc"
rev = "7a2f5ee35d93feb0529a308fe87b42674bfca8e9"
rev = "dad0db930dce16070e921c1d9f05b5244be6a995"
package = "oracle-rpc-runtime-api"

[dev-dependencies]
Expand Down
2 changes: 0 additions & 2 deletions runtime/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,4 @@ fn main() {
// Tell Cargo that if the given file changes, to rerun this build script (i.e. recompile)
println!("cargo:rerun-if-changed=metadata-parachain-interlay.scale");
println!("cargo:rerun-if-changed=metadata-parachain-kintsugi.scale");
println!("cargo:rerun-if-changed=metadata-parachain-kintsugi-testnet.scale");
println!("cargo:rerun-if-changed=metadata-parachain-interlay-testnet.scale");
}
Binary file removed runtime/metadata-parachain-interlay-testnet.scale
Binary file not shown.
Binary file removed runtime/metadata-parachain-kintsugi-testnet.scale
Binary file not shown.
8 changes: 0 additions & 8 deletions runtime/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -100,14 +100,6 @@ pub fn parse_duration_minutes(src: &str) -> Result<Duration, ParseIntError> {
#[derive(Parser, Debug, Clone)]
pub struct ConnectionOpts {
/// Parachain websocket URL.
#[cfg_attr(
feature = "parachain-metadata-interlay-testnet",
clap(long, default_value = "wss://staging.interlay-dev.interlay.io:443/parachain")
)]
#[cfg_attr(
feature = "parachain-metadata-kintsugi-testnet",
clap(long, default_value = "wss://api-dev-kintsugi.interlay.io:443/parachain")
)]
#[cfg_attr(
feature = "parachain-metadata-kintsugi",
clap(long, default_value = "wss://api-kusama.interlay.io:443/parachain")
Expand Down
2 changes: 1 addition & 1 deletion runtime/src/integration/bitcoin_simulator.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#![cfg(all(feature = "testing-utils", feature = "parachain-metadata-kintsugi-testnet"))]
#![cfg(all(feature = "testing-utils", feature = "parachain-metadata-kintsugi"))]
#![allow(dead_code)]
#![allow(unused_imports)]
#![allow(unused_variables)]
Expand Down
2 changes: 1 addition & 1 deletion runtime/src/integration/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ pub async fn default_provider_client(key: AccountKeyring) -> (SubxtClient, TempD

let (task_manager, rpc_handlers) = interbtc::service::start_instant::<
interbtc_runtime::RuntimeApi,
interbtc::service::TestnetKintsugiRuntimeExecutor,
interbtc::service::KintsugiRuntimeExecutor,
>(service_config)
.await
.unwrap();
Expand Down
39 changes: 1 addition & 38 deletions runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ pub const VAULT_REGISTRY_MODULE: &str = "VaultRegistry";

pub const STABLE_BITCOIN_CONFIRMATIONS: &str = "StableBitcoinConfirmations";
pub const STABLE_PARACHAIN_CONFIRMATIONS: &str = "StableParachainConfirmations";
pub const DISABLE_DIFFICULTY_CHECK: &str = "DisableDifficultyCheck";

// TODO: possibly substitute CurrencyId, VaultId, H256Le
#[cfg_attr(
Expand Down Expand Up @@ -100,44 +101,6 @@ pub const STABLE_PARACHAIN_CONFIRMATIONS: &str = "StableParachainConfirmations";
derive_for_type(type = "security::types::StatusCode", derive = "Eq, PartialEq"),
)
)]
#[cfg_attr(
feature = "parachain-metadata-interlay-testnet",
subxt(
runtime_metadata_path = "metadata-parachain-interlay-testnet.scale",
derive_for_all_types = "Clone",
derive_for_type(type = "bitcoin::address::PublicKey", derive = "Eq, PartialEq"),
derive_for_type(type = "bitcoin::types::H256Le", derive = "Eq, PartialEq"),
derive_for_type(type = "interbtc_primitives::issue::IssueRequestStatus", derive = "Eq, PartialEq"),
derive_for_type(type = "interbtc_primitives::redeem::RedeemRequestStatus", derive = "Eq, PartialEq"),
derive_for_type(
type = "interbtc_primitives::replace::ReplaceRequestStatus",
derive = "Eq, PartialEq"
),
derive_for_type(type = "interbtc_primitives::VaultCurrencyPair", derive = "Eq, PartialEq"),
derive_for_type(type = "interbtc_primitives::VaultId", derive = "Eq, PartialEq"),
derive_for_type(type = "security::types::ErrorCode", derive = "Eq, PartialEq, Ord, PartialOrd"),
derive_for_type(type = "security::types::StatusCode", derive = "Eq, PartialEq"),
)
)]
#[cfg_attr(
feature = "parachain-metadata-kintsugi-testnet",
subxt(
runtime_metadata_path = "metadata-parachain-kintsugi-testnet.scale",
derive_for_all_types = "Clone",
derive_for_type(type = "bitcoin::address::PublicKey", derive = "Eq, PartialEq"),
derive_for_type(type = "bitcoin::types::H256Le", derive = "Eq, PartialEq"),
derive_for_type(type = "interbtc_primitives::issue::IssueRequestStatus", derive = "Eq, PartialEq"),
derive_for_type(type = "interbtc_primitives::redeem::RedeemRequestStatus", derive = "Eq, PartialEq"),
derive_for_type(
type = "interbtc_primitives::replace::ReplaceRequestStatus",
derive = "Eq, PartialEq"
),
derive_for_type(type = "interbtc_primitives::VaultCurrencyPair", derive = "Eq, PartialEq"),
derive_for_type(type = "interbtc_primitives::VaultId", derive = "Eq, PartialEq"),
derive_for_type(type = "security::types::ErrorCode", derive = "Eq, PartialEq, Ord, PartialOrd"),
derive_for_type(type = "security::types::StatusCode", derive = "Eq, PartialEq"),
)
)]
pub mod metadata {
#[subxt(substitute_type = "BTreeSet")]
use crate::BTreeSet;
Expand Down
Loading

0 comments on commit 5cba40b

Please sign in to comment.