@exponent-labs/klend-idl 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/accounts/LendingMarket.d.ts +88 -0
- package/build/accounts/LendingMarket.js +225 -0
- package/build/accounts/LendingMarket.js.map +1 -0
- package/build/accounts/Obligation.d.ts +85 -0
- package/build/accounts/Obligation.js +217 -0
- package/build/accounts/Obligation.js.map +1 -0
- package/build/accounts/ReferrerState.d.ts +23 -0
- package/build/accounts/ReferrerState.js +85 -0
- package/build/accounts/ReferrerState.js.map +1 -0
- package/build/accounts/ReferrerTokenState.d.ts +36 -0
- package/build/accounts/ReferrerTokenState.js +116 -0
- package/build/accounts/ReferrerTokenState.js.map +1 -0
- package/build/accounts/Reserve.d.ts +61 -0
- package/build/accounts/Reserve.js +169 -0
- package/build/accounts/Reserve.js.map +1 -0
- package/build/accounts/ShortUrl.d.ts +23 -0
- package/build/accounts/ShortUrl.js +85 -0
- package/build/accounts/ShortUrl.js.map +1 -0
- package/build/accounts/UserMetadata.d.ts +36 -0
- package/build/accounts/UserMetadata.js +116 -0
- package/build/accounts/UserMetadata.js.map +1 -0
- package/build/accounts/UserState.d.ts +69 -0
- package/build/accounts/UserState.js +182 -0
- package/build/accounts/UserState.js.map +1 -0
- package/build/accounts/index.d.ts +16 -0
- package/build/accounts/index.js +20 -0
- package/build/accounts/index.js.map +1 -0
- package/build/errors/anchor.d.ts +434 -0
- package/build/errors/anchor.js +767 -0
- package/build/errors/anchor.js.map +1 -0
- package/build/errors/custom.d.ts +898 -0
- package/build/errors/custom.js +1580 -0
- package/build/errors/custom.js.map +1 -0
- package/build/errors/index.d.ts +5 -0
- package/build/errors/index.js +71 -0
- package/build/errors/index.js.map +1 -0
- package/build/index.d.ts +4 -0
- package/build/index.js +34 -0
- package/build/index.js.map +1 -0
- package/build/instructions/borrowObligationLiquidity.d.ts +21 -0
- package/build/instructions/borrowObligationLiquidity.js +80 -0
- package/build/instructions/borrowObligationLiquidity.js.map +1 -0
- package/build/instructions/borrowObligationLiquidityV2.d.ts +28 -0
- package/build/instructions/borrowObligationLiquidityV2.js +90 -0
- package/build/instructions/borrowObligationLiquidityV2.js.map +1 -0
- package/build/instructions/deleteReferrerStateAndShortUrl.d.ts +9 -0
- package/build/instructions/deleteReferrerStateAndShortUrl.js +20 -0
- package/build/instructions/deleteReferrerStateAndShortUrl.js.map +1 -0
- package/build/instructions/depositObligationCollateral.d.ts +17 -0
- package/build/instructions/depositObligationCollateral.js +64 -0
- package/build/instructions/depositObligationCollateral.js.map +1 -0
- package/build/instructions/depositReserveLiquidity.d.ts +21 -0
- package/build/instructions/depositReserveLiquidity.js +88 -0
- package/build/instructions/depositReserveLiquidity.js.map +1 -0
- package/build/instructions/depositReserveLiquidityAndObligationCollateral.d.ts +23 -0
- package/build/instructions/depositReserveLiquidityAndObligationCollateral.js +94 -0
- package/build/instructions/depositReserveLiquidityAndObligationCollateral.js.map +1 -0
- package/build/instructions/depositReserveLiquidityAndObligationCollateralV2.d.ts +30 -0
- package/build/instructions/depositReserveLiquidityAndObligationCollateralV2.js +100 -0
- package/build/instructions/depositReserveLiquidityAndObligationCollateralV2.js.map +1 -0
- package/build/instructions/flashBorrowReserveLiquidity.d.ts +21 -0
- package/build/instructions/flashBorrowReserveLiquidity.js +80 -0
- package/build/instructions/flashBorrowReserveLiquidity.js.map +1 -0
- package/build/instructions/flashRepayReserveLiquidity.d.ts +22 -0
- package/build/instructions/flashRepayReserveLiquidity.js +77 -0
- package/build/instructions/flashRepayReserveLiquidity.js.map +1 -0
- package/build/instructions/idlMissingTypes.d.ts +18 -0
- package/build/instructions/idlMissingTypes.js +62 -0
- package/build/instructions/idlMissingTypes.js.map +1 -0
- package/build/instructions/index.d.ts +74 -0
- package/build/instructions/index.js +78 -0
- package/build/instructions/index.js.map +1 -0
- package/build/instructions/initFarmsForReserve.d.ts +18 -0
- package/build/instructions/initFarmsForReserve.js +62 -0
- package/build/instructions/initFarmsForReserve.js.map +1 -0
- package/build/instructions/initLendingMarket.d.ts +13 -0
- package/build/instructions/initLendingMarket.js +53 -0
- package/build/instructions/initLendingMarket.js.map +1 -0
- package/build/instructions/initObligation.d.ts +18 -0
- package/build/instructions/initObligation.js +54 -0
- package/build/instructions/initObligation.js.map +1 -0
- package/build/instructions/initObligationFarmsForReserve.d.ts +19 -0
- package/build/instructions/initObligationFarmsForReserve.js +59 -0
- package/build/instructions/initObligationFarmsForReserve.js.map +1 -0
- package/build/instructions/initReferrerStateAndShortUrl.d.ts +14 -0
- package/build/instructions/initReferrerStateAndShortUrl.js +54 -0
- package/build/instructions/initReferrerStateAndShortUrl.js.map +1 -0
- package/build/instructions/initReferrerTokenState.d.ts +14 -0
- package/build/instructions/initReferrerTokenState.js +50 -0
- package/build/instructions/initReferrerTokenState.js.map +1 -0
- package/build/instructions/initReserve.d.ts +17 -0
- package/build/instructions/initReserve.js +56 -0
- package/build/instructions/initReserve.js.map +1 -0
- package/build/instructions/initUserMetadata.d.ts +14 -0
- package/build/instructions/initUserMetadata.js +54 -0
- package/build/instructions/initUserMetadata.js.map +1 -0
- package/build/instructions/liquidateObligationAndRedeemReserveCollateral.d.ts +31 -0
- package/build/instructions/liquidateObligationAndRedeemReserveCollateral.js +126 -0
- package/build/instructions/liquidateObligationAndRedeemReserveCollateral.js.map +1 -0
- package/build/instructions/redeemFees.d.ts +11 -0
- package/build/instructions/redeemFees.js +38 -0
- package/build/instructions/redeemFees.js.map +1 -0
- package/build/instructions/redeemReserveCollateral.d.ts +21 -0
- package/build/instructions/redeemReserveCollateral.js +92 -0
- package/build/instructions/redeemReserveCollateral.js.map +1 -0
- package/build/instructions/refreshObligation.d.ts +6 -0
- package/build/instructions/refreshObligation.js +17 -0
- package/build/instructions/refreshObligation.js.map +1 -0
- package/build/instructions/refreshObligationFarmsForReserve.d.ts +18 -0
- package/build/instructions/refreshObligationFarmsForReserve.js +62 -0
- package/build/instructions/refreshObligationFarmsForReserve.js.map +1 -0
- package/build/instructions/refreshReserve.d.ts +10 -0
- package/build/instructions/refreshReserve.js +29 -0
- package/build/instructions/refreshReserve.js.map +1 -0
- package/build/instructions/refreshReservesBatch.d.ts +6 -0
- package/build/instructions/refreshReservesBatch.js +43 -0
- package/build/instructions/refreshReservesBatch.js.map +1 -0
- package/build/instructions/repayObligationLiquidity.d.ts +18 -0
- package/build/instructions/repayObligationLiquidity.js +65 -0
- package/build/instructions/repayObligationLiquidity.js.map +1 -0
- package/build/instructions/repayObligationLiquidityV2.d.ts +26 -0
- package/build/instructions/repayObligationLiquidityV2.js +76 -0
- package/build/instructions/repayObligationLiquidityV2.js.map +1 -0
- package/build/instructions/requestElevationGroup.d.ts +11 -0
- package/build/instructions/requestElevationGroup.js +47 -0
- package/build/instructions/requestElevationGroup.js.map +1 -0
- package/build/instructions/socializeLoss.d.ts +14 -0
- package/build/instructions/socializeLoss.js +53 -0
- package/build/instructions/socializeLoss.js.map +1 -0
- package/build/instructions/updateLendingMarket.d.ts +12 -0
- package/build/instructions/updateLendingMarket.js +47 -0
- package/build/instructions/updateLendingMarket.js.map +1 -0
- package/build/instructions/updateLendingMarketOwner.d.ts +6 -0
- package/build/instructions/updateLendingMarketOwner.js +21 -0
- package/build/instructions/updateLendingMarketOwner.js.map +1 -0
- package/build/instructions/updateReserveConfig.d.ts +14 -0
- package/build/instructions/updateReserveConfig.js +49 -0
- package/build/instructions/updateReserveConfig.js.map +1 -0
- package/build/instructions/withdrawObligationCollateral.d.ts +18 -0
- package/build/instructions/withdrawObligationCollateral.js +69 -0
- package/build/instructions/withdrawObligationCollateral.js.map +1 -0
- package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.d.ts +23 -0
- package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js +98 -0
- package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.js.map +1 -0
- package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.d.ts +30 -0
- package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.js +104 -0
- package/build/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.js.map +1 -0
- package/build/instructions/withdrawProtocolFee.d.ts +17 -0
- package/build/instructions/withdrawProtocolFee.js +64 -0
- package/build/instructions/withdrawProtocolFee.js.map +1 -0
- package/build/instructions/withdrawReferrerFees.d.ts +13 -0
- package/build/instructions/withdrawReferrerFees.js +40 -0
- package/build/instructions/withdrawReferrerFees.js.map +1 -0
- package/build/kamino_lending.d.ts +3937 -0
- package/build/kamino_lending.js +3940 -0
- package/build/kamino_lending.js.map +1 -0
- package/build/kamino_lending.json +6352 -0
- package/build/programId.d.ts +3 -0
- package/build/programId.js +9 -0
- package/build/programId.js.map +1 -0
- package/build/types/AssetTier.d.ts +44 -0
- package/build/types/AssetTier.js +122 -0
- package/build/types/AssetTier.js.map +1 -0
- package/build/types/BigFractionBytes.d.ts +26 -0
- package/build/types/BigFractionBytes.js +72 -0
- package/build/types/BigFractionBytes.js.map +1 -0
- package/build/types/BorrowRateCurve.d.ts +27 -0
- package/build/types/BorrowRateCurve.js +63 -0
- package/build/types/BorrowRateCurve.js.map +1 -0
- package/build/types/CurvePoint.d.ts +25 -0
- package/build/types/CurvePoint.js +68 -0
- package/build/types/CurvePoint.js.map +1 -0
- package/build/types/ElevationGroup.d.ts +62 -0
- package/build/types/ElevationGroup.js +125 -0
- package/build/types/ElevationGroup.js.map +1 -0
- package/build/types/FeeCalculation.d.ts +31 -0
- package/build/types/FeeCalculation.js +95 -0
- package/build/types/FeeCalculation.js.map +1 -0
- package/build/types/InitObligationArgs.d.ts +25 -0
- package/build/types/InitObligationArgs.js +68 -0
- package/build/types/InitObligationArgs.js.map +1 -0
- package/build/types/LastUpdate.d.ts +36 -0
- package/build/types/LastUpdate.js +84 -0
- package/build/types/LastUpdate.js.map +1 -0
- package/build/types/ObligationCollateral.d.ts +43 -0
- package/build/types/ObligationCollateral.js +98 -0
- package/build/types/ObligationCollateral.js.map +1 -0
- package/build/types/ObligationLiquidity.d.ts +64 -0
- package/build/types/ObligationLiquidity.js +123 -0
- package/build/types/ObligationLiquidity.js.map +1 -0
- package/build/types/PriceHeuristic.d.ts +32 -0
- package/build/types/PriceHeuristic.js +78 -0
- package/build/types/PriceHeuristic.js.map +1 -0
- package/build/types/PythConfiguration.d.ts +22 -0
- package/build/types/PythConfiguration.js +63 -0
- package/build/types/PythConfiguration.js.map +1 -0
- package/build/types/ReserveCollateral.d.ts +43 -0
- package/build/types/ReserveCollateral.js +97 -0
- package/build/types/ReserveCollateral.js.map +1 -0
- package/build/types/ReserveConfig.d.ts +246 -0
- package/build/types/ReserveConfig.js +269 -0
- package/build/types/ReserveConfig.js.map +1 -0
- package/build/types/ReserveFarmKind.d.ts +31 -0
- package/build/types/ReserveFarmKind.js +98 -0
- package/build/types/ReserveFarmKind.js.map +1 -0
- package/build/types/ReserveFees.d.ts +32 -0
- package/build/types/ReserveFees.js +82 -0
- package/build/types/ReserveFees.js.map +1 -0
- package/build/types/ReserveLiquidity.d.ts +114 -0
- package/build/types/ReserveLiquidity.js +191 -0
- package/build/types/ReserveLiquidity.js.map +1 -0
- package/build/types/ReserveStatus.d.ts +44 -0
- package/build/types/ReserveStatus.js +122 -0
- package/build/types/ReserveStatus.js.map +1 -0
- package/build/types/ScopeConfiguration.d.ts +32 -0
- package/build/types/ScopeConfiguration.js +79 -0
- package/build/types/ScopeConfiguration.js.map +1 -0
- package/build/types/SwitchboardConfiguration.d.ts +27 -0
- package/build/types/SwitchboardConfiguration.js +69 -0
- package/build/types/SwitchboardConfiguration.js.map +1 -0
- package/build/types/TokenInfo.d.ts +99 -0
- package/build/types/TokenInfo.js +145 -0
- package/build/types/TokenInfo.js.map +1 -0
- package/build/types/UpdateConfigMode.d.ts +616 -0
- package/build/types/UpdateConfigMode.js +1178 -0
- package/build/types/UpdateConfigMode.js.map +1 -0
- package/build/types/UpdateLendingMarketConfigValue.d.ts +177 -0
- package/build/types/UpdateLendingMarketConfigValue.js +312 -0
- package/build/types/UpdateLendingMarketConfigValue.js.map +1 -0
- package/build/types/UpdateLendingMarketMode.d.ts +239 -0
- package/build/types/UpdateLendingMarketMode.js +482 -0
- package/build/types/UpdateLendingMarketMode.js.map +1 -0
- package/build/types/WithdrawalCaps.d.ts +37 -0
- package/build/types/WithdrawalCaps.js +89 -0
- package/build/types/WithdrawalCaps.js.map +1 -0
- package/build/types/index.d.ts +64 -0
- package/build/types/index.js +77 -0
- package/build/types/index.js.map +1 -0
- package/package.json +44 -0
- package/src/accounts/LendingMarket.ts +292 -0
- package/src/accounts/Obligation.ts +282 -0
- package/src/accounts/ReferrerState.ts +90 -0
- package/src/accounts/ReferrerTokenState.ts +126 -0
- package/src/accounts/Reserve.ts +218 -0
- package/src/accounts/ShortUrl.ts +86 -0
- package/src/accounts/UserMetadata.ts +126 -0
- package/src/accounts/UserState.ts +210 -0
- package/src/accounts/index.ts +19 -0
- package/src/errors/anchor.ts +773 -0
- package/src/errors/custom.ts +1633 -0
- package/src/errors/index.ts +62 -0
- package/src/index.ts +5 -0
- package/src/instructions/borrowObligationLiquidity.ts +81 -0
- package/src/instructions/borrowObligationLiquidityV2.ts +103 -0
- package/src/instructions/deleteReferrerStateAndShortUrl.ts +27 -0
- package/src/instructions/depositObligationCollateral.ts +61 -0
- package/src/instructions/depositReserveLiquidity.ts +89 -0
- package/src/instructions/depositReserveLiquidityAndObligationCollateral.ts +97 -0
- package/src/instructions/depositReserveLiquidityAndObligationCollateralV2.ts +119 -0
- package/src/instructions/flashBorrowReserveLiquidity.ts +81 -0
- package/src/instructions/flashRepayReserveLiquidity.ts +79 -0
- package/src/instructions/idlMissingTypes.ts +59 -0
- package/src/instructions/index.ts +158 -0
- package/src/instructions/initFarmsForReserve.ts +60 -0
- package/src/instructions/initLendingMarket.ts +46 -0
- package/src/instructions/initObligation.ts +51 -0
- package/src/instructions/initObligationFarmsForReserve.ts +58 -0
- package/src/instructions/initReferrerStateAndShortUrl.ts +48 -0
- package/src/instructions/initReferrerTokenState.ts +44 -0
- package/src/instructions/initReserve.ts +68 -0
- package/src/instructions/initUserMetadata.ts +48 -0
- package/src/instructions/liquidateObligationAndRedeemReserveCollateral.ts +137 -0
- package/src/instructions/redeemFees.ts +44 -0
- package/src/instructions/redeemReserveCollateral.ts +93 -0
- package/src/instructions/refreshObligation.ts +18 -0
- package/src/instructions/refreshObligationFarmsForReserve.ts +60 -0
- package/src/instructions/refreshReserve.ts +34 -0
- package/src/instructions/refreshReservesBatch.ts +24 -0
- package/src/instructions/repayObligationLiquidity.ts +63 -0
- package/src/instructions/repayObligationLiquidityV2.ts +87 -0
- package/src/instructions/requestElevationGroup.ts +38 -0
- package/src/instructions/socializeLoss.ts +47 -0
- package/src/instructions/updateLendingMarket.ts +39 -0
- package/src/instructions/updateLendingMarketOwner.ts +25 -0
- package/src/instructions/updateReserveConfig.ts +43 -0
- package/src/instructions/withdrawObligationCollateral.ts +67 -0
- package/src/instructions/withdrawObligationCollateralAndRedeemReserveCollateral.ts +101 -0
- package/src/instructions/withdrawObligationCollateralAndRedeemReserveCollateralV2.ts +123 -0
- package/src/instructions/withdrawProtocolFee.ts +61 -0
- package/src/instructions/withdrawReferrerFees.ts +48 -0
- package/src/kamino_lending.json +6352 -0
- package/src/kamino_lending.ts +7873 -0
- package/src/programId.ts +9 -0
- package/src/types/AssetTier.ts +116 -0
- package/src/types/BigFractionBytes.ts +59 -0
- package/src/types/BorrowRateCurve.ts +53 -0
- package/src/types/CurvePoint.ts +58 -0
- package/src/types/ElevationGroup.ts +129 -0
- package/src/types/FeeCalculation.ts +83 -0
- package/src/types/InitObligationArgs.ts +58 -0
- package/src/types/LastUpdate.ts +78 -0
- package/src/types/ObligationCollateral.ts +100 -0
- package/src/types/ObligationLiquidity.ts +140 -0
- package/src/types/PriceHeuristic.ts +72 -0
- package/src/types/PythConfiguration.ts +53 -0
- package/src/types/ReserveCollateral.ts +94 -0
- package/src/types/ReserveConfig.ts +349 -0
- package/src/types/ReserveFarmKind.ts +90 -0
- package/src/types/ReserveFees.ts +76 -0
- package/src/types/ReserveLiquidity.ts +219 -0
- package/src/types/ReserveStatus.ts +120 -0
- package/src/types/ScopeConfiguration.ts +76 -0
- package/src/types/SwitchboardConfiguration.ts +64 -0
- package/src/types/TokenInfo.ts +172 -0
- package/src/types/UpdateConfigMode.ts +1440 -0
- package/src/types/UpdateLendingMarketConfigValue.ts +376 -0
- package/src/types/UpdateLendingMarketMode.ts +570 -0
- package/src/types/WithdrawalCaps.ts +85 -0
- package/src/types/index.ts +275 -0
- package/tsconfig.json +17 -0
package/src/programId.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js"
|
|
2
|
+
|
|
3
|
+
// Program ID passed with the cli --program-id flag when running the code generator. Do not edit, it will get overwritten.
|
|
4
|
+
export const PROGRAM_ID_CLI = new PublicKey(
|
|
5
|
+
"KLend2g3cP87fffoy8q1mQqGKjrxjC8boSyAYavgmjD"
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
// This constant will not get overwritten on subsequent code generations and it's safe to modify it's value.
|
|
9
|
+
export const PROGRAM_ID: PublicKey = PROGRAM_ID_CLI
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
2
|
+
import * as borsh from "@coral-xyz/borsh"
|
|
3
|
+
|
|
4
|
+
export interface RegularJSON {
|
|
5
|
+
kind: "Regular"
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export class Regular {
|
|
9
|
+
static readonly discriminator = 0
|
|
10
|
+
static readonly kind = "Regular"
|
|
11
|
+
readonly discriminator = 0
|
|
12
|
+
readonly kind = "Regular"
|
|
13
|
+
|
|
14
|
+
toJSON(): RegularJSON {
|
|
15
|
+
return {
|
|
16
|
+
kind: "Regular",
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
toEncodable() {
|
|
21
|
+
return {
|
|
22
|
+
Regular: {},
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface IsolatedCollateralJSON {
|
|
28
|
+
kind: "IsolatedCollateral"
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export class IsolatedCollateral {
|
|
32
|
+
static readonly discriminator = 1
|
|
33
|
+
static readonly kind = "IsolatedCollateral"
|
|
34
|
+
readonly discriminator = 1
|
|
35
|
+
readonly kind = "IsolatedCollateral"
|
|
36
|
+
|
|
37
|
+
toJSON(): IsolatedCollateralJSON {
|
|
38
|
+
return {
|
|
39
|
+
kind: "IsolatedCollateral",
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
toEncodable() {
|
|
44
|
+
return {
|
|
45
|
+
IsolatedCollateral: {},
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface IsolatedDebtJSON {
|
|
51
|
+
kind: "IsolatedDebt"
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export class IsolatedDebt {
|
|
55
|
+
static readonly discriminator = 2
|
|
56
|
+
static readonly kind = "IsolatedDebt"
|
|
57
|
+
readonly discriminator = 2
|
|
58
|
+
readonly kind = "IsolatedDebt"
|
|
59
|
+
|
|
60
|
+
toJSON(): IsolatedDebtJSON {
|
|
61
|
+
return {
|
|
62
|
+
kind: "IsolatedDebt",
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
toEncodable() {
|
|
67
|
+
return {
|
|
68
|
+
IsolatedDebt: {},
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
74
|
+
export function fromDecoded(obj: any): types.AssetTierKind {
|
|
75
|
+
if (typeof obj !== "object") {
|
|
76
|
+
throw new Error("Invalid enum object")
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if ("Regular" in obj) {
|
|
80
|
+
return new Regular()
|
|
81
|
+
}
|
|
82
|
+
if ("IsolatedCollateral" in obj) {
|
|
83
|
+
return new IsolatedCollateral()
|
|
84
|
+
}
|
|
85
|
+
if ("IsolatedDebt" in obj) {
|
|
86
|
+
return new IsolatedDebt()
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
throw new Error("Invalid enum object")
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export function fromJSON(obj: types.AssetTierJSON): types.AssetTierKind {
|
|
93
|
+
switch (obj.kind) {
|
|
94
|
+
case "Regular": {
|
|
95
|
+
return new Regular()
|
|
96
|
+
}
|
|
97
|
+
case "IsolatedCollateral": {
|
|
98
|
+
return new IsolatedCollateral()
|
|
99
|
+
}
|
|
100
|
+
case "IsolatedDebt": {
|
|
101
|
+
return new IsolatedDebt()
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
export function layout(property?: string) {
|
|
107
|
+
const ret = borsh.rustEnum([
|
|
108
|
+
borsh.struct([], "Regular"),
|
|
109
|
+
borsh.struct([], "IsolatedCollateral"),
|
|
110
|
+
borsh.struct([], "IsolatedDebt"),
|
|
111
|
+
])
|
|
112
|
+
if (property !== undefined) {
|
|
113
|
+
return ret.replicate(property)
|
|
114
|
+
}
|
|
115
|
+
return ret
|
|
116
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
2
|
+
import * as borsh from "@coral-xyz/borsh"
|
|
3
|
+
|
|
4
|
+
export interface BigFractionBytesFields {
|
|
5
|
+
value: Array<BN>
|
|
6
|
+
padding: Array<BN>
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface BigFractionBytesJSON {
|
|
10
|
+
value: Array<string>
|
|
11
|
+
padding: Array<string>
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export class BigFractionBytes {
|
|
15
|
+
readonly value: Array<BN>
|
|
16
|
+
readonly padding: Array<BN>
|
|
17
|
+
|
|
18
|
+
constructor(fields: BigFractionBytesFields) {
|
|
19
|
+
this.value = fields.value
|
|
20
|
+
this.padding = fields.padding
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
static layout(property?: string) {
|
|
24
|
+
return borsh.struct([borsh.array(borsh.u64(), 4, "value"), borsh.array(borsh.u64(), 2, "padding")], property)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
|
+
static fromDecoded(obj: any) {
|
|
29
|
+
return new BigFractionBytes({
|
|
30
|
+
value: obj.value,
|
|
31
|
+
padding: obj.padding,
|
|
32
|
+
})
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
static toEncodable(fields: BigFractionBytesFields) {
|
|
36
|
+
return {
|
|
37
|
+
value: fields.value,
|
|
38
|
+
padding: fields.padding,
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
toJSON(): BigFractionBytesJSON {
|
|
43
|
+
return {
|
|
44
|
+
value: this.value.map((item) => item.toString()),
|
|
45
|
+
padding: this.padding.map((item) => item.toString()),
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static fromJSON(obj: BigFractionBytesJSON): BigFractionBytes {
|
|
50
|
+
return new BigFractionBytes({
|
|
51
|
+
value: obj.value.map((item) => new BN(item)),
|
|
52
|
+
padding: obj.padding.map((item) => new BN(item)),
|
|
53
|
+
})
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
toEncodable() {
|
|
57
|
+
return BigFractionBytes.toEncodable(this)
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
2
|
+
import * as borsh from "@coral-xyz/borsh"
|
|
3
|
+
|
|
4
|
+
export interface BorrowRateCurveFields {
|
|
5
|
+
points: Array<types.CurvePointFields>
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface BorrowRateCurveJSON {
|
|
9
|
+
points: Array<types.CurvePointJSON>
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export class BorrowRateCurve {
|
|
13
|
+
readonly points: Array<types.CurvePoint>
|
|
14
|
+
|
|
15
|
+
constructor(fields: BorrowRateCurveFields) {
|
|
16
|
+
this.points = fields.points.map((item) => new types.CurvePoint({ ...item }))
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
static layout(property?: string) {
|
|
20
|
+
return borsh.struct([borsh.array(types.CurvePoint.layout(), 11, "points")], property)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
|
+
static fromDecoded(obj: any) {
|
|
25
|
+
return new BorrowRateCurve({
|
|
26
|
+
points: obj.points.map((item: any /* eslint-disable-line @typescript-eslint/no-explicit-any */) =>
|
|
27
|
+
types.CurvePoint.fromDecoded(item),
|
|
28
|
+
),
|
|
29
|
+
})
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static toEncodable(fields: BorrowRateCurveFields) {
|
|
33
|
+
return {
|
|
34
|
+
points: fields.points.map((item) => types.CurvePoint.toEncodable(item)),
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
toJSON(): BorrowRateCurveJSON {
|
|
39
|
+
return {
|
|
40
|
+
points: this.points.map((item) => item.toJSON()),
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static fromJSON(obj: BorrowRateCurveJSON): BorrowRateCurve {
|
|
45
|
+
return new BorrowRateCurve({
|
|
46
|
+
points: obj.points.map((item) => types.CurvePoint.fromJSON(item)),
|
|
47
|
+
})
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
toEncodable() {
|
|
51
|
+
return BorrowRateCurve.toEncodable(this)
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as borsh from "@coral-xyz/borsh"
|
|
2
|
+
|
|
3
|
+
export interface CurvePointFields {
|
|
4
|
+
utilizationRateBps: number
|
|
5
|
+
borrowRateBps: number
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface CurvePointJSON {
|
|
9
|
+
utilizationRateBps: number
|
|
10
|
+
borrowRateBps: number
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export class CurvePoint {
|
|
14
|
+
readonly utilizationRateBps: number
|
|
15
|
+
readonly borrowRateBps: number
|
|
16
|
+
|
|
17
|
+
constructor(fields: CurvePointFields) {
|
|
18
|
+
this.utilizationRateBps = fields.utilizationRateBps
|
|
19
|
+
this.borrowRateBps = fields.borrowRateBps
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static layout(property?: string) {
|
|
23
|
+
return borsh.struct([borsh.u32("utilizationRateBps"), borsh.u32("borrowRateBps")], property)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
|
+
static fromDecoded(obj: any) {
|
|
28
|
+
return new CurvePoint({
|
|
29
|
+
utilizationRateBps: obj.utilizationRateBps,
|
|
30
|
+
borrowRateBps: obj.borrowRateBps,
|
|
31
|
+
})
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
static toEncodable(fields: CurvePointFields) {
|
|
35
|
+
return {
|
|
36
|
+
utilizationRateBps: fields.utilizationRateBps,
|
|
37
|
+
borrowRateBps: fields.borrowRateBps,
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
toJSON(): CurvePointJSON {
|
|
42
|
+
return {
|
|
43
|
+
utilizationRateBps: this.utilizationRateBps,
|
|
44
|
+
borrowRateBps: this.borrowRateBps,
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
static fromJSON(obj: CurvePointJSON): CurvePoint {
|
|
49
|
+
return new CurvePoint({
|
|
50
|
+
utilizationRateBps: obj.utilizationRateBps,
|
|
51
|
+
borrowRateBps: obj.borrowRateBps,
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
toEncodable() {
|
|
56
|
+
return CurvePoint.toEncodable(this)
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { PublicKey } from "@solana/web3.js" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
2
|
+
import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
3
|
+
import * as borsh from "@coral-xyz/borsh"
|
|
4
|
+
|
|
5
|
+
export interface ElevationGroupFields {
|
|
6
|
+
maxLiquidationBonusBps: number
|
|
7
|
+
id: number
|
|
8
|
+
ltvPct: number
|
|
9
|
+
liquidationThresholdPct: number
|
|
10
|
+
allowNewLoans: number
|
|
11
|
+
maxReservesAsCollateral: number
|
|
12
|
+
padding0: number
|
|
13
|
+
debtReserve: PublicKey
|
|
14
|
+
padding1: Array<BN>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface ElevationGroupJSON {
|
|
18
|
+
maxLiquidationBonusBps: number
|
|
19
|
+
id: number
|
|
20
|
+
ltvPct: number
|
|
21
|
+
liquidationThresholdPct: number
|
|
22
|
+
allowNewLoans: number
|
|
23
|
+
maxReservesAsCollateral: number
|
|
24
|
+
padding0: number
|
|
25
|
+
debtReserve: string
|
|
26
|
+
padding1: Array<string>
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export class ElevationGroup {
|
|
30
|
+
readonly maxLiquidationBonusBps: number
|
|
31
|
+
readonly id: number
|
|
32
|
+
readonly ltvPct: number
|
|
33
|
+
readonly liquidationThresholdPct: number
|
|
34
|
+
readonly allowNewLoans: number
|
|
35
|
+
readonly maxReservesAsCollateral: number
|
|
36
|
+
readonly padding0: number
|
|
37
|
+
readonly debtReserve: PublicKey
|
|
38
|
+
readonly padding1: Array<BN>
|
|
39
|
+
|
|
40
|
+
constructor(fields: ElevationGroupFields) {
|
|
41
|
+
this.maxLiquidationBonusBps = fields.maxLiquidationBonusBps
|
|
42
|
+
this.id = fields.id
|
|
43
|
+
this.ltvPct = fields.ltvPct
|
|
44
|
+
this.liquidationThresholdPct = fields.liquidationThresholdPct
|
|
45
|
+
this.allowNewLoans = fields.allowNewLoans
|
|
46
|
+
this.maxReservesAsCollateral = fields.maxReservesAsCollateral
|
|
47
|
+
this.padding0 = fields.padding0
|
|
48
|
+
this.debtReserve = fields.debtReserve
|
|
49
|
+
this.padding1 = fields.padding1
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
static layout(property?: string) {
|
|
53
|
+
return borsh.struct(
|
|
54
|
+
[
|
|
55
|
+
borsh.u16("maxLiquidationBonusBps"),
|
|
56
|
+
borsh.u8("id"),
|
|
57
|
+
borsh.u8("ltvPct"),
|
|
58
|
+
borsh.u8("liquidationThresholdPct"),
|
|
59
|
+
borsh.u8("allowNewLoans"),
|
|
60
|
+
borsh.u8("maxReservesAsCollateral"),
|
|
61
|
+
borsh.u8("padding0"),
|
|
62
|
+
borsh.publicKey("debtReserve"),
|
|
63
|
+
borsh.array(borsh.u64(), 4, "padding1"),
|
|
64
|
+
],
|
|
65
|
+
property,
|
|
66
|
+
)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
70
|
+
static fromDecoded(obj: any) {
|
|
71
|
+
return new ElevationGroup({
|
|
72
|
+
maxLiquidationBonusBps: obj.maxLiquidationBonusBps,
|
|
73
|
+
id: obj.id,
|
|
74
|
+
ltvPct: obj.ltvPct,
|
|
75
|
+
liquidationThresholdPct: obj.liquidationThresholdPct,
|
|
76
|
+
allowNewLoans: obj.allowNewLoans,
|
|
77
|
+
maxReservesAsCollateral: obj.maxReservesAsCollateral,
|
|
78
|
+
padding0: obj.padding0,
|
|
79
|
+
debtReserve: obj.debtReserve,
|
|
80
|
+
padding1: obj.padding1,
|
|
81
|
+
})
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
static toEncodable(fields: ElevationGroupFields) {
|
|
85
|
+
return {
|
|
86
|
+
maxLiquidationBonusBps: fields.maxLiquidationBonusBps,
|
|
87
|
+
id: fields.id,
|
|
88
|
+
ltvPct: fields.ltvPct,
|
|
89
|
+
liquidationThresholdPct: fields.liquidationThresholdPct,
|
|
90
|
+
allowNewLoans: fields.allowNewLoans,
|
|
91
|
+
maxReservesAsCollateral: fields.maxReservesAsCollateral,
|
|
92
|
+
padding0: fields.padding0,
|
|
93
|
+
debtReserve: fields.debtReserve,
|
|
94
|
+
padding1: fields.padding1,
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
toJSON(): ElevationGroupJSON {
|
|
99
|
+
return {
|
|
100
|
+
maxLiquidationBonusBps: this.maxLiquidationBonusBps,
|
|
101
|
+
id: this.id,
|
|
102
|
+
ltvPct: this.ltvPct,
|
|
103
|
+
liquidationThresholdPct: this.liquidationThresholdPct,
|
|
104
|
+
allowNewLoans: this.allowNewLoans,
|
|
105
|
+
maxReservesAsCollateral: this.maxReservesAsCollateral,
|
|
106
|
+
padding0: this.padding0,
|
|
107
|
+
debtReserve: this.debtReserve.toString(),
|
|
108
|
+
padding1: this.padding1.map((item) => item.toString()),
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
static fromJSON(obj: ElevationGroupJSON): ElevationGroup {
|
|
113
|
+
return new ElevationGroup({
|
|
114
|
+
maxLiquidationBonusBps: obj.maxLiquidationBonusBps,
|
|
115
|
+
id: obj.id,
|
|
116
|
+
ltvPct: obj.ltvPct,
|
|
117
|
+
liquidationThresholdPct: obj.liquidationThresholdPct,
|
|
118
|
+
allowNewLoans: obj.allowNewLoans,
|
|
119
|
+
maxReservesAsCollateral: obj.maxReservesAsCollateral,
|
|
120
|
+
padding0: obj.padding0,
|
|
121
|
+
debtReserve: new PublicKey(obj.debtReserve),
|
|
122
|
+
padding1: obj.padding1.map((item) => new BN(item)),
|
|
123
|
+
})
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
toEncodable() {
|
|
127
|
+
return ElevationGroup.toEncodable(this)
|
|
128
|
+
}
|
|
129
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as types from "../types" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
2
|
+
import * as borsh from "@coral-xyz/borsh"
|
|
3
|
+
|
|
4
|
+
export interface ExclusiveJSON {
|
|
5
|
+
kind: "Exclusive"
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export class Exclusive {
|
|
9
|
+
static readonly discriminator = 0
|
|
10
|
+
static readonly kind = "Exclusive"
|
|
11
|
+
readonly discriminator = 0
|
|
12
|
+
readonly kind = "Exclusive"
|
|
13
|
+
|
|
14
|
+
toJSON(): ExclusiveJSON {
|
|
15
|
+
return {
|
|
16
|
+
kind: "Exclusive",
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
toEncodable() {
|
|
21
|
+
return {
|
|
22
|
+
Exclusive: {},
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface InclusiveJSON {
|
|
28
|
+
kind: "Inclusive"
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export class Inclusive {
|
|
32
|
+
static readonly discriminator = 1
|
|
33
|
+
static readonly kind = "Inclusive"
|
|
34
|
+
readonly discriminator = 1
|
|
35
|
+
readonly kind = "Inclusive"
|
|
36
|
+
|
|
37
|
+
toJSON(): InclusiveJSON {
|
|
38
|
+
return {
|
|
39
|
+
kind: "Inclusive",
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
toEncodable() {
|
|
44
|
+
return {
|
|
45
|
+
Inclusive: {},
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
51
|
+
export function fromDecoded(obj: any): types.FeeCalculationKind {
|
|
52
|
+
if (typeof obj !== "object") {
|
|
53
|
+
throw new Error("Invalid enum object")
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if ("Exclusive" in obj) {
|
|
57
|
+
return new Exclusive()
|
|
58
|
+
}
|
|
59
|
+
if ("Inclusive" in obj) {
|
|
60
|
+
return new Inclusive()
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
throw new Error("Invalid enum object")
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export function fromJSON(obj: types.FeeCalculationJSON): types.FeeCalculationKind {
|
|
67
|
+
switch (obj.kind) {
|
|
68
|
+
case "Exclusive": {
|
|
69
|
+
return new Exclusive()
|
|
70
|
+
}
|
|
71
|
+
case "Inclusive": {
|
|
72
|
+
return new Inclusive()
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function layout(property?: string) {
|
|
78
|
+
const ret = borsh.rustEnum([borsh.struct([], "Exclusive"), borsh.struct([], "Inclusive")])
|
|
79
|
+
if (property !== undefined) {
|
|
80
|
+
return ret.replicate(property)
|
|
81
|
+
}
|
|
82
|
+
return ret
|
|
83
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as borsh from "@coral-xyz/borsh"
|
|
2
|
+
|
|
3
|
+
export interface InitObligationArgsFields {
|
|
4
|
+
tag: number
|
|
5
|
+
id: number
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface InitObligationArgsJSON {
|
|
9
|
+
tag: number
|
|
10
|
+
id: number
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export class InitObligationArgs {
|
|
14
|
+
readonly tag: number
|
|
15
|
+
readonly id: number
|
|
16
|
+
|
|
17
|
+
constructor(fields: InitObligationArgsFields) {
|
|
18
|
+
this.tag = fields.tag
|
|
19
|
+
this.id = fields.id
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static layout(property?: string) {
|
|
23
|
+
return borsh.struct([borsh.u8("tag"), borsh.u8("id")], property)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
27
|
+
static fromDecoded(obj: any) {
|
|
28
|
+
return new InitObligationArgs({
|
|
29
|
+
tag: obj.tag,
|
|
30
|
+
id: obj.id,
|
|
31
|
+
})
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
static toEncodable(fields: InitObligationArgsFields) {
|
|
35
|
+
return {
|
|
36
|
+
tag: fields.tag,
|
|
37
|
+
id: fields.id,
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
toJSON(): InitObligationArgsJSON {
|
|
42
|
+
return {
|
|
43
|
+
tag: this.tag,
|
|
44
|
+
id: this.id,
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
static fromJSON(obj: InitObligationArgsJSON): InitObligationArgs {
|
|
49
|
+
return new InitObligationArgs({
|
|
50
|
+
tag: obj.tag,
|
|
51
|
+
id: obj.id,
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
toEncodable() {
|
|
56
|
+
return InitObligationArgs.toEncodable(this)
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import BN from "bn.js" // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
2
|
+
import * as borsh from "@coral-xyz/borsh"
|
|
3
|
+
|
|
4
|
+
export interface LastUpdateFields {
|
|
5
|
+
slot: BN
|
|
6
|
+
stale: number
|
|
7
|
+
priceStatus: number
|
|
8
|
+
placeholder: Array<number>
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface LastUpdateJSON {
|
|
12
|
+
slot: string
|
|
13
|
+
stale: number
|
|
14
|
+
priceStatus: number
|
|
15
|
+
placeholder: Array<number>
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export class LastUpdate {
|
|
19
|
+
readonly slot: BN
|
|
20
|
+
readonly stale: number
|
|
21
|
+
readonly priceStatus: number
|
|
22
|
+
readonly placeholder: Array<number>
|
|
23
|
+
|
|
24
|
+
constructor(fields: LastUpdateFields) {
|
|
25
|
+
this.slot = fields.slot
|
|
26
|
+
this.stale = fields.stale
|
|
27
|
+
this.priceStatus = fields.priceStatus
|
|
28
|
+
this.placeholder = fields.placeholder
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
static layout(property?: string) {
|
|
32
|
+
return borsh.struct(
|
|
33
|
+
[borsh.u64("slot"), borsh.u8("stale"), borsh.u8("priceStatus"), borsh.array(borsh.u8(), 6, "placeholder")],
|
|
34
|
+
property,
|
|
35
|
+
)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
39
|
+
static fromDecoded(obj: any) {
|
|
40
|
+
return new LastUpdate({
|
|
41
|
+
slot: obj.slot,
|
|
42
|
+
stale: obj.stale,
|
|
43
|
+
priceStatus: obj.priceStatus,
|
|
44
|
+
placeholder: obj.placeholder,
|
|
45
|
+
})
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
static toEncodable(fields: LastUpdateFields) {
|
|
49
|
+
return {
|
|
50
|
+
slot: fields.slot,
|
|
51
|
+
stale: fields.stale,
|
|
52
|
+
priceStatus: fields.priceStatus,
|
|
53
|
+
placeholder: fields.placeholder,
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
toJSON(): LastUpdateJSON {
|
|
58
|
+
return {
|
|
59
|
+
slot: this.slot.toString(),
|
|
60
|
+
stale: this.stale,
|
|
61
|
+
priceStatus: this.priceStatus,
|
|
62
|
+
placeholder: this.placeholder,
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
static fromJSON(obj: LastUpdateJSON): LastUpdate {
|
|
67
|
+
return new LastUpdate({
|
|
68
|
+
slot: new BN(obj.slot),
|
|
69
|
+
stale: obj.stale,
|
|
70
|
+
priceStatus: obj.priceStatus,
|
|
71
|
+
placeholder: obj.placeholder,
|
|
72
|
+
})
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
toEncodable() {
|
|
76
|
+
return LastUpdate.toEncodable(this)
|
|
77
|
+
}
|
|
78
|
+
}
|