mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-13 14:39:25 +00:00
further bug fixes
This commit is contained in:
@@ -41,7 +41,11 @@ impl<'a> SeraiGenesisLiquidity<'a> {
|
||||
})
|
||||
}
|
||||
|
||||
pub async fn liquidity(&self, address: &SeraiAddress, coin: Coin) -> Result<Amount, SeraiError> {
|
||||
pub async fn liquidity(
|
||||
&self,
|
||||
address: &SeraiAddress,
|
||||
coin: Coin,
|
||||
) -> Result<(Amount, Amount), SeraiError> {
|
||||
Ok(
|
||||
self
|
||||
.0
|
||||
@@ -51,7 +55,7 @@ impl<'a> SeraiGenesisLiquidity<'a> {
|
||||
(coin, sp_core::hashing::blake2_128(&address.encode()), &address.0),
|
||||
)
|
||||
.await?
|
||||
.unwrap_or(Amount(0)),
|
||||
.unwrap_or((Amount(0), Amount(0))),
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -147,7 +147,8 @@ async fn test_genesis_liquidity(serai: Serai) {
|
||||
// check each btc liq provider got liq tokens proportional to their value
|
||||
let btc_liq_supply = serai.genesis_liquidity().supply(Coin::Bitcoin).await.unwrap();
|
||||
for (acc, amount) in btc_addresses {
|
||||
let acc_liq_shares = serai.genesis_liquidity().liquidity(&acc, Coin::Bitcoin).await.unwrap().0;
|
||||
let acc_liq_shares =
|
||||
serai.genesis_liquidity().liquidity(&acc, Coin::Bitcoin).await.unwrap().0 .0;
|
||||
|
||||
// since we can't test the ratios directly(due to integer division giving 0)
|
||||
// we test whether they give the same result when multiplied by another constant.
|
||||
@@ -160,7 +161,9 @@ async fn test_genesis_liquidity(serai: Serai) {
|
||||
// check each xmr liq provider got liq tokens proportional to their value
|
||||
let xmr_liq_supply = serai.genesis_liquidity().supply(Coin::Monero).await.unwrap();
|
||||
for (acc, amount) in xmr_addresses {
|
||||
let acc_liq_shares = serai.genesis_liquidity().liquidity(&acc, Coin::Monero).await.unwrap().0;
|
||||
let acc_liq_shares =
|
||||
serai.genesis_liquidity().liquidity(&acc, Coin::Monero).await.unwrap().0 .0;
|
||||
|
||||
let shares_ratio = (GENESIS_LP_SHARES * acc_liq_shares) / xmr_liq_supply.0 .0;
|
||||
let amounts_ratio = (GENESIS_LP_SHARES * amount.0) / u64::try_from(pool_xmr).unwrap();
|
||||
assert_eq!(shares_ratio, amounts_ratio);
|
||||
|
||||
Reference in New Issue
Block a user