@elmntl/vaults-v2 1.0.5 → 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,CAExB;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
@@ -149,41 +170,48 @@ class Pool {
149
170
  return new Date(this.data.epochStartTime * 1000);
150
171
  }
151
172
  get nextEpochDate() {
152
- return new Date((this.data.epochStartTime + this.data.epochDuration) * 1000);
173
+ const now = Date.now();
174
+ const epochStartTimeMs = this.data.epochStartTime * 1000;
175
+ const epochDurationMs = this.epochDuration; // already in ms
176
+ // Calculate how many full epochs have passed since epochStartTime
177
+ const elapsedMs = now - epochStartTimeMs;
178
+ const epochsPassed = Math.floor(elapsedMs / epochDurationMs);
179
+ // The next epoch boundary is (epochsPassed + 1) * epochDurationMs after epochStartTime
180
+ return new Date(epochStartTimeMs + (epochsPassed + 1) * epochDurationMs);
153
181
  }
154
182
  get secondsUntilNextEpoch() {
155
- const now = Math.floor(Date.now() / 1000);
156
- const nextEpoch = this.data.epochStartTime + this.data.epochDuration;
157
- return Math.max(0, nextEpoch - now);
183
+ const nextEpochMs = this.nextEpochDate.getTime();
184
+ const nowMs = Date.now();
185
+ return Math.max(0, Math.floor((nextEpochMs - nowMs) / 1000));
158
186
  }
159
187
  get isEpochReady() {
160
188
  return this.secondsUntilNextEpoch === 0;
161
189
  }
162
- // Get faucet balance (for withdrawals)
190
+ // Get faucet balance (for withdrawals) - in vault_mint terms
163
191
  async getFaucetBalance(connection) {
164
192
  try {
165
193
  const balance = await connection.getTokenAccountBalance(this.liquidityFaucetAddress);
166
194
  return new decimal_js_1.default(balance.value.amount)
167
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
195
+ .div(this.vaultMultiplier)
168
196
  .toFixed();
169
197
  }
170
198
  catch {
171
199
  return "0";
172
200
  }
173
201
  }
174
- // Get holder balance (deposits accumulate here)
202
+ // Get holder balance (deposits accumulate here) - in vault_mint terms
175
203
  async getHolderBalance(connection) {
176
204
  try {
177
205
  const balance = await connection.getTokenAccountBalance(this.liquidityHolderAddress);
178
206
  return new decimal_js_1.default(balance.value.amount)
179
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
207
+ .div(this.vaultMultiplier)
180
208
  .toFixed();
181
209
  }
182
210
  catch {
183
211
  return "0";
184
212
  }
185
213
  }
186
- // Calculate pending faucet amount needed
214
+ // Calculate pending faucet amount needed - in vault_mint terms
187
215
  async getPendingFaucetAmount(connection) {
188
216
  const balance = await connection.getTokenAccountBalance(this.liquidityFaucetAddress);
189
217
  const pendingTotal = this.data.pendingAmount
@@ -193,7 +221,7 @@ class Pool {
193
221
  if (shortage.lten(0))
194
222
  return "0";
195
223
  return new decimal_js_1.default(shortage.toString())
196
- .div(new decimal_js_1.default(this.data.perTokenAmount.toString()))
224
+ .div(this.vaultMultiplier)
197
225
  .toFixed();
198
226
  }
199
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":"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"}
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.5",
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
 
@@ -173,44 +196,53 @@ export class Pool {
173
196
  }
174
197
 
175
198
  get nextEpochDate(): Date {
176
- return new Date((this.data.epochStartTime + this.data.epochDuration) * 1000);
199
+ const now = Date.now();
200
+ const epochStartTimeMs = this.data.epochStartTime * 1000;
201
+ const epochDurationMs = this.epochDuration; // already in ms
202
+
203
+ // Calculate how many full epochs have passed since epochStartTime
204
+ const elapsedMs = now - epochStartTimeMs;
205
+ const epochsPassed = Math.floor(elapsedMs / epochDurationMs);
206
+
207
+ // The next epoch boundary is (epochsPassed + 1) * epochDurationMs after epochStartTime
208
+ return new Date(epochStartTimeMs + (epochsPassed + 1) * epochDurationMs);
177
209
  }
178
210
 
179
211
  get secondsUntilNextEpoch(): number {
180
- const now = Math.floor(Date.now() / 1000);
181
- const nextEpoch = this.data.epochStartTime + this.data.epochDuration;
182
- return Math.max(0, nextEpoch - now);
212
+ const nextEpochMs = this.nextEpochDate.getTime();
213
+ const nowMs = Date.now();
214
+ return Math.max(0, Math.floor((nextEpochMs - nowMs) / 1000));
183
215
  }
184
216
 
185
217
  get isEpochReady(): boolean {
186
218
  return this.secondsUntilNextEpoch === 0;
187
219
  }
188
220
 
189
- // Get faucet balance (for withdrawals)
221
+ // Get faucet balance (for withdrawals) - in vault_mint terms
190
222
  async getFaucetBalance(connection: Connection): Promise<string> {
191
223
  try {
192
224
  const balance = await connection.getTokenAccountBalance(this.liquidityFaucetAddress);
193
225
  return new Decimal(balance.value.amount)
194
- .div(new Decimal(this.data.perTokenAmount.toString()))
226
+ .div(this.vaultMultiplier)
195
227
  .toFixed();
196
228
  } catch {
197
229
  return "0";
198
230
  }
199
231
  }
200
232
 
201
- // Get holder balance (deposits accumulate here)
233
+ // Get holder balance (deposits accumulate here) - in vault_mint terms
202
234
  async getHolderBalance(connection: Connection): Promise<string> {
203
235
  try {
204
236
  const balance = await connection.getTokenAccountBalance(this.liquidityHolderAddress);
205
237
  return new Decimal(balance.value.amount)
206
- .div(new Decimal(this.data.perTokenAmount.toString()))
238
+ .div(this.vaultMultiplier)
207
239
  .toFixed();
208
240
  } catch {
209
241
  return "0";
210
242
  }
211
243
  }
212
244
 
213
- // Calculate pending faucet amount needed
245
+ // Calculate pending faucet amount needed - in vault_mint terms
214
246
  async getPendingFaucetAmount(connection: Connection): Promise<string> {
215
247
  const balance = await connection.getTokenAccountBalance(this.liquidityFaucetAddress);
216
248
  const pendingTotal = this.data.pendingAmount
@@ -221,7 +253,7 @@ export class Pool {
221
253
  if (shortage.lten(0)) return "0";
222
254
 
223
255
  return new Decimal(shortage.toString())
224
- .div(new Decimal(this.data.perTokenAmount.toString()))
256
+ .div(this.vaultMultiplier)
225
257
  .toFixed();
226
258
  }
227
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> {