Skip to content

Commit ddc0554

Browse files
committed
fix: Remove transfer inside seedLiquiditySingleBin func
1 parent 5ecf60f commit ddc0554

File tree

2 files changed

+22
-18
lines changed

2 files changed

+22
-18
lines changed

ts-client/src/dlmm/index.ts

-17
Original file line numberDiff line numberDiff line change
@@ -4381,23 +4381,6 @@ export class DLMM {
43814381
true
43824382
);
43834383

4384-
const positionOwnerTokenXAccount = await this.program.provider.connection.getAccountInfo(positionOwnerTokenX);
4385-
if (positionOwnerTokenXAccount) {
4386-
const account = AccountLayout.decode(positionOwnerTokenXAccount.data);
4387-
if (account.amount == BigInt(0)) {
4388-
// send 1 lamport to position owner token X to prove ownership
4389-
const transferIx = createTransferInstruction(operatorTokenX, positionOwnerTokenX, payer, 1);
4390-
preInstructions.push(transferIx);
4391-
}
4392-
} else {
4393-
const createPositionOwnerTokenXIx = createAssociatedTokenAccountInstruction(payer, positionOwnerTokenX, positionOwner, this.lbPair.tokenXMint);
4394-
preInstructions.push(createPositionOwnerTokenXIx);
4395-
4396-
// send 1 lamport to position owner token X to prove ownership
4397-
const transferIx = createTransferInstruction(operatorTokenX, positionOwnerTokenX, payer, 1);
4398-
preInstructions.push(transferIx);
4399-
}
4400-
44014384
const lowerBinArrayAccount = accounts[0];
44024385
const upperBinArrayAccount = accounts[1];
44034386
const positionAccount = accounts[2];

ts-client/src/test/single_bin.test.ts

+22-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
import { BN, web3 } from "@coral-xyz/anchor";
22
import {
33
ASSOCIATED_TOKEN_PROGRAM_ID,
4+
AccountLayout,
45
TOKEN_PROGRAM_ID,
6+
createAssociatedTokenAccount,
57
createMint,
8+
getAssociatedTokenAddressSync,
69
getOrCreateAssociatedTokenAccount,
710
mintTo,
11+
transfer,
812
} from "@solana/spl-token";
913
import {
1014
Connection,
@@ -24,6 +28,7 @@ import {
2428
} from "../dlmm/helpers";
2529
import { DLMM } from "../dlmm/index";
2630
import { ActivationType } from "../dlmm/types";
31+
import e from "express";
2732

2833
const keypairBuffer = fs.readFileSync(
2934
"../keys/localnet/admin-bossj3JvwiNK7pvjr149DqdtJxf2gdygbcmEPTkb2F1.json",
@@ -54,6 +59,7 @@ describe("Single Bin Seed Liquidity Test", () => {
5459
let userUSDC: web3.PublicKey;
5560
let pairKey: web3.PublicKey;
5661
let pair: DLMM;
62+
let positionOwnerTokenX: web3.PublicKey;
5763

5864
const initialPricePerLamport = DLMM.getPricePerLamport(wenDecimal, usdcDecimal, initialPrice);
5965
const binId = DLMM.getBinIdFromPrice(initialPricePerLamport, binStep, false);
@@ -172,9 +178,24 @@ describe("Single Bin Seed Liquidity Test", () => {
172178
cluster: "localhost",
173179
});
174180

181+
positionOwnerTokenX = getAssociatedTokenAddressSync(
182+
WEN, positionOwnerKeypair.publicKey, true
183+
);
175184
});
176185

177186
it("seed liquidity single bin", async () => {
187+
const positionOwnerTokenXAccount = await connection.getAccountInfo(positionOwnerTokenX);
188+
189+
if (positionOwnerTokenXAccount) {
190+
const account = AccountLayout.decode(positionOwnerTokenXAccount.data);
191+
if (account.amount == BigInt(0)) {
192+
await transfer(connection, owner, userWEN, positionOwnerTokenX, owner, 1);
193+
}
194+
} else {
195+
await createAssociatedTokenAccount(connection, owner, WEN, positionOwnerKeypair.publicKey);
196+
await transfer(connection, owner, userWEN, positionOwnerTokenX, owner, 1);
197+
}
198+
178199
const ixs = await pair.seedLiquiditySingleBin(
179200
owner.publicKey,
180201
baseKeypair.publicKey,
@@ -212,7 +233,7 @@ describe("Single Bin Seed Liquidity Test", () => {
212233
.then((i) => new BN(i.value.amount));
213234

214235
// minus 1 send to positionOwnerTokenX account
215-
const actualDepositedAmount = beforeTokenXBalance.sub(afterTokenXBalance).sub(new BN(1));
236+
const actualDepositedAmount = beforeTokenXBalance.sub(afterTokenXBalance);
216237
expect(actualDepositedAmount.toString()).toEqual(wenSeedAmount.toString());
217238
})
218239

0 commit comments

Comments
 (0)