@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
@@ -1 +1 @@
1
- {"version":3,"file":"ytPosition.js","sourceRoot":"","sources":["../src/ytPosition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ytPosition.js","sourceRoot":"","sources":["../src/ytPosition.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exponent-labs/exponent-sdk",
3
- "version": "0.0.9",
3
+ "version": "0.1.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "license": "AGPL-3.0",
@@ -10,28 +10,28 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@coral-xyz/anchor": "0.30.1",
13
- "@exponent-labs/exponent-fetcher": "0.0.9",
14
- "@exponent-labs/exponent-idl": "0.0.9",
15
- "@exponent-labs/exponent-pda": "0.0.9",
16
- "@exponent-labs/generic-sy-idl": "0.0.9",
17
- "@exponent-labs/generic-sy-pda": "0.0.9",
18
- "@exponent-labs/generic-sy-sdk": "0.0.9",
19
- "@exponent-labs/jito-restaking-sy-idl": "0.0.9",
20
- "@exponent-labs/jito-restaking-sy-sdk": "0.0.9",
21
- "@exponent-labs/kamino-sy-sdk": "0.0.9",
22
- "@exponent-labs/marginfi-sy-pda": "0.0.9",
23
- "@exponent-labs/marginfi-sy-sdk": "0.0.9",
24
- "@exponent-labs/market-math": "0.0.9",
25
- "@exponent-labs/perena-sy-idl": "0.0.9",
26
- "@exponent-labs/perena-sy-pda": "0.0.9",
27
- "@exponent-labs/perena-sy-sdk": "0.0.9",
13
+ "@exponent-labs/exponent-fetcher": "0.1.0",
14
+ "@exponent-labs/exponent-idl": "0.1.0",
15
+ "@exponent-labs/exponent-pda": "0.1.0",
16
+ "@exponent-labs/generic-sy-idl": "0.1.0",
17
+ "@exponent-labs/generic-sy-pda": "0.1.0",
18
+ "@exponent-labs/generic-sy-sdk": "0.1.0",
19
+ "@exponent-labs/jito-restaking-sy-idl": "0.1.0",
20
+ "@exponent-labs/jito-restaking-sy-sdk": "0.1.0",
21
+ "@exponent-labs/kamino-sy-sdk": "0.1.0",
22
+ "@exponent-labs/marginfi-sy-pda": "0.1.0",
23
+ "@exponent-labs/marginfi-sy-sdk": "0.1.0",
24
+ "@exponent-labs/market-math": "0.1.0",
25
+ "@exponent-labs/perena-sy-idl": "0.1.0",
26
+ "@exponent-labs/perena-sy-pda": "0.1.0",
27
+ "@exponent-labs/perena-sy-sdk": "0.1.0",
28
28
  "@solana/spl-token": "0.4.8",
29
- "@exponent-labs/precise-number": "0.0.9",
30
- "@exponent-labs/exponent-admin-pda": "0.0.9",
31
- "@exponent-labs/jito-restaking-sy-pda": "0.0.9",
32
- "@exponent-labs/kamino-sy-idl": "0.0.9",
33
- "@exponent-labs/exponent-types": "0.0.9",
34
- "@exponent-labs/kamino-sy-pda": "0.0.9",
29
+ "@exponent-labs/precise-number": "0.1.0",
30
+ "@exponent-labs/exponent-admin-pda": "0.1.0",
31
+ "@exponent-labs/jito-restaking-sy-pda": "0.1.0",
32
+ "@exponent-labs/kamino-sy-idl": "0.1.0",
33
+ "@exponent-labs/exponent-types": "0.1.0",
34
+ "@exponent-labs/kamino-sy-pda": "0.1.0",
35
35
  "bs58": "5.0.0"
36
36
  },
37
37
  "devDependencies": {
@@ -1,5 +1,6 @@
1
1
  import { web3 } from "@coral-xyz/anchor"
2
- import { CpiAccountIndexes, CpiAccountIndex } from "@exponent-labs/exponent-types"
2
+
3
+ import { CpiAccountIndex, CpiAccountIndexes } from "@exponent-labs/exponent-types"
3
4
 
4
5
  /** Fetch and deserialize the ALT */
5
6
  export async function fetchAddressLookupTable(
package/src/events.ts CHANGED
@@ -1,33 +1,35 @@
1
- import { BorshCoder, web3, BN } from "@coral-xyz/anchor"
1
+ import { BN, BorshCoder, web3 } from "@coral-xyz/anchor"
2
+ import bs58 from "bs58"
3
+
2
4
  import { ExponentCore, IDL } from "@exponent-labs/exponent-idl"
3
5
  import { AnchorizedPNum } from "@exponent-labs/exponent-types"
4
- import bs58 from "bs58"
6
+
7
+ const EVENT_IX_TAG = new BN("1d9acb512ea545e4", 16)
5
8
 
6
9
  export class EventDecoder {
7
10
  private coder: BorshCoder
8
11
  programId: web3.PublicKey
9
- private static eventIxTag = new BN("1d9acb512ea545e4", 16)
10
- private discriminators: Map<string, string>
12
+ private static eventIxTag = EVENT_IX_TAG
11
13
 
12
14
  constructor(idl: ExponentCore = IDL as ExponentCore) {
13
15
  this.programId = new web3.PublicKey(idl.address)
14
16
  this.coder = new BorshCoder(idl)
15
- this.discriminators = new Map<string, string>(
16
- (idl.events ?? []).map((ev): [string, string] => [Buffer.from(ev.discriminator).toString("hex"), ev.name]),
17
- )
18
17
  }
19
18
 
20
19
  parseAsTransactionCpiData(log: string): string | null {
21
- let encodedLog: Buffer
22
20
  try {
23
- encodedLog = Buffer.from(bs58.decode(log))
24
- } catch (e) {
25
- return null
26
- }
27
- const disc = encodedLog.slice(0, 8)
28
- if (disc.equals(Uint8Array.from(EventDecoder.eventIxTag.toBuffer("le", 8)))) {
29
- return Buffer.from(Uint8Array.from(encodedLog.slice(8))).toString("base64")
30
- } else {
21
+ const encodedLog = Buffer.from(bs58.decode(log))
22
+ const discriminator = encodedLog.subarray(0, 8)
23
+
24
+ const eventIxTagBuffer = Uint8Array.from(EventDecoder.eventIxTag.toBuffer("le", 8))
25
+
26
+ if (discriminator.equals(eventIxTagBuffer)) {
27
+ return Buffer.from(Uint8Array.from(encodedLog.subarray(8))).toString("base64")
28
+ }
29
+
30
+ throw new Error("Discriminator not found")
31
+ } catch (error) {
32
+ console.error("Unable tp parse transaction CPI data:", error)
31
33
  return null
32
34
  }
33
35
  }
@@ -42,34 +44,46 @@ export class EventDecoder {
42
44
  const event = this.coder.events.decode(cpiData)
43
45
  return {
44
46
  name: event.name,
45
- data: event,
47
+ data: event.data,
46
48
  }
47
- } catch (e) {
48
- console.error(`Failed to decode event:`, e)
49
+ } catch (error) {
50
+ console.error(`Failed to decode event:`, error)
49
51
  return null
50
52
  }
51
53
  }
52
54
 
53
- parseCpiEvents(transactionResponse: web3.VersionedTransactionResponse | web3.TransactionResponse): CategorizedEvents {
54
- const events: GenericEvent[] = []
55
- const inner: web3.CompiledInnerInstruction[] = transactionResponse?.meta?.innerInstructions ?? []
55
+ async parseCpiEvents(
56
+ transactionResponse: web3.VersionedTransactionResponse | web3.TransactionResponse,
57
+ connection: web3.Connection,
58
+ ): Promise<CategorizedEvents> {
59
+ const innerInstructions: web3.CompiledInnerInstruction[] = transactionResponse?.meta?.innerInstructions ?? []
60
+
61
+ const addressTableLookups = transactionResponse?.transaction.message.addressTableLookups
56
62
 
57
- for (let i = 0; i < inner.length; i++) {
58
- for (let j = 0; j < inner[i].instructions.length; j++) {
59
- const ix = inner[i].instructions[j]
63
+ const lookupTables = await Promise.all(
64
+ addressTableLookups.map(async (lookup) => {
65
+ const lookupTable = await connection.getAddressLookupTable(lookup.accountKey)
66
+ return lookupTable
67
+ }),
68
+ )
60
69
 
61
- const programPubkey = transactionResponse?.transaction.message.staticAccountKeys[ix.programIdIndex]
70
+ const instructions: web3.CompiledInstruction[] = innerInstructions.map(({ instructions }) => instructions).flat()
62
71
 
72
+ const events: GenericEvent[] = instructions
73
+ .map((ix) => {
74
+ const accountKeys = transactionResponse?.transaction.message.getAccountKeys({
75
+ addressLookupTableAccounts: lookupTables.map((lookup) => lookup.value),
76
+ })
77
+ const programPubkey = accountKeys.get(ix.programIdIndex)
63
78
  if (programPubkey === undefined || !programPubkey.equals(this.programId)) {
64
- continue
79
+ return null
65
80
  }
66
81
 
67
82
  const event = this.decode(ix.data)
68
- if (event) {
69
- events.push(event.data)
70
- }
71
- }
72
- }
83
+
84
+ return event || null
85
+ })
86
+ .filter((ev) => !!ev)
73
87
 
74
88
  return categorizeEvents(events)
75
89
  }
@@ -77,26 +91,26 @@ export class EventDecoder {
77
91
  parseHeliusWebsocketCpiEvents(
78
92
  transactionResponse: web3.VersionedTransactionResponse | web3.TransactionResponse,
79
93
  ): CategorizedEvents {
80
- const events: GenericEvent[] = []
81
- const inner: web3.CompiledInnerInstruction[] = transactionResponse?.meta?.innerInstructions ?? []
94
+ // const events: GenericEvent[] = []
95
+ const innerInstructions: web3.CompiledInnerInstruction[] = transactionResponse?.meta?.innerInstructions ?? []
82
96
 
83
- for (let i = 0; i < inner.length; i++) {
84
- for (let j = 0; j < inner[i].instructions.length; j++) {
85
- const ix = inner[i].instructions[j]
97
+ const instructions: web3.CompiledInstruction[] = innerInstructions.map(({ instructions }) => instructions).flat()
86
98
 
87
- // @ts-ignore
88
- const programPubkey = new web3.PublicKey(ix.programId)
99
+ const events: GenericEvent[] = instructions
100
+ .map((ix) => {
101
+ //! Is it safe? If helius adds a programId field, we need to use a modified CompiledInstruction interface
102
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
103
+ const programPubkey = new web3.PublicKey((ix as any).programId)
89
104
 
90
105
  if (programPubkey === undefined || !programPubkey.equals(this.programId)) {
91
- continue
106
+ return null
92
107
  }
93
108
 
94
109
  const event = this.decode(ix.data)
95
- if (event) {
96
- events.push(event.data)
97
- }
98
- }
99
- }
110
+
111
+ return event || null
112
+ })
113
+ .filter((ev) => !!ev)
100
114
 
101
115
  return categorizeEvents(events)
102
116
  }
@@ -104,6 +118,7 @@ export class EventDecoder {
104
118
 
105
119
  interface GenericEvent {
106
120
  name: string
121
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
107
122
  data: any
108
123
  }
109
124
 
package/src/flavors.ts CHANGED
@@ -1,39 +1,40 @@
1
1
  import { BN, web3 } from "@coral-xyz/anchor"
2
+
2
3
  import { ExponentFetcher, fetchKaminoReserve } from "@exponent-labs/exponent-fetcher"
3
- import { Environment } from "./environment"
4
- import { MfiSySdk } from "@exponent-labs/marginfi-sy-sdk"
5
- import { KaminoSyPda } from "@exponent-labs/kamino-sy-pda"
6
- import { PROGRAM_ID as KAMINO_STANDARD_PROGRAM_ID } from "@exponent-labs/kamino-sy-idl"
7
- import { KlendSySdk } from "@exponent-labs/kamino-sy-sdk"
8
4
  import {
9
- FlavorKaminoStateJson,
10
- FlavorKaminoState,
11
- FlavorMarginfiState,
12
- FlavorMarginfiStateJson,
13
- FlavorKamino,
14
- FlavorMarginfi,
15
- FlavorDiscriminator,
16
- MintSyArgs,
17
- RedeemSyArgs,
18
- Flavor,
19
5
  CpiAccountsRaw,
6
+ Flavor,
7
+ FlavorDiscriminator,
8
+ FlavorGeneric,
9
+ FlavorGenericState,
10
+ FlavorGenericStateJson,
20
11
  FlavorJitoRestaking,
21
12
  FlavorJitoRestakingState,
22
13
  FlavorJitoRestakingStateJson,
14
+ FlavorKamino,
15
+ FlavorKaminoState,
16
+ FlavorKaminoStateJson,
17
+ FlavorMarginfi,
18
+ FlavorMarginfiState,
19
+ FlavorMarginfiStateJson,
23
20
  FlavorPerena,
24
21
  FlavorPerenaState,
25
22
  FlavorPerenaStateJson,
26
- FlavorGeneric,
27
- FlavorGenericState,
28
- InterfaceInstructionArgs,
29
- FlavorGenericStateJson,
30
- toInterfaceTypeGenericJson,
23
+ MintSyArgs,
24
+ RedeemSyArgs,
31
25
  fromInterfaceTypeGenericJson,
26
+ toInterfaceTypeGenericJson,
32
27
  } from "@exponent-labs/exponent-types"
28
+ import { GenericSySdk } from "@exponent-labs/generic-sy-sdk"
33
29
  import { JitoRestakingSySdk } from "@exponent-labs/jito-restaking-sy-sdk"
34
- import { PreciseNumber } from "@exponent-labs/precise-number"
30
+ import { PROGRAM_ID as KAMINO_STANDARD_PROGRAM_ID } from "@exponent-labs/kamino-sy-idl"
31
+ import { KaminoSyPda } from "@exponent-labs/kamino-sy-pda"
32
+ import { KlendSySdk } from "@exponent-labs/kamino-sy-sdk"
33
+ import { MfiSySdk } from "@exponent-labs/marginfi-sy-sdk"
35
34
  import { PerenaSySdk } from "@exponent-labs/perena-sy-sdk"
36
- import { GenericSySdk } from "@exponent-labs/generic-sy-sdk"
35
+ import { PreciseNumber } from "@exponent-labs/precise-number"
36
+
37
+ import { Environment } from "./environment"
37
38
 
38
39
  export function serializeFlavorMarginfi(flavor: FlavorMarginfiState): FlavorMarginfiStateJson {
39
40
  return {
@@ -303,7 +304,7 @@ export function deserializeFlavorJitoRestaking(flavor: FlavorJitoRestakingStateJ
303
304
  }
304
305
  }
305
306
 
306
- export function serializeFlavorParena(flavor: FlavorPerenaState): FlavorPerenaStateJson {
307
+ export function serializeFlavorPerena(flavor: FlavorPerenaState): FlavorPerenaStateJson {
307
308
  return {
308
309
  flavor: "perena",
309
310
  currentSyExchangeRate: flavor.currentSyExchangeRate,
@@ -388,7 +389,7 @@ export function serializeFlavorGeneric(flavor: FlavorGenericState): FlavorGeneri
388
389
  }
389
390
  }
390
391
 
391
- export function deserializeFlavorParena(flavor: FlavorPerenaStateJson): FlavorPerenaState {
392
+ export function deserializeFlavorPerena(flavor: FlavorPerenaStateJson): FlavorPerenaState {
392
393
  return {
393
394
  flavor: "perena",
394
395
  currentSyExchangeRate: flavor.currentSyExchangeRate,
@@ -482,8 +483,8 @@ export function makeFlavorMarginfiSync(data: FlavorMarginfiState): FlavorMarginf
482
483
  flavor: "marginfi",
483
484
  ixMintSy: (args) => mfiSySdk.ixMintSy(args),
484
485
  ixRedeemSy: (args) => mfiSySdk.ixRedeemSy(args),
485
- preIxs: async (args) => [],
486
- postIxs: async (args) => [],
486
+ preIxs: async () => [],
487
+ postIxs: async () => [],
487
488
  }
488
489
  }
489
490
 
@@ -508,8 +509,8 @@ export function makeFlavorJitoRestakingSync(data: FlavorJitoRestakingState): Fla
508
509
  flavor: "jitoRestaking",
509
510
  ixMintSy: (args) => jitoSdk.ixMintSy(args),
510
511
  ixRedeemSy: (args) => jitoSdk.ixRedeemSy(args),
511
- preIxs: async (args) => [],
512
- postIxs: async (args) => [],
512
+ preIxs: async () => [],
513
+ postIxs: async () => [],
513
514
  }
514
515
  }
515
516
 
@@ -622,8 +623,8 @@ async function makeMarginfiFlavor(
622
623
  mfiSyState: mfiSySdk.state,
623
624
  emissionMint: mapOptAccount(emissionMint),
624
625
  emissionTokenProgram: mapOptAccount(emissionTokenProgram),
625
- preIxs: async (args) => [],
626
- postIxs: async (args) => [],
626
+ preIxs: async () => [],
627
+ postIxs: async () => [],
627
628
  }
628
629
  }
629
630
 
@@ -632,9 +633,6 @@ async function makeKaminoFlavor(
632
633
  kaminoSyProgramId: web3.PublicKey,
633
634
  cpiAccounts: CpiAccountsRaw,
634
635
  ): Promise<FlavorKamino> {
635
- const isNone = (x: web3.PublicKey) => x.equals(kaminoSyProgramId)
636
- const mapOptAccount = (x: web3.PublicKey) => (isNone(x) ? undefined : x)
637
-
638
636
  // TODO - I do not like hard-coding these magic numbers
639
637
  const reserve = cpiAccounts.getSyState[0].pubkey
640
638
  const reserveAcct = await fetchKaminoReserve(reserve, fetcher.connection)
@@ -685,7 +683,6 @@ async function makeJitoRestakingFlavor(
685
683
  ): Promise<FlavorJitoRestaking> {
686
684
  // TODO - I do not like hard-coding these magic numbers
687
685
  const jitoVault = cpiAccounts.getSyState[1].pubkey
688
- // const recentBlockhash = await fetcher.connection.getLatestBlockhash().then((b) => b.blockhash)
689
686
 
690
687
  const jitoSdk = await JitoRestakingSySdk.load({
691
688
  cnx: fetcher.connection,
@@ -757,9 +754,6 @@ async function makeGenericFlavor(
757
754
  config: syConfig,
758
755
  })
759
756
 
760
- let preIxs = []
761
- let postIxs = []
762
-
763
757
  return {
764
758
  flavor: "generic",
765
759
  currentSyExchangeRate: sySdk.state.syRate,
@@ -767,8 +761,8 @@ async function makeGenericFlavor(
767
761
  baseTokenProgram: sySdk.tokenProgramBase,
768
762
  ixMintSy: (args) => sySdk.ixMintSy(args),
769
763
  ixRedeemSy: (args) => sySdk.ixRedeemSy(args),
770
- preIxs: async () => preIxs,
771
- postIxs: async () => postIxs,
764
+ preIxs: async () => [],
765
+ postIxs: async () => [],
772
766
  genericSyState: sySdk.state,
773
767
  emissions: sySdk.emissions.map((e) => ({
774
768
  exchangeRate: e.index,
package/src/lpPosition.ts CHANGED
@@ -1,10 +1,12 @@
1
1
  import { AnchorProvider, Program, web3 } from "@coral-xyz/anchor"
2
- import { Market, MyWallet } from "./market"
3
- import { Environment } from "./environment"
4
- import { ExponentCore, IDL } from "@exponent-labs/exponent-idl"
2
+
5
3
  import { ExponentFetcher } from "@exponent-labs/exponent-fetcher"
4
+ import { ExponentCore, IDL } from "@exponent-labs/exponent-idl"
5
+ import { ExponentPDA } from "@exponent-labs/exponent-pda"
6
6
  import { PreciseNumber } from "@exponent-labs/precise-number"
7
- import { makeSyPosition } from "./syPosition"
7
+
8
+ import { Environment } from "./environment"
9
+ import { Market, MyWallet } from "./market"
8
10
 
9
11
  export interface EmissionTracker {
10
12
  lastSeenIndex: number
@@ -32,25 +34,51 @@ export class LpPosition {
32
34
  this.coreProgram = new Program(IDL as ExponentCore, new AnchorProvider(connection, mockWallet))
33
35
  }
34
36
 
35
- static async load(env: Environment, connection: web3.Connection, address: web3.PublicKey) {
37
+ static async load(env: Environment, connection: web3.Connection, address: web3.PublicKey, market?: Market) {
36
38
  const fetcher = new ExponentFetcher({ connection })
37
- const x = await fetcher.fetchLpPosition(address)
38
- const market = await Market.load(env, connection, x.market)
39
- const state: LpPositionState = {
40
- owner: x.owner,
41
- balanceLp: x.lpBalance,
42
- market,
43
- emissionTrackers: x.emissions,
44
- farms: x.farms,
39
+ const fetchedLpPosition = await fetcher.fetchLpPosition(address)
40
+ const loadedMarket = market ?? (await Market.load(env, connection, fetchedLpPosition.market))
41
+ const lpPositionState: LpPositionState = {
42
+ owner: fetchedLpPosition.owner,
43
+ balanceLp: fetchedLpPosition.lpBalance,
44
+ market: loadedMarket,
45
+ emissionTrackers: fetchedLpPosition.emissions,
46
+ farms: fetchedLpPosition.farms,
45
47
  fetcher: fetcher,
46
48
  }
47
- return new LpPosition(env, connection, address, state)
49
+ return new LpPosition(env, connection, address, lpPositionState)
50
+ }
51
+
52
+ static async loadAllByOwner(
53
+ env: Environment,
54
+ connection: web3.Connection,
55
+ owner: web3.PublicKey,
56
+ markets: (Market | web3.PublicKey)[],
57
+ ) {
58
+ const pda = new ExponentPDA(env.coreProgramId)
59
+ const addresses = markets.map((m) =>
60
+ pda.marketLpPosition({
61
+ market: m instanceof web3.PublicKey ? m : m.selfAddress,
62
+ owner,
63
+ }),
64
+ )
65
+
66
+ const positionPromises = addresses.map((addr) => {
67
+ try {
68
+ return LpPosition.load(env, connection, addr)
69
+ } catch {
70
+ return Promise.resolve(null)
71
+ }
72
+ })
73
+
74
+ const positions = await Promise.all(positionPromises)
75
+ return positions.filter((p): p is LpPosition => p !== null)
48
76
  }
49
77
 
50
- async reload(conn = this.connection) {
51
- const x = await LpPosition.load(this.env, conn, this.selfAddress)
52
- this.state = x.state
53
- return x
78
+ async reload(connection = this.connection) {
79
+ const lpPosition = await LpPosition.load(this.env, connection, this.selfAddress)
80
+ this.state = lpPosition.state
81
+ return lpPosition
54
82
  }
55
83
 
56
84
  get lpBalance() {
@@ -92,9 +120,9 @@ export class LpPosition {
92
120
  const marketFarm = this.state.market.state.lpFarm.farmEmissions[marketFarmIndex]
93
121
  const positionFarm = this.state.farms[marketFarmIndex]
94
122
 
95
- const ts = new Date().getTime() / 1000
123
+ const timeNow = new Date().getTime() / 1000
96
124
 
97
- const deltaTimeFarm = ts - this.marketSdk.state.lpFarm.lastSeenTimestamp
125
+ const deltaTimeFarm = timeNow - this.marketSdk.state.lpFarm.lastSeenTimestamp
98
126
  const lpStakedTotal = this.marketSdk.state.lpEscrowAmount
99
127
  const tokensEmitted = Number(marketFarm.tokenRate) * deltaTimeFarm
100
128
  const increaseAmount = Number(tokensEmitted) / Number(lpStakedTotal)
@@ -110,7 +138,7 @@ export class LpPosition {
110
138
  async getClaimableMarketEmissions() {
111
139
  const syPosition = this.marketSdk.state.syPosition
112
140
 
113
- return this.state.market.emissions.map((emission, index) => {
141
+ return this.state.market.emissions.map((_, index) => {
114
142
  const marketEmission = this.state.market.marketEmissions.trackers[index]
115
143
  const positionEmission = this.state.emissionTrackers[index]
116
144
  if (!positionEmission) return 0