@1delta/margin-fetcher 0.0.223 → 0.0.224
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +61 -18
- package/dist/index.js.map +1 -1
- package/dist/lending/public-data/aave-v2-type/publicCallParse.d.ts.map +1 -1
- package/dist/lending/public-data/aave-v3-type/publicCallParse.d.ts.map +1 -1
- package/dist/lending/public-data/aave-v4-type/fetcher/normalize.d.ts +8 -0
- package/dist/lending/public-data/aave-v4-type/fetcher/normalize.d.ts.map +1 -1
- package/dist/lending/public-data/compound-v2/convert/benqi.d.ts +1 -0
- package/dist/lending/public-data/compound-v2/convert/benqi.d.ts.map +1 -1
- package/dist/lending/public-data/compound-v2/convert/standard.d.ts +1 -0
- package/dist/lending/public-data/compound-v2/convert/standard.d.ts.map +1 -1
- package/dist/lending/public-data/compound-v2/convert/sumer.d.ts +1 -0
- package/dist/lending/public-data/compound-v2/convert/sumer.d.ts.map +1 -1
- package/dist/lending/public-data/compound-v2/convert/takara.d.ts +1 -0
- package/dist/lending/public-data/compound-v2/convert/takara.d.ts.map +1 -1
- package/dist/lending/public-data/compound-v2/convert/tectonic.d.ts +1 -0
- package/dist/lending/public-data/compound-v2/convert/tectonic.d.ts.map +1 -1
- package/dist/lending/public-data/compound-v3/publicCallParse.d.ts.map +1 -1
- package/dist/lending/public-data/euler/fetcher/normalize.d.ts +2 -0
- package/dist/lending/public-data/euler/fetcher/normalize.d.ts.map +1 -1
- package/dist/lending/public-data/init/publicCallParse.d.ts.map +1 -1
- package/dist/lending/public-data/lista/getMarketsFromChain.d.ts.map +1 -1
- package/dist/lending/public-data/morpho/convertPublic.d.ts.map +1 -1
- package/dist/lending/public-data/morpho/getMarketsFromChain.d.ts.map +1 -1
- package/dist/lending/user-data/summary/types.d.ts +2 -1
- package/dist/lending/user-data/summary/types.d.ts.map +1 -1
- package/dist/lending/user-data/utils/types.d.ts +7 -0
- package/dist/lending/user-data/utils/types.d.ts.map +1 -1
- package/dist/types/apiReturnType.d.ts +2 -0
- package/dist/types/apiReturnType.d.ts.map +1 -1
- package/dist/types/lender/aave-v2-types.d.ts +2 -0
- package/dist/types/lender/aave-v2-types.d.ts.map +1 -1
- package/dist/types/lender/aave-v3-types.d.ts +2 -0
- package/dist/types/lender/aave-v3-types.d.ts.map +1 -1
- package/dist/types/lender/compound-v2-types.d.ts +2 -0
- package/dist/types/lender/compound-v2-types.d.ts.map +1 -1
- package/dist/types/lender/init-types.d.ts +2 -0
- package/dist/types/lender/init-types.d.ts.map +1 -1
- package/dist/types/lender/morpho-types.d.ts +2 -0
- package/dist/types/lender/morpho-types.d.ts.map +1 -1
- package/dist/utils/parsing.d.ts +6 -0
- package/dist/utils/parsing.d.ts.map +1 -1
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export { computeEModeAnalysis } from './lending/margin/e-mode';
|
|
|
13
13
|
export type { EModeResult, EModeAssets } from './lending/margin/e-mode';
|
|
14
14
|
export type { LoopPostTradeMetrics, LendingMode } from './lending/margin/loop';
|
|
15
15
|
export type { SumerPositionInput, GroupAccumulator, } from './lending/margin/base';
|
|
16
|
-
export type { LenderYieldComplete, LenderCrossPoolMeta, LenderToLenderCrossPoolMeta, CompoundV2Metadata, AaveMetadata, InitMetadata, EulerV2Metadata, ProtocolParams, } from './lending/user-data/utils/types';
|
|
16
|
+
export type { LenderYieldComplete, LenderCrossPoolMeta, LenderToLenderCrossPoolMeta, LenderInfo, LenderInfoMap, CompoundV2Metadata, AaveMetadata, InitMetadata, EulerV2Metadata, ProtocolParams, } from './lending/user-data/utils/types';
|
|
17
17
|
export { computeSumerWaterfall, buildSumerAccumulators, applyPositionDelta, } from './lending/margin/base/sumer/waterfall';
|
|
18
18
|
export { computeSumerDepositDelta, computeSumerWithdrawDelta, computeSumerBorrowDelta, computeSumerRepayDelta, } from './lending/margin/base/sumer';
|
|
19
19
|
export { fetchEulerSubAccountIndexes, getSubAccountAddress, getSubAccountIndex, } from './lending/user-data/euler/userCallBuild';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -8047,6 +8047,13 @@ var zeroAddress = "0x0000000000000000000000000000000000000000";
|
|
|
8047
8047
|
|
|
8048
8048
|
// src/utils/parsing.ts
|
|
8049
8049
|
var BPS = 1e4;
|
|
8050
|
+
var computeUtilization = (totalDeposits, totalDebt, totalDebtStable = 0) => {
|
|
8051
|
+
const supply = Number(totalDeposits);
|
|
8052
|
+
if (!Number.isFinite(supply) || supply <= 0) return 0;
|
|
8053
|
+
const debt = Number(totalDebt) + Number(totalDebtStable || 0);
|
|
8054
|
+
if (!Number.isFinite(debt) || debt <= 0) return 0;
|
|
8055
|
+
return debt / supply;
|
|
8056
|
+
};
|
|
8050
8057
|
var parseRawAmount = (answer, decimals = 18) => {
|
|
8051
8058
|
if (!answer || answer === "0x") return "0";
|
|
8052
8059
|
try {
|
|
@@ -8184,6 +8191,11 @@ var getAaveV2ReservesDataConverter = (lender, chainId, prices, additionalYields,
|
|
|
8184
8191
|
totalDebtStableUSD: Number(totalStableDebt) * price,
|
|
8185
8192
|
totalDebtUSD,
|
|
8186
8193
|
totalLiquidityUSD: liquidity * price,
|
|
8194
|
+
utilization: computeUtilization(
|
|
8195
|
+
totalAToken,
|
|
8196
|
+
totalVariableDebt,
|
|
8197
|
+
totalStableDebt
|
|
8198
|
+
),
|
|
8187
8199
|
// rates
|
|
8188
8200
|
depositRate: formatAaveRawApyToApr(
|
|
8189
8201
|
reserveData?.[3 /* liquidityRate */]?.toString()
|
|
@@ -8347,6 +8359,11 @@ var getAaveV3ReservesDataConverter = (lender, chainId, prices, additionalYields,
|
|
|
8347
8359
|
totalDebtStableUSD: Number(totalDebtStable) * price,
|
|
8348
8360
|
totalDebtUSD: Number(totalDebt) * price,
|
|
8349
8361
|
totalLiquidityUSD: liquidity * price,
|
|
8362
|
+
utilization: computeUtilization(
|
|
8363
|
+
totalDeposits,
|
|
8364
|
+
totalDebt,
|
|
8365
|
+
totalDebtStable
|
|
8366
|
+
),
|
|
8350
8367
|
// rates
|
|
8351
8368
|
depositRate: formatAaveRawApyToApr(
|
|
8352
8369
|
reserveData?.[5 /* liquidityRate */]?.toString()
|
|
@@ -8555,6 +8572,7 @@ function parseYLDRCall(chainId, lender, additionalYields, prices, tokenList) {
|
|
|
8555
8572
|
totalDebtStableUSD: 0,
|
|
8556
8573
|
totalDebtUSD,
|
|
8557
8574
|
totalLiquidityUSD: liquidity * price,
|
|
8575
|
+
utilization: computeUtilization(totalAToken, totalVariableDebt),
|
|
8558
8576
|
// rates
|
|
8559
8577
|
depositRate: formatAaveRawApyToApr(
|
|
8560
8578
|
reserveData?.[3 /* liquidityRate */]?.toString()
|
|
@@ -8693,6 +8711,11 @@ function parseAave32(chainId, lender, prices, additionalYields, tokenList) {
|
|
|
8693
8711
|
totalDebtStableUSD: Number(totalDebtStable) * price,
|
|
8694
8712
|
totalDebtUSD: Number(totalDebt) * price,
|
|
8695
8713
|
totalLiquidityUSD: liquidity * price,
|
|
8714
|
+
utilization: computeUtilization(
|
|
8715
|
+
totalDeposits,
|
|
8716
|
+
totalDebt,
|
|
8717
|
+
totalDebtStable
|
|
8718
|
+
),
|
|
8696
8719
|
// rates
|
|
8697
8720
|
depositRate: formatAaveRawApyToApr(
|
|
8698
8721
|
reserveData?.[5 /* liquidityRate */]?.toString()
|
|
@@ -8829,6 +8852,7 @@ var getInitReservesDataConverter = (lender, chainId, prices, additionalYields, t
|
|
|
8829
8852
|
totalDebtUSD: price * Number(totalDebt),
|
|
8830
8853
|
totalLiquidity: liquidity,
|
|
8831
8854
|
totalLiquidityUSD: liquidity * price,
|
|
8855
|
+
utilization: computeUtilization(totalDeposits, totalDebt),
|
|
8832
8856
|
depositRate: convertRateToApr(
|
|
8833
8857
|
Number(parseRawAmount(dat?.supplyRate.toString(), 18))
|
|
8834
8858
|
),
|
|
@@ -9030,9 +9054,13 @@ var getCompoundV3ReservesDataConverter = (lender, chainId, prices, additionalYie
|
|
|
9030
9054
|
variableBorrowRate: Number(resultsInterest[0 /* borrowRate */]) / SECONDS_PER_YEAR / 10,
|
|
9031
9055
|
depositRate: Number(resultsInterest[1 /* supplyRate */]) / SECONDS_PER_YEAR / 10,
|
|
9032
9056
|
stableBorrowRate: 0,
|
|
9033
|
-
utilization
|
|
9034
|
-
|
|
9035
|
-
|
|
9057
|
+
// Comet returns utilization scaled by 1e18; surface as a 0..1 number
|
|
9058
|
+
// to match the canonical PoolData shape (and the other lender outputs).
|
|
9059
|
+
utilization: Number(
|
|
9060
|
+
parseRawAmount(
|
|
9061
|
+
resultsInterest[2 /* utilization */].toString(),
|
|
9062
|
+
COMET_RISK_DECIMALS
|
|
9063
|
+
)
|
|
9036
9064
|
),
|
|
9037
9065
|
totalLiquidity: liquidity,
|
|
9038
9066
|
totalLiquidityUSD: liquidity * price,
|
|
@@ -12146,6 +12174,7 @@ function convertMarketsToMorphoResponse(response, chainId, additionalYields = {
|
|
|
12146
12174
|
const meta = tokens[loanAssetAddress] ?? loanAsset;
|
|
12147
12175
|
const totalDeposits = formatNr(state.supplyAssets, loanAsset.decimals);
|
|
12148
12176
|
const totalDebt = formatNr(state.borrowAssets, loanAsset.decimals);
|
|
12177
|
+
const utilization = totalDeposits > 0 ? totalDebt / totalDeposits : 0;
|
|
12149
12178
|
const loanMarketUid = createMarketUid(chainId, m, loanAssetAddress);
|
|
12150
12179
|
data[m].data[loanMarketUid] = {
|
|
12151
12180
|
marketUid: loanMarketUid,
|
|
@@ -12161,6 +12190,7 @@ function convertMarketsToMorphoResponse(response, chainId, additionalYields = {
|
|
|
12161
12190
|
totalLiquidity: totalDeposits - totalDebt,
|
|
12162
12191
|
totalLiquidityUSD: Number(state.supplyAssetsUsd) - Number(state.borrowAssetsUsd),
|
|
12163
12192
|
totalDebtUSD: Number(state.borrowAssetsUsd),
|
|
12193
|
+
utilization,
|
|
12164
12194
|
depositRate: apyToApr2(Number(state.supplyApy)) * 100,
|
|
12165
12195
|
variableBorrowRate: apyToApr2(Number(state.borrowApy)) * 100,
|
|
12166
12196
|
stableBorrowRate: 0,
|
|
@@ -12212,6 +12242,7 @@ function convertMarketsToMorphoResponse(response, chainId, additionalYields = {
|
|
|
12212
12242
|
totalDepositsUSD: Number(state.collateralAssetsUsd),
|
|
12213
12243
|
totalDebtStableUSD: 0,
|
|
12214
12244
|
totalDebtUSD: 0,
|
|
12245
|
+
utilization: 0,
|
|
12215
12246
|
depositRate: 0,
|
|
12216
12247
|
variableBorrowRate: 0,
|
|
12217
12248
|
stableBorrowRate: 0,
|
|
@@ -12913,6 +12944,8 @@ function getListaMarketDataConverter(lender, chainId, prices, additionalYields =
|
|
|
12913
12944
|
totalLiquidity: totalDeposits - totalDebt,
|
|
12914
12945
|
totalLiquidityUSD: (totalDeposits - totalDebt) * loanPrice,
|
|
12915
12946
|
totalDebtUSD: totalDebt * loanPrice,
|
|
12947
|
+
// utilization is a WAD bigint from MathLib; surface as 0..1 number
|
|
12948
|
+
utilization: Number(utilization) / 1e18,
|
|
12916
12949
|
depositRate: depositApr,
|
|
12917
12950
|
variableBorrowRate: borrowApr,
|
|
12918
12951
|
stableBorrowRate: 0,
|
|
@@ -12954,6 +12987,7 @@ function getListaMarketDataConverter(lender, chainId, prices, additionalYields =
|
|
|
12954
12987
|
totalDepositsUSD: 0,
|
|
12955
12988
|
totalDebtStableUSD: 0,
|
|
12956
12989
|
totalDebtUSD: 0,
|
|
12990
|
+
utilization: 0,
|
|
12957
12991
|
depositRate: 0,
|
|
12958
12992
|
variableBorrowRate: 0,
|
|
12959
12993
|
stableBorrowRate: 0,
|
|
@@ -13122,6 +13156,8 @@ function getMorphoMarketDataConverter(lender, chainId, prices, additionalYields
|
|
|
13122
13156
|
totalLiquidity: totalDeposits - totalDebt,
|
|
13123
13157
|
totalLiquidityUSD: (totalDeposits - totalDebt) * loanPrice,
|
|
13124
13158
|
totalDebtUSD: totalDebt * loanPrice,
|
|
13159
|
+
// utilization is a WAD bigint from MathLib; surface as 0..1 number
|
|
13160
|
+
utilization: Number(utilization) / 1e18,
|
|
13125
13161
|
depositRate: depositApr,
|
|
13126
13162
|
variableBorrowRate: borrowApr,
|
|
13127
13163
|
stableBorrowRate: 0,
|
|
@@ -13168,6 +13204,7 @@ function getMorphoMarketDataConverter(lender, chainId, prices, additionalYields
|
|
|
13168
13204
|
totalDepositsUSD: 0,
|
|
13169
13205
|
totalDebtStableUSD: 0,
|
|
13170
13206
|
totalDebtUSD: 0,
|
|
13207
|
+
utilization: 0,
|
|
13171
13208
|
depositRate: 0,
|
|
13172
13209
|
variableBorrowRate: 0,
|
|
13173
13210
|
stableBorrowRate: 0,
|
|
@@ -15765,6 +15802,7 @@ function convertSingleEntry(opts) {
|
|
|
15765
15802
|
totalDepositsUSD: totalSupplyUnderlying * price,
|
|
15766
15803
|
totalDebtStable: 0,
|
|
15767
15804
|
totalDebtStableUSD: 0,
|
|
15805
|
+
utilization: computeUtilization(totalSupplyUnderlying, totalDebt),
|
|
15768
15806
|
intrinsicYield: additionalYields?.intrinsicYields?.[asset.assetGroup] ?? 0,
|
|
15769
15807
|
config: {
|
|
15770
15808
|
[LENDER_MODE_NO_MODE]: {
|
|
@@ -15866,6 +15904,7 @@ function convertSumerEntry(opts) {
|
|
|
15866
15904
|
totalDepositsUSD: totalSupplyUnderlying * price,
|
|
15867
15905
|
totalDebtStable: 0,
|
|
15868
15906
|
totalDebtStableUSD: 0,
|
|
15907
|
+
utilization: computeUtilization(totalSupplyUnderlying, totalDebt),
|
|
15869
15908
|
stakingYield: additionalYields?.intrinsicYields?.[asset.assetGroup] ?? 0,
|
|
15870
15909
|
config,
|
|
15871
15910
|
hasStable: false,
|
|
@@ -15929,6 +15968,11 @@ function convertTakaraEntry(opts) {
|
|
|
15929
15968
|
totalDepositsUSD: totalSupplyUSD,
|
|
15930
15969
|
totalDebtStable: 0,
|
|
15931
15970
|
totalDebtStableUSD: 0,
|
|
15971
|
+
// Token-denominated amounts depend on an off-chain price; the
|
|
15972
|
+
// USD-scaled values from the lens are independent of it, so derive
|
|
15973
|
+
// utilization from those to avoid divide-by-zero when the price feed
|
|
15974
|
+
// is missing.
|
|
15975
|
+
utilization: computeUtilization(totalSupplyUSD, totalDebtUSD),
|
|
15932
15976
|
intrinsicYield: additionalYields?.intrinsicYields?.[asset.assetGroup] ?? 0,
|
|
15933
15977
|
config: {
|
|
15934
15978
|
[LENDER_MODE_NO_MODE]: {
|
|
@@ -15994,6 +16038,7 @@ function convertTectonicEntry(opts) {
|
|
|
15994
16038
|
totalDepositsUSD: totalSupplyUnderlying * price,
|
|
15995
16039
|
totalDebtStable: 0,
|
|
15996
16040
|
totalDebtStableUSD: 0,
|
|
16041
|
+
utilization: computeUtilization(totalSupplyUnderlying, totalDebt),
|
|
15997
16042
|
intrinsicYield: additionalYields?.intrinsicYields?.[asset.assetGroup] ?? 0,
|
|
15998
16043
|
config: {
|
|
15999
16044
|
[LENDER_MODE_NO_MODE]: {
|
|
@@ -16158,6 +16203,7 @@ function convertBenqiEntry(opts) {
|
|
|
16158
16203
|
totalDepositsUSD: totalDeposits * price,
|
|
16159
16204
|
totalDebtStable: 0,
|
|
16160
16205
|
totalDebtStableUSD: 0,
|
|
16206
|
+
utilization: computeUtilization(totalDeposits, totalDebt),
|
|
16161
16207
|
intrinsicYield: additionalYields?.intrinsicYields?.[asset.assetGroup] ?? 0,
|
|
16162
16208
|
config: {
|
|
16163
16209
|
[LENDER_MODE_NO_MODE]: {
|
|
@@ -17748,6 +17794,7 @@ function buildTokenEntry(info, config, collateralActive, borrowVaults, opts) {
|
|
|
17748
17794
|
totalDepositsUSD: totalDeposits * pricePerUnit,
|
|
17749
17795
|
totalDebtStableUSD: 0,
|
|
17750
17796
|
totalDebtUSD: totalDebt * pricePerUnit,
|
|
17797
|
+
utilization: totalDeposits > 0 ? totalDebt / totalDeposits : 0,
|
|
17751
17798
|
depositRate,
|
|
17752
17799
|
variableBorrowRate,
|
|
17753
17800
|
stableBorrowRate: 0,
|
|
@@ -18087,12 +18134,7 @@ function normalizeAaveV4(spokeDataList, chainId, spokeLenderKeyArg, prices, addi
|
|
|
18087
18134
|
} else {
|
|
18088
18135
|
price = prices[oracleKey] ?? 0;
|
|
18089
18136
|
}
|
|
18090
|
-
const
|
|
18091
|
-
const totalDebtStr = toTokenAmount2(reserve.totalDebt, decimals);
|
|
18092
|
-
const totalDepositsNum = toTokenNumber(reserve.suppliedAssets, decimals);
|
|
18093
|
-
const totalDebtNum = toTokenNumber(reserve.totalDebt, decimals);
|
|
18094
|
-
const totalDepositsUSD = totalDepositsNum * price;
|
|
18095
|
-
const totalDebtUSD = totalDebtNum * price;
|
|
18137
|
+
const spokeTotalDebtNum = toTokenNumber(reserve.totalDebt, decimals);
|
|
18096
18138
|
const supplyCap = reserve.spokeBinding?.addCap ?? 0;
|
|
18097
18139
|
const borrowCap = reserve.spokeBinding?.drawCap ?? 0;
|
|
18098
18140
|
const hubDecimals = reserve.hubAsset.decimals || decimals;
|
|
@@ -18102,21 +18144,21 @@ function normalizeAaveV4(spokeDataList, chainId, spokeLenderKeyArg, prices, addi
|
|
|
18102
18144
|
);
|
|
18103
18145
|
let borrowLiquidityNum = hubLiquidityNum;
|
|
18104
18146
|
if (borrowCap > 0 && borrowCap < MAX_SPOKE_CAP) {
|
|
18105
|
-
const spokeHeadroom = borrowCap -
|
|
18147
|
+
const spokeHeadroom = borrowCap - spokeTotalDebtNum;
|
|
18106
18148
|
if (spokeHeadroom < borrowLiquidityNum)
|
|
18107
18149
|
borrowLiquidityNum = spokeHeadroom;
|
|
18108
18150
|
}
|
|
18109
18151
|
if (borrowLiquidityNum < 0) borrowLiquidityNum = 0;
|
|
18110
18152
|
const borrowLiquidityUSD = borrowLiquidityNum * price;
|
|
18111
18153
|
const variableBorrowRate = rayRateToApr(reserve.hubAsset.drawnRate);
|
|
18112
|
-
const
|
|
18113
|
-
|
|
18114
|
-
|
|
18115
|
-
);
|
|
18116
|
-
const
|
|
18117
|
-
|
|
18118
|
-
|
|
18119
|
-
|
|
18154
|
+
const hubTotalSupplyRaw = reserve.hubAsset.totalAddedAssets ?? 0n;
|
|
18155
|
+
const hubTotalOwedRaw = reserve.hubAsset.totalOwedAssets ?? 0n;
|
|
18156
|
+
const totalDepositsStr = toTokenAmount2(hubTotalSupplyRaw, hubDecimals);
|
|
18157
|
+
const totalDebtStr = toTokenAmount2(hubTotalOwedRaw, hubDecimals);
|
|
18158
|
+
const hubTotalSupply = toTokenNumber(hubTotalSupplyRaw, hubDecimals);
|
|
18159
|
+
const hubTotalOwed = toTokenNumber(hubTotalOwedRaw, hubDecimals);
|
|
18160
|
+
const totalDepositsUSD = hubTotalSupply * price;
|
|
18161
|
+
const totalDebtUSD = hubTotalOwed * price;
|
|
18120
18162
|
const hubUtilization = hubTotalSupply > 0 ? hubTotalOwed / hubTotalSupply : 0;
|
|
18121
18163
|
const feeRate = reserve.hubAsset.liquidityFee ? reserve.hubAsset.liquidityFee / BPS : 0;
|
|
18122
18164
|
const depositRate = variableBorrowRate * hubUtilization * (1 - feeRate);
|
|
@@ -18167,6 +18209,7 @@ function normalizeAaveV4(spokeDataList, chainId, spokeLenderKeyArg, prices, addi
|
|
|
18167
18209
|
depositRate,
|
|
18168
18210
|
variableBorrowRate,
|
|
18169
18211
|
stableBorrowRate: 0,
|
|
18212
|
+
utilization: hubUtilization,
|
|
18170
18213
|
intrinsicYield: additionalYields?.intrinsicYields?.[oracleKey] ?? 0,
|
|
18171
18214
|
rewards: [],
|
|
18172
18215
|
decimals,
|