@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/index.js CHANGED
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
35
25
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAkE;AAAzD,gGAAA,MAAM,OAAA;AACf,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,2CAA0D;AAAjD,wGAAA,UAAU,OAAA;AACnB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,mCAAuC;AAA9B,sGAAA,YAAY,OAAA;AAGrB,mDAAkC;AAClC,gDAA6B;AAC7B,qDAAoC;AACpC,2CAA6C;AAApC,4GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAkE;AAAzD,gGAAA,MAAM,OAAA;AACf,iCAA+B;AAAtB,8FAAA,KAAK,OAAA;AACd,2CAA0D;AAAjD,wGAAA,UAAU,OAAA;AACnB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,mCAAuC;AAA9B,sGAAA,YAAY,OAAA;AAGrB,mDAAkC;AAClC,gDAA6B;AAC7B,qDAAoC;AACpC,2CAA6C;AAApC,4GAAA,cAAc,OAAA"}
@@ -1,8 +1,8 @@
1
1
  import { Program, web3 } from "@coral-xyz/anchor";
2
- import { Market } from "./market";
3
- import { Environment } from "./environment";
4
- import { ExponentCore } from "@exponent-labs/exponent-idl";
5
2
  import { ExponentFetcher } from "@exponent-labs/exponent-fetcher";
3
+ import { ExponentCore } from "@exponent-labs/exponent-idl";
4
+ import { Environment } from "./environment";
5
+ import { Market } from "./market";
6
6
  export interface EmissionTracker {
7
7
  lastSeenIndex: number;
8
8
  staged: bigint;
@@ -22,8 +22,9 @@ export declare class LpPosition {
22
22
  state: LpPositionState;
23
23
  coreProgram: Program<ExponentCore>;
24
24
  constructor(env: Environment, connection: web3.Connection, selfAddress: web3.PublicKey, state: LpPositionState);
25
- static load(env: Environment, connection: web3.Connection, address: web3.PublicKey): Promise<LpPosition>;
26
- reload(conn?: web3.Connection): Promise<LpPosition>;
25
+ static load(env: Environment, connection: web3.Connection, address: web3.PublicKey, market?: Market): Promise<LpPosition>;
26
+ static loadAllByOwner(env: Environment, connection: web3.Connection, owner: web3.PublicKey, markets: (Market | web3.PublicKey)[]): Promise<LpPosition[]>;
27
+ reload(connection?: web3.Connection): Promise<LpPosition>;
27
28
  get lpBalance(): bigint;
28
29
  get owner(): web3.PublicKey;
29
30
  get marketSdk(): Market;
@@ -2,10 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LpPosition = void 0;
4
4
  const anchor_1 = require("@coral-xyz/anchor");
5
- const market_1 = require("./market");
6
- const exponent_idl_1 = require("@exponent-labs/exponent-idl");
7
5
  const exponent_fetcher_1 = require("@exponent-labs/exponent-fetcher");
6
+ const exponent_idl_1 = require("@exponent-labs/exponent-idl");
7
+ const exponent_pda_1 = require("@exponent-labs/exponent-pda");
8
8
  const precise_number_1 = require("@exponent-labs/precise-number");
9
+ const market_1 = require("./market");
9
10
  class LpPosition {
10
11
  env;
11
12
  connection;
@@ -20,24 +21,41 @@ class LpPosition {
20
21
  const mockWallet = new market_1.MyWallet(anchor_1.web3.Keypair.generate());
21
22
  this.coreProgram = new anchor_1.Program(exponent_idl_1.IDL, new anchor_1.AnchorProvider(connection, mockWallet));
22
23
  }
23
- static async load(env, connection, address) {
24
+ static async load(env, connection, address, market) {
24
25
  const fetcher = new exponent_fetcher_1.ExponentFetcher({ connection });
25
- const x = await fetcher.fetchLpPosition(address);
26
- const market = await market_1.Market.load(env, connection, x.market);
27
- const state = {
28
- owner: x.owner,
29
- balanceLp: x.lpBalance,
30
- market,
31
- emissionTrackers: x.emissions,
32
- farms: x.farms,
26
+ const fetchedLpPosition = await fetcher.fetchLpPosition(address);
27
+ const loadedMarket = market ?? (await market_1.Market.load(env, connection, fetchedLpPosition.market));
28
+ const lpPositionState = {
29
+ owner: fetchedLpPosition.owner,
30
+ balanceLp: fetchedLpPosition.lpBalance,
31
+ market: loadedMarket,
32
+ emissionTrackers: fetchedLpPosition.emissions,
33
+ farms: fetchedLpPosition.farms,
33
34
  fetcher: fetcher,
34
35
  };
35
- return new LpPosition(env, connection, address, state);
36
+ return new LpPosition(env, connection, address, lpPositionState);
37
+ }
38
+ static async loadAllByOwner(env, connection, owner, markets) {
39
+ const pda = new exponent_pda_1.ExponentPDA(env.coreProgramId);
40
+ const addresses = markets.map((m) => pda.marketLpPosition({
41
+ market: m instanceof anchor_1.web3.PublicKey ? m : m.selfAddress,
42
+ owner,
43
+ }));
44
+ const positionPromises = addresses.map((addr) => {
45
+ try {
46
+ return LpPosition.load(env, connection, addr);
47
+ }
48
+ catch {
49
+ return Promise.resolve(null);
50
+ }
51
+ });
52
+ const positions = await Promise.all(positionPromises);
53
+ return positions.filter((p) => p !== null);
36
54
  }
37
- async reload(conn = this.connection) {
38
- const x = await LpPosition.load(this.env, conn, this.selfAddress);
39
- this.state = x.state;
40
- return x;
55
+ async reload(connection = this.connection) {
56
+ const lpPosition = await LpPosition.load(this.env, connection, this.selfAddress);
57
+ this.state = lpPosition.state;
58
+ return lpPosition;
41
59
  }
42
60
  get lpBalance() {
43
61
  return this.state.balanceLp;
@@ -71,8 +89,8 @@ class LpPosition {
71
89
  return null;
72
90
  const marketFarm = this.state.market.state.lpFarm.farmEmissions[marketFarmIndex];
73
91
  const positionFarm = this.state.farms[marketFarmIndex];
74
- const ts = new Date().getTime() / 1000;
75
- const deltaTimeFarm = ts - this.marketSdk.state.lpFarm.lastSeenTimestamp;
92
+ const timeNow = new Date().getTime() / 1000;
93
+ const deltaTimeFarm = timeNow - this.marketSdk.state.lpFarm.lastSeenTimestamp;
76
94
  const lpStakedTotal = this.marketSdk.state.lpEscrowAmount;
77
95
  const tokensEmitted = Number(marketFarm.tokenRate) * deltaTimeFarm;
78
96
  const increaseAmount = Number(tokensEmitted) / Number(lpStakedTotal);
@@ -83,7 +101,7 @@ class LpPosition {
83
101
  }
84
102
  async getClaimableMarketEmissions() {
85
103
  const syPosition = this.marketSdk.state.syPosition;
86
- return this.state.market.emissions.map((emission, index) => {
104
+ return this.state.market.emissions.map((_, index) => {
87
105
  const marketEmission = this.state.market.marketEmissions.trackers[index];
88
106
  const positionEmission = this.state.emissionTrackers[index];
89
107
  if (!positionEmission)
@@ -1 +1 @@
1
- {"version":3,"file":"lpPosition.js","sourceRoot":"","sources":["../src/lpPosition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lpPosition.js","sourceRoot":"","sources":["../src/lpPosition.ts"],"names":[],"mappings":"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"}
package/build/market.d.ts CHANGED
@@ -1,14 +1,12 @@
1
- import { Program, Wallet, web3 } from "@coral-xyz/anchor";
1
+ /// <reference types="bn.js" />
2
+ import { BN, Program, Wallet, web3 } from "@coral-xyz/anchor";
2
3
  import { LiquidityNetBalanceLimits, LpFarm } from "@exponent-labs/exponent-fetcher";
3
- import { Environment } from "./environment";
4
4
  import { ExponentCore } from "@exponent-labs/exponent-idl";
5
- import { BN } from "@coral-xyz/anchor";
6
5
  import { ExponentPDA } from "@exponent-labs/exponent-pda";
7
- import { Vault } from "./vault";
6
+ import { AnchorizedPNum, CpiAccountsRaw, CpiAccountsRawJson, Flavor, SyPosition } from "@exponent-labs/exponent-types";
8
7
  import { LiquidityAdd, MarketCalculator } from "@exponent-labs/market-math";
9
- import { CpiAccountsRaw, Flavor, SyPosition } from "@exponent-labs/exponent-types";
10
- import { AnchorizedPNum } from "@exponent-labs/exponent-types";
11
- import { CpiAccountsRawJson } from "@exponent-labs/exponent-types";
8
+ import { Environment } from "./environment";
9
+ import { Vault } from "./vault";
12
10
  export { LiquidityAdd };
13
11
  interface Emission {
14
12
  /** Token account that holds emission tokens */
@@ -99,7 +97,7 @@ export declare class Market {
99
97
  xponPda: ExponentPDA;
100
98
  constructor(state: MarketArgs, selfAddress: web3.PublicKey, env: Environment, connection: web3.Connection);
101
99
  static load(env: Environment, connection: web3.Connection, address: web3.PublicKey, vault?: Vault, options?: MarketLoadOptions): Promise<Market>;
102
- reload(conn?: web3.Connection): Promise<Market>;
100
+ reload(connection?: web3.Connection): Promise<Market>;
103
101
  /** Convert to a JSON representation */
104
102
  toJson(): MarketJson;
105
103
  get vault(): Vault;
@@ -142,9 +140,11 @@ export declare class Market {
142
140
  get secondsRemaining(): number;
143
141
  get absolutePtYield(): number;
144
142
  /** Annualize a rate given the number of seconds remaining until maturity */
145
- static annualize(r: number, secondsRemaining: number): number;
143
+ static annualize(rate: number, secondsRemaining: number): number;
144
+ static annualizeApy(rate: number, secondsRemaining: number): number;
146
145
  /** Annualized PT fixed rate */
147
146
  get ptApr(): number;
147
+ get ptApy(): number;
148
148
  /** The fee rate taken off of trade fees (typically around 20%) expressed as a BPS number */
149
149
  get feeTreasuryBps(): number;
150
150
  /** The fee rate on assets when trading PT
@@ -154,7 +154,7 @@ export declare class Market {
154
154
  get feeRatePtTrade(): number;
155
155
  /** The fee rate taken off of trade fees (typically around 20%) expressed as a rational number */
156
156
  get feeTreasuryRate(): number;
157
- /** Calculate amonut of LP tokens to expect for tokens in */
157
+ /** Calculate amount of LP tokens to expect for tokens in */
158
158
  lpOutForTokensIn(syInIntent: bigint, ptInIntent: bigint): LiquidityAdd;
159
159
  marketCalculator(): MarketCalculator;
160
160
  /** Deposit a pair of tokens as liquidity to the market
@@ -165,7 +165,7 @@ export declare class Market {
165
165
  *
166
166
  * The token accounts themselves are optional, and will be derived from the depositor's wallet if not provided
167
167
  */
168
- ixDepositLiquidity({ ptInIntent, syInIntent, minLpOut, depositor, ptSrc, sySrc, lpDst, }: {
168
+ ixDepositLiquidity({ ptInIntent, syInIntent, minLpOut, depositor, ptSrc: ptSrcParam, sySrc: sySrcParam, lpDst: lpDstParam, }: {
169
169
  /** Intended (maximum) amount of PT in */
170
170
  ptInIntent: bigint;
171
171
  /** Intended (maximum) amount of SY in */
@@ -181,7 +181,7 @@ export declare class Market {
181
181
  signer: web3.PublicKey;
182
182
  adminAction: MarketAdminAction;
183
183
  }): Promise<web3.TransactionInstruction>;
184
- ixModifyFarm({ newRate, untilTimestamp, signer, farmMint, farmTokenProgram, farmTokenSrc, }: {
184
+ ixModifyFarm({ newRate, untilTimestamp, signer, farmMint, farmTokenProgram, farmTokenSrc: farmTokenSrcParam, }: {
185
185
  newRate: bigint;
186
186
  untilTimestamp: number;
187
187
  signer: web3.PublicKey;
@@ -198,7 +198,7 @@ export declare class Market {
198
198
  *
199
199
  * The token accounts themselves are optional, and will be derived from the withdrawer's wallet if not provided
200
200
  */
201
- ixWithdrawLiquidity({ lpIn, withdrawer, minPtOut, minSyOut, ptDst, syDst, lpSrc, }: {
201
+ ixWithdrawLiquidity({ lpIn, withdrawer, minPtOut, minSyOut, ptDst: ptDstParam, syDst: syDstParam, lpSrc: lpSrcParam, }: {
202
202
  lpIn: bigint;
203
203
  withdrawer: web3.PublicKey;
204
204
  minPtOut: bigint;
@@ -246,7 +246,7 @@ export declare class Market {
246
246
  ixs: web3.TransactionInstruction[];
247
247
  setupIxs: web3.TransactionInstruction[];
248
248
  }>;
249
- ixTradePt({ trader, traderPt, syConstraint, isBuy, tokenPt, tokenSy, }: {
249
+ ixTradePt({ trader, traderPt, syConstraint, isBuy, tokenPt: tokenPtParam, tokenSy: tokenSyParam, }: {
250
250
  trader: web3.PublicKey;
251
251
  traderPt: bigint;
252
252
  syConstraint: bigint;
@@ -267,7 +267,7 @@ export declare class Market {
267
267
  *
268
268
  * The token accounts themselves are optional, and will be derived from the trader's wallet if not provided
269
269
  */
270
- ixSellYt({ trader, ytIn, minSyOut, ytSrc, ptSrc, syDst, }: {
270
+ ixSellYt({ trader, ytIn, minSyOut, ytSrc: ytSrcParam, ptSrc: ptSrcParam, syDst: syDstParam, }: {
271
271
  trader: web3.PublicKey;
272
272
  ytIn: bigint;
273
273
  minSyOut: bigint;
@@ -288,7 +288,7 @@ export declare class Market {
288
288
  *
289
289
  * The token accounts themselves are optional, and will be derived from the trader's wallet if not provided
290
290
  */
291
- ixBuyYt({ trader, ytOut, maxSyIn, ytTrader, ptTrader, syTrader, }: {
291
+ ixBuyYt({ trader, ytOut, maxSyIn, ytTrader: ytTraderParam, ptTrader: ptTraderParam, syTrader: syTraderParam, }: {
292
292
  trader: web3.PublicKey;
293
293
  ytOut: bigint;
294
294
  maxSyIn: bigint;
@@ -304,25 +304,25 @@ export declare class Market {
304
304
  feePayer?: web3.PublicKey;
305
305
  }): Promise<web3.TransactionInstruction>;
306
306
  /** Deposit LP tokens into the farming module to earn rewards */
307
- ixDepositLp({ owner, amount, lpSrc }: {
307
+ ixDepositLp({ owner, amount, lpSrc: lpSrcParam, }: {
308
308
  owner: web3.PublicKey;
309
309
  amount: bigint;
310
310
  lpSrc?: web3.PublicKey;
311
311
  }): Promise<web3.TransactionInstruction>;
312
312
  /** Withdraw LP tokens from the farming module */
313
- ixWithdrawLp({ owner, amount, lpDst }: {
313
+ ixWithdrawLp({ owner, amount, lpDst: lpDstParam, }: {
314
314
  owner: web3.PublicKey;
315
315
  amount: bigint;
316
316
  lpDst?: web3.PublicKey;
317
317
  }): Promise<web3.TransactionInstruction>;
318
- ixWrapperCollectInterest({ claimer, tokenSyDst }: {
318
+ ixWrapperCollectInterest({ claimer, tokenSyDst: tokenSyDstParam, }: {
319
319
  claimer: web3.PublicKey;
320
320
  tokenSyDst?: web3.PublicKey;
321
321
  }): Promise<{
322
322
  ixs: web3.TransactionInstruction[];
323
323
  setupIxs: web3.TransactionInstruction[];
324
324
  }>;
325
- ixWrapperBuyPt({ owner, ptOut, maxBaseIn, tokenSyTrader, tokenPtTrader, tokenBaseTrader, }: {
325
+ ixWrapperBuyPt({ owner, ptOut, maxBaseIn, tokenSyTrader: tokenSyTraderParam, tokenPtTrader: tokenPtTraderParam, tokenBaseTrader: tokenBaseTraderParam, }: {
326
326
  owner: web3.PublicKey;
327
327
  ptOut: bigint;
328
328
  maxBaseIn: bigint;
@@ -333,7 +333,7 @@ export declare class Market {
333
333
  ixs: web3.TransactionInstruction[];
334
334
  setupIxs: web3.TransactionInstruction[];
335
335
  }>;
336
- ixWrapperSellPt({ owner, amount, minBaseOut, tokenSyTrader, tokenPtTrader, tokenBaseTrader, }: {
336
+ ixWrapperSellPt({ owner, amount, minBaseOut, tokenSyTrader: tokenSyTraderParam, tokenPtTrader: tokenPtTraderParam, tokenBaseTrader: tokenBaseTraderParam, }: {
337
337
  owner: web3.PublicKey;
338
338
  amount: bigint;
339
339
  minBaseOut: bigint;
@@ -344,7 +344,7 @@ export declare class Market {
344
344
  ixs: web3.TransactionInstruction[];
345
345
  setupIxs: web3.TransactionInstruction[];
346
346
  }>;
347
- ixWrapperBuyYt({ owner, ytOut, maxBaseIn, tokenSyTrader, tokenPtTrader, tokenYtTrader, tokenBaseTrader, }: {
347
+ ixWrapperBuyYt({ owner, ytOut, maxBaseIn, tokenSyTrader: tokenSyTraderParam, tokenPtTrader: tokenPtTraderParam, tokenYtTrader: tokenYtTraderParam, tokenBaseTrader: tokenBaseTraderParam, }: {
348
348
  owner: web3.PublicKey;
349
349
  ytOut: bigint;
350
350
  maxBaseIn: bigint;
@@ -356,7 +356,7 @@ export declare class Market {
356
356
  ixs: web3.TransactionInstruction[];
357
357
  setupIxs: web3.TransactionInstruction[];
358
358
  }>;
359
- ixWrapperSellYt({ owner, amount, minBaseOut, tokenBaseTrader, tokenSyTrader, tokenYtTrader, tokenPtTrader, }: {
359
+ ixWrapperSellYt({ owner, amount, minBaseOut, tokenBaseTrader: tokenBaseTraderParam, tokenSyTrader: tokenSyTraderParam, tokenYtTrader: tokenYtTraderParam, tokenPtTrader: tokenPtTraderParam, }: {
360
360
  owner: web3.PublicKey;
361
361
  amount: bigint;
362
362
  minBaseOut: bigint;
@@ -377,7 +377,7 @@ export declare class Market {
377
377
  setupIxs: web3.TransactionInstruction[];
378
378
  }>;
379
379
  /** Provide liquidity from a base asset - and receive YT and LP tokens in return */
380
- ixProvideLiquidityNoPriceImpact({ depositor, amountBase, minLpOut, tokenSyDepositor, tokenYtDepositor, tokenPtDepositor, tokenBaseDepositor, tokenLpDepositor, }: {
380
+ ixProvideLiquidityNoPriceImpact({ depositor, amountBase, minLpOut, tokenSyDepositor: tokenSyDepositorParam, tokenYtDepositor: tokenYtDepositorParam, tokenPtDepositor: tokenPtDepositorParam, tokenBaseDepositor: tokenBaseDepositorParam, tokenLpDepositor: tokenLpDepositorParam, }: {
381
381
  depositor: web3.PublicKey;
382
382
  amountBase: bigint;
383
383
  minLpOut: bigint;
@@ -390,7 +390,7 @@ export declare class Market {
390
390
  ixs: web3.TransactionInstruction[];
391
391
  setupIxs: web3.TransactionInstruction[];
392
392
  }>;
393
- ixProvideLiquidityBase({ depositor, amountBase, minLpOut, externalPtToBuy, externalSyConstraint, tokenSyDepositor, tokenYtDepositor, tokenPtDepositor, tokenBaseDepositor, tokenLpDepositor, }: {
393
+ ixProvideLiquidityBase({ depositor, amountBase, minLpOut, externalPtToBuy, externalSyConstraint, tokenSyDepositor: tokenSyDepositorParam, tokenYtDepositor: tokenYtDepositorParam, tokenPtDepositor: tokenPtDepositorParam, tokenBaseDepositor: tokenBaseDepositorParam, tokenLpDepositor: tokenLpDepositorParam, }: {
394
394
  depositor: web3.PublicKey;
395
395
  amountBase: bigint;
396
396
  minLpOut: bigint;
@@ -405,7 +405,7 @@ export declare class Market {
405
405
  ixs: web3.TransactionInstruction[];
406
406
  setupIxs: web3.TransactionInstruction[];
407
407
  }>;
408
- ixProvideLiquidityClassic({ depositor, amountBase, amountPt, minLpOut, tokenSyDepositor, tokenYtDepositor, tokenPtDepositor, tokenBaseDepositor, tokenLpDepositor, }: {
408
+ ixProvideLiquidityClassic({ depositor, amountBase, amountPt, minLpOut, tokenSyDepositor: tokenSyDepositorParam, tokenYtDepositor: tokenYtDepositorParam, tokenPtDepositor: tokenPtDepositorParam, tokenBaseDepositor: tokenBaseDepositorParam, tokenLpDepositor: tokenLpDepositorParam, }: {
409
409
  depositor: web3.PublicKey;
410
410
  amountBase: bigint;
411
411
  amountPt: bigint;
@@ -419,7 +419,7 @@ export declare class Market {
419
419
  ixs: web3.TransactionInstruction[];
420
420
  setupIxs: web3.TransactionInstruction[];
421
421
  }>;
422
- ixWithdrawLiquidityToBase({ owner, amountLp, minBaseOut, tokenSyWithdrawer, tokenYtWithdrawer, tokenPtWithdrawer, tokenBaseWithdrawer, tokenLpWithdrawer, }: {
422
+ ixWithdrawLiquidityToBase({ owner, amountLp, minBaseOut, tokenSyWithdrawer: tokenSyWithdrawerParam, tokenYtWithdrawer: tokenYtWithdrawerParam, tokenPtWithdrawer: tokenPtWithdrawerParam, tokenBaseWithdrawer: tokenBaseWithdrawerParam, tokenLpWithdrawer: tokenLpWithdrawerParam, }: {
423
423
  owner: web3.PublicKey;
424
424
  amountLp: bigint;
425
425
  minBaseOut: bigint;
@@ -432,10 +432,9 @@ export declare class Market {
432
432
  ixs: web3.TransactionInstruction[];
433
433
  setupIxs: web3.TransactionInstruction[];
434
434
  }>;
435
- ixWithdrawLiquidityClassic({ owner, amountLp, minBaseOut, tokenSyWithdrawer, tokenYtWithdrawer, tokenPtWithdrawer, tokenBaseWithdrawer, tokenLpWithdrawer, }: {
435
+ ixWithdrawLiquidityClassic({ owner, amountLp, tokenSyWithdrawer: tokenSyWithdrawerParam, tokenYtWithdrawer: tokenYtWithdrawerParam, tokenPtWithdrawer: tokenPtWithdrawerParam, tokenBaseWithdrawer: tokenBaseWithdrawerParam, tokenLpWithdrawer: tokenLpWithdrawerParam, }: {
436
436
  owner: web3.PublicKey;
437
437
  amountLp: bigint;
438
- minBaseOut: bigint;
439
438
  tokenSyWithdrawer?: web3.PublicKey;
440
439
  tokenYtWithdrawer?: web3.PublicKey;
441
440
  tokenPtWithdrawer?: web3.PublicKey;
@@ -445,7 +444,7 @@ export declare class Market {
445
444
  ixs: web3.TransactionInstruction[];
446
445
  setupIxs: web3.TransactionInstruction[];
447
446
  }>;
448
- claimFarmEmissions({ owner, mint, tokenProgram, tokenDst, }: {
447
+ claimFarmEmissions({ owner, mint, tokenProgram, tokenDst: tokenDstParam, }: {
449
448
  owner: web3.PublicKey;
450
449
  mint: web3.PublicKey;
451
450
  tokenProgram: web3.PublicKey;
@@ -464,7 +463,7 @@ export declare class Market {
464
463
  extendAddressLookupTableExtensionAccounts: web3.PublicKey[];
465
464
  addMarketEmissionIx: web3.TransactionInstruction;
466
465
  }>;
467
- addFarm({ signer, farmMint, farmRewardTokenProgram, emissionsRate, untilTimestamp, farmRewardSrc, feePayer, }: {
466
+ addFarm({ signer, farmMint, farmRewardTokenProgram, emissionsRate, untilTimestamp, farmRewardSrc: farmRewardSrcParam, feePayer: feePayerParam, }: {
468
467
  signer: web3.PublicKey;
469
468
  farmMint: web3.PublicKey;
470
469
  farmRewardTokenProgram: web3.PublicKey;
@@ -476,11 +475,11 @@ export declare class Market {
476
475
  ixs: web3.TransactionInstruction[];
477
476
  }>;
478
477
  /** Calculate available liquidity for PT trades
479
- * @param is_buy - true if buying PT with SY, false if selling PT for SY
480
- * @param size_pt - amount of PT to trade (in PT decimals)
478
+ * @param isBuy - true if buying PT with SY, false if selling PT for SY
479
+ * @param sizePt - amount of PT to trade (in PT decimals)
481
480
  * @returns amount of PT that can be traded given current liquidity
482
481
  */
483
- liquidityAvailable(is_buy: boolean, size_pt: bigint): bigint;
482
+ liquidityAvailable(isBuy: boolean, sizePt: bigint): bigint;
484
483
  }
485
484
  export type MarketJson = {
486
485
  /** The market's public key */
@@ -540,6 +539,7 @@ export type MarketJson = {
540
539
  cpiAccounts: CpiAccountsRawJson;
541
540
  /** Annualized yield for PT */
542
541
  ptApr: number;
542
+ ptApy: number;
543
543
  /** Emission tokens */
544
544
  emissions: {
545
545
  trackers: {