Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/afraid-heads-watch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"@macalinao/create-coda": patch
"@macalinao/coda": patch
"coda-docs": patch
---

Version bumps
13 changes: 13 additions & 0 deletions .changeset/cruel-stars-cheer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
"@macalinao/clients-voter-stake-registry": patch
"@macalinao/clients-orca-whirlpools": patch
"@macalinao/clients-kamino-lending": patch
"@macalinao/clients-spl-governance": patch
"@macalinao/clients-token-metadata": patch
"@macalinao/create-coda": patch
"@macalinao/clients-quarry": patch
"@macalinao/coda": patch
"coda-docs": patch
---

Use ^ for workspace versions
5 changes: 5 additions & 0 deletions .changeset/quiet-badgers-clap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@macalinao/clients-token-metadata": patch
---

Instruction account defaults
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,4 @@ coverage/
/nix
/.devenv

docs/
/docs
14 changes: 7 additions & 7 deletions apps/docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,20 @@
"fumadocs-mdx": "11.8.0",
"fumadocs-ui": "15.7.0",
"next": "15.5.0",
"react": "^19.1.1",
"react-dom": "^19.1.1",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"yaml": "^2.8.1"
},
"devDependencies": {
"@tailwindcss/postcss": "^4.1.13",
"@tailwindcss/postcss": "^4.1.14",
"@types/mdx": "^2.0.13",
"@types/node": "24.3.0",
"@types/react": "^19.1.12",
"@types/react-dom": "^19.1.9",
"eslint": "^9.35.0",
"@types/react": "^19.2.0",
"@types/react-dom": "^19.2.0",
"eslint": "^9.37.0",
"eslint-config-next": "15.5.0",
"postcss": "^8.5.6",
"tailwindcss": "^4.1.13",
"tailwindcss": "^4.1.14",
"typescript": "^5.9.3"
}
}
264 changes: 100 additions & 164 deletions bun.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion clients/kamino-lending/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"@solana/kit": "*"
},
"devDependencies": {
"@macalinao/coda": "workspace:*",
"@macalinao/coda": "workspace:^",
"@macalinao/eslint-config": "catalog:",
"@macalinao/tsconfig": "catalog:",
"@solana/kit": "catalog:",
Expand Down
2 changes: 1 addition & 1 deletion clients/orca-whirlpools/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"@solana/kit": "*"
},
"devDependencies": {
"@macalinao/coda": "workspace:*",
"@macalinao/coda": "workspace:^",
"@macalinao/eslint-config": "catalog:",
"@macalinao/tsconfig": "catalog:",
"@solana/kit": "catalog:",
Expand Down
4 changes: 2 additions & 2 deletions clients/quarry/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@
"@solana/kit": "*"
},
"devDependencies": {
"@macalinao/coda": "workspace:*",
"@macalinao/codama-rename-visitor": "workspace:*",
"@macalinao/coda": "workspace:^",
"@macalinao/codama-rename-visitor": "workspace:^",
"@macalinao/eslint-config": "catalog:",
"@macalinao/tsconfig": "catalog:",
"@solana/kit": "catalog:",
Expand Down
2 changes: 1 addition & 1 deletion clients/spl-governance/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
"@solana/kit": "*"
},
"devDependencies": {
"@macalinao/coda": "workspace:*",
"@macalinao/coda": "workspace:^",
"@macalinao/eslint-config": "catalog:",
"@macalinao/tsconfig": "catalog:",
"@solana/kit": "catalog:",
Expand Down
48 changes: 47 additions & 1 deletion clients/token-metadata/coda.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ import {
constantPdaSeedNodeFromString,
defineConfig,
publicKeyTypeNode,
publicKeyValueNode,
setInstructionAccountDefaultValuesVisitor,
variablePdaSeedNode,
} from "@macalinao/coda";

Expand Down Expand Up @@ -49,5 +51,49 @@ export default defineConfig({
docs: {
npmPackageName: "@macalinao/clients-token-metadata",
},
visitors: [addCustomPDAsVisitor],
visitors: [
addCustomPDAsVisitor,
setInstructionAccountDefaultValuesVisitor([
{
account: "systemProgram",
defaultValue: publicKeyValueNode("11111111111111111111111111111111"),
},
{
account: "sysvarInstructions",
defaultValue: publicKeyValueNode(
"Sysvar1nstructions1111111111111111111111111",
),
},
{
account: "tokenProgram",
defaultValue: publicKeyValueNode(
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
),
},
{
account: "splTokenProgram",
defaultValue: publicKeyValueNode(
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
),
},
{
account: "ataProgram",
defaultValue: publicKeyValueNode(
"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
),
},
{
account: "splAtaProgram",
defaultValue: publicKeyValueNode(
"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",
),
},
{
account: "rent",
defaultValue: publicKeyValueNode(
"SysvarRent111111111111111111111111111111111",
),
},
]),
],
});
2 changes: 1 addition & 1 deletion clients/token-metadata/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"@solana/kit": "*"
},
"devDependencies": {
"@macalinao/coda": "workspace:*",
"@macalinao/coda": "workspace:^",
"@macalinao/eslint-config": "catalog:",
"@macalinao/tsconfig": "catalog:",
"@solana/kit": "catalog:",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,9 @@ export type ApproveCollectionAuthorityInstruction<
TAccountPayer extends string | AccountMeta = string,
TAccountMetadata extends string | AccountMeta = string,
TAccountMint extends string | AccountMeta = string,
TAccountSystemProgram extends string | AccountMeta = string,
TAccountSystemProgram extends
| string
| AccountMeta = "11111111111111111111111111111111",
TAccountRent extends string | AccountMeta | undefined = undefined,
TRemainingAccounts extends readonly AccountMeta[] = [],
> = Instruction<TProgram> &
Expand Down Expand Up @@ -142,7 +144,7 @@ export interface ApproveCollectionAuthorityInput<
/** Mint of Collection Metadata */
mint: Address<TAccountMint>;
/** System program */
systemProgram: Address<TAccountSystemProgram>;
systemProgram?: Address<TAccountSystemProgram>;
/** Rent info */
rent?: Address<TAccountRent>;
}
Expand Down Expand Up @@ -206,6 +208,16 @@ export function getApproveCollectionAuthorityInstruction<
ResolvedAccount
>;

// Resolve default values.
if (!accounts.systemProgram.value) {
accounts.systemProgram.value =
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
}
if (!accounts.rent.value) {
accounts.rent.value =
"SysvarRent111111111111111111111111111111111" as Address<"SysvarRent111111111111111111111111111111111">;
}

const getAccountMeta = getAccountMetaFactory(programAddress, "omitted");
return Object.freeze({
accounts: [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,12 @@ export type ApproveUseAuthorityInstruction<
TAccountMetadata extends string | AccountMeta = string,
TAccountMint extends string | AccountMeta = string,
TAccountBurner extends string | AccountMeta = string,
TAccountTokenProgram extends string | AccountMeta = string,
TAccountSystemProgram extends string | AccountMeta = string,
TAccountTokenProgram extends
| string
| AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
TAccountSystemProgram extends
| string
| AccountMeta = "11111111111111111111111111111111",
TAccountRent extends string | AccountMeta | undefined = undefined,
TRemainingAccounts extends readonly AccountMeta[] = [],
> = Instruction<TProgram> &
Expand Down Expand Up @@ -178,9 +182,9 @@ export interface ApproveUseAuthorityInput<
/** Program As Signer (Burner) */
burner: Address<TAccountBurner>;
/** Token program */
tokenProgram: Address<TAccountTokenProgram>;
tokenProgram?: Address<TAccountTokenProgram>;
/** System program */
systemProgram: Address<TAccountSystemProgram>;
systemProgram?: Address<TAccountSystemProgram>;
/** Rent info */
rent?: Address<TAccountRent>;
approveUseAuthorityArgs: ApproveUseAuthorityInstructionDataArgs["approveUseAuthorityArgs"];
Expand Down Expand Up @@ -260,6 +264,20 @@ export function getApproveUseAuthorityInstruction<
// Original args.
const args = { ...input };

// Resolve default values.
if (!accounts.tokenProgram.value) {
accounts.tokenProgram.value =
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
}
if (!accounts.systemProgram.value) {
accounts.systemProgram.value =
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
}
if (!accounts.rent.value) {
accounts.rent.value =
"SysvarRent111111111111111111111111111111111" as Address<"SysvarRent111111111111111111111111111111111">;
}

const getAccountMeta = getAccountMetaFactory(programAddress, "omitted");
return Object.freeze({
accounts: [
Expand Down
32 changes: 26 additions & 6 deletions clients/token-metadata/src/generated/instructions/burn.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,15 @@ export type BurnInstruction<
TAccountMasterEditionToken extends string | AccountMeta = string,
TAccountEditionMarker extends string | AccountMeta = string,
TAccountTokenRecord extends string | AccountMeta = string,
TAccountSystemProgram extends string | AccountMeta = string,
TAccountSysvarInstructions extends string | AccountMeta = string,
TAccountSplTokenProgram extends string | AccountMeta = string,
TAccountSystemProgram extends
| string
| AccountMeta = "11111111111111111111111111111111",
TAccountSysvarInstructions extends
| string
| AccountMeta = "Sysvar1nstructions1111111111111111111111111",
TAccountSplTokenProgram extends
| string
| AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
TRemainingAccounts extends readonly AccountMeta[] = [],
> = Instruction<TProgram> &
InstructionWithData<ReadonlyUint8Array> &
Expand Down Expand Up @@ -185,11 +191,11 @@ export interface BurnInput<
/** Token record account */
tokenRecord?: Address<TAccountTokenRecord>;
/** System program */
systemProgram: Address<TAccountSystemProgram>;
systemProgram?: Address<TAccountSystemProgram>;
/** Instructions sysvar account */
sysvarInstructions: Address<TAccountSysvarInstructions>;
sysvarInstructions?: Address<TAccountSysvarInstructions>;
/** SPL Token Program */
splTokenProgram: Address<TAccountSplTokenProgram>;
splTokenProgram?: Address<TAccountSplTokenProgram>;
burnArgs: BurnInstructionDataArgs["burnArgs"];
}

Expand Down Expand Up @@ -288,6 +294,20 @@ export function getBurnInstruction<
// Original args.
const args = { ...input };

// Resolve default values.
if (!accounts.systemProgram.value) {
accounts.systemProgram.value =
"11111111111111111111111111111111" as Address<"11111111111111111111111111111111">;
}
if (!accounts.sysvarInstructions.value) {
accounts.sysvarInstructions.value =
"Sysvar1nstructions1111111111111111111111111" as Address<"Sysvar1nstructions1111111111111111111111111">;
}
if (!accounts.splTokenProgram.value) {
accounts.splTokenProgram.value =
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
}

const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
return Object.freeze({
accounts: [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ export type BurnEditionNftInstruction<
TAccountMasterEditionAccount extends string | AccountMeta = string,
TAccountPrintEditionAccount extends string | AccountMeta = string,
TAccountEditionMarkerAccount extends string | AccountMeta = string,
TAccountSplTokenProgram extends string | AccountMeta = string,
TAccountSplTokenProgram extends
| string
| AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
TRemainingAccounts extends readonly AccountMeta[] = [],
> = Instruction<TProgram> &
InstructionWithData<ReadonlyUint8Array> &
Expand Down Expand Up @@ -150,7 +152,7 @@ export interface BurnEditionNftInput<
/** Edition Marker PDA of the NFT */
editionMarkerAccount: Address<TAccountEditionMarkerAccount>;
/** SPL Token Program */
splTokenProgram: Address<TAccountSplTokenProgram>;
splTokenProgram?: Address<TAccountSplTokenProgram>;
}

export function getBurnEditionNftInstruction<
Expand Down Expand Up @@ -238,6 +240,12 @@ export function getBurnEditionNftInstruction<
ResolvedAccount
>;

// Resolve default values.
if (!accounts.splTokenProgram.value) {
accounts.splTokenProgram.value =
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
}

const getAccountMeta = getAccountMetaFactory(programAddress, "programId");
return Object.freeze({
accounts: [
Expand Down
12 changes: 10 additions & 2 deletions clients/token-metadata/src/generated/instructions/burnNft.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,9 @@ export type BurnNftInstruction<
TAccountMint extends string | AccountMeta = string,
TAccountTokenAccount extends string | AccountMeta = string,
TAccountMasterEditionAccount extends string | AccountMeta = string,
TAccountSplTokenProgram extends string | AccountMeta = string,
TAccountSplTokenProgram extends
| string
| AccountMeta = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
TAccountCollectionMetadata extends
| string
| AccountMeta
Expand Down Expand Up @@ -134,7 +136,7 @@ export interface BurnNftInput<
/** MasterEdition2 of the NFT */
masterEditionAccount: Address<TAccountMasterEditionAccount>;
/** SPL Token Program */
splTokenProgram: Address<TAccountSplTokenProgram>;
splTokenProgram?: Address<TAccountSplTokenProgram>;
/** Metadata of the Collection */
collectionMetadata?: Address<TAccountCollectionMetadata>;
}
Expand Down Expand Up @@ -197,6 +199,12 @@ export function getBurnNftInstruction<
ResolvedAccount
>;

// Resolve default values.
if (!accounts.splTokenProgram.value) {
accounts.splTokenProgram.value =
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA" as Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
}

const getAccountMeta = getAccountMetaFactory(programAddress, "omitted");
return Object.freeze({
accounts: [
Expand Down
Loading