Skip to content

Commit

Permalink
feat: deposit with auto coin register
Browse files Browse the repository at this point in the history
  • Loading branch information
obaranni committed Jan 30, 2024
1 parent e6a81df commit 3871025
Showing 1 changed file with 7 additions and 10 deletions.
17 changes: 7 additions & 10 deletions liquidswap_router_v2.1/sources/scripts_v2.move
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ module liquidswap::scripts_v2 {
use std::signer;

use aptos_framework::coin;
use aptos_framework::aptos_account;

use liquidswap::router_v2;
use liquidswap_lp::lp_coin::LP;
Expand Down Expand Up @@ -65,13 +66,9 @@ module liquidswap::scripts_v2 {

let account_addr = signer::address_of(account);

if (!coin::is_account_registered<LP<X, Y, Curve>>(account_addr)) {
coin::register<LP<X, Y, Curve>>(account);
};

coin::deposit(account_addr, coin_x_remainder);
coin::deposit(account_addr, coin_y_remainder);
coin::deposit(account_addr, lp_coins);
aptos_account::deposit_coins(account_addr, lp_coins);
}

/// Remove (burn) liquidity coins `LP` from account, get `X` and`Y` coins back.
Expand All @@ -95,8 +92,8 @@ module liquidswap::scripts_v2 {
);

let account_addr = signer::address_of(account);
coin::deposit(account_addr, coin_x);
coin::deposit(account_addr, coin_y);
aptos_account::deposit_coins(account_addr, coin_x);
aptos_account::deposit_coins(account_addr, coin_y);
}

/// Swap exact coin `X` for at least minimum coin `Y`.
Expand All @@ -115,7 +112,7 @@ module liquidswap::scripts_v2 {
);

let account_addr = signer::address_of(account);
coin::deposit(account_addr, coin_y);
aptos_account::deposit_coins(account_addr, coin_y);
}

/// Swap maximum coin `X` for exact coin `Y`.
Expand All @@ -135,7 +132,7 @@ module liquidswap::scripts_v2 {

let account_addr = signer::address_of(account);
coin::deposit(account_addr, coin_x);
coin::deposit(account_addr, coin_y);
aptos_account::deposit_coins(account_addr, coin_y);
}

/// Swap `coin_in` of X for a `coin_out` of Y.
Expand All @@ -152,6 +149,6 @@ module liquidswap::scripts_v2 {
let coin_y = router_v2::swap_coin_for_coin_unchecked<X, Y, Curve>(coin_x, coin_out);

let account_addr = signer::address_of(account);
coin::deposit(account_addr, coin_y);
aptos_account::deposit_coins(account_addr, coin_y);
}
}

0 comments on commit 3871025

Please sign in to comment.