Skip to content

Commit f4c11a8

Browse files
committed
more defaults
1 parent a5645e0 commit f4c11a8

9 files changed

+392
-68
lines changed

clients/kamino-lending/coda.config.mjs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
renameVisitor,
1414
SYSVAR_INSTRUCTIONS_VALUE_NODE,
1515
stringTypeNode,
16+
TOKEN_PROGRAM_VALUE_NODE,
1617
updateAccountsVisitor,
1718
variablePdaSeedNode,
1819
} from "@macalinao/coda";
@@ -109,13 +110,45 @@ export default defineConfig({
109110
},
110111

111112
// lending
113+
{
114+
account: /collateralTokenProgram|liquidityTokenProgram/,
115+
defaultValue: TOKEN_PROGRAM_VALUE_NODE,
116+
},
117+
{
118+
account: "feeReceiver",
119+
defaultValue: pdaValueNode(pdaLinkNode("reserveFeeVault"), [
120+
pdaSeedValueNode("lendingMarket", accountValueNode("lendingMarket")),
121+
pdaSeedValueNode("mint", accountValueNode("reserveLiquidityMint")),
122+
]),
123+
},
124+
{
125+
account: "reserveLiquiditySupply",
126+
defaultValue: pdaValueNode(pdaLinkNode("reserveLiquiditySupply"), [
127+
pdaSeedValueNode("lendingMarket", accountValueNode("lendingMarket")),
128+
pdaSeedValueNode("mint", accountValueNode("reserveLiquidityMint")),
129+
]),
130+
},
112131
{
113132
account: "reserveLiquidityFeeReceiver",
114133
defaultValue: pdaValueNode(pdaLinkNode("reserveFeeVault"), [
115134
pdaSeedValueNode("lendingMarket", accountValueNode("lendingMarket")),
116135
pdaSeedValueNode("mint", accountValueNode("reserveLiquidityMint")),
117136
]),
118137
},
138+
{
139+
account: "reserveCollateralMint",
140+
defaultValue: pdaValueNode(pdaLinkNode("reserveCollateralMint"), [
141+
pdaSeedValueNode("lendingMarket", accountValueNode("lendingMarket")),
142+
pdaSeedValueNode("mint", accountValueNode("reserveLiquidityMint")),
143+
]),
144+
},
145+
{
146+
account: "reserveCollateralSupply",
147+
defaultValue: pdaValueNode(pdaLinkNode("reserveCollateralSupply"), [
148+
pdaSeedValueNode("lendingMarket", accountValueNode("lendingMarket")),
149+
pdaSeedValueNode("mint", accountValueNode("reserveLiquidityMint")),
150+
]),
151+
},
119152
{
120153
instruction: "initGlobalConfig",
121154
account: "globalConfig",

clients/kamino-lending/src/generated/instructions/depositReserveLiquidity.ts

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@ import {
3535
getU64Encoder,
3636
transformEncoder,
3737
} from "@solana/kit";
38-
import { findLendingMarketAuthPda } from "../pdas/index.js";
38+
import {
39+
findLendingMarketAuthPda,
40+
findReserveCollateralMintPda,
41+
findReserveLiquiditySupplyPda,
42+
} from "../pdas/index.js";
3943
import { KAMINO_LENDING_PROGRAM_ADDRESS } from "../programs/index.js";
4044
import { expectAddress, getAccountMetaFactory } from "../shared/index.js";
4145

@@ -59,8 +63,12 @@ export type DepositReserveLiquidityInstruction<
5963
TAccountReserveCollateralMint extends string | AccountMeta = string,
6064
TAccountUserSourceLiquidity extends string | AccountMeta = string,
6165
TAccountUserDestinationCollateral extends string | AccountMeta = string,
62-
TAccountCollateralTokenProgram extends string | AccountMeta = string,
63-
TAccountLiquidityTokenProgram extends string | AccountMeta = string,
66+
TAccountCollateralTokenProgram extends
67+
| string
68+
| AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
69+
TAccountLiquidityTokenProgram extends
70+
| string
71+
| AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
6472
TAccountInstructionSysvarAccount extends
6573
| string
6674
| AccountMeta = "Sysvar1nstructions1111111111111111111111111",
@@ -168,12 +176,12 @@ export interface DepositReserveLiquidityAsyncInput<
168176
lendingMarket: Address<TAccountLendingMarket>;
169177
lendingMarketAuthority?: Address<TAccountLendingMarketAuthority>;
170178
reserveLiquidityMint: Address<TAccountReserveLiquidityMint>;
171-
reserveLiquiditySupply: Address<TAccountReserveLiquiditySupply>;
172-
reserveCollateralMint: Address<TAccountReserveCollateralMint>;
179+
reserveLiquiditySupply?: Address<TAccountReserveLiquiditySupply>;
180+
reserveCollateralMint?: Address<TAccountReserveCollateralMint>;
173181
userSourceLiquidity: Address<TAccountUserSourceLiquidity>;
174182
userDestinationCollateral: Address<TAccountUserDestinationCollateral>;
175-
collateralTokenProgram: Address<TAccountCollateralTokenProgram>;
176-
liquidityTokenProgram: Address<TAccountLiquidityTokenProgram>;
183+
collateralTokenProgram?: Address<TAccountCollateralTokenProgram>;
184+
liquidityTokenProgram?: Address<TAccountLiquidityTokenProgram>;
177185
instructionSysvarAccount?: Address<TAccountInstructionSysvarAccount>;
178186
liquidityAmount: DepositReserveLiquidityInstructionDataArgs["liquidityAmount"];
179187
}
@@ -285,6 +293,28 @@ export async function getDepositReserveLiquidityInstructionAsync<
285293
lendingMarket: expectAddress(accounts.lendingMarket.value),
286294
});
287295
}
296+
if (!accounts.reserveLiquiditySupply.value) {
297+
accounts.reserveLiquiditySupply.value = await findReserveLiquiditySupplyPda(
298+
{
299+
lendingMarket: expectAddress(accounts.lendingMarket.value),
300+
mint: expectAddress(accounts.reserveLiquidityMint.value),
301+
},
302+
);
303+
}
304+
if (!accounts.reserveCollateralMint.value) {
305+
accounts.reserveCollateralMint.value = await findReserveCollateralMintPda({
306+
lendingMarket: expectAddress(accounts.lendingMarket.value),
307+
mint: expectAddress(accounts.reserveLiquidityMint.value),
308+
});
309+
}
310+
if (!accounts.collateralTokenProgram.value) {
311+
accounts.collateralTokenProgram.value =
312+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
313+
}
314+
if (!accounts.liquidityTokenProgram.value) {
315+
accounts.liquidityTokenProgram.value =
316+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
317+
}
288318
if (!accounts.instructionSysvarAccount.value) {
289319
accounts.instructionSysvarAccount.value =
290320
"Sysvar1nstructions1111111111111111111111111" as Address<"Sysvar1nstructions1111111111111111111111111">;
@@ -350,8 +380,8 @@ export interface DepositReserveLiquidityInput<
350380
reserveCollateralMint: Address<TAccountReserveCollateralMint>;
351381
userSourceLiquidity: Address<TAccountUserSourceLiquidity>;
352382
userDestinationCollateral: Address<TAccountUserDestinationCollateral>;
353-
collateralTokenProgram: Address<TAccountCollateralTokenProgram>;
354-
liquidityTokenProgram: Address<TAccountLiquidityTokenProgram>;
383+
collateralTokenProgram?: Address<TAccountCollateralTokenProgram>;
384+
liquidityTokenProgram?: Address<TAccountLiquidityTokenProgram>;
355385
instructionSysvarAccount?: Address<TAccountInstructionSysvarAccount>;
356386
liquidityAmount: DepositReserveLiquidityInstructionDataArgs["liquidityAmount"];
357387
}
@@ -456,6 +486,14 @@ export function getDepositReserveLiquidityInstruction<
456486
const args = { ...input };
457487

458488
// Resolve default values.
489+
if (!accounts.collateralTokenProgram.value) {
490+
accounts.collateralTokenProgram.value =
491+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
492+
}
493+
if (!accounts.liquidityTokenProgram.value) {
494+
accounts.liquidityTokenProgram.value =
495+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
496+
}
459497
if (!accounts.instructionSysvarAccount.value) {
460498
accounts.instructionSysvarAccount.value =
461499
"Sysvar1nstructions1111111111111111111111111" as Address<"Sysvar1nstructions1111111111111111111111111">;

clients/kamino-lending/src/generated/instructions/depositReserveLiquidityAndObligationCollateral.ts

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@ import {
3535
getU64Encoder,
3636
transformEncoder,
3737
} from "@solana/kit";
38-
import { findLendingMarketAuthPda } from "../pdas/index.js";
38+
import {
39+
findLendingMarketAuthPda,
40+
findReserveCollateralMintPda,
41+
findReserveLiquiditySupplyPda,
42+
} from "../pdas/index.js";
3943
import { KAMINO_LENDING_PROGRAM_ADDRESS } from "../programs/index.js";
4044
import { expectAddress, getAccountMetaFactory } from "../shared/index.js";
4145

@@ -65,8 +69,12 @@ export type DepositReserveLiquidityAndObligationCollateralInstruction<
6569
TAccountPlaceholderUserDestinationCollateral extends
6670
| string
6771
| AccountMeta = string,
68-
TAccountCollateralTokenProgram extends string | AccountMeta = string,
69-
TAccountLiquidityTokenProgram extends string | AccountMeta = string,
72+
TAccountCollateralTokenProgram extends
73+
| string
74+
| AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
75+
TAccountLiquidityTokenProgram extends
76+
| string
77+
| AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
7078
TAccountInstructionSysvarAccount extends
7179
| string
7280
| AccountMeta = "Sysvar1nstructions1111111111111111111111111",
@@ -184,13 +192,13 @@ export interface DepositReserveLiquidityAndObligationCollateralAsyncInput<
184192
lendingMarketAuthority?: Address<TAccountLendingMarketAuthority>;
185193
reserve: Address<TAccountReserve>;
186194
reserveLiquidityMint: Address<TAccountReserveLiquidityMint>;
187-
reserveLiquiditySupply: Address<TAccountReserveLiquiditySupply>;
188-
reserveCollateralMint: Address<TAccountReserveCollateralMint>;
195+
reserveLiquiditySupply?: Address<TAccountReserveLiquiditySupply>;
196+
reserveCollateralMint?: Address<TAccountReserveCollateralMint>;
189197
reserveDestinationDepositCollateral: Address<TAccountReserveDestinationDepositCollateral>;
190198
userSourceLiquidity: Address<TAccountUserSourceLiquidity>;
191199
placeholderUserDestinationCollateral?: Address<TAccountPlaceholderUserDestinationCollateral>;
192-
collateralTokenProgram: Address<TAccountCollateralTokenProgram>;
193-
liquidityTokenProgram: Address<TAccountLiquidityTokenProgram>;
200+
collateralTokenProgram?: Address<TAccountCollateralTokenProgram>;
201+
liquidityTokenProgram?: Address<TAccountLiquidityTokenProgram>;
194202
instructionSysvarAccount?: Address<TAccountInstructionSysvarAccount>;
195203
liquidityAmount: DepositReserveLiquidityAndObligationCollateralInstructionDataArgs["liquidityAmount"];
196204
}
@@ -313,6 +321,28 @@ export async function getDepositReserveLiquidityAndObligationCollateralInstructi
313321
lendingMarket: expectAddress(accounts.lendingMarket.value),
314322
});
315323
}
324+
if (!accounts.reserveLiquiditySupply.value) {
325+
accounts.reserveLiquiditySupply.value = await findReserveLiquiditySupplyPda(
326+
{
327+
lendingMarket: expectAddress(accounts.lendingMarket.value),
328+
mint: expectAddress(accounts.reserveLiquidityMint.value),
329+
},
330+
);
331+
}
332+
if (!accounts.reserveCollateralMint.value) {
333+
accounts.reserveCollateralMint.value = await findReserveCollateralMintPda({
334+
lendingMarket: expectAddress(accounts.lendingMarket.value),
335+
mint: expectAddress(accounts.reserveLiquidityMint.value),
336+
});
337+
}
338+
if (!accounts.collateralTokenProgram.value) {
339+
accounts.collateralTokenProgram.value =
340+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
341+
}
342+
if (!accounts.liquidityTokenProgram.value) {
343+
accounts.liquidityTokenProgram.value =
344+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
345+
}
316346
if (!accounts.instructionSysvarAccount.value) {
317347
accounts.instructionSysvarAccount.value =
318348
"Sysvar1nstructions1111111111111111111111111" as Address<"Sysvar1nstructions1111111111111111111111111">;
@@ -386,8 +416,8 @@ export interface DepositReserveLiquidityAndObligationCollateralInput<
386416
reserveDestinationDepositCollateral: Address<TAccountReserveDestinationDepositCollateral>;
387417
userSourceLiquidity: Address<TAccountUserSourceLiquidity>;
388418
placeholderUserDestinationCollateral?: Address<TAccountPlaceholderUserDestinationCollateral>;
389-
collateralTokenProgram: Address<TAccountCollateralTokenProgram>;
390-
liquidityTokenProgram: Address<TAccountLiquidityTokenProgram>;
419+
collateralTokenProgram?: Address<TAccountCollateralTokenProgram>;
420+
liquidityTokenProgram?: Address<TAccountLiquidityTokenProgram>;
391421
instructionSysvarAccount?: Address<TAccountInstructionSysvarAccount>;
392422
liquidityAmount: DepositReserveLiquidityAndObligationCollateralInstructionDataArgs["liquidityAmount"];
393423
}
@@ -503,6 +533,14 @@ export function getDepositReserveLiquidityAndObligationCollateralInstruction<
503533
const args = { ...input };
504534

505535
// Resolve default values.
536+
if (!accounts.collateralTokenProgram.value) {
537+
accounts.collateralTokenProgram.value =
538+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
539+
}
540+
if (!accounts.liquidityTokenProgram.value) {
541+
accounts.liquidityTokenProgram.value =
542+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
543+
}
506544
if (!accounts.instructionSysvarAccount.value) {
507545
accounts.instructionSysvarAccount.value =
508546
"Sysvar1nstructions1111111111111111111111111" as Address<"Sysvar1nstructions1111111111111111111111111">;

clients/kamino-lending/src/generated/instructions/depositReserveLiquidityAndObligationCollateralV2.ts

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@ import {
3535
getU64Encoder,
3636
transformEncoder,
3737
} from "@solana/kit";
38-
import { findLendingMarketAuthPda } from "../pdas/index.js";
38+
import {
39+
findLendingMarketAuthPda,
40+
findReserveCollateralMintPda,
41+
findReserveLiquiditySupplyPda,
42+
} from "../pdas/index.js";
3943
import {
4044
FARMS_PROGRAM_ADDRESS,
4145
KAMINO_LENDING_PROGRAM_ADDRESS,
@@ -68,8 +72,12 @@ export type DepositReserveLiquidityAndObligationCollateralV2Instruction<
6872
TAccountPlaceholderUserDestinationCollateral extends
6973
| string
7074
| AccountMeta = string,
71-
TAccountCollateralTokenProgram extends string | AccountMeta = string,
72-
TAccountLiquidityTokenProgram extends string | AccountMeta = string,
75+
TAccountCollateralTokenProgram extends
76+
| string
77+
| AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
78+
TAccountLiquidityTokenProgram extends
79+
| string
80+
| AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
7381
TAccountInstructionSysvarAccount extends
7482
| string
7583
| AccountMeta = "Sysvar1nstructions1111111111111111111111111",
@@ -204,13 +212,13 @@ export interface DepositReserveLiquidityAndObligationCollateralV2AsyncInput<
204212
lendingMarketAuthority?: Address<TAccountLendingMarketAuthority>;
205213
reserve: Address<TAccountReserve>;
206214
reserveLiquidityMint: Address<TAccountReserveLiquidityMint>;
207-
reserveLiquiditySupply: Address<TAccountReserveLiquiditySupply>;
208-
reserveCollateralMint: Address<TAccountReserveCollateralMint>;
215+
reserveLiquiditySupply?: Address<TAccountReserveLiquiditySupply>;
216+
reserveCollateralMint?: Address<TAccountReserveCollateralMint>;
209217
reserveDestinationDepositCollateral: Address<TAccountReserveDestinationDepositCollateral>;
210218
userSourceLiquidity: Address<TAccountUserSourceLiquidity>;
211219
placeholderUserDestinationCollateral?: Address<TAccountPlaceholderUserDestinationCollateral>;
212-
collateralTokenProgram: Address<TAccountCollateralTokenProgram>;
213-
liquidityTokenProgram: Address<TAccountLiquidityTokenProgram>;
220+
collateralTokenProgram?: Address<TAccountCollateralTokenProgram>;
221+
liquidityTokenProgram?: Address<TAccountLiquidityTokenProgram>;
214222
instructionSysvarAccount?: Address<TAccountInstructionSysvarAccount>;
215223
obligationFarmUserState?: Address<TAccountObligationFarmUserState>;
216224
reserveFarmState?: Address<TAccountReserveFarmState>;
@@ -354,6 +362,28 @@ export async function getDepositReserveLiquidityAndObligationCollateralV2Instruc
354362
lendingMarket: expectAddress(accounts.lendingMarket.value),
355363
});
356364
}
365+
if (!accounts.reserveLiquiditySupply.value) {
366+
accounts.reserveLiquiditySupply.value = await findReserveLiquiditySupplyPda(
367+
{
368+
lendingMarket: expectAddress(accounts.lendingMarket.value),
369+
mint: expectAddress(accounts.reserveLiquidityMint.value),
370+
},
371+
);
372+
}
373+
if (!accounts.reserveCollateralMint.value) {
374+
accounts.reserveCollateralMint.value = await findReserveCollateralMintPda({
375+
lendingMarket: expectAddress(accounts.lendingMarket.value),
376+
mint: expectAddress(accounts.reserveLiquidityMint.value),
377+
});
378+
}
379+
if (!accounts.collateralTokenProgram.value) {
380+
accounts.collateralTokenProgram.value =
381+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
382+
}
383+
if (!accounts.liquidityTokenProgram.value) {
384+
accounts.liquidityTokenProgram.value =
385+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
386+
}
357387
if (!accounts.instructionSysvarAccount.value) {
358388
accounts.instructionSysvarAccount.value =
359389
"Sysvar1nstructions1111111111111111111111111" as Address<"Sysvar1nstructions1111111111111111111111111">;
@@ -440,8 +470,8 @@ export interface DepositReserveLiquidityAndObligationCollateralV2Input<
440470
reserveDestinationDepositCollateral: Address<TAccountReserveDestinationDepositCollateral>;
441471
userSourceLiquidity: Address<TAccountUserSourceLiquidity>;
442472
placeholderUserDestinationCollateral?: Address<TAccountPlaceholderUserDestinationCollateral>;
443-
collateralTokenProgram: Address<TAccountCollateralTokenProgram>;
444-
liquidityTokenProgram: Address<TAccountLiquidityTokenProgram>;
473+
collateralTokenProgram?: Address<TAccountCollateralTokenProgram>;
474+
liquidityTokenProgram?: Address<TAccountLiquidityTokenProgram>;
445475
instructionSysvarAccount?: Address<TAccountInstructionSysvarAccount>;
446476
obligationFarmUserState?: Address<TAccountObligationFarmUserState>;
447477
reserveFarmState?: Address<TAccountReserveFarmState>;
@@ -578,6 +608,14 @@ export function getDepositReserveLiquidityAndObligationCollateralV2Instruction<
578608
const args = { ...input };
579609

580610
// Resolve default values.
611+
if (!accounts.collateralTokenProgram.value) {
612+
accounts.collateralTokenProgram.value =
613+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
614+
}
615+
if (!accounts.liquidityTokenProgram.value) {
616+
accounts.liquidityTokenProgram.value =
617+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
618+
}
581619
if (!accounts.instructionSysvarAccount.value) {
582620
accounts.instructionSysvarAccount.value =
583621
"Sysvar1nstructions1111111111111111111111111" as Address<"Sysvar1nstructions1111111111111111111111111">;

0 commit comments

Comments
 (0)