@lavarage/sdk 6.1.4 → 6.2.0

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/index.d.mts CHANGED
@@ -2440,7 +2440,7 @@ declare const openTradeV1: (lavarageProgram: Program<Lavarage$1>, offer: Program
2440
2440
  swapInstruction: Record<string, unknown>;
2441
2441
  addressLookupTableAddresses: string[];
2442
2442
  };
2443
- }, marginSOL: BN, leverage: number, randomSeed: Keypair, partnerFeeRecipient?: PublicKey) => Promise<VersionedTransaction>;
2443
+ }, marginSOL: BN, leverage: number, randomSeed: Keypair, partnerFeeRecipient?: PublicKey, partnerFeeMarkup?: number) => Promise<VersionedTransaction>;
2444
2444
  declare const openTradeV2: (lavarageProgram: Program<Lavarage>, offer: ProgramAccount<{
2445
2445
  nodeWallet: PublicKey;
2446
2446
  interestRate: number;
@@ -2451,7 +2451,7 @@ declare const openTradeV2: (lavarageProgram: Program<Lavarage>, offer: ProgramAc
2451
2451
  swapInstruction: Record<string, unknown>;
2452
2452
  addressLookupTableAddresses: string[];
2453
2453
  };
2454
- }, marginSOL: BN, leverage: number, randomSeed: Keypair, quoteToken: PublicKey, partnerFeeRecipient?: PublicKey) => Promise<VersionedTransaction>;
2454
+ }, marginSOL: BN, leverage: number, randomSeed: Keypair, quoteToken: PublicKey, partnerFeeRecipient?: PublicKey, partnerFeeMarkup?: number) => Promise<VersionedTransaction>;
2455
2455
  declare const createTpDelegate: (lavarageProgram: Program<Lavarage$1> | Program<Lavarage>, position: ProgramAccount<{
2456
2456
  pool: PublicKey;
2457
2457
  seed: PublicKey;
@@ -2499,7 +2499,7 @@ declare const closeTradeV1: (lavarageProgram: Program<Lavarage$1>, position: Pro
2499
2499
  addressLookupTableAddresses: string[];
2500
2500
  };
2501
2501
  quoteResponse: any;
2502
- }, partnerFeeRecipient?: PublicKey, profitFeeMarkup?: number) => Promise<VersionedTransaction>;
2502
+ }, partnerFeeRecipient?: PublicKey, partnerFeeMarkup?: number) => Promise<VersionedTransaction>;
2503
2503
  declare const closeTradeV2: (lavarageProgram: Program<Lavarage>, position: ProgramAccount<{
2504
2504
  pool: PublicKey;
2505
2505
  seed: PublicKey;
@@ -2517,7 +2517,7 @@ declare const closeTradeV2: (lavarageProgram: Program<Lavarage>, position: Progr
2517
2517
  addressLookupTableAddresses: string[];
2518
2518
  };
2519
2519
  quoteResponse: any;
2520
- }, quoteToken: PublicKey, partnerFeeRecipient?: PublicKey, profitFeeMarkup?: number) => Promise<VersionedTransaction>;
2520
+ }, quoteToken: PublicKey, partnerFeeRecipient?: PublicKey, partnerFeeMarkup?: number) => Promise<VersionedTransaction>;
2521
2521
  declare const getDelegateAccounts: (lavarageProgram: Program<Lavarage$1> | Program<Lavarage>, userPubKey?: PublicKey) => Promise<{
2522
2522
  parsed: {
2523
2523
  tpPrice: any;
package/dist/index.d.ts CHANGED
@@ -2440,7 +2440,7 @@ declare const openTradeV1: (lavarageProgram: Program<Lavarage$1>, offer: Program
2440
2440
  swapInstruction: Record<string, unknown>;
2441
2441
  addressLookupTableAddresses: string[];
2442
2442
  };
2443
- }, marginSOL: BN, leverage: number, randomSeed: Keypair, partnerFeeRecipient?: PublicKey) => Promise<VersionedTransaction>;
2443
+ }, marginSOL: BN, leverage: number, randomSeed: Keypair, partnerFeeRecipient?: PublicKey, partnerFeeMarkup?: number) => Promise<VersionedTransaction>;
2444
2444
  declare const openTradeV2: (lavarageProgram: Program<Lavarage>, offer: ProgramAccount<{
2445
2445
  nodeWallet: PublicKey;
2446
2446
  interestRate: number;
@@ -2451,7 +2451,7 @@ declare const openTradeV2: (lavarageProgram: Program<Lavarage>, offer: ProgramAc
2451
2451
  swapInstruction: Record<string, unknown>;
2452
2452
  addressLookupTableAddresses: string[];
2453
2453
  };
2454
- }, marginSOL: BN, leverage: number, randomSeed: Keypair, quoteToken: PublicKey, partnerFeeRecipient?: PublicKey) => Promise<VersionedTransaction>;
2454
+ }, marginSOL: BN, leverage: number, randomSeed: Keypair, quoteToken: PublicKey, partnerFeeRecipient?: PublicKey, partnerFeeMarkup?: number) => Promise<VersionedTransaction>;
2455
2455
  declare const createTpDelegate: (lavarageProgram: Program<Lavarage$1> | Program<Lavarage>, position: ProgramAccount<{
2456
2456
  pool: PublicKey;
2457
2457
  seed: PublicKey;
@@ -2499,7 +2499,7 @@ declare const closeTradeV1: (lavarageProgram: Program<Lavarage$1>, position: Pro
2499
2499
  addressLookupTableAddresses: string[];
2500
2500
  };
2501
2501
  quoteResponse: any;
2502
- }, partnerFeeRecipient?: PublicKey, profitFeeMarkup?: number) => Promise<VersionedTransaction>;
2502
+ }, partnerFeeRecipient?: PublicKey, partnerFeeMarkup?: number) => Promise<VersionedTransaction>;
2503
2503
  declare const closeTradeV2: (lavarageProgram: Program<Lavarage>, position: ProgramAccount<{
2504
2504
  pool: PublicKey;
2505
2505
  seed: PublicKey;
@@ -2517,7 +2517,7 @@ declare const closeTradeV2: (lavarageProgram: Program<Lavarage>, position: Progr
2517
2517
  addressLookupTableAddresses: string[];
2518
2518
  };
2519
2519
  quoteResponse: any;
2520
- }, quoteToken: PublicKey, partnerFeeRecipient?: PublicKey, profitFeeMarkup?: number) => Promise<VersionedTransaction>;
2520
+ }, quoteToken: PublicKey, partnerFeeRecipient?: PublicKey, partnerFeeMarkup?: number) => Promise<VersionedTransaction>;
2521
2521
  declare const getDelegateAccounts: (lavarageProgram: Program<Lavarage$1> | Program<Lavarage>, userPubKey?: PublicKey) => Promise<{
2522
2522
  parsed: {
2523
2523
  tpPrice: any;
package/dist/index.js CHANGED
@@ -2559,7 +2559,15 @@ var getAllPositions = (lavarageProgram) => {
2559
2559
  { dataSize: 178 }
2560
2560
  ]);
2561
2561
  };
2562
- var openTradeV1 = (lavarageProgram, offer, jupInstruction, marginSOL, leverage, randomSeed, partnerFeeRecipient) => __async(void 0, null, function* () {
2562
+ var openTradeV1 = (lavarageProgram, offer, jupInstruction, marginSOL, leverage, randomSeed, partnerFeeRecipient, partnerFeeMarkup) => __async(void 0, null, function* () {
2563
+ let partnerFeeMarkupAsPkey;
2564
+ if (partnerFeeMarkup) {
2565
+ const feeBuffer = Buffer.alloc(8);
2566
+ feeBuffer.writeBigUInt64LE(BigInt(partnerFeeMarkup));
2567
+ const feeBuffer32 = Buffer.alloc(32);
2568
+ feeBuffer32.set(feeBuffer, 0);
2569
+ partnerFeeMarkupAsPkey = new import_web3.PublicKey(feeBuffer32);
2570
+ }
2563
2571
  const positionAccount = getPositionAccountPDA(lavarageProgram, offer, randomSeed.publicKey);
2564
2572
  const mintAccount = yield lavarageProgram.provider.connection.getAccountInfo(offer.account.collateralType);
2565
2573
  const tokenProgram = mintAccount == null ? void 0 : mintAccount.owner;
@@ -2612,10 +2620,14 @@ var openTradeV1 = (lavarageProgram, offer, jupInstruction, marginSOL, leverage,
2612
2620
  clock: import_web3.SYSVAR_CLOCK_PUBKEY,
2613
2621
  randomAccountAsId: randomSeed.publicKey.toBase58(),
2614
2622
  feeReceipient: "6JfTobDvwuwZxZP6FR5JPmjdvQ4h4MovkEVH2FPsMSrF"
2615
- }).remainingAccounts(partnerFeeRecipient ? [{
2623
+ }).remainingAccounts(partnerFeeRecipient && partnerFeeMarkupAsPkey ? [{
2616
2624
  pubkey: partnerFeeRecipient,
2617
2625
  isSigner: false,
2618
2626
  isWritable: true
2627
+ }, {
2628
+ pubkey: partnerFeeMarkupAsPkey,
2629
+ isSigner: false,
2630
+ isWritable: false
2619
2631
  }] : []).instruction();
2620
2632
  const openAddCollateralInstruction = yield lavarageProgram.methods.tradingOpenAddCollateral(offer.account.interestRate).accountsStrict({
2621
2633
  tradingPool: offer.publicKey,
@@ -2645,7 +2657,15 @@ var openTradeV1 = (lavarageProgram, offer, jupInstruction, marginSOL, leverage,
2645
2657
  const tx = new import_web3.VersionedTransaction(messageV0);
2646
2658
  return tx;
2647
2659
  });
2648
- var openTradeV2 = (lavarageProgram, offer, jupInstruction, marginSOL, leverage, randomSeed, quoteToken, partnerFeeRecipient) => __async(void 0, null, function* () {
2660
+ var openTradeV2 = (lavarageProgram, offer, jupInstruction, marginSOL, leverage, randomSeed, quoteToken, partnerFeeRecipient, partnerFeeMarkup) => __async(void 0, null, function* () {
2661
+ let partnerFeeMarkupAsPkey;
2662
+ if (partnerFeeMarkup) {
2663
+ const feeBuffer = Buffer.alloc(8);
2664
+ feeBuffer.writeBigUInt64LE(BigInt(partnerFeeMarkup));
2665
+ const feeBuffer32 = Buffer.alloc(32);
2666
+ feeBuffer32.set(feeBuffer, 0);
2667
+ partnerFeeMarkupAsPkey = new import_web3.PublicKey(feeBuffer32);
2668
+ }
2649
2669
  const positionAccount = getPositionAccountPDA(lavarageProgram, offer, randomSeed.publicKey);
2650
2670
  const mintAccount = yield lavarageProgram.provider.connection.getAccountInfo(offer.account.collateralType);
2651
2671
  const tokenProgram = mintAccount == null ? void 0 : mintAccount.owner;
@@ -2703,10 +2723,14 @@ var openTradeV2 = (lavarageProgram, offer, jupInstruction, marginSOL, leverage,
2703
2723
  toTokenAccount: (0, import_spl_token.getAssociatedTokenAddressSync)(quoteToken, lavarageProgram.provider.publicKey, true, quoteTokenProgram),
2704
2724
  tokenProgram,
2705
2725
  fromTokenAccount: (0, import_spl_token.getAssociatedTokenAddressSync)(quoteToken, offer.account.nodeWallet, true, tokenProgram)
2706
- }).remainingAccounts(partnerFeeRecipient ? [{
2726
+ }).remainingAccounts(partnerFeeRecipient && partnerFeeMarkupAsPkey ? [{
2707
2727
  pubkey: partnerFeeRecipient,
2708
2728
  isSigner: false,
2709
2729
  isWritable: true
2730
+ }, {
2731
+ pubkey: partnerFeeMarkupAsPkey,
2732
+ isSigner: false,
2733
+ isWritable: false
2710
2734
  }] : []).instruction();
2711
2735
  const openAddCollateralInstruction = yield lavarageProgram.methods.tradingOpenAddCollateral(offer.account.interestRate).accountsStrict({
2712
2736
  tradingPool: offer.publicKey,
@@ -2862,7 +2886,15 @@ var partialRepayV2 = (lavarageProgram, position, repaymentBps) => __async(void 0
2862
2886
  }).compileToV0Message();
2863
2887
  return new import_web3.VersionedTransaction(messageV0);
2864
2888
  });
2865
- var closeTradeV1 = (lavarageProgram, position, offer, jupInstruction, partnerFeeRecipient, profitFeeMarkup) => __async(void 0, null, function* () {
2889
+ var closeTradeV1 = (lavarageProgram, position, offer, jupInstruction, partnerFeeRecipient, partnerFeeMarkup) => __async(void 0, null, function* () {
2890
+ let partnerFeeMarkupAsPkey;
2891
+ if (partnerFeeMarkup) {
2892
+ const feeBuffer = Buffer.alloc(8);
2893
+ feeBuffer.writeBigUInt64LE(BigInt(partnerFeeMarkup));
2894
+ const feeBuffer32 = Buffer.alloc(32);
2895
+ feeBuffer32.set(feeBuffer, 0);
2896
+ partnerFeeMarkupAsPkey = new import_web3.PublicKey(feeBuffer32);
2897
+ }
2866
2898
  if (position.account.pool.toBase58() != offer.publicKey.toBase58()) throw "Mismatch offer";
2867
2899
  const pool = offer;
2868
2900
  const poolPubKey = offer.publicKey;
@@ -2925,10 +2957,14 @@ var closeTradeV1 = (lavarageProgram, position, offer, jupInstruction, partnerFee
2925
2957
  clock: import_web3.SYSVAR_CLOCK_PUBKEY,
2926
2958
  randomAccountAsId: position.account.seed,
2927
2959
  feeReceipient: "6JfTobDvwuwZxZP6FR5JPmjdvQ4h4MovkEVH2FPsMSrF"
2928
- }).remainingAccounts(partnerFeeRecipient ? [{
2960
+ }).remainingAccounts(partnerFeeRecipient && partnerFeeMarkupAsPkey ? [{
2929
2961
  pubkey: partnerFeeRecipient,
2930
2962
  isSigner: false,
2931
2963
  isWritable: true
2964
+ }, {
2965
+ pubkey: partnerFeeMarkupAsPkey,
2966
+ isSigner: false,
2967
+ isWritable: false
2932
2968
  }] : []).instruction();
2933
2969
  } else {
2934
2970
  repaySolIx = yield lavarageProgram.methods.tradingCloseRepaySol(new import_anchor.BN(jupInstruction.quoteResponse.outAmount), new import_anchor.BN(9998)).accountsStrict({
@@ -2940,10 +2976,14 @@ var closeTradeV1 = (lavarageProgram, position, offer, jupInstruction, partnerFee
2940
2976
  clock: import_web3.SYSVAR_CLOCK_PUBKEY,
2941
2977
  randomAccountAsId: position.account.seed,
2942
2978
  feeReceipient: "6JfTobDvwuwZxZP6FR5JPmjdvQ4h4MovkEVH2FPsMSrF"
2943
- }).remainingAccounts(partnerFeeRecipient ? [{
2979
+ }).remainingAccounts(partnerFeeRecipient && partnerFeeMarkupAsPkey ? [{
2944
2980
  pubkey: partnerFeeRecipient,
2945
2981
  isSigner: false,
2946
2982
  isWritable: true
2983
+ }, {
2984
+ pubkey: partnerFeeMarkupAsPkey,
2985
+ isSigner: false,
2986
+ isWritable: false
2947
2987
  }] : []).instruction();
2948
2988
  const { setupInstructions, swapInstruction: swapInstructionPayload, cleanupInstruction, addressLookupTableAddresses } = jupiterSellIx;
2949
2989
  jupiterIxs = [
@@ -2958,14 +2998,7 @@ var closeTradeV1 = (lavarageProgram, position, offer, jupInstruction, partnerFee
2958
2998
  toTokenAccount.instruction,
2959
2999
  closePositionIx,
2960
3000
  ...jupiterIxs,
2961
- repaySolIx,
2962
- profitFeeMarkup && partnerFeeRecipient ? import_web3.SystemProgram.transfer(
2963
- {
2964
- fromPubkey: lavarageProgram.provider.publicKey,
2965
- toPubkey: partnerFeeRecipient,
2966
- lamports: profit.toNumber() > 0 ? profit.mul(new import_anchor.BN(profitFeeMarkup * 1e4)).div(new import_anchor.BN(1e4)).toNumber() : 0
2967
- }
2968
- ) : null
3001
+ repaySolIx
2969
3002
  ].filter((i) => !!i);
2970
3003
  const messageV0 = new import_web3.TransactionMessage({
2971
3004
  payerKey: lavarageProgram.provider.publicKey,
@@ -2975,7 +3008,15 @@ var closeTradeV1 = (lavarageProgram, position, offer, jupInstruction, partnerFee
2975
3008
  const tx = new import_web3.VersionedTransaction(messageV0);
2976
3009
  return tx;
2977
3010
  });
2978
- var closeTradeV2 = (lavarageProgram, position, offer, jupInstruction, quoteToken, partnerFeeRecipient, profitFeeMarkup) => __async(void 0, null, function* () {
3011
+ var closeTradeV2 = (lavarageProgram, position, offer, jupInstruction, quoteToken, partnerFeeRecipient, partnerFeeMarkup) => __async(void 0, null, function* () {
3012
+ let partnerFeeMarkupAsPkey;
3013
+ if (partnerFeeMarkup) {
3014
+ const feeBuffer = Buffer.alloc(8);
3015
+ feeBuffer.writeBigUInt64LE(BigInt(partnerFeeMarkup));
3016
+ const feeBuffer32 = Buffer.alloc(32);
3017
+ feeBuffer32.set(feeBuffer, 0);
3018
+ partnerFeeMarkupAsPkey = new import_web3.PublicKey(feeBuffer32);
3019
+ }
2979
3020
  if (position.account.pool.toBase58() != offer.publicKey.toBase58()) throw "Mismatch offer";
2980
3021
  const pool = offer;
2981
3022
  const poolPubKey = offer.publicKey;
@@ -3044,10 +3085,14 @@ var closeTradeV2 = (lavarageProgram, position, offer, jupInstruction, quoteToken
3044
3085
  tokenProgram: quoteTokenProgram,
3045
3086
  toTokenAccount: (0, import_spl_token.getAssociatedTokenAddressSync)(quoteToken, pool.account.nodeWallet, true, quoteTokenProgram),
3046
3087
  mint: quoteToken
3047
- }).remainingAccounts(partnerFeeRecipient ? [{
3088
+ }).remainingAccounts(partnerFeeRecipient && partnerFeeMarkupAsPkey ? [{
3048
3089
  pubkey: partnerFeeRecipient,
3049
3090
  isSigner: false,
3050
3091
  isWritable: true
3092
+ }, {
3093
+ pubkey: partnerFeeMarkupAsPkey,
3094
+ isSigner: false,
3095
+ isWritable: false
3051
3096
  }] : []).instruction();
3052
3097
  } else {
3053
3098
  repaySolIx = yield lavarageProgram.methods.tradingCloseRepaySol(new import_anchor.BN(jupInstruction.quoteResponse.outAmount), new import_anchor.BN(9998)).accountsStrict({
@@ -3063,10 +3108,14 @@ var closeTradeV2 = (lavarageProgram, position, offer, jupInstruction, quoteToken
3063
3108
  tokenProgram: quoteTokenProgram,
3064
3109
  toTokenAccount: (0, import_spl_token.getAssociatedTokenAddressSync)(quoteToken, pool.account.nodeWallet, true, quoteTokenProgram),
3065
3110
  mint: quoteToken
3066
- }).remainingAccounts(partnerFeeRecipient ? [{
3111
+ }).remainingAccounts(partnerFeeRecipient && partnerFeeMarkupAsPkey ? [{
3067
3112
  pubkey: partnerFeeRecipient,
3068
3113
  isSigner: false,
3069
3114
  isWritable: true
3115
+ }, {
3116
+ pubkey: partnerFeeMarkupAsPkey,
3117
+ isSigner: false,
3118
+ isWritable: false
3070
3119
  }] : []).instruction();
3071
3120
  const { setupInstructions, swapInstruction: swapInstructionPayload, cleanupInstruction, addressLookupTableAddresses } = jupiterSellIx;
3072
3121
  jupiterIxs = [
@@ -3081,15 +3130,7 @@ var closeTradeV2 = (lavarageProgram, position, offer, jupInstruction, quoteToken
3081
3130
  toTokenAccount.instruction,
3082
3131
  closePositionIx,
3083
3132
  ...jupiterIxs,
3084
- repaySolIx,
3085
- profitFeeMarkup && partnerFeeRecipient ? (0, import_spl_token.createTransferInstruction)(
3086
- (0, import_spl_token.getAssociatedTokenAddressSync)(quoteToken, lavarageProgram.provider.publicKey, false, quoteTokenProgram),
3087
- partnerFeeRecipient,
3088
- lavarageProgram.provider.publicKey,
3089
- profit.toNumber() > 0 ? profit.mul(new import_anchor.BN(profitFeeMarkup * 1e3)).div(new import_anchor.BN(1e3)).toNumber() : 0,
3090
- [],
3091
- quoteTokenProgram
3092
- ) : null
3133
+ repaySolIx
3093
3134
  ].filter((i) => !!i);
3094
3135
  const messageV0 = new import_web3.TransactionMessage({
3095
3136
  payerKey: lavarageProgram.provider.publicKey,