diff --git a/Cargo.lock b/Cargo.lock
index 387f8979..7d661d29 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -7966,6 +7966,7 @@ dependencies = [
"serai-dex-pallet",
"serai-genesis-liquidity-primitives",
"serai-primitives",
+ "serai-validator-sets-pallet",
"serai-validator-sets-primitives",
"sp-application-crypto",
"sp-core",
diff --git a/substrate/abi/src/coins.rs b/substrate/abi/src/coins.rs
index 56255b0a..9466db0f 100644
--- a/substrate/abi/src/coins.rs
+++ b/substrate/abi/src/coins.rs
@@ -13,15 +13,6 @@ pub enum Call {
burn_with_instruction { instruction: OutInstructionWithBalance },
}
-#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)]
-#[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))]
-#[cfg_attr(feature = "serde", derive(serde::Serialize))]
-#[cfg_attr(all(feature = "std", feature = "serde"), derive(serde::Deserialize))]
-pub enum LiquidityTokensCall {
- transfer { to: SeraiAddress, balance: Balance },
- burn { balance: Balance },
-}
-
#[derive(Clone, PartialEq, Eq, Debug, scale::Encode, scale::Decode, scale_info::TypeInfo)]
#[cfg_attr(feature = "borsh", derive(borsh::BorshSerialize, borsh::BorshDeserialize))]
#[cfg_attr(feature = "serde", derive(serde::Serialize))]
diff --git a/substrate/abi/src/lib.rs b/substrate/abi/src/lib.rs
index aef03963..ac8b8824 100644
--- a/substrate/abi/src/lib.rs
+++ b/substrate/abi/src/lib.rs
@@ -12,6 +12,7 @@ pub mod system;
pub mod timestamp;
pub mod coins;
+pub mod liquidity_tokens;
pub mod dex;
pub mod validator_sets;
@@ -29,7 +30,7 @@ pub mod tx;
pub enum Call {
Timestamp(timestamp::Call),
Coins(coins::Call),
- LiquidityTokens(coins::LiquidityTokensCall),
+ LiquidityTokens(liquidity_tokens::Call),
Dex(dex::Call),
GenesisLiquidity(genesis_liquidity::Call),
ValidatorSets(validator_sets::Call),
@@ -51,7 +52,7 @@ pub enum Event {
Timestamp,
TransactionPayment(TransactionPaymentEvent),
Coins(coins::Event),
- LiquidityTokens(coins::Event),
+ LiquidityTokens(liquidity_tokens::Event),
Dex(dex::Event),
GenesisLiquidity(genesis_liquidity::Event),
ValidatorSets(validator_sets::Event),
diff --git a/substrate/client/src/serai/dex.rs b/substrate/client/src/serai/dex.rs
index 18341125..d9edc56b 100644
--- a/substrate/client/src/serai/dex.rs
+++ b/substrate/client/src/serai/dex.rs
@@ -3,7 +3,7 @@ use serai_abi::primitives::{SeraiAddress, Amount, Coin};
use scale::{decode_from_bytes, Encode};
-use crate::{SeraiError, hex_decode, TemporalSerai};
+use crate::{Serai, SeraiError, TemporalSerai};
pub type DexEvent = serai_abi::dex::Event;
@@ -60,20 +60,19 @@ impl<'a> SeraiDex<'a> {
})
}
- pub async fn get_reserves(
- &self,
- coin1: Coin,
- coin2: Coin,
- ) -> Result