pinpet-sdk 2.0.3 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pinpet-sdk.cjs.js +98 -285
- package/dist/pinpet-sdk.cjs.js.map +1 -1
- package/dist/pinpet-sdk.esm.js +201 -388
- package/dist/pinpet-sdk.esm.js.map +1 -1
- package/dist/pinpet-sdk.js +201 -388
- package/dist/pinpet-sdk.js.map +1 -1
- package/package.json +1 -1
- package/src/idl/pinpet.json +50 -176
- package/src/modules/tools.js +4 -65
package/dist/pinpet-sdk.cjs.js
CHANGED
|
@@ -15628,7 +15628,7 @@ const { ComputeBudgetProgram: ComputeBudgetProgram$1, PublicKey: PublicKey$6, Tr
|
|
|
15628
15628
|
const { createAssociatedTokenAccountInstruction: createAssociatedTokenAccountInstruction$1, getAssociatedTokenAddress: getAssociatedTokenAddress$2, TOKEN_PROGRAM_ID: TOKEN_PROGRAM_ID$2, ASSOCIATED_TOKEN_PROGRAM_ID: ASSOCIATED_TOKEN_PROGRAM_ID$2 } = cjs$3;
|
|
15629
15629
|
const anchor$4 = require$$0__default$3["default"];
|
|
15630
15630
|
// 统一使用 buffer 包,所有平台一致
|
|
15631
|
-
const { Buffer: Buffer$
|
|
15631
|
+
const { Buffer: Buffer$6 } = require$$3__default["default"];
|
|
15632
15632
|
const { MAX_CANDIDATE_INDICES: MAX_CANDIDATE_INDICES$2 } = utils$2;
|
|
15633
15633
|
|
|
15634
15634
|
// 环境检测和条件加载
|
|
@@ -15677,12 +15677,12 @@ class TradingModule$1 {
|
|
|
15677
15677
|
|
|
15678
15678
|
// 3. Calculate orderbook PDAs
|
|
15679
15679
|
const [upOrderbook] = PublicKey$6.findProgramAddressSync(
|
|
15680
|
-
[Buffer$
|
|
15680
|
+
[Buffer$6.from('up_orderbook'), mint.toBuffer()],
|
|
15681
15681
|
this.sdk.programId
|
|
15682
15682
|
);
|
|
15683
15683
|
|
|
15684
15684
|
const [downOrderbook] = PublicKey$6.findProgramAddressSync(
|
|
15685
|
-
[Buffer$
|
|
15685
|
+
[Buffer$6.from('down_orderbook'), mint.toBuffer()],
|
|
15686
15686
|
this.sdk.programId
|
|
15687
15687
|
);
|
|
15688
15688
|
|
|
@@ -15713,7 +15713,7 @@ class TradingModule$1 {
|
|
|
15713
15713
|
// 6.5. Calculate cooldown PDA
|
|
15714
15714
|
const [cooldownPDA] = PublicKey$6.findProgramAddressSync(
|
|
15715
15715
|
[
|
|
15716
|
-
Buffer$
|
|
15716
|
+
Buffer$6.from('trade_cooldown'),
|
|
15717
15717
|
mint.toBuffer(),
|
|
15718
15718
|
payer.toBuffer()
|
|
15719
15719
|
],
|
|
@@ -15813,12 +15813,12 @@ class TradingModule$1 {
|
|
|
15813
15813
|
|
|
15814
15814
|
// 3. Calculate orderbook PDAs
|
|
15815
15815
|
const [upOrderbook] = PublicKey$6.findProgramAddressSync(
|
|
15816
|
-
[Buffer$
|
|
15816
|
+
[Buffer$6.from('up_orderbook'), mint.toBuffer()],
|
|
15817
15817
|
this.sdk.programId
|
|
15818
15818
|
);
|
|
15819
15819
|
|
|
15820
15820
|
const [downOrderbook] = PublicKey$6.findProgramAddressSync(
|
|
15821
|
-
[Buffer$
|
|
15821
|
+
[Buffer$6.from('down_orderbook'), mint.toBuffer()],
|
|
15822
15822
|
this.sdk.programId
|
|
15823
15823
|
);
|
|
15824
15824
|
|
|
@@ -15849,7 +15849,7 @@ class TradingModule$1 {
|
|
|
15849
15849
|
// 6.5. Calculate cooldown PDA
|
|
15850
15850
|
const [cooldownPDA] = PublicKey$6.findProgramAddressSync(
|
|
15851
15851
|
[
|
|
15852
|
-
Buffer$
|
|
15852
|
+
Buffer$6.from('trade_cooldown'),
|
|
15853
15853
|
mint.toBuffer(),
|
|
15854
15854
|
payer.toBuffer()
|
|
15855
15855
|
],
|
|
@@ -15962,12 +15962,12 @@ class TradingModule$1 {
|
|
|
15962
15962
|
|
|
15963
15963
|
// 3. Calculate OrderBook PDA addresses
|
|
15964
15964
|
const [upOrderbook] = PublicKey$6.findProgramAddressSync(
|
|
15965
|
-
[Buffer$
|
|
15965
|
+
[Buffer$6.from("up_orderbook"), mint.toBuffer()],
|
|
15966
15966
|
this.sdk.programId
|
|
15967
15967
|
);
|
|
15968
15968
|
|
|
15969
15969
|
const [downOrderbook] = PublicKey$6.findProgramAddressSync(
|
|
15970
|
-
[Buffer$
|
|
15970
|
+
[Buffer$6.from("down_orderbook"), mint.toBuffer()],
|
|
15971
15971
|
this.sdk.programId
|
|
15972
15972
|
);
|
|
15973
15973
|
|
|
@@ -16073,12 +16073,12 @@ class TradingModule$1 {
|
|
|
16073
16073
|
|
|
16074
16074
|
// 3. Calculate OrderBook PDA addresses
|
|
16075
16075
|
const [upOrderbook] = PublicKey$6.findProgramAddressSync(
|
|
16076
|
-
[Buffer$
|
|
16076
|
+
[Buffer$6.from("up_orderbook"), mint.toBuffer()],
|
|
16077
16077
|
this.sdk.programId
|
|
16078
16078
|
);
|
|
16079
16079
|
|
|
16080
16080
|
const [downOrderbook] = PublicKey$6.findProgramAddressSync(
|
|
16081
|
-
[Buffer$
|
|
16081
|
+
[Buffer$6.from("down_orderbook"), mint.toBuffer()],
|
|
16082
16082
|
this.sdk.programId
|
|
16083
16083
|
);
|
|
16084
16084
|
|
|
@@ -16212,12 +16212,12 @@ class TradingModule$1 {
|
|
|
16212
16212
|
|
|
16213
16213
|
// 3. 计算 OrderBook PDA 地址 / Calculate OrderBook PDA addresses
|
|
16214
16214
|
const [upOrderbook] = PublicKey$6.findProgramAddressSync(
|
|
16215
|
-
[Buffer$
|
|
16215
|
+
[Buffer$6.from('up_orderbook'), mint.toBuffer()],
|
|
16216
16216
|
this.sdk.programId
|
|
16217
16217
|
);
|
|
16218
16218
|
|
|
16219
16219
|
const [downOrderbook] = PublicKey$6.findProgramAddressSync(
|
|
16220
|
-
[Buffer$
|
|
16220
|
+
[Buffer$6.from('down_orderbook'), mint.toBuffer()],
|
|
16221
16221
|
this.sdk.programId
|
|
16222
16222
|
);
|
|
16223
16223
|
|
|
@@ -16361,12 +16361,12 @@ class TradingModule$1 {
|
|
|
16361
16361
|
|
|
16362
16362
|
// 3. 计算 OrderBook PDA 地址 / Calculate OrderBook PDA addresses
|
|
16363
16363
|
const [upOrderbook] = PublicKey$6.findProgramAddressSync(
|
|
16364
|
-
[Buffer$
|
|
16364
|
+
[Buffer$6.from('up_orderbook'), mint.toBuffer()],
|
|
16365
16365
|
this.sdk.programId
|
|
16366
16366
|
);
|
|
16367
16367
|
|
|
16368
16368
|
const [downOrderbook] = PublicKey$6.findProgramAddressSync(
|
|
16369
|
-
[Buffer$
|
|
16369
|
+
[Buffer$6.from('down_orderbook'), mint.toBuffer()],
|
|
16370
16370
|
this.sdk.programId
|
|
16371
16371
|
);
|
|
16372
16372
|
|
|
@@ -16443,19 +16443,19 @@ class TradingModule$1 {
|
|
|
16443
16443
|
_calculatePDAAccounts(mintAccount) {
|
|
16444
16444
|
// 计算曲线账户 PDA
|
|
16445
16445
|
const [curveAccount] = PublicKey$6.findProgramAddressSync(
|
|
16446
|
-
[Buffer$
|
|
16446
|
+
[Buffer$6.from('borrowing_curve'), mintAccount.toBuffer()],
|
|
16447
16447
|
this.sdk.programId
|
|
16448
16448
|
);
|
|
16449
16449
|
|
|
16450
16450
|
// 计算池子代币账户 PDA
|
|
16451
16451
|
const [poolTokenAccount] = PublicKey$6.findProgramAddressSync(
|
|
16452
|
-
[Buffer$
|
|
16452
|
+
[Buffer$6.from('pool_token'), mintAccount.toBuffer()],
|
|
16453
16453
|
this.sdk.programId
|
|
16454
16454
|
);
|
|
16455
16455
|
|
|
16456
16456
|
// 计算池子 SOL 账户 PDA
|
|
16457
16457
|
const [poolSolAccount] = PublicKey$6.findProgramAddressSync(
|
|
16458
|
-
[Buffer$
|
|
16458
|
+
[Buffer$6.from('pool_sol'), mintAccount.toBuffer()],
|
|
16459
16459
|
this.sdk.programId
|
|
16460
16460
|
);
|
|
16461
16461
|
|
|
@@ -16477,7 +16477,7 @@ const { ComputeBudgetProgram, PublicKey: PublicKey$5, Transaction: Transaction$1
|
|
|
16477
16477
|
const { TOKEN_PROGRAM_ID: TOKEN_PROGRAM_ID$1, getAssociatedTokenAddress: getAssociatedTokenAddress$1, createAssociatedTokenAccountInstruction, ASSOCIATED_TOKEN_PROGRAM_ID: ASSOCIATED_TOKEN_PROGRAM_ID$1 } = cjs$3;
|
|
16478
16478
|
const anchor$3 = require$$0__default$3["default"];
|
|
16479
16479
|
// 统一使用 buffer 包,所有平台一致
|
|
16480
|
-
const { Buffer: Buffer$
|
|
16480
|
+
const { Buffer: Buffer$5 } = require$$3__default["default"];
|
|
16481
16481
|
|
|
16482
16482
|
// Metaplex Token Metadata 程序ID
|
|
16483
16483
|
const METADATA_PROGRAM_ID = new PublicKey$5("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s");
|
|
@@ -16519,7 +16519,7 @@ class TokenModule$1 {
|
|
|
16519
16519
|
// Calculate borrowing liquidity pool account address (borrowing_curve)
|
|
16520
16520
|
const [curveAccount] = PublicKey$5.findProgramAddressSync(
|
|
16521
16521
|
[
|
|
16522
|
-
Buffer$
|
|
16522
|
+
Buffer$5.from("borrowing_curve"),
|
|
16523
16523
|
mint.publicKey.toBuffer(),
|
|
16524
16524
|
],
|
|
16525
16525
|
this.sdk.programId
|
|
@@ -16528,7 +16528,7 @@ class TokenModule$1 {
|
|
|
16528
16528
|
// Calculate liquidity pool token account address (pool_token)
|
|
16529
16529
|
const [poolTokenAccount] = PublicKey$5.findProgramAddressSync(
|
|
16530
16530
|
[
|
|
16531
|
-
Buffer$
|
|
16531
|
+
Buffer$5.from("pool_token"),
|
|
16532
16532
|
mint.publicKey.toBuffer(),
|
|
16533
16533
|
],
|
|
16534
16534
|
this.sdk.programId
|
|
@@ -16537,7 +16537,7 @@ class TokenModule$1 {
|
|
|
16537
16537
|
// Calculate liquidity pool SOL account address (pool_sol)
|
|
16538
16538
|
const [poolSolAccount] = PublicKey$5.findProgramAddressSync(
|
|
16539
16539
|
[
|
|
16540
|
-
Buffer$
|
|
16540
|
+
Buffer$5.from("pool_sol"),
|
|
16541
16541
|
mint.publicKey.toBuffer(),
|
|
16542
16542
|
],
|
|
16543
16543
|
this.sdk.programId
|
|
@@ -16546,7 +16546,7 @@ class TokenModule$1 {
|
|
|
16546
16546
|
// Calculate order book accounts (new)
|
|
16547
16547
|
const [upOrderbook] = PublicKey$5.findProgramAddressSync(
|
|
16548
16548
|
[
|
|
16549
|
-
Buffer$
|
|
16549
|
+
Buffer$5.from("up_orderbook"),
|
|
16550
16550
|
mint.publicKey.toBuffer(),
|
|
16551
16551
|
],
|
|
16552
16552
|
this.sdk.programId
|
|
@@ -16554,7 +16554,7 @@ class TokenModule$1 {
|
|
|
16554
16554
|
|
|
16555
16555
|
const [downOrderbook] = PublicKey$5.findProgramAddressSync(
|
|
16556
16556
|
[
|
|
16557
|
-
Buffer$
|
|
16557
|
+
Buffer$5.from("down_orderbook"),
|
|
16558
16558
|
mint.publicKey.toBuffer(),
|
|
16559
16559
|
],
|
|
16560
16560
|
this.sdk.programId
|
|
@@ -16563,7 +16563,7 @@ class TokenModule$1 {
|
|
|
16563
16563
|
// Calculate Metaplex metadata account address
|
|
16564
16564
|
const [metadataAccount] = PublicKey$5.findProgramAddressSync(
|
|
16565
16565
|
[
|
|
16566
|
-
Buffer$
|
|
16566
|
+
Buffer$5.from("metadata"),
|
|
16567
16567
|
METADATA_PROGRAM_ID.toBuffer(),
|
|
16568
16568
|
mint.publicKey.toBuffer(),
|
|
16569
16569
|
],
|
|
@@ -16715,7 +16715,7 @@ class TokenModule$1 {
|
|
|
16715
16715
|
// 计算 cooldown PDA
|
|
16716
16716
|
const [cooldownPDA] = PublicKey$5.findProgramAddressSync(
|
|
16717
16717
|
[
|
|
16718
|
-
Buffer$
|
|
16718
|
+
Buffer$5.from('trade_cooldown'),
|
|
16719
16719
|
mintPubkey.toBuffer(),
|
|
16720
16720
|
payer.toBuffer()
|
|
16721
16721
|
],
|
|
@@ -16724,12 +16724,12 @@ class TokenModule$1 {
|
|
|
16724
16724
|
|
|
16725
16725
|
// 计算 orderbook PDAs (复用 create 中计算的值)
|
|
16726
16726
|
const [upOrderbook] = PublicKey$5.findProgramAddressSync(
|
|
16727
|
-
[Buffer$
|
|
16727
|
+
[Buffer$5.from('up_orderbook'), mintPubkey.toBuffer()],
|
|
16728
16728
|
this.sdk.programId
|
|
16729
16729
|
);
|
|
16730
16730
|
|
|
16731
16731
|
const [downOrderbook] = PublicKey$5.findProgramAddressSync(
|
|
16732
|
-
[Buffer$
|
|
16732
|
+
[Buffer$5.from('down_orderbook'), mintPubkey.toBuffer()],
|
|
16733
16733
|
this.sdk.programId
|
|
16734
16734
|
);
|
|
16735
16735
|
|
|
@@ -16834,7 +16834,7 @@ var token = TokenModule$1;
|
|
|
16834
16834
|
|
|
16835
16835
|
const { PublicKey: PublicKey$4, Transaction, SystemProgram: SystemProgram$1 } = require$$0__default["default"];
|
|
16836
16836
|
// 统一使用 buffer 包,所有平台一致
|
|
16837
|
-
const { Buffer: Buffer$
|
|
16837
|
+
const { Buffer: Buffer$4 } = require$$3__default["default"];
|
|
16838
16838
|
|
|
16839
16839
|
/**
|
|
16840
16840
|
* Parameter Module
|
|
@@ -16858,13 +16858,13 @@ class ParamModule$1 {
|
|
|
16858
16858
|
|
|
16859
16859
|
// Calculate Admin account address (globally unique)
|
|
16860
16860
|
const [adminAccount] = PublicKey$4.findProgramAddressSync(
|
|
16861
|
-
[Buffer$
|
|
16861
|
+
[Buffer$4.from("admin")],
|
|
16862
16862
|
this.sdk.programId
|
|
16863
16863
|
);
|
|
16864
16864
|
|
|
16865
16865
|
// Calculate partner parameters account address (using partner address as seed)
|
|
16866
16866
|
const [paramsAccount] = PublicKey$4.findProgramAddressSync(
|
|
16867
|
-
[Buffer$
|
|
16867
|
+
[Buffer$4.from("params"), partner.toBuffer()],
|
|
16868
16868
|
this.sdk.programId
|
|
16869
16869
|
);
|
|
16870
16870
|
|
|
@@ -16908,7 +16908,7 @@ class ParamModule$1 {
|
|
|
16908
16908
|
async getParams(partner) {
|
|
16909
16909
|
// 计算合作伙伴参数账户地址
|
|
16910
16910
|
const [paramsAccount] = PublicKey$4.findProgramAddressSync(
|
|
16911
|
-
[Buffer$
|
|
16911
|
+
[Buffer$4.from("params"), partner.toBuffer()],
|
|
16912
16912
|
this.sdk.programId
|
|
16913
16913
|
);
|
|
16914
16914
|
|
|
@@ -16945,7 +16945,7 @@ class ParamModule$1 {
|
|
|
16945
16945
|
async getAdmin() {
|
|
16946
16946
|
// Calculate Admin account address
|
|
16947
16947
|
const [adminAccount] = PublicKey$4.findProgramAddressSync(
|
|
16948
|
-
[Buffer$
|
|
16948
|
+
[Buffer$4.from("admin")],
|
|
16949
16949
|
this.sdk.programId
|
|
16950
16950
|
);
|
|
16951
16951
|
|
|
@@ -16982,7 +16982,7 @@ class ParamModule$1 {
|
|
|
16982
16982
|
*/
|
|
16983
16983
|
getParamsAddress(partner) {
|
|
16984
16984
|
const [paramsAccount] = PublicKey$4.findProgramAddressSync(
|
|
16985
|
-
[Buffer$
|
|
16985
|
+
[Buffer$4.from("params"), partner.toBuffer()],
|
|
16986
16986
|
this.sdk.programId
|
|
16987
16987
|
);
|
|
16988
16988
|
return paramsAccount;
|
|
@@ -16994,7 +16994,7 @@ class ParamModule$1 {
|
|
|
16994
16994
|
*/
|
|
16995
16995
|
getAdminAddress() {
|
|
16996
16996
|
const [adminAccount] = PublicKey$4.findProgramAddressSync(
|
|
16997
|
-
[Buffer$
|
|
16997
|
+
[Buffer$4.from("admin")],
|
|
16998
16998
|
this.sdk.programId
|
|
16999
16999
|
);
|
|
17000
17000
|
return adminAccount;
|
|
@@ -47234,7 +47234,7 @@ const { PublicKey: PublicKey$3 } = require$$0__default["default"];
|
|
|
47234
47234
|
const anchor$2 = require$$0__default$3["default"];
|
|
47235
47235
|
const CurveAMM$2 = curve_amm;
|
|
47236
47236
|
// 统一使用 buffer 包,所有平台一致
|
|
47237
|
-
const { Buffer: Buffer$
|
|
47237
|
+
const { Buffer: Buffer$3 } = require$$3__default["default"];
|
|
47238
47238
|
|
|
47239
47239
|
/**
|
|
47240
47240
|
* Chain Data Module
|
|
@@ -47380,7 +47380,7 @@ class ChainModule$1 {
|
|
|
47380
47380
|
// Use the same seeds as in the contract: [b"borrowing_curve", mint_account.key().as_ref()]
|
|
47381
47381
|
const [curveAccountPDA] = PublicKey$3.findProgramAddressSync(
|
|
47382
47382
|
[
|
|
47383
|
-
Buffer$
|
|
47383
|
+
Buffer$3.from("borrowing_curve"),
|
|
47384
47384
|
mintPubkey.toBuffer()
|
|
47385
47385
|
],
|
|
47386
47386
|
this.sdk.programId
|
|
@@ -47418,7 +47418,7 @@ class ChainModule$1 {
|
|
|
47418
47418
|
// Calculate pool account PDA addresses
|
|
47419
47419
|
const [poolTokenAccountPDA] = PublicKey$3.findProgramAddressSync(
|
|
47420
47420
|
[
|
|
47421
|
-
Buffer$
|
|
47421
|
+
Buffer$3.from("pool_token"),
|
|
47422
47422
|
mintPubkey.toBuffer()
|
|
47423
47423
|
],
|
|
47424
47424
|
this.sdk.programId
|
|
@@ -47426,7 +47426,7 @@ class ChainModule$1 {
|
|
|
47426
47426
|
|
|
47427
47427
|
const [poolSolAccountPDA] = PublicKey$3.findProgramAddressSync(
|
|
47428
47428
|
[
|
|
47429
|
-
Buffer$
|
|
47429
|
+
Buffer$3.from("pool_sol"),
|
|
47430
47430
|
mintPubkey.toBuffer()
|
|
47431
47431
|
],
|
|
47432
47432
|
this.sdk.programId
|
|
@@ -47518,7 +47518,7 @@ class ChainModule$1 {
|
|
|
47518
47518
|
|
|
47519
47519
|
const [curveAccountPDA] = PublicKey$3.findProgramAddressSync(
|
|
47520
47520
|
[
|
|
47521
|
-
Buffer$
|
|
47521
|
+
Buffer$3.from("borrowing_curve"),
|
|
47522
47522
|
mintPubkey.toBuffer()
|
|
47523
47523
|
],
|
|
47524
47524
|
this.sdk.programId
|
|
@@ -47560,7 +47560,7 @@ class ChainModule$1 {
|
|
|
47560
47560
|
// Calculate curve_account PDA address
|
|
47561
47561
|
const [curveAccountPDA] = PublicKey$3.findProgramAddressSync(
|
|
47562
47562
|
[
|
|
47563
|
-
Buffer$
|
|
47563
|
+
Buffer$3.from("borrowing_curve"),
|
|
47564
47564
|
mintPubkey.toBuffer()
|
|
47565
47565
|
],
|
|
47566
47566
|
this.sdk.programId
|
|
@@ -48506,6 +48506,8 @@ var chain = ChainModule$1;
|
|
|
48506
48506
|
const anchor$1 = require$$0__default$3["default"];
|
|
48507
48507
|
const { PublicKey: PublicKey$2, SystemProgram, SYSVAR_RENT_PUBKEY } = require$$0__default["default"];
|
|
48508
48508
|
const { getAssociatedTokenAddress, TOKEN_PROGRAM_ID, ASSOCIATED_TOKEN_PROGRAM_ID } = cjs$3;
|
|
48509
|
+
// 统一使用 buffer 包,所有平台一致
|
|
48510
|
+
const { Buffer: Buffer$2 } = require$$3__default["default"];
|
|
48509
48511
|
|
|
48510
48512
|
/**
|
|
48511
48513
|
* Tools Module
|
|
@@ -48558,32 +48560,6 @@ class ToolsModule$1 {
|
|
|
48558
48560
|
const mintPubkey = typeof mint === 'string' ? new PublicKey$2(mint) : mint;
|
|
48559
48561
|
const walletPubkey = wallet.publicKey;
|
|
48560
48562
|
|
|
48561
|
-
// Calculate required PDA account addresses
|
|
48562
|
-
const [curveAccount] = PublicKey$2.findProgramAddressSync(
|
|
48563
|
-
[Buffer.from('borrowing_curve'), mintPubkey.toBuffer()],
|
|
48564
|
-
this.sdk.programId
|
|
48565
|
-
);
|
|
48566
|
-
|
|
48567
|
-
const [poolTokenAccount] = PublicKey$2.findProgramAddressSync(
|
|
48568
|
-
[Buffer.from('pool_token'), mintPubkey.toBuffer()],
|
|
48569
|
-
this.sdk.programId
|
|
48570
|
-
);
|
|
48571
|
-
|
|
48572
|
-
const [poolSolAccount] = PublicKey$2.findProgramAddressSync(
|
|
48573
|
-
[Buffer.from('pool_sol'), mintPubkey.toBuffer()],
|
|
48574
|
-
this.sdk.programId
|
|
48575
|
-
);
|
|
48576
|
-
|
|
48577
|
-
const [upOrderbook] = PublicKey$2.findProgramAddressSync(
|
|
48578
|
-
[Buffer.from('up_orderbook'), mintPubkey.toBuffer()],
|
|
48579
|
-
this.sdk.programId
|
|
48580
|
-
);
|
|
48581
|
-
|
|
48582
|
-
const [downOrderbook] = PublicKey$2.findProgramAddressSync(
|
|
48583
|
-
[Buffer.from('down_orderbook'), mintPubkey.toBuffer()],
|
|
48584
|
-
this.sdk.programId
|
|
48585
|
-
);
|
|
48586
|
-
|
|
48587
48563
|
// Calculate user token account
|
|
48588
48564
|
const userTokenAccount = await getAssociatedTokenAddress(
|
|
48589
48565
|
mintPubkey,
|
|
@@ -48593,59 +48569,28 @@ class ToolsModule$1 {
|
|
|
48593
48569
|
// Calculate trade cooldown PDA
|
|
48594
48570
|
const [cooldown] = PublicKey$2.findProgramAddressSync(
|
|
48595
48571
|
[
|
|
48596
|
-
Buffer.from('trade_cooldown'),
|
|
48572
|
+
Buffer$2.from('trade_cooldown'),
|
|
48597
48573
|
mintPubkey.toBuffer(),
|
|
48598
48574
|
walletPubkey.toBuffer()
|
|
48599
48575
|
],
|
|
48600
48576
|
this.sdk.programId
|
|
48601
48577
|
);
|
|
48602
48578
|
|
|
48603
|
-
// Get curve account to fetch fee recipient addresses
|
|
48604
|
-
// Use manual fetch method to avoid provider issues
|
|
48605
|
-
const curveAccountInfo = await this.sdk.connection.getAccountInfo(curveAccount);
|
|
48606
|
-
if (!curveAccountInfo) {
|
|
48607
|
-
throw new Error(`Curve account does not exist for mint: ${mint}`);
|
|
48608
|
-
}
|
|
48609
|
-
|
|
48610
|
-
const accountsCoder = new anchor$1.BorshAccountsCoder(this.sdk.program.idl);
|
|
48611
|
-
let curveAccountData;
|
|
48612
|
-
try {
|
|
48613
|
-
curveAccountData = accountsCoder.decode('BorrowingBondingCurve', curveAccountInfo.data);
|
|
48614
|
-
} catch (e1) {
|
|
48615
|
-
try {
|
|
48616
|
-
curveAccountData = accountsCoder.decode('borrowingBondingCurve', curveAccountInfo.data);
|
|
48617
|
-
} catch (e2) {
|
|
48618
|
-
throw new Error(`Cannot decode curve account: ${e1.message}`);
|
|
48619
|
-
}
|
|
48620
|
-
}
|
|
48621
|
-
|
|
48622
48579
|
// Build transaction
|
|
48623
48580
|
const transaction = await this.sdk.program.methods
|
|
48624
48581
|
.approveTrade()
|
|
48625
48582
|
.accounts({
|
|
48626
48583
|
payer: walletPubkey,
|
|
48627
48584
|
mintAccount: mintPubkey,
|
|
48628
|
-
curveAccount: curveAccount,
|
|
48629
|
-
poolTokenAccount: poolTokenAccount,
|
|
48630
|
-
poolSolAccount: poolSolAccount,
|
|
48631
|
-
upOrderbook: upOrderbook,
|
|
48632
|
-
downOrderbook: downOrderbook,
|
|
48633
48585
|
userTokenAccount: userTokenAccount,
|
|
48586
|
+
cooldown: cooldown,
|
|
48634
48587
|
tokenProgram: TOKEN_PROGRAM_ID,
|
|
48588
|
+
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
48635
48589
|
systemProgram: SystemProgram.programId,
|
|
48636
48590
|
rent: SYSVAR_RENT_PUBKEY,
|
|
48637
|
-
associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
|
|
48638
|
-
feeRecipientAccount: curveAccountData.feeRecipient,
|
|
48639
|
-
baseFeeRecipientAccount: curveAccountData.baseFeeRecipient,
|
|
48640
|
-
cooldown: cooldown,
|
|
48641
48591
|
})
|
|
48642
48592
|
.transaction();
|
|
48643
48593
|
|
|
48644
|
-
// Get latest blockhash
|
|
48645
|
-
const { blockhash } = await this.sdk.connection.getLatestBlockhash();
|
|
48646
|
-
transaction.recentBlockhash = blockhash;
|
|
48647
|
-
transaction.feePayer = walletPubkey;
|
|
48648
|
-
|
|
48649
48594
|
// Return result
|
|
48650
48595
|
return {
|
|
48651
48596
|
transaction,
|
|
@@ -48653,7 +48598,6 @@ class ToolsModule$1 {
|
|
|
48653
48598
|
accounts: {
|
|
48654
48599
|
payer: walletPubkey,
|
|
48655
48600
|
mintAccount: mintPubkey,
|
|
48656
|
-
curveAccount: curveAccount,
|
|
48657
48601
|
userTokenAccount: userTokenAccount,
|
|
48658
48602
|
cooldown: cooldown,
|
|
48659
48603
|
}
|
|
@@ -48715,7 +48659,7 @@ class ToolsModule$1 {
|
|
|
48715
48659
|
// Calculate trade cooldown PDA
|
|
48716
48660
|
const [cooldown] = PublicKey$2.findProgramAddressSync(
|
|
48717
48661
|
[
|
|
48718
|
-
Buffer.from('trade_cooldown'),
|
|
48662
|
+
Buffer$2.from('trade_cooldown'),
|
|
48719
48663
|
mintPubkey.toBuffer(),
|
|
48720
48664
|
walletPubkey.toBuffer()
|
|
48721
48665
|
],
|
|
@@ -48755,11 +48699,6 @@ class ToolsModule$1 {
|
|
|
48755
48699
|
})
|
|
48756
48700
|
.transaction();
|
|
48757
48701
|
|
|
48758
|
-
// Get latest blockhash
|
|
48759
|
-
const { blockhash } = await this.sdk.connection.getLatestBlockhash();
|
|
48760
|
-
transaction.recentBlockhash = blockhash;
|
|
48761
|
-
transaction.feePayer = walletPubkey;
|
|
48762
|
-
|
|
48763
48702
|
// Return result
|
|
48764
48703
|
return {
|
|
48765
48704
|
transaction,
|
|
@@ -48834,7 +48773,7 @@ class ToolsModule$1 {
|
|
|
48834
48773
|
// Calculate trade cooldown PDA
|
|
48835
48774
|
const [cooldown] = PublicKey$2.findProgramAddressSync(
|
|
48836
48775
|
[
|
|
48837
|
-
Buffer.from('trade_cooldown'),
|
|
48776
|
+
Buffer$2.from('trade_cooldown'),
|
|
48838
48777
|
mintPubkey.toBuffer(),
|
|
48839
48778
|
walletPubkey.toBuffer()
|
|
48840
48779
|
],
|
|
@@ -48974,160 +48913,23 @@ var instructions = [
|
|
|
48974
48913
|
accounts: [
|
|
48975
48914
|
{
|
|
48976
48915
|
name: "payer",
|
|
48916
|
+
docs: [
|
|
48917
|
+
"发起批准的用户"
|
|
48918
|
+
],
|
|
48977
48919
|
writable: true,
|
|
48978
48920
|
signer: true
|
|
48979
48921
|
},
|
|
48980
48922
|
{
|
|
48981
48923
|
name: "mint_account",
|
|
48982
|
-
|
|
48983
|
-
|
|
48984
|
-
|
|
48985
|
-
name: "curve_account",
|
|
48986
|
-
writable: true,
|
|
48987
|
-
pda: {
|
|
48988
|
-
seeds: [
|
|
48989
|
-
{
|
|
48990
|
-
kind: "const",
|
|
48991
|
-
value: [
|
|
48992
|
-
98,
|
|
48993
|
-
111,
|
|
48994
|
-
114,
|
|
48995
|
-
114,
|
|
48996
|
-
111,
|
|
48997
|
-
119,
|
|
48998
|
-
105,
|
|
48999
|
-
110,
|
|
49000
|
-
103,
|
|
49001
|
-
95,
|
|
49002
|
-
99,
|
|
49003
|
-
117,
|
|
49004
|
-
114,
|
|
49005
|
-
118,
|
|
49006
|
-
101
|
|
49007
|
-
]
|
|
49008
|
-
},
|
|
49009
|
-
{
|
|
49010
|
-
kind: "account",
|
|
49011
|
-
path: "mint_account"
|
|
49012
|
-
}
|
|
49013
|
-
]
|
|
49014
|
-
}
|
|
49015
|
-
},
|
|
49016
|
-
{
|
|
49017
|
-
name: "pool_token_account",
|
|
49018
|
-
writable: true,
|
|
49019
|
-
pda: {
|
|
49020
|
-
seeds: [
|
|
49021
|
-
{
|
|
49022
|
-
kind: "const",
|
|
49023
|
-
value: [
|
|
49024
|
-
112,
|
|
49025
|
-
111,
|
|
49026
|
-
111,
|
|
49027
|
-
108,
|
|
49028
|
-
95,
|
|
49029
|
-
116,
|
|
49030
|
-
111,
|
|
49031
|
-
107,
|
|
49032
|
-
101,
|
|
49033
|
-
110
|
|
49034
|
-
]
|
|
49035
|
-
},
|
|
49036
|
-
{
|
|
49037
|
-
kind: "account",
|
|
49038
|
-
path: "mint_account"
|
|
49039
|
-
}
|
|
49040
|
-
]
|
|
49041
|
-
}
|
|
49042
|
-
},
|
|
49043
|
-
{
|
|
49044
|
-
name: "pool_sol_account",
|
|
49045
|
-
writable: true,
|
|
49046
|
-
pda: {
|
|
49047
|
-
seeds: [
|
|
49048
|
-
{
|
|
49049
|
-
kind: "const",
|
|
49050
|
-
value: [
|
|
49051
|
-
112,
|
|
49052
|
-
111,
|
|
49053
|
-
111,
|
|
49054
|
-
108,
|
|
49055
|
-
95,
|
|
49056
|
-
115,
|
|
49057
|
-
111,
|
|
49058
|
-
108
|
|
49059
|
-
]
|
|
49060
|
-
},
|
|
49061
|
-
{
|
|
49062
|
-
kind: "account",
|
|
49063
|
-
path: "mint_account"
|
|
49064
|
-
}
|
|
49065
|
-
]
|
|
49066
|
-
}
|
|
49067
|
-
},
|
|
49068
|
-
{
|
|
49069
|
-
name: "up_orderbook",
|
|
49070
|
-
writable: true,
|
|
49071
|
-
pda: {
|
|
49072
|
-
seeds: [
|
|
49073
|
-
{
|
|
49074
|
-
kind: "const",
|
|
49075
|
-
value: [
|
|
49076
|
-
117,
|
|
49077
|
-
112,
|
|
49078
|
-
95,
|
|
49079
|
-
111,
|
|
49080
|
-
114,
|
|
49081
|
-
100,
|
|
49082
|
-
101,
|
|
49083
|
-
114,
|
|
49084
|
-
98,
|
|
49085
|
-
111,
|
|
49086
|
-
111,
|
|
49087
|
-
107
|
|
49088
|
-
]
|
|
49089
|
-
},
|
|
49090
|
-
{
|
|
49091
|
-
kind: "account",
|
|
49092
|
-
path: "mint_account"
|
|
49093
|
-
}
|
|
49094
|
-
]
|
|
49095
|
-
}
|
|
49096
|
-
},
|
|
49097
|
-
{
|
|
49098
|
-
name: "down_orderbook",
|
|
49099
|
-
writable: true,
|
|
49100
|
-
pda: {
|
|
49101
|
-
seeds: [
|
|
49102
|
-
{
|
|
49103
|
-
kind: "const",
|
|
49104
|
-
value: [
|
|
49105
|
-
100,
|
|
49106
|
-
111,
|
|
49107
|
-
119,
|
|
49108
|
-
110,
|
|
49109
|
-
95,
|
|
49110
|
-
111,
|
|
49111
|
-
114,
|
|
49112
|
-
100,
|
|
49113
|
-
101,
|
|
49114
|
-
114,
|
|
49115
|
-
98,
|
|
49116
|
-
111,
|
|
49117
|
-
111,
|
|
49118
|
-
107
|
|
49119
|
-
]
|
|
49120
|
-
},
|
|
49121
|
-
{
|
|
49122
|
-
kind: "account",
|
|
49123
|
-
path: "mint_account"
|
|
49124
|
-
}
|
|
49125
|
-
]
|
|
49126
|
-
}
|
|
48924
|
+
docs: [
|
|
48925
|
+
"代币 mint 账户(用于 PDA seed)"
|
|
48926
|
+
]
|
|
49127
48927
|
},
|
|
49128
48928
|
{
|
|
49129
48929
|
name: "user_token_account",
|
|
49130
|
-
|
|
48930
|
+
docs: [
|
|
48931
|
+
"用户的代币账户(读取余额)"
|
|
48932
|
+
],
|
|
49131
48933
|
pda: {
|
|
49132
48934
|
seeds: [
|
|
49133
48935
|
{
|
|
@@ -49215,35 +49017,10 @@ var instructions = [
|
|
|
49215
49017
|
}
|
|
49216
49018
|
}
|
|
49217
49019
|
},
|
|
49218
|
-
{
|
|
49219
|
-
name: "token_program",
|
|
49220
|
-
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|
49221
|
-
},
|
|
49222
|
-
{
|
|
49223
|
-
name: "system_program",
|
|
49224
|
-
address: "11111111111111111111111111111111"
|
|
49225
|
-
},
|
|
49226
|
-
{
|
|
49227
|
-
name: "rent",
|
|
49228
|
-
address: "SysvarRent111111111111111111111111111111111"
|
|
49229
|
-
},
|
|
49230
|
-
{
|
|
49231
|
-
name: "associated_token_program",
|
|
49232
|
-
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
|
|
49233
|
-
},
|
|
49234
|
-
{
|
|
49235
|
-
name: "fee_recipient_account",
|
|
49236
|
-
writable: true
|
|
49237
|
-
},
|
|
49238
|
-
{
|
|
49239
|
-
name: "base_fee_recipient_account",
|
|
49240
|
-
writable: true
|
|
49241
|
-
},
|
|
49242
49020
|
{
|
|
49243
49021
|
name: "cooldown",
|
|
49244
49022
|
docs: [
|
|
49245
|
-
"交易冷却时间PDA"
|
|
49246
|
-
"首次交易时自动创建,后续交易验证冷却时间"
|
|
49023
|
+
"交易冷却时间 PDA"
|
|
49247
49024
|
],
|
|
49248
49025
|
writable: true,
|
|
49249
49026
|
pda: {
|
|
@@ -49277,6 +49054,34 @@ var instructions = [
|
|
|
49277
49054
|
}
|
|
49278
49055
|
]
|
|
49279
49056
|
}
|
|
49057
|
+
},
|
|
49058
|
+
{
|
|
49059
|
+
name: "token_program",
|
|
49060
|
+
docs: [
|
|
49061
|
+
"SPL Token 程序"
|
|
49062
|
+
],
|
|
49063
|
+
address: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
|
|
49064
|
+
},
|
|
49065
|
+
{
|
|
49066
|
+
name: "associated_token_program",
|
|
49067
|
+
docs: [
|
|
49068
|
+
"Associated Token 程序"
|
|
49069
|
+
],
|
|
49070
|
+
address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
|
|
49071
|
+
},
|
|
49072
|
+
{
|
|
49073
|
+
name: "system_program",
|
|
49074
|
+
docs: [
|
|
49075
|
+
"系统程序"
|
|
49076
|
+
],
|
|
49077
|
+
address: "11111111111111111111111111111111"
|
|
49078
|
+
},
|
|
49079
|
+
{
|
|
49080
|
+
name: "rent",
|
|
49081
|
+
docs: [
|
|
49082
|
+
"租金系统变量"
|
|
49083
|
+
],
|
|
49084
|
+
address: "SysvarRent111111111111111111111111111111111"
|
|
49280
49085
|
}
|
|
49281
49086
|
],
|
|
49282
49087
|
args: [
|
|
@@ -52478,6 +52283,10 @@ var types = [
|
|
|
52478
52283
|
name: "order_id",
|
|
52479
52284
|
type: "u64"
|
|
52480
52285
|
},
|
|
52286
|
+
{
|
|
52287
|
+
name: "order_index",
|
|
52288
|
+
type: "u16"
|
|
52289
|
+
},
|
|
52481
52290
|
{
|
|
52482
52291
|
name: "liquidate_indices",
|
|
52483
52292
|
type: {
|
|
@@ -52504,6 +52313,10 @@ var types = [
|
|
|
52504
52313
|
name: "order_id",
|
|
52505
52314
|
type: "u64"
|
|
52506
52315
|
},
|
|
52316
|
+
{
|
|
52317
|
+
name: "order_index",
|
|
52318
|
+
type: "u16"
|
|
52319
|
+
},
|
|
52507
52320
|
{
|
|
52508
52321
|
name: "latest_price",
|
|
52509
52322
|
type: "u128"
|
|
@@ -52798,6 +52611,10 @@ var types = [
|
|
|
52798
52611
|
name: "order_id",
|
|
52799
52612
|
type: "u64"
|
|
52800
52613
|
},
|
|
52614
|
+
{
|
|
52615
|
+
name: "order_index",
|
|
52616
|
+
type: "u16"
|
|
52617
|
+
},
|
|
52801
52618
|
{
|
|
52802
52619
|
name: "order_type",
|
|
52803
52620
|
type: "u8"
|
|
@@ -52830,10 +52647,6 @@ var types = [
|
|
|
52830
52647
|
name: "end_time",
|
|
52831
52648
|
type: "u32"
|
|
52832
52649
|
},
|
|
52833
|
-
{
|
|
52834
|
-
name: "margin_init_sol_amount",
|
|
52835
|
-
type: "u64"
|
|
52836
|
-
},
|
|
52837
52650
|
{
|
|
52838
52651
|
name: "margin_sol_amount",
|
|
52839
52652
|
type: "u64"
|