@meteora-ag/dlmm 1.3.13-rc.5 → 1.3.14-sam.0

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.d.ts CHANGED
@@ -5,7 +5,7 @@ import { PublicKey, TransactionInstruction, Connection, Transaction, Cluster } f
5
5
  import Decimal from 'decimal.js';
6
6
 
7
7
  type LbClmm = {
8
- "version": "0.8.5";
8
+ "version": "0.8.2";
9
9
  "name": "lb_clmm";
10
10
  "constants": [
11
11
  {
@@ -93,16 +93,6 @@ type LbClmm = {
93
93
  };
94
94
  "value": "15";
95
95
  },
96
- {
97
- "name": "ILM_PROTOCOL_SHARE";
98
- "type": "u16";
99
- "value": "2000";
100
- },
101
- {
102
- "name": "PROTOCOL_SHARE";
103
- "type": "u16";
104
- "value": "500";
105
- },
106
96
  {
107
97
  "name": "MAX_BIN_STEP";
108
98
  "type": "u16";
@@ -375,7 +365,7 @@ type LbClmm = {
375
365
  "isSigner": false;
376
366
  },
377
367
  {
378
- "name": "userTokenY";
368
+ "name": "rent";
379
369
  "isMut": false;
380
370
  "isSigner": false;
381
371
  },
@@ -1954,40 +1944,7 @@ type LbClmm = {
1954
1944
  "args": [];
1955
1945
  },
1956
1946
  {
1957
- "name": "updateBaseFeeParameters";
1958
- "accounts": [
1959
- {
1960
- "name": "lbPair";
1961
- "isMut": true;
1962
- "isSigner": false;
1963
- },
1964
- {
1965
- "name": "admin";
1966
- "isMut": false;
1967
- "isSigner": true;
1968
- },
1969
- {
1970
- "name": "eventAuthority";
1971
- "isMut": false;
1972
- "isSigner": false;
1973
- },
1974
- {
1975
- "name": "program";
1976
- "isMut": false;
1977
- "isSigner": false;
1978
- }
1979
- ];
1980
- "args": [
1981
- {
1982
- "name": "feeParameter";
1983
- "type": {
1984
- "defined": "BaseFeeParameter";
1985
- };
1986
- }
1987
- ];
1988
- },
1989
- {
1990
- "name": "updateDynamicFeeParameters";
1947
+ "name": "updateFeeParameters";
1991
1948
  "accounts": [
1992
1949
  {
1993
1950
  "name": "lbPair";
@@ -2014,7 +1971,7 @@ type LbClmm = {
2014
1971
  {
2015
1972
  "name": "feeParameter";
2016
1973
  "type": {
2017
- "defined": "DynamicFeeParameter";
1974
+ "defined": "FeeParameter";
2018
1975
  };
2019
1976
  }
2020
1977
  ];
@@ -2197,7 +2154,7 @@ type LbClmm = {
2197
2154
  "args": [];
2198
2155
  },
2199
2156
  {
2200
- "name": "setPairStatus";
2157
+ "name": "togglePairStatus";
2201
2158
  "accounts": [
2202
2159
  {
2203
2160
  "name": "lbPair";
@@ -2210,12 +2167,7 @@ type LbClmm = {
2210
2167
  "isSigner": true;
2211
2168
  }
2212
2169
  ];
2213
- "args": [
2214
- {
2215
- "name": "status";
2216
- "type": "u8";
2217
- }
2218
- ];
2170
+ "args": [];
2219
2171
  },
2220
2172
  {
2221
2173
  "name": "migratePosition";
@@ -3476,7 +3428,7 @@ type LbClmm = {
3476
3428
  };
3477
3429
  },
3478
3430
  {
3479
- "name": "BaseFeeParameter";
3431
+ "name": "FeeParameter";
3480
3432
  "type": {
3481
3433
  "kind": "struct";
3482
3434
  "fields": [
@@ -3497,49 +3449,6 @@ type LbClmm = {
3497
3449
  ];
3498
3450
  };
3499
3451
  },
3500
- {
3501
- "name": "DynamicFeeParameter";
3502
- "type": {
3503
- "kind": "struct";
3504
- "fields": [
3505
- {
3506
- "name": "filterPeriod";
3507
- "docs": [
3508
- "Filter period determine high frequency trading time window."
3509
- ];
3510
- "type": "u16";
3511
- },
3512
- {
3513
- "name": "decayPeriod";
3514
- "docs": [
3515
- "Decay period determine when the volatile fee start decay / decrease."
3516
- ];
3517
- "type": "u16";
3518
- },
3519
- {
3520
- "name": "reductionFactor";
3521
- "docs": [
3522
- "Reduction factor controls the volatile fee rate decrement rate."
3523
- ];
3524
- "type": "u16";
3525
- },
3526
- {
3527
- "name": "variableFeeControl";
3528
- "docs": [
3529
- "Used to scale the variable fee component depending on the dynamic of the market"
3530
- ];
3531
- "type": "u32";
3532
- },
3533
- {
3534
- "name": "maxVolatilityAccumulator";
3535
- "docs": [
3536
- "Maximum number of bin crossed can be accumulated. Used to cap volatile fee rate."
3537
- ];
3538
- "type": "u32";
3539
- }
3540
- ];
3541
- };
3542
- },
3543
3452
  {
3544
3453
  "name": "LiquidityParameterByStrategyOneSide";
3545
3454
  "type": {
@@ -4905,41 +4814,6 @@ type LbClmm = {
4905
4814
  }
4906
4815
  ];
4907
4816
  },
4908
- {
4909
- "name": "DynamicFeeParameterUpdate";
4910
- "fields": [
4911
- {
4912
- "name": "lbPair";
4913
- "type": "publicKey";
4914
- "index": false;
4915
- },
4916
- {
4917
- "name": "filterPeriod";
4918
- "type": "u16";
4919
- "index": false;
4920
- },
4921
- {
4922
- "name": "decayPeriod";
4923
- "type": "u16";
4924
- "index": false;
4925
- },
4926
- {
4927
- "name": "reductionFactor";
4928
- "type": "u16";
4929
- "index": false;
4930
- },
4931
- {
4932
- "name": "variableFeeControl";
4933
- "type": "u32";
4934
- "index": false;
4935
- },
4936
- {
4937
- "name": "maxVolatilityAccumulator";
4938
- "type": "u32";
4939
- "index": false;
4940
- }
4941
- ];
4942
- },
4943
4817
  {
4944
4818
  "name": "IncreaseObservation";
4945
4819
  "fields": [
@@ -5376,11 +5250,6 @@ type LbClmm = {
5376
5250
  "code": 6065;
5377
5251
  "name": "AlreadyPassPreActivationSwapPoint";
5378
5252
  "msg": "Already pass pre-activation swap point";
5379
- },
5380
- {
5381
- "code": 6066;
5382
- "name": "InvalidStatus";
5383
- "msg": "Invalid status";
5384
5253
  }
5385
5254
  ];
5386
5255
  };
@@ -5465,6 +5334,15 @@ declare enum PairType {
5465
5334
  Permissioned = 1
5466
5335
  }
5467
5336
  declare const Strategy: {
5337
+ SpotOneSide: {
5338
+ spotOneSide: {};
5339
+ };
5340
+ CurveOneSide: {
5341
+ curveOneSide: {};
5342
+ };
5343
+ BidAskOneSide: {
5344
+ bidAskOneSide: {};
5345
+ };
5468
5346
  SpotBalanced: {
5469
5347
  spotBalanced: {};
5470
5348
  };
@@ -5485,12 +5363,15 @@ declare const Strategy: {
5485
5363
  };
5486
5364
  };
5487
5365
  declare enum StrategyType {
5488
- SpotImBalanced = 0,
5489
- CurveImBalanced = 1,
5490
- BidAskImBalanced = 2,
5491
- SpotBalanced = 3,
5492
- CurveBalanced = 4,
5493
- BidAskBalanced = 5
5366
+ SpotOneSide = 0,
5367
+ CurveOneSide = 1,
5368
+ BidAskOneSide = 2,
5369
+ SpotImBalanced = 3,
5370
+ CurveImBalanced = 4,
5371
+ BidAskImBalanced = 5,
5372
+ SpotBalanced = 6,
5373
+ CurveBalanced = 7,
5374
+ BidAskBalanced = 8
5494
5375
  }
5495
5376
  declare enum ActivationType {
5496
5377
  Slot = 0,
@@ -5760,6 +5641,7 @@ declare class DLMM {
5760
5641
  * Pair account, and the value is an object of PositionInfo
5761
5642
  */
5762
5643
  static getAllLbPairPositionsByUser(connection: Connection, userPubKey: PublicKey, opt?: Opt): Promise<Map<string, PositionInfo>>;
5644
+ static migratePosition(connection: Connection, positions: PublicKey[], newPositions: PublicKey[], walletPubkey: PublicKey, opt?: Opt): Promise<Transaction[]>;
5763
5645
  static getPricePerLamport(tokenXDecimal: number, tokenYDecimal: number, price: number): string;
5764
5646
  static getBinIdFromPrice(price: string | number | Decimal, binStep: number, min: boolean): number;
5765
5647
  /** Public methods */
@@ -5913,19 +5795,6 @@ declare class DLMM {
5913
5795
  maxBinId: number;
5914
5796
  user: PublicKey;
5915
5797
  }): Promise<Transaction>;
5916
- /**
5917
- * The function `getPosition` retrieves position information for a given public key and processes it
5918
- * using various data to return a `LbPosition` object.
5919
- * @param {PublicKey} positionPubKey - The `getPosition` function you provided is an asynchronous
5920
- * function that fetches position information based on a given public key. Here's a breakdown of the
5921
- * parameters used in the function:
5922
- * @returns The `getPosition` function returns a Promise that resolves to an object of type
5923
- * `LbPosition`. The object contains the following properties:
5924
- * - `publicKey`: The public key of the position account
5925
- * - `positionData`: Position Object
5926
- * - `version`: The version of the position (in this case, `Position.V2`)
5927
- */
5928
- getPosition(positionPubKey: PublicKey): Promise<LbPosition>;
5929
5798
  /**
5930
5799
  * The function `initializePositionAndAddLiquidityByStrategy` function is used to initializes a position and adds liquidity
5931
5800
  * @param {TInitializePositionAndAddLiquidityParamsByStrategy}
@@ -6094,7 +5963,6 @@ declare class DLMM {
6094
5963
  positions: LbPosition[];
6095
5964
  }): Promise<Transaction[]>;
6096
5965
  setActivationPoint(activationPoint: BN): Promise<Transaction>;
6097
- setPairStatus(enabled: boolean): Promise<Transaction>;
6098
5966
  /**
6099
5967
  * The function `claimSwapFee` is used to claim swap fees for a specific position owned by a specific owner.
6100
5968
  * @param
@@ -6371,6 +6239,10 @@ declare function autoFillXByWeight(activeId: number, binStep: number, amountY: B
6371
6239
  weight: number;
6372
6240
  }[]): BN;
6373
6241
 
6242
+ declare function toAmountsOneSideByStrategy(activeId: number, binStep: number, minBinId: number, maxBinId: number, amount: BN, strategyType: StrategyType, depositForY: boolean): {
6243
+ binId: number;
6244
+ amount: BN;
6245
+ }[];
6374
6246
  declare function toAmountsBothSideByStrategy(activeId: number, binStep: number, minBinId: number, maxBinId: number, amountX: BN, amountY: BN, amountXInActiveBin: BN, amountYInActiveBin: BN, strategyType: StrategyType): {
6375
6247
  binId: number;
6376
6248
  amountX: BN;
@@ -6379,10 +6251,58 @@ declare function toAmountsBothSideByStrategy(activeId: number, binStep: number,
6379
6251
  declare function autoFillYByStrategy(activeId: number, binStep: number, amountX: BN, amountXInActiveBin: BN, amountYInActiveBin: BN, minBinId: number, maxBinId: number, strategyType: StrategyType): BN;
6380
6252
  declare function autoFillXByStrategy(activeId: number, binStep: number, amountY: BN, amountXInActiveBin: BN, amountYInActiveBin: BN, minBinId: number, maxBinId: number, strategyType: StrategyType): BN;
6381
6253
  declare function toStrategyParameters({ maxBinId, minBinId, strategyType, singleSidedX, }: StrategyParameters): {
6254
+ minBinId: number;
6255
+ maxBinId: number;
6256
+ strategyType: {
6257
+ spotOneSide: {};
6258
+ curveOneSide?: undefined;
6259
+ bidAskOneSide?: undefined;
6260
+ spotBalanced?: undefined;
6261
+ curveBalanced?: undefined;
6262
+ bidAskBalanced?: undefined;
6263
+ spotImBalanced?: undefined;
6264
+ curveImBalanced?: undefined;
6265
+ bidAskImBalanced?: undefined;
6266
+ };
6267
+ parameteres: number[];
6268
+ } | {
6269
+ minBinId: number;
6270
+ maxBinId: number;
6271
+ strategyType: {
6272
+ curveOneSide: {};
6273
+ spotOneSide?: undefined;
6274
+ bidAskOneSide?: undefined;
6275
+ spotBalanced?: undefined;
6276
+ curveBalanced?: undefined;
6277
+ bidAskBalanced?: undefined;
6278
+ spotImBalanced?: undefined;
6279
+ curveImBalanced?: undefined;
6280
+ bidAskImBalanced?: undefined;
6281
+ };
6282
+ parameteres: number[];
6283
+ } | {
6284
+ minBinId: number;
6285
+ maxBinId: number;
6286
+ strategyType: {
6287
+ bidAskOneSide: {};
6288
+ spotOneSide?: undefined;
6289
+ curveOneSide?: undefined;
6290
+ spotBalanced?: undefined;
6291
+ curveBalanced?: undefined;
6292
+ bidAskBalanced?: undefined;
6293
+ spotImBalanced?: undefined;
6294
+ curveImBalanced?: undefined;
6295
+ bidAskImBalanced?: undefined;
6296
+ };
6297
+ parameteres: number[];
6298
+ } | {
6382
6299
  minBinId: number;
6383
6300
  maxBinId: number;
6384
6301
  strategyType: {
6385
6302
  spotBalanced: {};
6303
+ spotOneSide?: undefined;
6304
+ curveOneSide?: undefined;
6305
+ bidAskOneSide?: undefined;
6386
6306
  curveBalanced?: undefined;
6387
6307
  bidAskBalanced?: undefined;
6388
6308
  spotImBalanced?: undefined;
@@ -6395,6 +6315,9 @@ declare function toStrategyParameters({ maxBinId, minBinId, strategyType, single
6395
6315
  maxBinId: number;
6396
6316
  strategyType: {
6397
6317
  curveBalanced: {};
6318
+ spotOneSide?: undefined;
6319
+ curveOneSide?: undefined;
6320
+ bidAskOneSide?: undefined;
6398
6321
  spotBalanced?: undefined;
6399
6322
  bidAskBalanced?: undefined;
6400
6323
  spotImBalanced?: undefined;
@@ -6407,6 +6330,9 @@ declare function toStrategyParameters({ maxBinId, minBinId, strategyType, single
6407
6330
  maxBinId: number;
6408
6331
  strategyType: {
6409
6332
  bidAskBalanced: {};
6333
+ spotOneSide?: undefined;
6334
+ curveOneSide?: undefined;
6335
+ bidAskOneSide?: undefined;
6410
6336
  spotBalanced?: undefined;
6411
6337
  curveBalanced?: undefined;
6412
6338
  spotImBalanced?: undefined;
@@ -6419,6 +6345,9 @@ declare function toStrategyParameters({ maxBinId, minBinId, strategyType, single
6419
6345
  maxBinId: number;
6420
6346
  strategyType: {
6421
6347
  spotImBalanced: {};
6348
+ spotOneSide?: undefined;
6349
+ curveOneSide?: undefined;
6350
+ bidAskOneSide?: undefined;
6422
6351
  spotBalanced?: undefined;
6423
6352
  curveBalanced?: undefined;
6424
6353
  bidAskBalanced?: undefined;
@@ -6431,6 +6360,9 @@ declare function toStrategyParameters({ maxBinId, minBinId, strategyType, single
6431
6360
  maxBinId: number;
6432
6361
  strategyType: {
6433
6362
  curveImBalanced: {};
6363
+ spotOneSide?: undefined;
6364
+ curveOneSide?: undefined;
6365
+ bidAskOneSide?: undefined;
6434
6366
  spotBalanced?: undefined;
6435
6367
  curveBalanced?: undefined;
6436
6368
  bidAskBalanced?: undefined;
@@ -6443,6 +6375,9 @@ declare function toStrategyParameters({ maxBinId, minBinId, strategyType, single
6443
6375
  maxBinId: number;
6444
6376
  strategyType: {
6445
6377
  bidAskImBalanced: {};
6378
+ spotOneSide?: undefined;
6379
+ curveOneSide?: undefined;
6380
+ bidAskOneSide?: undefined;
6446
6381
  spotBalanced?: undefined;
6447
6382
  curveBalanced?: undefined;
6448
6383
  bidAskBalanced?: undefined;
@@ -6611,4 +6546,4 @@ declare const MAX_BIN_PER_TX = 69;
6611
6546
  declare const MAX_ACTIVE_BIN_SLIPPAGE = 3;
6612
6547
  declare const ILM_BASE: PublicKey;
6613
6548
 
6614
- export { ADMIN, ActivationType, BASIS_POINT_MAX, BIN_ARRAY_BITMAP_SIZE, BIN_ARRAY_FEE, Bin, BinAndAmount, BinArray, BinArrayAccount, BinArrayBitmapExtension, BinArrayBitmapExtensionAccount, BinLiquidity, BinLiquidityDistribution, BinLiquidityReduction, BitmapType, ClmmProgram, Clock, ClockLayout, CompressedBinDepositAmount, CompressedBinDepositAmounts, DLMMError, DlmmSdkError, EXTENSION_BINARRAY_BITMAP_SIZE, EmissionRate, FEE_PRECISION, FeeInfo, GetOrCreateATAResponse, IAccountsCache, IDL, ILM_BASE, InitCustomizablePermissionlessPairIx, InitPermissionPairIx, LBCLMM_PROGRAM_IDS, LMRewards, LbClmm, LbPair, LbPairAccount, LbPosition, LiquidityOneSideParameter, LiquidityParameter, LiquidityParameterByStrategy, LiquidityParameterByStrategyOneSide, LiquidityParameterByWeight, MAX_ACTIVE_BIN_SLIPPAGE, MAX_BIN_ARRAY_SIZE, MAX_BIN_LENGTH_ALLOWED_IN_ONE_TX, MAX_BIN_PER_POSITION, MAX_BIN_PER_TX, MAX_CLAIM_ALL_ALLOWED, MAX_FEE_RATE, Network, POSITION_FEE, PRECISION, PairStatus, PairType, Position, PositionBinData, PositionData, PositionInfo, PositionV2, PositionVersion, ProgramStrategyParameter, ProgramStrategyType, SCALE, SCALE_OFFSET, SIMULATION_USER, SeedLiquidityResponse, Strategy, StrategyParameters, StrategyType, SwapExactOutParams, SwapFee, SwapParams, SwapQuote, SwapQuoteExactOut, SwapWithPriceImpactParams, TInitializePositionAndAddLiquidityParams, TInitializePositionAndAddLiquidityParamsByStrategy, TQuoteCreatePositionParams, TokenReserve, autoFillXByStrategy, autoFillXByWeight, autoFillYByStrategy, autoFillYByWeight, binIdToBinArrayIndex, calculateBidAskDistribution, calculateNormalDistribution, calculateSpotDistribution, chunkedFetchMultipleBinArrayBitmapExtensionAccount, chunkedFetchMultiplePoolAccount, chunkedGetMultipleAccountInfos, chunks, computeFee, computeFeeFromAmount, computeProtocolFee, DLMM as default, deriveBinArray, deriveBinArrayBitmapExtension, deriveCustomizablePermissionlessLbPair, deriveLbPair, deriveLbPair2, deriveOracle, derivePermissionLbPair, derivePosition, derivePresetParameter, derivePresetParameter2, deriveReserve, enumerateBins, findNextBinArrayIndexWithLiquidity, findNextBinArrayWithLiquidity, fromWeightDistributionToAmount, fromWeightDistributionToAmountOneSide, getBaseFee, getBinArrayLowerUpperBinId, getBinArraysRequiredByPositionRange, getBinFromBinArray, getEstimatedComputeUnitIxWithBuffer, getEstimatedComputeUnitUsageWithBuffer, getOrCreateATAInstruction, getOutAmount, getPriceOfBinByBinId, getTokenBalance, getTokenDecimals, getTokensMintFromPoolAddress, getTotalFee, getVariableFee, isBinIdWithinBinArray, isOverflowDefaultBinArrayBitmap, parseLogs, range, sParameters, swapExactInQuoteAtBin, swapExactOutQuoteAtBin, toAmountAskSide, toAmountBidSide, toAmountBothSide, toAmountsBothSideByStrategy, toStrategyParameters, toWeightDistribution, unwrapSOLInstruction, vParameters, wrapSOLInstruction };
6549
+ export { ADMIN, ActivationType, BASIS_POINT_MAX, BIN_ARRAY_BITMAP_SIZE, BIN_ARRAY_FEE, Bin, BinAndAmount, BinArray, BinArrayAccount, BinArrayBitmapExtension, BinArrayBitmapExtensionAccount, BinLiquidity, BinLiquidityDistribution, BinLiquidityReduction, BitmapType, ClmmProgram, Clock, ClockLayout, CompressedBinDepositAmount, CompressedBinDepositAmounts, DLMMError, DlmmSdkError, EXTENSION_BINARRAY_BITMAP_SIZE, EmissionRate, FEE_PRECISION, FeeInfo, GetOrCreateATAResponse, IAccountsCache, IDL, ILM_BASE, InitCustomizablePermissionlessPairIx, InitPermissionPairIx, LBCLMM_PROGRAM_IDS, LMRewards, LbClmm, LbPair, LbPairAccount, LbPosition, LiquidityOneSideParameter, LiquidityParameter, LiquidityParameterByStrategy, LiquidityParameterByStrategyOneSide, LiquidityParameterByWeight, MAX_ACTIVE_BIN_SLIPPAGE, MAX_BIN_ARRAY_SIZE, MAX_BIN_LENGTH_ALLOWED_IN_ONE_TX, MAX_BIN_PER_POSITION, MAX_BIN_PER_TX, MAX_CLAIM_ALL_ALLOWED, MAX_FEE_RATE, Network, POSITION_FEE, PRECISION, PairStatus, PairType, Position, PositionBinData, PositionData, PositionInfo, PositionV2, PositionVersion, ProgramStrategyParameter, ProgramStrategyType, SCALE, SCALE_OFFSET, SIMULATION_USER, SeedLiquidityResponse, Strategy, StrategyParameters, StrategyType, SwapExactOutParams, SwapFee, SwapParams, SwapQuote, SwapQuoteExactOut, SwapWithPriceImpactParams, TInitializePositionAndAddLiquidityParams, TInitializePositionAndAddLiquidityParamsByStrategy, TQuoteCreatePositionParams, TokenReserve, autoFillXByStrategy, autoFillXByWeight, autoFillYByStrategy, autoFillYByWeight, binIdToBinArrayIndex, calculateBidAskDistribution, calculateNormalDistribution, calculateSpotDistribution, chunkedFetchMultipleBinArrayBitmapExtensionAccount, chunkedFetchMultiplePoolAccount, chunkedGetMultipleAccountInfos, chunks, computeFee, computeFeeFromAmount, computeProtocolFee, DLMM as default, deriveBinArray, deriveBinArrayBitmapExtension, deriveCustomizablePermissionlessLbPair, deriveLbPair, deriveLbPair2, deriveOracle, derivePermissionLbPair, derivePosition, derivePresetParameter, derivePresetParameter2, deriveReserve, enumerateBins, findNextBinArrayIndexWithLiquidity, findNextBinArrayWithLiquidity, fromWeightDistributionToAmount, fromWeightDistributionToAmountOneSide, getBaseFee, getBinArrayLowerUpperBinId, getBinArraysRequiredByPositionRange, getBinFromBinArray, getEstimatedComputeUnitIxWithBuffer, getEstimatedComputeUnitUsageWithBuffer, getOrCreateATAInstruction, getOutAmount, getPriceOfBinByBinId, getTokenBalance, getTokenDecimals, getTokensMintFromPoolAddress, getTotalFee, getVariableFee, isBinIdWithinBinArray, isOverflowDefaultBinArrayBitmap, parseLogs, range, sParameters, swapExactInQuoteAtBin, swapExactOutQuoteAtBin, toAmountAskSide, toAmountBidSide, toAmountBothSide, toAmountsBothSideByStrategy, toAmountsOneSideByStrategy, toStrategyParameters, toWeightDistribution, unwrapSOLInstruction, vParameters, wrapSOLInstruction };