From 9a46642433eb49c8c1f8f0bdf39b1406870bc71b Mon Sep 17 00:00:00 2001 From: yugure-orca <109891005+yugure-orca@users.noreply.github.com> Date: Thu, 16 Mar 2023 17:44:48 +0900 Subject: [PATCH] fix: test cases (tokenAIsNative related) (#92) * fix: test cases (tokenAIsNative related) --- sdk/tests/utils/fixture.ts | 4 ++-- sdk/tests/utils/swap-test-utils.ts | 2 +- sdk/tests/utils/test-builders.ts | 12 +++++++++--- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/sdk/tests/utils/fixture.ts b/sdk/tests/utils/fixture.ts index 032cdf0..472b70e 100644 --- a/sdk/tests/utils/fixture.ts +++ b/sdk/tests/utils/fixture.ts @@ -1,5 +1,5 @@ import { PublicKey, Keypair } from "@solana/web3.js"; -import { u64 } from "@solana/spl-token"; +import { NATIVE_MINT, u64 } from "@solana/spl-token"; import { InitConfigParams, InitPoolParams, TickUtil, WhirlpoolContext } from "../../src"; import { FundedPositionInfo, @@ -54,7 +54,7 @@ export class WhirlpoolTestFixture { tickSpacing, initialSqrtPrice, undefined, - tokenAIsNative + tokenAIsNative ? NATIVE_MINT : undefined ); this.poolInitInfo = poolInitInfo; diff --git a/sdk/tests/utils/swap-test-utils.ts b/sdk/tests/utils/swap-test-utils.ts index a3e791f..a4bd01d 100644 --- a/sdk/tests/utils/swap-test-utils.ts +++ b/sdk/tests/utils/swap-test-utils.ts @@ -39,7 +39,7 @@ export async function setupSwapTest(setup: SwapTestPoolParams, tokenAIsNative = setup.tickSpacing, setup.initSqrtPrice, setup.tokenMintAmount, - NATIVE_MINT + tokenAIsNative ? NATIVE_MINT : undefined ); const whirlpool = await setup.client.getPool(whirlpoolPda.publicKey, true); diff --git a/sdk/tests/utils/test-builders.ts b/sdk/tests/utils/test-builders.ts index 3db4756..0a95868 100644 --- a/sdk/tests/utils/test-builders.ts +++ b/sdk/tests/utils/test-builders.ts @@ -56,9 +56,15 @@ export const generateDefaultConfigParams = ( export const createInOrderMints = async (context: WhirlpoolContext, reuseTokenA?: PublicKey) => { const provider = context.provider; - const tokenXMintPubKey = reuseTokenA || (await createMint(provider)); - const tokenYMintPubKey = await createMint(provider); - return PoolUtil.orderMints(tokenXMintPubKey, tokenYMintPubKey).map(AddressUtil.toPubKey); + const tokenXMintPubKey = reuseTokenA ?? (await createMint(provider)); + + // ensure reuseTokenA is the first mint if reuseTokenA is provided + let ordered; + do { + const tokenYMintPubKey = await createMint(provider); + ordered = PoolUtil.orderMints(tokenXMintPubKey, tokenYMintPubKey).map(AddressUtil.toPubKey); + } while (!!reuseTokenA && !ordered[0].equals(reuseTokenA)); + return ordered; }; export const generateDefaultInitPoolParams = async (