@elmntl/vaults-v2 1.0.6 → 1.0.7

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.
@@ -3,8 +3,14 @@ import { PoolData, SwapAdapter } from "../types";
3
3
  export declare class Pool {
4
4
  readonly address: PublicKey;
5
5
  private _data?;
6
- constructor(address: PublicKey, data?: PoolData);
6
+ private _depositDecimals;
7
+ private _vaultDecimals;
8
+ constructor(address: PublicKey, data?: PoolData, depositDecimals?: number, vaultDecimals?: number);
7
9
  get data(): PoolData;
10
+ get depositDecimals(): number;
11
+ get vaultDecimals(): number;
12
+ get depositMultiplier(): number;
13
+ get vaultMultiplier(): number;
8
14
  get authorityAddress(): PublicKey;
9
15
  get adminAddress(): PublicKey;
10
16
  get pendingAdminAddress(): PublicKey | null;
@@ -1 +1 @@
1
- {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/accounts/pool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAiC,MAAM,UAAU,CAAC;AAGhF,qBAAa,IAAI;IACf,SAAgB,OAAO,EAAE,SAAS,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,CAAW;gBAEb,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,QAAQ;IAK/C,IAAI,IAAI,IAAI,QAAQ,CAGnB;IAGD,IAAI,gBAAgB,IAAI,SAAS,CAKhC;IAED,IAAI,YAAY,IAAI,SAAS,CAE5B;IAED,IAAI,mBAAmB,IAAI,SAAS,GAAG,IAAI,CAE1C;IAGD,IAAI,kBAAkB,IAAI,SAAS,CAElC;IAED,IAAI,gBAAgB,IAAI,SAAS,CAEhC;IAED,IAAI,sBAAsB,IAAI,SAAS,CAEtC;IAGD,IAAI,sBAAsB,IAAI,SAAS,CAOtC;IAGD,IAAI,WAAW,IAAI,WAAW,CAO7B;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAGD,IAAI,gBAAgB,IAAI,SAAS,GAAG,IAAI,CAIvC;IAGD,IAAI,SAAS,IAAI,MAAM,CAItB;IAED,IAAI,aAAa,IAAI,MAAM,CAI1B;IAED,IAAI,UAAU,IAAI,MAAM,CAIvB;IAED,IAAI,gBAAgB,IAAI,MAAM,CAI7B;IAED,IAAI,gBAAgB,IAAI,MAAM,CAI7B;IAGD,IAAI,GAAG,IAAI,MAAM,CAIhB;IAGD,IAAI,UAAU,IAAI,MAAM,CAKvB;IAED,IAAI,oBAAoB,IAAI,MAAM,CAIjC;IAED,IAAI,gBAAgB,IAAI,MAAM,CAI7B;IAED,IAAI,oBAAoB,IAAI,MAAM,CAIjC;IAED,IAAI,gBAAgB,IAAI,MAAM,CAI7B;IAED,IAAI,aAAa,IAAI,MAAM,CAI1B;IAGD,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,oBAAoB,IAAI,MAAM,CAEjC;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,cAAc,IAAI,IAAI,CAEzB;IAED,IAAI,aAAa,IAAI,IAAI,CAWxB;IAED,IAAI,qBAAqB,IAAI,MAAM,CAIlC;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAGK,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAYzD,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAYzD,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAatE"}
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../src/accounts/pool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAiC,MAAM,UAAU,CAAC;AAGhF,qBAAa,IAAI;IACf,SAAgB,OAAO,EAAE,SAAS,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,CAAW;IACzB,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,cAAc,CAAa;gBAEvB,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;IAOjG,IAAI,IAAI,IAAI,QAAQ,CAGnB;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAGD,IAAI,gBAAgB,IAAI,SAAS,CAKhC;IAED,IAAI,YAAY,IAAI,SAAS,CAE5B;IAED,IAAI,mBAAmB,IAAI,SAAS,GAAG,IAAI,CAE1C;IAGD,IAAI,kBAAkB,IAAI,SAAS,CAElC;IAED,IAAI,gBAAgB,IAAI,SAAS,CAEhC;IAED,IAAI,sBAAsB,IAAI,SAAS,CAEtC;IAGD,IAAI,sBAAsB,IAAI,SAAS,CAOtC;IAGD,IAAI,WAAW,IAAI,WAAW,CAO7B;IAED,IAAI,aAAa,IAAI,OAAO,CAE3B;IAGD,IAAI,gBAAgB,IAAI,SAAS,GAAG,IAAI,CAIvC;IAID,IAAI,SAAS,IAAI,MAAM,CAItB;IAED,IAAI,aAAa,IAAI,MAAM,CAI1B;IAED,IAAI,UAAU,IAAI,MAAM,CAIvB;IAGD,IAAI,gBAAgB,IAAI,MAAM,CAI7B;IAED,IAAI,gBAAgB,IAAI,MAAM,CAI7B;IAGD,IAAI,GAAG,IAAI,MAAM,CAIhB;IAGD,IAAI,UAAU,IAAI,MAAM,CAKvB;IAGD,IAAI,oBAAoB,IAAI,MAAM,CAIjC;IAED,IAAI,gBAAgB,IAAI,MAAM,CAI7B;IAED,IAAI,oBAAoB,IAAI,MAAM,CAIjC;IAED,IAAI,gBAAgB,IAAI,MAAM,CAI7B;IAED,IAAI,aAAa,IAAI,MAAM,CAI1B;IAGD,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,IAAI,oBAAoB,IAAI,MAAM,CAEjC;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,cAAc,IAAI,IAAI,CAEzB;IAED,IAAI,aAAa,IAAI,IAAI,CAWxB;IAED,IAAI,qBAAqB,IAAI,MAAM,CAIlC;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAGK,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAYzD,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAYzD,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAatE"}
@@ -10,15 +10,33 @@ const web3_js_1 = require("@solana/web3.js");
10
10
  const types_1 = require("../types");
11
11
  const programs_1 = require("../programs");
12
12
  class Pool {
13
- constructor(address, data) {
13
+ constructor(address, data, depositDecimals, vaultDecimals) {
14
+ this._depositDecimals = 6; // Default to USDC-like
15
+ this._vaultDecimals = 9; // Default to ONYC-like
14
16
  this.address = address;
15
17
  this._data = data;
18
+ if (depositDecimals !== undefined)
19
+ this._depositDecimals = depositDecimals;
20
+ if (vaultDecimals !== undefined)
21
+ this._vaultDecimals = vaultDecimals;
16
22
  }
17
23
  get data() {
18
24
  if (!this._data)
19
25
  throw new Error("Pool account is not loaded");
20
26
  return this._data;
21
27
  }
28
+ get depositDecimals() {
29
+ return this._depositDecimals;
30
+ }
31
+ get vaultDecimals() {
32
+ return this._vaultDecimals;
33
+ }
34
+ get depositMultiplier() {
35
+ return Math.pow(10, this._depositDecimals);
36
+ }
37
+ get vaultMultiplier() {
38
+ return Math.pow(10, this._vaultDecimals);
39
+ }
22
40
  // PDA for pool authority
23
41
  get authorityAddress() {
24
42
  return web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("pool_authority"), this.address.toBuffer()], programs_1.VAULT_PROGRAM_ID)[0];
@@ -72,29 +90,31 @@ class Pool {
72
90
  return new web3_js_1.PublicKey(Buffer.from(data));
73
91
  }
74
92
  // Amounts (human-readable)
93
+ // Supply amounts are in vault_mint terms
75
94
  get maxSupply() {
76
95
  return new decimal_js_1.default(this.data.maxSupply.toString())
77
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
96
+ .div(this.vaultMultiplier)
78
97
  .toFixed();
79
98
  }
80
99
  get currentSupply() {
81
100
  return new decimal_js_1.default(this.data.currentSupply.toString())
82
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
101
+ .div(this.vaultMultiplier)
83
102
  .toFixed();
84
103
  }
85
104
  get nextSupply() {
86
105
  return new decimal_js_1.default(this.data.nextSupply.toString())
87
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
106
+ .div(this.vaultMultiplier)
88
107
  .toFixed();
89
108
  }
109
+ // Deposit amounts are in deposit_mint terms
90
110
  get maxDepositAmount() {
91
111
  return new decimal_js_1.default(this.data.maxDepositAmount.toString())
92
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
112
+ .div(this.depositMultiplier)
93
113
  .toFixed();
94
114
  }
95
115
  get minDepositAmount() {
96
116
  return new decimal_js_1.default(this.data.minDepositAmount.toString())
97
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
117
+ .div(this.depositMultiplier)
98
118
  .toFixed();
99
119
  }
100
120
  // APR as decimal string (e.g., "0.10" for 10%)
@@ -110,29 +130,30 @@ class Pool {
110
130
  .mul(100)
111
131
  .toFixed(2);
112
132
  }
133
+ // These amounts are in vault_mint terms (tracked after swap)
113
134
  get deactivatingAmountN0() {
114
135
  return new decimal_js_1.default(this.data.deactivatingAmountN0.toString())
115
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
136
+ .div(this.vaultMultiplier)
116
137
  .toFixed();
117
138
  }
118
139
  get claimingAmountN0() {
119
140
  return new decimal_js_1.default(this.data.claimingAmountN0.toString())
120
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
141
+ .div(this.vaultMultiplier)
121
142
  .toFixed();
122
143
  }
123
144
  get deactivatingAmountN1() {
124
145
  return new decimal_js_1.default(this.data.deactivatingAmountN1.toString())
125
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
146
+ .div(this.vaultMultiplier)
126
147
  .toFixed();
127
148
  }
128
149
  get claimingAmountN1() {
129
150
  return new decimal_js_1.default(this.data.claimingAmountN1.toString())
130
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
151
+ .div(this.vaultMultiplier)
131
152
  .toFixed();
132
153
  }
133
154
  get pendingAmount() {
134
155
  return new decimal_js_1.default(this.data.pendingAmount.toString())
135
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
156
+ .div(this.vaultMultiplier)
136
157
  .toFixed();
137
158
  }
138
159
  // Epoch info
@@ -166,31 +187,31 @@ class Pool {
166
187
  get isEpochReady() {
167
188
  return this.secondsUntilNextEpoch === 0;
168
189
  }
169
- // Get faucet balance (for withdrawals)
190
+ // Get faucet balance (for withdrawals) - in vault_mint terms
170
191
  async getFaucetBalance(connection) {
171
192
  try {
172
193
  const balance = await connection.getTokenAccountBalance(this.liquidityFaucetAddress);
173
194
  return new decimal_js_1.default(balance.value.amount)
174
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
195
+ .div(this.vaultMultiplier)
175
196
  .toFixed();
176
197
  }
177
198
  catch {
178
199
  return "0";
179
200
  }
180
201
  }
181
- // Get holder balance (deposits accumulate here)
202
+ // Get holder balance (deposits accumulate here) - in vault_mint terms
182
203
  async getHolderBalance(connection) {
183
204
  try {
184
205
  const balance = await connection.getTokenAccountBalance(this.liquidityHolderAddress);
185
206
  return new decimal_js_1.default(balance.value.amount)
186
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
207
+ .div(this.vaultMultiplier)
187
208
  .toFixed();
188
209
  }
189
210
  catch {
190
211
  return "0";
191
212
  }
192
213
  }
193
- // Calculate pending faucet amount needed
214
+ // Calculate pending faucet amount needed - in vault_mint terms
194
215
  async getPendingFaucetAmount(connection) {
195
216
  const balance = await connection.getTokenAccountBalance(this.liquidityFaucetAddress);
196
217
  const pendingTotal = this.data.pendingAmount
@@ -200,7 +221,7 @@ class Pool {
200
221
  if (shortage.lten(0))
201
222
  return "0";
202
223
  return new decimal_js_1.default(shortage.toString())
203
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
224
+ .div(this.vaultMultiplier)
204
225
  .toFixed();
205
226
  }
206
227
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/accounts/pool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../src/accounts/pool.ts"],"names":[],"mappings":"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"}
@@ -15,26 +15,26 @@ class Position {
15
15
  get owner() {
16
16
  return this.data.owner;
17
17
  }
18
- // Amount currently farming (human-readable)
18
+ // Amount currently farming (human-readable) - in vault_mint terms
19
19
  get amount() {
20
20
  return new decimal_js_1.default(this.data.amount.toString())
21
- .div(new decimal_js_1.default(this.pool.data.perTokenAmount.toString()))
21
+ .div(this.pool.vaultMultiplier)
22
22
  .toFixed();
23
23
  }
24
24
  // Amount in units (multiples of minDepositAmount)
25
25
  get units() {
26
26
  return this.data.amount.div(this.pool.data.minDepositAmount).toNumber();
27
27
  }
28
- // Max additional deposit allowed
28
+ // Max additional deposit allowed - in deposit_mint terms
29
29
  get maxDepositAmount() {
30
30
  const remaining = this.pool.data.maxDepositAmount.sub(this.data.amount);
31
31
  if (remaining.lten(0))
32
32
  return "0";
33
33
  return new decimal_js_1.default(remaining.toString())
34
- .div(new decimal_js_1.default(this.pool.data.perTokenAmount.toString()))
34
+ .div(this.pool.depositMultiplier)
35
35
  .toFixed();
36
36
  }
37
- // Claimable rewards (human-readable)
37
+ // Claimable rewards (human-readable) - in vault_mint terms
38
38
  get claimableAmount() {
39
39
  // reward_per_token * amount / FIXED_ONE - reward_before_deposit + reward_earned - reward_claimed
40
40
  const currentReward = this.data.amount
@@ -47,39 +47,39 @@ class Position {
47
47
  if (claimable.lten(0))
48
48
  return "0";
49
49
  return new decimal_js_1.default(claimable.toString())
50
- .div(new decimal_js_1.default(this.pool.data.perTokenAmount.toString()))
50
+ .div(this.pool.vaultMultiplier)
51
51
  .toFixed();
52
52
  }
53
- // Already claimed rewards
53
+ // Already claimed rewards - in vault_mint terms
54
54
  get claimedAmount() {
55
55
  return new decimal_js_1.default(this.data.rewardClaimed.toString())
56
- .div(new decimal_js_1.default(this.pool.data.perTokenAmount.toString()))
56
+ .div(this.pool.vaultMultiplier)
57
57
  .toFixed();
58
58
  }
59
- // Amount ready to withdraw (after cooldown)
59
+ // Amount ready to withdraw (after cooldown) - in vault_mint terms
60
60
  get withdrawableAmount() {
61
61
  if (this.data.lastUpdatedEpochIndex + 1 < this.pool.epochIndex) {
62
62
  const total = this.data.deactivatingAmount.add(this.data.claimingAmount);
63
63
  return new decimal_js_1.default(total.toString())
64
- .div(new decimal_js_1.default(this.pool.data.perTokenAmount.toString()))
64
+ .div(this.pool.vaultMultiplier)
65
65
  .toFixed();
66
66
  }
67
67
  return "0";
68
68
  }
69
- // Amount in the process of unstaking (not yet withdrawable)
69
+ // Amount in the process of unstaking (not yet withdrawable) - in vault_mint terms
70
70
  get unstakingAmount() {
71
71
  return new decimal_js_1.default(this.data.deactivatingAmount.add(this.data.claimingAmount).toString())
72
- .div(new decimal_js_1.default(this.pool.data.perTokenAmount.toString()))
72
+ .div(this.pool.vaultMultiplier)
73
73
  .toFixed();
74
74
  }
75
75
  get deactivatingAmount() {
76
76
  return new decimal_js_1.default(this.data.deactivatingAmount.toString())
77
- .div(new decimal_js_1.default(this.pool.data.perTokenAmount.toString()))
77
+ .div(this.pool.vaultMultiplier)
78
78
  .toFixed();
79
79
  }
80
80
  get claimingAmount() {
81
81
  return new decimal_js_1.default(this.data.claimingAmount.toString())
82
- .div(new decimal_js_1.default(this.pool.data.perTokenAmount.toString()))
82
+ .div(this.pool.vaultMultiplier)
83
83
  .toFixed();
84
84
  }
85
85
  get lastUpdatedEpochIndex() {
@@ -1 +1 @@
1
- {"version":3,"file":"position.js","sourceRoot":"","sources":["../../src/accounts/position.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAiC;AAGjC,oCAAmE;AAGnE,MAAa,QAAQ;IAKnB,YAAY,IAAU,EAAE,OAAkB,EAAE,IAAkB;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,4CAA4C;IAC5C,IAAI,MAAM;QACR,OAAO,IAAI,oBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;aAC5C,GAAG,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC1D,OAAO,EAAE,CAAC;IACf,CAAC;IAED,kDAAkD;IAClD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC1E,CAAC;IAED,iCAAiC;IACjC,IAAI,gBAAgB;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QAClC,OAAO,IAAI,oBAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;aACrC,GAAG,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC1D,OAAO,EAAE,CAAC;IACf,CAAC;IAED,qCAAqC;IACrC,IAAI,eAAe;QACjB,iGAAiG;QACjG,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;aACnC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;aAClC,GAAG,CAAC,iBAAS,CAAC,CAAC;QAClB,MAAM,SAAS,GAAG,aAAa;aAC5B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;aAClC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;aAC3B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEhC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QAElC,OAAO,IAAI,oBAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;aACrC,GAAG,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC1D,OAAO,EAAE,CAAC;IACf,CAAC;IAED,0BAA0B;IAC1B,IAAI,aAAa;QACf,OAAO,IAAI,oBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;aACnD,GAAG,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC1D,OAAO,EAAE,CAAC;IACf,CAAC;IAED,4CAA4C;IAC5C,IAAI,kBAAkB;QACpB,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACzE,OAAO,IAAI,oBAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;iBACjC,GAAG,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAC1D,OAAO,EAAE,CAAC;QACf,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,4DAA4D;IAC5D,IAAI,eAAe;QACjB,OAAO,IAAI,oBAAO,CAChB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CACtE;aACE,GAAG,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC1D,OAAO,EAAE,CAAC;IACf,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,oBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;aACxD,GAAG,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC1D,OAAO,EAAE,CAAC;IACf,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,oBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;aACpD,GAAG,CAAC,IAAI,oBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC1D,OAAO,EAAE,CAAC;IACf,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC;IACzC,CAAC;IAED,oCAAoC;IACpC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,kBAAkB;IAClB,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/D,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/D,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC7D,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,gDAAgD;IAChD,IAAI,QAAQ;QACV,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;YACpB,KAAK,QAAQ;gBACX,2CAA2C;gBAC3C,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEhF,KAAK,SAAS;gBACZ,OAAO,IAAI,IAAI,CACb,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;oBAChC,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;wBAC1D,IAAI,CAAC,IAAI,CAAC,aAAa,CAC5B,CAAC;YAEJ,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS,CAAC;YACf,KAAK,WAAW,CAAC;YACjB,KAAK,UAAU;gBACb,qCAAqC;gBACrC,OAAO,IAAI,IAAI,CACb,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;oBAChC,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;wBAC1D,IAAI,CAAC,IAAI,CAAC,aAAa,CAC5B,CAAC;YAEJ;gBACE,OAAO,IAAI,IAAI,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,IAAI,mBAAmB;QACrB,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5D,OAAO,CAAC,CAAC;QACX,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB;IAC7B,CAAC;IAED,uBAAuB;IACvB,IAAI,UAAU;QACZ,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,UAAU;YAC1B,IAAI,CAAC,MAAM,KAAK,QAAQ;YACxB,IAAI,CAAC,MAAM,KAAK,SAAS,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IACjE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,oBAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;CACF;AA7LD,4BA6LC"}
1
+ {"version":3,"file":"position.js","sourceRoot":"","sources":["../../src/accounts/position.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"elemental.d.ts","sourceRoot":"","sources":["../../src/programs/elemental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elemental.d.ts","sourceRoot":"","sources":["../../src/programs/elemental.ts"],"names":[],"mappings":"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"}
@@ -43,11 +43,37 @@ class ElementalV2Context {
43
43
  // ============================================================================
44
44
  async loadPool(address) {
45
45
  const data = await this.program.account.pool.fetch(address);
46
- return new accounts_1.Pool(address, data);
46
+ const poolData = data;
47
+ // Fetch mint decimals
48
+ const [depositMintInfo, vaultMintInfo] = await Promise.all([
49
+ this.connection.getParsedAccountInfo(poolData.depositMint),
50
+ this.connection.getParsedAccountInfo(poolData.vaultMint),
51
+ ]);
52
+ const depositDecimals = depositMintInfo.value?.data?.parsed?.info?.decimals ?? 6;
53
+ const vaultDecimals = vaultMintInfo.value?.data?.parsed?.info?.decimals ?? 9;
54
+ return new accounts_1.Pool(address, poolData, depositDecimals, vaultDecimals);
47
55
  }
48
56
  async loadPools(addresses) {
49
57
  const accounts = await this.program.account.pool.fetchMultiple(addresses);
50
- return accounts.map((data, index) => new accounts_1.Pool(addresses[index], data || undefined));
58
+ // For multiple pools, we'd need to batch fetch all mints
59
+ // For now, load each pool individually to get correct decimals
60
+ const pools = [];
61
+ for (let i = 0; i < addresses.length; i++) {
62
+ const data = accounts[i];
63
+ if (data) {
64
+ const [depositMintInfo, vaultMintInfo] = await Promise.all([
65
+ this.connection.getParsedAccountInfo(data.depositMint),
66
+ this.connection.getParsedAccountInfo(data.vaultMint),
67
+ ]);
68
+ const depositDecimals = depositMintInfo.value?.data?.parsed?.info?.decimals ?? 6;
69
+ const vaultDecimals = vaultMintInfo.value?.data?.parsed?.info?.decimals ?? 9;
70
+ pools.push(new accounts_1.Pool(addresses[i], data, depositDecimals, vaultDecimals));
71
+ }
72
+ else {
73
+ pools.push(new accounts_1.Pool(addresses[i], undefined));
74
+ }
75
+ }
76
+ return pools;
51
77
  }
52
78
  async getTotalPositionsByPool(poolAddress) {
53
79
  const positions = await this.program.account.position.all([
@@ -1 +1 @@
1
- {"version":3,"file":"elemental.js","sourceRoot":"","sources":["../../src/programs/elemental.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elemental.js","sourceRoot":"","sources":["../../src/programs/elemental.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elmntl/vaults-v2",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "SDK for Elemental Vault V2 (ELE6) - Multi-mint vault with swap adapters",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -8,10 +8,14 @@ import { VAULT_PROGRAM_ID } from "../programs";
8
8
  export class Pool {
9
9
  public readonly address: PublicKey;
10
10
  private _data?: PoolData;
11
+ private _depositDecimals: number = 6; // Default to USDC-like
12
+ private _vaultDecimals: number = 9; // Default to ONYC-like
11
13
 
12
- constructor(address: PublicKey, data?: PoolData) {
14
+ constructor(address: PublicKey, data?: PoolData, depositDecimals?: number, vaultDecimals?: number) {
13
15
  this.address = address;
14
16
  this._data = data;
17
+ if (depositDecimals !== undefined) this._depositDecimals = depositDecimals;
18
+ if (vaultDecimals !== undefined) this._vaultDecimals = vaultDecimals;
15
19
  }
16
20
 
17
21
  get data(): PoolData {
@@ -19,6 +23,22 @@ export class Pool {
19
23
  return this._data;
20
24
  }
21
25
 
26
+ get depositDecimals(): number {
27
+ return this._depositDecimals;
28
+ }
29
+
30
+ get vaultDecimals(): number {
31
+ return this._vaultDecimals;
32
+ }
33
+
34
+ get depositMultiplier(): number {
35
+ return Math.pow(10, this._depositDecimals);
36
+ }
37
+
38
+ get vaultMultiplier(): number {
39
+ return Math.pow(10, this._vaultDecimals);
40
+ }
41
+
22
42
  // PDA for pool authority
23
43
  get authorityAddress(): PublicKey {
24
44
  return PublicKey.findProgramAddressSync(
@@ -80,33 +100,35 @@ export class Pool {
80
100
  }
81
101
 
82
102
  // Amounts (human-readable)
103
+ // Supply amounts are in vault_mint terms
83
104
  get maxSupply(): string {
84
105
  return new Decimal(this.data.maxSupply.toString())
85
- .div(new Decimal(this.data.perTokenAmount.toString()))
106
+ .div(this.vaultMultiplier)
86
107
  .toFixed();
87
108
  }
88
109
 
89
110
  get currentSupply(): string {
90
111
  return new Decimal(this.data.currentSupply.toString())
91
- .div(new Decimal(this.data.perTokenAmount.toString()))
112
+ .div(this.vaultMultiplier)
92
113
  .toFixed();
93
114
  }
94
115
 
95
116
  get nextSupply(): string {
96
117
  return new Decimal(this.data.nextSupply.toString())
97
- .div(new Decimal(this.data.perTokenAmount.toString()))
118
+ .div(this.vaultMultiplier)
98
119
  .toFixed();
99
120
  }
100
121
 
122
+ // Deposit amounts are in deposit_mint terms
101
123
  get maxDepositAmount(): string {
102
124
  return new Decimal(this.data.maxDepositAmount.toString())
103
- .div(new Decimal(this.data.perTokenAmount.toString()))
125
+ .div(this.depositMultiplier)
104
126
  .toFixed();
105
127
  }
106
128
 
107
129
  get minDepositAmount(): string {
108
130
  return new Decimal(this.data.minDepositAmount.toString())
109
- .div(new Decimal(this.data.perTokenAmount.toString()))
131
+ .div(this.depositMultiplier)
110
132
  .toFixed();
111
133
  }
112
134
 
@@ -125,33 +147,34 @@ export class Pool {
125
147
  .toFixed(2);
126
148
  }
127
149
 
150
+ // These amounts are in vault_mint terms (tracked after swap)
128
151
  get deactivatingAmountN0(): string {
129
152
  return new Decimal(this.data.deactivatingAmountN0.toString())
130
- .div(new Decimal(this.data.perTokenAmount.toString()))
153
+ .div(this.vaultMultiplier)
131
154
  .toFixed();
132
155
  }
133
156
 
134
157
  get claimingAmountN0(): string {
135
158
  return new Decimal(this.data.claimingAmountN0.toString())
136
- .div(new Decimal(this.data.perTokenAmount.toString()))
159
+ .div(this.vaultMultiplier)
137
160
  .toFixed();
138
161
  }
139
162
 
140
163
  get deactivatingAmountN1(): string {
141
164
  return new Decimal(this.data.deactivatingAmountN1.toString())
142
- .div(new Decimal(this.data.perTokenAmount.toString()))
165
+ .div(this.vaultMultiplier)
143
166
  .toFixed();
144
167
  }
145
168
 
146
169
  get claimingAmountN1(): string {
147
170
  return new Decimal(this.data.claimingAmountN1.toString())
148
- .div(new Decimal(this.data.perTokenAmount.toString()))
171
+ .div(this.vaultMultiplier)
149
172
  .toFixed();
150
173
  }
151
174
 
152
175
  get pendingAmount(): string {
153
176
  return new Decimal(this.data.pendingAmount.toString())
154
- .div(new Decimal(this.data.perTokenAmount.toString()))
177
+ .div(this.vaultMultiplier)
155
178
  .toFixed();
156
179
  }
157
180
 
@@ -195,31 +218,31 @@ export class Pool {
195
218
  return this.secondsUntilNextEpoch === 0;
196
219
  }
197
220
 
198
- // Get faucet balance (for withdrawals)
221
+ // Get faucet balance (for withdrawals) - in vault_mint terms
199
222
  async getFaucetBalance(connection: Connection): Promise<string> {
200
223
  try {
201
224
  const balance = await connection.getTokenAccountBalance(this.liquidityFaucetAddress);
202
225
  return new Decimal(balance.value.amount)
203
- .div(new Decimal(this.data.perTokenAmount.toString()))
226
+ .div(this.vaultMultiplier)
204
227
  .toFixed();
205
228
  } catch {
206
229
  return "0";
207
230
  }
208
231
  }
209
232
 
210
- // Get holder balance (deposits accumulate here)
233
+ // Get holder balance (deposits accumulate here) - in vault_mint terms
211
234
  async getHolderBalance(connection: Connection): Promise<string> {
212
235
  try {
213
236
  const balance = await connection.getTokenAccountBalance(this.liquidityHolderAddress);
214
237
  return new Decimal(balance.value.amount)
215
- .div(new Decimal(this.data.perTokenAmount.toString()))
238
+ .div(this.vaultMultiplier)
216
239
  .toFixed();
217
240
  } catch {
218
241
  return "0";
219
242
  }
220
243
  }
221
244
 
222
- // Calculate pending faucet amount needed
245
+ // Calculate pending faucet amount needed - in vault_mint terms
223
246
  async getPendingFaucetAmount(connection: Connection): Promise<string> {
224
247
  const balance = await connection.getTokenAccountBalance(this.liquidityFaucetAddress);
225
248
  const pendingTotal = this.data.pendingAmount
@@ -230,7 +253,7 @@ export class Pool {
230
253
  if (shortage.lten(0)) return "0";
231
254
 
232
255
  return new Decimal(shortage.toString())
233
- .div(new Decimal(this.data.perTokenAmount.toString()))
256
+ .div(this.vaultMultiplier)
234
257
  .toFixed();
235
258
  }
236
259
  }
@@ -19,10 +19,10 @@ export class Position {
19
19
  return this.data.owner;
20
20
  }
21
21
 
22
- // Amount currently farming (human-readable)
22
+ // Amount currently farming (human-readable) - in vault_mint terms
23
23
  get amount(): string {
24
24
  return new Decimal(this.data.amount.toString())
25
- .div(new Decimal(this.pool.data.perTokenAmount.toString()))
25
+ .div(this.pool.vaultMultiplier)
26
26
  .toFixed();
27
27
  }
28
28
 
@@ -31,16 +31,16 @@ export class Position {
31
31
  return this.data.amount.div(this.pool.data.minDepositAmount).toNumber();
32
32
  }
33
33
 
34
- // Max additional deposit allowed
34
+ // Max additional deposit allowed - in deposit_mint terms
35
35
  get maxDepositAmount(): string {
36
36
  const remaining = this.pool.data.maxDepositAmount.sub(this.data.amount);
37
37
  if (remaining.lten(0)) return "0";
38
38
  return new Decimal(remaining.toString())
39
- .div(new Decimal(this.pool.data.perTokenAmount.toString()))
39
+ .div(this.pool.depositMultiplier)
40
40
  .toFixed();
41
41
  }
42
42
 
43
- // Claimable rewards (human-readable)
43
+ // Claimable rewards (human-readable) - in vault_mint terms
44
44
  get claimableAmount(): string {
45
45
  // reward_per_token * amount / FIXED_ONE - reward_before_deposit + reward_earned - reward_claimed
46
46
  const currentReward = this.data.amount
@@ -54,46 +54,46 @@ export class Position {
54
54
  if (claimable.lten(0)) return "0";
55
55
 
56
56
  return new Decimal(claimable.toString())
57
- .div(new Decimal(this.pool.data.perTokenAmount.toString()))
57
+ .div(this.pool.vaultMultiplier)
58
58
  .toFixed();
59
59
  }
60
60
 
61
- // Already claimed rewards
61
+ // Already claimed rewards - in vault_mint terms
62
62
  get claimedAmount(): string {
63
63
  return new Decimal(this.data.rewardClaimed.toString())
64
- .div(new Decimal(this.pool.data.perTokenAmount.toString()))
64
+ .div(this.pool.vaultMultiplier)
65
65
  .toFixed();
66
66
  }
67
67
 
68
- // Amount ready to withdraw (after cooldown)
68
+ // Amount ready to withdraw (after cooldown) - in vault_mint terms
69
69
  get withdrawableAmount(): string {
70
70
  if (this.data.lastUpdatedEpochIndex + 1 < this.pool.epochIndex) {
71
71
  const total = this.data.deactivatingAmount.add(this.data.claimingAmount);
72
72
  return new Decimal(total.toString())
73
- .div(new Decimal(this.pool.data.perTokenAmount.toString()))
73
+ .div(this.pool.vaultMultiplier)
74
74
  .toFixed();
75
75
  }
76
76
  return "0";
77
77
  }
78
78
 
79
- // Amount in the process of unstaking (not yet withdrawable)
79
+ // Amount in the process of unstaking (not yet withdrawable) - in vault_mint terms
80
80
  get unstakingAmount(): string {
81
81
  return new Decimal(
82
82
  this.data.deactivatingAmount.add(this.data.claimingAmount).toString()
83
83
  )
84
- .div(new Decimal(this.pool.data.perTokenAmount.toString()))
84
+ .div(this.pool.vaultMultiplier)
85
85
  .toFixed();
86
86
  }
87
87
 
88
88
  get deactivatingAmount(): string {
89
89
  return new Decimal(this.data.deactivatingAmount.toString())
90
- .div(new Decimal(this.pool.data.perTokenAmount.toString()))
90
+ .div(this.pool.vaultMultiplier)
91
91
  .toFixed();
92
92
  }
93
93
 
94
94
  get claimingAmount(): string {
95
95
  return new Decimal(this.data.claimingAmount.toString())
96
- .div(new Decimal(this.pool.data.perTokenAmount.toString()))
96
+ .div(this.pool.vaultMultiplier)
97
97
  .toFixed();
98
98
  }
99
99
 
@@ -82,14 +82,41 @@ export class ElementalV2Context {
82
82
 
83
83
  async loadPool(address: PublicKey): Promise<Pool> {
84
84
  const data = await (this.program.account as any).pool.fetch(address);
85
- return new Pool(address, data as PoolData);
85
+ const poolData = data as PoolData;
86
+
87
+ // Fetch mint decimals
88
+ const [depositMintInfo, vaultMintInfo] = await Promise.all([
89
+ this.connection.getParsedAccountInfo(poolData.depositMint),
90
+ this.connection.getParsedAccountInfo(poolData.vaultMint),
91
+ ]);
92
+
93
+ const depositDecimals = (depositMintInfo.value?.data as any)?.parsed?.info?.decimals ?? 6;
94
+ const vaultDecimals = (vaultMintInfo.value?.data as any)?.parsed?.info?.decimals ?? 9;
95
+
96
+ return new Pool(address, poolData, depositDecimals, vaultDecimals);
86
97
  }
87
98
 
88
99
  async loadPools(addresses: PublicKey[]): Promise<Pool[]> {
89
100
  const accounts = await (this.program.account as any).pool.fetchMultiple(addresses);
90
- return accounts.map(
91
- (data: PoolData | null, index: number) => new Pool(addresses[index], data || undefined)
92
- );
101
+
102
+ // For multiple pools, we'd need to batch fetch all mints
103
+ // For now, load each pool individually to get correct decimals
104
+ const pools: Pool[] = [];
105
+ for (let i = 0; i < addresses.length; i++) {
106
+ const data = accounts[i] as PoolData | null;
107
+ if (data) {
108
+ const [depositMintInfo, vaultMintInfo] = await Promise.all([
109
+ this.connection.getParsedAccountInfo(data.depositMint),
110
+ this.connection.getParsedAccountInfo(data.vaultMint),
111
+ ]);
112
+ const depositDecimals = (depositMintInfo.value?.data as any)?.parsed?.info?.decimals ?? 6;
113
+ const vaultDecimals = (vaultMintInfo.value?.data as any)?.parsed?.info?.decimals ?? 9;
114
+ pools.push(new Pool(addresses[i], data, depositDecimals, vaultDecimals));
115
+ } else {
116
+ pools.push(new Pool(addresses[i], undefined));
117
+ }
118
+ }
119
+ return pools;
93
120
  }
94
121
 
95
122
  async getTotalPositionsByPool(poolAddress: PublicKey): Promise<number> {