let token_a_amount = ctx
    .accounts
    .bonding_curve
    .real_sol_reserves
    .checked_sub(ctx.accounts.global.migrate_fee_amount)
    .ok_or(ContractError::ArithmeticError)?
    .checked_sub(40_000_000)  // Hardcoded 0.04 SOL for gas
    .ok_or(ContractError::ArithmeticError)?;
#[account]
#[derive(InitSpace, Debug)]
pub struct Global {
    // ... existing fields ...
    pub migration_gas_amount: u64,  // Add configurable gas amount
}

// In initialize_pool_with_config:
let token_a_amount = ctx
    .accounts
    .bonding_curve
    .real_sol_reserves
    .checked_sub(ctx.accounts.global.migrate_fee_amount)
    .ok_or(ContractError::ArithmeticError)?
    .checked_sub(ctx.accounts.global.migration_gas_amount)
    .ok_or(ContractError::ArithmeticError)?;
