@percolatorct/sdk 1.0.0-beta.32 → 1.0.0-beta.34

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.
package/dist/index.js CHANGED
@@ -238,6 +238,12 @@ var IX_TAG = {
238
238
  // 78: removed (keeper fund)
239
239
  };
240
240
  Object.freeze(IX_TAG);
241
+ function removedInstruction(name, tag, replacement) {
242
+ const suffix = replacement ? ` Use ${replacement} instead.` : "";
243
+ throw new Error(
244
+ `${name} (tag ${tag}) is not accepted by the deployed wrapper program.${suffix}`
245
+ );
246
+ }
241
247
  var HEX_RE = /^[0-9a-fA-F]{64}$/;
242
248
  function encodeFeedId(feedId) {
243
249
  const hex = feedId.startsWith("0x") ? feedId.slice(2) : feedId;
@@ -411,23 +417,14 @@ function encodeTradeCpi(args) {
411
417
  encU64(args.limitPriceE6)
412
418
  );
413
419
  }
414
- function encodeTradeCpiV2(args) {
415
- return concatBytes(
416
- encU8(IX_TAG.TradeCpiV2),
417
- encU16(args.lpIdx),
418
- encU16(args.userIdx),
419
- encI128(args.size),
420
- encU8(args.bump)
421
- );
420
+ function encodeTradeCpiV2(_args) {
421
+ return removedInstruction("TradeCpiV2", IX_TAG.TradeCpiV2, "encodeTradeCpi()");
422
422
  }
423
- function encodeUnresolveMarket(args) {
424
- return concatBytes(encU8(IX_TAG.UnresolveMarket), encU64(args.confirmation));
423
+ function encodeUnresolveMarket(_args) {
424
+ return removedInstruction("UnresolveMarket", IX_TAG.UnresolveMarket, "encodeResolveMarket()");
425
425
  }
426
- function encodeSetRiskThreshold(args) {
427
- return concatBytes(
428
- encU8(IX_TAG.SetRiskThreshold),
429
- encU128(args.newThreshold)
430
- );
426
+ function encodeSetRiskThreshold(_args) {
427
+ return removedInstruction("SetRiskThreshold", IX_TAG.SetRiskThreshold, "encodeInitMarket()");
431
428
  }
432
429
  function encodeUpdateAdmin(args) {
433
430
  return concatBytes(encU8(IX_TAG.UpdateAdmin), encPubkey(args.newAdmin));
@@ -446,11 +443,8 @@ function encodeUpdateConfig(args) {
446
443
  // Rust: i64 (can be negative)
447
444
  );
448
445
  }
449
- function encodeSetMaintenanceFee(args) {
450
- return concatBytes(
451
- encU8(IX_TAG.SetMaintenanceFee),
452
- encU128(args.newFee)
453
- );
446
+ function encodeSetMaintenanceFee(_args) {
447
+ return removedInstruction("SetMaintenanceFee", IX_TAG.SetMaintenanceFee, "encodeInitMarket()");
454
448
  }
455
449
  function encodeSetOraclePriceCap(args) {
456
450
  return concatBytes(
@@ -470,23 +464,20 @@ function encodeAdminForceClose(args) {
470
464
  encU16(args.targetIdx)
471
465
  );
472
466
  }
473
- function encodeUpdateRiskParams(args) {
474
- const parts = [
475
- encU8(IX_TAG.UpdateRiskParams),
476
- encU64(args.initialMarginBps),
477
- encU64(args.maintenanceMarginBps)
478
- ];
479
- if (args.tradingFeeBps !== void 0) {
480
- parts.push(encU64(args.tradingFeeBps));
481
- }
482
- return concatBytes(...parts);
467
+ function encodeUpdateRiskParams(_args) {
468
+ return removedInstruction(
469
+ "UpdateRiskParams",
470
+ IX_TAG.UpdateRiskParams,
471
+ "encodeSetInsuranceWithdrawPolicy()"
472
+ );
483
473
  }
484
474
  var RENOUNCE_ADMIN_CONFIRMATION = 0x52454E4F554E4345n;
485
475
  var UNRESOLVE_CONFIRMATION = 0xDEADBEEFCAFE1234n;
486
476
  function encodeRenounceAdmin() {
487
- return concatBytes(
488
- encU8(IX_TAG.RenounceAdmin),
489
- encU64(RENOUNCE_ADMIN_CONFIRMATION)
477
+ return removedInstruction(
478
+ "RenounceAdmin",
479
+ IX_TAG.RenounceAdmin,
480
+ "encodeWithdrawInsuranceLimited()"
490
481
  );
491
482
  }
492
483
  function encodeLpVaultWithdraw(args) {
@@ -499,15 +490,8 @@ function encodeUnpauseMarket() {
499
490
  return encU8(IX_TAG.UnpauseMarket);
500
491
  }
501
492
  function encodeSetPythOracle(args) {
502
- if (args.feedId.length !== 32) throw new Error("feedId must be 32 bytes");
503
- if (args.maxStalenessSecs <= 0n) throw new Error("maxStalenessSecs must be > 0");
504
- const buf = new Uint8Array(43);
505
- const dv3 = new DataView(buf.buffer);
506
- buf[0] = 32;
507
- buf.set(args.feedId, 1);
508
- dv3.setBigUint64(33, args.maxStalenessSecs, true);
509
- dv3.setUint16(41, args.confFilterBps, true);
510
- return buf;
493
+ void args;
494
+ return removedInstruction("SetPythOracle", IX_TAG.SetPythOracle, "encodeInitMarket()");
511
495
  }
512
496
  var PYTH_RECEIVER_PROGRAM_ID = "rec5EKMGg6MxZYaMdyBfgwp4d5rB9T1VQH5pJv5LtFJ";
513
497
  async function derivePythPriceUpdateAccount(feedId, shardId = 0) {
@@ -521,7 +505,7 @@ async function derivePythPriceUpdateAccount(feedId, shardId = 0) {
521
505
  return pda.toBase58();
522
506
  }
523
507
  function encodeUpdateMarkPrice() {
524
- return new Uint8Array([33]);
508
+ return removedInstruction("UpdateMarkPrice", IX_TAG.UpdateMarkPrice, "encodeUpdateHyperpMark()");
525
509
  }
526
510
  var MARK_PRICE_EMA_WINDOW_SLOTS = 72000n;
527
511
  var MARK_PRICE_EMA_ALPHA_E6 = 2000000n / (MARK_PRICE_EMA_WINDOW_SLOTS + 1n);
@@ -547,7 +531,12 @@ function encodeFundMarketInsurance(args) {
547
531
  return concatBytes(encU8(IX_TAG.FundMarketInsurance), encU64(args.amount));
548
532
  }
549
533
  function encodeSetInsuranceIsolation(args) {
550
- return concatBytes(encU8(IX_TAG.SetInsuranceIsolation), encU16(args.bps));
534
+ void args;
535
+ return removedInstruction(
536
+ "SetInsuranceIsolation",
537
+ IX_TAG.SetInsuranceIsolation,
538
+ "encodeFundMarketInsurance()"
539
+ );
551
540
  }
552
541
  function encodeQueueWithdrawal(args) {
553
542
  return concatBytes(encU8(IX_TAG.QueueWithdrawal), encU64(args.lpAmount));
@@ -571,7 +560,14 @@ function encodeAuditCrank() {
571
560
  return encU8(IX_TAG.AuditCrank);
572
561
  }
573
562
  var VAMM_MAGIC = 0x504552434d415443n;
563
+ var MATCHER_MAGIC = VAMM_MAGIC;
564
+ var CTX_RETURN_OFFSET = 0;
565
+ var MATCHER_RETURN_LEN = 64;
574
566
  var CTX_VAMM_OFFSET = 64;
567
+ var CTX_VAMM_LEN = 256;
568
+ var MATCHER_CONTEXT_LEN = 320;
569
+ var MATCHER_CALL_LEN = 67;
570
+ var INIT_CTX_LEN = 78;
575
571
  var BPS_DENOM = 10000n;
576
572
  function computeVammQuote(params, oraclePriceE6, tradeSize, isLong) {
577
573
  const absSize = tradeSize < 0n ? -tradeSize : tradeSize;
@@ -628,26 +624,25 @@ function checkPhaseTransition(currentSlot, marketCreatedSlot, oraclePhase, cumul
628
624
  }
629
625
  }
630
626
  function encodeSlashCreationDeposit() {
631
- return encU8(IX_TAG.SlashCreationDeposit);
627
+ return removedInstruction("SlashCreationDeposit", IX_TAG.SlashCreationDeposit);
632
628
  }
633
629
  function encodeInitSharedVault(args) {
634
- return concatBytes(
635
- encU8(IX_TAG.InitSharedVault),
636
- encU64(args.epochDurationSlots),
637
- encU16(args.maxMarketExposureBps)
638
- );
630
+ void args;
631
+ return removedInstruction("InitSharedVault", IX_TAG.InitSharedVault);
639
632
  }
640
633
  function encodeAllocateMarket(args) {
641
- return concatBytes(encU8(IX_TAG.AllocateMarket), encU128(args.amount));
634
+ void args;
635
+ return removedInstruction("AllocateMarket", IX_TAG.AllocateMarket);
642
636
  }
643
637
  function encodeQueueWithdrawalSV(args) {
644
- return concatBytes(encU8(IX_TAG.QueueWithdrawalSV), encU64(args.lpAmount));
638
+ void args;
639
+ return removedInstruction("QueueWithdrawalSV", IX_TAG.QueueWithdrawalSV);
645
640
  }
646
641
  function encodeClaimEpochWithdrawal() {
647
- return encU8(IX_TAG.ClaimEpochWithdrawal);
642
+ return removedInstruction("ClaimEpochWithdrawal", IX_TAG.ClaimEpochWithdrawal);
648
643
  }
649
644
  function encodeAdvanceEpoch() {
650
- return encU8(IX_TAG.AdvanceEpoch);
645
+ return removedInstruction("AdvanceEpoch", IX_TAG.AdvanceEpoch);
651
646
  }
652
647
  function encodeSetOiImbalanceHardBlock(args) {
653
648
  if (args.thresholdBps < 0 || args.thresholdBps > 1e4) {
@@ -1069,6 +1064,30 @@ var ACCOUNTS_EXECUTE_ADL = [
1069
1064
  { name: "clock", signer: false, writable: false },
1070
1065
  { name: "oracle", signer: false, writable: false }
1071
1066
  ];
1067
+ var ACCOUNTS_RESOLVE_PERMISSIONLESS = [
1068
+ { name: "slab", signer: false, writable: true },
1069
+ { name: "clock", signer: false, writable: false },
1070
+ { name: "oracle", signer: false, writable: false }
1071
+ ];
1072
+ var ACCOUNTS_FORCE_CLOSE_RESOLVED = [
1073
+ { name: "slab", signer: false, writable: true },
1074
+ { name: "vault", signer: false, writable: true },
1075
+ { name: "ownerAta", signer: false, writable: true },
1076
+ { name: "vaultAuthority", signer: false, writable: false },
1077
+ { name: "tokenProgram", signer: false, writable: false },
1078
+ { name: "clock", signer: false, writable: false },
1079
+ { name: "oracle", signer: false, writable: false }
1080
+ ];
1081
+ var ACCOUNTS_ADMIN_FORCE_CLOSE = [
1082
+ { name: "admin", signer: true, writable: true },
1083
+ { name: "slab", signer: false, writable: true },
1084
+ { name: "vault", signer: false, writable: true },
1085
+ { name: "ownerAta", signer: false, writable: true },
1086
+ { name: "vaultAuthority", signer: false, writable: false },
1087
+ { name: "tokenProgram", signer: false, writable: false },
1088
+ { name: "clock", signer: false, writable: false },
1089
+ { name: "oracle", signer: false, writable: false }
1090
+ ];
1072
1091
  var ACCOUNTS_CLOSE_STALE_SLABS = [
1073
1092
  { name: "dest", signer: true, writable: true },
1074
1093
  { name: "slab", signer: false, writable: true }
@@ -1083,10 +1102,108 @@ var ACCOUNTS_AUDIT_CRANK = [
1083
1102
  var ACCOUNTS_ADVANCE_ORACLE_PHASE = [
1084
1103
  { name: "slab", signer: false, writable: true }
1085
1104
  ];
1105
+ var ACCOUNTS_UPDATE_HYPERP_MARK = [
1106
+ { name: "slab", signer: false, writable: true },
1107
+ { name: "dexPool", signer: false, writable: false },
1108
+ { name: "clock", signer: false, writable: false }
1109
+ ];
1110
+ var ACCOUNTS_CREATE_LP_VAULT = [
1111
+ { name: "admin", signer: true, writable: true },
1112
+ { name: "slab", signer: false, writable: true },
1113
+ { name: "lpVaultState", signer: false, writable: true },
1114
+ { name: "lpVaultMint", signer: false, writable: true },
1115
+ { name: "vaultAuthority", signer: false, writable: false },
1116
+ { name: "systemProgram", signer: false, writable: false },
1117
+ { name: "tokenProgram", signer: false, writable: false },
1118
+ { name: "rent", signer: false, writable: false }
1119
+ ];
1120
+ var ACCOUNTS_LP_VAULT_DEPOSIT = [
1121
+ { name: "depositor", signer: true, writable: true },
1122
+ { name: "slab", signer: false, writable: true },
1123
+ { name: "depositorAta", signer: false, writable: true },
1124
+ { name: "vault", signer: false, writable: true },
1125
+ { name: "tokenProgram", signer: false, writable: false },
1126
+ { name: "lpVaultMint", signer: false, writable: true },
1127
+ { name: "depositorLpAta", signer: false, writable: true },
1128
+ { name: "vaultAuthority", signer: false, writable: false },
1129
+ { name: "lpVaultState", signer: false, writable: true }
1130
+ ];
1131
+ var ACCOUNTS_LP_VAULT_CRANK_FEES = [
1132
+ { name: "slab", signer: false, writable: true },
1133
+ { name: "lpVaultState", signer: false, writable: true }
1134
+ ];
1135
+ var ACCOUNTS_CHALLENGE_SETTLEMENT = [
1136
+ { name: "challenger", signer: true, writable: true },
1137
+ { name: "slab", signer: false, writable: true },
1138
+ { name: "dispute", signer: false, writable: true },
1139
+ { name: "challengerAta", signer: false, writable: true },
1140
+ { name: "vault", signer: false, writable: true },
1141
+ { name: "tokenProgram", signer: false, writable: false },
1142
+ { name: "systemProgram", signer: false, writable: false }
1143
+ ];
1144
+ var ACCOUNTS_RESOLVE_DISPUTE = [
1145
+ { name: "admin", signer: true, writable: true },
1146
+ { name: "slab", signer: false, writable: true },
1147
+ { name: "dispute", signer: false, writable: true },
1148
+ { name: "challengerAta", signer: false, writable: true },
1149
+ { name: "vault", signer: false, writable: true },
1150
+ { name: "vaultAuthority", signer: false, writable: false },
1151
+ { name: "tokenProgram", signer: false, writable: false }
1152
+ ];
1153
+ var ACCOUNTS_DEPOSIT_LP_COLLATERAL = [
1154
+ { name: "user", signer: true, writable: true },
1155
+ { name: "slab", signer: false, writable: true },
1156
+ { name: "userLpAta", signer: false, writable: true },
1157
+ { name: "lpVaultMint", signer: false, writable: false },
1158
+ { name: "lpVaultState", signer: false, writable: true },
1159
+ { name: "tokenProgram", signer: false, writable: false },
1160
+ { name: "lpEscrow", signer: false, writable: true }
1161
+ ];
1162
+ var ACCOUNTS_WITHDRAW_LP_COLLATERAL = [
1163
+ { name: "user", signer: true, writable: true },
1164
+ { name: "slab", signer: false, writable: true },
1165
+ { name: "userLpAta", signer: false, writable: true },
1166
+ { name: "lpVaultMint", signer: false, writable: false },
1167
+ { name: "lpVaultState", signer: false, writable: true },
1168
+ { name: "tokenProgram", signer: false, writable: false },
1169
+ { name: "lpEscrow", signer: false, writable: true },
1170
+ { name: "vaultAuthority", signer: false, writable: false }
1171
+ ];
1172
+ var ACCOUNTS_SET_OFFSET_PAIR = [
1173
+ { name: "admin", signer: true, writable: true },
1174
+ { name: "slabA", signer: false, writable: true },
1175
+ { name: "slabB", signer: false, writable: true },
1176
+ { name: "pairPda", signer: false, writable: true },
1177
+ { name: "systemProgram", signer: false, writable: false }
1178
+ ];
1179
+ var ACCOUNTS_ATTEST_CROSS_MARGIN = [
1180
+ { name: "payer", signer: true, writable: true },
1181
+ { name: "slabA", signer: false, writable: true },
1182
+ { name: "slabB", signer: false, writable: true },
1183
+ { name: "attestation", signer: false, writable: true },
1184
+ { name: "pairPda", signer: false, writable: false },
1185
+ { name: "systemProgram", signer: false, writable: false }
1186
+ ];
1086
1187
  var ACCOUNTS_SET_OI_IMBALANCE_HARD_BLOCK = [
1087
1188
  { name: "admin", signer: true, writable: false },
1088
1189
  { name: "slab", signer: false, writable: true }
1089
1190
  ];
1191
+ var ACCOUNTS_SET_MAX_PNL_CAP = [
1192
+ { name: "admin", signer: true, writable: false },
1193
+ { name: "slab", signer: false, writable: true }
1194
+ ];
1195
+ var ACCOUNTS_SET_OI_CAP_MULTIPLIER = [
1196
+ { name: "admin", signer: true, writable: false },
1197
+ { name: "slab", signer: false, writable: true }
1198
+ ];
1199
+ var ACCOUNTS_SET_DISPUTE_PARAMS = [
1200
+ { name: "admin", signer: true, writable: false },
1201
+ { name: "slab", signer: false, writable: true }
1202
+ ];
1203
+ var ACCOUNTS_SET_LP_COLLATERAL_PARAMS = [
1204
+ { name: "admin", signer: true, writable: false },
1205
+ { name: "slab", signer: false, writable: true }
1206
+ ];
1090
1207
  var ACCOUNTS_MINT_POSITION_NFT = [
1091
1208
  { name: "payer", signer: true, writable: true },
1092
1209
  { name: "slab", signer: false, writable: true },
@@ -1128,10 +1245,28 @@ var ACCOUNTS_CLEAR_PENDING_SETTLEMENT = [
1128
1245
  { name: "slab", signer: false, writable: false },
1129
1246
  { name: "positionNftPda", signer: false, writable: true }
1130
1247
  ];
1248
+ var ACCOUNTS_TRANSFER_OWNERSHIP_CPI = [
1249
+ { name: "caller", signer: true, writable: false },
1250
+ { name: "slab", signer: false, writable: true },
1251
+ { name: "nftProgram", signer: false, writable: false }
1252
+ ];
1131
1253
  var ACCOUNTS_SET_WALLET_CAP = [
1132
1254
  { name: "admin", signer: true, writable: false },
1133
1255
  { name: "slab", signer: false, writable: true }
1134
1256
  ];
1257
+ var ACCOUNTS_RESCUE_ORPHAN_VAULT = [
1258
+ { name: "admin", signer: true, writable: true },
1259
+ { name: "slab", signer: false, writable: true },
1260
+ { name: "adminAta", signer: false, writable: true },
1261
+ { name: "vault", signer: false, writable: true },
1262
+ { name: "tokenProgram", signer: false, writable: false },
1263
+ { name: "vaultPda", signer: false, writable: false }
1264
+ ];
1265
+ var ACCOUNTS_CLOSE_ORPHAN_SLAB = [
1266
+ { name: "admin", signer: true, writable: true },
1267
+ { name: "slab", signer: false, writable: true },
1268
+ { name: "vault", signer: false, writable: true }
1269
+ ];
1135
1270
  var ACCOUNTS_SET_DEX_POOL = [
1136
1271
  { name: "admin", signer: true, writable: false },
1137
1272
  { name: "slab", signer: false, writable: true },
@@ -1627,6 +1762,7 @@ function parsePositionNftAccount(data) {
1627
1762
  slab: new PublicKey4(data.subarray(16, 48)),
1628
1763
  userIdx: view.getUint16(48, true),
1629
1764
  nftMint: new PublicKey4(data.subarray(56, 88)),
1765
+ positionOwner: new PublicKey4(data.subarray(160, 192)),
1630
1766
  entryPriceE6: view.getBigUint64(88, true),
1631
1767
  positionSize: view.getBigUint64(96, true),
1632
1768
  isLong: data[104] === 1,
@@ -1949,6 +2085,7 @@ var V12_17_ENGINE_OFF = 592;
1949
2085
  var V12_17_ACCOUNT_SIZE = 368;
1950
2086
  var V12_17_ENGINE_BITMAP_OFF = 752;
1951
2087
  var V12_17_RISK_BUF_LEN = 160;
2088
+ var V12_17_GEN_TABLE_ENTRY = 8;
1952
2089
  var V12_17_ENGINE_OFF_SBF = 584;
1953
2090
  var V12_17_ACCOUNT_SIZE_SBF = 352;
1954
2091
  var V12_17_ENGINE_BITMAP_OFF_SBF = 712;
@@ -2084,11 +2221,11 @@ for (const n of V12_17_TIERS) {
2084
2221
  const nextFreeBytes = n * 2;
2085
2222
  const preAccNative = V12_17_ENGINE_BITMAP_OFF + bitmapBytes + postBitmap + nextFreeBytes;
2086
2223
  const accountsOffNative = Math.ceil(preAccNative / 16) * 16;
2087
- const nativeSize = V12_17_ENGINE_OFF + accountsOffNative + n * V12_17_ACCOUNT_SIZE + V12_17_RISK_BUF_LEN;
2224
+ const nativeSize = V12_17_ENGINE_OFF + accountsOffNative + n * V12_17_ACCOUNT_SIZE + V12_17_RISK_BUF_LEN + n * V12_17_GEN_TABLE_ENTRY;
2088
2225
  V12_17_SIZES.set(nativeSize, n);
2089
2226
  const preAccSbf = V12_17_ENGINE_BITMAP_OFF_SBF + bitmapBytes + postBitmap + nextFreeBytes;
2090
2227
  const accountsOffSbf = Math.ceil(preAccSbf / 8) * 8;
2091
- const sbfSize = V12_17_ENGINE_OFF_SBF + accountsOffSbf + n * V12_17_ACCOUNT_SIZE_SBF + V12_17_RISK_BUF_LEN;
2228
+ const sbfSize = V12_17_ENGINE_OFF_SBF + accountsOffSbf + n * V12_17_ACCOUNT_SIZE_SBF + V12_17_RISK_BUF_LEN + n * V12_17_GEN_TABLE_ENTRY;
2092
2229
  V12_17_SIZES.set(sbfSize, n);
2093
2230
  }
2094
2231
  var V12_1_SBF_ACCOUNT_SIZE = 280;
@@ -2583,7 +2720,7 @@ for (const [label, n] of [["Small", 256], ["Medium", 1024], ["Large", 4096]]) {
2583
2720
  const bitmapBytes = Math.ceil(n / 64) * 8;
2584
2721
  const preAcc = V12_17_ENGINE_BITMAP_OFF_SBF + bitmapBytes + 4 + n * 2;
2585
2722
  const accountsOff = Math.ceil(preAcc / 8) * 8;
2586
- const size = V12_17_ENGINE_OFF_SBF + accountsOff + n * V12_17_ACCOUNT_SIZE_SBF + V12_17_RISK_BUF_LEN;
2723
+ const size = V12_17_ENGINE_OFF_SBF + accountsOff + n * V12_17_ACCOUNT_SIZE_SBF + V12_17_RISK_BUF_LEN + n * V12_17_GEN_TABLE_ENTRY;
2587
2724
  SLAB_TIERS_V12_17[label.toLowerCase()] = { maxAccounts: n, dataSize: size, label, description: `${n} slots (v12.17)` };
2588
2725
  }
2589
2726
  function buildLayoutVSetDexPool(maxAccounts) {
@@ -2889,7 +3026,7 @@ function buildLayoutV12_17(maxAccounts, dataLen) {
2889
3026
  const bitmapBytes2 = Math.ceil(maxAccounts / 64) * 8;
2890
3027
  const preAccNative = V12_17_ENGINE_BITMAP_OFF + bitmapBytes2 + 4 + maxAccounts * 2;
2891
3028
  const accountsOffNative = Math.ceil(preAccNative / 16) * 16;
2892
- const nativeSize = V12_17_ENGINE_OFF + accountsOffNative + maxAccounts * V12_17_ACCOUNT_SIZE + V12_17_RISK_BUF_LEN;
3029
+ const nativeSize = V12_17_ENGINE_OFF + accountsOffNative + maxAccounts * V12_17_ACCOUNT_SIZE + V12_17_RISK_BUF_LEN + maxAccounts * V12_17_GEN_TABLE_ENTRY;
2893
3030
  return dataLen !== nativeSize;
2894
3031
  })();
2895
3032
  const engineOff = isSbf ? V12_17_ENGINE_OFF_SBF : V12_17_ENGINE_OFF;
@@ -4799,12 +4936,21 @@ var STAKE_IX = {
4799
4936
  Withdraw: 2,
4800
4937
  FlushToInsurance: 3,
4801
4938
  UpdateConfig: 4,
4939
+ /** @deprecated Removed on-chain in stake v3. This tag now rejects. */
4802
4940
  TransferAdmin: 5,
4941
+ /** @deprecated Removed on-chain in stake v3. This tag now rejects. */
4803
4942
  AdminSetOracleAuthority: 6,
4943
+ /** @deprecated Removed on-chain in stake v3. This tag now rejects. */
4804
4944
  AdminSetRiskThreshold: 7,
4945
+ /** @deprecated Removed on-chain in stake v3. This tag now rejects. */
4805
4946
  AdminSetMaintenanceFee: 8,
4947
+ /** @deprecated Removed on-chain in stake v3. This tag now rejects. */
4806
4948
  AdminResolveMarket: 9,
4949
+ /** Current on-chain tag 10: transfer withdrawn insurance back into the pool vault. */
4950
+ ReturnInsurance: 10,
4951
+ /** @deprecated Legacy alias for ReturnInsurance. */
4807
4952
  AdminWithdrawInsurance: 10,
4953
+ /** @deprecated Removed on-chain in stake v3. This tag now rejects. */
4808
4954
  AdminSetInsurancePolicy: 11,
4809
4955
  /** PERC-272: Accrue trading fees to LP vault */
4810
4956
  AccrueFees: 12,
@@ -4815,7 +4961,9 @@ var STAKE_IX = {
4815
4961
  /** PERC-303: Enable/configure senior-junior LP tranches */
4816
4962
  AdminSetTrancheConfig: 15,
4817
4963
  /** PERC-303: Deposit into junior (first-loss) tranche */
4818
- DepositJunior: 16
4964
+ DepositJunior: 16,
4965
+ /** Mark the pool as resolved after the wrapper market has been resolved directly. */
4966
+ SetMarketResolved: 18
4819
4967
  };
4820
4968
  var TEXT2 = new TextEncoder();
4821
4969
  function deriveStakePool(slab, programId) {
@@ -4860,16 +5008,6 @@ function u64Le(v) {
4860
5008
  new DataView(arr.buffer).setBigUint64(0, big, true);
4861
5009
  return arr;
4862
5010
  }
4863
- function u128Le(v) {
4864
- const big = BigInt(v);
4865
- if (big < 0n) throw new Error(`u128Le: value must be non-negative, got ${big}`);
4866
- if (big > (1n << 128n) - 1n) throw new Error(`u128Le: value exceeds u128 max`);
4867
- const arr = new Uint8Array(16);
4868
- const view = new DataView(arr.buffer);
4869
- view.setBigUint64(0, big & 0xFFFFFFFFFFFFFFFFn, true);
4870
- view.setBigUint64(8, big >> 64n, true);
4871
- return arr;
4872
- }
4873
5011
  function u16Le(v) {
4874
5012
  if (v < 0 || v > 65535) throw new Error(`u16Le: value out of u16 range (0..65535), got ${v}`);
4875
5013
  const arr = new Uint8Array(2);
@@ -4901,36 +5039,38 @@ function encodeStakeUpdateConfig(newCooldownSlots, newDepositCap) {
4901
5039
  u64Le(newDepositCap ?? 0n)
4902
5040
  );
4903
5041
  }
5042
+ function removedStakeInstruction(name, tag) {
5043
+ throw new Error(
5044
+ `${name} (stake tag ${tag}) was removed on-chain in percolator-stake v3 and must not be sent.`
5045
+ );
5046
+ }
4904
5047
  function encodeStakeTransferAdmin() {
4905
- return new Uint8Array([STAKE_IX.TransferAdmin]);
5048
+ return removedStakeInstruction("encodeStakeTransferAdmin", STAKE_IX.TransferAdmin);
4906
5049
  }
4907
5050
  function encodeStakeAdminSetOracleAuthority(newAuthority) {
4908
- return concatBytes(
4909
- new Uint8Array([STAKE_IX.AdminSetOracleAuthority]),
4910
- newAuthority.toBytes()
4911
- );
5051
+ void newAuthority;
5052
+ return removedStakeInstruction("encodeStakeAdminSetOracleAuthority", STAKE_IX.AdminSetOracleAuthority);
4912
5053
  }
4913
5054
  function encodeStakeAdminSetRiskThreshold(newThreshold) {
4914
- return concatBytes(
4915
- new Uint8Array([STAKE_IX.AdminSetRiskThreshold]),
4916
- u128Le(newThreshold)
4917
- );
5055
+ void newThreshold;
5056
+ return removedStakeInstruction("encodeStakeAdminSetRiskThreshold", STAKE_IX.AdminSetRiskThreshold);
4918
5057
  }
4919
5058
  function encodeStakeAdminSetMaintenanceFee(newFee) {
4920
- return concatBytes(
4921
- new Uint8Array([STAKE_IX.AdminSetMaintenanceFee]),
4922
- u128Le(newFee)
4923
- );
5059
+ void newFee;
5060
+ return removedStakeInstruction("encodeStakeAdminSetMaintenanceFee", STAKE_IX.AdminSetMaintenanceFee);
4924
5061
  }
4925
5062
  function encodeStakeAdminResolveMarket() {
4926
- return new Uint8Array([STAKE_IX.AdminResolveMarket]);
5063
+ return removedStakeInstruction("encodeStakeAdminResolveMarket", STAKE_IX.AdminResolveMarket);
4927
5064
  }
4928
- function encodeStakeAdminWithdrawInsurance(amount) {
5065
+ function encodeStakeReturnInsurance(amount) {
4929
5066
  return concatBytes(
4930
- new Uint8Array([STAKE_IX.AdminWithdrawInsurance]),
5067
+ new Uint8Array([STAKE_IX.ReturnInsurance]),
4931
5068
  u64Le(amount)
4932
5069
  );
4933
5070
  }
5071
+ function encodeStakeAdminWithdrawInsurance(amount) {
5072
+ return encodeStakeReturnInsurance(amount);
5073
+ }
4934
5074
  function encodeStakeAccrueFees() {
4935
5075
  return new Uint8Array([STAKE_IX.AccrueFees]);
4936
5076
  }
@@ -4957,14 +5097,15 @@ function encodeStakeAdminSetTrancheConfig(juniorFeeMultBps) {
4957
5097
  function encodeStakeDepositJunior(amount) {
4958
5098
  return concatBytes(new Uint8Array([STAKE_IX.DepositJunior]), u64Le(amount));
4959
5099
  }
5100
+ function encodeStakeSetMarketResolved() {
5101
+ return new Uint8Array([STAKE_IX.SetMarketResolved]);
5102
+ }
4960
5103
  function encodeStakeAdminSetInsurancePolicy(authority, minWithdrawBase, maxWithdrawBps, cooldownSlots) {
4961
- return concatBytes(
4962
- new Uint8Array([STAKE_IX.AdminSetInsurancePolicy]),
4963
- authority.toBytes(),
4964
- u64Le(minWithdrawBase),
4965
- u16Le(maxWithdrawBps),
4966
- u64Le(cooldownSlots)
4967
- );
5104
+ void authority;
5105
+ void minWithdrawBase;
5106
+ void maxWithdrawBps;
5107
+ void cooldownSlots;
5108
+ return removedStakeInstruction("encodeStakeAdminSetInsurancePolicy", STAKE_IX.AdminSetInsurancePolicy);
4968
5109
  }
4969
5110
  var STAKE_POOL_SIZE = 352;
4970
5111
  function decodeStakePool(data) {
@@ -5018,11 +5159,11 @@ function decodeStakePool(data) {
5018
5159
  off += 1;
5019
5160
  off += 7;
5020
5161
  const reservedStart = off;
5021
- const hwmEnabled = bytes[reservedStart + 9] === 1;
5022
- const hwmTvlLow = readU64LE4(bytes, reservedStart + 10);
5023
- const hwmTvlHigh = readU64LE4(bytes, reservedStart + 18);
5024
- const epochHighWaterTvl = hwmTvlLow | hwmTvlHigh << 64n;
5025
- const hwmFloorBps = readU16LE3(bytes, reservedStart + 26);
5162
+ const marketResolved = bytes[reservedStart + 9] === 1;
5163
+ const hwmEnabled = bytes[reservedStart + 10] === 1;
5164
+ const hwmFloorBps = readU16LE3(bytes, reservedStart + 11);
5165
+ const epochHighWaterTvl = readU64LE4(bytes, reservedStart + 16);
5166
+ const hwmLastEpoch = readU64LE4(bytes, reservedStart + 24);
5026
5167
  const trancheEnabled = bytes[reservedStart + 32] === 1;
5027
5168
  const juniorBalance = readU64LE4(bytes, reservedStart + 33);
5028
5169
  const juniorTotalLp = readU64LE4(bytes, reservedStart + 41);
@@ -5032,6 +5173,7 @@ function decodeStakePool(data) {
5032
5173
  bump,
5033
5174
  vaultAuthorityBump,
5034
5175
  adminTransferred,
5176
+ marketResolved,
5035
5177
  slab,
5036
5178
  admin,
5037
5179
  collateralMint,
@@ -5052,6 +5194,7 @@ function decodeStakePool(data) {
5052
5194
  hwmEnabled,
5053
5195
  epochHighWaterTvl,
5054
5196
  hwmFloorBps,
5197
+ hwmLastEpoch,
5055
5198
  trancheEnabled,
5056
5199
  juniorBalance,
5057
5200
  juniorTotalLp,
@@ -6451,19 +6594,26 @@ async function resolvePrice(mint, signal, options) {
6451
6594
  }
6452
6595
  export {
6453
6596
  ACCOUNTS_ACCEPT_ADMIN,
6597
+ ACCOUNTS_ADMIN_FORCE_CLOSE,
6454
6598
  ACCOUNTS_ADVANCE_ORACLE_PHASE,
6599
+ ACCOUNTS_ATTEST_CROSS_MARGIN,
6455
6600
  ACCOUNTS_AUDIT_CRANK,
6456
6601
  ACCOUNTS_BURN_POSITION_NFT,
6457
6602
  ACCOUNTS_CANCEL_QUEUED_WITHDRAWAL,
6603
+ ACCOUNTS_CHALLENGE_SETTLEMENT,
6458
6604
  ACCOUNTS_CLAIM_QUEUED_WITHDRAWAL,
6459
6605
  ACCOUNTS_CLEAR_PENDING_SETTLEMENT,
6460
6606
  ACCOUNTS_CLOSE_ACCOUNT,
6607
+ ACCOUNTS_CLOSE_ORPHAN_SLAB,
6461
6608
  ACCOUNTS_CLOSE_SLAB,
6462
6609
  ACCOUNTS_CLOSE_STALE_SLABS,
6463
6610
  ACCOUNTS_CREATE_INSURANCE_MINT,
6611
+ ACCOUNTS_CREATE_LP_VAULT,
6464
6612
  ACCOUNTS_DEPOSIT_COLLATERAL,
6465
6613
  ACCOUNTS_DEPOSIT_INSURANCE_LP,
6614
+ ACCOUNTS_DEPOSIT_LP_COLLATERAL,
6466
6615
  ACCOUNTS_EXECUTE_ADL,
6616
+ ACCOUNTS_FORCE_CLOSE_RESOLVED,
6467
6617
  ACCOUNTS_FUND_MARKET_INSURANCE,
6468
6618
  ACCOUNTS_INIT_LP,
6469
6619
  ACCOUNTS_INIT_MARKET,
@@ -6471,6 +6621,8 @@ export {
6471
6621
  ACCOUNTS_INIT_USER,
6472
6622
  ACCOUNTS_KEEPER_CRANK,
6473
6623
  ACCOUNTS_LIQUIDATE_AT_ORACLE,
6624
+ ACCOUNTS_LP_VAULT_CRANK_FEES,
6625
+ ACCOUNTS_LP_VAULT_DEPOSIT,
6474
6626
  ACCOUNTS_LP_VAULT_WITHDRAW,
6475
6627
  ACCOUNTS_MINT_POSITION_NFT,
6476
6628
  ACCOUNTS_NFT_BURN,
@@ -6479,10 +6631,18 @@ export {
6479
6631
  ACCOUNTS_PAUSE_MARKET,
6480
6632
  ACCOUNTS_QUEUE_WITHDRAWAL,
6481
6633
  ACCOUNTS_RECLAIM_SLAB_RENT,
6634
+ ACCOUNTS_RESCUE_ORPHAN_VAULT,
6635
+ ACCOUNTS_RESOLVE_DISPUTE,
6482
6636
  ACCOUNTS_RESOLVE_MARKET,
6637
+ ACCOUNTS_RESOLVE_PERMISSIONLESS,
6483
6638
  ACCOUNTS_SET_DEX_POOL,
6639
+ ACCOUNTS_SET_DISPUTE_PARAMS,
6484
6640
  ACCOUNTS_SET_INSURANCE_ISOLATION,
6641
+ ACCOUNTS_SET_LP_COLLATERAL_PARAMS,
6485
6642
  ACCOUNTS_SET_MAINTENANCE_FEE,
6643
+ ACCOUNTS_SET_MAX_PNL_CAP,
6644
+ ACCOUNTS_SET_OFFSET_PAIR,
6645
+ ACCOUNTS_SET_OI_CAP_MULTIPLIER,
6486
6646
  ACCOUNTS_SET_OI_IMBALANCE_HARD_BLOCK,
6487
6647
  ACCOUNTS_SET_ORACLE_PRICE_CAP,
6488
6648
  ACCOUNTS_SET_PENDING_SETTLEMENT,
@@ -6491,24 +6651,30 @@ export {
6491
6651
  ACCOUNTS_TOPUP_INSURANCE,
6492
6652
  ACCOUNTS_TRADE_CPI,
6493
6653
  ACCOUNTS_TRADE_NOCPI,
6654
+ ACCOUNTS_TRANSFER_OWNERSHIP_CPI,
6494
6655
  ACCOUNTS_TRANSFER_POSITION_OWNERSHIP,
6495
6656
  ACCOUNTS_UNPAUSE_MARKET,
6496
6657
  ACCOUNTS_UPDATE_ADMIN,
6497
6658
  ACCOUNTS_UPDATE_CONFIG,
6659
+ ACCOUNTS_UPDATE_HYPERP_MARK,
6498
6660
  ACCOUNTS_WITHDRAW_COLLATERAL,
6499
6661
  ACCOUNTS_WITHDRAW_INSURANCE,
6500
6662
  ACCOUNTS_WITHDRAW_INSURANCE_LIMITED_LIVE,
6501
6663
  ACCOUNTS_WITHDRAW_INSURANCE_LIMITED_RESOLVED,
6502
6664
  ACCOUNTS_WITHDRAW_INSURANCE_LP,
6665
+ ACCOUNTS_WITHDRAW_LP_COLLATERAL,
6503
6666
  AccountKind,
6504
6667
  CHAINLINK_ANSWER_OFFSET,
6505
6668
  CHAINLINK_DECIMALS_OFFSET,
6506
6669
  CHAINLINK_MIN_SIZE,
6507
6670
  CREATOR_LOCK_SEED,
6671
+ CTX_RETURN_OFFSET,
6672
+ CTX_VAMM_LEN,
6508
6673
  CTX_VAMM_OFFSET,
6509
6674
  DEFAULT_OI_RAMP_SLOTS,
6510
6675
  ENGINE_MARK_PRICE_OFF,
6511
6676
  ENGINE_OFF,
6677
+ INIT_CTX_LEN,
6512
6678
  IX_TAG,
6513
6679
  LIGHTHOUSE_CONSTRAINT_ADDRESS,
6514
6680
  LIGHTHOUSE_ERROR_CODES,
@@ -6518,6 +6684,10 @@ export {
6518
6684
  LiquidationPolicyTag,
6519
6685
  MARK_PRICE_EMA_ALPHA_E6,
6520
6686
  MARK_PRICE_EMA_WINDOW_SLOTS,
6687
+ MATCHER_CALL_LEN,
6688
+ MATCHER_CONTEXT_LEN,
6689
+ MATCHER_MAGIC,
6690
+ MATCHER_RETURN_LEN,
6521
6691
  MAX_DECIMALS,
6522
6692
  METEORA_DLMM_PROGRAM_ID,
6523
6693
  NFT_IX_TAG,
@@ -6706,6 +6876,8 @@ export {
6706
6876
  encodeStakeFlushToInsurance,
6707
6877
  encodeStakeInitPool,
6708
6878
  encodeStakeInitTradingPool,
6879
+ encodeStakeReturnInsurance,
6880
+ encodeStakeSetMarketResolved,
6709
6881
  encodeStakeTransferAdmin,
6710
6882
  encodeStakeUpdateConfig,
6711
6883
  encodeStakeWithdraw,