@percolatorct/sdk 2.0.7 → 2.0.9
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 +39 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2316,7 +2316,8 @@ var V12_19_HEADER_LEN_SBF = 136;
|
|
|
2316
2316
|
var V12_19_CONFIG_LEN = 480;
|
|
2317
2317
|
var V12_19_ENGINE_OFF_SBF = 616;
|
|
2318
2318
|
var V12_19_ACCOUNT_SIZE_SBF = 360;
|
|
2319
|
-
var V12_19_SBF_ENGINE_BITMAP_OFF =
|
|
2319
|
+
var V12_19_SBF_ENGINE_BITMAP_OFF = 736;
|
|
2320
|
+
var V12_19_SBF_ENGINE_PARAMS_SIZE = 168;
|
|
2320
2321
|
var V12_19_SBF_ENGINE_CURRENT_SLOT_OFF = 200;
|
|
2321
2322
|
var V12_19_SBF_ENGINE_MARKET_MODE_OFF = 208;
|
|
2322
2323
|
var V12_19_SBF_ENGINE_RESOLVED_LIVE_PRICE_OFF = 304;
|
|
@@ -2367,6 +2368,7 @@ function buildLayoutV12_19(maxAccounts, _dataLen) {
|
|
|
2367
2368
|
accountSize: V12_19_ACCOUNT_SIZE_SBF,
|
|
2368
2369
|
accountsOff,
|
|
2369
2370
|
bitmapWords,
|
|
2371
|
+
paramsSize: V12_19_SBF_ENGINE_PARAMS_SIZE,
|
|
2370
2372
|
engineBitmapOff: V12_19_SBF_ENGINE_BITMAP_OFF,
|
|
2371
2373
|
// V12_19-specific engine field offsets (probe-confirmed):
|
|
2372
2374
|
engineCurrentSlotOff: V12_19_SBF_ENGINE_CURRENT_SLOT_OFF,
|
|
@@ -3331,6 +3333,19 @@ var V12_1_PARAMS_MIN_INITIAL_DEP_OFF = 120;
|
|
|
3331
3333
|
var V12_1_PARAMS_MIN_NZ_MM_OFF = 136;
|
|
3332
3334
|
var V12_1_PARAMS_MIN_NZ_IM_OFF = 152;
|
|
3333
3335
|
var V12_1_PARAMS_INS_FLOOR_OFF = 168;
|
|
3336
|
+
var V12_19_PARAMS_MAINTENANCE_MARGIN_OFF = 0;
|
|
3337
|
+
var V12_19_PARAMS_INITIAL_MARGIN_OFF = 8;
|
|
3338
|
+
var V12_19_PARAMS_TRADING_FEE_OFF = 16;
|
|
3339
|
+
var V12_19_PARAMS_MAX_ACCOUNTS_OFF = 24;
|
|
3340
|
+
var V12_19_PARAMS_LIQ_FEE_BPS_OFF = 32;
|
|
3341
|
+
var V12_19_PARAMS_LIQ_FEE_CAP_OFF = 40;
|
|
3342
|
+
var V12_19_PARAMS_MIN_LIQ_OFF = 56;
|
|
3343
|
+
var V12_19_PARAMS_MIN_NZ_MM_OFF = 72;
|
|
3344
|
+
var V12_19_PARAMS_MIN_NZ_IM_OFF = 88;
|
|
3345
|
+
var V12_19_PARAMS_H_MIN_OFF = 104;
|
|
3346
|
+
var V12_19_PARAMS_H_MAX_OFF = 112;
|
|
3347
|
+
var V12_19_PARAMS_RESOLVE_PRICE_DEVIATION_OFF = 120;
|
|
3348
|
+
var V12_19_PARAMS_MAX_ACCRUAL_DT_OFF = 128;
|
|
3334
3349
|
var ACCT_ACCOUNT_ID_OFF = 0;
|
|
3335
3350
|
var ACCT_CAPITAL_OFF = 8;
|
|
3336
3351
|
var ACCT_KIND_OFF = 24;
|
|
@@ -3736,14 +3751,15 @@ function parseParams(data, layoutHint) {
|
|
|
3736
3751
|
throw new Error(`Slab data too short for RiskParams: ${data.length} < ${base + MIN_PARAMS_BYTES}`);
|
|
3737
3752
|
}
|
|
3738
3753
|
const isV12_15Params = paramsSize === V12_15_PARAMS_SIZE || paramsSize === 184;
|
|
3754
|
+
const isV12_19Params = layout !== null && layout !== void 0 && layout.engineOff === V12_19_ENGINE_OFF_SBF && paramsSize === V12_19_SBF_ENGINE_PARAMS_SIZE;
|
|
3739
3755
|
const isV12_1Sbf = !isV12_15Params && layout !== null && layout !== void 0 && layout.engineOff === V12_1_SBF_ENGINE_OFF && paramsSize === 184;
|
|
3740
3756
|
const result = {
|
|
3741
|
-
warmupPeriodSlots: isV12_15Params ? readU64LE(data, base + V12_15_PARAMS_H_MIN_OFF) : readU64LE(data, base + PARAMS_WARMUP_PERIOD_OFF),
|
|
3742
|
-
maintenanceMarginBps: isV12_15Params ? readU64LE(data, base + 0) : readU64LE(data, base + PARAMS_MAINTENANCE_MARGIN_OFF),
|
|
3743
|
-
initialMarginBps: isV12_15Params ? readU64LE(data, base + 8) : readU64LE(data, base + PARAMS_INITIAL_MARGIN_OFF),
|
|
3744
|
-
tradingFeeBps: isV12_15Params ? readU64LE(data, base + 16) : readU64LE(data, base + PARAMS_TRADING_FEE_OFF),
|
|
3745
|
-
maxAccounts: isV12_15Params ? readU64LE(data, base + V12_15_PARAMS_MAX_ACCOUNTS_OFF) : readU64LE(data, base + PARAMS_MAX_ACCOUNTS_OFF),
|
|
3746
|
-
newAccountFee: isV12_15Params ? readU128LE(data, base + 32) : readU128LE(data, base + PARAMS_NEW_ACCOUNT_FEE_OFF),
|
|
3757
|
+
warmupPeriodSlots: isV12_19Params ? readU64LE(data, base + V12_19_PARAMS_H_MIN_OFF) : isV12_15Params ? readU64LE(data, base + V12_15_PARAMS_H_MIN_OFF) : readU64LE(data, base + PARAMS_WARMUP_PERIOD_OFF),
|
|
3758
|
+
maintenanceMarginBps: isV12_19Params ? readU64LE(data, base + V12_19_PARAMS_MAINTENANCE_MARGIN_OFF) : isV12_15Params ? readU64LE(data, base + 0) : readU64LE(data, base + PARAMS_MAINTENANCE_MARGIN_OFF),
|
|
3759
|
+
initialMarginBps: isV12_19Params ? readU64LE(data, base + V12_19_PARAMS_INITIAL_MARGIN_OFF) : isV12_15Params ? readU64LE(data, base + 8) : readU64LE(data, base + PARAMS_INITIAL_MARGIN_OFF),
|
|
3760
|
+
tradingFeeBps: isV12_19Params ? readU64LE(data, base + V12_19_PARAMS_TRADING_FEE_OFF) : isV12_15Params ? readU64LE(data, base + 16) : readU64LE(data, base + PARAMS_TRADING_FEE_OFF),
|
|
3761
|
+
maxAccounts: isV12_19Params ? readU64LE(data, base + V12_19_PARAMS_MAX_ACCOUNTS_OFF) : isV12_15Params ? readU64LE(data, base + V12_15_PARAMS_MAX_ACCOUNTS_OFF) : readU64LE(data, base + PARAMS_MAX_ACCOUNTS_OFF),
|
|
3762
|
+
newAccountFee: isV12_19Params ? 1n : isV12_15Params ? readU128LE(data, base + 32) : readU128LE(data, base + PARAMS_NEW_ACCOUNT_FEE_OFF),
|
|
3747
3763
|
// Extended params: defaults; overwritten below if layout supports them
|
|
3748
3764
|
riskReductionThreshold: 0n,
|
|
3749
3765
|
maintenanceFeePerSlot: 0n,
|
|
@@ -3759,7 +3775,21 @@ function parseParams(data, layoutHint) {
|
|
|
3759
3775
|
hMin: 0n,
|
|
3760
3776
|
hMax: 0n
|
|
3761
3777
|
};
|
|
3762
|
-
if (
|
|
3778
|
+
if (isV12_19Params) {
|
|
3779
|
+
result.hMin = readU64LE(data, base + V12_19_PARAMS_H_MIN_OFF);
|
|
3780
|
+
result.hMax = readU64LE(data, base + V12_19_PARAMS_H_MAX_OFF);
|
|
3781
|
+
result.riskReductionThreshold = 0n;
|
|
3782
|
+
result.maintenanceFeePerSlot = 0n;
|
|
3783
|
+
result.maxCrankStalenessSlots = readU64LE(data, base + V12_19_PARAMS_MAX_ACCRUAL_DT_OFF);
|
|
3784
|
+
result.liquidationFeeBps = readU64LE(data, base + V12_19_PARAMS_LIQ_FEE_BPS_OFF);
|
|
3785
|
+
result.liquidationFeeCap = readU128LE(data, base + V12_19_PARAMS_LIQ_FEE_CAP_OFF);
|
|
3786
|
+
result.liquidationBufferBps = readU64LE(data, base + V12_19_PARAMS_RESOLVE_PRICE_DEVIATION_OFF);
|
|
3787
|
+
result.minLiquidationAbs = readU128LE(data, base + V12_19_PARAMS_MIN_LIQ_OFF);
|
|
3788
|
+
result.minInitialDeposit = 0n;
|
|
3789
|
+
result.minNonzeroMmReq = readU128LE(data, base + V12_19_PARAMS_MIN_NZ_MM_OFF);
|
|
3790
|
+
result.minNonzeroImReq = readU128LE(data, base + V12_19_PARAMS_MIN_NZ_IM_OFF);
|
|
3791
|
+
result.insuranceFloor = 0n;
|
|
3792
|
+
} else if (isV12_15Params) {
|
|
3763
3793
|
result.hMin = readU64LE(data, base + V12_15_PARAMS_H_MIN_OFF);
|
|
3764
3794
|
result.hMax = readU64LE(data, base + V12_15_PARAMS_H_MAX_OFF);
|
|
3765
3795
|
result.insuranceFloor = readU128LE(data, base + V12_15_PARAMS_INSURANCE_FLOOR_OFF);
|
|
@@ -4001,7 +4031,7 @@ function parseAccount(data, idx) {
|
|
|
4001
4031
|
const isV12_1 = !isV12_17 && !isV12_15 && !isV12_1EP && (layout.engineOff === V12_1_ENGINE_OFF || layout.engineOff === V12_1_SBF_ENGINE_OFF) && (layout.accountSize === V12_1_ACCOUNT_SIZE || layout.accountSize === V12_1_ACCOUNT_SIZE_SBF);
|
|
4002
4032
|
const isAdl = !isV12_17 && !isV12_15 && (layout.accountSize >= 312 || isV12_1 || isV12_1EP);
|
|
4003
4033
|
if (isV12_17) {
|
|
4004
|
-
const isSbf = layout.accountSize === V12_17_ACCOUNT_SIZE_SBF;
|
|
4034
|
+
const isSbf = layout.accountSize === V12_17_ACCOUNT_SIZE_SBF || layout.accountSize === V12_19_ACCOUNT_SIZE_SBF;
|
|
4005
4035
|
const d1 = isSbf ? 8 : 0;
|
|
4006
4036
|
const d2 = isSbf ? 16 : 0;
|
|
4007
4037
|
const kindByte2 = readU8(data, base + V12_17_ACCT_KIND_OFF);
|