@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/README.md +1 -1
- package/dist/abi/accounts.d.ts +20 -0
- package/dist/abi/instructions.d.ts +27 -7
- package/dist/abi/nft.d.ts +3 -1
- package/dist/index.js +269 -97
- package/dist/index.js.map +1 -1
- package/dist/solana/stake.d.ts +24 -7
- package/package.json +10 -8
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(
|
|
415
|
-
return
|
|
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(
|
|
424
|
-
return
|
|
423
|
+
function encodeUnresolveMarket(_args) {
|
|
424
|
+
return removedInstruction("UnresolveMarket", IX_TAG.UnresolveMarket, "encodeResolveMarket()");
|
|
425
425
|
}
|
|
426
|
-
function encodeSetRiskThreshold(
|
|
427
|
-
return
|
|
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(
|
|
450
|
-
return
|
|
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(
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
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
|
|
488
|
-
|
|
489
|
-
|
|
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
|
-
|
|
503
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
627
|
+
return removedInstruction("SlashCreationDeposit", IX_TAG.SlashCreationDeposit);
|
|
632
628
|
}
|
|
633
629
|
function encodeInitSharedVault(args) {
|
|
634
|
-
|
|
635
|
-
|
|
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
|
-
|
|
634
|
+
void args;
|
|
635
|
+
return removedInstruction("AllocateMarket", IX_TAG.AllocateMarket);
|
|
642
636
|
}
|
|
643
637
|
function encodeQueueWithdrawalSV(args) {
|
|
644
|
-
|
|
638
|
+
void args;
|
|
639
|
+
return removedInstruction("QueueWithdrawalSV", IX_TAG.QueueWithdrawalSV);
|
|
645
640
|
}
|
|
646
641
|
function encodeClaimEpochWithdrawal() {
|
|
647
|
-
return
|
|
642
|
+
return removedInstruction("ClaimEpochWithdrawal", IX_TAG.ClaimEpochWithdrawal);
|
|
648
643
|
}
|
|
649
644
|
function encodeAdvanceEpoch() {
|
|
650
|
-
return
|
|
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
|
|
5048
|
+
return removedStakeInstruction("encodeStakeTransferAdmin", STAKE_IX.TransferAdmin);
|
|
4906
5049
|
}
|
|
4907
5050
|
function encodeStakeAdminSetOracleAuthority(newAuthority) {
|
|
4908
|
-
|
|
4909
|
-
|
|
4910
|
-
newAuthority.toBytes()
|
|
4911
|
-
);
|
|
5051
|
+
void newAuthority;
|
|
5052
|
+
return removedStakeInstruction("encodeStakeAdminSetOracleAuthority", STAKE_IX.AdminSetOracleAuthority);
|
|
4912
5053
|
}
|
|
4913
5054
|
function encodeStakeAdminSetRiskThreshold(newThreshold) {
|
|
4914
|
-
|
|
4915
|
-
|
|
4916
|
-
u128Le(newThreshold)
|
|
4917
|
-
);
|
|
5055
|
+
void newThreshold;
|
|
5056
|
+
return removedStakeInstruction("encodeStakeAdminSetRiskThreshold", STAKE_IX.AdminSetRiskThreshold);
|
|
4918
5057
|
}
|
|
4919
5058
|
function encodeStakeAdminSetMaintenanceFee(newFee) {
|
|
4920
|
-
|
|
4921
|
-
|
|
4922
|
-
u128Le(newFee)
|
|
4923
|
-
);
|
|
5059
|
+
void newFee;
|
|
5060
|
+
return removedStakeInstruction("encodeStakeAdminSetMaintenanceFee", STAKE_IX.AdminSetMaintenanceFee);
|
|
4924
5061
|
}
|
|
4925
5062
|
function encodeStakeAdminResolveMarket() {
|
|
4926
|
-
return
|
|
5063
|
+
return removedStakeInstruction("encodeStakeAdminResolveMarket", STAKE_IX.AdminResolveMarket);
|
|
4927
5064
|
}
|
|
4928
|
-
function
|
|
5065
|
+
function encodeStakeReturnInsurance(amount) {
|
|
4929
5066
|
return concatBytes(
|
|
4930
|
-
new Uint8Array([STAKE_IX.
|
|
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
|
-
|
|
4962
|
-
|
|
4963
|
-
|
|
4964
|
-
|
|
4965
|
-
|
|
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
|
|
5022
|
-
const
|
|
5023
|
-
const
|
|
5024
|
-
const epochHighWaterTvl =
|
|
5025
|
-
const
|
|
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,
|