Skip to content

Commit 21d7869

Browse files
authored
Merge pull request #47 from macalinao/igm/vsr-improvements
Set more defaults across all program clients
2 parents 490c7e0 + d5b3e07 commit 21d7869

File tree

87 files changed

+1190
-259
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+1190
-259
lines changed

.changeset/gold-fans-marry.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@macalinao/clients-kamino-lending": patch
3+
---
4+
5+
Set default for farms program

.changeset/heavy-cougars-love.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@macalinao/clients-voter-stake-registry": patch
3+
---
4+
5+
Update VSR idl with bytemuck info

.changeset/proud-eagles-wink.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
"@macalinao/clients-voter-stake-registry": patch
3+
"@macalinao/clients-orca-whirlpools": patch
4+
"@macalinao/clients-kamino-lending": patch
5+
"@macalinao/clients-spl-governance": patch
6+
"@macalinao/clients-token-metadata": patch
7+
"@macalinao/coda-visitors": patch
8+
"@macalinao/coda": patch
9+
---
10+
11+
Add default instruction account values for many programs

bun.lock

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,10 @@
159159
"name": "@macalinao/coda-visitors",
160160
"version": "0.1.2",
161161
"dependencies": {
162+
"@solana-program/system": "^0.8.1",
163+
"@solana-program/token": "^0.6.0",
164+
"@solana-program/token-2022": "^0.5.0",
165+
"@solana/sysvars": "^3.0.3",
162166
"codama": "catalog:",
163167
},
164168
"devDependencies": {
@@ -681,6 +685,12 @@
681685

682686
"@shikijs/vscode-textmate": ["@shikijs/[email protected]", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="],
683687

688+
"@solana-program/system": ["@solana-program/[email protected]", "", { "peerDependencies": { "@solana/kit": "^3.0" } }, "sha512-71U9Mzdpw8HQtfgfJSL5xKZbLMRnza2Llsfk7gGnmg2waqK+o8MMH4YNma8xXS1UmOBptXIiNvoZ3p7cmOVktg=="],
689+
690+
"@solana-program/token": ["@solana-program/[email protected]", "", { "peerDependencies": { "@solana/kit": "^3.0" } }, "sha512-omkZh4Tt9rre4wzWHNOhOEHyenXQku3xyc/UrKvShexA/Qlhza67q7uRwmwEDUs4QqoDBidSZPooOmepnA/jig=="],
691+
692+
"@solana-program/token-2022": ["@solana-program/[email protected]", "", { "peerDependencies": { "@solana/kit": "^3.0", "@solana/sysvars": "^3.0" } }, "sha512-CJcFU2bXeXh2da7GAsBRBbmYbmMCBb7uQye0ePsv9pKbWm7r4sqMLoNEi5B+bHRIx9urTKAbmYlGnvWxC9htNg=="],
693+
684694
"@solana/accounts": ["@solana/[email protected]", "", { "dependencies": { "@solana/addresses": "3.0.3", "@solana/codecs-core": "3.0.3", "@solana/codecs-strings": "3.0.3", "@solana/errors": "3.0.3", "@solana/rpc-spec": "3.0.3", "@solana/rpc-types": "3.0.3" }, "peerDependencies": { "typescript": ">=5.3.3" } }, "sha512-KqlePrlZaHXfu8YQTCxN204ZuVm9o68CCcUr6l27MG2cuRUtEM1Ta0iR8JFkRUAEfZJC4Cu0ZDjK/v49loXjZQ=="],
685695

686696
"@solana/addresses": ["@solana/[email protected]", "", { "dependencies": { "@solana/assertions": "3.0.3", "@solana/codecs-core": "3.0.3", "@solana/codecs-strings": "3.0.3", "@solana/errors": "3.0.3", "@solana/nominal-types": "3.0.3" }, "peerDependencies": { "typescript": ">=5.3.3" } }, "sha512-AuMwKhJI89ANqiuJ/fawcwxNKkSeHH9CApZd2xelQQLS7X8uxAOovpcmEgiObQuiVP944s9ScGUT62Bdul9qYg=="],

clients/kamino-lending/coda.config.mjs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
constantPdaSeedNodeFromString,
44
defineConfig,
55
numberTypeNode,
6+
programLinkNode,
67
publicKeyTypeNode,
78
renameVisitor,
89
stringTypeNode,
@@ -16,6 +17,12 @@ export default defineConfig({
1617
docs: {
1718
npmPackageName: "@macalinao/clients-kamino-lending",
1819
},
20+
instructionAccountDefaultValues: [
21+
{
22+
account: "farmsProgram",
23+
defaultValue: programLinkNode("farms"),
24+
},
25+
],
1926
// We can add custom visitors here later if needed
2027
visitors: [
2128
addPdasVisitor({

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ export type AddRewardsInstruction<
5555
TAccountFarmVaultsAuthority extends string | AccountMeta = string,
5656
TAccountPayerRewardTokenAta extends string | AccountMeta = string,
5757
TAccountScopePrices extends string | AccountMeta = string,
58-
TAccountTokenProgram extends string | AccountMeta = string,
58+
TAccountTokenProgram extends
59+
| string
60+
| AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
5961
TRemainingAccounts extends readonly AccountMeta[] = [],
6062
> = Instruction<TProgram> &
6163
InstructionWithData<ReadonlyUint8Array> &
@@ -147,7 +149,7 @@ export interface AddRewardsInput<
147149
farmVaultsAuthority: Address<TAccountFarmVaultsAuthority>;
148150
payerRewardTokenAta: Address<TAccountPayerRewardTokenAta>;
149151
scopePrices?: Address<TAccountScopePrices>;
150-
tokenProgram: Address<TAccountTokenProgram>;
152+
tokenProgram?: Address<TAccountTokenProgram>;
151153
amount: AddRewardsInstructionDataArgs["amount"];
152154
rewardIndex: AddRewardsInstructionDataArgs["rewardIndex"];
153155
}
@@ -213,6 +215,12 @@ export function getAddRewardsInstruction<
213215
// Original args.
214216
const args = { ...input };
215217

218+
// Resolve default values.
219+
if (!accounts.tokenProgram.value) {
220+
accounts.tokenProgram.value =
221+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
222+
}
223+
216224
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
217225
return Object.freeze({
218226
accounts: [

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,9 @@ export type BorrowObligationLiquidityInstruction<
6161
| AccountMeta = string,
6262
TAccountUserDestinationLiquidity extends string | AccountMeta = string,
6363
TAccountReferrerTokenState extends string | AccountMeta = string,
64-
TAccountTokenProgram extends string | AccountMeta = string,
64+
TAccountTokenProgram extends
65+
| string
66+
| AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
6567
TAccountInstructionSysvarAccount extends
6668
| string
6769
| AccountMeta = "Sysvar1nstructions1111111111111111111111111",
@@ -174,7 +176,7 @@ export interface BorrowObligationLiquidityInput<
174176
borrowReserveLiquidityFeeReceiver: Address<TAccountBorrowReserveLiquidityFeeReceiver>;
175177
userDestinationLiquidity: Address<TAccountUserDestinationLiquidity>;
176178
referrerTokenState?: Address<TAccountReferrerTokenState>;
177-
tokenProgram: Address<TAccountTokenProgram>;
179+
tokenProgram?: Address<TAccountTokenProgram>;
178180
instructionSysvarAccount?: Address<TAccountInstructionSysvarAccount>;
179181
liquidityAmount: BorrowObligationLiquidityInstructionDataArgs["liquidityAmount"];
180182
}
@@ -273,6 +275,10 @@ export function getBorrowObligationLiquidityInstruction<
273275
const args = { ...input };
274276

275277
// Resolve default values.
278+
if (!accounts.tokenProgram.value) {
279+
accounts.tokenProgram.value =
280+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
281+
}
276282
if (!accounts.instructionSysvarAccount.value) {
277283
accounts.instructionSysvarAccount.value =
278284
"Sysvar1nstructions1111111111111111111111111" as Address<"Sysvar1nstructions1111111111111111111111111">;

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

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ import {
3535
getU64Encoder,
3636
transformEncoder,
3737
} from "@solana/kit";
38-
import { KAMINO_LENDING_PROGRAM_ADDRESS } from "../programs/index.js";
38+
import {
39+
FARMS_PROGRAM_ADDRESS,
40+
KAMINO_LENDING_PROGRAM_ADDRESS,
41+
} from "../programs/index.js";
3942
import { getAccountMetaFactory } from "../shared/index.js";
4043

4144
export const BORROW_OBLIGATION_LIQUIDITY_V2_DISCRIMINATOR: ReadonlyUint8Array =
@@ -61,13 +64,17 @@ export type BorrowObligationLiquidityV2Instruction<
6164
| AccountMeta = string,
6265
TAccountUserDestinationLiquidity extends string | AccountMeta = string,
6366
TAccountReferrerTokenState extends string | AccountMeta = string,
64-
TAccountTokenProgram extends string | AccountMeta = string,
67+
TAccountTokenProgram extends
68+
| string
69+
| AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
6570
TAccountInstructionSysvarAccount extends
6671
| string
6772
| AccountMeta = "Sysvar1nstructions1111111111111111111111111",
6873
TAccountObligationFarmUserState extends string | AccountMeta = string,
6974
TAccountReserveFarmState extends string | AccountMeta = string,
70-
TAccountFarmsProgram extends string | AccountMeta = string,
75+
TAccountFarmsProgram extends
76+
| string
77+
| AccountMeta = "FarmsPZpWu9i7Kky8tPN37rs2TpmMrAZrC7S7vJa91Hr",
7178
TRemainingAccounts extends readonly AccountMeta[] = [],
7279
> = Instruction<TProgram> &
7380
InstructionWithData<ReadonlyUint8Array> &
@@ -189,11 +196,11 @@ export interface BorrowObligationLiquidityV2Input<
189196
borrowReserveLiquidityFeeReceiver: Address<TAccountBorrowReserveLiquidityFeeReceiver>;
190197
userDestinationLiquidity: Address<TAccountUserDestinationLiquidity>;
191198
referrerTokenState?: Address<TAccountReferrerTokenState>;
192-
tokenProgram: Address<TAccountTokenProgram>;
199+
tokenProgram?: Address<TAccountTokenProgram>;
193200
instructionSysvarAccount?: Address<TAccountInstructionSysvarAccount>;
194201
obligationFarmUserState?: Address<TAccountObligationFarmUserState>;
195202
reserveFarmState?: Address<TAccountReserveFarmState>;
196-
farmsProgram: Address<TAccountFarmsProgram>;
203+
farmsProgram?: Address<TAccountFarmsProgram>;
197204
liquidityAmount: BorrowObligationLiquidityV2InstructionDataArgs["liquidityAmount"];
198205
}
199206

@@ -309,10 +316,18 @@ export function getBorrowObligationLiquidityV2Instruction<
309316
const args = { ...input };
310317

311318
// Resolve default values.
319+
if (!accounts.tokenProgram.value) {
320+
accounts.tokenProgram.value =
321+
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
322+
}
312323
if (!accounts.instructionSysvarAccount.value) {
313324
accounts.instructionSysvarAccount.value =
314325
"Sysvar1nstructions1111111111111111111111111" as Address<"Sysvar1nstructions1111111111111111111111111">;
315326
}
327+
if (!accounts.farmsProgram.value) {
328+
accounts.farmsProgram.value = FARMS_PROGRAM_ADDRESS;
329+
accounts.farmsProgram.isWritable = false;
330+
}
316331

317332
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
318333
return Object.freeze({

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

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,12 @@ export type DeleteReferrerStateAndShortUrlInstruction<
5050
TAccountReferrer extends string | AccountMeta = string,
5151
TAccountReferrerState extends string | AccountMeta = string,
5252
TAccountShortUrl extends string | AccountMeta = string,
53-
TAccountRent extends string | AccountMeta = string,
54-
TAccountSystemProgram extends string | AccountMeta = string,
53+
TAccountRent extends
54+
| string
55+
| AccountMeta = "SysvarRent111111111111111111111111111111111",
56+
TAccountSystemProgram extends
57+
| string
58+
| AccountMeta = "11111111111111111111111111111111",
5559
TRemainingAccounts extends readonly AccountMeta[] = [],
5660
> = Instruction<TProgram> &
5761
InstructionWithData<ReadonlyUint8Array> &
@@ -119,8 +123,8 @@ export interface DeleteReferrerStateAndShortUrlInput<
119123
referrer: TransactionSigner<TAccountReferrer>;
120124
referrerState: Address<TAccountReferrerState>;
121125
shortUrl: Address<TAccountShortUrl>;
122-
rent: Address<TAccountRent>;
123-
systemProgram: Address<TAccountSystemProgram>;
126+
rent?: Address<TAccountRent>;
127+
systemProgram?: Address<TAccountSystemProgram>;
124128
}
125129

126130
export function getDeleteReferrerStateAndShortUrlInstruction<
@@ -164,6 +168,16 @@ export function getDeleteReferrerStateAndShortUrlInstruction<
164168
ResolvedAccount
165169
>;
166170

171+
// Resolve default values.
172+
if (!accounts.rent.value) {
173+
accounts.rent.value =
174+
"SysvarRent111111111111111111111111111111111" as Address<"SysvarRent111111111111111111111111111111111">;
175+
}
176+
if (!accounts.systemProgram.value) {
177+
accounts.systemProgram.value =
178+
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
179+
}
180+
167181
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
168182
return Object.freeze({
169183
accounts: [

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

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ import {
3535
getU64Encoder,
3636
transformEncoder,
3737
} from "@solana/kit";
38-
import { KAMINO_LENDING_PROGRAM_ADDRESS } from "../programs/index.js";
38+
import {
39+
FARMS_PROGRAM_ADDRESS,
40+
KAMINO_LENDING_PROGRAM_ADDRESS,
41+
} from "../programs/index.js";
3942
import { getAccountMetaFactory } from "../shared/index.js";
4043

4144
export const DEPOSIT_AND_WITHDRAW_DISCRIMINATOR: ReadonlyUint8Array =
@@ -129,7 +132,9 @@ export type DepositAndWithdrawInstruction<
129132
TAccountWithdrawFarmsAccountsReserveFarmState extends
130133
| string
131134
| AccountMeta = string,
132-
TAccountFarmsProgram extends string | AccountMeta = string,
135+
TAccountFarmsProgram extends
136+
| string
137+
| AccountMeta = "FarmsPZpWu9i7Kky8tPN37rs2TpmMrAZrC7S7vJa91Hr",
133138
TRemainingAccounts extends readonly AccountMeta[] = [],
134139
> = Instruction<TProgram> &
135140
InstructionWithData<ReadonlyUint8Array> &
@@ -353,7 +358,7 @@ export interface DepositAndWithdrawInput<
353358
depositFarmsAccountsReserveFarmState?: Address<TAccountDepositFarmsAccountsReserveFarmState>;
354359
withdrawFarmsAccountsObligationFarmUserState?: Address<TAccountWithdrawFarmsAccountsObligationFarmUserState>;
355360
withdrawFarmsAccountsReserveFarmState?: Address<TAccountWithdrawFarmsAccountsReserveFarmState>;
356-
farmsProgram: Address<TAccountFarmsProgram>;
361+
farmsProgram?: Address<TAccountFarmsProgram>;
357362
liquidityAmount: DepositAndWithdrawInstructionDataArgs["liquidityAmount"];
358363
withdrawCollateralAmount: DepositAndWithdrawInstructionDataArgs["withdrawCollateralAmount"];
359364
}
@@ -619,6 +624,10 @@ export function getDepositAndWithdrawInstruction<
619624
accounts.withdrawAccountsInstructionSysvarAccount.value =
620625
"Sysvar1nstructions1111111111111111111111111" as Address<"Sysvar1nstructions1111111111111111111111111">;
621626
}
627+
if (!accounts.farmsProgram.value) {
628+
accounts.farmsProgram.value = FARMS_PROGRAM_ADDRESS;
629+
accounts.farmsProgram.isWritable = false;
630+
}
622631

623632
const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
624633
return Object.freeze({

0 commit comments

Comments
 (0)