@kamino-finance/klend-sdk 7.1.4-beta.0 → 7.1.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/@codegen/klend/accounts/LendingMarket.d.ts +3 -144
- package/dist/@codegen/klend/accounts/LendingMarket.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/LendingMarket.js +3 -105
- package/dist/@codegen/klend/accounts/LendingMarket.js.map +1 -1
- package/dist/@codegen/klend/accounts/Obligation.d.ts +15 -30
- package/dist/@codegen/klend/accounts/Obligation.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/Obligation.js +21 -31
- package/dist/@codegen/klend/accounts/Obligation.js.map +1 -1
- package/dist/@codegen/klend/accounts/Reserve.d.ts +0 -6
- package/dist/@codegen/klend/accounts/Reserve.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/Reserve.js +2 -9
- package/dist/@codegen/klend/accounts/Reserve.js.map +1 -1
- package/dist/@codegen/klend/accounts/UserState.d.ts +75 -0
- package/dist/@codegen/klend/accounts/UserState.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/UserState.js +25 -0
- package/dist/@codegen/klend/accounts/UserState.js.map +1 -1
- package/dist/@codegen/klend/accounts/index.d.ts +0 -6
- package/dist/@codegen/klend/accounts/index.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/index.js +1 -7
- package/dist/@codegen/klend/accounts/index.js.map +1 -1
- package/dist/@codegen/klend/errors/custom.d.ts +2 -226
- package/dist/@codegen/klend/errors/custom.d.ts.map +1 -1
- package/dist/@codegen/klend/errors/custom.js +3 -396
- package/dist/@codegen/klend/errors/custom.js.map +1 -1
- package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts +2 -1
- package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/idlMissingTypes.js +2 -6
- package/dist/@codegen/klend/instructions/idlMissingTypes.js.map +1 -1
- package/dist/@codegen/klend/instructions/index.d.ts +0 -16
- package/dist/@codegen/klend/instructions/index.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/index.js +1 -18
- package/dist/@codegen/klend/instructions/index.js.map +1 -1
- package/dist/@codegen/klend/instructions/initReserve.d.ts +1 -1
- package/dist/@codegen/klend/instructions/initReserve.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/initReserve.js +5 -1
- package/dist/@codegen/klend/instructions/initReserve.js.map +1 -1
- package/dist/@codegen/klend/instructions/liquidateObligationAndRedeemReserveCollateral.js +1 -1
- package/dist/@codegen/klend/instructions/updateGlobalConfig.d.ts +1 -1
- package/dist/@codegen/klend/instructions/updateGlobalConfig.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/updateGlobalConfig.js +0 -1
- package/dist/@codegen/klend/instructions/updateGlobalConfig.js.map +1 -1
- package/dist/@codegen/klend/instructions/updateReserveConfig.d.ts +1 -1
- package/dist/@codegen/klend/instructions/updateReserveConfig.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/updateReserveConfig.js +0 -1
- package/dist/@codegen/klend/instructions/updateReserveConfig.js.map +1 -1
- package/dist/@codegen/klend/instructions/withdrawObligationCollateral.js +1 -1
- package/dist/@codegen/klend/instructions/withdrawObligationCollateralV2.js +1 -1
- package/dist/@codegen/klend/types/AssetTier.d.ts +45 -0
- package/dist/@codegen/klend/types/AssetTier.d.ts.map +1 -0
- package/dist/@codegen/klend/types/AssetTier.js +132 -0
- package/dist/@codegen/klend/types/AssetTier.js.map +1 -0
- package/dist/@codegen/klend/types/ObligationLiquidity.d.ts +5 -35
- package/dist/@codegen/klend/types/ObligationLiquidity.d.ts.map +1 -1
- package/dist/@codegen/klend/types/ObligationLiquidity.js +7 -17
- package/dist/@codegen/klend/types/ObligationLiquidity.js.map +1 -1
- package/dist/@codegen/klend/types/ObligationOrder.d.ts +4 -4
- package/dist/@codegen/klend/types/ObligationOrder.js +2 -2
- package/dist/@codegen/klend/types/ReserveConfig.d.ts +29 -141
- package/dist/@codegen/klend/types/ReserveConfig.d.ts.map +1 -1
- package/dist/@codegen/klend/types/ReserveConfig.js +25 -89
- package/dist/@codegen/klend/types/ReserveConfig.js.map +1 -1
- package/dist/@codegen/klend/types/ReserveFees.d.ts +8 -8
- package/dist/@codegen/klend/types/ReserveFees.d.ts.map +1 -1
- package/dist/@codegen/klend/types/ReserveFees.js +8 -8
- package/dist/@codegen/klend/types/ReserveFees.js.map +1 -1
- package/dist/@codegen/klend/types/ReserveLiquidity.d.ts +8 -26
- package/dist/@codegen/klend/types/ReserveLiquidity.d.ts.map +1 -1
- package/dist/@codegen/klend/types/ReserveLiquidity.js +8 -14
- package/dist/@codegen/klend/types/ReserveLiquidity.js.map +1 -1
- package/dist/@codegen/klend/types/UpdateConfigMode.d.ts +14 -92
- package/dist/@codegen/klend/types/UpdateConfigMode.d.ts.map +1 -1
- package/dist/@codegen/klend/types/UpdateConfigMode.js +23 -168
- package/dist/@codegen/klend/types/UpdateConfigMode.js.map +1 -1
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts +0 -130
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts.map +1 -1
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.js +1 -241
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.js.map +1 -1
- package/dist/@codegen/klend/types/index.d.ts +8 -10
- package/dist/@codegen/klend/types/index.d.ts.map +1 -1
- package/dist/@codegen/klend/types/index.js +3 -7
- package/dist/@codegen/klend/types/index.js.map +1 -1
- package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts +4 -9
- package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts.map +1 -1
- package/dist/@codegen/klend/zero_padding/ObligationZP.js +13 -22
- package/dist/@codegen/klend/zero_padding/ObligationZP.js.map +1 -1
- package/dist/classes/action.d.ts +3 -30
- package/dist/classes/action.d.ts.map +1 -1
- package/dist/classes/action.js +10 -364
- package/dist/classes/action.js.map +1 -1
- package/dist/classes/manager.d.ts.map +1 -1
- package/dist/classes/manager.js +0 -10
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/market.d.ts +2 -6
- package/dist/classes/market.d.ts.map +1 -1
- package/dist/classes/market.js +6 -26
- package/dist/classes/market.js.map +1 -1
- package/dist/classes/obligation.js +1 -1
- package/dist/classes/obligation.js.map +1 -1
- package/dist/classes/reserve.d.ts.map +1 -1
- package/dist/classes/reserve.js +7 -13
- package/dist/classes/reserve.js.map +1 -1
- package/dist/classes/unstakingPool.d.ts +3 -20
- package/dist/classes/unstakingPool.d.ts.map +1 -1
- package/dist/classes/unstakingPool.js +8 -62
- package/dist/classes/unstakingPool.js.map +1 -1
- package/dist/classes/vault.d.ts +1 -1
- package/dist/classes/vault.d.ts.map +1 -1
- package/dist/classes/vault.js +46 -28
- package/dist/classes/vault.js.map +1 -1
- package/dist/idl/klend.json +293 -2186
- package/dist/lending_operations/index.d.ts +0 -1
- package/dist/lending_operations/index.d.ts.map +1 -1
- package/dist/lending_operations/index.js +0 -1
- package/dist/lending_operations/index.js.map +1 -1
- package/dist/manager/client_kamino_manager.js +9 -12
- package/dist/manager/client_kamino_manager.js.map +1 -1
- package/dist/utils/ata.d.ts +10 -1
- package/dist/utils/ata.d.ts.map +1 -1
- package/dist/utils/ata.js +47 -0
- package/dist/utils/ata.js.map +1 -1
- package/dist/utils/managerTypes.d.ts.map +1 -1
- package/dist/utils/managerTypes.js +4 -9
- package/dist/utils/managerTypes.js.map +1 -1
- package/dist/utils/seeds.d.ts +14 -10
- package/dist/utils/seeds.d.ts.map +1 -1
- package/dist/utils/seeds.js +22 -25
- package/dist/utils/seeds.js.map +1 -1
- package/package.json +1 -1
- package/src/@codegen/klend/accounts/LendingMarket.ts +5 -210
- package/src/@codegen/klend/accounts/Obligation.ts +31 -53
- package/src/@codegen/klend/accounts/Reserve.ts +2 -13
- package/src/@codegen/klend/accounts/UserState.ts +75 -0
- package/src/@codegen/klend/accounts/index.ts +0 -6
- package/src/@codegen/klend/errors/custom.ts +2 -427
- package/src/@codegen/klend/instructions/idlMissingTypes.ts +4 -7
- package/src/@codegen/klend/instructions/index.ts +0 -34
- package/src/@codegen/klend/instructions/initReserve.ts +6 -2
- package/src/@codegen/klend/instructions/liquidateObligationAndRedeemReserveCollateral.ts +1 -1
- package/src/@codegen/klend/instructions/updateGlobalConfig.ts +1 -2
- package/src/@codegen/klend/instructions/updateReserveConfig.ts +1 -2
- package/src/@codegen/klend/instructions/withdrawObligationCollateral.ts +1 -1
- package/src/@codegen/klend/instructions/withdrawObligationCollateralV2.ts +1 -1
- package/src/@codegen/klend/types/AssetTier.ts +119 -0
- package/src/@codegen/klend/types/ObligationLiquidity.ts +9 -39
- package/src/@codegen/klend/types/ObligationOrder.ts +4 -4
- package/src/@codegen/klend/types/ReserveConfig.ts +39 -171
- package/src/@codegen/klend/types/ReserveFees.ts +12 -12
- package/src/@codegen/klend/types/ReserveLiquidity.ts +12 -30
- package/src/@codegen/klend/types/UpdateConfigMode.ts +26 -206
- package/src/@codegen/klend/types/UpdateLendingMarketMode.ts +0 -300
- package/src/@codegen/klend/types/index.ts +16 -45
- package/src/@codegen/klend/zero_padding/ObligationZP.ts +13 -22
- package/src/classes/action.ts +8 -577
- package/src/classes/manager.ts +0 -11
- package/src/classes/market.ts +5 -36
- package/src/classes/obligation.ts +1 -1
- package/src/classes/reserve.ts +8 -13
- package/src/classes/unstakingPool.ts +6 -83
- package/src/classes/vault.ts +57 -38
- package/src/idl/klend.json +294 -2187
- package/src/lending_operations/index.ts +0 -1
- package/src/manager/client_kamino_manager.ts +9 -13
- package/src/utils/ata.ts +79 -0
- package/src/utils/managerTypes.ts +4 -9
- package/src/utils/seeds.ts +26 -28
- package/dist/@codegen/klend/accounts/PoolState.d.ts +0 -53
- package/dist/@codegen/klend/accounts/PoolState.d.ts.map +0 -1
- package/dist/@codegen/klend/accounts/PoolState.js +0 -167
- package/dist/@codegen/klend/accounts/PoolState.js.map +0 -1
- package/dist/@codegen/klend/accounts/UnstakeTicket.d.ts +0 -41
- package/dist/@codegen/klend/accounts/UnstakeTicket.d.ts.map +0 -1
- package/dist/@codegen/klend/accounts/UnstakeTicket.js +0 -143
- package/dist/@codegen/klend/accounts/UnstakeTicket.js.map +0 -1
- package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts +0 -132
- package/dist/@codegen/klend/accounts/WithdrawTicket.d.ts.map +0 -1
- package/dist/@codegen/klend/accounts/WithdrawTicket.js +0 -191
- package/dist/@codegen/klend/accounts/WithdrawTicket.js.map +0 -1
- package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts +0 -39
- package/dist/@codegen/klend/instructions/enqueueToWithdraw.d.ts.map +0 -1
- package/dist/@codegen/klend/instructions/enqueueToWithdraw.js +0 -67
- package/dist/@codegen/klend/instructions/enqueueToWithdraw.js.map +0 -1
- package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts +0 -36
- package/dist/@codegen/klend/instructions/fillBorrowOrder.d.ts.map +0 -1
- package/dist/@codegen/klend/instructions/fillBorrowOrder.js +0 -49
- package/dist/@codegen/klend/instructions/fillBorrowOrder.js.map +0 -1
- package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts +0 -47
- package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.d.ts.map +0 -1
- package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js +0 -66
- package/dist/@codegen/klend/instructions/recoverInvalidTicketCollateral.js.map +0 -1
- package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts +0 -31
- package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts.map +0 -1
- package/dist/@codegen/klend/instructions/setBorrowOrder.js +0 -64
- package/dist/@codegen/klend/instructions/setBorrowOrder.js.map +0 -1
- package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.d.ts +0 -53
- package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.d.ts.map +0 -1
- package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.js +0 -190
- package/dist/@codegen/klend/instructions/unstakeLstCollateralEnd.js.map +0 -1
- package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.d.ts +0 -70
- package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.d.ts.map +0 -1
- package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.js +0 -261
- package/dist/@codegen/klend/instructions/unstakeLstCollateralStart.js.map +0 -1
- package/dist/@codegen/klend/instructions/withdrawObligationUsol.d.ts +0 -41
- package/dist/@codegen/klend/instructions/withdrawObligationUsol.d.ts.map +0 -1
- package/dist/@codegen/klend/instructions/withdrawObligationUsol.js +0 -135
- package/dist/@codegen/klend/instructions/withdrawObligationUsol.js.map +0 -1
- package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts +0 -51
- package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.d.ts.map +0 -1
- package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js +0 -28
- package/dist/@codegen/klend/instructions/withdrawQueuedLiquidity.js.map +0 -1
- package/dist/@codegen/klend/types/BorrowOrder.d.ts +0 -192
- package/dist/@codegen/klend/types/BorrowOrder.d.ts.map +0 -1
- package/dist/@codegen/klend/types/BorrowOrder.js +0 -194
- package/dist/@codegen/klend/types/BorrowOrder.js.map +0 -1
- package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts +0 -39
- package/dist/@codegen/klend/types/BorrowOrderConfigArgs.d.ts.map +0 -1
- package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js +0 -100
- package/dist/@codegen/klend/types/BorrowOrderConfigArgs.js.map +0 -1
- package/dist/@codegen/klend/types/WithdrawQueue.d.ts +0 -64
- package/dist/@codegen/klend/types/WithdrawQueue.d.ts.map +0 -1
- package/dist/@codegen/klend/types/WithdrawQueue.js +0 -104
- package/dist/@codegen/klend/types/WithdrawQueue.js.map +0 -1
- package/dist/lending_operations/unstake_lst_collateral.d.ts +0 -12
- package/dist/lending_operations/unstake_lst_collateral.d.ts.map +0 -1
- package/dist/lending_operations/unstake_lst_collateral.js +0 -104
- package/dist/lending_operations/unstake_lst_collateral.js.map +0 -1
- package/src/@codegen/klend/accounts/PoolState.ts +0 -192
- package/src/@codegen/klend/accounts/UnstakeTicket.ts +0 -160
- package/src/@codegen/klend/accounts/WithdrawTicket.ts +0 -256
- package/src/@codegen/klend/instructions/enqueueToWithdraw.ts +0 -89
- package/src/@codegen/klend/instructions/fillBorrowOrder.ts +0 -96
- package/src/@codegen/klend/instructions/recoverInvalidTicketCollateral.ts +0 -96
- package/src/@codegen/klend/instructions/setBorrowOrder.ts +0 -77
- package/src/@codegen/klend/instructions/unstakeLstCollateralEnd.ts +0 -251
- package/src/@codegen/klend/instructions/unstakeLstCollateralStart.ts +0 -353
- package/src/@codegen/klend/instructions/withdrawObligationUsol.ts +0 -168
- package/src/@codegen/klend/instructions/withdrawQueuedLiquidity.ts +0 -92
- package/src/@codegen/klend/types/BorrowOrder.ts +0 -267
- package/src/@codegen/klend/types/BorrowOrderConfigArgs.ts +0 -87
- package/src/@codegen/klend/types/WithdrawQueue.ts +0 -117
- package/src/lending_operations/unstake_lst_collateral.ts +0 -174
|
@@ -763,7 +763,7 @@ async function main() {
|
|
|
763
763
|
vaultState,
|
|
764
764
|
useVaultPendingAdmin: true,
|
|
765
765
|
});
|
|
766
|
-
const instructions = await kaminoManager.acceptVaultOwnershipIxs(kaminoVault);
|
|
766
|
+
const instructions = await kaminoManager.acceptVaultOwnershipIxs(kaminoVault, pendingAdmin);
|
|
767
767
|
|
|
768
768
|
await processTx(
|
|
769
769
|
env.c,
|
|
@@ -1470,7 +1470,6 @@ async function main() {
|
|
|
1470
1470
|
const slot = await env.c.rpc.getSlot({ commitment: 'confirmed' }).send();
|
|
1471
1471
|
const tokensPerShare = await kaminoManager.getTokensPerShareSingleVault(kaminoVault, slot);
|
|
1472
1472
|
const holdings = await kaminoManager.getVaultHoldings(kaminoVault.state!, slot);
|
|
1473
|
-
|
|
1474
1473
|
const vaultState = kaminoVault.state!;
|
|
1475
1474
|
|
|
1476
1475
|
const sharesIssued = lamportsToDecimal(
|
|
@@ -1991,10 +1990,11 @@ function parseReserveConfigFromFile(reserveConfigFromFile: any): ReserveConfig {
|
|
|
1991
1990
|
protocolLiquidationFeePct: reserveConfigFromFile.protocolLiquidationFeePct,
|
|
1992
1991
|
protocolOrderExecutionFeePct: reserveConfigFromFile.protocolOrderExecutionFeePct,
|
|
1993
1992
|
protocolTakeRatePct: reserveConfigFromFile.protocolTakeRatePct,
|
|
1993
|
+
assetTier: reserveConfigFromFile.assetTier,
|
|
1994
1994
|
maxLiquidationBonusBps: reserveConfigFromFile.maxLiquidationBonusBps,
|
|
1995
1995
|
badDebtLiquidationBonusBps: reserveConfigFromFile.badDebtLiquidationBonusBps,
|
|
1996
1996
|
fees: {
|
|
1997
|
-
|
|
1997
|
+
borrowFeeSf: Fraction.fromDecimal(new Decimal(reserveConfigFromFile.fees.borrowFee)).valueSf,
|
|
1998
1998
|
flashLoanFeeSf: Fraction.fromDecimal(new Decimal(reserveConfigFromFile.fees.flashLoanFee)).valueSf,
|
|
1999
1999
|
padding: Array(8).fill(0),
|
|
2000
2000
|
},
|
|
@@ -2039,14 +2039,8 @@ function parseReserveConfigFromFile(reserveConfigFromFile: any): ReserveConfig {
|
|
|
2039
2039
|
borrowLimitOutsideElevationGroup: new BN(reserveConfigFromFile.borrowLimitOutsideElevationGroup),
|
|
2040
2040
|
borrowLimitAgainstThisCollateralInElevationGroup: parseReserveBorrowLimitAgainstCollInEmode(reserveConfigFromFile),
|
|
2041
2041
|
deleveragingBonusIncreaseBpsPerDay: new BN(reserveConfigFromFile.deleveragingBonusIncreaseBpsPerDay),
|
|
2042
|
-
|
|
2043
|
-
|
|
2044
|
-
debtTermSeconds: new BN(reserveConfigFromFile.debtTermSeconds),
|
|
2045
|
-
minDeleveragingBonusBps: reserveConfigFromFile.minDeleveragingBonusBps,
|
|
2046
|
-
proposerAuthorityLocked: reserveConfigFromFile.proposerAuthorityLocked,
|
|
2047
|
-
reserved1: Array(6).fill(0),
|
|
2048
|
-
paddingDeprecatedAssetTier: 0,
|
|
2049
|
-
ltvLamportsMargin: new BN(0),
|
|
2042
|
+
reserved1: Array(1).fill(0),
|
|
2043
|
+
reserved2: Array(9).fill(0),
|
|
2050
2044
|
};
|
|
2051
2045
|
|
|
2052
2046
|
return new ReserveConfig(reserveConfigFields);
|
|
@@ -2126,10 +2120,11 @@ function parseReserveConfigToFile(reserveConfig: ReserveConfig) {
|
|
|
2126
2120
|
protocolLiquidationFeePct: reserveConfig.protocolLiquidationFeePct,
|
|
2127
2121
|
protocolOrderExecutionFeePct: reserveConfig.protocolOrderExecutionFeePct,
|
|
2128
2122
|
protocolTakeRatePct: reserveConfig.protocolTakeRatePct,
|
|
2123
|
+
assetTier: reserveConfig.assetTier,
|
|
2129
2124
|
maxLiquidationBonusBps: reserveConfig.maxLiquidationBonusBps,
|
|
2130
2125
|
badDebtLiquidationBonusBps: reserveConfig.badDebtLiquidationBonusBps,
|
|
2131
2126
|
fees: {
|
|
2132
|
-
borrowFee: new Fraction(reserveConfig.fees.
|
|
2127
|
+
borrowFee: new Fraction(reserveConfig.fees.borrowFeeSf).toDecimal().toString(),
|
|
2133
2128
|
flashLoanFee: new Fraction(reserveConfig.fees.flashLoanFeeSf).toDecimal().toString(),
|
|
2134
2129
|
padding: Array(8).fill(0),
|
|
2135
2130
|
},
|
|
@@ -2165,7 +2160,8 @@ function parseReserveConfigToFile(reserveConfig: ReserveConfig) {
|
|
|
2165
2160
|
borrowLimitAgainstThisCollateralInElevationGroup:
|
|
2166
2161
|
reserveConfig.borrowLimitAgainstThisCollateralInElevationGroup.map((entry) => entry.toString()),
|
|
2167
2162
|
deleveragingBonusIncreaseBpsPerDay: reserveConfig.deleveragingBonusIncreaseBpsPerDay.toString(),
|
|
2168
|
-
reserved1: Array(
|
|
2163
|
+
reserved1: Array(2).fill(0),
|
|
2164
|
+
reserved2: Array(9).fill(0),
|
|
2169
2165
|
};
|
|
2170
2166
|
}
|
|
2171
2167
|
|
package/src/utils/ata.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
|
+
AccountInfoBase,
|
|
3
|
+
AccountInfoWithJsonData,
|
|
4
|
+
AccountInfoWithPubkey,
|
|
2
5
|
Address,
|
|
6
|
+
Base58EncodedBytes,
|
|
3
7
|
fetchEncodedAccount,
|
|
4
8
|
GetAccountInfoApi,
|
|
5
9
|
GetMultipleAccountsApi,
|
|
@@ -8,6 +12,7 @@ import {
|
|
|
8
12
|
Lamports,
|
|
9
13
|
MaybeAccount,
|
|
10
14
|
Rpc,
|
|
15
|
+
SolanaRpcApi,
|
|
11
16
|
TransactionSigner,
|
|
12
17
|
} from '@solana/kit';
|
|
13
18
|
import Decimal from 'decimal.js';
|
|
@@ -262,3 +267,77 @@ export const createWsolAtaIfMissing = async (
|
|
|
262
267
|
closeAtaIxs: closeIxs,
|
|
263
268
|
};
|
|
264
269
|
};
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* Get all standard token accounts for tokens using old Token Program, not Token 2022 for a given wallet
|
|
273
|
+
* @param rpc - Solana RPC rpc (read)
|
|
274
|
+
* @param wallet - wallet to get the token accounts for
|
|
275
|
+
* @returns an array of all token accounts for the given wallet
|
|
276
|
+
*/
|
|
277
|
+
export async function getAllStandardTokenProgramTokenAccounts(
|
|
278
|
+
rpc: Rpc<SolanaRpcApi>,
|
|
279
|
+
wallet: Address
|
|
280
|
+
): Promise<AccountInfoWithPubkey<AccountInfoBase & AccountInfoWithJsonData>[]> {
|
|
281
|
+
return rpc
|
|
282
|
+
.getProgramAccounts(TOKEN_PROGRAM_ADDRESS, {
|
|
283
|
+
filters: [
|
|
284
|
+
{ dataSize: 165n },
|
|
285
|
+
{ memcmp: { offset: 32n, bytes: wallet.toString() as Base58EncodedBytes, encoding: 'base58' } },
|
|
286
|
+
],
|
|
287
|
+
encoding: 'jsonParsed',
|
|
288
|
+
})
|
|
289
|
+
.send();
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// Type definitions for parsed token account data
|
|
293
|
+
interface ParsedTokenAccountInfo {
|
|
294
|
+
mint: string;
|
|
295
|
+
owner: string;
|
|
296
|
+
tokenAmount: {
|
|
297
|
+
amount: string;
|
|
298
|
+
decimals: number;
|
|
299
|
+
uiAmount: number | null;
|
|
300
|
+
uiAmountString: string;
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
interface ParsedTokenAccountData {
|
|
305
|
+
parsed: {
|
|
306
|
+
info: ParsedTokenAccountInfo;
|
|
307
|
+
type: string;
|
|
308
|
+
};
|
|
309
|
+
program: string;
|
|
310
|
+
space: bigint;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
// Type guard to check if account data is parsed
|
|
314
|
+
function isParsedTokenAccountData(data: any): data is ParsedTokenAccountData {
|
|
315
|
+
return (
|
|
316
|
+
data &&
|
|
317
|
+
typeof data === 'object' &&
|
|
318
|
+
'parsed' in data &&
|
|
319
|
+
data.parsed &&
|
|
320
|
+
typeof data.parsed === 'object' &&
|
|
321
|
+
'info' in data.parsed &&
|
|
322
|
+
data.parsed.info &&
|
|
323
|
+
typeof data.parsed.info === 'object' &&
|
|
324
|
+
'mint' in data.parsed.info &&
|
|
325
|
+
'tokenAmount' in data.parsed.info
|
|
326
|
+
);
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
// Helper function to safely get mint from parsed token account
|
|
330
|
+
export function getTokenAccountMint(accountData: any): string | null {
|
|
331
|
+
if (isParsedTokenAccountData(accountData)) {
|
|
332
|
+
return accountData.parsed.info.mint;
|
|
333
|
+
}
|
|
334
|
+
return null;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
// Helper function to safely get token amount from parsed token account
|
|
338
|
+
export function getTokenAccountAmount(accountData: any): number | null {
|
|
339
|
+
if (isParsedTokenAccountData(accountData)) {
|
|
340
|
+
return accountData.parsed.info.tokenAmount.uiAmount;
|
|
341
|
+
}
|
|
342
|
+
return null;
|
|
343
|
+
}
|
|
@@ -306,10 +306,11 @@ function buildReserveConfig(fields: {
|
|
|
306
306
|
protocolLiquidationFeePct: 0,
|
|
307
307
|
protocolOrderExecutionFeePct: 0,
|
|
308
308
|
protocolTakeRatePct: fields.configParams.protocolTakeRate,
|
|
309
|
+
assetTier: 0,
|
|
309
310
|
maxLiquidationBonusBps: fields.configParams.maxLiquidationBonusBps,
|
|
310
311
|
badDebtLiquidationBonusBps: fields.configParams.badDebtLiquidationBonusBps,
|
|
311
312
|
fees: {
|
|
312
|
-
|
|
313
|
+
borrowFeeSf: fields.configParams.borrowFeeSf.getValue(),
|
|
313
314
|
flashLoanFeeSf: fields.configParams.flashLoanFeeSf.getValue(),
|
|
314
315
|
padding: Array(6).fill(0),
|
|
315
316
|
},
|
|
@@ -368,14 +369,8 @@ function buildReserveConfig(fields: {
|
|
|
368
369
|
),
|
|
369
370
|
borrowLimitAgainstThisCollateralInElevationGroup: Array(32).fill(new BN(0)),
|
|
370
371
|
deleveragingBonusIncreaseBpsPerDay: new BN(100),
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
debtTermSeconds: new BN(0),
|
|
374
|
-
minDeleveragingBonusBps: 0,
|
|
375
|
-
proposerAuthorityLocked: 0,
|
|
376
|
-
ltvLamportsMargin: new BN(0),
|
|
377
|
-
reserved1: Array(6).fill(0),
|
|
378
|
-
paddingDeprecatedAssetTier: 0,
|
|
372
|
+
reserved1: Array(1).fill(0),
|
|
373
|
+
reserved2: Array(9).fill(0),
|
|
379
374
|
};
|
|
380
375
|
|
|
381
376
|
return new ReserveConfig(reserveConfigFields);
|
package/src/utils/seeds.ts
CHANGED
|
@@ -3,7 +3,6 @@ import { PROGRAM_ID } from '../@codegen/klend/programId';
|
|
|
3
3
|
import { PROGRAM_ID as FARMS_PROGRAM_ID } from '@kamino-finance/farms-sdk/dist/@codegen/farms/programId';
|
|
4
4
|
import { METADATA_PROGRAM_ID, METADATA_SEED } from '../classes/vault';
|
|
5
5
|
import { Buffer } from 'buffer';
|
|
6
|
-
import { UNSTAKING_POOL_AUTHORITY_SEED } from '../classes/unstakingPool';
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* Lending market authority seed
|
|
@@ -70,15 +69,16 @@ export interface ReservePdas {
|
|
|
70
69
|
/**
|
|
71
70
|
* Returns all the PDAs for the given reserve
|
|
72
71
|
* @param programId
|
|
73
|
-
* @param
|
|
72
|
+
* @param market
|
|
73
|
+
* @param mint
|
|
74
74
|
* @returns ReservePdas
|
|
75
75
|
*/
|
|
76
|
-
export async function reservePdas(programId: Address,
|
|
76
|
+
export async function reservePdas(programId: Address, market: Address, mint: Address): Promise<ReservePdas> {
|
|
77
77
|
const [[liquiditySupplyVault], [collateralMint], [collateralSupplyVault], [feeVault]] = await Promise.all([
|
|
78
|
-
reserveLiqSupplyPda(
|
|
79
|
-
reserveCollateralMintPda(
|
|
80
|
-
reserveCollateralSupplyPda(
|
|
81
|
-
reserveFeeVaultPda(
|
|
78
|
+
reserveLiqSupplyPda(market, mint, programId),
|
|
79
|
+
reserveCollateralMintPda(market, mint, programId),
|
|
80
|
+
reserveCollateralSupplyPda(market, mint, programId),
|
|
81
|
+
reserveFeeVaultPda(market, mint, programId),
|
|
82
82
|
]);
|
|
83
83
|
return {
|
|
84
84
|
liquiditySupplyVault,
|
|
@@ -107,63 +107,71 @@ export function lendingMarketAuthPda(
|
|
|
107
107
|
/**
|
|
108
108
|
* Returns the PDA and bump for the reserve liquidity supply
|
|
109
109
|
* @param lendingMarket
|
|
110
|
+
* @param mint
|
|
110
111
|
* @param programId
|
|
111
112
|
* @returns [pda, bump]
|
|
112
113
|
*/
|
|
113
114
|
export async function reserveLiqSupplyPda(
|
|
114
|
-
|
|
115
|
+
lendingMarket: Address,
|
|
116
|
+
mint: Address,
|
|
115
117
|
programId: Address = PROGRAM_ID
|
|
116
118
|
): Promise<ProgramDerivedAddress> {
|
|
117
119
|
return getProgramDerivedAddress({
|
|
118
|
-
seeds: [Buffer.from(RESERVE_LIQ_SUPPLY_SEED), addressEncoder.encode(
|
|
120
|
+
seeds: [Buffer.from(RESERVE_LIQ_SUPPLY_SEED), addressEncoder.encode(lendingMarket), addressEncoder.encode(mint)],
|
|
119
121
|
programAddress: programId,
|
|
120
122
|
});
|
|
121
123
|
}
|
|
122
124
|
|
|
123
125
|
/**
|
|
124
126
|
* Returns the PDA and bump for the reserve fee vault
|
|
125
|
-
* @param
|
|
127
|
+
* @param lendingMarket
|
|
128
|
+
* @param mint
|
|
126
129
|
* @param programId
|
|
127
130
|
* @returns [vaultPda, bump]
|
|
128
131
|
*/
|
|
129
132
|
export async function reserveFeeVaultPda(
|
|
130
|
-
|
|
133
|
+
lendingMarket: Address,
|
|
134
|
+
mint: Address,
|
|
131
135
|
programId: Address = PROGRAM_ID
|
|
132
136
|
): Promise<ProgramDerivedAddress> {
|
|
133
137
|
return getProgramDerivedAddress({
|
|
134
|
-
seeds: [Buffer.from(FEE_RECEIVER_SEED), addressEncoder.encode(
|
|
138
|
+
seeds: [Buffer.from(FEE_RECEIVER_SEED), addressEncoder.encode(lendingMarket), addressEncoder.encode(mint)],
|
|
135
139
|
programAddress: programId,
|
|
136
140
|
});
|
|
137
141
|
}
|
|
138
142
|
|
|
139
143
|
/**
|
|
140
144
|
* Returns the PDA and bump for the reserve collateral mint
|
|
141
|
-
* @param
|
|
145
|
+
* @param lendingMarket
|
|
146
|
+
* @param mint
|
|
142
147
|
* @param programId
|
|
143
148
|
* @returns [mintPda, bump]
|
|
144
149
|
*/
|
|
145
150
|
export async function reserveCollateralMintPda(
|
|
146
|
-
|
|
151
|
+
lendingMarket: Address,
|
|
152
|
+
mint: Address,
|
|
147
153
|
programId: Address = PROGRAM_ID
|
|
148
154
|
): Promise<ProgramDerivedAddress> {
|
|
149
155
|
return getProgramDerivedAddress({
|
|
150
|
-
seeds: [Buffer.from(RESERVE_COLL_MINT_SEED), addressEncoder.encode(
|
|
156
|
+
seeds: [Buffer.from(RESERVE_COLL_MINT_SEED), addressEncoder.encode(lendingMarket), addressEncoder.encode(mint)],
|
|
151
157
|
programAddress: programId,
|
|
152
158
|
});
|
|
153
159
|
}
|
|
154
160
|
|
|
155
161
|
/**
|
|
156
162
|
* Returns the PDA and bump for the reserve collateral supply
|
|
157
|
-
* @param
|
|
163
|
+
* @param lendingMarket
|
|
164
|
+
* @param mint
|
|
158
165
|
* @param programId
|
|
159
166
|
* @returns [pda, bump]
|
|
160
167
|
*/
|
|
161
168
|
export function reserveCollateralSupplyPda(
|
|
162
|
-
|
|
169
|
+
lendingMarket: Address,
|
|
170
|
+
mint: Address,
|
|
163
171
|
programId: Address = PROGRAM_ID
|
|
164
172
|
): Promise<ProgramDerivedAddress> {
|
|
165
173
|
return getProgramDerivedAddress({
|
|
166
|
-
seeds: [Buffer.from(RESERVE_COLL_SUPPLY_SEED), addressEncoder.encode(
|
|
174
|
+
seeds: [Buffer.from(RESERVE_COLL_SUPPLY_SEED), addressEncoder.encode(lendingMarket), addressEncoder.encode(mint)],
|
|
167
175
|
programAddress: programId,
|
|
168
176
|
});
|
|
169
177
|
}
|
|
@@ -282,13 +290,3 @@ export async function getKVaultSharesMetadataPda(mint: Address): Promise<Program
|
|
|
282
290
|
programAddress: METADATA_PROGRAM_ID,
|
|
283
291
|
});
|
|
284
292
|
}
|
|
285
|
-
|
|
286
|
-
export function unstakingPoolMarketAuthorityPda(
|
|
287
|
-
lendingMarket: Address,
|
|
288
|
-
programId: Address = PROGRAM_ID
|
|
289
|
-
): Promise<ProgramDerivedAddress> {
|
|
290
|
-
return getProgramDerivedAddress({
|
|
291
|
-
seeds: [UNSTAKING_POOL_AUTHORITY_SEED, addressEncoder.encode(lendingMarket)],
|
|
292
|
-
programAddress: programId,
|
|
293
|
-
});
|
|
294
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
|
|
2
|
-
import BN from "bn.js";
|
|
3
|
-
export interface PoolStateFields {
|
|
4
|
-
admin: Address;
|
|
5
|
-
pendingAdmin: Address;
|
|
6
|
-
basePoolAuthority: Address;
|
|
7
|
-
basePoolAuthorityBump: BN;
|
|
8
|
-
unstakingSolMint: Address;
|
|
9
|
-
wsolVault: Address;
|
|
10
|
-
actionAuthority: Address;
|
|
11
|
-
poolLookupTable: Address;
|
|
12
|
-
sharesIssued: BN;
|
|
13
|
-
wsolUnstaking: BN;
|
|
14
|
-
wsolInVault: BN;
|
|
15
|
-
padding: Array<BN>;
|
|
16
|
-
}
|
|
17
|
-
export interface PoolStateJSON {
|
|
18
|
-
admin: string;
|
|
19
|
-
pendingAdmin: string;
|
|
20
|
-
basePoolAuthority: string;
|
|
21
|
-
basePoolAuthorityBump: string;
|
|
22
|
-
unstakingSolMint: string;
|
|
23
|
-
wsolVault: string;
|
|
24
|
-
actionAuthority: string;
|
|
25
|
-
poolLookupTable: string;
|
|
26
|
-
sharesIssued: string;
|
|
27
|
-
wsolUnstaking: string;
|
|
28
|
-
wsolInVault: string;
|
|
29
|
-
padding: Array<string>;
|
|
30
|
-
}
|
|
31
|
-
export declare class PoolState {
|
|
32
|
-
readonly admin: Address;
|
|
33
|
-
readonly pendingAdmin: Address;
|
|
34
|
-
readonly basePoolAuthority: Address;
|
|
35
|
-
readonly basePoolAuthorityBump: BN;
|
|
36
|
-
readonly unstakingSolMint: Address;
|
|
37
|
-
readonly wsolVault: Address;
|
|
38
|
-
readonly actionAuthority: Address;
|
|
39
|
-
readonly poolLookupTable: Address;
|
|
40
|
-
readonly sharesIssued: BN;
|
|
41
|
-
readonly wsolUnstaking: BN;
|
|
42
|
-
readonly wsolInVault: BN;
|
|
43
|
-
readonly padding: Array<BN>;
|
|
44
|
-
static readonly discriminator: Buffer<ArrayBuffer>;
|
|
45
|
-
static readonly layout: import("buffer-layout").Layout<PoolState>;
|
|
46
|
-
constructor(fields: PoolStateFields);
|
|
47
|
-
static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<PoolState | null>;
|
|
48
|
-
static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<PoolState | null>>;
|
|
49
|
-
static decode(data: Buffer): PoolState;
|
|
50
|
-
toJSON(): PoolStateJSON;
|
|
51
|
-
static fromJSON(obj: PoolStateJSON): PoolState;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=PoolState.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PoolState.d.ts","sourceRoot":"","sources":["../../../../src/@codegen/klend/accounts/PoolState.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,OAAO,EAGP,iBAAiB,EACjB,sBAAsB,EACtB,GAAG,EACJ,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,MAAM,OAAO,CAAA;AAMtB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAA;IACd,YAAY,EAAE,OAAO,CAAA;IACrB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,qBAAqB,EAAE,EAAE,CAAA;IACzB,gBAAgB,EAAE,OAAO,CAAA;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,eAAe,EAAE,OAAO,CAAA;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,YAAY,EAAE,EAAE,CAAA;IAChB,aAAa,EAAE,EAAE,CAAA;IACjB,WAAW,EAAE,EAAE,CAAA;IACf,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,MAAM,CAAA;IACzB,qBAAqB,EAAE,MAAM,CAAA;IAC7B,gBAAgB,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACvB;AAED,qBAAa,SAAS;IACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,qBAAqB,EAAE,EAAE,CAAA;IAClC,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,EAAE,CAAA;IACzB,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAA;IAC1B,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IAE3B,MAAM,CAAC,QAAQ,CAAC,aAAa,sBAE3B;IAEF,MAAM,CAAC,QAAQ,CAAC,MAAM,4CAapB;gBAEU,MAAM,EAAE,eAAe;WAetB,KAAK,CAChB,GAAG,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAC3B,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,OAAoB,GAC9B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;WAef,aAAa,CACxB,GAAG,EAAE,GAAG,CAAC,sBAAsB,CAAC,EAChC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,GAAE,OAAoB,GAC9B,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAiBnC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAuBtC,MAAM,IAAI,aAAa;IAiBvB,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS;CAgB/C"}
|
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.PoolState = void 0;
|
|
40
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
41
|
-
const kit_1 = require("@solana/kit");
|
|
42
|
-
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
43
|
-
const bn_js_1 = __importDefault(require("bn.js")); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
44
|
-
const borsh = __importStar(require("@coral-xyz/borsh")); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
45
|
-
const utils_1 = require("../utils"); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
46
|
-
const programId_1 = require("../programId");
|
|
47
|
-
class PoolState {
|
|
48
|
-
admin;
|
|
49
|
-
pendingAdmin;
|
|
50
|
-
basePoolAuthority;
|
|
51
|
-
basePoolAuthorityBump;
|
|
52
|
-
unstakingSolMint;
|
|
53
|
-
wsolVault;
|
|
54
|
-
actionAuthority;
|
|
55
|
-
poolLookupTable;
|
|
56
|
-
sharesIssued;
|
|
57
|
-
wsolUnstaking;
|
|
58
|
-
wsolInVault;
|
|
59
|
-
padding;
|
|
60
|
-
static discriminator = Buffer.from([
|
|
61
|
-
247, 237, 227, 245, 215, 195, 222, 70,
|
|
62
|
-
]);
|
|
63
|
-
static layout = borsh.struct([
|
|
64
|
-
(0, utils_1.borshAddress)("admin"),
|
|
65
|
-
(0, utils_1.borshAddress)("pendingAdmin"),
|
|
66
|
-
(0, utils_1.borshAddress)("basePoolAuthority"),
|
|
67
|
-
borsh.u64("basePoolAuthorityBump"),
|
|
68
|
-
(0, utils_1.borshAddress)("unstakingSolMint"),
|
|
69
|
-
(0, utils_1.borshAddress)("wsolVault"),
|
|
70
|
-
(0, utils_1.borshAddress)("actionAuthority"),
|
|
71
|
-
(0, utils_1.borshAddress)("poolLookupTable"),
|
|
72
|
-
borsh.u64("sharesIssued"),
|
|
73
|
-
borsh.u64("wsolUnstaking"),
|
|
74
|
-
borsh.u64("wsolInVault"),
|
|
75
|
-
borsh.array(borsh.u128(), 256, "padding"),
|
|
76
|
-
]);
|
|
77
|
-
constructor(fields) {
|
|
78
|
-
this.admin = fields.admin;
|
|
79
|
-
this.pendingAdmin = fields.pendingAdmin;
|
|
80
|
-
this.basePoolAuthority = fields.basePoolAuthority;
|
|
81
|
-
this.basePoolAuthorityBump = fields.basePoolAuthorityBump;
|
|
82
|
-
this.unstakingSolMint = fields.unstakingSolMint;
|
|
83
|
-
this.wsolVault = fields.wsolVault;
|
|
84
|
-
this.actionAuthority = fields.actionAuthority;
|
|
85
|
-
this.poolLookupTable = fields.poolLookupTable;
|
|
86
|
-
this.sharesIssued = fields.sharesIssued;
|
|
87
|
-
this.wsolUnstaking = fields.wsolUnstaking;
|
|
88
|
-
this.wsolInVault = fields.wsolInVault;
|
|
89
|
-
this.padding = fields.padding;
|
|
90
|
-
}
|
|
91
|
-
static async fetch(rpc, address, programId = programId_1.PROGRAM_ID) {
|
|
92
|
-
const info = await (0, kit_1.fetchEncodedAccount)(rpc, address);
|
|
93
|
-
if (!info.exists) {
|
|
94
|
-
return null;
|
|
95
|
-
}
|
|
96
|
-
if (info.programAddress !== programId) {
|
|
97
|
-
throw new Error(`PoolStateFields account ${address} belongs to wrong program ${info.programAddress}, expected ${programId}`);
|
|
98
|
-
}
|
|
99
|
-
return this.decode(Buffer.from(info.data));
|
|
100
|
-
}
|
|
101
|
-
static async fetchMultiple(rpc, addresses, programId = programId_1.PROGRAM_ID) {
|
|
102
|
-
const infos = await (0, kit_1.fetchEncodedAccounts)(rpc, addresses);
|
|
103
|
-
return infos.map((info) => {
|
|
104
|
-
if (!info.exists) {
|
|
105
|
-
return null;
|
|
106
|
-
}
|
|
107
|
-
if (info.programAddress !== programId) {
|
|
108
|
-
throw new Error(`PoolStateFields account ${info.address} belongs to wrong program ${info.programAddress}, expected ${programId}`);
|
|
109
|
-
}
|
|
110
|
-
return this.decode(Buffer.from(info.data));
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
static decode(data) {
|
|
114
|
-
if (!data.slice(0, 8).equals(PoolState.discriminator)) {
|
|
115
|
-
throw new Error("invalid account discriminator");
|
|
116
|
-
}
|
|
117
|
-
const dec = PoolState.layout.decode(data.slice(8));
|
|
118
|
-
return new PoolState({
|
|
119
|
-
admin: dec.admin,
|
|
120
|
-
pendingAdmin: dec.pendingAdmin,
|
|
121
|
-
basePoolAuthority: dec.basePoolAuthority,
|
|
122
|
-
basePoolAuthorityBump: dec.basePoolAuthorityBump,
|
|
123
|
-
unstakingSolMint: dec.unstakingSolMint,
|
|
124
|
-
wsolVault: dec.wsolVault,
|
|
125
|
-
actionAuthority: dec.actionAuthority,
|
|
126
|
-
poolLookupTable: dec.poolLookupTable,
|
|
127
|
-
sharesIssued: dec.sharesIssued,
|
|
128
|
-
wsolUnstaking: dec.wsolUnstaking,
|
|
129
|
-
wsolInVault: dec.wsolInVault,
|
|
130
|
-
padding: dec.padding,
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
toJSON() {
|
|
134
|
-
return {
|
|
135
|
-
admin: this.admin,
|
|
136
|
-
pendingAdmin: this.pendingAdmin,
|
|
137
|
-
basePoolAuthority: this.basePoolAuthority,
|
|
138
|
-
basePoolAuthorityBump: this.basePoolAuthorityBump.toString(),
|
|
139
|
-
unstakingSolMint: this.unstakingSolMint,
|
|
140
|
-
wsolVault: this.wsolVault,
|
|
141
|
-
actionAuthority: this.actionAuthority,
|
|
142
|
-
poolLookupTable: this.poolLookupTable,
|
|
143
|
-
sharesIssued: this.sharesIssued.toString(),
|
|
144
|
-
wsolUnstaking: this.wsolUnstaking.toString(),
|
|
145
|
-
wsolInVault: this.wsolInVault.toString(),
|
|
146
|
-
padding: this.padding.map((item) => item.toString()),
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
static fromJSON(obj) {
|
|
150
|
-
return new PoolState({
|
|
151
|
-
admin: (0, kit_1.address)(obj.admin),
|
|
152
|
-
pendingAdmin: (0, kit_1.address)(obj.pendingAdmin),
|
|
153
|
-
basePoolAuthority: (0, kit_1.address)(obj.basePoolAuthority),
|
|
154
|
-
basePoolAuthorityBump: new bn_js_1.default(obj.basePoolAuthorityBump),
|
|
155
|
-
unstakingSolMint: (0, kit_1.address)(obj.unstakingSolMint),
|
|
156
|
-
wsolVault: (0, kit_1.address)(obj.wsolVault),
|
|
157
|
-
actionAuthority: (0, kit_1.address)(obj.actionAuthority),
|
|
158
|
-
poolLookupTable: (0, kit_1.address)(obj.poolLookupTable),
|
|
159
|
-
sharesIssued: new bn_js_1.default(obj.sharesIssued),
|
|
160
|
-
wsolUnstaking: new bn_js_1.default(obj.wsolUnstaking),
|
|
161
|
-
wsolInVault: new bn_js_1.default(obj.wsolInVault),
|
|
162
|
-
padding: obj.padding.map((item) => new bn_js_1.default(item)),
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
exports.PoolState = PoolState;
|
|
167
|
-
//# sourceMappingURL=PoolState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PoolState.js","sourceRoot":"","sources":["../../../../src/@codegen/klend/accounts/PoolState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Address, GetAccountInfoApi, GetMultipleAccountsApi, Rpc } from "@solana/kit";
|
|
2
|
-
import BN from "bn.js";
|
|
3
|
-
export interface UnstakeTicketFields {
|
|
4
|
-
authority: Address;
|
|
5
|
-
poolState: Address;
|
|
6
|
-
obligationMetadata: Address;
|
|
7
|
-
initialUsol: BN;
|
|
8
|
-
remainingUsol: BN;
|
|
9
|
-
minimumEpochToBurn: BN;
|
|
10
|
-
padding0: Array<BN>;
|
|
11
|
-
padding: Array<BN>;
|
|
12
|
-
}
|
|
13
|
-
export interface UnstakeTicketJSON {
|
|
14
|
-
authority: string;
|
|
15
|
-
poolState: string;
|
|
16
|
-
obligationMetadata: string;
|
|
17
|
-
initialUsol: string;
|
|
18
|
-
remainingUsol: string;
|
|
19
|
-
minimumEpochToBurn: string;
|
|
20
|
-
padding0: Array<string>;
|
|
21
|
-
padding: Array<string>;
|
|
22
|
-
}
|
|
23
|
-
export declare class UnstakeTicket {
|
|
24
|
-
readonly authority: Address;
|
|
25
|
-
readonly poolState: Address;
|
|
26
|
-
readonly obligationMetadata: Address;
|
|
27
|
-
readonly initialUsol: BN;
|
|
28
|
-
readonly remainingUsol: BN;
|
|
29
|
-
readonly minimumEpochToBurn: BN;
|
|
30
|
-
readonly padding0: Array<BN>;
|
|
31
|
-
readonly padding: Array<BN>;
|
|
32
|
-
static readonly discriminator: Buffer<ArrayBuffer>;
|
|
33
|
-
static readonly layout: import("buffer-layout").Layout<UnstakeTicket>;
|
|
34
|
-
constructor(fields: UnstakeTicketFields);
|
|
35
|
-
static fetch(rpc: Rpc<GetAccountInfoApi>, address: Address, programId?: Address): Promise<UnstakeTicket | null>;
|
|
36
|
-
static fetchMultiple(rpc: Rpc<GetMultipleAccountsApi>, addresses: Address[], programId?: Address): Promise<Array<UnstakeTicket | null>>;
|
|
37
|
-
static decode(data: Buffer): UnstakeTicket;
|
|
38
|
-
toJSON(): UnstakeTicketJSON;
|
|
39
|
-
static fromJSON(obj: UnstakeTicketJSON): UnstakeTicket;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=UnstakeTicket.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UnstakeTicket.d.ts","sourceRoot":"","sources":["../../../../src/@codegen/klend/accounts/UnstakeTicket.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,OAAO,EAGP,iBAAiB,EACjB,sBAAsB,EACtB,GAAG,EACJ,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,MAAM,OAAO,CAAA;AAMtB,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,WAAW,EAAE,EAAE,CAAA;IACf,aAAa,EAAE,EAAE,CAAA;IACjB,kBAAkB,EAAE,EAAE,CAAA;IACtB,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IACnB,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACvB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;CACvB;AAED,qBAAa,aAAa;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAA;IACxB,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAA;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAA;IAE3B,MAAM,CAAC,QAAQ,CAAC,aAAa,sBAE3B;IAEF,MAAM,CAAC,QAAQ,CAAC,MAAM,gDASpB;gBAEU,MAAM,EAAE,mBAAmB;WAW1B,KAAK,CAChB,GAAG,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAC3B,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,OAAoB,GAC9B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;WAenB,aAAa,CACxB,GAAG,EAAE,GAAG,CAAC,sBAAsB,CAAC,EAChC,SAAS,EAAE,OAAO,EAAE,EACpB,SAAS,GAAE,OAAoB,GAC9B,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAiBvC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;IAmB1C,MAAM,IAAI,iBAAiB;IAa3B,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,aAAa;CAYvD"}
|