@kamino-finance/klend-sdk 7.4.0-beta.0 → 7.4.0-beta.1
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 -51
- package/dist/@codegen/klend/accounts/LendingMarket.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/LendingMarket.js +6 -39
- package/dist/@codegen/klend/accounts/LendingMarket.js.map +1 -1
- package/dist/@codegen/klend/accounts/Obligation.d.ts +15 -24
- package/dist/@codegen/klend/accounts/Obligation.d.ts.map +1 -1
- package/dist/@codegen/klend/accounts/Obligation.js +21 -24
- package/dist/@codegen/klend/accounts/Obligation.js.map +1 -1
- package/dist/@codegen/klend/accounts/Reserve.js +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/errors/custom.d.ts +1 -89
- package/dist/@codegen/klend/errors/custom.d.ts.map +1 -1
- package/dist/@codegen/klend/errors/custom.js +1 -155
- package/dist/@codegen/klend/errors/custom.js.map +1 -1
- package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts +1 -0
- package/dist/@codegen/klend/instructions/idlMissingTypes.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/idlMissingTypes.js +2 -0
- package/dist/@codegen/klend/instructions/idlMissingTypes.js.map +1 -1
- package/dist/@codegen/klend/instructions/index.d.ts +0 -4
- package/dist/@codegen/klend/instructions/index.d.ts.map +1 -1
- package/dist/@codegen/klend/instructions/index.js +1 -6
- package/dist/@codegen/klend/instructions/index.js.map +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 +5 -60
- package/dist/@codegen/klend/types/ReserveConfig.d.ts.map +1 -1
- package/dist/@codegen/klend/types/ReserveConfig.js +7 -36
- package/dist/@codegen/klend/types/ReserveConfig.js.map +1 -1
- package/dist/@codegen/klend/types/UpdateConfigMode.d.ts +7 -33
- package/dist/@codegen/klend/types/UpdateConfigMode.d.ts.map +1 -1
- package/dist/@codegen/klend/types/UpdateConfigMode.js +13 -61
- package/dist/@codegen/klend/types/UpdateConfigMode.js.map +1 -1
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts +0 -52
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.d.ts.map +1 -1
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.js +1 -97
- package/dist/@codegen/klend/types/UpdateLendingMarketMode.js.map +1 -1
- package/dist/@codegen/klend/types/index.d.ts +8 -8
- package/dist/@codegen/klend/types/index.d.ts.map +1 -1
- package/dist/@codegen/klend/types/index.js +3 -5
- package/dist/@codegen/klend/types/index.js.map +1 -1
- package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts +5 -8
- package/dist/@codegen/klend/zero_padding/ObligationZP.d.ts.map +1 -1
- package/dist/@codegen/klend/zero_padding/ObligationZP.js +14 -17
- package/dist/@codegen/klend/zero_padding/ObligationZP.js.map +1 -1
- package/dist/classes/action.d.ts +21 -91
- package/dist/classes/action.d.ts.map +1 -1
- package/dist/classes/action.js +141 -119
- package/dist/classes/action.js.map +1 -1
- package/dist/classes/actionTypes.d.ts +310 -0
- package/dist/classes/actionTypes.d.ts.map +1 -0
- package/dist/classes/actionTypes.js +3 -0
- package/dist/classes/actionTypes.js.map +1 -0
- package/dist/classes/manager.d.ts.map +1 -1
- package/dist/classes/manager.js +0 -4
- package/dist/classes/manager.js.map +1 -1
- package/dist/classes/market.d.ts +5 -11
- package/dist/classes/market.d.ts.map +1 -1
- package/dist/classes/market.js +29 -21
- package/dist/classes/market.js.map +1 -1
- package/dist/classes/obligation.d.ts +9 -9
- package/dist/classes/obligation.d.ts.map +1 -1
- package/dist/classes/obligation.js +49 -51
- package/dist/classes/obligation.js.map +1 -1
- package/dist/classes/obligationOrder.d.ts.map +1 -1
- package/dist/classes/obligationOrder.js +6 -3
- package/dist/classes/obligationOrder.js.map +1 -1
- package/dist/classes/reserve.d.ts.map +1 -1
- package/dist/classes/reserve.js +1 -3
- package/dist/classes/reserve.js.map +1 -1
- package/dist/classes/shared.d.ts +1 -0
- package/dist/classes/shared.d.ts.map +1 -1
- package/dist/client/commands/borrow.d.ts +1 -1
- package/dist/client/commands/borrow.d.ts.map +1 -1
- package/dist/client/commands/borrow.js +11 -2
- package/dist/client/commands/borrow.js.map +1 -1
- package/dist/client/commands/deposit.d.ts +1 -1
- package/dist/client/commands/deposit.d.ts.map +1 -1
- package/dist/client/commands/deposit.js +11 -2
- package/dist/client/commands/deposit.js.map +1 -1
- package/dist/client/commands/printReserve.d.ts +1 -1
- package/dist/client/commands/printReserve.d.ts.map +1 -1
- package/dist/client/commands/printReserve.js +2 -4
- package/dist/client/commands/printReserve.js.map +1 -1
- package/dist/client/commands/repay.d.ts +1 -1
- package/dist/client/commands/repay.d.ts.map +1 -1
- package/dist/client/commands/repay.js +12 -2
- package/dist/client/commands/repay.js.map +1 -1
- package/dist/client/commands/withdraw.d.ts +1 -1
- package/dist/client/commands/withdraw.d.ts.map +1 -1
- package/dist/client/commands/withdraw.js +11 -2
- package/dist/client/commands/withdraw.js.map +1 -1
- package/dist/idl/klend.json +54 -581
- package/dist/lending_operations/repay_with_collateral_calcs.d.ts +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.d.ts.map +1 -1
- package/dist/lending_operations/repay_with_collateral_calcs.js +2 -2
- package/dist/lending_operations/repay_with_collateral_calcs.js.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.d.ts +4 -4
- package/dist/lending_operations/repay_with_collateral_operations.d.ts.map +1 -1
- package/dist/lending_operations/repay_with_collateral_operations.js +43 -10
- package/dist/lending_operations/repay_with_collateral_operations.js.map +1 -1
- package/dist/lending_operations/swap_collateral_operations.d.ts +4 -4
- package/dist/lending_operations/swap_collateral_operations.d.ts.map +1 -1
- package/dist/lending_operations/swap_collateral_operations.js +40 -21
- package/dist/lending_operations/swap_collateral_operations.js.map +1 -1
- package/dist/leverage/operations.d.ts +6 -6
- package/dist/leverage/operations.d.ts.map +1 -1
- package/dist/leverage/operations.js +167 -52
- package/dist/leverage/operations.js.map +1 -1
- package/dist/leverage/types.d.ts +2 -2
- package/dist/leverage/types.d.ts.map +1 -1
- package/dist/manager/client_kamino_manager.js +6 -12
- package/dist/manager/client_kamino_manager.js.map +1 -1
- package/dist/obligation_orders/price_based.js +1 -0
- package/dist/obligation_orders/price_based.js.map +1 -1
- package/dist/utils/ObligationType.d.ts +33 -1
- package/dist/utils/ObligationType.d.ts.map +1 -1
- package/dist/utils/ObligationType.js +81 -2
- package/dist/utils/ObligationType.js.map +1 -1
- package/dist/utils/managerTypes.d.ts.map +1 -1
- package/dist/utils/managerTypes.js +1 -3
- package/dist/utils/managerTypes.js.map +1 -1
- package/dist/utils/userMetadata.d.ts +2 -2
- package/dist/utils/userMetadata.d.ts.map +1 -1
- package/dist/utils/userMetadata.js +49 -25
- package/dist/utils/userMetadata.js.map +1 -1
- package/package.json +1 -1
- package/src/@codegen/klend/accounts/LendingMarket.ts +8 -79
- package/src/@codegen/klend/accounts/Obligation.ts +31 -42
- package/src/@codegen/klend/accounts/Reserve.ts +1 -1
- package/src/@codegen/klend/accounts/UserState.ts +75 -0
- package/src/@codegen/klend/errors/custom.ts +0 -172
- package/src/@codegen/klend/instructions/idlMissingTypes.ts +3 -0
- package/src/@codegen/klend/instructions/index.ts +0 -7
- 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 +9 -72
- package/src/@codegen/klend/types/UpdateConfigMode.ts +13 -73
- package/src/@codegen/klend/types/UpdateLendingMarketMode.ts +0 -120
- package/src/@codegen/klend/types/index.ts +14 -21
- package/src/@codegen/klend/zero_padding/ObligationZP.ts +14 -17
- package/src/classes/action.ts +321 -347
- package/src/classes/actionTypes.ts +295 -0
- package/src/classes/manager.ts +0 -5
- package/src/classes/market.ts +42 -32
- package/src/classes/obligation.ts +55 -54
- package/src/classes/obligationOrder.ts +6 -3
- package/src/classes/reserve.ts +1 -3
- package/src/classes/shared.ts +2 -0
- package/src/client/client.ts +17 -18
- package/src/client/commands/borrow.ts +10 -9
- package/src/client/commands/deposit.ts +10 -9
- package/src/client/commands/printReserve.ts +2 -4
- package/src/client/commands/repay.ts +11 -10
- package/src/client/commands/withdraw.ts +15 -9
- package/src/idl/klend.json +54 -581
- package/src/lending_operations/repay_with_collateral_calcs.ts +3 -4
- package/src/lending_operations/repay_with_collateral_operations.ts +40 -38
- package/src/lending_operations/swap_collateral_operations.ts +47 -41
- package/src/leverage/operations.ts +168 -129
- package/src/leverage/types.ts +2 -2
- package/src/manager/client_kamino_manager.ts +6 -12
- package/src/obligation_orders/price_based.ts +1 -0
- package/src/utils/ObligationType.ts +92 -1
- package/src/utils/managerTypes.ts +1 -3
- package/src/utils/userMetadata.ts +64 -30
- 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/setBorrowOrder.d.ts +0 -33
- package/dist/@codegen/klend/instructions/setBorrowOrder.d.ts.map +0 -1
- package/dist/@codegen/klend/instructions/setBorrowOrder.js +0 -66
- package/dist/@codegen/klend/instructions/setBorrowOrder.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/src/@codegen/klend/instructions/fillBorrowOrder.ts +0 -96
- package/src/@codegen/klend/instructions/setBorrowOrder.ts +0 -81
- package/src/@codegen/klend/types/BorrowOrder.ts +0 -267
- package/src/@codegen/klend/types/BorrowOrderConfigArgs.ts +0 -87
|
@@ -11,6 +11,9 @@ export enum ObligationTypeTag {
|
|
|
11
11
|
Multiply = 1,
|
|
12
12
|
Lending = 2,
|
|
13
13
|
Leverage = 3,
|
|
14
|
+
MultiplyFixedRate = 4,
|
|
15
|
+
LendingFixedRate = 5,
|
|
16
|
+
LeverageFixedRate = 6,
|
|
14
17
|
}
|
|
15
18
|
|
|
16
19
|
export type InitObligationArgsModel = {
|
|
@@ -76,6 +79,36 @@ export class MultiplyObligation {
|
|
|
76
79
|
}
|
|
77
80
|
}
|
|
78
81
|
|
|
82
|
+
export class MultiplyObligationFixedRate {
|
|
83
|
+
readonly collReserveAddress: Address;
|
|
84
|
+
readonly debtReserveAddress: Address;
|
|
85
|
+
readonly programId: Address;
|
|
86
|
+
readonly id: number;
|
|
87
|
+
static tag = 4;
|
|
88
|
+
|
|
89
|
+
constructor(collReserveAddress: Address, debtReserveAddress: Address, programId: Address, id?: number) {
|
|
90
|
+
this.collReserveAddress = collReserveAddress;
|
|
91
|
+
this.debtReserveAddress = debtReserveAddress;
|
|
92
|
+
this.programId = programId;
|
|
93
|
+
this.id = id ?? 0;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
toArgs() {
|
|
97
|
+
const initObligationArgs: InitObligationArgsModel = {
|
|
98
|
+
tag: MultiplyObligationFixedRate.tag,
|
|
99
|
+
id: this.id,
|
|
100
|
+
seed1: this.collReserveAddress,
|
|
101
|
+
seed2: this.debtReserveAddress,
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
return initObligationArgs;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
toPda(market: Address, user: Address) {
|
|
108
|
+
return getObligationPdaWithArgs(market, user, this.toArgs(), this.programId);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
79
112
|
export class LeverageObligation {
|
|
80
113
|
readonly collToken: Address;
|
|
81
114
|
readonly debtToken: Address;
|
|
@@ -106,6 +139,36 @@ export class LeverageObligation {
|
|
|
106
139
|
}
|
|
107
140
|
}
|
|
108
141
|
|
|
142
|
+
export class LeverageObligationFixedRate {
|
|
143
|
+
readonly collReserveAddress: Address;
|
|
144
|
+
readonly debtReserveAddress: Address;
|
|
145
|
+
readonly programId: Address;
|
|
146
|
+
readonly id: number;
|
|
147
|
+
static tag = 6;
|
|
148
|
+
|
|
149
|
+
constructor(collReserveAddress: Address, debtReserveAddress: Address, programId: Address, id?: number) {
|
|
150
|
+
this.collReserveAddress = collReserveAddress;
|
|
151
|
+
this.debtReserveAddress = debtReserveAddress;
|
|
152
|
+
this.programId = programId;
|
|
153
|
+
this.id = id ?? 0;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
toArgs() {
|
|
157
|
+
const initObligationArgs: InitObligationArgsModel = {
|
|
158
|
+
tag: LeverageObligationFixedRate.tag,
|
|
159
|
+
id: this.id,
|
|
160
|
+
seed1: this.collReserveAddress,
|
|
161
|
+
seed2: this.debtReserveAddress,
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
return initObligationArgs;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
toPda(market: Address, user: Address) {
|
|
168
|
+
return getObligationPdaWithArgs(market, user, this.toArgs(), this.programId);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
109
172
|
export class LendingObligation {
|
|
110
173
|
readonly token: Address;
|
|
111
174
|
readonly programId: Address;
|
|
@@ -121,7 +184,7 @@ export class LendingObligation {
|
|
|
121
184
|
toArgs() {
|
|
122
185
|
const initObligationArgs: InitObligationArgsModel = {
|
|
123
186
|
tag: LendingObligation.tag,
|
|
124
|
-
id:
|
|
187
|
+
id: this.id,
|
|
125
188
|
seed1: this.token,
|
|
126
189
|
seed2: this.token,
|
|
127
190
|
};
|
|
@@ -134,6 +197,34 @@ export class LendingObligation {
|
|
|
134
197
|
}
|
|
135
198
|
}
|
|
136
199
|
|
|
200
|
+
export class LendingObligationFixedRate {
|
|
201
|
+
readonly reserveAddress: Address;
|
|
202
|
+
readonly programId: Address;
|
|
203
|
+
readonly id: number;
|
|
204
|
+
static tag = 5;
|
|
205
|
+
|
|
206
|
+
constructor(reserveAddress: Address, programId: Address, id?: number) {
|
|
207
|
+
this.reserveAddress = reserveAddress;
|
|
208
|
+
this.programId = programId;
|
|
209
|
+
this.id = id ?? 0;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
toArgs() {
|
|
213
|
+
const initObligationArgs: InitObligationArgsModel = {
|
|
214
|
+
tag: LendingObligationFixedRate.tag,
|
|
215
|
+
id: this.id,
|
|
216
|
+
seed1: this.reserveAddress,
|
|
217
|
+
seed2: this.reserveAddress,
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
return initObligationArgs;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
toPda(market: Address, user: Address) {
|
|
224
|
+
return getObligationPdaWithArgs(market, user, this.toArgs(), this.programId);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
137
228
|
export async function getObligationPdaWithArgs(
|
|
138
229
|
market: Address,
|
|
139
230
|
user: Address,
|
|
@@ -306,7 +306,7 @@ function buildReserveConfig(fields: {
|
|
|
306
306
|
protocolLiquidationFeePct: 0,
|
|
307
307
|
protocolOrderExecutionFeePct: 0,
|
|
308
308
|
protocolTakeRatePct: fields.configParams.protocolTakeRate,
|
|
309
|
-
|
|
309
|
+
assetTier: 0,
|
|
310
310
|
maxLiquidationBonusBps: fields.configParams.maxLiquidationBonusBps,
|
|
311
311
|
badDebtLiquidationBonusBps: fields.configParams.badDebtLiquidationBonusBps,
|
|
312
312
|
fees: {
|
|
@@ -373,8 +373,6 @@ function buildReserveConfig(fields: {
|
|
|
373
373
|
minDeleveragingBonusBps: 0,
|
|
374
374
|
proposerAuthorityLocked: 0,
|
|
375
375
|
blockCtokenUsage: 0,
|
|
376
|
-
debtMaturityTimestamp: new BN(0),
|
|
377
|
-
debtTermSeconds: new BN(0),
|
|
378
376
|
};
|
|
379
377
|
|
|
380
378
|
return new ReserveConfig(reserveConfigFields);
|
|
@@ -25,6 +25,8 @@ import {
|
|
|
25
25
|
UserMetadata,
|
|
26
26
|
obligationFarmStatePda,
|
|
27
27
|
DEFAULT_PUBLIC_KEY,
|
|
28
|
+
MultiplyObligationFixedRate,
|
|
29
|
+
LeverageObligationFixedRate,
|
|
28
30
|
} from '../lib';
|
|
29
31
|
import { KaminoReserve } from '../classes/reserve';
|
|
30
32
|
import { Buffer } from 'buffer';
|
|
@@ -42,8 +44,8 @@ export const getUserLutAddressAndSetupIxs = async (
|
|
|
42
44
|
user: TransactionSigner,
|
|
43
45
|
referrer: Option<Address> = none(),
|
|
44
46
|
withExtendLut: boolean = true,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
multiplyReserveAddresses: { coll: Address; debt: Address }[] = [],
|
|
48
|
+
leverageReserveAddresses: { coll: Address; debt: Address }[] = [],
|
|
47
49
|
repayWithCollObligation: KaminoObligation | undefined = undefined,
|
|
48
50
|
payer: TransactionSigner = user
|
|
49
51
|
): Promise<[Address, Instruction[][]]> => {
|
|
@@ -89,8 +91,8 @@ export const getUserLutAddressAndSetupIxs = async (
|
|
|
89
91
|
userLookupTableAddress,
|
|
90
92
|
user.address,
|
|
91
93
|
referrer,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
+
multiplyReserveAddresses,
|
|
95
|
+
leverageReserveAddresses,
|
|
94
96
|
userMetadataState !== null,
|
|
95
97
|
repayWithCollObligation
|
|
96
98
|
);
|
|
@@ -110,8 +112,8 @@ const getDedupUserLookupTableAddresses = async (
|
|
|
110
112
|
tableAddress: Address,
|
|
111
113
|
user: Address,
|
|
112
114
|
referrer: Option<Address>,
|
|
113
|
-
|
|
114
|
-
|
|
115
|
+
multiplyReserveAddresses: { coll: Address; debt: Address }[] = [],
|
|
116
|
+
leverageReserveAddresses: { coll: Address; debt: Address }[] = [],
|
|
115
117
|
tableExists: boolean,
|
|
116
118
|
repayWithCollObligation: KaminoObligation | undefined = undefined
|
|
117
119
|
): Promise<Address[]> => {
|
|
@@ -119,8 +121,8 @@ const getDedupUserLookupTableAddresses = async (
|
|
|
119
121
|
kaminoMarket,
|
|
120
122
|
user,
|
|
121
123
|
referrer,
|
|
122
|
-
|
|
123
|
-
|
|
124
|
+
multiplyReserveAddresses,
|
|
125
|
+
leverageReserveAddresses,
|
|
124
126
|
repayWithCollObligation
|
|
125
127
|
);
|
|
126
128
|
|
|
@@ -148,8 +150,8 @@ const getUserLookupTableAddresses = async (
|
|
|
148
150
|
kaminoMarket: KaminoMarket,
|
|
149
151
|
user: Address,
|
|
150
152
|
referrer: Option<Address>,
|
|
151
|
-
|
|
152
|
-
|
|
153
|
+
multiplyReserveAddresses: { coll: Address; debt: Address }[] = [],
|
|
154
|
+
leverageReserveAddresses: { coll: Address; debt: Address }[] = [],
|
|
153
155
|
repayWithCollObligation: KaminoObligation | undefined = undefined
|
|
154
156
|
): Promise<{ address: Address; log: string }[]> => {
|
|
155
157
|
const addresses: { address: Address; log: string }[] = [];
|
|
@@ -158,13 +160,22 @@ const getUserLookupTableAddresses = async (
|
|
|
158
160
|
addresses.push({ address: userMetadataAddress, log: 'userMetadata address' });
|
|
159
161
|
|
|
160
162
|
const allMints: Address[] = [];
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
163
|
+
const allReserves: Address[] = [];
|
|
164
|
+
multiplyReserveAddresses.forEach(({ coll: collReserveAddress, debt: debtReserveAddress }) => {
|
|
165
|
+
const collReserveMint = kaminoMarket.getExistingReserveByAddress(collReserveAddress)!.getLiquidityMint();
|
|
166
|
+
const debtReserveMint = kaminoMarket.getExistingReserveByAddress(debtReserveAddress)!.getLiquidityMint();
|
|
167
|
+
allMints.push(collReserveMint);
|
|
168
|
+
allMints.push(debtReserveMint);
|
|
169
|
+
allReserves.push(collReserveAddress);
|
|
170
|
+
allReserves.push(debtReserveAddress);
|
|
164
171
|
});
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
172
|
+
leverageReserveAddresses.forEach(({ coll: collReserveAddress, debt: debtReserveAddress }) => {
|
|
173
|
+
const collReserveMint = kaminoMarket.getExistingReserveByAddress(collReserveAddress)!.getLiquidityMint();
|
|
174
|
+
const debtReserveMint = kaminoMarket.getExistingReserveByAddress(debtReserveAddress)!.getLiquidityMint();
|
|
175
|
+
allMints.push(collReserveMint);
|
|
176
|
+
allMints.push(debtReserveMint);
|
|
177
|
+
allReserves.push(collReserveAddress);
|
|
178
|
+
allReserves.push(debtReserveAddress);
|
|
168
179
|
});
|
|
169
180
|
|
|
170
181
|
if (repayWithCollObligation) {
|
|
@@ -178,9 +189,10 @@ const getUserLookupTableAddresses = async (
|
|
|
178
189
|
}
|
|
179
190
|
|
|
180
191
|
const dedupMints = [...new Set(allMints)];
|
|
192
|
+
const dedupReserveAddresses = [...new Set(allReserves)];
|
|
181
193
|
const reserves: KaminoReserve[] = [];
|
|
182
|
-
|
|
183
|
-
const kaminoReserve = kaminoMarket.
|
|
194
|
+
dedupReserveAddresses.forEach((reserveAddress) => {
|
|
195
|
+
const kaminoReserve = kaminoMarket.getReserveByAddress(reserveAddress);
|
|
184
196
|
if (kaminoReserve) {
|
|
185
197
|
reserves.push(kaminoReserve);
|
|
186
198
|
}
|
|
@@ -226,13 +238,13 @@ const getUserLookupTableAddresses = async (
|
|
|
226
238
|
}
|
|
227
239
|
|
|
228
240
|
const [multiplyObligations, multiplyObligationsFarmUserStates] =
|
|
229
|
-
await getMultiplyObligationAndObligationFarmStateAddresses(kaminoMarket, user,
|
|
241
|
+
await getMultiplyObligationAndObligationFarmStateAddresses(kaminoMarket, user, multiplyReserveAddresses);
|
|
230
242
|
|
|
231
243
|
addresses.push(...multiplyObligations);
|
|
232
244
|
addresses.push(...multiplyObligationsFarmUserStates);
|
|
233
245
|
|
|
234
246
|
const [leverageObligations, leverageObligationsFarmUserStates] =
|
|
235
|
-
await getLeverageObligationAndObligationFarmStateAddresses(kaminoMarket, user,
|
|
247
|
+
await getLeverageObligationAndObligationFarmStateAddresses(kaminoMarket, user, leverageReserveAddresses);
|
|
236
248
|
|
|
237
249
|
addresses.push(...leverageObligations);
|
|
238
250
|
addresses.push(...leverageObligationsFarmUserStates);
|
|
@@ -252,14 +264,16 @@ const getUserLookupTableAddresses = async (
|
|
|
252
264
|
async function getMultiplyObligationAndObligationFarmStateAddresses(
|
|
253
265
|
kaminoMarket: KaminoMarket,
|
|
254
266
|
user: Address,
|
|
255
|
-
|
|
267
|
+
reserveAddresses: { coll: Address; debt: Address }[]
|
|
256
268
|
): Promise<[{ address: Address; log: string }[], { address: Address; log: string }[]]> {
|
|
257
269
|
const obligationPdas: { address: Address; log: string }[] = [];
|
|
258
270
|
const farmUserStates: { address: Address; log: string }[] = [];
|
|
259
271
|
|
|
260
|
-
for (const { coll:
|
|
261
|
-
const collReserve = kaminoMarket.
|
|
262
|
-
const debtReserve = kaminoMarket.
|
|
272
|
+
for (const { coll: collReserveAddress, debt: debtReserveAddress } of reserveAddresses) {
|
|
273
|
+
const collReserve = kaminoMarket.getReserveByAddress(collReserveAddress);
|
|
274
|
+
const debtReserve = kaminoMarket.getReserveByAddress(debtReserveAddress);
|
|
275
|
+
const collMint = collReserve!.getLiquidityMint();
|
|
276
|
+
const debtMint = debtReserve!.getLiquidityMint();
|
|
263
277
|
const collMintString = collMint.toString();
|
|
264
278
|
const debtMintString = debtMint.toString();
|
|
265
279
|
if (collReserve && debtReserve) {
|
|
@@ -268,6 +282,15 @@ async function getMultiplyObligationAndObligationFarmStateAddresses(
|
|
|
268
282
|
address: await multiplyObligation.toPda(kaminoMarket.getAddress(), user),
|
|
269
283
|
log: 'multiply obligation coll: ' + collMintString + ' debt: ' + debtMintString,
|
|
270
284
|
});
|
|
285
|
+
const multiplyObligationFixedRate = new MultiplyObligationFixedRate(
|
|
286
|
+
collReserveAddress,
|
|
287
|
+
debtReserveAddress,
|
|
288
|
+
kaminoMarket.programId
|
|
289
|
+
);
|
|
290
|
+
obligationPdas.push({
|
|
291
|
+
address: await multiplyObligationFixedRate.toPda(kaminoMarket.getAddress(), user),
|
|
292
|
+
log: 'multiply obligation fixed rate coll: ' + collReserveAddress + ' debt: ' + debtReserveAddress,
|
|
293
|
+
});
|
|
271
294
|
if (collReserve.state.farmCollateral !== DEFAULT_PUBLIC_KEY) {
|
|
272
295
|
farmUserStates.push({
|
|
273
296
|
address: await obligationFarmStatePda(
|
|
@@ -295,14 +318,16 @@ async function getMultiplyObligationAndObligationFarmStateAddresses(
|
|
|
295
318
|
async function getLeverageObligationAndObligationFarmStateAddresses(
|
|
296
319
|
kaminoMarket: KaminoMarket,
|
|
297
320
|
user: Address,
|
|
298
|
-
|
|
321
|
+
reserveAddresses: { coll: Address; debt: Address }[]
|
|
299
322
|
): Promise<[{ address: Address; log: string }[], { address: Address; log: string }[]]> {
|
|
300
323
|
const obligationPdas: { address: Address; log: string }[] = [];
|
|
301
324
|
const farmUserStates: { address: Address; log: string }[] = [];
|
|
302
325
|
|
|
303
|
-
for (const { coll:
|
|
304
|
-
const collReserve = kaminoMarket.
|
|
305
|
-
const debtReserve = kaminoMarket.
|
|
326
|
+
for (const { coll: collReserveAddress, debt: debtReserveAddress } of reserveAddresses) {
|
|
327
|
+
const collReserve = kaminoMarket.getReserveByAddress(collReserveAddress);
|
|
328
|
+
const debtReserve = kaminoMarket.getReserveByAddress(debtReserveAddress);
|
|
329
|
+
const collMint = collReserve!.getLiquidityMint();
|
|
330
|
+
const debtMint = debtReserve!.getLiquidityMint();
|
|
306
331
|
const collMintString = collMint.toString();
|
|
307
332
|
const debtMintString = debtMint.toString();
|
|
308
333
|
if (collReserve && debtReserve) {
|
|
@@ -311,6 +336,15 @@ async function getLeverageObligationAndObligationFarmStateAddresses(
|
|
|
311
336
|
address: await leverageObligation.toPda(kaminoMarket.getAddress(), user),
|
|
312
337
|
log: 'leverage obligation coll: ' + collMintString + ' debt: ' + debtMintString,
|
|
313
338
|
});
|
|
339
|
+
const leverageObligationFixedRate = new LeverageObligationFixedRate(
|
|
340
|
+
collReserveAddress,
|
|
341
|
+
debtReserveAddress,
|
|
342
|
+
kaminoMarket.programId
|
|
343
|
+
);
|
|
344
|
+
obligationPdas.push({
|
|
345
|
+
address: await leverageObligationFixedRate.toPda(kaminoMarket.getAddress(), user),
|
|
346
|
+
log: 'leverage obligation fixed rate coll: ' + collReserveAddress + ' debt: ' + debtReserveAddress,
|
|
347
|
+
});
|
|
314
348
|
if (collReserve.state.farmCollateral !== DEFAULT_PUBLIC_KEY) {
|
|
315
349
|
farmUserStates.push({
|
|
316
350
|
address: await obligationFarmStatePda(
|
|
@@ -343,7 +377,7 @@ async function getRepayWithCollObligationFarmStateAddresses(
|
|
|
343
377
|
const obligationString = obligation.obligationAddress.toString();
|
|
344
378
|
|
|
345
379
|
for (const borrow of obligation.getBorrows()) {
|
|
346
|
-
const borrowReserve = kaminoMarket.
|
|
380
|
+
const borrowReserve = kaminoMarket.getReserveByAddress(borrow.reserveAddress)!;
|
|
347
381
|
if (borrowReserve.state.farmDebt !== DEFAULT_PUBLIC_KEY) {
|
|
348
382
|
farmUserStates.push({
|
|
349
383
|
address: await obligationFarmStatePda(borrowReserve.state.farmDebt!, obligation.obligationAddress),
|
|
@@ -353,7 +387,7 @@ async function getRepayWithCollObligationFarmStateAddresses(
|
|
|
353
387
|
}
|
|
354
388
|
|
|
355
389
|
for (const deposit of obligation.getDeposits()) {
|
|
356
|
-
const depositReserve = kaminoMarket.
|
|
390
|
+
const depositReserve = kaminoMarket.getReserveByAddress(deposit.reserveAddress)!;
|
|
357
391
|
if (depositReserve.state.farmCollateral !== DEFAULT_PUBLIC_KEY) {
|
|
358
392
|
farmUserStates.push({
|
|
359
393
|
address: await obligationFarmStatePda(depositReserve.state.farmCollateral!, obligation.obligationAddress),
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Address, AccountMeta, AccountSignerMeta, Instruction, Option, TransactionSigner } from "@solana/kit";
|
|
2
|
-
export declare const DISCRIMINATOR: Buffer<ArrayBuffer>;
|
|
3
|
-
export interface FillBorrowOrderAccounts {
|
|
4
|
-
borrowAccounts: {
|
|
5
|
-
payer: TransactionSigner;
|
|
6
|
-
/** The obligation with a [BorrowOrder]. */
|
|
7
|
-
obligation: Address;
|
|
8
|
-
/** The [Self::obligation]'s market - needed for borrowing-related configuration. */
|
|
9
|
-
lendingMarket: Address;
|
|
10
|
-
/** The [Self::lending_market]'s authority, needed to transfer the newly-borrowed funds out of the [Self::reserve_source_liquidity]. */
|
|
11
|
-
lendingMarketAuthority: Address;
|
|
12
|
-
/** The reserve to borrow from. Its mint must match the asset requested by the [BorrowOrder::debt_liquidity_mint]. */
|
|
13
|
-
borrowReserve: Address;
|
|
14
|
-
/** The mint of [Self::borrow_reserve] - needed to execute the transfer. */
|
|
15
|
-
borrowReserveLiquidityMint: Address;
|
|
16
|
-
/** The vault of [Self::borrow_reserve], from which the funds are transferred. */
|
|
17
|
-
reserveSourceLiquidity: Address;
|
|
18
|
-
/** The fee vault of [Self::borrow_reserve], to which the fees are transferred. */
|
|
19
|
-
borrowReserveLiquidityFeeReceiver: Address;
|
|
20
|
-
/** The destination token account that should receive the newly borrowed funds. It must match [BorrowOrder::filled_debt_destination], owner and mint. **Warning:** An altered destination account will prevent an order from being filled. */
|
|
21
|
-
userDestinationLiquidity: Address;
|
|
22
|
-
/** The referrer's account, for accumulating fees - needed if the [Obligation::has_referrer]. */
|
|
23
|
-
referrerTokenState: Option<Address>;
|
|
24
|
-
/** The token program of [Self::borrow_reserve] - needed to execute the transfer. */
|
|
25
|
-
tokenProgram: Address;
|
|
26
|
-
};
|
|
27
|
-
farmsAccounts: {
|
|
28
|
-
obligationFarmUserState: Option<Address>;
|
|
29
|
-
reserveFarmState: Option<Address>;
|
|
30
|
-
};
|
|
31
|
-
farmsProgram: Address;
|
|
32
|
-
eventAuthority: Address;
|
|
33
|
-
program: Address;
|
|
34
|
-
}
|
|
35
|
-
export declare function fillBorrowOrder(accounts: FillBorrowOrderAccounts, remainingAccounts?: Array<AccountMeta | AccountSignerMeta>, programAddress?: Address): Instruction<string, readonly (AccountMeta<string> | import("@solana/kit").AccountLookupMeta<string, string>)[]>;
|
|
36
|
-
//# sourceMappingURL=fillBorrowOrder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fillBorrowOrder.d.ts","sourceRoot":"","sources":["../../../../src/@codegen/klend/instructions/fillBorrowOrder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EAEP,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,MAAM,EACN,iBAAiB,EAClB,MAAM,aAAa,CAAA;AAQpB,eAAO,MAAM,aAAa,qBAAmD,CAAA;AAE7E,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE;QACd,KAAK,EAAE,iBAAiB,CAAA;QACxB,2CAA2C;QAC3C,UAAU,EAAE,OAAO,CAAA;QACnB,oFAAoF;QACpF,aAAa,EAAE,OAAO,CAAA;QACtB,uIAAuI;QACvI,sBAAsB,EAAE,OAAO,CAAA;QAC/B,sHAAsH;QACtH,aAAa,EAAE,OAAO,CAAA;QACtB,2EAA2E;QAC3E,0BAA0B,EAAE,OAAO,CAAA;QACnC,iFAAiF;QACjF,sBAAsB,EAAE,OAAO,CAAA;QAC/B,kFAAkF;QAClF,iCAAiC,EAAE,OAAO,CAAA;QAC1C,+OAA+O;QAC/O,wBAAwB,EAAE,OAAO,CAAA;QACjC,gGAAgG;QAChG,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACnC,oFAAoF;QACpF,YAAY,EAAE,OAAO,CAAA;KACtB,CAAA;IACD,aAAa,EAAE;QACb,uBAAuB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACxC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;KAClC,CAAA;IACD,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,OAAO,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,uBAAuB,EACjC,iBAAiB,GAAE,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAM,EAC9D,cAAc,GAAE,OAAoB,mHAwCrC"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DISCRIMINATOR = void 0;
|
|
4
|
-
exports.fillBorrowOrder = fillBorrowOrder;
|
|
5
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
6
|
-
const kit_1 = require("@solana/kit");
|
|
7
|
-
const programId_1 = require("../programId");
|
|
8
|
-
exports.DISCRIMINATOR = Buffer.from([102, 4, 167, 76, 131, 170, 93, 19]);
|
|
9
|
-
function fillBorrowOrder(accounts, remainingAccounts = [], programAddress = programId_1.PROGRAM_ID) {
|
|
10
|
-
const keys = [
|
|
11
|
-
{
|
|
12
|
-
address: accounts.borrowAccounts.payer.address,
|
|
13
|
-
role: 2,
|
|
14
|
-
signer: accounts.borrowAccounts.payer,
|
|
15
|
-
},
|
|
16
|
-
{ address: accounts.borrowAccounts.obligation, role: 1 },
|
|
17
|
-
{ address: accounts.borrowAccounts.lendingMarket, role: 0 },
|
|
18
|
-
{ address: accounts.borrowAccounts.lendingMarketAuthority, role: 0 },
|
|
19
|
-
{ address: accounts.borrowAccounts.borrowReserve, role: 1 },
|
|
20
|
-
{ address: accounts.borrowAccounts.borrowReserveLiquidityMint, role: 0 },
|
|
21
|
-
{ address: accounts.borrowAccounts.reserveSourceLiquidity, role: 1 },
|
|
22
|
-
{
|
|
23
|
-
address: accounts.borrowAccounts.borrowReserveLiquidityFeeReceiver,
|
|
24
|
-
role: 1,
|
|
25
|
-
},
|
|
26
|
-
{ address: accounts.borrowAccounts.userDestinationLiquidity, role: 1 },
|
|
27
|
-
(0, kit_1.isSome)(accounts.borrowAccounts.referrerTokenState)
|
|
28
|
-
? { address: accounts.borrowAccounts.referrerTokenState.value, role: 1 }
|
|
29
|
-
: { address: programAddress, role: 0 },
|
|
30
|
-
{ address: accounts.borrowAccounts.tokenProgram, role: 0 },
|
|
31
|
-
(0, kit_1.isSome)(accounts.farmsAccounts.obligationFarmUserState)
|
|
32
|
-
? {
|
|
33
|
-
address: accounts.farmsAccounts.obligationFarmUserState.value,
|
|
34
|
-
role: 1,
|
|
35
|
-
}
|
|
36
|
-
: { address: programAddress, role: 0 },
|
|
37
|
-
(0, kit_1.isSome)(accounts.farmsAccounts.reserveFarmState)
|
|
38
|
-
? { address: accounts.farmsAccounts.reserveFarmState.value, role: 1 }
|
|
39
|
-
: { address: programAddress, role: 0 },
|
|
40
|
-
{ address: accounts.farmsProgram, role: 0 },
|
|
41
|
-
{ address: accounts.eventAuthority, role: 0 },
|
|
42
|
-
{ address: accounts.program, role: 0 },
|
|
43
|
-
...remainingAccounts,
|
|
44
|
-
];
|
|
45
|
-
const data = exports.DISCRIMINATOR;
|
|
46
|
-
const ix = { accounts: keys, programAddress, data };
|
|
47
|
-
return ix;
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=fillBorrowOrder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fillBorrowOrder.js","sourceRoot":"","sources":["../../../../src/@codegen/klend/instructions/fillBorrowOrder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Address, AccountMeta, AccountSignerMeta, Instruction, TransactionSigner } from "@solana/kit";
|
|
2
|
-
import BN from "bn.js";
|
|
3
|
-
import * as types from "../types";
|
|
4
|
-
export declare const DISCRIMINATOR: Buffer<ArrayBuffer>;
|
|
5
|
-
export interface SetBorrowOrderArgs {
|
|
6
|
-
orderConfig: types.BorrowOrderConfigArgsFields;
|
|
7
|
-
minExpectedCurrentRemainingDebtAmount: BN;
|
|
8
|
-
}
|
|
9
|
-
export interface SetBorrowOrderAccounts {
|
|
10
|
-
/** The [Self::obligation]'s owner. */
|
|
11
|
-
owner: TransactionSigner;
|
|
12
|
-
/** The obligation to set the [BorrowOrder] on. */
|
|
13
|
-
obligation: Address;
|
|
14
|
-
/** The [Self::obligation]'s market - needed only to validate the borrow orders' feature flag. */
|
|
15
|
-
lendingMarket: Address;
|
|
16
|
-
/**
|
|
17
|
-
* The [BorrowOrder::filled_debt_destination] to set on order creation. Not editable on order
|
|
18
|
-
* updates.
|
|
19
|
-
* Ignored when cancelling the order.
|
|
20
|
-
*/
|
|
21
|
-
filledDebtDestination: Address;
|
|
22
|
-
/**
|
|
23
|
-
* The [BorrowOrder::debt_liquidity_mint] to set on order creation. Not editable on order
|
|
24
|
-
* updates.
|
|
25
|
-
* Ignored when cancelling the order.
|
|
26
|
-
*/
|
|
27
|
-
debtLiquidityMint: Address;
|
|
28
|
-
eventAuthority: Address;
|
|
29
|
-
program: Address;
|
|
30
|
-
}
|
|
31
|
-
export declare const layout: import("buffer-layout").Layout<SetBorrowOrderArgs>;
|
|
32
|
-
export declare function setBorrowOrder(args: SetBorrowOrderArgs, accounts: SetBorrowOrderAccounts, remainingAccounts?: Array<AccountMeta | AccountSignerMeta>, programAddress?: Address): Instruction<string, readonly (AccountMeta<string> | import("@solana/kit").AccountLookupMeta<string, string>)[]>;
|
|
33
|
-
//# sourceMappingURL=setBorrowOrder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setBorrowOrder.d.ts","sourceRoot":"","sources":["../../../../src/@codegen/klend/instructions/setBorrowOrder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EAEP,WAAW,EACX,iBAAiB,EACjB,WAAW,EAEX,iBAAiB,EAClB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,MAAM,OAAO,CAAA;AAGtB,OAAO,KAAK,KAAK,MAAM,UAAU,CAAA;AAGjC,eAAO,MAAM,aAAa,qBAAoD,CAAA;AAE9E,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,KAAK,CAAC,2BAA2B,CAAA;IAC9C,qCAAqC,EAAE,EAAE,CAAA;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACrC,sCAAsC;IACtC,KAAK,EAAE,iBAAiB,CAAA;IACxB,kDAAkD;IAClD,UAAU,EAAE,OAAO,CAAA;IACnB,iGAAiG;IACjG,aAAa,EAAE,OAAO,CAAA;IACtB;;;;OAIG;IACH,qBAAqB,EAAE,OAAO,CAAA;IAC9B;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAA;IAC1B,cAAc,EAAE,OAAO,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,eAAO,MAAM,MAAM,oDAGjB,CAAA;AAEF,wBAAgB,cAAc,CAC5B,IAAI,EAAE,kBAAkB,EACxB,QAAQ,EAAE,sBAAsB,EAChC,iBAAiB,GAAE,KAAK,CAAC,WAAW,GAAG,iBAAiB,CAAM,EAC9D,cAAc,GAAE,OAAoB,mHAwBrC"}
|
|
@@ -1,66 +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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.layout = exports.DISCRIMINATOR = void 0;
|
|
37
|
-
exports.setBorrowOrder = setBorrowOrder;
|
|
38
|
-
const borsh = __importStar(require("@coral-xyz/borsh")); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
39
|
-
const types = __importStar(require("../types")); // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
40
|
-
const programId_1 = require("../programId");
|
|
41
|
-
exports.DISCRIMINATOR = Buffer.from([177, 186, 45, 61, 235, 91, 68, 139]);
|
|
42
|
-
exports.layout = borsh.struct([
|
|
43
|
-
types.BorrowOrderConfigArgs.layout("orderConfig"),
|
|
44
|
-
borsh.u64("minExpectedCurrentRemainingDebtAmount"),
|
|
45
|
-
]);
|
|
46
|
-
function setBorrowOrder(args, accounts, remainingAccounts = [], programAddress = programId_1.PROGRAM_ID) {
|
|
47
|
-
const keys = [
|
|
48
|
-
{ address: accounts.owner.address, role: 2, signer: accounts.owner },
|
|
49
|
-
{ address: accounts.obligation, role: 1 },
|
|
50
|
-
{ address: accounts.lendingMarket, role: 0 },
|
|
51
|
-
{ address: accounts.filledDebtDestination, role: 0 },
|
|
52
|
-
{ address: accounts.debtLiquidityMint, role: 0 },
|
|
53
|
-
{ address: accounts.eventAuthority, role: 0 },
|
|
54
|
-
{ address: accounts.program, role: 0 },
|
|
55
|
-
...remainingAccounts,
|
|
56
|
-
];
|
|
57
|
-
const buffer = Buffer.alloc(1000);
|
|
58
|
-
const len = exports.layout.encode({
|
|
59
|
-
orderConfig: types.BorrowOrderConfigArgs.toEncodable(args.orderConfig),
|
|
60
|
-
minExpectedCurrentRemainingDebtAmount: args.minExpectedCurrentRemainingDebtAmount,
|
|
61
|
-
}, buffer);
|
|
62
|
-
const data = Buffer.concat([exports.DISCRIMINATOR, buffer]).slice(0, 8 + len);
|
|
63
|
-
const ix = { accounts: keys, programAddress, data };
|
|
64
|
-
return ix;
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=setBorrowOrder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setBorrowOrder.js","sourceRoot":"","sources":["../../../../src/@codegen/klend/instructions/setBorrowOrder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,wCA4BC;AApED,wDAAyC,CAAC,wDAAwD;AAElG,gDAAiC,CAAC,wDAAwD;AAC1F,4CAAyC;AAE5B,QAAA,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;AA8BjE,QAAA,MAAM,GAAG,KAAK,CAAC,MAAM,CAAqB;IACrD,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC;IACjD,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC;CACnD,CAAC,CAAA;AAEF,SAAgB,cAAc,CAC5B,IAAwB,EACxB,QAAgC,EAChC,oBAA4D,EAAE,EAC9D,iBAA0B,sBAAU;IAEpC,MAAM,IAAI,GAA2C;QACnD,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE;QACpE,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE;QACzC,EAAE,OAAO,EAAE,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE;QAC5C,EAAE,OAAO,EAAE,QAAQ,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,EAAE;QACpD,EAAE,OAAO,EAAE,QAAQ,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,EAAE;QAChD,EAAE,OAAO,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,EAAE;QAC7C,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE;QACtC,GAAG,iBAAiB;KACrB,CAAA;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACjC,MAAM,GAAG,GAAG,cAAM,CAAC,MAAM,CACvB;QACE,WAAW,EAAE,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;QACtE,qCAAqC,EACnC,IAAI,CAAC,qCAAqC;KAC7C,EACD,MAAM,CACP,CAAA;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,qBAAa,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAA;IACrE,MAAM,EAAE,GAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAA;IAChE,OAAO,EAAE,CAAA;AACX,CAAC"}
|