@exponent-labs/exponent-sdk 0.0.9 → 0.1.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.
Files changed (50) hide show
  1. package/build/addressLookupTableUtil.js +3 -2
  2. package/build/addressLookupTableUtil.js.map +1 -1
  3. package/build/events.d.ts +3 -3
  4. package/build/events.js +49 -47
  5. package/build/events.js.map +1 -1
  6. package/build/flavors.d.ts +3 -3
  7. package/build/flavors.js +34 -38
  8. package/build/flavors.js.map +1 -1
  9. package/build/index.js +7 -17
  10. package/build/index.js.map +1 -1
  11. package/build/lpPosition.d.ts +6 -5
  12. package/build/lpPosition.js +37 -19
  13. package/build/lpPosition.js.map +1 -1
  14. package/build/market.d.ts +34 -34
  15. package/build/market.js +207 -203
  16. package/build/market.js.map +1 -1
  17. package/build/syPosition.d.ts +2 -2
  18. package/build/syPosition.js +21 -17
  19. package/build/syPosition.js.map +1 -1
  20. package/build/tokenUtil.d.ts +2 -2
  21. package/build/tokenUtil.js +7 -6
  22. package/build/tokenUtil.js.map +1 -1
  23. package/build/utils/altUtil.d.ts +3 -3
  24. package/build/utils/altUtil.js +18 -11
  25. package/build/utils/altUtil.js.map +1 -1
  26. package/build/utils/binSolver.js +2 -1
  27. package/build/utils/binSolver.js.map +1 -1
  28. package/build/utils/binSolver.test.js +6 -5
  29. package/build/utils/binSolver.test.js.map +1 -1
  30. package/build/utils/index.js +4 -3
  31. package/build/utils/index.js.map +1 -1
  32. package/build/vault.d.ts +12 -11
  33. package/build/vault.js +69 -68
  34. package/build/vault.js.map +1 -1
  35. package/build/ytPosition.d.ts +9 -8
  36. package/build/ytPosition.js +42 -34
  37. package/build/ytPosition.js.map +1 -1
  38. package/package.json +22 -22
  39. package/src/addressLookupTableUtil.ts +2 -1
  40. package/src/events.ts +60 -45
  41. package/src/flavors.ts +33 -39
  42. package/src/lpPosition.ts +49 -21
  43. package/src/market.ts +307 -229
  44. package/src/syPosition.ts +38 -26
  45. package/src/tokenUtil.ts +7 -5
  46. package/src/utils/altUtil.ts +17 -12
  47. package/src/utils/binSolver.test.ts +2 -0
  48. package/src/utils/index.ts +2 -0
  49. package/src/vault.ts +108 -91
  50. package/src/ytPosition.ts +57 -37
package/build/vault.d.ts CHANGED
@@ -1,9 +1,10 @@
1
+ /// <reference types="bn.js" />
1
2
  import { BN, web3 } from "@coral-xyz/anchor";
2
- import { Environment } from "./environment";
3
- import { InstructionAccounts } from "./utils";
4
3
  import { ExponentPDA } from "@exponent-labs/exponent-pda";
5
- import { VaultEmission, VaultJson, VaultState, AnchorizedPNum, CpiAccountsRaw } from "@exponent-labs/exponent-types";
4
+ import { AnchorizedPNum, CpiAccountsRaw, VaultEmission, VaultJson, VaultState } from "@exponent-labs/exponent-types";
6
5
  import { ClaimAmount } from "@exponent-labs/marginfi-sy-sdk";
6
+ import { Environment } from "./environment";
7
+ import { InstructionAccounts } from "./utils";
7
8
  export type CollectTreasuryEmissionKind = {
8
9
  yieldPosition: {};
9
10
  } | {
@@ -41,9 +42,9 @@ export declare class Vault {
41
42
  connection: web3.Connection;
42
43
  private coreProgram;
43
44
  constructor(state: VaultState, selfAddress: web3.PublicKey, env: Environment, connection: web3.Connection);
44
- static loadFromJson(v: VaultJson, address: web3.PublicKey, env: Environment, connection: web3.Connection): Vault;
45
+ static loadFromJson(vaultJson: VaultJson, address: web3.PublicKey, env: Environment, connection: web3.Connection): Vault;
45
46
  static load(env: Environment, connection: web3.Connection, address: web3.PublicKey, options?: VaultLoadOptions): Promise<Vault>;
46
- reload(conn?: web3.Connection): Promise<Vault>;
47
+ reload(connection?: web3.Connection): Promise<Vault>;
47
48
  toJson(): VaultJson;
48
49
  get pda(): ExponentPDA;
49
50
  get syBalance(): bigint;
@@ -84,7 +85,7 @@ export declare class Vault {
84
85
  ytDst?: web3.PublicKey;
85
86
  sySrc?: web3.PublicKey;
86
87
  }): Promise<web3.TransactionInstruction>;
87
- ixStripFromBase({ owner, amountBase, baseSrc, sySrc, ptDst, ytDst, }: {
88
+ ixStripFromBase({ owner, amountBase, baseSrc: baseSrcParam, sySrc: sySrcParam, ptDst: ptDstParam, ytDst: ytDstParam, }: {
88
89
  owner: web3.PublicKey;
89
90
  amountBase: bigint;
90
91
  baseSrc?: web3.PublicKey;
@@ -92,7 +93,7 @@ export declare class Vault {
92
93
  ptDst?: web3.PublicKey;
93
94
  ytDst?: web3.PublicKey;
94
95
  }): Promise<web3.TransactionInstruction>;
95
- ixMergeToBase({ owner, amountPy, ptSrc, ytSrc, syDst, baseDst, }: {
96
+ ixMergeToBase({ owner, amountPy, ptSrc: ptSrcParam, ytSrc: ytSrcParam, syDst: syDstParam, baseDst, }: {
96
97
  owner: web3.PublicKey;
97
98
  amountPy: bigint;
98
99
  ptSrc?: web3.PublicKey;
@@ -127,12 +128,12 @@ export declare class Vault {
127
128
  signer: web3.PublicKey;
128
129
  action: AdminAction;
129
130
  }): Promise<web3.TransactionInstruction>;
130
- collectEmissionAccounts({ emissionIndex, owner, emissionDst, }: {
131
+ collectEmissionAccounts({ emissionIndex, owner, emissionDst: emissionDstParam, }: {
131
132
  emissionIndex: number;
132
133
  owner: web3.PublicKey;
133
134
  emissionDst?: web3.PublicKey;
134
135
  }): InstructionAccounts<CollectEmissionAccounts>;
135
- stripAccounts({ depositor, ptDst, ytDst, sySrc, }: {
136
+ stripAccounts({ depositor, ptDst: ptDstParam, ytDst: ytDstParam, sySrc: sySrcParam, }: {
136
137
  depositor: web3.PublicKey;
137
138
  ptDst?: web3.PublicKey;
138
139
  ytDst?: web3.PublicKey;
@@ -163,12 +164,12 @@ export declare class Vault {
163
164
  extendAddressLookupTableExtensionAccounts: web3.PublicKey[];
164
165
  ix: web3.TransactionInstruction;
165
166
  }>;
166
- collectInterestAccounts({ owner, syDst, }: {
167
+ collectInterestAccounts({ owner, syDst: syDstParam, }: {
167
168
  owner: web3.PublicKey;
168
169
  syDst?: web3.PublicKey;
169
170
  }): InstructionAccounts<CollectInterestAccounts>;
170
171
  /** Construct accounts for Merge instruction */
171
- mergeAccounts({ owner, ptSrc, ytSrc, syDst, }: {
172
+ mergeAccounts({ owner, ptSrc: ptSrcParam, ytSrc: ytSrcParam, syDst: syDstParam, }: {
172
173
  owner: web3.PublicKey;
173
174
  ptSrc?: web3.PublicKey;
174
175
  ytSrc?: web3.PublicKey;
package/build/vault.js CHANGED
@@ -2,17 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Vault = void 0;
4
4
  const anchor_1 = require("@coral-xyz/anchor");
5
+ const spl_token_1 = require("@solana/spl-token");
6
+ const exponent_admin_pda_1 = require("@exponent-labs/exponent-admin-pda");
5
7
  const exponent_fetcher_1 = require("@exponent-labs/exponent-fetcher");
8
+ const exponent_idl_1 = require("@exponent-labs/exponent-idl");
9
+ const exponent_pda_1 = require("@exponent-labs/exponent-pda");
10
+ const exponent_types_1 = require("@exponent-labs/exponent-types");
6
11
  const addressLookupTableUtil_1 = require("./addressLookupTableUtil");
7
12
  const flavors_1 = require("./flavors");
8
- const spl_token_1 = require("@solana/spl-token");
13
+ const market_1 = require("./market");
9
14
  const syPosition_1 = require("./syPosition");
10
- const exponent_idl_1 = require("@exponent-labs/exponent-idl");
11
15
  const utils_1 = require("./utils");
12
- const exponent_admin_pda_1 = require("@exponent-labs/exponent-admin-pda");
13
- const exponent_pda_1 = require("@exponent-labs/exponent-pda");
14
- const market_1 = require("./market");
15
- const exponent_types_1 = require("@exponent-labs/exponent-types");
16
16
  const altUtil_1 = require("./utils/altUtil");
17
17
  class Vault {
18
18
  state;
@@ -27,54 +27,53 @@ class Vault {
27
27
  this.connection = connection;
28
28
  this.coreProgram = new anchor_1.Program(exponent_idl_1.IDL, new anchor_1.AnchorProvider(connection, new market_1.MyWallet(anchor_1.web3.Keypair.generate())));
29
29
  }
30
- static loadFromJson(v, address, env, connection) {
31
- const state = toVaultState(v);
30
+ static loadFromJson(vaultJson, address, env, connection) {
31
+ const state = toVaultState(vaultJson);
32
32
  return new Vault(state, address, env, connection);
33
33
  }
34
34
  static async load(env, connection, address, options = {}) {
35
35
  const fetcher = new exponent_fetcher_1.ExponentFetcher({ connection });
36
- const v = await fetcher.fetchVault(address);
37
- const alt = await (0, addressLookupTableUtil_1.fetchAddressLookupTable)(connection, v.addressLookupTable);
38
- const cpiAccounts = (0, addressLookupTableUtil_1.makeCpiAccountMetaLists)(alt, v.cpiAccounts);
39
- const flavor = await (0, flavors_1.makeFlavor)(fetcher, env, v.syProgram, cpiAccounts, options.syConfig);
40
- const positionInCpiAccounts = cpiAccounts.depositSy[6];
41
- console.log("positionInCpiAccounts", positionInCpiAccounts.pubkey.toBase58());
42
- const syPosition = await (0, syPosition_1.makeSyPosition)(fetcher, flavor, v.syProgram, v.authority);
36
+ const vault = await fetcher.fetchVault(address);
37
+ const alt = await (0, addressLookupTableUtil_1.fetchAddressLookupTable)(connection, vault.addressLookupTable);
38
+ const cpiAccounts = (0, addressLookupTableUtil_1.makeCpiAccountMetaLists)(alt, vault.cpiAccounts);
39
+ const flavor = await (0, flavors_1.makeFlavor)(fetcher, env, vault.syProgram, cpiAccounts, options.syConfig);
40
+ const syPosition = await (0, syPosition_1.makeSyPosition)(fetcher, flavor, vault.syProgram, vault.authority);
43
41
  const state = {
44
- ptSupply: v.ptSupply,
45
- syForPt: v.syForPt,
46
- startTs: v.startTs,
47
- durationSeconds: v.duration,
48
- authority: v.authority,
49
- addressLookupTable: v.addressLookupTable,
50
- lastSeenSyExchangeRate: v.lastSeenSyExchangeRate,
51
- allTimeHighSyExchangeRate: v.allTimeHighSyExchangeRate,
52
- syProgram: v.syProgram,
53
- mintPt: v.mintPt,
54
- mintSy: v.mintSy,
55
- mintYt: v.mintYt,
56
- escrowSy: v.escrowSy,
57
- escrowYt: v.escrowYt,
58
- yieldPositonAddress: v.yieldPosition,
42
+ ptSupply: vault.ptSupply,
43
+ syForPt: vault.syForPt,
44
+ startTs: vault.startTs,
45
+ durationSeconds: vault.duration,
46
+ authority: vault.authority,
47
+ addressLookupTable: vault.addressLookupTable,
48
+ lastSeenSyExchangeRate: vault.lastSeenSyExchangeRate,
49
+ allTimeHighSyExchangeRate: vault.allTimeHighSyExchangeRate,
50
+ syProgram: vault.syProgram,
51
+ mintPt: vault.mintPt,
52
+ mintSy: vault.mintSy,
53
+ mintYt: vault.mintYt,
54
+ escrowSy: vault.escrowSy,
55
+ escrowYt: vault.escrowYt,
56
+ // Misspelled word
57
+ yieldPositonAddress: vault.yieldPosition,
59
58
  cpiAccounts,
60
59
  flavor,
61
60
  syPosition,
62
- totalSyInEscrow: v.totalSyInEscrow,
63
- treasurySyTokenAccount: v.treasurySyTokenAccount,
64
- interestBpsFee: v.interestBpsFee,
65
- emissions: v.emissions,
66
- minOperationSizeStrip: v.minOpSizeStrip,
67
- minOperationSizeMerge: v.minOpSizeMerge,
68
- status: v.status,
69
- finalSyExchangeRate: v.finalSyExchangeRate,
70
- maxPySupply: v.maxPySupply,
61
+ totalSyInEscrow: vault.totalSyInEscrow,
62
+ treasurySyTokenAccount: vault.treasurySyTokenAccount,
63
+ interestBpsFee: vault.interestBpsFee,
64
+ emissions: vault.emissions,
65
+ minOperationSizeStrip: vault.minOpSizeStrip,
66
+ minOperationSizeMerge: vault.minOpSizeMerge,
67
+ status: vault.status,
68
+ finalSyExchangeRate: vault.finalSyExchangeRate,
69
+ maxPySupply: vault.maxPySupply,
71
70
  };
72
71
  return new Vault(state, address, env, connection);
73
72
  }
74
- async reload(conn = this.connection) {
75
- const v = await Vault.load(this.env, conn, this.selfAddress);
76
- this.state = v.state;
77
- return v;
73
+ async reload(connection = this.connection) {
74
+ const vault = await Vault.load(this.env, connection, this.selfAddress);
75
+ this.state = vault.state;
76
+ return vault;
78
77
  }
79
78
  toJson() {
80
79
  return {
@@ -101,9 +100,11 @@ class Vault {
101
100
  totalSyInEscrow: this.state.totalSyInEscrow.toString(),
102
101
  cpiAccounts: (0, exponent_types_1.serializeCpiAccountsRaw)(this.state.cpiAccounts),
103
102
  status: this.state.status,
104
- syPosition: (0, syPosition_1.serializeSyPostion)(this.state.syPosition),
103
+ // Misspelled word
104
+ syPosition: (0, syPosition_1.serializeSyPosition)(this.state.syPosition),
105
105
  minOperationSizeStrip: this.state.minOperationSizeStrip.toString(),
106
106
  minOperationSizeMerge: this.state.minOperationSizeMerge.toString(),
107
+ // Misspelled word
107
108
  yieldPositonAddress: this.state.yieldPositonAddress.toString(),
108
109
  interestFeeBps: this.state.interestBpsFee,
109
110
  flavor: (() => {
@@ -115,7 +116,7 @@ class Vault {
115
116
  case "jitoRestaking":
116
117
  return (0, flavors_1.serializeFlavorJitoRestaking)(this.state.flavor);
117
118
  case "perena":
118
- return (0, flavors_1.serializeFlavorParena)(this.state.flavor);
119
+ return (0, flavors_1.serializeFlavorPerena)(this.state.flavor);
119
120
  case "generic":
120
121
  return (0, flavors_1.serializeFlavorGeneric)(this.state.flavor);
121
122
  default:
@@ -256,11 +257,11 @@ class Vault {
256
257
  .remainingAccounts(remainingAccounts)
257
258
  .instruction();
258
259
  }
259
- async ixStripFromBase({ owner, amountBase, baseSrc, sySrc, ptDst, ytDst, }) {
260
- baseSrc = baseSrc || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintPt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
261
- sySrc = sySrc || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintSy, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
262
- ptDst = ptDst || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintPt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
263
- ytDst = ytDst || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintYt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
260
+ async ixStripFromBase({ owner, amountBase, baseSrc: baseSrcParam, sySrc: sySrcParam, ptDst: ptDstParam, ytDst: ytDstParam, }) {
261
+ const baseSrc = baseSrcParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintPt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
262
+ const sySrc = sySrcParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintSy, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
263
+ const ptDst = ptDstParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintPt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
264
+ const ytDst = ytDstParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintYt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
264
265
  const mintSyIx = await this.state.flavor.ixMintSy({
265
266
  amountBase: "0",
266
267
  depositor: owner,
@@ -295,10 +296,10 @@ class Vault {
295
296
  .remainingAccounts(mintSyRemAccounts.concat(remainingAccounts))
296
297
  .instruction();
297
298
  }
298
- async ixMergeToBase({ owner, amountPy, ptSrc, ytSrc, syDst, baseDst, }) {
299
- syDst = syDst || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintSy, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
300
- ptSrc = ptSrc || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintPt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
301
- ytSrc = ytSrc || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintYt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
299
+ async ixMergeToBase({ owner, amountPy, ptSrc: ptSrcParam, ytSrc: ytSrcParam, syDst: syDstParam, baseDst, }) {
300
+ const syDst = syDstParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintSy, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
301
+ const ptSrc = ptSrcParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintPt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
302
+ const ytSrc = ytSrcParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintYt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
302
303
  const tokenSyTraderAtaIx = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(owner, syDst, owner, this.mintSy);
303
304
  const tokenPtTraderAtaIx = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(owner, ptSrc, owner, this.mintPt);
304
305
  const tokenYtTraderAtaIx = (0, spl_token_1.createAssociatedTokenAccountIdempotentInstruction)(owner, ytSrc, owner, this.mintYt);
@@ -370,7 +371,7 @@ class Vault {
370
371
  .remainingAccounts(accounts.remainingAccounts)
371
372
  .instruction();
372
373
  }
373
- collectEmissionAccounts({ emissionIndex, owner, emissionDst, }) {
374
+ collectEmissionAccounts({ emissionIndex, owner, emissionDst: emissionDstParam, }) {
374
375
  const syE = this.syEmissions[emissionIndex];
375
376
  if (!syE) {
376
377
  throw new Error("Emission index out of bounds");
@@ -383,7 +384,7 @@ class Vault {
383
384
  const emissionEscrow = vaultE.tokenAccount;
384
385
  const treasuryEmissionTokenAccount = vaultE.treasuryTokenAccount;
385
386
  const position = this.pda.yieldPosition({ owner, vault: this.selfAddress });
386
- emissionDst = emissionDst || (0, spl_token_1.getAssociatedTokenAddressSync)(syE.mint, owner, true, syE.tokenProgramAddress);
387
+ const emissionDst = emissionDstParam || (0, spl_token_1.getAssociatedTokenAddressSync)(syE.mint, owner, true, syE.tokenProgramAddress);
387
388
  const remainingAccounts = (0, utils_1.uniqueRemainingAccounts)([...this.cpiAccounts.claimEmission[emissionIndex]]);
388
389
  return {
389
390
  mainAccounts: {
@@ -403,11 +404,11 @@ class Vault {
403
404
  remainingAccounts,
404
405
  };
405
406
  }
406
- stripAccounts({ depositor, ptDst, ytDst, sySrc, }) {
407
- ptDst = ptDst || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintPt, depositor, true, spl_token_1.TOKEN_PROGRAM_ID);
408
- ytDst = ytDst || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintYt, depositor, true, spl_token_1.TOKEN_PROGRAM_ID);
409
- sySrc = sySrc || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintSy, depositor, true, spl_token_1.TOKEN_PROGRAM_ID);
410
- console.log("sysrc account: ", sySrc.toBase58());
407
+ stripAccounts({ depositor, ptDst: ptDstParam, ytDst: ytDstParam, sySrc: sySrcParam, }) {
408
+ const ptDst = ptDstParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintPt, depositor, true, spl_token_1.TOKEN_PROGRAM_ID);
409
+ const ytDst = ytDstParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintYt, depositor, true, spl_token_1.TOKEN_PROGRAM_ID);
410
+ const sySrc = sySrcParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintSy, depositor, true, spl_token_1.TOKEN_PROGRAM_ID);
411
+ // console.log("sysrc account: ", sySrc.toBase58())
411
412
  const remainingAccounts = (0, utils_1.uniqueRemainingAccounts)([...this.cpiAccounts.depositSy]);
412
413
  return {
413
414
  mainAccounts: {
@@ -494,8 +495,8 @@ class Vault {
494
495
  ix,
495
496
  };
496
497
  }
497
- collectInterestAccounts({ owner, syDst, }) {
498
- syDst = syDst || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintSy, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
498
+ collectInterestAccounts({ owner, syDst: syDstParam, }) {
499
+ const syDst = syDstParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintSy, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
499
500
  const yieldPosition = this.pda.yieldPosition({ owner, vault: this.selfAddress });
500
501
  const remainingAccounts = [...this.cpiAccounts.withdrawSy];
501
502
  return {
@@ -517,10 +518,10 @@ class Vault {
517
518
  };
518
519
  }
519
520
  /** Construct accounts for Merge instruction */
520
- mergeAccounts({ owner, ptSrc, ytSrc, syDst, }) {
521
- ptSrc = ptSrc || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintPt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
522
- ytSrc = ytSrc || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintYt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
523
- syDst = syDst || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintSy, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
521
+ mergeAccounts({ owner, ptSrc: ptSrcParam, ytSrc: ytSrcParam, syDst: syDstParam, }) {
522
+ const ptSrc = ptSrcParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintPt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
523
+ const ytSrc = ytSrcParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintYt, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
524
+ const syDst = syDstParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.mintSy, owner, true, spl_token_1.TOKEN_PROGRAM_ID);
524
525
  const remainingAccounts = [...this.cpiAccounts.getSyState, ...this.cpiAccounts.withdrawSy];
525
526
  return {
526
527
  mainAccounts: {
@@ -606,7 +607,7 @@ function toVaultState(vault) {
606
607
  case "jitoRestaking":
607
608
  return (0, flavors_1.makeFlavorJitoRestakingSync)((0, flavors_1.deserializeFlavorJitoRestaking)(vault.flavor));
608
609
  case "perena":
609
- return (0, flavors_1.makeFlavorPerenaSync)((0, flavors_1.deserializeFlavorParena)(vault.flavor));
610
+ return (0, flavors_1.makeFlavorPerenaSync)((0, flavors_1.deserializeFlavorPerena)(vault.flavor));
610
611
  case "generic":
611
612
  return (0, flavors_1.makeFlavorGenericSync)((0, flavors_1.deserializeFlavorGeneric)(vault.flavor));
612
613
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vault.js","sourceRoot":"","sources":["../src/vault.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { Program, web3 } from "@coral-xyz/anchor";
2
+ import { YtPosition as YtPositionState } from "@exponent-labs/exponent-fetcher";
2
3
  import { ExponentCore } from "@exponent-labs/exponent-idl";
4
+ import { VaultJson } from "@exponent-labs/exponent-types";
3
5
  import { Environment } from "./environment";
4
- import { YtPosition as YtPositionState } from "@exponent-labs/exponent-fetcher";
5
- import { Vault } from "./vault";
6
6
  import { InstructionAccounts } from "./utils";
7
- import { VaultJson } from "@exponent-labs/exponent-types";
7
+ import { Vault } from "./vault";
8
8
  export declare class YtPosition {
9
9
  env: Environment;
10
10
  connection: web3.Connection;
@@ -16,10 +16,11 @@ export declare class YtPosition {
16
16
  /** Loads the YT position by address, and loads Vault, too
17
17
  * DEPRECATED - use loadByOwner instead - loading the vault is expensive
18
18
  */
19
- static load(env: Environment, connection: web3.Connection, address: web3.PublicKey): Promise<YtPosition>;
19
+ static load(env: Environment, connection: web3.Connection, address: web3.PublicKey, vault?: Vault): Promise<YtPosition>;
20
20
  /** Loads the YT position by owner, but require a loaded Vault */
21
21
  static loadByOwner(env: Environment, connection: web3.Connection, owner: web3.PublicKey, vault: Vault): Promise<YtPosition>;
22
- reload(conn?: web3.Connection): Promise<YtPosition>;
22
+ static loadAllByOwner(env: Environment, connection: web3.Connection, owner: web3.PublicKey, vaults: (Vault | web3.PublicKey)[]): Promise<YtPosition[]>;
23
+ reload(connection?: web3.Connection): Promise<YtPosition>;
23
24
  toJson(): YtPositionJson;
24
25
  get ytBalance(): bigint;
25
26
  get owner(): web3.PublicKey;
@@ -52,16 +53,16 @@ export declare class YtPosition {
52
53
  syDst?: web3.PublicKey;
53
54
  amount?: bigint;
54
55
  }): Promise<web3.TransactionInstruction>;
55
- ixCollectEmission({ owner, emissionIndex, emissionDst, amount, }: {
56
+ ixCollectEmission({ owner, emissionIndex, emissionDst: emissionDstParam, amount, }: {
56
57
  owner: web3.PublicKey;
57
58
  emissionIndex: number;
58
59
  emissionDst?: web3.PublicKey;
59
60
  amount?: bigint;
60
61
  }): Promise<web3.TransactionInstruction>;
61
- depositYtAccounts({ ytSrc }: {
62
+ depositYtAccounts({ ytSrc: ytSrcParam }: {
62
63
  ytSrc?: web3.PublicKey;
63
64
  }): InstructionAccounts<DepositYtAccounts>;
64
- withdrawYtAccounts({ ytDst }: {
65
+ withdrawYtAccounts({ ytDst: ytDstParam }: {
65
66
  ytDst?: web3.PublicKey;
66
67
  }): InstructionAccounts<WithdrawYtAccounts>;
67
68
  }
@@ -2,13 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.YtPosition = void 0;
4
4
  const anchor_1 = require("@coral-xyz/anchor");
5
- const exponent_idl_1 = require("@exponent-labs/exponent-idl");
6
- const exponent_fetcher_1 = require("@exponent-labs/exponent-fetcher");
7
- const vault_1 = require("./vault");
8
5
  const spl_token_1 = require("@solana/spl-token");
6
+ const exponent_fetcher_1 = require("@exponent-labs/exponent-fetcher");
7
+ const exponent_idl_1 = require("@exponent-labs/exponent-idl");
9
8
  const exponent_pda_1 = require("@exponent-labs/exponent-pda");
10
- const market_1 = require("./market");
11
9
  const precise_number_1 = require("@exponent-labs/precise-number");
10
+ const market_1 = require("./market");
11
+ const vault_1 = require("./vault");
12
12
  class YtPosition {
13
13
  env;
14
14
  connection;
@@ -28,22 +28,30 @@ class YtPosition {
28
28
  /** Loads the YT position by address, and loads Vault, too
29
29
  * DEPRECATED - use loadByOwner instead - loading the vault is expensive
30
30
  */
31
- static async load(env, connection, address) {
31
+ static async load(env, connection, address, vault) {
32
32
  const fetcher = new exponent_fetcher_1.ExponentFetcher({ connection });
33
- const x = await fetcher.fetchYtPosition(address);
34
- const vault = await vault_1.Vault.load(env, connection, x.vault);
35
- return new YtPosition(env, connection, address, x, vault);
33
+ const ytPositionState = await fetcher.fetchYtPosition(address);
34
+ const loadedVault = vault ?? (await vault_1.Vault.load(env, connection, ytPositionState.vault));
35
+ return new YtPosition(env, connection, address, ytPositionState, loadedVault);
36
36
  }
37
37
  /** Loads the YT position by owner, but require a loaded Vault */
38
38
  static async loadByOwner(env, connection, owner, vault) {
39
39
  const pda = new exponent_pda_1.ExponentPDA(env.coreProgramId);
40
40
  const address = pda.yieldPosition({ vault: vault.selfAddress, owner });
41
41
  const fetcher = new exponent_fetcher_1.ExponentFetcher({ connection });
42
- const x = await fetcher.fetchYtPosition(address);
43
- return new YtPosition(env, connection, address, x, vault);
42
+ const ytPositionState = await fetcher.fetchYtPosition(address);
43
+ return new YtPosition(env, connection, address, ytPositionState, vault);
44
+ }
45
+ static async loadAllByOwner(env, connection, owner, vaults) {
46
+ const pda = new exponent_pda_1.ExponentPDA(env.coreProgramId);
47
+ const addresses = vaults.map((v) => pda.yieldPosition({
48
+ vault: v instanceof anchor_1.web3.PublicKey ? v : v.selfAddress,
49
+ owner,
50
+ }));
51
+ return Promise.all(addresses.map((addr) => YtPosition.load(env, connection, addr)));
44
52
  }
45
- async reload(conn = this.connection) {
46
- const x = await YtPosition.load(this.env, conn, this.selfAddress);
53
+ async reload(connection = this.connection) {
54
+ const x = await YtPosition.load(this.env, connection, this.selfAddress);
47
55
  this.state = x.state;
48
56
  return x;
49
57
  }
@@ -66,12 +74,12 @@ class YtPosition {
66
74
  */
67
75
  getClaimableInterest(currentIndex) {
68
76
  const interestDelta = 1 / this.state.interest.lastSeenIndex - 1 / currentIndex;
69
- let toCollectSy = Math.floor(Number(this.state.ytBalance.toString()) * interestDelta + Number(this.state.interest.staged));
77
+ const toCollectSy = Math.floor(Number(this.state.ytBalance.toString()) * interestDelta + Number(this.state.interest.staged));
70
78
  // Ensure toCollectSy is not negative
71
- toCollectSy = Math.max(0, toCollectSy);
72
- const feeSy = Math.floor((toCollectSy * this.vault.state.interestBpsFee + 9999) / 10000);
73
- const userSy = Math.max(0, toCollectSy - feeSy);
74
- let baseAmount = Math.floor(userSy * currentIndex);
79
+ const toCollectSySafe = Math.max(0, toCollectSy);
80
+ const feeSy = Math.floor((toCollectSySafe * this.vault.state.interestBpsFee + 9999) / 10000);
81
+ const userSy = Math.max(0, toCollectSySafe - feeSy);
82
+ const baseAmount = Math.floor(userSy * currentIndex);
75
83
  // Ensure final amount is non-negative
76
84
  return Math.max(0, baseAmount > 0 ? baseAmount - 1 : baseAmount);
77
85
  }
@@ -114,7 +122,7 @@ class YtPosition {
114
122
  vault: this.vault.selfAddress,
115
123
  payer,
116
124
  syProgram: this.vault.state.syProgram,
117
- yieldPosition: this.vault.state.yieldPositonAddress,
125
+ yieldPosition: this.vault.state.yieldPositonAddress, // Misspelled word
118
126
  systemProgram: anchor_1.web3.SystemProgram.programId,
119
127
  userYieldPosition: this.selfAddress,
120
128
  eventAuthority: this.vault.eventAuthority,
@@ -145,10 +153,10 @@ class YtPosition {
145
153
  .remainingAccounts(this.vault.cpiAccounts.withdrawSy)
146
154
  .instruction();
147
155
  }
148
- ixCollectEmission({ owner, emissionIndex, emissionDst, amount, }) {
156
+ ixCollectEmission({ owner, emissionIndex, emissionDst: emissionDstParam, amount, }) {
149
157
  const emission = this.vault.state.emissions[emissionIndex];
150
158
  const emissionSy = this.vault.flavor.emissions[emissionIndex];
151
- emissionDst = emissionDst || (0, spl_token_1.getAssociatedTokenAddressSync)(emissionSy.mint, owner, true, emissionSy.tokenProgram);
159
+ const emissionDst = emissionDstParam || (0, spl_token_1.getAssociatedTokenAddressSync)(emissionSy.mint, owner, true, emissionSy.tokenProgram);
152
160
  const claimAmount = amount !== undefined ? { some: { 0: new anchor_1.BN(amount.toString()) } } : { all: {} };
153
161
  return this.coreProgram.methods
154
162
  .collectEmission(emissionIndex, claimAmount)
@@ -169,8 +177,8 @@ class YtPosition {
169
177
  .remainingAccounts(this.vault.cpiAccounts.claimEmission[emissionIndex])
170
178
  .instruction();
171
179
  }
172
- depositYtAccounts({ ytSrc }) {
173
- ytSrc = ytSrc || (0, spl_token_1.getAssociatedTokenAddressSync)(this.vault.mintYt, this.owner, true, spl_token_1.TOKEN_PROGRAM_ID);
180
+ depositYtAccounts({ ytSrc: ytSrcParam }) {
181
+ const ytSrc = ytSrcParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.vault.mintYt, this.owner, true, spl_token_1.TOKEN_PROGRAM_ID);
174
182
  return {
175
183
  mainAccounts: {
176
184
  depositor: this.owner,
@@ -189,8 +197,8 @@ class YtPosition {
189
197
  remainingAccounts: this.vault.cpiAccounts.getSyState,
190
198
  };
191
199
  }
192
- withdrawYtAccounts({ ytDst }) {
193
- ytDst = ytDst || (0, spl_token_1.getAssociatedTokenAddressSync)(this.vault.mintYt, this.owner, true, spl_token_1.TOKEN_PROGRAM_ID);
200
+ withdrawYtAccounts({ ytDst: ytDstParam }) {
201
+ const ytDst = ytDstParam || (0, spl_token_1.getAssociatedTokenAddressSync)(this.vault.mintYt, this.owner, true, spl_token_1.TOKEN_PROGRAM_ID);
194
202
  return {
195
203
  mainAccounts: {
196
204
  owner: this.owner,
@@ -212,20 +220,20 @@ class YtPosition {
212
220
  }
213
221
  }
214
222
  exports.YtPosition = YtPosition;
215
- function ytPositionToJson(x) {
223
+ function ytPositionToJson(ytPosition) {
216
224
  return {
217
- owner: x.owner.toBase58(),
218
- ytBalance: x.ytBalance.toString(),
219
- interest: yieldTokenTrackerToJson(x.state.interest),
220
- emissions: x.state.emissions.map(yieldTokenTrackerToJson),
221
- claimableInterest: x.getClaimableInterest(x.vault.currentSyExchangeRate),
222
- vault: x.vault.toJson(),
225
+ owner: ytPosition.owner.toBase58(),
226
+ ytBalance: ytPosition.ytBalance.toString(),
227
+ interest: yieldTokenTrackerToJson(ytPosition.state.interest),
228
+ emissions: ytPosition.state.emissions.map(yieldTokenTrackerToJson),
229
+ claimableInterest: ytPosition.getClaimableInterest(ytPosition.vault.currentSyExchangeRate),
230
+ vault: ytPosition.vault.toJson(),
223
231
  };
224
232
  }
225
- function yieldTokenTrackerToJson(x) {
233
+ function yieldTokenTrackerToJson(yieldTokenTracker) {
226
234
  return {
227
- lastSeenIndex: x.lastSeenIndex,
228
- staged: x.staged.toString(),
235
+ lastSeenIndex: yieldTokenTracker.lastSeenIndex,
236
+ staged: yieldTokenTracker.staged.toString(),
229
237
  };
230
238
  }
231
239
  //# sourceMappingURL=ytPosition.js.map