Skip to content

Commit

Permalink
add register token in unrug ekubo but with 1 token unsused/burn
Browse files Browse the repository at this point in the history
  • Loading branch information
MSghais committed Jan 5, 2025
1 parent a369810 commit fd58245
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 27 deletions.
15 changes: 3 additions & 12 deletions onchain/cairo/launchpad/.snfoundry_cache/.prev_tests_failed
Original file line number Diff line number Diff line change
@@ -1,17 +1,8 @@
afk_launchpad::tests::launchpad_tests::launchpad_tests::test_launch_token
afk_launchpad::tests::launchpad_tests::launchpad_tests::test_get_all_launch_tokens_and_coins
afk_launchpad::tests::launchpad_tests::launchpad_tests::test_get_coin_amount_by_quote_amount_for_buy_steps
afk_launchpad::tests::launchpad_tests::launchpad_tests::test_get_coin_amount_by_quote_amount_for_buy_steps_exp
afk_launchpad::tests::launchpad_tests::launchpad_tests::launchpad_buy_all
afk_launchpad::tests::launchpad_tests::launchpad_tests::launchpad_buy_all_exp_curve
afk_launchpad::tests::launchpad_tests::launchpad_tests::test_launchpad_end_to_end_exponential
afk_launchpad::tests::launchpad_tests::launchpad_tests::test_set_protocol_fee_percent_non_admin
afk_launchpad::tests::launchpad_tests::launchpad_tests::test_launchpad_end_to_end_linear
afk_launchpad::tests::launchpad_tests::launchpad_tests::launchpad_buy_and_sell
afk_launchpad::tests::launchpad_tests::launchpad_tests::launchpad_buy_all_and_claim
afk_launchpad::tests::liquidity_tests::liquidity_tests::test_add_liquidity_ekubo
afk_launchpad::tests::unrug_tests::unrug_tests::test_add_liquidity_ekubo
afk_launchpad::tests::launchpad_tests::launchpad_tests::test_buy_coin_exp_with_different_supply
afk_launchpad::tests::launchpad_tests::launchpad_tests::launchpad_end_to_end
afk_launchpad::tests::launchpad_tests::launchpad_tests::launchpad_buy_and_sell_exp
afk_launchpad::tests::launchpad_tests::launchpad_tests::test_get_coin_amount_by_quote_amount_for_buy_steps_exp
afk_launchpad::tests::launchpad_tests::launchpad_tests::test_get_coin_amount_by_quote_amount_for_buy_steps
afk_launchpad::tests::launchpad_tests::launchpad_tests::test_buy_coin_with_different_supply
afk_launchpad::tests::launchpad_tests::launchpad_tests::test_buy_coin_exp_with_different_supply
49 changes: 34 additions & 15 deletions onchain/cairo/launchpad/src/launchpad/unrug.cairo
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ pub mod UnrugLiquidity {
ContractAddress, get_caller_address, storage_access::StorageBaseAddress,
contract_address_const, get_block_timestamp, get_contract_address, ClassHash
};
// use core::integer::{u32_wrapping_add, BoundedInt};

const MAX_SUPPLY: u256 = 100_000_000;
const INITIAL_SUPPLY: u256 = MAX_SUPPLY / 5;
const MAX_STEPS_LOOP: u256 = 100;
Expand Down Expand Up @@ -718,34 +720,51 @@ pub mod UnrugLiquidity {
fn _add_liquidity_ekubo(
ref self: ContractState,
coin_address: ContractAddress,
unrug_params: EkuboUnrugLaunchParameters
unrug_params_inputs: EkuboUnrugLaunchParameters
// unrug_params: EkuboUnrugLaunchParameters
) -> (u64, EkuboLP) {
let caller = get_caller_address();
// let mut unrug_params = unrug_params_inputs.clone();
let mut unrug_params = unrug_params_inputs;

let lp_meme_supply = unrug_params.lp_supply.clone();

let ekubo_core_address = self.core.read();
let ekubo_exchange_address = self.ekubo_exchange_address.read();
let memecoin = EKIERC20Dispatcher { contract_address: unrug_params.token_address };
let memecoin = EKIERC20Dispatcher {
contract_address: unrug_params.token_address.clone()
};

let positions_ekubo = self.positions.read();
// let positions_ekubo = self.positions.read();

let base_token = EKIERC20Dispatcher { contract_address: unrug_params.quote_address };
let base_token = EKIERC20Dispatcher {
contract_address: unrug_params.quote_address.clone()
};

let registry_address = self.ekubo_registry.read();
println!("registry_address {:?}", registry_address);

let registry = ITokenRegistryDispatcher { contract_address: registry_address };
// println!("transfer base token {:?}", registry_address);

let amount_register= 1000000000000000000;
// println!("base token amount",);

base_token.transfer(registry.contract_address, amount_register);
// println!("registry_address {:?}", registry_address);

let registry = ITokenRegistryDispatcher { contract_address: registry_address.clone() };

// let amount_register: u256 = 1000000000000000000;
// let amount_register = 1_u256;
let amount_register = 1000000000000000000;
// println!("register token amount {:?}", amount_register.clone());
// println!("transfer base token {:?}", registry_address.clone());

// memecoin.transfer(registry.contract_address, amount_register.clone());
// memecoin.transfer_from(caller, registry.contract_address, amount_register.clone());
ERC20ABIDispatcher { contract_address: unrug_params.token_address.clone() }
.transfer_from(unrug_params.owner, recipient: registry.contract_address, amount: amount_register);
// println!("register token",);

registry.register_token(EKIERC20Dispatcher { contract_address: unrug_params.token_address });

// // TODO substract amount register and check if amount_register is correct
registry
.register_token(
EKIERC20Dispatcher { contract_address: unrug_params.token_address.clone() }
);
unrug_params.lp_supply -= amount_register;
// println!("register ok add liquidity");

let core = ICoreDispatcher { contract_address: ekubo_core_address };

Expand Down

0 comments on commit fd58245

Please sign in to comment.