Skip to content

Commit

Permalink
fix: on unbond, remove user from when they don't have any more bonded…
Browse files Browse the repository at this point in the history
… assets
  • Loading branch information
nseguias committed Jul 15, 2024
1 parent e2c0f8f commit 1511290
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 32 deletions.
12 changes: 12 additions & 0 deletions contracts/liquidity_hub/bonding-manager/src/bonding/commands.rs
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,18 @@ pub(crate) fn unbond(

if unbond.asset.amount.is_zero() {
BONDS.remove(deps.storage, unbond.id)?;
// check if there are other bonded assets, if not, remove the last claimed epoch to reset the user
let other_bonds_by_receiver = get_bonds_by_receiver(
deps.storage,
info.sender.to_string(),
Some(true),
None,
None,
None,
)?;
if other_bonds_by_receiver.is_empty() {
LAST_CLAIMED_EPOCH.remove(deps.storage, &info.sender);
}
} else {
BONDS.save(deps.storage, unbond.id, &unbond)?;
}
Expand Down
1 change: 1 addition & 0 deletions contracts/liquidity_hub/bonding-manager/src/helpers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ pub fn swap_coins_to_main_token(
!coin.denom.contains(".pool.")
& !coin.denom.contains(LP_SYMBOL)
& !coin.denom.eq(distribution_denom)
& !config.bonding_assets.contains(&coin.denom)
})
.collect();
for coin in coins_to_swap {
Expand Down
19 changes: 9 additions & 10 deletions contracts/liquidity_hub/incentive-manager/tests/common/suite.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,18 @@ use cw_multi_test::{

use white_whale_std::epoch_manager::epoch_manager::{Epoch, EpochConfig, EpochResponse};
use white_whale_std::epoch_manager::hooks::EpochChangedHookMsg;
use white_whale_std::fee::{Fee, PoolFee};
use white_whale_std::fee::PoolFee;
use white_whale_std::incentive_manager::{
Config, IncentiveAction, IncentivesBy, IncentivesResponse, InstantiateMsg, LpWeightResponse,
PositionAction, PositionsResponse, RewardsResponse,
};
use white_whale_std::pool_manager::PoolType;
use white_whale_std::pool_network::asset::{Asset, AssetInfo};
use white_whale_std::pool_network::asset::AssetInfo;
use white_whale_testing::integration::contracts::whale_lair_contract;
use white_whale_testing::multi_test::stargate_mock::StargateMock;

use crate::common::suite_contracts::{
bonding_manager_contract, epoch_manager_contract, incentive_manager_contract,
pool_manager_contract,
_pool_manager_contract, epoch_manager_contract, incentive_manager_contract,
};

type OsmosisTokenFactoryApp = App<
Expand Down Expand Up @@ -259,8 +258,8 @@ impl TestingSuite {
}

#[allow(clippy::inconsistent_digit_grouping)]
fn create_pool_manager(&mut self) {
let pool_manager_contract = self.app.store_code(pool_manager_contract());
fn _create_pool_manager(&mut self) {
let pool_manager_contract = self.app.store_code(_pool_manager_contract());

// create epoch manager
let msg = white_whale_std::pool_manager::InstantiateMsg {
Expand Down Expand Up @@ -693,7 +692,7 @@ impl TestingSuite {

impl TestingSuite {
#[track_caller]
pub(crate) fn provide_liquidity(
pub(crate) fn _provide_liquidity(
&mut self,
sender: Addr,
pool_identifier: String,
Expand All @@ -718,7 +717,7 @@ impl TestingSuite {
}

#[track_caller]
pub(crate) fn swap(
pub(crate) fn _swap(
&mut self,
sender: Addr,
_offer_asset: Coin,
Expand Down Expand Up @@ -747,7 +746,7 @@ impl TestingSuite {
}

#[track_caller]
pub(crate) fn add_swap_routes(
pub(crate) fn _add_swap_routes(
&mut self,
sender: Addr,
swap_routes: Vec<white_whale_std::pool_manager::SwapRoute>,
Expand All @@ -763,7 +762,7 @@ impl TestingSuite {
self
}
#[track_caller]
pub(crate) fn create_pair(
pub(crate) fn _create_pair(
&mut self,
sender: Addr,
asset_denoms: Vec<String>,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ pub fn incentive_manager_contract() -> Box<dyn Contract<Empty>> {
}

/// Creates the whale lair contract
pub fn whale_lair_contract() -> Box<dyn Contract<Empty>> {
pub fn _whale_lair_contract() -> Box<dyn Contract<Empty>> {
let contract = ContractWrapper::new(
whale_lair::contract::execute,
whale_lair::contract::instantiate,
Expand All @@ -26,7 +26,7 @@ pub fn whale_lair_contract() -> Box<dyn Contract<Empty>> {
}

/// Creates the whale lair contract
pub fn bonding_manager_contract() -> Box<dyn Contract<Empty>> {
pub fn _bonding_manager_contract() -> Box<dyn Contract<Empty>> {
let contract = ContractWrapper::new(
bonding_manager::contract::execute,
bonding_manager::contract::instantiate,
Expand All @@ -38,7 +38,7 @@ pub fn bonding_manager_contract() -> Box<dyn Contract<Empty>> {
}

/// Creates the pool manager contract
pub fn pool_manager_contract() -> Box<dyn Contract<Empty>> {
pub fn _pool_manager_contract() -> Box<dyn Contract<Empty>> {
let contract = ContractWrapper::new(
pool_manager::contract::execute,
pool_manager::contract::instantiate,
Expand Down
14 changes: 7 additions & 7 deletions integration-tests/tests/common/helpers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ pub mod pools {
vec![6, 6],
helpers::fees::pool_fees_03(),
PoolType::ConstantProduct,
Some("uwhale-uusdc-cheap".to_string()),
Some("uwhale-uusdc".to_string()),
vec![coin(1_000u128, "uwhale")],
|result| {
result.unwrap();
Expand Down Expand Up @@ -325,7 +325,7 @@ pub mod pools {
)
.provide_liquidity(
&sender,
"uwhale-uusdc-cheap".to_string(),
"uwhale-uusdc".to_string(),
None,
None,
None,
Expand Down Expand Up @@ -448,7 +448,7 @@ pub mod pools {
SwapOperation::WhaleSwap {
token_in_denom: "uusdc".to_string(),
token_out_denom: "uwhale".to_string(),
pool_identifier: "uwhale-uusdc-cheap".to_string(),
pool_identifier: "uwhale-uusdc".to_string(),
}
],
},
Expand All @@ -475,7 +475,7 @@ pub mod pools {
SwapOperation::WhaleSwap {
token_in_denom: "uusdc".to_string(),
token_out_denom: "uwhale".to_string(),
pool_identifier: "uwhale-uusdc-cheap".to_string(),
pool_identifier: "uwhale-uusdc".to_string(),
},
],
},
Expand All @@ -491,7 +491,7 @@ pub mod pools {
SwapOperation::WhaleSwap {
token_in_denom: "uusdc".to_string(),
token_out_denom: "uwhale".to_string(),
pool_identifier: "uwhale-uusdc-cheap".to_string(),
pool_identifier: "uwhale-uusdc".to_string(),
},
],
},
Expand Down Expand Up @@ -529,7 +529,7 @@ pub mod pools {
SwapOperation::WhaleSwap {
token_in_denom: "uusdc".to_string(),
token_out_denom: "uwhale".to_string(),
pool_identifier: "uwhale-uusdc-cheap".to_string(),
pool_identifier: "uwhale-uusdc".to_string(),
},
],
},
Expand All @@ -543,7 +543,7 @@ pub mod pools {

pool_identifiers.borrow_mut().extend(vec![
"uwhale-uusdc-free".to_string(),
"uwhale-uusdc-cheap".to_string(),
"uwhale-uusdc".to_string(),
"uwhale-uusdc-expensive".to_string(),
"uwhale-uosmo-cheap".to_string(),
"3pool-stable".to_string(),
Expand Down
2 changes: 2 additions & 0 deletions integration-tests/tests/integration.proptest-regressions
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ cc 665858dcc5830455dc0630eaf9625a3d2405e454c4076c621758527ffaac7e01 # shrinks to
cc 908335e2674e6f38633c4ca6b8b1448412ee9a7c32a2a495533aa2750494464f # shrinks to epochs = 10, actions = [Swap(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", 1), Swap(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", 1), Swap(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", 1), Swap(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", "uusdc", 1), Bond(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 1), Swap(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", 1)]
cc be34ad8aed4e8ea2f874d3e9ec4e2dc2b336d39726932964bbe269679d09d3f5 # shrinks to actions = [Swap(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", "uusdc", 42591), Bond(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 46593), Unbond(Addr("migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 94375), Bond(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 77180)]
cc 765652262526798bff5ab497b63867f49407edcc9d8401ac7e7fe5f5c4b0517d # shrinks to actions = [Bond(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 67667), Swap(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", "uusdc", 418), Swap(Addr("migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40"), "uusdt", "uwhale", 78764), Claim(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"))]
cc a493bab6a18a04140ecf687fc001c601594c0d2663f8cfe9ae2e2810122e2cad # shrinks to actions = [Swap(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"), "uusdc", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", 49443), Claim(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3")), Claim(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7")), Unbond(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 21755), Swap(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "inj", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", 55773), Claim(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75")), Unbond(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 7395), Bond(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 94253), Claim(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y")), Swap(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "btc", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", 62734), Unbond(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 43217), Claim(Addr("migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40")), Claim(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75")), Unbond(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 40048), Bond(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 2900), Swap(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "uusdt", "uwhale", 86634), Unbond(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 52323)]
cc 3b5397f642639811c6e9bac6df19d6233280bdac4052fa151d021b307f91ca92 # shrinks to actions = [Bond(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 63566), Swap(Addr("migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40"), "btc", "ibc/BEFB9AB13AB43157A0AF6254AD4B1F565AC0CA0C1760B8339BE7B9E2996F7752", 9255), Swap(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "btc", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", 17237), Swap(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "btc", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", 10299), Unbond(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 8055), Unbond(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 23885), Unbond(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 71478), Claim(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7")), Swap(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "inj", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", 9815), Swap(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "ibc/BEFB9AB13AB43157A0AF6254AD4B1F565AC0CA0C1760B8339BE7B9E2996F7752", "inj", 21240), Claim(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3")), Claim(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3")), Claim(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y")), Unbond(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 35919), Swap(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "uwhale", "uusdc", 15171), Bond(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 76186), Swap(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "inj", "uusdc", 55951), Unbond(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 15548), Bond(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 80196), Bond(Addr("migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 26427), Swap(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "uusdt", "uusdc", 50501), Claim(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7")), Bond(Addr("migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 89102), Swap(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"), "ibc/BEFB9AB13AB43157A0AF6254AD4B1F565AC0CA0C1760B8339BE7B9E2996F7752", "btc", 85249), Swap(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "uusdt", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", 24089), Unbond(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 66637), Unbond(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 65668), Swap(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "inj", "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", 92068), Swap(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "uusdt", "inj", 52416), Bond(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 2153), Unbond(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 21695), Claim(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7")), Swap(Addr("migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40"), "uwhale", "uusdt", 50727), Unbond(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 43056), Swap(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", "inj", 4333), Swap(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "uusdc", "uwhale", 4146), Unbond(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 84969), Bond(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 74534), Bond(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 94949), Unbond(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 29147), Unbond(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 26853), Claim(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7")), Bond(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 36736), Claim(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7")), Unbond(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 22545), Bond(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 25651), Bond(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 98938), Swap(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "inj", "uwhale", 45942), Claim(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y")), Unbond(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 27148), Swap(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "peggy0x87aB3B4C8661e07D6372361211B96ed4Dc36B1B5", "ibc/BEFB9AB13AB43157A0AF6254AD4B1F565AC0CA0C1760B8339BE7B9E2996F7752", 27602), Bond(Addr("migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 85917), Claim(Addr("migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40")), Swap(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "btc", "uwhale", 17732), Claim(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3")), Bond(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 90317), Claim(Addr("migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40")), Swap(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"), "btc", "btc", 56974), Swap(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"), "ibc/BEFB9AB13AB43157A0AF6254AD4B1F565AC0CA0C1760B8339BE7B9E2996F7752", "inj", 15831), Bond(Addr("migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 95138), Unbond(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 27735), Unbond(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 27221), Claim(Addr("migaloo13y3petsaw4vfchac4frjmuuevjjjcceja7sjx7")), Claim(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y")), Swap(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"), "uwhale", "btc", 58599), Unbond(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y"), "factory/migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75/bWHALE", 84739), Swap(Addr("migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40"), "inj", "uusdt", 51657), Claim(Addr("migaloo1lh7mmdavky83xks76ch57whjaqa7e456vvpz8y")), Claim(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3")), Unbond(Addr("migaloo1ludaslnu24p5eftw499f7ngsc2jkzqdsrvxt75"), "factory/migaloo193lk767456jhkzddnz7kf5jvuzfn67gyfvhc40/ampWHALE", 68252), Claim(Addr("migaloo1h3s5np57a8cxaca3rdjlgu8jzmr2d2zz55s5y3"))]
Loading

0 comments on commit 1511290

Please sign in to comment.