From 958f96c60a8c5b5256461c13563eb6d3cfff95af Mon Sep 17 00:00:00 2001 From: Gregory Hill Date: Wed, 21 Jun 2023 16:27:49 +0000 Subject: [PATCH 1/3] chore: remove separate testnet metadata / config Signed-off-by: Gregory Hill --- .github/workflows/cargo-test.yml | 8 +--- README.md | 7 +--- faucet/Cargo.toml | 2 - faucet/src/http.rs | 2 +- oracle/Cargo.toml | 2 - runner/src/runner.rs | 14 +++---- runtime/Cargo.toml | 14 +++---- runtime/build.rs | 2 - .../metadata-parachain-interlay-testnet.scale | Bin 279240 -> 0 bytes .../metadata-parachain-kintsugi-testnet.scale | Bin 279240 -> 0 bytes runtime/src/cli.rs | 8 ---- runtime/src/integration/bitcoin_simulator.rs | 2 +- runtime/src/integration/mod.rs | 2 +- runtime/src/lib.rs | 38 ------------------ runtime/src/rpc.rs | 19 +-------- runtime/src/types.rs | 4 -- vault/Cargo.toml | 4 +- vault/src/cancellation.rs | 2 +- vault/src/main.rs | 2 +- vault/src/metrics.rs | 2 +- vault/src/process.rs | 2 +- vault/src/replace.rs | 2 +- 22 files changed, 28 insertions(+), 110 deletions(-) delete mode 100644 runtime/metadata-parachain-interlay-testnet.scale delete mode 100644 runtime/metadata-parachain-kintsugi-testnet.scale diff --git a/.github/workflows/cargo-test.yml b/.github/workflows/cargo-test.yml index 8a01ef8be..12455bd36 100644 --- a/.github/workflows/cargo-test.yml +++ b/.github/workflows/cargo-test.yml @@ -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 @@ -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 @@ -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 @@ -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 diff --git a/README.md b/README.md index d34837d76..3e14be0b0 100644 --- a/README.md +++ b/README.md @@ -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 ```

diff --git a/faucet/Cargo.toml b/faucet/Cargo.toml index 8b6a403bd..834609070 100644 --- a/faucet/Cargo.toml +++ b/faucet/Cargo.toml @@ -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" diff --git a/faucet/src/http.rs b/faucet/src/http.rs index 8e920581b..4c57d22f4 100644 --- a/faucet/src/http.rs +++ b/faucet/src/http.rs @@ -365,7 +365,7 @@ 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}; diff --git a/oracle/Cargo.toml b/oracle/Cargo.toml index e61383468..628f83d95 100644 --- a/oracle/Cargo.toml +++ b/oracle/Cargo.toml @@ -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" diff --git a/runner/src/runner.rs b/runner/src/runner.rs index b7429bd4b..9499d38e5 100644 --- a/runner/src/runner.rs +++ b/runner/src/runner.rs @@ -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]))); @@ -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)); } } diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index 9d191c2aa..a929dd57f 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -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"] } @@ -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] diff --git a/runtime/build.rs b/runtime/build.rs index 6d6142c62..86b25119b 100644 --- a/runtime/build.rs +++ b/runtime/build.rs @@ -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"); } diff --git a/runtime/metadata-parachain-interlay-testnet.scale b/runtime/metadata-parachain-interlay-testnet.scale deleted file mode 100644 index 1b5554d55eedd8aa2ea0af03fdc1fa868f515c6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279240 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 z 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

hwxXuBgEVI9yI)esy|RdAU0#G}JV{~5W% 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 Result { #[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") diff --git a/runtime/src/integration/bitcoin_simulator.rs b/runtime/src/integration/bitcoin_simulator.rs index a1c24fab7..105d6c703 100644 --- a/runtime/src/integration/bitcoin_simulator.rs +++ b/runtime/src/integration/bitcoin_simulator.rs @@ -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)] diff --git a/runtime/src/integration/mod.rs b/runtime/src/integration/mod.rs index 63694ff23..db0228f64 100644 --- a/runtime/src/integration/mod.rs +++ b/runtime/src/integration/mod.rs @@ -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(); diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 239f5ff07..9d9b45d29 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -100,44 +100,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; diff --git a/runtime/src/rpc.rs b/runtime/src/rpc.rs index bb08f2fd0..9648638f5 100644 --- a/runtime/src/rpc.rs +++ b/runtime/src/rpc.rs @@ -49,11 +49,8 @@ const BLAKE2_128_HASH_PREFIX_LENGTH: usize = 48; const TWOX_64_HASH_PREFIX_LENGTH: usize = 40; // sanity check to be sure that testing-utils is not accidentally selected -#[cfg(all( - any(test, feature = "testing-utils"), - not(feature = "parachain-metadata-kintsugi-testnet") -))] -compile_error!("Tests are only supported for the kintsugi testnet metadata"); +#[cfg(all(any(test, feature = "testing-utils"), not(feature = "parachain-metadata-kintsugi")))] +compile_error!("Tests are only supported for the kintsugi runtime"); cfg_if::cfg_if! { if #[cfg(feature = "parachain-metadata-interlay")] { @@ -64,14 +61,6 @@ cfg_if::cfg_if! { const DEFAULT_SPEC_VERSION: Range = 1024000..1025000; pub const DEFAULT_SPEC_NAME: &str = "kintsugi-parachain"; pub const SS58_PREFIX: u16 = 2092; - } else if #[cfg(feature = "parachain-metadata-interlay-testnet")] { - const DEFAULT_SPEC_VERSION: Range = 1024000..1025000; - pub const DEFAULT_SPEC_NAME: &str = "testnet-interlay"; - pub const SS58_PREFIX: u16 = 2032; - } else if #[cfg(feature = "parachain-metadata-kintsugi-testnet")] { - const DEFAULT_SPEC_VERSION: Range = 1024000..1025000; - pub const DEFAULT_SPEC_NAME: &str = "testnet-kintsugi"; - pub const SS58_PREFIX: u16 = 2092; } } @@ -1877,10 +1866,6 @@ pub trait SudoPallet { async fn set_replace_period(&self, period: u32) -> Result<(), Error>; } -#[cfg(any( - feature = "parachain-metadata-interlay-testnet", - feature = "parachain-metadata-kintsugi-testnet" -))] #[async_trait] impl SudoPallet for InterBtcParachain { async fn sudo(&self, call: EncodedCall) -> Result<(), Error> { diff --git a/runtime/src/types.rs b/runtime/src/types.rs index 765b008e7..181a0e814 100644 --- a/runtime/src/types.rs +++ b/runtime/src/types.rs @@ -129,10 +129,6 @@ mod metadata_aliases { pub type EncodedCall = metadata::runtime_types::interlay_runtime_parachain::RuntimeCall; #[cfg(feature = "parachain-metadata-kintsugi")] pub type EncodedCall = metadata::runtime_types::kintsugi_runtime_parachain::RuntimeCall; - #[cfg(feature = "parachain-metadata-interlay-testnet")] - pub type EncodedCall = metadata::runtime_types::testnet_interlay_runtime_parachain::RuntimeCall; - #[cfg(feature = "parachain-metadata-kintsugi-testnet")] - pub type EncodedCall = metadata::runtime_types::testnet_kintsugi_runtime_parachain::RuntimeCall; pub use metadata::runtime_types::security::pallet::Call as SecurityCall; diff --git a/vault/Cargo.toml b/vault/Cargo.toml index 3761fe5e9..68a5cb963 100644 --- a/vault/Cargo.toml +++ b/vault/Cargo.toml @@ -7,9 +7,7 @@ description = "The Vault client intermediates between Bitcoin Core and the BTC P [features] parachain-metadata-interlay = ["runtime/parachain-metadata-interlay"] -parachain-metadata-kintsugi = ["runtime/parachain-metadata-kintsugi"] -parachain-metadata-interlay-testnet = ["runtime/parachain-metadata-interlay-testnet", "bitcoin/light-client"] -parachain-metadata-kintsugi-testnet = ["runtime/parachain-metadata-kintsugi-testnet", "bitcoin/light-client"] +parachain-metadata-kintsugi = ["runtime/parachain-metadata-kintsugi", "bitcoin/light-client"] uses-bitcoind = [] # run tests relying on bitcoind regtest node [dependencies] diff --git a/vault/src/cancellation.rs b/vault/src/cancellation.rs index 81f2f4ba7..e9c41f439 100644 --- a/vault/src/cancellation.rs +++ b/vault/src/cancellation.rs @@ -313,7 +313,7 @@ impl Cancel } } -#[cfg(all(test, feature = "parachain-metadata-kintsugi-testnet"))] +#[cfg(all(test, feature = "parachain-metadata-kintsugi"))] mod tests { use super::*; use async_trait::async_trait; diff --git a/vault/src/main.rs b/vault/src/main.rs index 272fda403..f29493034 100644 --- a/vault/src/main.rs +++ b/vault/src/main.rs @@ -259,7 +259,7 @@ mod tests { #[tokio::test] async fn test_vault_pid_file() { let dummy_account_id = AccountId::new(Default::default()); - let dummy_spec_name = "kintsugi-testnet".to_string(); + let dummy_spec_name = "kintsugi".to_string(); let termination_signals = &[SIGHUP, SIGTERM, SIGINT, SIGQUIT]; let mut sys = System::new_all(); diff --git a/vault/src/metrics.rs b/vault/src/metrics.rs index ca407687c..5bae2cade 100644 --- a/vault/src/metrics.rs +++ b/vault/src/metrics.rs @@ -668,7 +668,7 @@ pub async fn publish_tokio_metrics( } } -#[cfg(all(test, feature = "parachain-metadata-kintsugi-testnet"))] +#[cfg(all(test, feature = "parachain-metadata-kintsugi"))] mod tests { use super::*; use async_trait::async_trait; diff --git a/vault/src/process.rs b/vault/src/process.rs index 9bcd77ce6..8d6797790 100644 --- a/vault/src/process.rs +++ b/vault/src/process.rs @@ -141,7 +141,7 @@ pub fn pid_name_matches_existing_client( Ok(sys.process_name(client_pid)? == sys.process_name(pidfile_value)?) } -#[cfg(all(test, feature = "parachain-metadata-kintsugi-testnet"))] +#[cfg(all(test, feature = "parachain-metadata-kintsugi"))] mod tests { use super::*; use serial_test::serial; diff --git a/vault/src/replace.rs b/vault/src/replace.rs index d36527f11..cbb373de9 100644 --- a/vault/src/replace.rs +++ b/vault/src/replace.rs @@ -204,7 +204,7 @@ pub async fn listen_for_execute_replace( Ok(()) } -#[cfg(all(test, feature = "parachain-metadata-kintsugi-testnet"))] +#[cfg(all(test, feature = "parachain-metadata-kintsugi"))] mod tests { use super::*; use async_trait::async_trait; From b898e6a103ad2a729ca3c1006cf615ea6a138a64 Mon Sep 17 00:00:00 2001 From: Gregory Hill Date: Wed, 12 Jul 2023 04:51:22 +0000 Subject: [PATCH 2/3] chore: endow testing accounts Signed-off-by: Gregory Hill --- Cargo.lock | 338 +++++-------------------- faucet/src/http.rs | 28 +- runtime/src/rpc.rs | 20 ++ runtime/src/tests.rs | 15 +- vault/tests/vault_integration_tests.rs | 24 +- 5 files changed, 139 insertions(+), 286 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 15014fc86..1a696547d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -212,7 +212,7 @@ dependencies = [ [[package]] name = "annuity" version = "1.0.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-benchmarking", "frame-support", @@ -657,7 +657,7 @@ dependencies = [ [[package]] name = "bitcoin" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "bitcoin_hashes 0.7.6", "frame-support", @@ -874,7 +874,7 @@ checksum = "bd769563b4ea2953e2825c9e6b7470a5f55f67e0be00030bf3e390a2a6071f64" [[package]] name = "btc-relay" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "bitcoin 1.2.0", "frame-benchmarking", @@ -894,7 +894,7 @@ dependencies = [ [[package]] name = "btc-relay-rpc" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "btc-relay-rpc-runtime-api", "jsonrpsee", @@ -907,7 +907,7 @@ dependencies = [ [[package]] name = "btc-relay-rpc-runtime-api" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-support", "parity-scale-codec", @@ -1205,7 +1205,7 @@ checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" [[package]] name = "clients-info" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "fixed-hash 0.7.0", "frame-benchmarking", @@ -1247,7 +1247,7 @@ dependencies = [ [[package]] name = "collator-selection" version = "3.0.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-benchmarking", "frame-support", @@ -2102,7 +2102,7 @@ dependencies = [ [[package]] name = "currency" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-support", "frame-system", @@ -2280,7 +2280,7 @@ dependencies = [ [[package]] name = "democracy" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "chrono", "frame-benchmarking", @@ -2405,7 +2405,7 @@ dependencies = [ [[package]] name = "dex-general" version = "0.4.4" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-benchmarking", "frame-support", @@ -2425,7 +2425,7 @@ dependencies = [ [[package]] name = "dex-general-rpc" version = "0.4.4" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "dex-general", "dex-general-rpc-runtime-api", @@ -2440,7 +2440,7 @@ dependencies = [ [[package]] name = "dex-general-rpc-runtime-api" version = "0.4.4" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "dex-general", "parity-scale-codec", @@ -2451,7 +2451,7 @@ dependencies = [ [[package]] name = "dex-stable" version = "0.1.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-benchmarking", "frame-support", @@ -2469,7 +2469,7 @@ dependencies = [ [[package]] name = "dex-stable-rpc" version = "0.1.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "dex-stable-rpc-runtime-api", "jsonrpsee", @@ -2483,7 +2483,7 @@ dependencies = [ [[package]] name = "dex-stable-rpc-runtime-api" version = "0.1.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "dex-stable", "parity-scale-codec", @@ -2494,7 +2494,7 @@ dependencies = [ [[package]] name = "dex-swap-router" version = "0.1.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "dex-general", "dex-stable", @@ -2865,7 +2865,7 @@ dependencies = [ [[package]] name = "escrow" version = "1.0.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-benchmarking", "frame-support", @@ -2885,7 +2885,7 @@ dependencies = [ [[package]] name = "escrow-rpc" version = "0.3.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "escrow-rpc-runtime-api", "jsonrpsee", @@ -2899,7 +2899,7 @@ dependencies = [ [[package]] name = "escrow-rpc-runtime-api" version = "0.3.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "oracle-rpc-runtime-api", "parity-scale-codec", @@ -2974,7 +2974,7 @@ checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "farming" version = "1.0.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-benchmarking", "frame-support", @@ -3066,7 +3066,7 @@ dependencies = [ [[package]] name = "fee" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "currency", "frame-benchmarking", @@ -4398,7 +4398,7 @@ dependencies = [ [[package]] name = "interbtc-parachain" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "bitcoin 1.2.0", "btc-relay-rpc-runtime-api", @@ -4483,15 +4483,13 @@ dependencies = [ "substrate-build-script-utils", "substrate-frame-rpc-system", "substrate-prometheus-endpoint", - "testnet-interlay-runtime-parachain", - "testnet-kintsugi-runtime-parachain", "vault-registry-rpc-runtime-api", ] [[package]] name = "interbtc-primitives" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "bitcoin 1.2.0", "bstringify", @@ -4507,7 +4505,7 @@ dependencies = [ [[package]] name = "interbtc-rpc" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "btc-relay-rpc", "dex-general-rpc", @@ -4559,7 +4557,7 @@ dependencies = [ [[package]] name = "interlay-runtime-parachain" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "annuity", "btc-relay", @@ -4717,7 +4715,7 @@ dependencies = [ [[package]] name = "issue" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "bitcoin 1.2.0", "btc-relay", @@ -4749,7 +4747,7 @@ dependencies = [ [[package]] name = "issue-rpc" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "issue-rpc-runtime-api", "jsonrpsee", @@ -4762,7 +4760,7 @@ dependencies = [ [[package]] name = "issue-rpc-runtime-api" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-support", "parity-scale-codec", @@ -5093,7 +5091,7 @@ dependencies = [ [[package]] name = "kintsugi-runtime-parachain" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "annuity", "btc-relay", @@ -5863,7 +5861,7 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "loans" version = "1.9.3" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "currency", "frame-benchmarking", @@ -5892,7 +5890,7 @@ dependencies = [ [[package]] name = "loans-rpc" version = "1.9.3" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "interbtc-primitives", "jsonrpsee", @@ -5909,7 +5907,7 @@ dependencies = [ [[package]] name = "loans-rpc-runtime-api" version = "1.9.3" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "interbtc-primitives", "parity-scale-codec", @@ -6270,7 +6268,7 @@ dependencies = [ [[package]] name = "multi-transaction-payment" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "currency", "dex-general", @@ -6601,7 +6599,7 @@ dependencies = [ [[package]] name = "nomination" version = "0.5.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "currency", "fee", @@ -6927,7 +6925,7 @@ dependencies = [ [[package]] name = "oracle" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "currency", "frame-benchmarking", @@ -6950,7 +6948,7 @@ dependencies = [ [[package]] name = "oracle-rpc" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "jsonrpsee", "oracle-rpc-runtime-api", @@ -6963,7 +6961,7 @@ dependencies = [ [[package]] name = "oracle-rpc-runtime-api" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-support", "parity-scale-codec", @@ -9964,7 +9962,7 @@ dependencies = [ [[package]] name = "redeem" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "bitcoin 1.2.0", "btc-relay", @@ -9994,7 +9992,7 @@ dependencies = [ [[package]] name = "redeem-rpc" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -10007,7 +10005,7 @@ dependencies = [ [[package]] name = "redeem-rpc-runtime-api" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-support", "parity-scale-codec", @@ -10145,7 +10143,7 @@ dependencies = [ [[package]] name = "replace" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "bitcoin 1.2.0", "btc-relay", @@ -10175,7 +10173,7 @@ dependencies = [ [[package]] name = "replace-rpc" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -10188,7 +10186,7 @@ dependencies = [ [[package]] name = "replace-rpc-runtime-api" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-support", "parity-scale-codec", @@ -10246,7 +10244,7 @@ dependencies = [ [[package]] name = "reward" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-benchmarking", "frame-support", @@ -10266,7 +10264,7 @@ dependencies = [ [[package]] name = "reward-rpc" version = "0.3.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "jsonrpsee", "oracle-rpc-runtime-api", @@ -10280,7 +10278,7 @@ dependencies = [ [[package]] name = "reward-rpc-runtime-api" version = "0.3.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-support", "oracle-rpc-runtime-api", @@ -10430,6 +10428,7 @@ dependencies = [ "interbtc-parachain", "interbtc-primitives", "jsonrpsee", + "kintsugi-runtime-parachain", "lazy_static", "log", "oracle-rpc-runtime-api", @@ -10445,7 +10444,6 @@ dependencies = [ "subxt", "subxt-client", "tempdir", - "testnet-kintsugi-runtime-parachain", "thiserror", "tokio", "url 2.3.1", @@ -10454,7 +10452,7 @@ dependencies = [ [[package]] name = "runtime-common" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "annuity", "btc-relay", @@ -10479,6 +10477,8 @@ dependencies = [ "orml-vesting", "orml-xcm-support", "orml-xtokens", + "pallet-aura", + "pallet-sudo", "redeem", "replace", "reward", @@ -12036,7 +12036,7 @@ dependencies = [ [[package]] name = "security" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-benchmarking", "frame-support", @@ -13342,7 +13342,7 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "staking" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-benchmarking", "frame-support", @@ -13693,7 +13693,7 @@ dependencies = [ [[package]] name = "supply" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-benchmarking", "frame-support", @@ -13844,228 +13844,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" -[[package]] -name = "testnet-interlay-runtime-parachain" -version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" -dependencies = [ - "annuity", - "btc-relay", - "btc-relay-rpc-runtime-api", - "clients-info", - "collator-selection", - "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", - "cumulus-pallet-parachain-system", - "cumulus-pallet-xcm", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-core", - "cumulus-primitives-timestamp", - "cumulus-primitives-utility", - "currency", - "democracy", - "dex-general", - "dex-general-rpc-runtime-api", - "dex-stable", - "dex-stable-rpc-runtime-api", - "dex-swap-router", - "escrow", - "escrow-rpc-runtime-api", - "farming", - "fee", - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "hex-literal 0.3.4", - "interbtc-primitives", - "issue", - "issue-rpc-runtime-api", - "loans", - "loans-rpc-runtime-api", - "log", - "multi-transaction-payment", - "nomination", - "oracle 1.2.0", - "oracle-rpc-runtime-api", - "orml-asset-registry", - "orml-tokens", - "orml-traits", - "orml-unknown-tokens", - "orml-vesting", - "orml-xcm-support", - "orml-xtokens", - "pallet-aura", - "pallet-authorship", - "pallet-balances", - "pallet-collective", - "pallet-identity", - "pallet-membership", - "pallet-multisig", - "pallet-preimage", - "pallet-proxy", - "pallet-scheduler", - "pallet-session", - "pallet-society", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-utility", - "pallet-xcm", - "parachain-info", - "parity-scale-codec", - "polkadot-parachain", - "redeem", - "redeem-rpc-runtime-api", - "replace", - "replace-rpc-runtime-api", - "reward", - "reward-rpc-runtime-api", - "runtime-common", - "scale-info", - "security", - "serde", - "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.40)", - "sp-block-builder", - "sp-consensus-aura", - "sp-core", - "sp-inherents", - "sp-io", - "sp-offchain", - "sp-runtime 7.0.0 (git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.40)", - "sp-session", - "sp-std 5.0.0 (git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.40)", - "sp-transaction-pool", - "sp-version", - "sp-weights 4.0.0 (git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.40)", - "staking", - "substrate-wasm-builder", - "supply", - "traits", - "tx-pause", - "vault-registry", - "vault-registry-rpc-runtime-api", - "xcm", - "xcm-builder", - "xcm-executor", -] - -[[package]] -name = "testnet-kintsugi-runtime-parachain" -version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" -dependencies = [ - "annuity", - "btc-relay", - "btc-relay-rpc-runtime-api", - "clients-info", - "collator-selection", - "cumulus-pallet-aura-ext", - "cumulus-pallet-dmp-queue", - "cumulus-pallet-parachain-system", - "cumulus-pallet-xcm", - "cumulus-pallet-xcmp-queue", - "cumulus-primitives-core", - "cumulus-primitives-timestamp", - "cumulus-primitives-utility", - "currency", - "democracy", - "dex-general", - "dex-general-rpc-runtime-api", - "dex-stable", - "dex-stable-rpc-runtime-api", - "dex-swap-router", - "escrow", - "escrow-rpc-runtime-api", - "farming", - "fee", - "frame-benchmarking", - "frame-executive", - "frame-support", - "frame-system", - "frame-system-benchmarking", - "frame-system-rpc-runtime-api", - "frame-try-runtime", - "hex-literal 0.3.4", - "interbtc-primitives", - "issue", - "issue-rpc-runtime-api", - "loans", - "loans-rpc-runtime-api", - "log", - "multi-transaction-payment", - "nomination", - "oracle 1.2.0", - "oracle-rpc-runtime-api", - "orml-asset-registry", - "orml-tokens", - "orml-traits", - "orml-unknown-tokens", - "orml-vesting", - "orml-xcm-support", - "orml-xtokens", - "pallet-aura", - "pallet-authorship", - "pallet-balances", - "pallet-collective", - "pallet-identity", - "pallet-membership", - "pallet-multisig", - "pallet-preimage", - "pallet-proxy", - "pallet-scheduler", - "pallet-session", - "pallet-society", - "pallet-sudo", - "pallet-timestamp", - "pallet-transaction-payment", - "pallet-transaction-payment-rpc-runtime-api", - "pallet-utility", - "pallet-xcm", - "parachain-info", - "parity-scale-codec", - "polkadot-parachain", - "redeem", - "redeem-rpc-runtime-api", - "replace", - "replace-rpc-runtime-api", - "reward", - "reward-rpc-runtime-api", - "runtime-common", - "scale-info", - "security", - "serde", - "sp-api", - "sp-arithmetic 6.0.0 (git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.40)", - "sp-block-builder", - "sp-consensus-aura", - "sp-core", - "sp-inherents", - "sp-io", - "sp-offchain", - "sp-runtime 7.0.0 (git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.40)", - "sp-session", - "sp-std 5.0.0 (git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.40)", - "sp-transaction-pool", - "sp-version", - "sp-weights 4.0.0 (git+https://github.com/paritytech//substrate?branch=polkadot-v0.9.40)", - "staking", - "substrate-wasm-builder", - "supply", - "traits", - "tx-pause", - "vault-registry", - "vault-registry-rpc-runtime-api", - "xcm", - "xcm-builder", - "xcm-executor", -] - [[package]] name = "thiserror" version = "1.0.40" @@ -14521,7 +14299,7 @@ dependencies = [ [[package]] name = "traits" version = "1.9.3" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-support", "frame-system", @@ -14708,7 +14486,7 @@ dependencies = [ [[package]] name = "tx-pause" version = "4.0.0-dev" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-benchmarking", "frame-support", @@ -14918,7 +14696,7 @@ dependencies = [ [[package]] name = "vault-registry" version = "1.2.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "bitcoin 1.2.0", "currency", @@ -14951,7 +14729,7 @@ dependencies = [ [[package]] name = "vault-registry-rpc" version = "0.3.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "jsonrpsee", "oracle-rpc-runtime-api", @@ -14965,7 +14743,7 @@ dependencies = [ [[package]] name = "vault-registry-rpc-runtime-api" version = "0.3.0" -source = "git+https://github.com/interlay/interbtc?rev=7a2f5ee35d93feb0529a308fe87b42674bfca8e9#7a2f5ee35d93feb0529a308fe87b42674bfca8e9" +source = "git+https://github.com/interlay/interbtc?rev=dad0db930dce16070e921c1d9f05b5244be6a995#dad0db930dce16070e921c1d9f05b5244be6a995" dependencies = [ "frame-support", "oracle-rpc-runtime-api", diff --git a/faucet/src/http.rs b/faucet/src/http.rs index 4c57d22f4..d116a642b 100644 --- a/faucet/src/http.rs +++ b/faucet/src/http.rs @@ -371,8 +371,8 @@ mod tests { 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; @@ -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); @@ -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![ @@ -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(); @@ -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( @@ -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![ @@ -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(); @@ -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( diff --git a/runtime/src/rpc.rs b/runtime/src/rpc.rs index 9648638f5..7701a36c6 100644 --- a/runtime/src/rpc.rs +++ b/runtime/src/rpc.rs @@ -1864,6 +1864,7 @@ pub trait SudoPallet { async fn set_issue_period(&self, period: u32) -> Result<(), Error>; async fn insert_authorized_oracle(&self, account_id: AccountId, name: String) -> Result<(), Error>; async fn set_replace_period(&self, period: u32) -> Result<(), Error>; + async fn set_balances(&self, amounts: Vec<(AccountId, u128, u128, CurrencyId)>) -> Result<(), Error>; } #[async_trait] @@ -1937,4 +1938,23 @@ impl SudoPallet for InterBtcParachain { )) .await?) } + + async fn set_balances(&self, amounts: Vec<(AccountId, u128, u128, CurrencyId)>) -> Result<(), Error> { + self.sudo(EncodedCall::Utility( + metadata::runtime_types::pallet_utility::pallet::Call::batch { + calls: amounts + .into_iter() + .map(|(recipient, free, reserved, currency_id)| { + EncodedCall::Tokens(metadata::runtime_types::orml_tokens::module::Call::set_balance { + who: recipient, + currency_id, + new_free: free, + new_reserved: reserved, + }) + }) + .collect(), + }, + )) + .await + } } diff --git a/runtime/src/tests.rs b/runtime/src/tests.rs index 11c192342..66acfea9e 100644 --- a/runtime/src/tests.rs +++ b/runtime/src/tests.rs @@ -4,8 +4,8 @@ const DEFAULT_TESTING_CURRENCY: CurrencyId = Token(KSM); use super::{ BtcAddress, BtcPublicKey, BtcRelayPallet, CollateralBalancesPallet, CurrencyId, FixedPointNumber, FixedU128, - OraclePallet, RawBlockHeader, ReplacePallet, SecurityPallet, StatusCode, Token, TryFromSymbol, VaultRegistryPallet, - KBTC, KINT, KSM, + OraclePallet, RawBlockHeader, ReplacePallet, SecurityPallet, StatusCode, SudoPallet, Token, TryFromSymbol, + VaultRegistryPallet, KBTC, KINT, KSM, }; use crate::{integration::*, FeedValuesEvent, OracleKey, RuntimeCurrencyInfo, VaultId, H160, U256}; use module_bitcoin::{formatter::TryFormat, types::BlockBuilder}; @@ -40,7 +40,7 @@ async fn test_getters() { tokio::join!( async { - assert_eq!(parachain_rpc.get_free_balance(Token(KSM)).await.unwrap(), 1 << 60); + assert_eq!(parachain_rpc.get_free_balance(Token(KINT)).await.unwrap(), 1 << 60); }, async { assert_eq!(parachain_rpc.get_parachain_status().await.unwrap(), StatusCode::Error); @@ -104,6 +104,15 @@ async fn test_register_vault() { let (client, _tmp_dir) = default_provider_client(AccountKeyring::Alice).await; let parachain_rpc = setup_provider(client.clone(), AccountKeyring::Alice).await; set_exchange_rate(client.clone()).await; + parachain_rpc + .set_balances(vec![( + AccountKeyring::Alice.to_account_id(), + 1 << 60, + 0, + DEFAULT_TESTING_CURRENCY, + )]) + .await + .expect("Should endow account"); let vault_id = VaultId::new(AccountKeyring::Alice.into(), Token(KSM), Token(KBTC)); diff --git a/vault/tests/vault_integration_tests.rs b/vault/tests/vault_integration_tests.rs index 20e50388f..10f692e2e 100644 --- a/vault/tests/vault_integration_tests.rs +++ b/vault/tests/vault_integration_tests.rs @@ -31,8 +31,30 @@ where service::init_subscriber(); let (client, _tmp_dir) = default_provider_client(AccountKeyring::Alice).await; - let parachain_rpc = setup_provider(client.clone(), AccountKeyring::Bob).await; + let parachain_rpc = setup_provider(client.clone(), AccountKeyring::Alice).await; + parachain_rpc + .set_balances( + vec![ + AccountKeyring::Alice, + AccountKeyring::Bob, + AccountKeyring::Charlie, + AccountKeyring::Dave, + AccountKeyring::Eve, + AccountKeyring::Ferdie, + ] + .into_iter() + .map(|keyring| keyring.to_account_id()) + .flat_map(|account_id| { + vec![DEFAULT_TESTING_CURRENCY, DEFAULT_NATIVE_CURRENCY] + .into_iter() + .map(move |currency_id| (account_id.clone(), 1 << 60, 0, currency_id)) + }) + .collect(), + ) + .await + .expect("Should endow accounts"); + let parachain_rpc = setup_provider(client.clone(), AccountKeyring::Bob).await; set_exchange_rate_and_wait(¶chain_rpc, DEFAULT_TESTING_CURRENCY, FixedU128::from(100000000)).await; set_exchange_rate_and_wait( ¶chain_rpc, From 8322b5d99dc302aae3ffbe80d1c862673d05c480 Mon Sep 17 00:00:00 2001 From: Gregory Hill Date: Wed, 12 Jul 2023 05:31:51 +0000 Subject: [PATCH 3/3] chore: disable difficulty check Signed-off-by: Gregory Hill --- runtime/src/lib.rs | 1 + runtime/src/rpc.rs | 6 ++++++ vault/tests/vault_integration_tests.rs | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index 9d9b45d29..10b3f4ef3 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -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( diff --git a/runtime/src/rpc.rs b/runtime/src/rpc.rs index 7701a36c6..d1a3c6aca 100644 --- a/runtime/src/rpc.rs +++ b/runtime/src/rpc.rs @@ -1861,6 +1861,7 @@ pub trait SudoPallet { async fn set_redeem_period(&self, period: BlockNumber) -> Result<(), Error>; async fn set_parachain_confirmations(&self, value: BlockNumber) -> Result<(), Error>; async fn set_bitcoin_confirmations(&self, value: u32) -> Result<(), Error>; + async fn disable_difficulty_check(&self) -> Result<(), Error>; async fn set_issue_period(&self, period: u32) -> Result<(), Error>; async fn insert_authorized_oracle(&self, account_id: AccountId, name: String) -> Result<(), Error>; async fn set_replace_period(&self, period: u32) -> Result<(), Error>; @@ -1907,6 +1908,11 @@ impl SudoPallet for InterBtcParachain { .await } + async fn disable_difficulty_check(&self) -> Result<(), Error> { + self.set_storage(crate::BTC_RELAY_MODULE, crate::DISABLE_DIFFICULTY_CHECK, true) + .await + } + async fn set_issue_period(&self, period: u32) -> Result<(), Error> { Ok(self .sudo(EncodedCall::Issue( diff --git a/vault/tests/vault_integration_tests.rs b/vault/tests/vault_integration_tests.rs index 10f692e2e..c20c49e7d 100644 --- a/vault/tests/vault_integration_tests.rs +++ b/vault/tests/vault_integration_tests.rs @@ -53,6 +53,10 @@ where ) .await .expect("Should endow accounts"); + parachain_rpc + .disable_difficulty_check() + .await + .expect("Should disable difficulty check"); let parachain_rpc = setup_provider(client.clone(), AccountKeyring::Bob).await; set_exchange_rate_and_wait(¶chain_rpc, DEFAULT_TESTING_CURRENCY, FixedU128::from(100000000)).await;