@0dotxyz/p0-ts-sdk 2.8.0-alpha.3 → 2.8.0-alpha.5

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.cjs CHANGED
@@ -706,12 +706,12 @@ function makeBundleTipIx(feePayer, bundleTip = 1e5) {
706
706
  return bundleTipInstruction;
707
707
  }
708
708
 
709
- // src/idl/marginfi_0.1.10.json
710
- var marginfi_0_1_10_default = {
709
+ // src/idl/marginfi_0.1.11.json
710
+ var marginfi_0_1_11_default = {
711
711
  address: "MFv2hWf31Z9kbCa1snEPYctwafyhdvnV7FZnsebVacA",
712
712
  metadata: {
713
713
  name: "marginfi",
714
- version: "0.1.10",
714
+ version: "0.1.11",
715
715
  spec: "0.1.0",
716
716
  description: "Borrow Lending Prime Broker"
717
717
  },
@@ -8122,6 +8122,53 @@ var marginfi_0_1_10_default = {
8122
8122
  }
8123
8123
  ]
8124
8124
  },
8125
+ {
8126
+ name: "lending_pool_configure_bank_oracle_scope",
8127
+ docs: [
8128
+ "(admin only) Point a bank at a Scope feed entry.",
8129
+ "* oracle - the feed's `OraclePrices` account",
8130
+ "* entry_index - which of the 512 entries in that account prices this bank"
8131
+ ],
8132
+ discriminator: [
8133
+ 134,
8134
+ 228,
8135
+ 127,
8136
+ 3,
8137
+ 117,
8138
+ 132,
8139
+ 85,
8140
+ 146
8141
+ ],
8142
+ accounts: [
8143
+ {
8144
+ name: "group",
8145
+ relations: [
8146
+ "bank"
8147
+ ]
8148
+ },
8149
+ {
8150
+ name: "admin",
8151
+ signer: true,
8152
+ relations: [
8153
+ "group"
8154
+ ]
8155
+ },
8156
+ {
8157
+ name: "bank",
8158
+ writable: true
8159
+ }
8160
+ ],
8161
+ args: [
8162
+ {
8163
+ name: "oracle",
8164
+ type: "pubkey"
8165
+ },
8166
+ {
8167
+ name: "entry_index",
8168
+ type: "u16"
8169
+ }
8170
+ ]
8171
+ },
8125
8172
  {
8126
8173
  name: "lending_pool_emissions_deposit",
8127
8174
  docs: [
@@ -8594,19 +8641,19 @@ var marginfi_0_1_10_default = {
8594
8641
  ]
8595
8642
  },
8596
8643
  {
8597
- name: "lending_pool_set_fixed_oracle_price",
8644
+ name: "lending_pool_set_oracle_price",
8598
8645
  docs: [
8599
8646
  "(admin only)"
8600
8647
  ],
8601
8648
  discriminator: [
8602
- 28,
8603
- 126,
8604
- 127,
8605
- 127,
8606
- 60,
8649
+ 234,
8650
+ 244,
8607
8651
  37,
8608
- 211,
8609
- 125
8652
+ 65,
8653
+ 101,
8654
+ 255,
8655
+ 217,
8656
+ 160
8610
8657
  ],
8611
8658
  accounts: [
8612
8659
  {
@@ -8635,6 +8682,10 @@ var marginfi_0_1_10_default = {
8635
8682
  name: "WrappedI80F48"
8636
8683
  }
8637
8684
  }
8685
+ },
8686
+ {
8687
+ name: "setup",
8688
+ type: "u8"
8638
8689
  }
8639
8690
  ]
8640
8691
  },
@@ -12013,16 +12064,16 @@ var marginfi_0_1_10_default = {
12013
12064
  ]
12014
12065
  },
12015
12066
  {
12016
- name: "LendingPoolBankSetFixedOraclePriceEvent",
12067
+ name: "LendingPoolBankSetOraclePriceEvent",
12017
12068
  discriminator: [
12018
- 65,
12019
- 72,
12020
- 8,
12021
- 85,
12022
- 229,
12023
- 20,
12024
- 90,
12025
- 26
12069
+ 92,
12070
+ 180,
12071
+ 117,
12072
+ 175,
12073
+ 131,
12074
+ 24,
12075
+ 159,
12076
+ 141
12026
12077
  ]
12027
12078
  },
12028
12079
  {
@@ -12858,8 +12909,8 @@ var marginfi_0_1_10_default = {
12858
12909
  },
12859
12910
  {
12860
12911
  code: 6132,
12861
- name: "UseSetFixedOraclePrice",
12862
- msg: "Use set_fixed_oracle_price instead"
12912
+ name: "UseSetOraclePrice",
12913
+ msg: "Use set_oracle_price instead"
12863
12914
  },
12864
12915
  {
12865
12916
  code: 6133,
@@ -12876,6 +12927,26 @@ var marginfi_0_1_10_default = {
12876
12927
  name: "SlippageTooHigh",
12877
12928
  msg: "Max slippage exceeds the allowed cap"
12878
12929
  },
12930
+ {
12931
+ code: 6136,
12932
+ name: "MarinadeStateValidationFailed",
12933
+ msg: "Marinade state validation failed"
12934
+ },
12935
+ {
12936
+ code: 6137,
12937
+ name: "ExponentVaultValidationFailed",
12938
+ msg: "Exponent vault validation failed"
12939
+ },
12940
+ {
12941
+ code: 6138,
12942
+ name: "InvalidPtStartPrice",
12943
+ msg: "PT start price must be in (0, 1]"
12944
+ },
12945
+ {
12946
+ code: 6139,
12947
+ name: "StakePoolStale",
12948
+ msg: "Stake pool balance has not been updated recently enough"
12949
+ },
12879
12950
  {
12880
12951
  code: 6200,
12881
12952
  name: "WrongAssetTagForStandardInstructions",
@@ -14376,9 +14447,9 @@ var marginfi_0_1_10_default = {
14376
14447
  {
14377
14448
  name: "scope_entry_index",
14378
14449
  docs: [
14379
- "Entry index into the Scope OraclePrices price list. Only read when",
14380
- "oracle_setup == OracleSetup::Scope; ignored (and zero) for every other setup.",
14381
- "Occupies what was previously _padding0, so the layout is unchanged."
14450
+ "Entry index into the Scope `OraclePrices` price list. Only read when",
14451
+ "`oracle_setup == OracleSetup::Scope`; ignored (and zero) for every other setup.",
14452
+ "Occupies what was previously `_padding0`, so the layout is unchanged."
14382
14453
  ],
14383
14454
  type: "u16"
14384
14455
  },
@@ -17357,7 +17428,7 @@ var marginfi_0_1_10_default = {
17357
17428
  }
17358
17429
  },
17359
17430
  {
17360
- name: "LendingPoolBankSetFixedOraclePriceEvent",
17431
+ name: "LendingPoolBankSetOraclePriceEvent",
17361
17432
  type: {
17362
17433
  kind: "struct",
17363
17434
  fields: [
@@ -20852,7 +20923,7 @@ var marginfi_0_1_10_default = {
20852
20923
  };
20853
20924
 
20854
20925
  // src/idl/index.ts
20855
- var MARGINFI_IDL = marginfi_0_1_10_default;
20926
+ var MARGINFI_IDL = marginfi_0_1_11_default;
20856
20927
 
20857
20928
  // src/services/bank/types/bank.types.ts
20858
20929
  var RiskTier = /* @__PURE__ */ ((RiskTier3) => {
@@ -21764,6 +21835,14 @@ async function makeLendingPoolConfigureBankOracleIx(mfProgram, accounts, args, r
21764
21835
  bank
21765
21836
  }).accountsPartial(optionalAccounts).remainingAccounts(remainingAccounts).instruction();
21766
21837
  }
21838
+ async function makeLendingPoolConfigureBankOracleScopeIx(mfProgram, accounts, args) {
21839
+ const { bank, ...optionalAccounts } = accounts;
21840
+ return mfProgram.methods.lendingPoolConfigureBankOracleScope(args.oracle, args.entryIndex).accounts({ bank }).accountsPartial(optionalAccounts).remainingAccounts([{ pubkey: args.oracle, isSigner: false, isWritable: false }]).instruction();
21841
+ }
21842
+ async function makeLendingPoolSetOraclePriceIx(mfProgram, accounts, args, remainingAccounts = []) {
21843
+ const { bank, ...optionalAccounts } = accounts;
21844
+ return mfProgram.methods.lendingPoolSetOraclePrice(args.price, args.setup).accounts({ bank }).accountsPartial(optionalAccounts).remainingAccounts(remainingAccounts).instruction();
21845
+ }
21767
21846
  async function makePoolAddPermissionlessStakedBankIx(mfProgram, accounts, remainingAccounts = [], args) {
21768
21847
  const {
21769
21848
  stakedSettings,
@@ -21836,6 +21915,8 @@ var instructions = {
21836
21915
  makeCloseAccountIx,
21837
21916
  makePoolAddPermissionlessStakedBankIx,
21838
21917
  makeLendingPoolConfigureBankOracleIx,
21918
+ makeLendingPoolConfigureBankOracleScopeIx,
21919
+ makeLendingPoolSetOraclePriceIx,
21839
21920
  makePulseHealthIx
21840
21921
  };
21841
21922
  var instructions_default = instructions;
@@ -52052,6 +52133,11 @@ function encodeU8(value) {
52052
52133
  buf.writeUInt8(value, 0);
52053
52134
  return buf;
52054
52135
  }
52136
+ function encodeU16(value) {
52137
+ const buf = Buffer.alloc(2);
52138
+ buf.writeUInt16LE(value, 0);
52139
+ return buf;
52140
+ }
52055
52141
  function encodeBool(value) {
52056
52142
  const buf = Buffer.alloc(1);
52057
52143
  buf.writeUInt8(value ? 1 : 0, 0);
@@ -52090,6 +52176,7 @@ var DISCRIMINATORS = {
52090
52176
  MARGINFI_ACCOUNT_CLOSE: Buffer.from([186, 221, 93, 34, 50, 97, 194, 241]),
52091
52177
  LENDING_POOL_ADD_BANK_PERMISSIONLESS: Buffer.from([127, 187, 121, 34, 187, 167, 238, 102]),
52092
52178
  LENDING_POOL_CONFIGURE_BANK_ORACLE: Buffer.from([209, 82, 255, 171, 124, 21, 71, 81]),
52179
+ LENDING_POOL_CONFIGURE_BANK_ORACLE_SCOPE: Buffer.from([134, 228, 127, 3, 117, 132, 85, 146]),
52093
52180
  LENDING_ACCOUNT_PULSE_HEALTH: Buffer.from([186, 52, 117, 97, 34, 74, 39, 253]),
52094
52181
  LENDING_ACCOUNT_SORT_BALANCES: Buffer.from([187, 194, 110, 84, 82, 170, 204, 9]),
52095
52182
  DRIFT_DEPOSIT: Buffer.from([252, 63, 250, 201, 98, 55, 130, 12]),
@@ -52525,6 +52612,24 @@ function makeLendingPoolConfigureBankOracleIx2(programId, accounts, args, remain
52525
52612
  data
52526
52613
  });
52527
52614
  }
52615
+ function makeLendingPoolConfigureBankOracleScopeIx2(programId, accounts, args) {
52616
+ const keys = [
52617
+ { pubkey: accounts.group, isSigner: false, isWritable: false },
52618
+ { pubkey: accounts.admin, isSigner: true, isWritable: false },
52619
+ { pubkey: accounts.bank, isSigner: false, isWritable: true },
52620
+ { pubkey: args.oracle, isSigner: false, isWritable: false }
52621
+ ];
52622
+ const data = Buffer.concat([
52623
+ DISCRIMINATORS.LENDING_POOL_CONFIGURE_BANK_ORACLE_SCOPE,
52624
+ encodePublicKey(args.oracle),
52625
+ encodeU16(args.entryIndex)
52626
+ ]);
52627
+ return new web3_js.TransactionInstruction({
52628
+ keys,
52629
+ programId,
52630
+ data
52631
+ });
52632
+ }
52528
52633
  function makePoolAddBankIx2(programId, accounts, args) {
52529
52634
  const keys = [
52530
52635
  { pubkey: accounts.marginfiGroup, isSigner: false, isWritable: true },
@@ -52744,6 +52849,7 @@ var syncInstructions = {
52744
52849
  makeCloseAccountIx: makeCloseAccountIx2,
52745
52850
  makePoolAddPermissionlessStakedBankIx: makePoolAddPermissionlessStakedBankIx2,
52746
52851
  makeLendingPoolConfigureBankOracleIx: makeLendingPoolConfigureBankOracleIx2,
52852
+ makeLendingPoolConfigureBankOracleScopeIx: makeLendingPoolConfigureBankOracleScopeIx2,
52747
52853
  makePulseHealthIx: makePulseHealthIx3
52748
52854
  };
52749
52855
  var sync_instructions_default = syncInstructions;
@@ -75271,10 +75377,15 @@ function decodeScopePriceAtIndex(data, entryIndex) {
75271
75377
  }
75272
75378
  new web3_js.PublicKey("MarBmsSgKXdrN1egZf5sqe1TMai9K1rChYNDJgjq7aD");
75273
75379
  var MARINADE_STATE_DISCRIMINATOR = Buffer.from([216, 146, 107, 94, 104, 75, 182, 177]);
75274
- var MARINADE_STATE_MIN_SIZE = 520;
75275
- var MSOL_PRICE_OFFSET = 512;
75276
- var MSOL_PRICE_PRECISION = new BigNumber3__default.default(2).pow(32);
75277
- var MAX_MSOL_SOL_RATE = 200;
75380
+ var DELAYED_UNSTAKE_COOLING_DOWN_OFFSET = 226;
75381
+ var TOTAL_ACTIVE_BALANCE_OFFSET = 376;
75382
+ var AVAILABLE_RESERVE_BALANCE_OFFSET = 496;
75383
+ var MSOL_SUPPLY_OFFSET = 504;
75384
+ var CIRCULATING_TICKET_BALANCE_OFFSET = 528;
75385
+ var EMERGENCY_COOLING_DOWN_OFFSET = 568;
75386
+ var MARINADE_STATE_MIN_SIZE = EMERGENCY_COOLING_DOWN_OFFSET + 8;
75387
+ var U64_MAX = (1n << 64n) - 1n;
75388
+ var MAX_MSOL_SOL_RATE = 3;
75278
75389
  function decodeMarinadeState(data) {
75279
75390
  if (data.length < MARINADE_STATE_MIN_SIZE) {
75280
75391
  throw new Error(`Invalid Marinade State account size: ${data.length}`);
@@ -75282,8 +75393,21 @@ function decodeMarinadeState(data) {
75282
75393
  if (!data.subarray(0, 8).equals(MARINADE_STATE_DISCRIMINATOR)) {
75283
75394
  throw new Error("Invalid Marinade State discriminator");
75284
75395
  }
75285
- const msolPriceRaw = data.readBigUInt64LE(MSOL_PRICE_OFFSET);
75286
- const msolPrice = new BigNumber3__default.default(msolPriceRaw.toString()).div(MSOL_PRICE_PRECISION);
75396
+ const delayedUnstakeCoolingDown = data.readBigUInt64LE(DELAYED_UNSTAKE_COOLING_DOWN_OFFSET);
75397
+ const totalActiveBalance = data.readBigUInt64LE(TOTAL_ACTIVE_BALANCE_OFFSET);
75398
+ const availableReserveBalance = data.readBigUInt64LE(AVAILABLE_RESERVE_BALANCE_OFFSET);
75399
+ const msolSupply = data.readBigUInt64LE(MSOL_SUPPLY_OFFSET);
75400
+ const circulatingTicketBalance = data.readBigUInt64LE(CIRCULATING_TICKET_BALANCE_OFFSET);
75401
+ const emergencyCoolingDown = data.readBigUInt64LE(EMERGENCY_COOLING_DOWN_OFFSET);
75402
+ if (msolSupply === 0n) {
75403
+ throw new Error("Marinade State has zero mSOL supply");
75404
+ }
75405
+ const underControl = totalActiveBalance + delayedUnstakeCoolingDown + emergencyCoolingDown + availableReserveBalance;
75406
+ if (underControl > U64_MAX) {
75407
+ throw new Error("Marinade virtual staked balance overflow");
75408
+ }
75409
+ const totalVirtualStakedLamports = underControl > circulatingTicketBalance ? underControl - circulatingTicketBalance : 0n;
75410
+ const msolPrice = new BigNumber3__default.default(totalVirtualStakedLamports.toString()).div(msolSupply.toString());
75287
75411
  if (!msolPrice.gt(0) || msolPrice.gte(MAX_MSOL_SOL_RATE)) {
75288
75412
  throw new Error(`Marinade mSOL/SOL rate out of bounds: ${msolPrice.toString()}`);
75289
75413
  }
@@ -75302,7 +75426,7 @@ var ACCOUNT_TYPE_STAKE_POOL = 1;
75302
75426
  var TOTAL_LAMPORTS_OFFSET = 258;
75303
75427
  var POOL_TOKEN_SUPPLY_OFFSET = 266;
75304
75428
  var LAST_UPDATE_EPOCH_OFFSET = 274;
75305
- var MAX_LST_SOL_RATE = 200;
75429
+ var MAX_LST_SOL_RATE = 3;
75306
75430
  function decodeStakePool(data) {
75307
75431
  if (data.length < LAST_UPDATE_EPOCH_OFFSET + 8) {
75308
75432
  throw new Error(`Invalid StakePool account size: ${data.length}`);
@@ -81940,13 +82064,13 @@ var fetchMultipleBanks = async (program, opts) => {
81940
82064
  }
81941
82065
  return bankDatas;
81942
82066
  };
81943
- var U64_MAX = new BigNumber3__default.default("18446744073709551615");
82067
+ var U64_MAX2 = new BigNumber3__default.default("18446744073709551615");
81944
82068
  var DRIFT_SCALED_BALANCE_DECIMALS = 9;
81945
82069
  function isDepositLimitActive(bank) {
81946
- return !bank.config.depositLimit.eq(U64_MAX);
82070
+ return !bank.config.depositLimit.eq(U64_MAX2);
81947
82071
  }
81948
82072
  function isBorrowLimitActive(bank) {
81949
- return !bank.config.borrowLimit.eq(U64_MAX);
82073
+ return !bank.config.borrowLimit.eq(U64_MAX2);
81950
82074
  }
81951
82075
  function getEffectiveDepositLimit(bank) {
81952
82076
  const limit = bank.config.depositLimit;
@@ -82060,12 +82184,12 @@ function computeRemainingCapacity(bank) {
82060
82184
  const remainingCapacity = isDepositLimitActive(bank) ? BigNumber3__default.default.max(
82061
82185
  0,
82062
82186
  getEffectiveDepositLimit(bank).minus(totalDeposits).minus(1).integerValue(BigNumber3__default.default.ROUND_FLOOR)
82063
- ) : U64_MAX;
82187
+ ) : U64_MAX2;
82064
82188
  const totalBorrows = getTotalLiabilityQuantity(bank);
82065
82189
  const remainingBorrowCapacity = isBorrowLimitActive(bank) ? BigNumber3__default.default.max(
82066
82190
  0,
82067
82191
  bank.config.borrowLimit.minus(totalBorrows).minus(1).integerValue(BigNumber3__default.default.ROUND_FLOOR)
82068
- ) : U64_MAX;
82192
+ ) : U64_MAX2;
82069
82193
  const projectionSeconds = computeAccrualProjectionSeconds(bank);
82070
82194
  const { lendingRate, borrowingRate } = computeInterestRates(bank);
82071
82195
  const projectedLendingInterest = lendingRate.times(projectionSeconds).dividedBy(SECONDS_PER_YEAR).times(totalDeposits);
@@ -82314,10 +82438,21 @@ async function addOracleToBanksIx({
82314
82438
  bankAddress,
82315
82439
  feedId,
82316
82440
  oracleKey,
82441
+ oracleAccounts,
82317
82442
  setup,
82318
82443
  groupAddress,
82319
82444
  adminAddress
82320
82445
  }) {
82446
+ if (setup === "Scope" /* Scope */ || setup === "PTPyth" /* PTPyth */ || setup === "PTFixed" /* PTFixed */) {
82447
+ throw new Error(
82448
+ `${setup} must be configured with ${setup === "Scope" /* Scope */ ? "configureScopeOracleIx" : "setOraclePriceIx"}`
82449
+ );
82450
+ }
82451
+ const resolvedOracleAccounts = oracleAccounts ?? (oracleKey ? [oracleKey] : []);
82452
+ const expectedAccountCount = setup === "PythMSOL" /* PythMSOL */ || setup === "PythLST" /* PythLST */ ? 2 : setup === "KaminoMSOL" /* KaminoMSOL */ || setup === "JuplendMSOL" /* JuplendMSOL */ || setup === "KaminoLST" /* KaminoLST */ || setup === "JuplendLST" /* JuplendLST */ ? 3 : void 0;
82453
+ if (expectedAccountCount !== void 0 && resolvedOracleAccounts.length !== expectedAccountCount) {
82454
+ throw new Error(`${setup} requires ${expectedAccountCount} ordered oracle accounts`);
82455
+ }
82321
82456
  const ix = await instructions_default.makeLendingPoolConfigureBankOracleIx(
82322
82457
  program,
82323
82458
  {
@@ -82329,7 +82464,67 @@ async function addOracleToBanksIx({
82329
82464
  setup: serializeOracleSetupToIndex(setup),
82330
82465
  feedId
82331
82466
  },
82332
- oracleKey ? [{ isSigner: false, isWritable: false, pubkey: oracleKey }] : []
82467
+ resolvedOracleAccounts.map((pubkey) => ({
82468
+ isSigner: false,
82469
+ isWritable: false,
82470
+ pubkey
82471
+ }))
82472
+ );
82473
+ return {
82474
+ instructions: [ix],
82475
+ keys: []
82476
+ };
82477
+ }
82478
+ async function setOraclePriceIx({
82479
+ program,
82480
+ bankAddress,
82481
+ price,
82482
+ setup,
82483
+ oracleAccounts = [],
82484
+ groupAddress,
82485
+ adminAddress
82486
+ }) {
82487
+ const expectedAccountCount = setup === "PTPyth" /* PTPyth */ ? 2 : setup === "PTFixed" /* PTFixed */ ? 1 : void 0;
82488
+ if (expectedAccountCount !== void 0 && oracleAccounts.length !== expectedAccountCount) {
82489
+ throw new Error(`${setup} requires ${expectedAccountCount} ordered oracle accounts`);
82490
+ }
82491
+ const ix = await instructions_default.makeLendingPoolSetOraclePriceIx(
82492
+ program,
82493
+ {
82494
+ bank: bankAddress,
82495
+ group: groupAddress,
82496
+ admin: adminAddress
82497
+ },
82498
+ {
82499
+ price: bigNumberToWrappedI80F48(price),
82500
+ setup: serializeOracleSetupToIndex(setup)
82501
+ },
82502
+ oracleAccounts.map((pubkey) => ({ isSigner: false, isWritable: false, pubkey }))
82503
+ );
82504
+ return {
82505
+ instructions: [ix],
82506
+ keys: []
82507
+ };
82508
+ }
82509
+ async function configureScopeOracleIx({
82510
+ program,
82511
+ bankAddress,
82512
+ oracle,
82513
+ entryIndex,
82514
+ groupAddress,
82515
+ adminAddress
82516
+ }) {
82517
+ const ix = await instructions_default.makeLendingPoolConfigureBankOracleScopeIx(
82518
+ program,
82519
+ {
82520
+ bank: bankAddress,
82521
+ group: groupAddress,
82522
+ admin: adminAddress
82523
+ },
82524
+ {
82525
+ oracle,
82526
+ entryIndex
82527
+ }
82333
82528
  );
82334
82529
  return {
82335
82530
  instructions: [ix],
@@ -85653,7 +85848,7 @@ exports.TransactionBuildingError = TransactionBuildingError;
85653
85848
  exports.TransactionBuildingErrorCode = TransactionBuildingErrorCode;
85654
85849
  exports.TransactionConfigMap = TransactionConfigMap;
85655
85850
  exports.TransactionType = TransactionType;
85656
- exports.U64_MAX = U64_MAX;
85851
+ exports.U64_MAX = U64_MAX2;
85657
85852
  exports.USDC_DECIMALS = USDC_DECIMALS;
85658
85853
  exports.USDC_MINT = USDC_MINT;
85659
85854
  exports.USDT_MINT = USDT_MINT;
@@ -85753,6 +85948,7 @@ exports.computeUsdValue = computeUsdValue;
85753
85948
  exports.computeUtilizationRate = computeUtilizationRate;
85754
85949
  exports.computeV0TxSize = computeV0TxSize;
85755
85950
  exports.computeVenueAvailableLiquidity = computeVenueAvailableLiquidity;
85951
+ exports.configureScopeOracleIx = configureScopeOracleIx;
85756
85952
  exports.convertVoteAccCoeffsToBankCoeffs = convertVoteAccCoeffsToBankCoeffs;
85757
85953
  exports.createActiveEmodePairFromPairs = createActiveEmodePairFromPairs;
85758
85954
  exports.createEmptyBalance = createEmptyBalance;
@@ -86016,6 +86212,7 @@ exports.serializeOracleSetupToIndex = serializeOracleSetupToIndex;
86016
86212
  exports.serializeRiskTier = serializeRiskTier;
86017
86213
  exports.serializeSwapEngineRequest = serializeSwapEngineRequest;
86018
86214
  exports.serializeSwapEngineResult = serializeSwapEngineResult;
86215
+ exports.setOraclePriceIx = setOraclePriceIx;
86019
86216
  exports.sharedBridgeLegContext = sharedBridgeLegContext;
86020
86217
  exports.shortenAddress = shortenAddress;
86021
86218
  exports.simulateAccountHealthCache = simulateAccountHealthCache;