@jup-ag/lend 0.0.104 → 0.0.106

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.
@@ -18,164 +18,6 @@ type Vaults = {
18
18
  description: "Created with Anchor";
19
19
  };
20
20
  instructions: [
21
- {
22
- name: "closePosition";
23
- discriminator: [123, 134, 81, 0, 49, 68, 98, 98];
24
- accounts: [
25
- {
26
- name: "signer";
27
- writable: true;
28
- signer: true;
29
- },
30
- {
31
- name: "vaultAdmin";
32
- },
33
- {
34
- name: "vaultState";
35
- docs: ["@dev Verification inside instruction logic"];
36
- writable: true;
37
- },
38
- {
39
- name: "vaultConfig";
40
- docs: ["@dev Verification inside instruction logic"];
41
- writable: true;
42
- },
43
- {
44
- name: "position";
45
- docs: ["@dev Verification inside instruction logic"];
46
- writable: true;
47
- },
48
- {
49
- name: "positionMint";
50
- docs: ["@dev Verification inside instruction logic"];
51
- writable: true;
52
- },
53
- {
54
- name: "positionTokenAccount";
55
- docs: ["@dev Verification inside instruction logic"];
56
- writable: true;
57
- },
58
- {
59
- name: "metadataAccount";
60
- writable: true;
61
- pda: {
62
- seeds: [
63
- {
64
- kind: "const";
65
- value: [109, 101, 116, 97, 100, 97, 116, 97];
66
- },
67
- {
68
- kind: "const";
69
- value: [
70
- 11,
71
- 112,
72
- 101,
73
- 177,
74
- 227,
75
- 209,
76
- 124,
77
- 69,
78
- 56,
79
- 157,
80
- 82,
81
- 127,
82
- 107,
83
- 4,
84
- 195,
85
- 205,
86
- 88,
87
- 184,
88
- 108,
89
- 115,
90
- 26,
91
- 160,
92
- 253,
93
- 181,
94
- 73,
95
- 182,
96
- 209,
97
- 188,
98
- 3,
99
- 248,
100
- 41,
101
- 70
102
- ];
103
- },
104
- {
105
- kind: "account";
106
- path: "positionMint";
107
- }
108
- ];
109
- program: {
110
- kind: "const";
111
- value: [
112
- 11,
113
- 112,
114
- 101,
115
- 177,
116
- 227,
117
- 209,
118
- 124,
119
- 69,
120
- 56,
121
- 157,
122
- 82,
123
- 127,
124
- 107,
125
- 4,
126
- 195,
127
- 205,
128
- 88,
129
- 184,
130
- 108,
131
- 115,
132
- 26,
133
- 160,
134
- 253,
135
- 181,
136
- 73,
137
- 182,
138
- 209,
139
- 188,
140
- 3,
141
- 248,
142
- 41,
143
- 70
144
- ];
145
- };
146
- };
147
- },
148
- {
149
- name: "tokenProgram";
150
- },
151
- {
152
- name: "associatedTokenProgram";
153
- address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
154
- },
155
- {
156
- name: "systemProgram";
157
- address: "11111111111111111111111111111111";
158
- },
159
- {
160
- name: "sysvarInstruction";
161
- address: "Sysvar1nstructions1111111111111111111111111";
162
- },
163
- {
164
- name: "metadataProgram";
165
- address: "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
166
- }
167
- ];
168
- args: [
169
- {
170
- name: "vaultId";
171
- type: "u16";
172
- },
173
- {
174
- name: "positionId";
175
- type: "u32";
176
- }
177
- ];
178
- },
179
21
  {
180
22
  name: "getExchangePrices";
181
23
  discriminator: [237, 128, 83, 152, 52, 21, 231, 86];
@@ -1889,10 +1731,6 @@ type Vaults = {
1889
1731
  name: "updateExchangePrices";
1890
1732
  discriminator: [209, 14, 188, 95, 242, 20, 119, 196];
1891
1733
  accounts: [
1892
- {
1893
- name: "signer";
1894
- signer: true;
1895
- },
1896
1734
  {
1897
1735
  name: "vaultState";
1898
1736
  docs: ["@dev Verification inside instruction logic"];
@@ -3454,6 +3292,9 @@ type Vaults = {
3454
3292
  },
3455
3293
  {
3456
3294
  name: "chainlink";
3295
+ },
3296
+ {
3297
+ name: "singlePool";
3457
3298
  }
3458
3299
  ];
3459
3300
  };
@@ -4424,7 +4265,7 @@ declare const getFinalPosition: ({ vaultId, currentPosition, newColAmount, newDe
4424
4265
  isSupplyOnlyPosition: boolean;
4425
4266
  }>;
4426
4267
  declare function loadRelevantBranches(vaultId: number, vaultState: VaultState, liquidationStatus: boolean, postLiquidationBranchId: number, program: Program<Vaults>): Promise<number[]>;
4427
- declare function loadRelevantTicksHasDebtArrays(vaultId: number, topTick: number, existingPositionTick: number, finalTick: number): Promise<PublicKey[]>;
4268
+ declare function loadRelevantTicksHasDebtArrays(vaultId: number, topTick: number, existingPositionTick: number, finalTick: number, program: Program<Vaults>): Promise<PublicKey[]>;
4428
4269
  declare function loadRelevantTicksHasDebtArraysLiquidate(vaultId: number, topTick: number, nextTick: number, program: Program<Vaults>): Promise<{
4429
4270
  vaultId: number;
4430
4271
  index: number;
@@ -4450,6 +4291,7 @@ declare function readOraclePrice({ connection, signer, oracle, }: {
4450
4291
  msolPool?: undefined;
4451
4292
  redstone?: undefined;
4452
4293
  chainlink?: undefined;
4294
+ singlePool?: undefined;
4453
4295
  } & {
4454
4296
  pyth: Record<string, never>;
4455
4297
  }) | ({
@@ -4457,6 +4299,7 @@ declare function readOraclePrice({ connection, signer, oracle, }: {
4457
4299
  msolPool?: undefined;
4458
4300
  redstone?: undefined;
4459
4301
  chainlink?: undefined;
4302
+ singlePool?: undefined;
4460
4303
  } & {
4461
4304
  stakePool: Record<string, never>;
4462
4305
  }) | ({
@@ -4464,6 +4307,7 @@ declare function readOraclePrice({ connection, signer, oracle, }: {
4464
4307
  stakePool?: undefined;
4465
4308
  redstone?: undefined;
4466
4309
  chainlink?: undefined;
4310
+ singlePool?: undefined;
4467
4311
  } & {
4468
4312
  msolPool: Record<string, never>;
4469
4313
  }) | ({
@@ -4471,6 +4315,7 @@ declare function readOraclePrice({ connection, signer, oracle, }: {
4471
4315
  stakePool?: undefined;
4472
4316
  msolPool?: undefined;
4473
4317
  chainlink?: undefined;
4318
+ singlePool?: undefined;
4474
4319
  } & {
4475
4320
  redstone: Record<string, never>;
4476
4321
  }) | ({
@@ -4478,8 +4323,17 @@ declare function readOraclePrice({ connection, signer, oracle, }: {
4478
4323
  stakePool?: undefined;
4479
4324
  msolPool?: undefined;
4480
4325
  redstone?: undefined;
4326
+ singlePool?: undefined;
4481
4327
  } & {
4482
4328
  chainlink: Record<string, never>;
4329
+ }) | ({
4330
+ pyth?: undefined;
4331
+ stakePool?: undefined;
4332
+ msolPool?: undefined;
4333
+ redstone?: undefined;
4334
+ chainlink?: undefined;
4335
+ } & {
4336
+ singlePool: Record<string, never>;
4483
4337
  });
4484
4338
  }[];
4485
4339
  }>;
@@ -18,164 +18,6 @@ type Vaults = {
18
18
  description: "Created with Anchor";
19
19
  };
20
20
  instructions: [
21
- {
22
- name: "closePosition";
23
- discriminator: [123, 134, 81, 0, 49, 68, 98, 98];
24
- accounts: [
25
- {
26
- name: "signer";
27
- writable: true;
28
- signer: true;
29
- },
30
- {
31
- name: "vaultAdmin";
32
- },
33
- {
34
- name: "vaultState";
35
- docs: ["@dev Verification inside instruction logic"];
36
- writable: true;
37
- },
38
- {
39
- name: "vaultConfig";
40
- docs: ["@dev Verification inside instruction logic"];
41
- writable: true;
42
- },
43
- {
44
- name: "position";
45
- docs: ["@dev Verification inside instruction logic"];
46
- writable: true;
47
- },
48
- {
49
- name: "positionMint";
50
- docs: ["@dev Verification inside instruction logic"];
51
- writable: true;
52
- },
53
- {
54
- name: "positionTokenAccount";
55
- docs: ["@dev Verification inside instruction logic"];
56
- writable: true;
57
- },
58
- {
59
- name: "metadataAccount";
60
- writable: true;
61
- pda: {
62
- seeds: [
63
- {
64
- kind: "const";
65
- value: [109, 101, 116, 97, 100, 97, 116, 97];
66
- },
67
- {
68
- kind: "const";
69
- value: [
70
- 11,
71
- 112,
72
- 101,
73
- 177,
74
- 227,
75
- 209,
76
- 124,
77
- 69,
78
- 56,
79
- 157,
80
- 82,
81
- 127,
82
- 107,
83
- 4,
84
- 195,
85
- 205,
86
- 88,
87
- 184,
88
- 108,
89
- 115,
90
- 26,
91
- 160,
92
- 253,
93
- 181,
94
- 73,
95
- 182,
96
- 209,
97
- 188,
98
- 3,
99
- 248,
100
- 41,
101
- 70
102
- ];
103
- },
104
- {
105
- kind: "account";
106
- path: "positionMint";
107
- }
108
- ];
109
- program: {
110
- kind: "const";
111
- value: [
112
- 11,
113
- 112,
114
- 101,
115
- 177,
116
- 227,
117
- 209,
118
- 124,
119
- 69,
120
- 56,
121
- 157,
122
- 82,
123
- 127,
124
- 107,
125
- 4,
126
- 195,
127
- 205,
128
- 88,
129
- 184,
130
- 108,
131
- 115,
132
- 26,
133
- 160,
134
- 253,
135
- 181,
136
- 73,
137
- 182,
138
- 209,
139
- 188,
140
- 3,
141
- 248,
142
- 41,
143
- 70
144
- ];
145
- };
146
- };
147
- },
148
- {
149
- name: "tokenProgram";
150
- },
151
- {
152
- name: "associatedTokenProgram";
153
- address: "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
154
- },
155
- {
156
- name: "systemProgram";
157
- address: "11111111111111111111111111111111";
158
- },
159
- {
160
- name: "sysvarInstruction";
161
- address: "Sysvar1nstructions1111111111111111111111111";
162
- },
163
- {
164
- name: "metadataProgram";
165
- address: "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
166
- }
167
- ];
168
- args: [
169
- {
170
- name: "vaultId";
171
- type: "u16";
172
- },
173
- {
174
- name: "positionId";
175
- type: "u32";
176
- }
177
- ];
178
- },
179
21
  {
180
22
  name: "getExchangePrices";
181
23
  discriminator: [237, 128, 83, 152, 52, 21, 231, 86];
@@ -1889,10 +1731,6 @@ type Vaults = {
1889
1731
  name: "updateExchangePrices";
1890
1732
  discriminator: [209, 14, 188, 95, 242, 20, 119, 196];
1891
1733
  accounts: [
1892
- {
1893
- name: "signer";
1894
- signer: true;
1895
- },
1896
1734
  {
1897
1735
  name: "vaultState";
1898
1736
  docs: ["@dev Verification inside instruction logic"];
@@ -3454,6 +3292,9 @@ type Vaults = {
3454
3292
  },
3455
3293
  {
3456
3294
  name: "chainlink";
3295
+ },
3296
+ {
3297
+ name: "singlePool";
3457
3298
  }
3458
3299
  ];
3459
3300
  };
@@ -4424,7 +4265,7 @@ declare const getFinalPosition: ({ vaultId, currentPosition, newColAmount, newDe
4424
4265
  isSupplyOnlyPosition: boolean;
4425
4266
  }>;
4426
4267
  declare function loadRelevantBranches(vaultId: number, vaultState: VaultState, liquidationStatus: boolean, postLiquidationBranchId: number, program: Program<Vaults>): Promise<number[]>;
4427
- declare function loadRelevantTicksHasDebtArrays(vaultId: number, topTick: number, existingPositionTick: number, finalTick: number): Promise<PublicKey[]>;
4268
+ declare function loadRelevantTicksHasDebtArrays(vaultId: number, topTick: number, existingPositionTick: number, finalTick: number, program: Program<Vaults>): Promise<PublicKey[]>;
4428
4269
  declare function loadRelevantTicksHasDebtArraysLiquidate(vaultId: number, topTick: number, nextTick: number, program: Program<Vaults>): Promise<{
4429
4270
  vaultId: number;
4430
4271
  index: number;
@@ -4450,6 +4291,7 @@ declare function readOraclePrice({ connection, signer, oracle, }: {
4450
4291
  msolPool?: undefined;
4451
4292
  redstone?: undefined;
4452
4293
  chainlink?: undefined;
4294
+ singlePool?: undefined;
4453
4295
  } & {
4454
4296
  pyth: Record<string, never>;
4455
4297
  }) | ({
@@ -4457,6 +4299,7 @@ declare function readOraclePrice({ connection, signer, oracle, }: {
4457
4299
  msolPool?: undefined;
4458
4300
  redstone?: undefined;
4459
4301
  chainlink?: undefined;
4302
+ singlePool?: undefined;
4460
4303
  } & {
4461
4304
  stakePool: Record<string, never>;
4462
4305
  }) | ({
@@ -4464,6 +4307,7 @@ declare function readOraclePrice({ connection, signer, oracle, }: {
4464
4307
  stakePool?: undefined;
4465
4308
  redstone?: undefined;
4466
4309
  chainlink?: undefined;
4310
+ singlePool?: undefined;
4467
4311
  } & {
4468
4312
  msolPool: Record<string, never>;
4469
4313
  }) | ({
@@ -4471,6 +4315,7 @@ declare function readOraclePrice({ connection, signer, oracle, }: {
4471
4315
  stakePool?: undefined;
4472
4316
  msolPool?: undefined;
4473
4317
  chainlink?: undefined;
4318
+ singlePool?: undefined;
4474
4319
  } & {
4475
4320
  redstone: Record<string, never>;
4476
4321
  }) | ({
@@ -4478,8 +4323,17 @@ declare function readOraclePrice({ connection, signer, oracle, }: {
4478
4323
  stakePool?: undefined;
4479
4324
  msolPool?: undefined;
4480
4325
  redstone?: undefined;
4326
+ singlePool?: undefined;
4481
4327
  } & {
4482
4328
  chainlink: Record<string, never>;
4329
+ }) | ({
4330
+ pyth?: undefined;
4331
+ stakePool?: undefined;
4332
+ msolPool?: undefined;
4333
+ redstone?: undefined;
4334
+ chainlink?: undefined;
4335
+ } & {
4336
+ singlePool: Record<string, never>;
4483
4337
  });
4484
4338
  }[];
4485
4339
  }>;
@@ -3,7 +3,7 @@ import BN from 'bn.js';
3
3
  import { Program, AnchorProvider } from '@coral-xyz/anchor';
4
4
  import { l as liquidity } from '../shared/lend.CioR9-te.mjs';
5
5
  import { getAssociatedTokenAddressSync, ASSOCIATED_TOKEN_PROGRAM_ID, TOKEN_PROGRAM_ID } from '@solana/spl-token';
6
- import { g as getTickHasDebt, v as vaults, a as getPosition, c as getTick, d as getTickIdLiquidation, e as getVaultConfig, f as getBranch, h as getVaultState, i as getVaultMetadata, j as getLiquidity, k as getRateModel, l as getUserBorrowPosition, m as getUserSupplyPosition, n as getLiquidityReserve, o as getPositionTokenAccount, p as getPositionMetadata, q as getPositionMint, r as getVaultAdmin, s as getClaimAccount } from '../shared/lend.BWTZqUUK.mjs';
6
+ import { g as getTickHasDebt, v as vaults, a as getPosition, c as getTick, d as getTickIdLiquidation, e as getVaultConfig, f as getBranch, h as getVaultState, i as getVaultMetadata, j as getLiquidity, k as getRateModel, l as getUserBorrowPosition, m as getUserSupplyPosition, n as getLiquidityReserve, o as getPositionTokenAccount, p as getPositionMetadata, q as getPositionMint, r as getVaultAdmin, s as getClaimAccount } from '../shared/lend.BGZ9rdrj.mjs';
7
7
  import { e as getReserve } from '../shared/lend.BzG5ldOV.mjs';
8
8
 
9
9
  const address = "jupnw4B6Eqs7ft6rxpzYLJZYSnrpRgPcr589n5Kv4oc";
@@ -461,8 +461,33 @@ const errors = [
461
461
  },
462
462
  {
463
463
  code: 6018,
464
+ name: "CpiToStakeProgramFailed",
465
+ msg: "CPI_TO_STAKE_PROGRAM_FAILED"
466
+ },
467
+ {
468
+ code: 6019,
469
+ name: "InvalidStakePoolReturnParams",
470
+ msg: "INVALID_STAKE_POOL_RETURN_PARAMS"
471
+ },
472
+ {
473
+ code: 6020,
464
474
  name: "ChainlinkPriceReadError",
465
475
  msg: "CHAINLINK_PRICE_READ_ERROR"
476
+ },
477
+ {
478
+ code: 6021,
479
+ name: "SinglePoolTokenSupplyZero",
480
+ msg: "SINGLE_POOL_TOKEN_SUPPLY_ZERO"
481
+ },
482
+ {
483
+ code: 6022,
484
+ name: "SinglePoolInvalidStakeAccount",
485
+ msg: "SINGLE_POOL_INVALID_STAKE_ACCOUNT"
486
+ },
487
+ {
488
+ code: 6023,
489
+ name: "SinglePoolInvalidMint",
490
+ msg: "SINGLE_POOL_INVALID_MINT"
466
491
  }
467
492
  ];
468
493
  const types = [
@@ -591,6 +616,9 @@ const types = [
591
616
  },
592
617
  {
593
618
  name: "Chainlink"
619
+ },
620
+ {
621
+ name: "SinglePool"
594
622
  }
595
623
  ]
596
624
  }
@@ -1352,11 +1380,19 @@ async function loadRelevantBranches(vaultId, vaultState, liquidationStatus, post
1352
1380
  }
1353
1381
  return [...addedBranchIds];
1354
1382
  }
1355
- async function loadRelevantTicksHasDebtArrays(vaultId, topTick, existingPositionTick, finalTick) {
1383
+ async function loadRelevantTicksHasDebtArrays(vaultId, topTick, existingPositionTick, finalTick, program) {
1356
1384
  const tickHasDebtArrays = /* @__PURE__ */ new Set();
1357
- if (existingPositionTick == topTick && finalTick < topTick) {
1358
- let { arrayIndex: startIndex } = getTickIndices(finalTick);
1385
+ if (existingPositionTick == topTick) {
1386
+ let nextTickWithDebt = await findNextTickWithDebt(
1387
+ vaultId,
1388
+ topTick,
1389
+ program
1390
+ );
1391
+ let { arrayIndex: startIndex } = getTickIndices(nextTickWithDebt);
1359
1392
  let { arrayIndex: endIndex } = getTickIndices(topTick);
1393
+ let { arrayIndex: finalTickIndex } = getTickIndices(finalTick);
1394
+ let finalTickHasDebtPda = getTickHasDebt(vaultId, finalTickIndex);
1395
+ tickHasDebtArrays.add(finalTickHasDebtPda);
1360
1396
  if (endIndex < 15) endIndex++;
1361
1397
  try {
1362
1398
  for (let arrIdx = startIndex; arrIdx <= endIndex; arrIdx++)
@@ -1626,7 +1662,8 @@ async function getRemainingAccountsOperate(vaultId, vaultState, vaultConfig, fin
1626
1662
  vaultId,
1627
1663
  tickHelper(vaultState.topmostTick),
1628
1664
  existingPositionTick,
1629
- finalPositionTick
1665
+ finalPositionTick,
1666
+ program
1630
1667
  )
1631
1668
  ]);
1632
1669
  const sourceLength = oracleData.sources.length;