@1delta/margin-fetcher-sol 0.0.2 → 0.0.4
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.mts +344 -217
- package/dist/index.d.ts +344 -217
- package/dist/index.js +274 -143
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +135 -4
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
package/dist/index.d.mts
CHANGED
|
@@ -800,6 +800,14 @@ interface KlendReserveChain extends KlendReserveFlash {
|
|
|
800
800
|
/** `config.disableUsageAsCollOutsideEmode` — outside a group, an obligation holding this deposit cannot borrow. */
|
|
801
801
|
disableUsageAsCollOutsideEmode: boolean;
|
|
802
802
|
utilizationLimitBlockBorrowingAbovePct: number;
|
|
803
|
+
/**
|
|
804
|
+
* `config.borrowRateCurve` — the reserve's 11 knots as `[utilization,
|
|
805
|
+
* borrowRate]` FRACTIONS (bps / 1e4), padding included: unused knots repeat
|
|
806
|
+
* the last one. The rate is on the reserve's `interestRateBasis` (a `legacy`
|
|
807
|
+
* reserve quotes per slot on the 0.5 s slot-year). Matches the API's
|
|
808
|
+
* deduplicated `borrowCurve` as a function (irm-sdk `solana.test.ts`).
|
|
809
|
+
*/
|
|
810
|
+
borrowRateCurve: [number, number][];
|
|
803
811
|
/** Cap on debt of THIS reserve taken outside any group, raw units of this reserve. */
|
|
804
812
|
borrowLimitOutsideElevationGroup: bigint;
|
|
805
813
|
/** Per group (index = id − 1): cap on debt this reserve may BACK as collateral in the group, raw units of the group's DEBT reserve. */
|
|
@@ -1105,6 +1113,8 @@ interface KaminoMarketInputs {
|
|
|
1105
1113
|
collateralReserves?: KaminoCollateralReserve[];
|
|
1106
1114
|
/** Kamino's Multiply/Leverage pair book for the market. */
|
|
1107
1115
|
leveragePairs?: KaminoLeveragePair[];
|
|
1116
|
+
/** Measured wall-clock seconds per slot (svm-kit `measureSlotSeconds`) — stamped on `legacy` reserves' `kamino.slotSeconds`. */
|
|
1117
|
+
slotSeconds?: number;
|
|
1108
1118
|
/** Optional curated currency for `asset` (name/symbol/assetGroup); falls back to the API's symbol and `solana-<mint>`. */
|
|
1109
1119
|
tokenList?: {
|
|
1110
1120
|
[mint: string]: GenericCurrency;
|
|
@@ -1126,7 +1136,23 @@ interface KaminoReserveExt {
|
|
|
1126
1136
|
interestRateBasis: KaminoReserveStats['interestRateBasis'];
|
|
1127
1137
|
protocolTakeRatePct: number;
|
|
1128
1138
|
hostFixedInterestRateBps: number;
|
|
1139
|
+
/**
|
|
1140
|
+
* `[utilization, borrowRate]` FRACTIONS on the reserve's own
|
|
1141
|
+
* `interestRateBasis`, first knot at 0, last at 1. From the chain's
|
|
1142
|
+
* `borrowRateCurve` when the reserve was read (padding knots dropped),
|
|
1143
|
+
* else the API's — the same function (irm-sdk `solana.test.ts`).
|
|
1144
|
+
*/
|
|
1129
1145
|
borrowCurve: [number, number][];
|
|
1146
|
+
borrowCurveSource: 'chain' | 'api';
|
|
1147
|
+
/**
|
|
1148
|
+
* `legacy` reserves only: the measured seconds per slot the curve must be
|
|
1149
|
+
* scaled by (`× 0.5 / slotSeconds` — per-slot accrual on the nominal 0.5 s
|
|
1150
|
+
* slot-year). Absent when not measured: a consumer then has no basis and
|
|
1151
|
+
* must not evaluate the curve.
|
|
1152
|
+
*/
|
|
1153
|
+
slotSeconds?: number;
|
|
1154
|
+
/** `config.utilizationLimitBlockBorrowingAbovePct` — borrows refused above it; 0 = no limit. `undefined` = not read. */
|
|
1155
|
+
utilizationLimitBlockBorrowingAbovePct?: number;
|
|
1130
1156
|
autoDeleverage: KaminoReserveStats['autoDeleverage'];
|
|
1131
1157
|
/** Where the config / limits / indices came from. */
|
|
1132
1158
|
source: 'chain' | 'api';
|
|
@@ -1252,6 +1278,7 @@ declare function convertKaminoReserve(inp: KaminoReserveInputs, ctx: {
|
|
|
1252
1278
|
closeFactor: number;
|
|
1253
1279
|
chainMarket?: KlendMarketChain;
|
|
1254
1280
|
slot?: number;
|
|
1281
|
+
slotSeconds?: number;
|
|
1255
1282
|
tokenList?: KaminoMarketInputs['tokenList'];
|
|
1256
1283
|
}): KaminoPoolData;
|
|
1257
1284
|
/** Risk inputs for every reserve of the market (chain when read, else API). */
|
|
@@ -1314,6 +1341,12 @@ interface FetchKaminoPublicOptions extends KaminoApiOptions, ListServedMarketsOp
|
|
|
1314
1341
|
* market and never invents a group.
|
|
1315
1342
|
*/
|
|
1316
1343
|
rpc?: SvmRpc;
|
|
1344
|
+
/**
|
|
1345
|
+
* Wall-clock seconds per slot for the `legacy` reserves' curves. Absent
|
|
1346
|
+
* with an `rpc`: measured once (`measureSlotSeconds`); absent without one:
|
|
1347
|
+
* not stamped, and those curves are unusable downstream (never guessed).
|
|
1348
|
+
*/
|
|
1349
|
+
slotSeconds?: number;
|
|
1317
1350
|
}
|
|
1318
1351
|
/**
|
|
1319
1352
|
* Public market data for every served Kamino market: one bundle per market
|
|
@@ -1564,6 +1597,263 @@ declare function createJupiterLendApi(opts?: JupiterLendApiOptions): {
|
|
|
1564
1597
|
};
|
|
1565
1598
|
type JupiterLendApi = ReturnType<typeof createJupiterLendApi>;
|
|
1566
1599
|
|
|
1600
|
+
/**
|
|
1601
|
+
* Jupiter Lend vaults read straight from the VAULTS program — for the ids
|
|
1602
|
+
* `lite-api.jup.ag/lend/v1/borrow/vaults` does not list (on 2026-10-02 it
|
|
1603
|
+
* served 82 of main's 104: ids 65–67, 74–76, 85–87, 89–99 were missing,
|
|
1604
|
+
* and users transact on 91 / 96 / 97). The program numbers vaults
|
|
1605
|
+
* contiguously from 1 (`VaultAdmin.next_vault_id`), so enumeration is PDA
|
|
1606
|
+
* derivation, no `getProgramAccounts`.
|
|
1607
|
+
*
|
|
1608
|
+
* The arithmetic is `@jup-ag/lend-read` 0.0.14's `getVaultEntireDataV2`,
|
|
1609
|
+
* ported to bigint (liquidity exchange prices → the vault's, the layer's
|
|
1610
|
+
* supply / borrow rate, the vault's limits). Verified against the API's own
|
|
1611
|
+
* numbers for the vaults it does list (`test/jupiterLend.onchain.live.test.ts`).
|
|
1612
|
+
*
|
|
1613
|
+
* Scales, measured: vault-internal amounts (`VaultState.total_supply` /
|
|
1614
|
+
* `total_borrow`) are normalised to 9 DECIMALS whatever the mint
|
|
1615
|
+
* (`× 10^(decimals − 9)` gives base units — vault 1's USDC debt reads 1000×
|
|
1616
|
+
* the API otherwise); the liquidity layer's amounts are mint base units.
|
|
1617
|
+
*
|
|
1618
|
+
* SMART vaults (type 2 = smart collateral, 3 = smart debt, 4 = both — the
|
|
1619
|
+
* Fluid T2/T3/T4) put a DEX where the mint would be: `supply_token` /
|
|
1620
|
+
* `borrow_token` is the DEX account, and that side's amounts are DEX SHARES
|
|
1621
|
+
* (9 decimals), not tokens. The smart side is served as a leg keyed by the
|
|
1622
|
+
* DEX address (the key pos-indexer's decoder uses, since it reads the same
|
|
1623
|
+
* account off the instruction), denominated in shares, UNPRICED (price
|
|
1624
|
+
* `'0'`): a share's token value needs the DEX's reserve math, which is not
|
|
1625
|
+
* ported. `params.jupiterLendVault.smart` says which side it is.
|
|
1626
|
+
*
|
|
1627
|
+
* Not read: the vault ORACLE price (the oracle program combines its sources;
|
|
1628
|
+
* `oraclePrice*` are left `''`, which the converter turns into an absent
|
|
1629
|
+
* Fluid oracle price, never a 0), rewards, and `metadata` flags (UI-only).
|
|
1630
|
+
*/
|
|
1631
|
+
declare const JL_VAULTS_ACCOUNTS_IDL: Idl;
|
|
1632
|
+
/** The vaults program per market (`@jup-ag/lend`'s `PROGRAM_IDS`). */
|
|
1633
|
+
declare const JUP_VAULTS_PROGRAMS: Record<JupiterLendMarket, string>;
|
|
1634
|
+
/** The Jupiter Lend DEX (smart-vault AMM) program — owner of a smart side's `Dex`. */
|
|
1635
|
+
declare const JUP_DEX_PROGRAM = "jupZ4m2GqUCJ5iueMfzQf8khFfH31d4XAQt3RzCT9Vd";
|
|
1636
|
+
declare const JL_EXCHANGE_PRICES_PRECISION: bigint;
|
|
1637
|
+
/** Vault-internal amounts are 9-decimal normalised. */
|
|
1638
|
+
declare const JL_VAULT_AMOUNT_DECIMALS = 9;
|
|
1639
|
+
/** Fluid's vault types; 0 is the legacy spelling of 1. */
|
|
1640
|
+
declare const isJlSmartCol: (t: number) => t is 2 | 4;
|
|
1641
|
+
declare const isJlSmartDebt: (t: number) => t is 3 | 4;
|
|
1642
|
+
declare const jlVaultConfigPda: (vaultId: number, market?: JupiterLendMarket) => Promise<string>;
|
|
1643
|
+
declare const jlVaultStatePda: (vaultId: number, market?: JupiterLendMarket) => Promise<string>;
|
|
1644
|
+
declare const jlVaultAdminPda: (market?: JupiterLendMarket) => Promise<string>;
|
|
1645
|
+
interface RawVaultConfig {
|
|
1646
|
+
vault_id: number;
|
|
1647
|
+
supply_rate_magnifier: number;
|
|
1648
|
+
borrow_rate_magnifier: number;
|
|
1649
|
+
collateral_factor: number;
|
|
1650
|
+
liquidation_threshold: number;
|
|
1651
|
+
liquidation_max_limit: number;
|
|
1652
|
+
withdraw_gap: number;
|
|
1653
|
+
liquidation_penalty: number;
|
|
1654
|
+
borrow_fee: number;
|
|
1655
|
+
vault_type: number;
|
|
1656
|
+
oracle: string;
|
|
1657
|
+
supply_token: string;
|
|
1658
|
+
borrow_token: string;
|
|
1659
|
+
}
|
|
1660
|
+
interface RawVaultState {
|
|
1661
|
+
vault_id: number;
|
|
1662
|
+
topmost_tick: number;
|
|
1663
|
+
total_supply: bigint;
|
|
1664
|
+
total_borrow: bigint;
|
|
1665
|
+
total_positions: number;
|
|
1666
|
+
absorbed_debt_amount: bigint;
|
|
1667
|
+
absorbed_col_amount: bigint;
|
|
1668
|
+
liquidity_supply_exchange_price: bigint;
|
|
1669
|
+
liquidity_borrow_exchange_price: bigint;
|
|
1670
|
+
vault_supply_exchange_price: bigint;
|
|
1671
|
+
vault_borrow_exchange_price: bigint;
|
|
1672
|
+
last_update_timestamp: bigint;
|
|
1673
|
+
}
|
|
1674
|
+
interface RawTokenReserve {
|
|
1675
|
+
mint: string;
|
|
1676
|
+
/** The layer's token account for the mint — its balance is what can leave now. */
|
|
1677
|
+
vault: string;
|
|
1678
|
+
borrow_rate: number;
|
|
1679
|
+
fee_on_interest: number;
|
|
1680
|
+
last_utilization: number;
|
|
1681
|
+
last_update_timestamp: bigint;
|
|
1682
|
+
supply_exchange_price: bigint;
|
|
1683
|
+
borrow_exchange_price: bigint;
|
|
1684
|
+
max_utilization: number;
|
|
1685
|
+
total_supply_with_interest: bigint;
|
|
1686
|
+
total_supply_interest_free: bigint;
|
|
1687
|
+
total_borrow_with_interest: bigint;
|
|
1688
|
+
total_borrow_interest_free: bigint;
|
|
1689
|
+
}
|
|
1690
|
+
interface RawUserSupply {
|
|
1691
|
+
with_interest: number;
|
|
1692
|
+
amount: bigint;
|
|
1693
|
+
withdrawal_limit: bigint;
|
|
1694
|
+
decay_amount: bigint;
|
|
1695
|
+
last_update: bigint;
|
|
1696
|
+
expand_pct: number;
|
|
1697
|
+
expand_duration: number;
|
|
1698
|
+
decay_duration: number;
|
|
1699
|
+
base_withdrawal_limit: bigint;
|
|
1700
|
+
}
|
|
1701
|
+
interface RawUserBorrow {
|
|
1702
|
+
with_interest: number;
|
|
1703
|
+
amount: bigint;
|
|
1704
|
+
debt_ceiling: bigint;
|
|
1705
|
+
last_update: bigint;
|
|
1706
|
+
expand_pct: number;
|
|
1707
|
+
expand_duration: number;
|
|
1708
|
+
base_debt_ceiling: bigint;
|
|
1709
|
+
max_debt_ceiling: bigint;
|
|
1710
|
+
}
|
|
1711
|
+
/** The layer's exchange prices advanced to `now` (`calculateExchangePrice`). */
|
|
1712
|
+
declare function jlLiquidityExchangePrices(r: RawTokenReserve, now: bigint): {
|
|
1713
|
+
supplyEx: bigint;
|
|
1714
|
+
borrowEx: bigint;
|
|
1715
|
+
};
|
|
1716
|
+
/** The layer's per-token totals + supply rate (bps) (`processOverallTokenData`). */
|
|
1717
|
+
declare function jlOverallTokenData(r: RawTokenReserve, now: bigint): {
|
|
1718
|
+
supplyEx: bigint;
|
|
1719
|
+
borrowEx: bigint;
|
|
1720
|
+
totalSupply: bigint;
|
|
1721
|
+
totalBorrow: bigint;
|
|
1722
|
+
supplyRate: bigint;
|
|
1723
|
+
borrowRate: bigint;
|
|
1724
|
+
maxUtilization: bigint;
|
|
1725
|
+
};
|
|
1726
|
+
type Overall = ReturnType<typeof jlOverallTokenData>;
|
|
1727
|
+
/** A protocol's supply position on the layer (`processUserSupplyData`). */
|
|
1728
|
+
declare function jlUserSupplyData(u: RawUserSupply | undefined, o: Overall, balance: bigint, now: bigint): {
|
|
1729
|
+
modeWithInterest: boolean;
|
|
1730
|
+
supply: bigint;
|
|
1731
|
+
withdrawalLimit: bigint;
|
|
1732
|
+
lastUpdateTimestamp: bigint;
|
|
1733
|
+
expandPercent: bigint;
|
|
1734
|
+
expandDuration: bigint;
|
|
1735
|
+
baseWithdrawalLimit: bigint;
|
|
1736
|
+
withdrawableUntilLimit: bigint;
|
|
1737
|
+
withdrawable: bigint;
|
|
1738
|
+
decayAmount: bigint;
|
|
1739
|
+
decayEndTimestamp: bigint;
|
|
1740
|
+
};
|
|
1741
|
+
/** A protocol's borrow position on the layer (`processUserBorrowData`). */
|
|
1742
|
+
declare function jlUserBorrowData(u: RawUserBorrow | undefined, o: Overall, balance: bigint, now: bigint): {
|
|
1743
|
+
modeWithInterest: boolean;
|
|
1744
|
+
borrow: bigint;
|
|
1745
|
+
borrowLimit: bigint;
|
|
1746
|
+
lastUpdateTimestamp: bigint;
|
|
1747
|
+
expandPercent: bigint;
|
|
1748
|
+
expandDuration: bigint;
|
|
1749
|
+
baseBorrowLimit: bigint;
|
|
1750
|
+
maxBorrowLimit: bigint;
|
|
1751
|
+
borrowLimitUtilization: bigint;
|
|
1752
|
+
borrowableUntilLimit: bigint;
|
|
1753
|
+
borrowable: bigint;
|
|
1754
|
+
};
|
|
1755
|
+
/** The vault's exchange prices advanced with the layer's (`updateExchangePrices`). */
|
|
1756
|
+
declare function jlVaultExchangePrices(s: RawVaultState, c: RawVaultConfig, liqSupplyEx: bigint, liqBorrowEx: bigint, now: bigint): {
|
|
1757
|
+
supplyEx: bigint;
|
|
1758
|
+
borrowEx: bigint;
|
|
1759
|
+
};
|
|
1760
|
+
/** Vault-internal (9-dec normalised) → base units of a `decimals` mint. */
|
|
1761
|
+
declare const jlVaultToRaw: (v: bigint, decimals: number) => bigint;
|
|
1762
|
+
interface JlOnchainVault {
|
|
1763
|
+
vault: JupiterLendVault;
|
|
1764
|
+
smartCol: boolean;
|
|
1765
|
+
smartDebt: boolean;
|
|
1766
|
+
/** The DEX behind a smart side, decoded (`token_0` / `token_1`). */
|
|
1767
|
+
supplyDex?: {
|
|
1768
|
+
address: string;
|
|
1769
|
+
token0: string;
|
|
1770
|
+
token1: string;
|
|
1771
|
+
};
|
|
1772
|
+
borrowDex?: {
|
|
1773
|
+
address: string;
|
|
1774
|
+
token0: string;
|
|
1775
|
+
token1: string;
|
|
1776
|
+
};
|
|
1777
|
+
slot: number;
|
|
1778
|
+
}
|
|
1779
|
+
interface ReadJlVaultsOptions {
|
|
1780
|
+
/** Known token facts by mint (the API's own `supplyToken` / `borrowToken` / earn `asset`) — symbol, logo and the USD price. */
|
|
1781
|
+
tokens?: {
|
|
1782
|
+
[mint: string]: JupiterLendToken;
|
|
1783
|
+
};
|
|
1784
|
+
/** Symbols / decimals for mints the API does not name. */
|
|
1785
|
+
tokenList?: {
|
|
1786
|
+
[mint: string]: {
|
|
1787
|
+
symbol?: string;
|
|
1788
|
+
name?: string;
|
|
1789
|
+
decimals?: number;
|
|
1790
|
+
logoURI?: unknown;
|
|
1791
|
+
};
|
|
1792
|
+
};
|
|
1793
|
+
/** Unix seconds "now" for the accrual (default: the clock). */
|
|
1794
|
+
now?: number;
|
|
1795
|
+
}
|
|
1796
|
+
/** `VaultAdmin.next_vault_id` — ids run 1 … next − 1. `undefined` when the admin cannot be read. */
|
|
1797
|
+
declare function readJlNextVaultId(rpc: SvmRpc, market?: JupiterLendMarket): Promise<number | undefined>;
|
|
1798
|
+
/**
|
|
1799
|
+
* Read `vaultIds` of `market` from the chain and shape each as the API's
|
|
1800
|
+
* `JupiterLendVault`, so the API path's converter serves it unchanged.
|
|
1801
|
+
* Three batched reads: config + state, then the layer accounts (reserves,
|
|
1802
|
+
* the vault's positions on the layer, mints, DEXes, the oracle), then the
|
|
1803
|
+
* reserves' token accounts (what can leave the layer now). An id with no config / state account is skipped.
|
|
1804
|
+
*/
|
|
1805
|
+
declare function readJupiterLendVaultsOnchain(rpc: SvmRpc, market: JupiterLendMarket, vaultIds: number[], opts?: ReadJlVaultsOptions): Promise<JlOnchainVault[]>;
|
|
1806
|
+
/**
|
|
1807
|
+
* One mint's Liquidity-layer IRM, as irm-sdk's `jupiter_lend` model takes it
|
|
1808
|
+
* (`JupiterLendIRMParams`, the magnifiers added per row). Every rate / kink /
|
|
1809
|
+
* fee is on the 1e2 scale the accounts use (10000 = 100 %).
|
|
1810
|
+
*/
|
|
1811
|
+
interface JlLayerIrm {
|
|
1812
|
+
version: 1 | 2;
|
|
1813
|
+
rateAtZero: number;
|
|
1814
|
+
kink1: number;
|
|
1815
|
+
rateAtKink1: number;
|
|
1816
|
+
/** v2 only — a v1 model keeps stale values in these fields. */
|
|
1817
|
+
kink2?: number;
|
|
1818
|
+
rateAtKink2?: number;
|
|
1819
|
+
rateAtMax: number;
|
|
1820
|
+
/** `TokenReserve.fee_on_interest`. */
|
|
1821
|
+
feeOnInterest: number;
|
|
1822
|
+
/** `TokenReserve.max_utilization` (0 read as the program's default 100 %). */
|
|
1823
|
+
maxUtilization: number;
|
|
1824
|
+
/** `(B_wi / S_wi) / u` over the layer's live totals — 1 when nothing is interest-free. */
|
|
1825
|
+
supplyWithInterestRatio: number;
|
|
1826
|
+
/** The program's own last evaluation — `borrow_rate` at `last_utilization` (1e2). */
|
|
1827
|
+
lastUtilization: number;
|
|
1828
|
+
borrowRate: number;
|
|
1829
|
+
}
|
|
1830
|
+
/**
|
|
1831
|
+
* `RateModel` (PDA `['rate_model', mint]` on the Liquidity program),
|
|
1832
|
+
* bytemuck-packed after the 8-byte discriminator: mint (32) · version u8 ·
|
|
1833
|
+
* rate_at_zero · kink1_utilization · rate_at_kink1 · rate_at_max ·
|
|
1834
|
+
* kink2_utilization · rate_at_kink2 (u16 LE each) = 53 bytes. Layout from
|
|
1835
|
+
* `@jup-ag/lend` 0.4.0's liquidity IDL (the program publishes no on-chain
|
|
1836
|
+
* IDL); `rate_at_max` sits BEFORE `kink2`. Verified 2026-10-03: the curve
|
|
1837
|
+
* at `TokenReserve.last_utilization` reproduces `borrow_rate` to the unit
|
|
1838
|
+
* on every live mint (irm-sdk `solana.test.ts`).
|
|
1839
|
+
*/
|
|
1840
|
+
declare function decodeJlRateModel(data: Uint8Array): {
|
|
1841
|
+
kink2?: number | undefined;
|
|
1842
|
+
rateAtKink2?: number | undefined;
|
|
1843
|
+
version: 1 | 2;
|
|
1844
|
+
rateAtZero: number;
|
|
1845
|
+
kink1: number;
|
|
1846
|
+
rateAtKink1: number;
|
|
1847
|
+
rateAtMax: number;
|
|
1848
|
+
};
|
|
1849
|
+
/**
|
|
1850
|
+
* Every listed mint's layer IRM for a market: one batched read of the
|
|
1851
|
+
* `RateModel` + `TokenReserve` PDAs. A mint whose either account is missing
|
|
1852
|
+
* or undecodable is absent from the map (its rows then carry no curve),
|
|
1853
|
+
* never defaulted.
|
|
1854
|
+
*/
|
|
1855
|
+
declare function readJlLayerIrms(rpc: SvmRpc, market: JupiterLendMarket, mints: string[], now?: bigint): Promise<Map<string, JlLayerIrm>>;
|
|
1856
|
+
|
|
1567
1857
|
/**
|
|
1568
1858
|
* Scales — JUPITER_LEND.md §2, verified against the program source
|
|
1569
1859
|
* (UNIFIED_API_AUDIT.md §9): factors 1e3 (`vault_config.rs`), penalty and
|
|
@@ -1782,6 +2072,18 @@ type JupiterLendPoolData = Omit<PoolData, 'borrowCap' | 'supplyCap' | 'config'>
|
|
|
1782
2072
|
config: {
|
|
1783
2073
|
[mode: string]: JupiterLendConfigEntry;
|
|
1784
2074
|
};
|
|
2075
|
+
/**
|
|
2076
|
+
* The row's interest-rate model: its token's Liquidity-layer `RateModel`
|
|
2077
|
+
* plus THIS vault's ADDITIVE magnifiers (bps) — irm-sdk's `jupiter_lend`
|
|
2078
|
+
* model takes it verbatim. Absent when the layer was not read (no `rpc`)
|
|
2079
|
+
* or on a smart side (its token is a DEX share, not a layer token).
|
|
2080
|
+
*/
|
|
2081
|
+
jupiterLend?: {
|
|
2082
|
+
irm: JlLayerIrm & {
|
|
2083
|
+
supplyMagnifier: number;
|
|
2084
|
+
borrowMagnifier: number;
|
|
2085
|
+
};
|
|
2086
|
+
};
|
|
1785
2087
|
};
|
|
1786
2088
|
interface ConvertJupiterLendOptions {
|
|
1787
2089
|
tokenList?: {
|
|
@@ -1959,213 +2261,6 @@ declare function readJupFlashAssets(rpc: SvmRpc, market?: JupiterLendMarketId):
|
|
|
1959
2261
|
/** Free liquidity of `mint` on the layer = the token balance of its vault, the amount a flash can take. */
|
|
1960
2262
|
declare function readJupFlashAvailable(rpc: SvmRpc, mint: string, tokenProgram: string, market?: JupiterLendMarketId): Promise<bigint>;
|
|
1961
2263
|
|
|
1962
|
-
/**
|
|
1963
|
-
* Jupiter Lend vaults read straight from the VAULTS program — for the ids
|
|
1964
|
-
* `lite-api.jup.ag/lend/v1/borrow/vaults` does not list (on 2026-10-02 it
|
|
1965
|
-
* served 82 of main's 104: ids 65–67, 74–76, 85–87, 89–99 were missing,
|
|
1966
|
-
* and users transact on 91 / 96 / 97). The program numbers vaults
|
|
1967
|
-
* contiguously from 1 (`VaultAdmin.next_vault_id`), so enumeration is PDA
|
|
1968
|
-
* derivation, no `getProgramAccounts`.
|
|
1969
|
-
*
|
|
1970
|
-
* The arithmetic is `@jup-ag/lend-read` 0.0.14's `getVaultEntireDataV2`,
|
|
1971
|
-
* ported to bigint (liquidity exchange prices → the vault's, the layer's
|
|
1972
|
-
* supply / borrow rate, the vault's limits). Verified against the API's own
|
|
1973
|
-
* numbers for the vaults it does list (`test/jupiterLend.onchain.live.test.ts`).
|
|
1974
|
-
*
|
|
1975
|
-
* Scales, measured: vault-internal amounts (`VaultState.total_supply` /
|
|
1976
|
-
* `total_borrow`) are normalised to 9 DECIMALS whatever the mint
|
|
1977
|
-
* (`× 10^(decimals − 9)` gives base units — vault 1's USDC debt reads 1000×
|
|
1978
|
-
* the API otherwise); the liquidity layer's amounts are mint base units.
|
|
1979
|
-
*
|
|
1980
|
-
* SMART vaults (type 2 = smart collateral, 3 = smart debt, 4 = both — the
|
|
1981
|
-
* Fluid T2/T3/T4) put a DEX where the mint would be: `supply_token` /
|
|
1982
|
-
* `borrow_token` is the DEX account, and that side's amounts are DEX SHARES
|
|
1983
|
-
* (9 decimals), not tokens. The smart side is served as a leg keyed by the
|
|
1984
|
-
* DEX address (the key pos-indexer's decoder uses, since it reads the same
|
|
1985
|
-
* account off the instruction), denominated in shares, UNPRICED (price
|
|
1986
|
-
* `'0'`): a share's token value needs the DEX's reserve math, which is not
|
|
1987
|
-
* ported. `params.jupiterLendVault.smart` says which side it is.
|
|
1988
|
-
*
|
|
1989
|
-
* Not read: the vault ORACLE price (the oracle program combines its sources;
|
|
1990
|
-
* `oraclePrice*` are left `''`, which the converter turns into an absent
|
|
1991
|
-
* Fluid oracle price, never a 0), rewards, and `metadata` flags (UI-only).
|
|
1992
|
-
*/
|
|
1993
|
-
declare const JL_VAULTS_ACCOUNTS_IDL: Idl;
|
|
1994
|
-
/** The vaults program per market (`@jup-ag/lend`'s `PROGRAM_IDS`). */
|
|
1995
|
-
declare const JUP_VAULTS_PROGRAMS: Record<JupiterLendMarket, string>;
|
|
1996
|
-
/** The Jupiter Lend DEX (smart-vault AMM) program — owner of a smart side's `Dex`. */
|
|
1997
|
-
declare const JUP_DEX_PROGRAM = "jupZ4m2GqUCJ5iueMfzQf8khFfH31d4XAQt3RzCT9Vd";
|
|
1998
|
-
declare const JL_EXCHANGE_PRICES_PRECISION: bigint;
|
|
1999
|
-
/** Vault-internal amounts are 9-decimal normalised. */
|
|
2000
|
-
declare const JL_VAULT_AMOUNT_DECIMALS = 9;
|
|
2001
|
-
/** Fluid's vault types; 0 is the legacy spelling of 1. */
|
|
2002
|
-
declare const isJlSmartCol: (t: number) => t is 2 | 4;
|
|
2003
|
-
declare const isJlSmartDebt: (t: number) => t is 3 | 4;
|
|
2004
|
-
declare const jlVaultConfigPda: (vaultId: number, market?: JupiterLendMarket) => Promise<string>;
|
|
2005
|
-
declare const jlVaultStatePda: (vaultId: number, market?: JupiterLendMarket) => Promise<string>;
|
|
2006
|
-
declare const jlVaultAdminPda: (market?: JupiterLendMarket) => Promise<string>;
|
|
2007
|
-
interface RawVaultConfig {
|
|
2008
|
-
vault_id: number;
|
|
2009
|
-
supply_rate_magnifier: number;
|
|
2010
|
-
borrow_rate_magnifier: number;
|
|
2011
|
-
collateral_factor: number;
|
|
2012
|
-
liquidation_threshold: number;
|
|
2013
|
-
liquidation_max_limit: number;
|
|
2014
|
-
withdraw_gap: number;
|
|
2015
|
-
liquidation_penalty: number;
|
|
2016
|
-
borrow_fee: number;
|
|
2017
|
-
vault_type: number;
|
|
2018
|
-
oracle: string;
|
|
2019
|
-
supply_token: string;
|
|
2020
|
-
borrow_token: string;
|
|
2021
|
-
}
|
|
2022
|
-
interface RawVaultState {
|
|
2023
|
-
vault_id: number;
|
|
2024
|
-
topmost_tick: number;
|
|
2025
|
-
total_supply: bigint;
|
|
2026
|
-
total_borrow: bigint;
|
|
2027
|
-
total_positions: number;
|
|
2028
|
-
absorbed_debt_amount: bigint;
|
|
2029
|
-
absorbed_col_amount: bigint;
|
|
2030
|
-
liquidity_supply_exchange_price: bigint;
|
|
2031
|
-
liquidity_borrow_exchange_price: bigint;
|
|
2032
|
-
vault_supply_exchange_price: bigint;
|
|
2033
|
-
vault_borrow_exchange_price: bigint;
|
|
2034
|
-
last_update_timestamp: bigint;
|
|
2035
|
-
}
|
|
2036
|
-
interface RawTokenReserve {
|
|
2037
|
-
mint: string;
|
|
2038
|
-
/** The layer's token account for the mint — its balance is what can leave now. */
|
|
2039
|
-
vault: string;
|
|
2040
|
-
borrow_rate: number;
|
|
2041
|
-
fee_on_interest: number;
|
|
2042
|
-
last_utilization: number;
|
|
2043
|
-
last_update_timestamp: bigint;
|
|
2044
|
-
supply_exchange_price: bigint;
|
|
2045
|
-
borrow_exchange_price: bigint;
|
|
2046
|
-
max_utilization: number;
|
|
2047
|
-
total_supply_with_interest: bigint;
|
|
2048
|
-
total_supply_interest_free: bigint;
|
|
2049
|
-
total_borrow_with_interest: bigint;
|
|
2050
|
-
total_borrow_interest_free: bigint;
|
|
2051
|
-
}
|
|
2052
|
-
interface RawUserSupply {
|
|
2053
|
-
with_interest: number;
|
|
2054
|
-
amount: bigint;
|
|
2055
|
-
withdrawal_limit: bigint;
|
|
2056
|
-
decay_amount: bigint;
|
|
2057
|
-
last_update: bigint;
|
|
2058
|
-
expand_pct: number;
|
|
2059
|
-
expand_duration: number;
|
|
2060
|
-
decay_duration: number;
|
|
2061
|
-
base_withdrawal_limit: bigint;
|
|
2062
|
-
}
|
|
2063
|
-
interface RawUserBorrow {
|
|
2064
|
-
with_interest: number;
|
|
2065
|
-
amount: bigint;
|
|
2066
|
-
debt_ceiling: bigint;
|
|
2067
|
-
last_update: bigint;
|
|
2068
|
-
expand_pct: number;
|
|
2069
|
-
expand_duration: number;
|
|
2070
|
-
base_debt_ceiling: bigint;
|
|
2071
|
-
max_debt_ceiling: bigint;
|
|
2072
|
-
}
|
|
2073
|
-
/** The layer's exchange prices advanced to `now` (`calculateExchangePrice`). */
|
|
2074
|
-
declare function jlLiquidityExchangePrices(r: RawTokenReserve, now: bigint): {
|
|
2075
|
-
supplyEx: bigint;
|
|
2076
|
-
borrowEx: bigint;
|
|
2077
|
-
};
|
|
2078
|
-
/** The layer's per-token totals + supply rate (bps) (`processOverallTokenData`). */
|
|
2079
|
-
declare function jlOverallTokenData(r: RawTokenReserve, now: bigint): {
|
|
2080
|
-
supplyEx: bigint;
|
|
2081
|
-
borrowEx: bigint;
|
|
2082
|
-
totalSupply: bigint;
|
|
2083
|
-
totalBorrow: bigint;
|
|
2084
|
-
supplyRate: bigint;
|
|
2085
|
-
borrowRate: bigint;
|
|
2086
|
-
maxUtilization: bigint;
|
|
2087
|
-
};
|
|
2088
|
-
type Overall = ReturnType<typeof jlOverallTokenData>;
|
|
2089
|
-
/** A protocol's supply position on the layer (`processUserSupplyData`). */
|
|
2090
|
-
declare function jlUserSupplyData(u: RawUserSupply | undefined, o: Overall, balance: bigint, now: bigint): {
|
|
2091
|
-
modeWithInterest: boolean;
|
|
2092
|
-
supply: bigint;
|
|
2093
|
-
withdrawalLimit: bigint;
|
|
2094
|
-
lastUpdateTimestamp: bigint;
|
|
2095
|
-
expandPercent: bigint;
|
|
2096
|
-
expandDuration: bigint;
|
|
2097
|
-
baseWithdrawalLimit: bigint;
|
|
2098
|
-
withdrawableUntilLimit: bigint;
|
|
2099
|
-
withdrawable: bigint;
|
|
2100
|
-
decayAmount: bigint;
|
|
2101
|
-
decayEndTimestamp: bigint;
|
|
2102
|
-
};
|
|
2103
|
-
/** A protocol's borrow position on the layer (`processUserBorrowData`). */
|
|
2104
|
-
declare function jlUserBorrowData(u: RawUserBorrow | undefined, o: Overall, balance: bigint, now: bigint): {
|
|
2105
|
-
modeWithInterest: boolean;
|
|
2106
|
-
borrow: bigint;
|
|
2107
|
-
borrowLimit: bigint;
|
|
2108
|
-
lastUpdateTimestamp: bigint;
|
|
2109
|
-
expandPercent: bigint;
|
|
2110
|
-
expandDuration: bigint;
|
|
2111
|
-
baseBorrowLimit: bigint;
|
|
2112
|
-
maxBorrowLimit: bigint;
|
|
2113
|
-
borrowLimitUtilization: bigint;
|
|
2114
|
-
borrowableUntilLimit: bigint;
|
|
2115
|
-
borrowable: bigint;
|
|
2116
|
-
};
|
|
2117
|
-
/** The vault's exchange prices advanced with the layer's (`updateExchangePrices`). */
|
|
2118
|
-
declare function jlVaultExchangePrices(s: RawVaultState, c: RawVaultConfig, liqSupplyEx: bigint, liqBorrowEx: bigint, now: bigint): {
|
|
2119
|
-
supplyEx: bigint;
|
|
2120
|
-
borrowEx: bigint;
|
|
2121
|
-
};
|
|
2122
|
-
/** Vault-internal (9-dec normalised) → base units of a `decimals` mint. */
|
|
2123
|
-
declare const jlVaultToRaw: (v: bigint, decimals: number) => bigint;
|
|
2124
|
-
interface JlOnchainVault {
|
|
2125
|
-
vault: JupiterLendVault;
|
|
2126
|
-
smartCol: boolean;
|
|
2127
|
-
smartDebt: boolean;
|
|
2128
|
-
/** The DEX behind a smart side, decoded (`token_0` / `token_1`). */
|
|
2129
|
-
supplyDex?: {
|
|
2130
|
-
address: string;
|
|
2131
|
-
token0: string;
|
|
2132
|
-
token1: string;
|
|
2133
|
-
};
|
|
2134
|
-
borrowDex?: {
|
|
2135
|
-
address: string;
|
|
2136
|
-
token0: string;
|
|
2137
|
-
token1: string;
|
|
2138
|
-
};
|
|
2139
|
-
slot: number;
|
|
2140
|
-
}
|
|
2141
|
-
interface ReadJlVaultsOptions {
|
|
2142
|
-
/** Known token facts by mint (the API's own `supplyToken` / `borrowToken` / earn `asset`) — symbol, logo and the USD price. */
|
|
2143
|
-
tokens?: {
|
|
2144
|
-
[mint: string]: JupiterLendToken;
|
|
2145
|
-
};
|
|
2146
|
-
/** Symbols / decimals for mints the API does not name. */
|
|
2147
|
-
tokenList?: {
|
|
2148
|
-
[mint: string]: {
|
|
2149
|
-
symbol?: string;
|
|
2150
|
-
name?: string;
|
|
2151
|
-
decimals?: number;
|
|
2152
|
-
logoURI?: unknown;
|
|
2153
|
-
};
|
|
2154
|
-
};
|
|
2155
|
-
/** Unix seconds "now" for the accrual (default: the clock). */
|
|
2156
|
-
now?: number;
|
|
2157
|
-
}
|
|
2158
|
-
/** `VaultAdmin.next_vault_id` — ids run 1 … next − 1. `undefined` when the admin cannot be read. */
|
|
2159
|
-
declare function readJlNextVaultId(rpc: SvmRpc, market?: JupiterLendMarket): Promise<number | undefined>;
|
|
2160
|
-
/**
|
|
2161
|
-
* Read `vaultIds` of `market` from the chain and shape each as the API's
|
|
2162
|
-
* `JupiterLendVault`, so the API path's converter serves it unchanged.
|
|
2163
|
-
* Three batched reads: config + state, then the layer accounts (reserves,
|
|
2164
|
-
* the vault's positions on the layer, mints, DEXes, the oracle), then the
|
|
2165
|
-
* reserves' token accounts (what can leave the layer now). An id with no config / state account is skipped.
|
|
2166
|
-
*/
|
|
2167
|
-
declare function readJupiterLendVaultsOnchain(rpc: SvmRpc, market: JupiterLendMarket, vaultIds: number[], opts?: ReadJlVaultsOptions): Promise<JlOnchainVault[]>;
|
|
2168
|
-
|
|
2169
2264
|
/**
|
|
2170
2265
|
* Save (ex-Solend) hosted API shapes — `api.save.finance` (the retired host
|
|
2171
2266
|
* `api.solend.fi` answers identically). Two routes carry everything the data
|
|
@@ -2347,12 +2442,21 @@ declare const SAVE_WAD: bigint;
|
|
|
2347
2442
|
declare const SAVE_U64_MAX = "18446744073709551615";
|
|
2348
2443
|
/**
|
|
2349
2444
|
* The program's slot-year: interest compounds `rate / 63,072,000` PER SLOT,
|
|
2350
|
-
* i.e. it assumes a 0.5 s slot.
|
|
2351
|
-
*
|
|
2445
|
+
* i.e. it assumes a 0.5 s slot. The wall-clock rate is `curve × 0.5 /
|
|
2446
|
+
* slotSeconds`, and the slot time MOVES: ~0.39–0.40 s through 2025 (×1.25),
|
|
2447
|
+
* 0.2665 s on 2026-10-03 (×1.88) — SAVE_FINANCE.md §3.2.
|
|
2352
2448
|
*/
|
|
2353
2449
|
declare const SAVE_SLOTS_PER_YEAR = 63072000;
|
|
2354
|
-
/**
|
|
2355
|
-
|
|
2450
|
+
/**
|
|
2451
|
+
* FALLBACK wall-clock slot time, used only when no measurement is passed
|
|
2452
|
+
* (`avgSlotSeconds`; `getLenderPublicDataAll` measures it with svm-kit
|
|
2453
|
+
* `measureSlotSeconds` whenever it has an rpc). 0.2665 s = the mean of 327
|
|
2454
|
+
* one-minute `getRecentPerformanceSamples` on 2026-10-03 (266.3–266.5 ms over
|
|
2455
|
+
* every sub-window). It was 0.4 until then — measured 0.393 s over the 441
|
|
2456
|
+
* days to 2026-09-16 — and that stale constant understated every Save rate by
|
|
2457
|
+
* a third once the chain sped up. Re-measure before trusting it.
|
|
2458
|
+
*/
|
|
2459
|
+
declare const SAVE_DEFAULT_AVG_SLOT_SECONDS = 0.2665;
|
|
2356
2460
|
/** Program constants (sdk/src/state/reserve.rs). */
|
|
2357
2461
|
declare const SAVE_LIQUIDATION_CLOSE_FACTOR = 0.2;
|
|
2358
2462
|
declare const SAVE_MAX_LIQUIDATABLE_VALUE_USD = 500000;
|
|
@@ -2412,8 +2516,9 @@ type SaveApi = ReturnType<typeof createSaveApi>;
|
|
|
2412
2516
|
* with `opt == 0 ⇒ min`. Supply = u × borrow × (1 − protocolTakeRate).
|
|
2413
2517
|
*
|
|
2414
2518
|
* Save's own SDK (`calculateBorrowInterest`) agrees to the digit on live
|
|
2415
|
-
* state; the hosted API's `rates` field does NOT (×1.61
|
|
2416
|
-
* is why the
|
|
2519
|
+
* state; the hosted API's `rates` field does NOT (×1.61 on 2026-09-16, mostly
|
|
2520
|
+
* a fresher slot time and APY quoting — SAVE_FINANCE.md §2), which is why the
|
|
2521
|
+
* row recomputes.
|
|
2417
2522
|
*/
|
|
2418
2523
|
declare function saveBorrowCurvePercent(c: Pick<SaveReserveConfigState, 'optimalUtilizationRate' | 'maxUtilizationRate' | 'minBorrowRate' | 'optimalBorrowRate' | 'maxBorrowRate' | 'superMaxBorrowRate'>, utilization: number): number;
|
|
2419
2524
|
/** `borrowedAmountWads / 1e18` in RAW token units (a bigint-exact division, then float). */
|
|
@@ -2439,7 +2544,8 @@ declare const wadsToFloat: (wads: bigint) => number;
|
|
|
2439
2544
|
*/
|
|
2440
2545
|
declare function saveUtilization(liquidity: SaveReserveAccount['liquidity']): number;
|
|
2441
2546
|
/**
|
|
2442
|
-
* The curve is denominated in a 0.5 s slot-year; the chain runs
|
|
2547
|
+
* The curve is denominated in a 0.5 s slot-year; the chain runs faster slots
|
|
2548
|
+
* (~0.27 s in 2026-10, ~0.4 s through 2025),
|
|
2443
2549
|
* so one wall-clock year contains `31,536,000 / avgSlot` slots and the rate a
|
|
2444
2550
|
* depositor actually sees is `curve × (that / 63,072,000)` = `curve × 0.5 / avgSlot`.
|
|
2445
2551
|
*/
|
|
@@ -2750,7 +2856,7 @@ interface FetchSavePublicOptions extends SaveApiOptions, SaveRosterOptions {
|
|
|
2750
2856
|
tokenList?: {
|
|
2751
2857
|
[mint: string]: GenericCurrency;
|
|
2752
2858
|
};
|
|
2753
|
-
/** Wall-clock slot
|
|
2859
|
+
/** Wall-clock seconds per slot the curve is scaled by — pass a MEASURED value (svm-kit `measureSlotSeconds`); the default is a dated constant. */
|
|
2754
2860
|
avgSlotSeconds?: number;
|
|
2755
2861
|
dropUnrealizable?: boolean;
|
|
2756
2862
|
/** Already-fetched configs (the user-data path and the action builders share them). */
|
|
@@ -3887,13 +3993,28 @@ type LoopscaleConfigEntry = Omit<ConfigEntry, 'collateralDisabled' | 'debtDisabl
|
|
|
3887
3993
|
debtDisabled: boolean;
|
|
3888
3994
|
openParameter?: LoopscaleOpenParameter;
|
|
3889
3995
|
};
|
|
3890
|
-
/** One `market_terms` row (yield-tracer reads `termId`, `durationDays`, `apr`). */
|
|
3996
|
+
/** One `market_terms` row (yield-tracer reads `termId`, `durationDays`, `apr`, `ladder`). */
|
|
3891
3997
|
interface LoopscaleMarketTerm {
|
|
3892
3998
|
termId: string;
|
|
3893
3999
|
durationDays: number;
|
|
3894
4000
|
durationSecs: number;
|
|
3895
4001
|
/** Best offer, percent APR. */
|
|
3896
4002
|
apr: number;
|
|
4003
|
+
/**
|
|
4004
|
+
* The tenor's OWN borrow ladder, cheapest first, in yield-tracer's
|
|
4005
|
+
* `market_terms.ladder` shape: `apr` percent, `assets` = what ONE strategy
|
|
4006
|
+
* can lend at that level, TOKEN units. `fill: 'single'` is the order-book
|
|
4007
|
+
* rule this venue has and Midnight does not: one ledger fills ONE
|
|
4008
|
+
* strategy, and a level's `sum` is that strategy's idle balance repeated on
|
|
4009
|
+
* every pair and tenor it quotes — so the rate at size S is the cheapest
|
|
4010
|
+
* level whose `assets ≥ S`, never a VWAP across levels, and depth is the
|
|
4011
|
+
* MAX, never the total.
|
|
4012
|
+
*/
|
|
4013
|
+
ladder: {
|
|
4014
|
+
apr: number;
|
|
4015
|
+
assets: number;
|
|
4016
|
+
fill: 'single';
|
|
4017
|
+
}[];
|
|
3897
4018
|
}
|
|
3898
4019
|
/**
|
|
3899
4020
|
* Structurally margin-fetcher's `FixedTermInfo` with `model: 'loopscale'`
|
|
@@ -6771,6 +6892,12 @@ interface JupiterPriceApiOptions extends HttpOptions {
|
|
|
6771
6892
|
apiKey?: string;
|
|
6772
6893
|
/** Mints per request. The API caps `ids` at 50. */
|
|
6773
6894
|
batchSize?: number;
|
|
6895
|
+
/**
|
|
6896
|
+
* Drop prices whose `liquidity` (USD, Jupiter's own field) is below this.
|
|
6897
|
+
* A long-tail mint can carry a price off a pool too thin to trade at it;
|
|
6898
|
+
* absent = keep every price, the behaviour the Exponent caller relies on.
|
|
6899
|
+
*/
|
|
6900
|
+
minLiquidityUsd?: number;
|
|
6774
6901
|
}
|
|
6775
6902
|
/**
|
|
6776
6903
|
* Jupiter's price feed, the price fetcher wired for Exponent.
|
|
@@ -9448,4 +9575,4 @@ declare function loopscaleTermAdapter(m: LoopscaleMarketMeta, term?: LoopscaleTe
|
|
|
9448
9575
|
*/
|
|
9449
9576
|
declare function project0TermAdapter(row: P0PoolData, group?: P0GroupMeta): DeepPartial<TermSheet>;
|
|
9450
9577
|
|
|
9451
|
-
export { type Base58, type BasketParams, type ConvertContext, type ConvertJupiterLendOptions, type ConvertLoopscaleOptions, type ConvertLoopscaleUserOptions, DEFAULT_ELEVATION_GROUP, type DecimalString, type DecodedStakePool, type Denomination, EXPONENT_API_BASE, EXPONENT_PROGRAMS, type EusxRate, type ExponentApi, type ExponentApiOptions, type ExponentAssetRef, type ExponentOriginRow, type ExponentPtMarket, type ExponentPtMarkets, type ExponentSyToken, type ExponentToken, type ExponentVault, FLUID_ORACLE_DECIMALS, FLUID_VAULT_TYPE_T1, type FetchExponentPtOptions, type FetchHumaVaultsOptions, type FetchJupiterLendPublicOptions, type FetchKaminoKvaultsOptions, type FetchKaminoPublicOptions, type FetchKaminoUserOnchainOptions, type FetchKaminoUserOptions, type FetchLenderAllOptions, type FetchLoopscaleEarnVaultsOptions, type FetchLoopscalePublicOptions, type FetchLoopscaleUserOptions, type FetchLstVaultsOptions, type FetchOraclePricesOptions, type FetchP0PublicOptions, type FetchP0UserOptions, type FetchSaveOracleOptions, type FetchSavePublicOptions, type FetchSaveUserOptions, type FetchSolsticeUserOptions, type FetchSolsticeVaultsOptions, type FetchUserAllOptions, type GetLenderPublicDataAllOptions, HUMA_CLASSIC_MODE_ID, HUMA_DECIMALS, HUMA_IDL, HUMA_MPST_MINT, HUMA_POOL, HUMA_PROGRAM, HUMA_PST_MINT, HUMA_REDEMPTION_REQUEST_SIZE, HUMA_REDEMPTION_SLA_SECONDS, HUMA_SEEDS, HttpError, type HttpOptions, type HumaChainState, type HumaConvertContext, type HumaInstantWithdrawalFeeConfig, type HumaLenderState, type HumaModeConfig, type HumaModeState, type HumaPoolConfig, type HumaPoolState, type HumaRedemptionGating, type HumaRedemptionRequest, type HumaVault, type HumaVaults, JL_BPS, JL_EXCHANGE_PRICES_PRECISION, JL_FACTOR_SCALE, JL_ORACLE_DECIMALS, JL_ORACLE_SCALE, JL_VAULTS_ACCOUNTS_IDL, JL_VAULT_AMOUNT_DECIMALS, JUPITER_LEND_API_BASE, JUPITER_LEND_KEYED_API_BASE, JUPITER_LEND_MARKETS, JUPITER_LEND_PROFILE_ID, JUPITER_LEND_PROGRAMS, JUPITER_PRICE_API_BASE, JUPITER_PRICE_KEYED_API_BASE, JUP_DEX_PROGRAM, JUP_FLASHLOAN_IDL, JUP_FLASHLOAN_PROGRAMS, JUP_LIQUIDITY_PROGRAMS, JUP_VAULTS_PROGRAMS, type JlOnchainVault, type JupFlashloanAdmin, type JupiterLendApi, type JupiterLendApiOptions, type JupiterLendBorrowPosition, type JupiterLendBundleParams, type JupiterLendConfigEntry, type JupiterLendConversion, type JupiterLendEarnPosition, type JupiterLendEarnToken, type JupiterLendEarnVault, type JupiterLendFluidSide, type JupiterLendFluidVault, type JupiterLendLiquidityBorrowData, type JupiterLendLiquiditySupplyData, type JupiterLendMarket, type JupiterLendMarketId, type JupiterLendOracleSource, type JupiterLendPoolData, type JupiterLendPublicResponse, type JupiterLendSkipReason, type JupiterLendToken, type JupiterLendUserExt, type JupiterLendUserResult, type JupiterLendVault, type JupiterLendVaultMeta, type JupiterPriceApiOptions, type JupiterPriceMap, KAMINO_API_BASE, KAMINO_MAIN_MARKET, KAMINO_MARKET_DENYLIST, KAMINO_MIN_MARKET_DEPOSITS_USD, KAMINO_OBLIGATION_TAGS, KAMINO_PRICE_AGREEMENT, KAMINO_PROFILE_ID, KLEND_COLLATERAL_MINT_DECIMALS, KLEND_IDL, KLEND_MARKET_SIZE, KLEND_OBLIGATION_DISCRIMINATOR, KLEND_OBLIGATION_OWNER_OFFSET, KLEND_OBLIGATION_SIZE, KLEND_PROGRAM_ID, KLEND_RESERVE_FLASH_SLICE, KLEND_RESERVE_SIZE, KLEND_RESERVE_SLICE, KLEND_U64_MAX, KVAULT_PROGRAM_ID, type KaminoApi, type KaminoApiOptions, type KaminoApiUserExt, type KaminoApyWindows, type KaminoBorrowReserveTerms, type KaminoCapBucket, type KaminoCollateralReserve, type KaminoCompoundMetadata, type KaminoConfigEntry, type KaminoKvault, type KaminoKvaultAllocation, type KaminoKvaultApi, type KaminoKvaultApiOptions, type KaminoKvaultEarnVault, type KaminoKvaultMetrics, type KaminoKvaultState, type KaminoLeveragePair, type KaminoLoanBorrow, type KaminoLoanDeposit, type KaminoLoanInfo, type KaminoMarketConfig, type KaminoMarketInputs, type KaminoMarketMeta, type KaminoMarketPrices, type KaminoModeContext, type KaminoObligation, type KaminoObligationLegs, type KaminoObligationView, type KaminoOnchainUserExt, type KaminoOracleEntryOptions, type KaminoOraclePrice, type KaminoOraclePriceMap, type KaminoPairIncentive, type KaminoPoolData, type KaminoPublicConversion, type KaminoPublicResponse, type KaminoRateBasis, type KaminoRateType, type KaminoReserveAccountData, type KaminoReserveExt, type KaminoReserveInputs, type KaminoReserveMetrics, type KaminoReserveMetricsDetail, type KaminoReserveRisk, type KaminoReserveState, type KaminoReserveStats, type KaminoReserveStatus, type KaminoRewardApy, type KaminoUserContext, type KaminoUserError, type KaminoUserObligationRef, type KaminoWithdrawalCapStats, type KaminoWithdrawalCapView, type KlendElevationGroupTerms, type KlendMarketChain, type KlendObligationReserves, type KlendReserveChain, type KlendReserveFlash, type KlendWithdrawalCap, LENDER_BRAND_NAMES, LOANS_PAGE, LOOPSCALE_ACCOUNT_DISCRIMINATORS, LOOPSCALE_API_BASE, LOOPSCALE_BEAM_ORACLE_PROGRAM_ID, LOOPSCALE_CONFIG_LABEL, LOOPSCALE_DOCS_URL, LOOPSCALE_GRACE_PERIOD_SECS, LOOPSCALE_IDL, LOOPSCALE_OPEN_LOANS, LOOPSCALE_PROFILE_ID, LOOPSCALE_PROGRAM_ID, LS_CBPS, LS_NO_ACCOUNT, LS_TENORS, LS_U64_MAX, type LayerTotals, type LenderBundle, type LenderPublicDataMap, type LenderPublicResponse, type LendingBasketMeta, type ListServedMarketsOptions, type LoopscaleApi, type LoopscaleApiOptions, type LoopscaleAssetData, type LoopscaleAssetTerms, type LoopscaleBestOffer, type LoopscaleCapMonitor, type LoopscaleCapsDecoded, type LoopscaleCollateralAccount, type LoopscaleConfigEntry, type LoopscaleConversion, type LoopscaleDuration, type LoopscaleDurationAndApy, type LoopscaleEarnVault, type LoopscaleExternalYieldInfo, type LoopscaleFixedTerm, type LoopscaleLadderLevel, type LoopscaleLedger, type LoopscaleLedgerAccount, type LoopscaleLedgerTerm, type LoopscaleLendingVaultInfo, type LoopscaleLoanAccount, type LoopscaleLoanBook, type LoopscaleLoanCollateral, type LoopscaleLoanDecoded, type LoopscaleLoanPiece, type LoopscaleLoanSummaryItem, type LoopscaleLoansRequest, type LoopscaleLoansResponse, type LoopscaleLoopInfo, type LoopscaleLoopsResponse, type LoopscaleMarketAsset, type LoopscaleMarketInfoDecoded, type LoopscaleMarketMeta, type LoopscaleMarketTerm, type LoopscaleMaxQuote, type LoopscaleMaxQuoteRequest, type LoopscaleMorphoMarket, type LoopscaleOfferingVault, type LoopscaleOpenParameter, type LoopscaleOracleRef, type LoopscalePair, type LoopscalePairBook, type LoopscalePieceLedger, type LoopscalePoolData, type LoopscalePrincipalCaps, type LoopscalePublicResponse, type LoopscaleQuoteOffer, type LoopscaleQuoteRequest, type LoopscaleRewardsSchedule, type LoopscaleRosterOptions, type LoopscaleStrategyAccount, type LoopscaleStrategyDecoded, type LoopscaleStrategyInfo, type LoopscaleStrategySummary, type LoopscaleStrategyTerms, type LoopscaleTerm, type LoopscaleTermId, type LoopscaleTotals, type LoopscaleUserExt, type LoopscaleUserLedger, type LoopscaleUserLoan, type LoopscaleUserPosition, type LoopscaleUserResult, type LoopscaleVaultAccount, type LoopscaleVaultMetadata, type LoopscaleVaultsRequest, type LoopscaleVaultsResponse, type LstConvertContext, type LstEarnVault, type LstEntry, type LstStakingApySource, type MarketOverrides, ORACLE_CANONICAL_SIZE, type OraclePriceEntry, type OraclePriceMap, type OriginJupiterLendMeta, type OriginJupiterLendRow, type OriginKaminoKvaultMeta, type OriginKaminoKvaultRow, type OriginLoopscaleMeta, type OriginLoopscaleRow, type OriginLstMeta, type OriginLstMetaAdditions, type OriginLstRow, type OriginSavingsMeta, type OriginSavingsRow, type OriginVaultCommon, type OriginVaultProvider, type OriginVaultRow, type OriginWithdrawalMode, type P0AccountView, type P0Api, type P0ApiOptions, type P0AssetTag, type P0Balance, type P0BalanceView, type P0Bank, type P0BankCache, type P0BankConfig, type P0BankDto, type P0BankExt, type P0BankInputs, type P0BankMeta, type P0BankMetaMap, type P0BankPrice, type P0BankRef, type P0CircuitBreakerState, type P0ConfigEntry, type P0ConvertContext, type P0EmodeEntry, type P0EmodeLift, type P0EmodeRoster, type P0EmodeSettings, type P0EmodeTag, type P0Group, type P0GroupInputs, type P0GroupMeta, type P0HealthCache, type P0Integration, type P0InterestRateConfig, type P0MarginfiAccount, type P0OnChainBankMeta, type P0OperationalState, type P0OracleSetup, type P0PoolData, type P0PriceMap, type P0PriceResolution, type P0PublicConversion, type P0PublicResponse, type P0RateLimitWindow, type P0RateLimiter, type P0RatePoint, type P0Rates, type P0RiskTier, type P0StateSemantics, type P0UnservedBalance, type P0UserExt, type P0UserResponse, type P0VenueMultiplier, type P0VenueMultiplierMap, P0_ACCOUNT_AUTHORITY_OFFSET, P0_ACCOUNT_FLAGS, P0_ACCOUNT_GROUP_OFFSET, P0_ADJUSTED_CACHE_SETUPS, P0_API_BASE, P0_ASSET_TAG, P0_BANK_CONFIG_PYTH_PUSH_MIGRATED, P0_BANK_DISCRIMINATOR, P0_BANK_FLAGS, P0_BANK_GROUP_OFFSET, P0_BANK_SIZE, P0_CACHED_PRICE_MULTIPLIER_SETUPS, P0_DEFAULT_LIQUIDATION_FEE, P0_EMODE_BASE_LABEL, P0_EMODE_ON, P0_GROUP_PROGRAM_FEES_ENABLED, P0_GROUP_SIZE, P0_I80F48_FRACTION_BITS, P0_IDL, P0_LIQUIDATION_CLOSEOUT_USD, P0_LOOKUP_TABLES, P0_MAIN_GROUP, P0_MARGINFI_ACCOUNT_DISCRIMINATOR, P0_MARGINFI_ACCOUNT_SIZE, P0_MAX_BALANCES, P0_MAX_EMODE_ENTRIES, P0_NATIVE_STAKE_LOOKUP_TABLES, P0_PAUSE_DURATION_SECONDS, P0_PROGRAM_ID, P0_PYTH_PUSH_SETUPS, P0_SECONDS_PER_YEAR, P0_SEEDS, P0_STAGING_GROUP, P0_STAGING_PROGRAM_ID, P0_STAKE_POOL_PROGRAMS, P0_SVSP_PHANTOM_TOKEN_AMOUNT, P0_U32_MAX, P0_U64_MAX, PROJECT_0_PROFILE_ID, PYTH_PRICE_UPDATE_V2_DISCRIMINATOR, PYTH_RECEIVER_PROGRAM, type PythPriceUpdate, type ReadJlVaultsOptions, type ResolveP0PricesOptions, type RewardsList, SAVE_API_BASE, SAVE_CREATOR, SAVE_DEFAULT_AVG_SLOT_SECONDS, SAVE_DEFAULT_OBLIGATION_PROBE, SAVE_FULL_LIQUIDATION_VALUE_USD, SAVE_INITIAL_EXCHANGE_RATE_WAD, SAVE_LIQUIDATION_CLOSE_FACTOR, SAVE_MAIN_MARKET, SAVE_MARKET_DENYLIST, SAVE_MAX_BONUS_PCT, SAVE_MAX_LIQUIDATABLE_VALUE_USD, SAVE_MAX_OBLIGATION_PROBE, SAVE_MAX_OBLIGATION_RESERVES, SAVE_NULL_ORACLE, SAVE_OBLIGATION_SIZE, SAVE_POSITION_LIMIT, SAVE_PROFILE_ID, SAVE_PROFILE_ID_PROSE, SAVE_PROGRAM_ID, SAVE_RESERVE_SIZE, SAVE_SLOTS_PER_YEAR, SAVE_U64_MAX, SAVE_UNBORROWABLE_BORROW_FACTOR, SAVE_WAD, SAVE_WALLET_POS_ID, SECONDS_PER_YEAR, SETTLEMENT_BATCH_SIZE, SOLANA_CHAIN_ID, SOLSTICE_APP_API_BASE, SOLSTICE_DECIMALS, SOLSTICE_MINTS, SOLSTICE_PRICE_DECIMALS, SOLSTICE_PROGRAMS, SOLSTICE_STRATEGIES, SOLSTICE_YIELD_STRATEGY_IDL, SOLSTICE_YIELD_VAULT_IDL, SPL_STAKE_POOL_LSTS, SPL_STAKE_POOL_PROGRAM, STABLECOIN_SYMBOLS, STAKE_ACCOUNT_RENT_EXEMPT_LAMPORTS, type SaveApi, type SaveApiOptions, type SaveCompoundV2Metadata, type SaveLastUpdate, type SaveLiquidityToken, type SaveMarketConfig, type SaveMarketInputs, type SaveMarketMeta, type SaveObligation, type SaveObligationBorrow, type SaveObligationDeposit, type SaveObligationView, type SavePoolData, type SavePublicConversion, type SavePublicResponse, type SaveRateLimiter, type SaveRates, type SaveReserveAccount, type SaveReserveCollateral, type SaveReserveConfig, type SaveReserveConfigState, type SaveReserveExt, type SaveReserveFees, type SaveReserveInputs, type SaveReserveLiquidity, type SaveReserveRef, type SaveReserveState, type SaveReservesResponse, type SaveRosterOptions, type SaveUnservedLeg, type SaveUserExt, type SaveUserResponse, type SaveWalletCTokenView, type ServedMarket, type SolanaPoolData, type SolanaSubAccountInfo, type SolanaUserPosition, type SolanaUserPositions, type SolanaUserResult, type SolsticeAccountingState, type SolsticeApiOptions, type SolsticeAppApi, type SolsticeChainState, type SolsticeController, type SolsticeConvertContext, type SolsticeCooldownEscrow, type SolsticeHolding, type SolsticeJuniorUnlockShare, type SolsticeOraclePrice, type SolsticePending, type SolsticeProtocolStats, type SolsticeSeniorUnlockCooldown, type SolsticeSettlementBatch, type SolsticeSettlementBatchView, type SolsticeStrategy, type SolsticeStrategyController, type SolsticeStrategyMode, type SolsticeStrategyName, type SolsticeStrategyPdas, type SolsticeUserPositions, type SolsticeVault, type SolsticeVaults, type SolsticeVestingSchedule, type SolsticeYieldPool, type SolsticeYieldVaultPdas, type StakePoolFee, type StructuredOraclePrices, TERM_PROFILES, type TokenListInput, type TrancheRates, type USDPriceMap, WSOL_MINT, type WireU64, type YieldProfile, accountDiscriminator, aggregateLoopscaleLoanBook, apyFractionToAprPercent, attributeBestOffer, attributeLoopscaleLoan, bigMax0, bpsToPercent, buildKaminoConfig, buildKaminoEModes, buildKaminoMarketMeta, buildLoopscaleRoster, buildLoopscaleTerms, buildP0EModes, buildSolsticeVaults, capOrUndefined, cbpsToFraction, cbpsToPercent, cbpsToWad, convertEusx, convertExponentVault, convertHumaPst, convertJupiterLendEarnToken, convertJupiterLendOracleEntries, convertJupiterLendUserPositions, convertJupiterLendVault, convertKaminoKvault, convertKaminoLoans, convertKaminoMarket, convertKaminoOraclePrices, convertKaminoReserve, convertLoopscalePair, convertLoopscaleUser, convertLoopscaleVault, convertLst, convertP0Bank, convertP0Group, convertSaveMarket, convertSaveReserve, convertTranche, createExponentApi, createJupiterLendApi, createKaminoApi, createKaminoKvaultApi, createLimiter, createLoopscaleApi, createMarketUid, createP0Api, createPacer, createSaveApi, createSolsticeAppApi, createWithSeed, decimalStringToI80F48, decimalStringToRaw, decodeAccountingState, decodeController, decodeCooldownEscrow, decodeHumaLenderState, decodeHumaModeConfig, decodeHumaPoolConfig, decodeHumaPoolState, decodeHumaRedemptionRequest, decodeJuniorUnlockShare, decodeJupFlashloanAdmin, decodeKaminoObligation, decodeKaminoReserveState, decodeLoopscaleLoan, decodeLoopscaleMarketInformation, decodeLoopscaleStrategy, decodeOracleCanonical, decodeP0Bank, decodeP0BankMetadata, decodeP0Group, decodeP0MarginfiAccount, decodePythPriceUpdate, decodeSaveObligation, decodeSeniorUnlockCooldown, decodeSettlementBatch, decodeStakePool, decodeStrategy, decodeStrategyController, decodeVestingSchedule, decodeYieldPool, denominationOf, deriveLayerTotals, deriveLoopscalePrices, deriveP0Mode, describeBasket, describeKaminoObligation, durationDays, epochRatePercent, epochRealizedApr, eusxAssetsToShares, eusxEpochRatePercent, eusxRate, eusxSharesToAssets, exchangeRateWad, exponentOriginRow, feeBps, fetchExponentPtMarkets, fetchHumaPstVaults, fetchJupiterLendEarnVaults, fetchJupiterLendOracleEntries, fetchJupiterLendPublic, fetchJupiterLendUser, fetchJupiterPrices, fetchKaminoKvaults, fetchKaminoOracleEntries, fetchKaminoOraclePrices, fetchKaminoPublic, fetchKaminoUser, fetchKaminoUserOnchain, fetchLenderAll, fetchLoopscaleEarnVaults, fetchLoopscaleLoanBook, fetchLoopscalePublic, fetchLoopscaleUser, fetchLstVaults, fetchOraclePrices, fetchProject0Public, fetchProject0User, fetchSaveOracleEntries, fetchSavePublic, fetchSaveUser, fetchSolsticeSettlementBatches, fetchSolsticeUser, fetchSolsticeVaults, fetchUserAll, formatRawUnits, getJson, getLenderPublicData, getLenderPublicDataAll, getLendersForChain, getTermProfile, humaDeploymentStatePda, humaLenderStatePda, humaModeConfigPda, humaModeMintPda, humaOriginRow, humaPoolAuthorityPda, humaPoolConfigPda, humaPoolStatePda, humaRedemptionRequestPda, i80f48ToDecimalString, i80f48ToNumber, isBorrowable, isJlSmartCol, isJlSmartDebt, isLenderBrand, isLiveVault, isNullKey, isP0FixedSetup, isP0U64Max, isSaveBorrowable, isSaveUnrealizable, isStablecoinSymbol, isStaleKaminoPrice, isSyntheticQuoteMint, isU64Max, isUncapped, jlLiquidityExchangePrices, jlOraclePriceInBorrow, jlOracleToFluidRaw, jlOverallTokenData, jlUserBorrowData, jlUserSupplyData, jlVaultAdminPda, jlVaultConfigPda, jlVaultExchangePrices, jlVaultStatePda, jlVaultToRaw, joinableBatch, juniorUnlockSharePda, jupFlashBorrowPosition, jupFlashloanAdmin, jupLiquidity, jupLiquidityReserve, jupLiquidityVault, jupRateModel, jupiterLendCurrency, jupiterLendOriginRow, jupiterLendTermAdapter, kaminoAsset, kaminoBorrowFactorToRow, kaminoCloseFactor, kaminoDefaultEntry, kaminoGroupLabel, kaminoKvaultOriginRow, kaminoOracleEntriesFromMarkets, kaminoRewards, kaminoRiskByReserve, kaminoTagLabel, kaminoTermAdapter, klendMarketAuthority, klendObligationPda, ledgerFaceAt, ledgerInterestAt, ledgerPrincipal, lenderBrandName, lenderDisplayName, liquidityRatio, listServedMarkets, loopscaleOriginRow, loopscaleTermAdapter, lstOriginRow, maxLeverageOf, mintSupply, normalizeP0BankDto, num, obligationPubkey, oracleCanonicalPda, p0BankMetadataPda, p0BankRef, p0CurveKnots, p0DecimalString, p0EmodeRoster, p0FeeState, p0GroupPausedAt, p0Integration, p0LegacyBaseRate, p0LiquidationFee, p0LiquidityVault, p0LiquidityVaultAuthority, p0MarginfiAccountPda, p0MultipointBaseRate, p0NeedsVenueMultiplier, p0Rates, p0StateSemantics, p0SupplyCapTokens, p0Utilization, parseExpirySeconds, pieceLqt, podBool, podDecimalToNumber, podToBigInt, podToNumber, postJson, project0TermAdapter, readEpochClock, readHumaChainState, readHumaLenderState, readHumaRedemptionRequests, readJlNextVaultId, readJupFlashAssets, readJupFlashAvailable, readJupFlashloanAdmin, readJupiterLendVaultsOnchain, readKlendElevationGroups, readKlendFlashFacts, readKlendLendingMarket, readKlendMarketState, readKlendObligationReserves, readKlendReserveChain, readKlendReserveFlash, readLoopscaleLoans, readLoopscaleMarketInformation, readP0BankMetadata, readP0Banks, readReserveLamports, readSolsticeChainState, readStakePools, registriesToRead, resolveP0Prices, sameDuration, saveAssetGroup, saveBorrowCurvePercent, saveBorrowedRaw, saveExchangeRateWad, saveLiquidationPenalty, saveObligationAddress, saveObligationSeed, saveRates, saveReserveRef, saveSlotYearScale, saveTermAdapter, saveTotalSupplyWads, saveUtilization, scaledToDecimal, scanP0Banks, selectAssetGroupPrices, selectSaveMarkets, seniorCooldownPdas, settlementBatchPdas, solsticeOriginRow, strategyMode, strategyNameOf, strategyPdas, strategyTvlRaw, tenorOf, termIdOf, toOriginVaultRow, tokenAmount, trancheAssetsToShares, trancheRates, trancheSharesToAssets, u32ToBasis, u32ToCenti, u32ToMilli, unvestedAt, valueKaminoObligations, wadToNumber, wadsToFloat, yieldVaultCooldownPdas, yieldVaultPdas };
|
|
9578
|
+
export { type Base58, type BasketParams, type ConvertContext, type ConvertJupiterLendOptions, type ConvertLoopscaleOptions, type ConvertLoopscaleUserOptions, DEFAULT_ELEVATION_GROUP, type DecimalString, type DecodedStakePool, type Denomination, EXPONENT_API_BASE, EXPONENT_PROGRAMS, type EusxRate, type ExponentApi, type ExponentApiOptions, type ExponentAssetRef, type ExponentOriginRow, type ExponentPtMarket, type ExponentPtMarkets, type ExponentSyToken, type ExponentToken, type ExponentVault, FLUID_ORACLE_DECIMALS, FLUID_VAULT_TYPE_T1, type FetchExponentPtOptions, type FetchHumaVaultsOptions, type FetchJupiterLendPublicOptions, type FetchKaminoKvaultsOptions, type FetchKaminoPublicOptions, type FetchKaminoUserOnchainOptions, type FetchKaminoUserOptions, type FetchLenderAllOptions, type FetchLoopscaleEarnVaultsOptions, type FetchLoopscalePublicOptions, type FetchLoopscaleUserOptions, type FetchLstVaultsOptions, type FetchOraclePricesOptions, type FetchP0PublicOptions, type FetchP0UserOptions, type FetchSaveOracleOptions, type FetchSavePublicOptions, type FetchSaveUserOptions, type FetchSolsticeUserOptions, type FetchSolsticeVaultsOptions, type FetchUserAllOptions, type GetLenderPublicDataAllOptions, HUMA_CLASSIC_MODE_ID, HUMA_DECIMALS, HUMA_IDL, HUMA_MPST_MINT, HUMA_POOL, HUMA_PROGRAM, HUMA_PST_MINT, HUMA_REDEMPTION_REQUEST_SIZE, HUMA_REDEMPTION_SLA_SECONDS, HUMA_SEEDS, HttpError, type HttpOptions, type HumaChainState, type HumaConvertContext, type HumaInstantWithdrawalFeeConfig, type HumaLenderState, type HumaModeConfig, type HumaModeState, type HumaPoolConfig, type HumaPoolState, type HumaRedemptionGating, type HumaRedemptionRequest, type HumaVault, type HumaVaults, JL_BPS, JL_EXCHANGE_PRICES_PRECISION, JL_FACTOR_SCALE, JL_ORACLE_DECIMALS, JL_ORACLE_SCALE, JL_VAULTS_ACCOUNTS_IDL, JL_VAULT_AMOUNT_DECIMALS, JUPITER_LEND_API_BASE, JUPITER_LEND_KEYED_API_BASE, JUPITER_LEND_MARKETS, JUPITER_LEND_PROFILE_ID, JUPITER_LEND_PROGRAMS, JUPITER_PRICE_API_BASE, JUPITER_PRICE_KEYED_API_BASE, JUP_DEX_PROGRAM, JUP_FLASHLOAN_IDL, JUP_FLASHLOAN_PROGRAMS, JUP_LIQUIDITY_PROGRAMS, JUP_VAULTS_PROGRAMS, type JlLayerIrm, type JlOnchainVault, type JupFlashloanAdmin, type JupiterLendApi, type JupiterLendApiOptions, type JupiterLendBorrowPosition, type JupiterLendBundleParams, type JupiterLendConfigEntry, type JupiterLendConversion, type JupiterLendEarnPosition, type JupiterLendEarnToken, type JupiterLendEarnVault, type JupiterLendFluidSide, type JupiterLendFluidVault, type JupiterLendLiquidityBorrowData, type JupiterLendLiquiditySupplyData, type JupiterLendMarket, type JupiterLendMarketId, type JupiterLendOracleSource, type JupiterLendPoolData, type JupiterLendPublicResponse, type JupiterLendSkipReason, type JupiterLendToken, type JupiterLendUserExt, type JupiterLendUserResult, type JupiterLendVault, type JupiterLendVaultMeta, type JupiterPriceApiOptions, type JupiterPriceMap, KAMINO_API_BASE, KAMINO_MAIN_MARKET, KAMINO_MARKET_DENYLIST, KAMINO_MIN_MARKET_DEPOSITS_USD, KAMINO_OBLIGATION_TAGS, KAMINO_PRICE_AGREEMENT, KAMINO_PROFILE_ID, KLEND_COLLATERAL_MINT_DECIMALS, KLEND_IDL, KLEND_MARKET_SIZE, KLEND_OBLIGATION_DISCRIMINATOR, KLEND_OBLIGATION_OWNER_OFFSET, KLEND_OBLIGATION_SIZE, KLEND_PROGRAM_ID, KLEND_RESERVE_FLASH_SLICE, KLEND_RESERVE_SIZE, KLEND_RESERVE_SLICE, KLEND_U64_MAX, KVAULT_PROGRAM_ID, type KaminoApi, type KaminoApiOptions, type KaminoApiUserExt, type KaminoApyWindows, type KaminoBorrowReserveTerms, type KaminoCapBucket, type KaminoCollateralReserve, type KaminoCompoundMetadata, type KaminoConfigEntry, type KaminoKvault, type KaminoKvaultAllocation, type KaminoKvaultApi, type KaminoKvaultApiOptions, type KaminoKvaultEarnVault, type KaminoKvaultMetrics, type KaminoKvaultState, type KaminoLeveragePair, type KaminoLoanBorrow, type KaminoLoanDeposit, type KaminoLoanInfo, type KaminoMarketConfig, type KaminoMarketInputs, type KaminoMarketMeta, type KaminoMarketPrices, type KaminoModeContext, type KaminoObligation, type KaminoObligationLegs, type KaminoObligationView, type KaminoOnchainUserExt, type KaminoOracleEntryOptions, type KaminoOraclePrice, type KaminoOraclePriceMap, type KaminoPairIncentive, type KaminoPoolData, type KaminoPublicConversion, type KaminoPublicResponse, type KaminoRateBasis, type KaminoRateType, type KaminoReserveAccountData, type KaminoReserveExt, type KaminoReserveInputs, type KaminoReserveMetrics, type KaminoReserveMetricsDetail, type KaminoReserveRisk, type KaminoReserveState, type KaminoReserveStats, type KaminoReserveStatus, type KaminoRewardApy, type KaminoUserContext, type KaminoUserError, type KaminoUserObligationRef, type KaminoWithdrawalCapStats, type KaminoWithdrawalCapView, type KlendElevationGroupTerms, type KlendMarketChain, type KlendObligationReserves, type KlendReserveChain, type KlendReserveFlash, type KlendWithdrawalCap, LENDER_BRAND_NAMES, LOANS_PAGE, LOOPSCALE_ACCOUNT_DISCRIMINATORS, LOOPSCALE_API_BASE, LOOPSCALE_BEAM_ORACLE_PROGRAM_ID, LOOPSCALE_CONFIG_LABEL, LOOPSCALE_DOCS_URL, LOOPSCALE_GRACE_PERIOD_SECS, LOOPSCALE_IDL, LOOPSCALE_OPEN_LOANS, LOOPSCALE_PROFILE_ID, LOOPSCALE_PROGRAM_ID, LS_CBPS, LS_NO_ACCOUNT, LS_TENORS, LS_U64_MAX, type LayerTotals, type LenderBundle, type LenderPublicDataMap, type LenderPublicResponse, type LendingBasketMeta, type ListServedMarketsOptions, type LoopscaleApi, type LoopscaleApiOptions, type LoopscaleAssetData, type LoopscaleAssetTerms, type LoopscaleBestOffer, type LoopscaleCapMonitor, type LoopscaleCapsDecoded, type LoopscaleCollateralAccount, type LoopscaleConfigEntry, type LoopscaleConversion, type LoopscaleDuration, type LoopscaleDurationAndApy, type LoopscaleEarnVault, type LoopscaleExternalYieldInfo, type LoopscaleFixedTerm, type LoopscaleLadderLevel, type LoopscaleLedger, type LoopscaleLedgerAccount, type LoopscaleLedgerTerm, type LoopscaleLendingVaultInfo, type LoopscaleLoanAccount, type LoopscaleLoanBook, type LoopscaleLoanCollateral, type LoopscaleLoanDecoded, type LoopscaleLoanPiece, type LoopscaleLoanSummaryItem, type LoopscaleLoansRequest, type LoopscaleLoansResponse, type LoopscaleLoopInfo, type LoopscaleLoopsResponse, type LoopscaleMarketAsset, type LoopscaleMarketInfoDecoded, type LoopscaleMarketMeta, type LoopscaleMarketTerm, type LoopscaleMaxQuote, type LoopscaleMaxQuoteRequest, type LoopscaleMorphoMarket, type LoopscaleOfferingVault, type LoopscaleOpenParameter, type LoopscaleOracleRef, type LoopscalePair, type LoopscalePairBook, type LoopscalePieceLedger, type LoopscalePoolData, type LoopscalePrincipalCaps, type LoopscalePublicResponse, type LoopscaleQuoteOffer, type LoopscaleQuoteRequest, type LoopscaleRewardsSchedule, type LoopscaleRosterOptions, type LoopscaleStrategyAccount, type LoopscaleStrategyDecoded, type LoopscaleStrategyInfo, type LoopscaleStrategySummary, type LoopscaleStrategyTerms, type LoopscaleTerm, type LoopscaleTermId, type LoopscaleTotals, type LoopscaleUserExt, type LoopscaleUserLedger, type LoopscaleUserLoan, type LoopscaleUserPosition, type LoopscaleUserResult, type LoopscaleVaultAccount, type LoopscaleVaultMetadata, type LoopscaleVaultsRequest, type LoopscaleVaultsResponse, type LstConvertContext, type LstEarnVault, type LstEntry, type LstStakingApySource, type MarketOverrides, ORACLE_CANONICAL_SIZE, type OraclePriceEntry, type OraclePriceMap, type OriginJupiterLendMeta, type OriginJupiterLendRow, type OriginKaminoKvaultMeta, type OriginKaminoKvaultRow, type OriginLoopscaleMeta, type OriginLoopscaleRow, type OriginLstMeta, type OriginLstMetaAdditions, type OriginLstRow, type OriginSavingsMeta, type OriginSavingsRow, type OriginVaultCommon, type OriginVaultProvider, type OriginVaultRow, type OriginWithdrawalMode, type P0AccountView, type P0Api, type P0ApiOptions, type P0AssetTag, type P0Balance, type P0BalanceView, type P0Bank, type P0BankCache, type P0BankConfig, type P0BankDto, type P0BankExt, type P0BankInputs, type P0BankMeta, type P0BankMetaMap, type P0BankPrice, type P0BankRef, type P0CircuitBreakerState, type P0ConfigEntry, type P0ConvertContext, type P0EmodeEntry, type P0EmodeLift, type P0EmodeRoster, type P0EmodeSettings, type P0EmodeTag, type P0Group, type P0GroupInputs, type P0GroupMeta, type P0HealthCache, type P0Integration, type P0InterestRateConfig, type P0MarginfiAccount, type P0OnChainBankMeta, type P0OperationalState, type P0OracleSetup, type P0PoolData, type P0PriceMap, type P0PriceResolution, type P0PublicConversion, type P0PublicResponse, type P0RateLimitWindow, type P0RateLimiter, type P0RatePoint, type P0Rates, type P0RiskTier, type P0StateSemantics, type P0UnservedBalance, type P0UserExt, type P0UserResponse, type P0VenueMultiplier, type P0VenueMultiplierMap, P0_ACCOUNT_AUTHORITY_OFFSET, P0_ACCOUNT_FLAGS, P0_ACCOUNT_GROUP_OFFSET, P0_ADJUSTED_CACHE_SETUPS, P0_API_BASE, P0_ASSET_TAG, P0_BANK_CONFIG_PYTH_PUSH_MIGRATED, P0_BANK_DISCRIMINATOR, P0_BANK_FLAGS, P0_BANK_GROUP_OFFSET, P0_BANK_SIZE, P0_CACHED_PRICE_MULTIPLIER_SETUPS, P0_DEFAULT_LIQUIDATION_FEE, P0_EMODE_BASE_LABEL, P0_EMODE_ON, P0_GROUP_PROGRAM_FEES_ENABLED, P0_GROUP_SIZE, P0_I80F48_FRACTION_BITS, P0_IDL, P0_LIQUIDATION_CLOSEOUT_USD, P0_LOOKUP_TABLES, P0_MAIN_GROUP, P0_MARGINFI_ACCOUNT_DISCRIMINATOR, P0_MARGINFI_ACCOUNT_SIZE, P0_MAX_BALANCES, P0_MAX_EMODE_ENTRIES, P0_NATIVE_STAKE_LOOKUP_TABLES, P0_PAUSE_DURATION_SECONDS, P0_PROGRAM_ID, P0_PYTH_PUSH_SETUPS, P0_SECONDS_PER_YEAR, P0_SEEDS, P0_STAGING_GROUP, P0_STAGING_PROGRAM_ID, P0_STAKE_POOL_PROGRAMS, P0_SVSP_PHANTOM_TOKEN_AMOUNT, P0_U32_MAX, P0_U64_MAX, PROJECT_0_PROFILE_ID, PYTH_PRICE_UPDATE_V2_DISCRIMINATOR, PYTH_RECEIVER_PROGRAM, type PythPriceUpdate, type ReadJlVaultsOptions, type ResolveP0PricesOptions, type RewardsList, SAVE_API_BASE, SAVE_CREATOR, SAVE_DEFAULT_AVG_SLOT_SECONDS, SAVE_DEFAULT_OBLIGATION_PROBE, SAVE_FULL_LIQUIDATION_VALUE_USD, SAVE_INITIAL_EXCHANGE_RATE_WAD, SAVE_LIQUIDATION_CLOSE_FACTOR, SAVE_MAIN_MARKET, SAVE_MARKET_DENYLIST, SAVE_MAX_BONUS_PCT, SAVE_MAX_LIQUIDATABLE_VALUE_USD, SAVE_MAX_OBLIGATION_PROBE, SAVE_MAX_OBLIGATION_RESERVES, SAVE_NULL_ORACLE, SAVE_OBLIGATION_SIZE, SAVE_POSITION_LIMIT, SAVE_PROFILE_ID, SAVE_PROFILE_ID_PROSE, SAVE_PROGRAM_ID, SAVE_RESERVE_SIZE, SAVE_SLOTS_PER_YEAR, SAVE_U64_MAX, SAVE_UNBORROWABLE_BORROW_FACTOR, SAVE_WAD, SAVE_WALLET_POS_ID, SECONDS_PER_YEAR, SETTLEMENT_BATCH_SIZE, SOLANA_CHAIN_ID, SOLSTICE_APP_API_BASE, SOLSTICE_DECIMALS, SOLSTICE_MINTS, SOLSTICE_PRICE_DECIMALS, SOLSTICE_PROGRAMS, SOLSTICE_STRATEGIES, SOLSTICE_YIELD_STRATEGY_IDL, SOLSTICE_YIELD_VAULT_IDL, SPL_STAKE_POOL_LSTS, SPL_STAKE_POOL_PROGRAM, STABLECOIN_SYMBOLS, STAKE_ACCOUNT_RENT_EXEMPT_LAMPORTS, type SaveApi, type SaveApiOptions, type SaveCompoundV2Metadata, type SaveLastUpdate, type SaveLiquidityToken, type SaveMarketConfig, type SaveMarketInputs, type SaveMarketMeta, type SaveObligation, type SaveObligationBorrow, type SaveObligationDeposit, type SaveObligationView, type SavePoolData, type SavePublicConversion, type SavePublicResponse, type SaveRateLimiter, type SaveRates, type SaveReserveAccount, type SaveReserveCollateral, type SaveReserveConfig, type SaveReserveConfigState, type SaveReserveExt, type SaveReserveFees, type SaveReserveInputs, type SaveReserveLiquidity, type SaveReserveRef, type SaveReserveState, type SaveReservesResponse, type SaveRosterOptions, type SaveUnservedLeg, type SaveUserExt, type SaveUserResponse, type SaveWalletCTokenView, type ServedMarket, type SolanaPoolData, type SolanaSubAccountInfo, type SolanaUserPosition, type SolanaUserPositions, type SolanaUserResult, type SolsticeAccountingState, type SolsticeApiOptions, type SolsticeAppApi, type SolsticeChainState, type SolsticeController, type SolsticeConvertContext, type SolsticeCooldownEscrow, type SolsticeHolding, type SolsticeJuniorUnlockShare, type SolsticeOraclePrice, type SolsticePending, type SolsticeProtocolStats, type SolsticeSeniorUnlockCooldown, type SolsticeSettlementBatch, type SolsticeSettlementBatchView, type SolsticeStrategy, type SolsticeStrategyController, type SolsticeStrategyMode, type SolsticeStrategyName, type SolsticeStrategyPdas, type SolsticeUserPositions, type SolsticeVault, type SolsticeVaults, type SolsticeVestingSchedule, type SolsticeYieldPool, type SolsticeYieldVaultPdas, type StakePoolFee, type StructuredOraclePrices, TERM_PROFILES, type TokenListInput, type TrancheRates, type USDPriceMap, WSOL_MINT, type WireU64, type YieldProfile, accountDiscriminator, aggregateLoopscaleLoanBook, apyFractionToAprPercent, attributeBestOffer, attributeLoopscaleLoan, bigMax0, bpsToPercent, buildKaminoConfig, buildKaminoEModes, buildKaminoMarketMeta, buildLoopscaleRoster, buildLoopscaleTerms, buildP0EModes, buildSolsticeVaults, capOrUndefined, cbpsToFraction, cbpsToPercent, cbpsToWad, convertEusx, convertExponentVault, convertHumaPst, convertJupiterLendEarnToken, convertJupiterLendOracleEntries, convertJupiterLendUserPositions, convertJupiterLendVault, convertKaminoKvault, convertKaminoLoans, convertKaminoMarket, convertKaminoOraclePrices, convertKaminoReserve, convertLoopscalePair, convertLoopscaleUser, convertLoopscaleVault, convertLst, convertP0Bank, convertP0Group, convertSaveMarket, convertSaveReserve, convertTranche, createExponentApi, createJupiterLendApi, createKaminoApi, createKaminoKvaultApi, createLimiter, createLoopscaleApi, createMarketUid, createP0Api, createPacer, createSaveApi, createSolsticeAppApi, createWithSeed, decimalStringToI80F48, decimalStringToRaw, decodeAccountingState, decodeController, decodeCooldownEscrow, decodeHumaLenderState, decodeHumaModeConfig, decodeHumaPoolConfig, decodeHumaPoolState, decodeHumaRedemptionRequest, decodeJlRateModel, decodeJuniorUnlockShare, decodeJupFlashloanAdmin, decodeKaminoObligation, decodeKaminoReserveState, decodeLoopscaleLoan, decodeLoopscaleMarketInformation, decodeLoopscaleStrategy, decodeOracleCanonical, decodeP0Bank, decodeP0BankMetadata, decodeP0Group, decodeP0MarginfiAccount, decodePythPriceUpdate, decodeSaveObligation, decodeSeniorUnlockCooldown, decodeSettlementBatch, decodeStakePool, decodeStrategy, decodeStrategyController, decodeVestingSchedule, decodeYieldPool, denominationOf, deriveLayerTotals, deriveLoopscalePrices, deriveP0Mode, describeBasket, describeKaminoObligation, durationDays, epochRatePercent, epochRealizedApr, eusxAssetsToShares, eusxEpochRatePercent, eusxRate, eusxSharesToAssets, exchangeRateWad, exponentOriginRow, feeBps, fetchExponentPtMarkets, fetchHumaPstVaults, fetchJupiterLendEarnVaults, fetchJupiterLendOracleEntries, fetchJupiterLendPublic, fetchJupiterLendUser, fetchJupiterPrices, fetchKaminoKvaults, fetchKaminoOracleEntries, fetchKaminoOraclePrices, fetchKaminoPublic, fetchKaminoUser, fetchKaminoUserOnchain, fetchLenderAll, fetchLoopscaleEarnVaults, fetchLoopscaleLoanBook, fetchLoopscalePublic, fetchLoopscaleUser, fetchLstVaults, fetchOraclePrices, fetchProject0Public, fetchProject0User, fetchSaveOracleEntries, fetchSavePublic, fetchSaveUser, fetchSolsticeSettlementBatches, fetchSolsticeUser, fetchSolsticeVaults, fetchUserAll, formatRawUnits, getJson, getLenderPublicData, getLenderPublicDataAll, getLendersForChain, getTermProfile, humaDeploymentStatePda, humaLenderStatePda, humaModeConfigPda, humaModeMintPda, humaOriginRow, humaPoolAuthorityPda, humaPoolConfigPda, humaPoolStatePda, humaRedemptionRequestPda, i80f48ToDecimalString, i80f48ToNumber, isBorrowable, isJlSmartCol, isJlSmartDebt, isLenderBrand, isLiveVault, isNullKey, isP0FixedSetup, isP0U64Max, isSaveBorrowable, isSaveUnrealizable, isStablecoinSymbol, isStaleKaminoPrice, isSyntheticQuoteMint, isU64Max, isUncapped, jlLiquidityExchangePrices, jlOraclePriceInBorrow, jlOracleToFluidRaw, jlOverallTokenData, jlUserBorrowData, jlUserSupplyData, jlVaultAdminPda, jlVaultConfigPda, jlVaultExchangePrices, jlVaultStatePda, jlVaultToRaw, joinableBatch, juniorUnlockSharePda, jupFlashBorrowPosition, jupFlashloanAdmin, jupLiquidity, jupLiquidityReserve, jupLiquidityVault, jupRateModel, jupiterLendCurrency, jupiterLendOriginRow, jupiterLendTermAdapter, kaminoAsset, kaminoBorrowFactorToRow, kaminoCloseFactor, kaminoDefaultEntry, kaminoGroupLabel, kaminoKvaultOriginRow, kaminoOracleEntriesFromMarkets, kaminoRewards, kaminoRiskByReserve, kaminoTagLabel, kaminoTermAdapter, klendMarketAuthority, klendObligationPda, ledgerFaceAt, ledgerInterestAt, ledgerPrincipal, lenderBrandName, lenderDisplayName, liquidityRatio, listServedMarkets, loopscaleOriginRow, loopscaleTermAdapter, lstOriginRow, maxLeverageOf, mintSupply, normalizeP0BankDto, num, obligationPubkey, oracleCanonicalPda, p0BankMetadataPda, p0BankRef, p0CurveKnots, p0DecimalString, p0EmodeRoster, p0FeeState, p0GroupPausedAt, p0Integration, p0LegacyBaseRate, p0LiquidationFee, p0LiquidityVault, p0LiquidityVaultAuthority, p0MarginfiAccountPda, p0MultipointBaseRate, p0NeedsVenueMultiplier, p0Rates, p0StateSemantics, p0SupplyCapTokens, p0Utilization, parseExpirySeconds, pieceLqt, podBool, podDecimalToNumber, podToBigInt, podToNumber, postJson, project0TermAdapter, readEpochClock, readHumaChainState, readHumaLenderState, readHumaRedemptionRequests, readJlLayerIrms, readJlNextVaultId, readJupFlashAssets, readJupFlashAvailable, readJupFlashloanAdmin, readJupiterLendVaultsOnchain, readKlendElevationGroups, readKlendFlashFacts, readKlendLendingMarket, readKlendMarketState, readKlendObligationReserves, readKlendReserveChain, readKlendReserveFlash, readLoopscaleLoans, readLoopscaleMarketInformation, readP0BankMetadata, readP0Banks, readReserveLamports, readSolsticeChainState, readStakePools, registriesToRead, resolveP0Prices, sameDuration, saveAssetGroup, saveBorrowCurvePercent, saveBorrowedRaw, saveExchangeRateWad, saveLiquidationPenalty, saveObligationAddress, saveObligationSeed, saveRates, saveReserveRef, saveSlotYearScale, saveTermAdapter, saveTotalSupplyWads, saveUtilization, scaledToDecimal, scanP0Banks, selectAssetGroupPrices, selectSaveMarkets, seniorCooldownPdas, settlementBatchPdas, solsticeOriginRow, strategyMode, strategyNameOf, strategyPdas, strategyTvlRaw, tenorOf, termIdOf, toOriginVaultRow, tokenAmount, trancheAssetsToShares, trancheRates, trancheSharesToAssets, u32ToBasis, u32ToCenti, u32ToMilli, unvestedAt, valueKaminoObligations, wadToNumber, wadsToFloat, yieldVaultCooldownPdas, yieldVaultPdas };
|