From c4f7b9afd14a0825960d5f56527aa1288f93f496 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Wed, 19 Aug 2026 20:48:42 +0100 Subject: [PATCH] Generate a visited consumer-facing IDL Separate the raw interface IDL from the consumer-facing IDL. codama-rs now writes its macro-generated output to interface-idl.json, after which the Codama CLI applies the configured before visitors and uses writeIdlVisitor to write the resolved tree to idl.json. The Makefile owns both steps, keeping CI regeneration deterministic. As a result, consumers of idl.json receive the same transformed tree used by client generation, including resolved clock aliases, flattened instruction data and the stake account wrapper, with no dangling defined-type links. --- Makefile | 3 +- codama.mjs | 6 +- idl.json | 480 +++++---- interface-idl.json | 2351 ++++++++++++++++++++++++++++++++++++++++++++ package.json | 3 +- pnpm-lock.yaml | 117 ++- 6 files changed, 2668 insertions(+), 292 deletions(-) create mode 100644 interface-idl.json diff --git a/Makefile b/Makefile index 68c7d61f..ae1103bc 100644 --- a/Makefile +++ b/Makefile @@ -78,7 +78,8 @@ generate-clients: generate-idl-%: @cargo install --locked --version =0.13.1 codama-cli - codama-rs generate-idl $(call make-path,$*) -o idl.json --pretty $(ARGS) + codama-rs generate-idl $(call make-path,$*) -o interface-idl.json --pretty $(ARGS) + pnpm codama run idl # Helpers for publishing tag-name = $(lastword $(subst /, ,$(call make-path,$1))) diff --git a/codama.mjs b/codama.mjs index ed57c96a..86d49a4d 100644 --- a/codama.mjs +++ b/codama.mjs @@ -1,7 +1,7 @@ import * as c from 'codama'; export default { - idl: 'idl.json', + idl: 'interface-idl.json', before: [ { from: 'codama#updateInstructionsVisitor', @@ -68,6 +68,10 @@ export default { }, ], scripts: { + idl: { + from: '@codama/renderers-core#writeIdlVisitor', + args: ['idl.json'], + }, js: { from: '@codama/renderers-js', args: [ diff --git a/idl.json b/idl.json index be81e378..220a704c 100644 --- a/idl.json +++ b/idl.json @@ -18,6 +18,7 @@ "name": "stake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Uninitialized stake account" ], @@ -31,6 +32,7 @@ "name": "rentSysvar", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Rent sysvar" ], @@ -111,6 +113,7 @@ "name": "stake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Stake account to be updated" ], @@ -124,6 +127,7 @@ "name": "clockSysvar", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Clock sysvar" ], @@ -141,6 +145,7 @@ "name": "authority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "The stake or withdraw authority" ] @@ -222,6 +227,7 @@ "name": "stake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Initialized stake account to be delegated" ], @@ -235,6 +241,7 @@ "name": "vote", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Vote account to which this stake will be delegated" ], @@ -248,6 +255,7 @@ "name": "clockSysvar", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Clock sysvar" ], @@ -265,6 +273,7 @@ "name": "stakeHistory", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Stake history sysvar that carries stake warmup/cooldown history" ], @@ -282,6 +291,7 @@ "name": "unused", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Unused account, formerly the stake config" ], @@ -295,6 +305,7 @@ "name": "stakeAuthority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "Stake authority" ] @@ -343,6 +354,7 @@ "name": "stake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Stake account to be split; must be in the Initialized or Stake state" ], @@ -356,6 +368,7 @@ "name": "splitStake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Uninitialized stake account that will take the split-off amount" ], @@ -369,6 +382,7 @@ "name": "stakeAuthority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "Stake authority" ] @@ -441,6 +455,7 @@ "name": "stake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Stake account from which to withdraw" ], @@ -454,6 +469,7 @@ "name": "recipient", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Recipient account" ] @@ -463,6 +479,7 @@ "name": "clockSysvar", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Clock sysvar" ], @@ -480,6 +497,7 @@ "name": "stakeHistory", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Stake history sysvar that carries stake warmup/cooldown history" ], @@ -497,6 +515,7 @@ "name": "withdrawAuthority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "Withdraw authority" ] @@ -579,6 +598,7 @@ "name": "stake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Delegated stake account to be deactivated" ], @@ -592,6 +612,7 @@ "name": "clockSysvar", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Clock sysvar" ], @@ -609,6 +630,7 @@ "name": "stakeAuthority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "Stake authority" ] @@ -657,6 +679,7 @@ "name": "stake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Initialized stake account" ], @@ -670,6 +693,7 @@ "name": "authority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "Lockup authority or withdraw authority" ] @@ -696,14 +720,60 @@ }, { "kind": "instructionArgumentNode", - "name": "arg0", + "name": "unixTimestamp", "type": { - "kind": "definedTypeLinkNode", - "name": "lockupParams" + "kind": "optionTypeNode", + "fixed": false, + "item": { + "kind": "definedTypeLinkNode", + "name": "unixTimestamp" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u8", + "endian": "le" + } }, "display": { "kind": "structFieldDisplayNode", - "flatten": true + "label": "Locked Until" + } + }, + { + "kind": "instructionArgumentNode", + "name": "epoch", + "type": { + "kind": "optionTypeNode", + "fixed": false, + "item": { + "kind": "definedTypeLinkNode", + "name": "epoch" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u8", + "endian": "le" + } + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Locked Until Epoch" + } + }, + { + "kind": "instructionArgumentNode", + "name": "custodian", + "type": { + "kind": "optionTypeNode", + "fixed": false, + "item": { + "kind": "publicKeyTypeNode" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u8", + "endian": "le" + } } } ], @@ -730,6 +800,7 @@ "name": "destinationStake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Destination stake account for the merge" ], @@ -743,6 +814,7 @@ "name": "sourceStake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Source stake account for to merge. This account will be drained" ], @@ -756,6 +828,7 @@ "name": "clockSysvar", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Clock sysvar" ], @@ -773,6 +846,7 @@ "name": "stakeHistory", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Stake history sysvar that carries stake warmup/cooldown history" ], @@ -790,6 +864,7 @@ "name": "stakeAuthority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "Stake authority" ] @@ -838,6 +913,7 @@ "name": "stake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Stake account to be updated" ], @@ -851,6 +927,7 @@ "name": "base", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "Base key of stake or withdraw authority" ], @@ -864,6 +941,7 @@ "name": "clockSysvar", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Clock sysvar" ], @@ -908,14 +986,48 @@ }, { "kind": "instructionArgumentNode", - "name": "arg0", + "name": "newAuthorizedPubkey", + "type": { + "kind": "publicKeyTypeNode" + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "New Authority" + } + }, + { + "kind": "instructionArgumentNode", + "name": "stakeAuthorize", "type": { "kind": "definedTypeLinkNode", - "name": "authorizeWithSeedParams" + "name": "stakeAuthorize" }, "display": { "kind": "structFieldDisplayNode", - "flatten": true + "label": "Authority Type" + } + }, + { + "kind": "instructionArgumentNode", + "name": "authoritySeed", + "type": { + "kind": "sizePrefixTypeNode", + "type": { + "kind": "stringTypeNode", + "encoding": "utf8" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u64", + "endian": "le" + } + } + }, + { + "kind": "instructionArgumentNode", + "name": "authorityOwner", + "type": { + "kind": "publicKeyTypeNode" } } ], @@ -942,6 +1054,7 @@ "name": "stake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Uninitialized stake account" ], @@ -955,6 +1068,7 @@ "name": "rentSysvar", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Rent sysvar" ], @@ -972,6 +1086,7 @@ "name": "stakeAuthority", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "The stake authority" ] @@ -981,6 +1096,7 @@ "name": "withdrawAuthority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "The withdraw authority" ] @@ -1029,6 +1145,7 @@ "name": "stake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Stake account to be updated" ], @@ -1042,6 +1159,7 @@ "name": "clockSysvar", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Clock sysvar" ], @@ -1059,6 +1177,7 @@ "name": "authority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "The stake or withdraw authority" ] @@ -1068,6 +1187,7 @@ "name": "newAuthority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "The new stake or withdraw authority" ] @@ -1138,6 +1258,7 @@ "name": "stake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Stake account to be updated" ], @@ -1151,6 +1272,7 @@ "name": "base", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "Base key of stake or withdraw authority" ], @@ -1164,6 +1286,7 @@ "name": "clockSysvar", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Clock sysvar" ], @@ -1181,6 +1304,7 @@ "name": "newAuthority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "The new stake or withdraw authority" ] @@ -1217,14 +1341,37 @@ }, { "kind": "instructionArgumentNode", - "name": "arg0", + "name": "stakeAuthorize", "type": { "kind": "definedTypeLinkNode", - "name": "authorizeCheckedWithSeedParams" + "name": "stakeAuthorize" }, "display": { "kind": "structFieldDisplayNode", - "flatten": true + "label": "Authority Type" + } + }, + { + "kind": "instructionArgumentNode", + "name": "authoritySeed", + "type": { + "kind": "sizePrefixTypeNode", + "type": { + "kind": "stringTypeNode", + "encoding": "utf8" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u64", + "endian": "le" + } + } + }, + { + "kind": "instructionArgumentNode", + "name": "authorityOwner", + "type": { + "kind": "publicKeyTypeNode" } } ], @@ -1251,6 +1398,7 @@ "name": "stake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Initialized stake account" ], @@ -1264,6 +1412,7 @@ "name": "authority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "Lockup authority or withdraw authority" ] @@ -1300,14 +1449,44 @@ }, { "kind": "instructionArgumentNode", - "name": "arg0", + "name": "unixTimestamp", "type": { - "kind": "definedTypeLinkNode", - "name": "lockupCheckedParams" + "kind": "optionTypeNode", + "fixed": false, + "item": { + "kind": "definedTypeLinkNode", + "name": "unixTimestamp" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u8", + "endian": "le" + } }, "display": { "kind": "structFieldDisplayNode", - "flatten": true + "label": "Locked Until" + } + }, + { + "kind": "instructionArgumentNode", + "name": "epoch", + "type": { + "kind": "optionTypeNode", + "fixed": false, + "item": { + "kind": "definedTypeLinkNode", + "name": "epoch" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u8", + "endian": "le" + } + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Locked Until Epoch" } } ], @@ -1370,6 +1549,7 @@ "name": "stake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Delegated stake account" ], @@ -1383,6 +1563,7 @@ "name": "delinquentVote", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Delinquent vote account for the delegated stake account" ], @@ -1396,6 +1577,7 @@ "name": "referenceVote", "isWritable": false, "isSigner": false, + "isOptional": false, "docs": [ "Reference vote account that has voted at least once in the last `MINIMUM_DELINQUENT_EPOCHS_FOR_DEACTIVATION` epochs" ], @@ -1438,38 +1620,6 @@ "interpolatedIntent": "Deactivate delinquent stake ${accounts.stake}" } }, - { - "kind": "instructionNode", - "name": "redelegate", - "optionalAccountStrategy": "omitted", - "arguments": [ - { - "kind": "instructionArgumentNode", - "name": "discriminator", - "defaultValueStrategy": "omitted", - "type": { - "kind": "numberTypeNode", - "format": "u32", - "endian": "le" - }, - "defaultValue": { - "kind": "numberValueNode", - "number": 15 - }, - "display": { - "kind": "structFieldDisplayNode", - "skip": "always" - } - } - ], - "discriminators": [ - { - "kind": "fieldDiscriminatorNode", - "name": "discriminator", - "offset": 0 - } - ] - }, { "kind": "instructionNode", "name": "moveStake", @@ -1480,6 +1630,7 @@ "name": "sourceStake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Active source stake account" ], @@ -1493,6 +1644,7 @@ "name": "destinationStake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Active or inactive destination stake account" ], @@ -1506,6 +1658,7 @@ "name": "stakeAuthority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "Stake authority" ] @@ -1578,6 +1731,7 @@ "name": "sourceStake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Active or inactive source stake account" ], @@ -1591,6 +1745,7 @@ "name": "destinationStake", "isWritable": true, "isSigner": false, + "isOptional": false, "docs": [ "Mergeable destination stake account" ], @@ -1604,6 +1759,7 @@ "name": "stakeAuthority", "isWritable": false, "isSigner": true, + "isOptional": false, "docs": [ "Stake authority" ] @@ -1670,214 +1826,23 @@ "definedTypes": [ { "kind": "definedTypeNode", - "name": "lockupParams", + "name": "epoch", "type": { - "kind": "structTypeNode", - "fields": [ - { - "kind": "structFieldTypeNode", - "name": "unixTimestamp", - "type": { - "kind": "optionTypeNode", - "item": { - "kind": "definedTypeLinkNode", - "name": "unixTimestamp" - }, - "prefix": { - "kind": "numberTypeNode", - "format": "u8", - "endian": "le" - } - }, - "display": { - "kind": "structFieldDisplayNode", - "label": "Locked Until" - } - }, - { - "kind": "structFieldTypeNode", - "name": "epoch", - "type": { - "kind": "optionTypeNode", - "item": { - "kind": "definedTypeLinkNode", - "name": "epoch" - }, - "prefix": { - "kind": "numberTypeNode", - "format": "u8", - "endian": "le" - } - }, - "display": { - "kind": "structFieldDisplayNode", - "label": "Locked Until Epoch" - } - }, - { - "kind": "structFieldTypeNode", - "name": "custodian", - "type": { - "kind": "optionTypeNode", - "item": { - "kind": "publicKeyTypeNode" - }, - "prefix": { - "kind": "numberTypeNode", - "format": "u8", - "endian": "le" - } - } - } - ] - } - }, - { - "kind": "definedTypeNode", - "name": "lockupCheckedParams", - "type": { - "kind": "structTypeNode", - "fields": [ - { - "kind": "structFieldTypeNode", - "name": "unixTimestamp", - "type": { - "kind": "optionTypeNode", - "item": { - "kind": "definedTypeLinkNode", - "name": "unixTimestamp" - }, - "prefix": { - "kind": "numberTypeNode", - "format": "u8", - "endian": "le" - } - }, - "display": { - "kind": "structFieldDisplayNode", - "label": "Locked Until" - } - }, - { - "kind": "structFieldTypeNode", - "name": "epoch", - "type": { - "kind": "optionTypeNode", - "item": { - "kind": "definedTypeLinkNode", - "name": "epoch" - }, - "prefix": { - "kind": "numberTypeNode", - "format": "u8", - "endian": "le" - } - }, - "display": { - "kind": "structFieldDisplayNode", - "label": "Locked Until Epoch" - } - } - ] - } - }, - { - "kind": "definedTypeNode", - "name": "authorizeWithSeedParams", - "type": { - "kind": "structTypeNode", - "fields": [ - { - "kind": "structFieldTypeNode", - "name": "newAuthorizedPubkey", - "type": { - "kind": "publicKeyTypeNode" - }, - "display": { - "kind": "structFieldDisplayNode", - "label": "New Authority" - } - }, - { - "kind": "structFieldTypeNode", - "name": "stakeAuthorize", - "type": { - "kind": "definedTypeLinkNode", - "name": "stakeAuthorize" - }, - "display": { - "kind": "structFieldDisplayNode", - "label": "Authority Type" - } - }, - { - "kind": "structFieldTypeNode", - "name": "authoritySeed", - "type": { - "kind": "sizePrefixTypeNode", - "type": { - "kind": "stringTypeNode", - "encoding": "utf8" - }, - "prefix": { - "kind": "numberTypeNode", - "format": "u64", - "endian": "le" - } - } - }, - { - "kind": "structFieldTypeNode", - "name": "authorityOwner", - "type": { - "kind": "publicKeyTypeNode" - } - } - ] + "kind": "numberTypeNode", + "format": "u64", + "endian": "le" } }, { "kind": "definedTypeNode", - "name": "authorizeCheckedWithSeedParams", + "name": "unixTimestamp", "type": { - "kind": "structTypeNode", - "fields": [ - { - "kind": "structFieldTypeNode", - "name": "stakeAuthorize", - "type": { - "kind": "definedTypeLinkNode", - "name": "stakeAuthorize" - }, - "display": { - "kind": "structFieldDisplayNode", - "label": "Authority Type" - } - }, - { - "kind": "structFieldTypeNode", - "name": "authoritySeed", - "type": { - "kind": "sizePrefixTypeNode", - "type": { - "kind": "stringTypeNode", - "encoding": "utf8" - }, - "prefix": { - "kind": "numberTypeNode", - "format": "u64", - "endian": "le" - } - } - }, - { - "kind": "structFieldTypeNode", - "name": "authorityOwner", - "type": { - "kind": "publicKeyTypeNode" - } - } - ] + "kind": "numberTypeNode", + "format": "i64", + "endian": "le", + "display": { + "kind": "dateTimeNumberDisplayNode" + } } }, { @@ -2346,6 +2311,25 @@ "code": 16, "message": "Stake action is not permitted while the epoch rewards period is active" } + ], + "accounts": [ + { + "kind": "accountNode", + "name": "stakeStateAccount", + "data": { + "kind": "structTypeNode", + "fields": [ + { + "kind": "structFieldTypeNode", + "name": "state", + "type": { + "kind": "definedTypeLinkNode", + "name": "stakeStateV2" + } + } + ] + } + } ] } } \ No newline at end of file diff --git a/interface-idl.json b/interface-idl.json new file mode 100644 index 00000000..be81e378 --- /dev/null +++ b/interface-idl.json @@ -0,0 +1,2351 @@ +{ + "kind": "rootNode", + "standard": "codama", + "version": "1.8.0", + "program": { + "kind": "programNode", + "name": "stake", + "publicKey": "Stake11111111111111111111111111111111111111", + "version": "4.4.0", + "instructions": [ + { + "kind": "instructionNode", + "name": "initialize", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "stake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Uninitialized stake account" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "rentSysvar", + "isWritable": false, + "isSigner": false, + "docs": [ + "Rent sysvar" + ], + "defaultValue": { + "kind": "publicKeyValueNode", + "publicKey": "SysvarRent111111111111111111111111111111111" + }, + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 0 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionArgumentNode", + "name": "arg0", + "type": { + "kind": "definedTypeLinkNode", + "name": "authorized" + }, + "display": { + "kind": "structFieldDisplayNode", + "flatten": true + } + }, + { + "kind": "instructionArgumentNode", + "name": "arg1", + "type": { + "kind": "definedTypeLinkNode", + "name": "lockup" + }, + "display": { + "kind": "structFieldDisplayNode", + "flatten": true + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Initialize stake account", + "interpolatedIntent": "Initialize stake account ${accounts.stake}" + } + }, + { + "kind": "instructionNode", + "name": "authorize", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "stake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Stake account to be updated" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "clockSysvar", + "isWritable": false, + "isSigner": false, + "docs": [ + "Clock sysvar" + ], + "defaultValue": { + "kind": "publicKeyValueNode", + "publicKey": "SysvarC1ock11111111111111111111111111111111" + }, + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionAccountNode", + "name": "authority", + "isWritable": false, + "isSigner": true, + "docs": [ + "The stake or withdraw authority" + ] + }, + { + "kind": "instructionAccountNode", + "name": "lockupAuthority", + "isWritable": false, + "isSigner": true, + "isOptional": true, + "docs": [ + "Lockup authority, if updating `StakeAuthorize::Withdrawer` before lockup expiration" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 1 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionArgumentNode", + "name": "arg0", + "type": { + "kind": "publicKeyTypeNode" + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "New Authority" + } + }, + { + "kind": "instructionArgumentNode", + "name": "arg1", + "type": { + "kind": "definedTypeLinkNode", + "name": "stakeAuthorize" + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Authority Type" + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Update stake authority", + "interpolatedIntent": "Set the ${data.arg1} authority of ${accounts.stake} to ${data.arg0}" + } + }, + { + "kind": "instructionNode", + "name": "delegateStake", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "stake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Initialized stake account to be delegated" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "vote", + "isWritable": false, + "isSigner": false, + "docs": [ + "Vote account to which this stake will be delegated" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Vote Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "clockSysvar", + "isWritable": false, + "isSigner": false, + "docs": [ + "Clock sysvar" + ], + "defaultValue": { + "kind": "publicKeyValueNode", + "publicKey": "SysvarC1ock11111111111111111111111111111111" + }, + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionAccountNode", + "name": "stakeHistory", + "isWritable": false, + "isSigner": false, + "docs": [ + "Stake history sysvar that carries stake warmup/cooldown history" + ], + "defaultValue": { + "kind": "publicKeyValueNode", + "publicKey": "SysvarStakeHistory1111111111111111111111111" + }, + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionAccountNode", + "name": "unused", + "isWritable": false, + "isSigner": false, + "docs": [ + "Unused account, formerly the stake config" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionAccountNode", + "name": "stakeAuthority", + "isWritable": false, + "isSigner": true, + "docs": [ + "Stake authority" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 2 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Delegate stake", + "interpolatedIntent": "Delegate ${accounts.stake} to vote account ${accounts.vote}" + } + }, + { + "kind": "instructionNode", + "name": "split", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "stake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Stake account to be split; must be in the Initialized or Stake state" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "splitStake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Uninitialized stake account that will take the split-off amount" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "New Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "stakeAuthority", + "isWritable": false, + "isSigner": true, + "docs": [ + "Stake authority" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 3 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionArgumentNode", + "name": "args", + "type": { + "kind": "numberTypeNode", + "format": "u64", + "endian": "le", + "display": { + "kind": "amountNumberDisplayNode", + "decimals": { + "kind": "numberValueNode", + "number": 9 + }, + "unit": { + "kind": "stringValueNode", + "string": "SOL" + } + } + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Amount" + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Split stake", + "interpolatedIntent": "Split ${data.args} from ${accounts.stake} into ${accounts.splitStake}" + } + }, + { + "kind": "instructionNode", + "name": "withdraw", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "stake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Stake account from which to withdraw" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "recipient", + "isWritable": true, + "isSigner": false, + "docs": [ + "Recipient account" + ] + }, + { + "kind": "instructionAccountNode", + "name": "clockSysvar", + "isWritable": false, + "isSigner": false, + "docs": [ + "Clock sysvar" + ], + "defaultValue": { + "kind": "publicKeyValueNode", + "publicKey": "SysvarC1ock11111111111111111111111111111111" + }, + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionAccountNode", + "name": "stakeHistory", + "isWritable": false, + "isSigner": false, + "docs": [ + "Stake history sysvar that carries stake warmup/cooldown history" + ], + "defaultValue": { + "kind": "publicKeyValueNode", + "publicKey": "SysvarStakeHistory1111111111111111111111111" + }, + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionAccountNode", + "name": "withdrawAuthority", + "isWritable": false, + "isSigner": true, + "docs": [ + "Withdraw authority" + ] + }, + { + "kind": "instructionAccountNode", + "name": "lockupAuthority", + "isWritable": false, + "isSigner": true, + "isOptional": true, + "docs": [ + "Lockup authority, if before lockup expiration" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 4 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionArgumentNode", + "name": "args", + "type": { + "kind": "numberTypeNode", + "format": "u64", + "endian": "le", + "display": { + "kind": "amountNumberDisplayNode", + "decimals": { + "kind": "numberValueNode", + "number": 9 + }, + "unit": { + "kind": "stringValueNode", + "string": "SOL" + } + } + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Amount" + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Withdraw stake", + "interpolatedIntent": "Withdraw ${data.args} from ${accounts.stake} to ${accounts.recipient}" + } + }, + { + "kind": "instructionNode", + "name": "deactivate", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "stake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Delegated stake account to be deactivated" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "clockSysvar", + "isWritable": false, + "isSigner": false, + "docs": [ + "Clock sysvar" + ], + "defaultValue": { + "kind": "publicKeyValueNode", + "publicKey": "SysvarC1ock11111111111111111111111111111111" + }, + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionAccountNode", + "name": "stakeAuthority", + "isWritable": false, + "isSigner": true, + "docs": [ + "Stake authority" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 5 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Deactivate stake", + "interpolatedIntent": "Deactivate ${accounts.stake}" + } + }, + { + "kind": "instructionNode", + "name": "setLockup", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "stake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Initialized stake account" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "authority", + "isWritable": false, + "isSigner": true, + "docs": [ + "Lockup authority or withdraw authority" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 6 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionArgumentNode", + "name": "arg0", + "type": { + "kind": "definedTypeLinkNode", + "name": "lockupParams" + }, + "display": { + "kind": "structFieldDisplayNode", + "flatten": true + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Set stake lockup", + "interpolatedIntent": "Update the lockup of ${accounts.stake}" + } + }, + { + "kind": "instructionNode", + "name": "merge", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "destinationStake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Destination stake account for the merge" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "To" + } + }, + { + "kind": "instructionAccountNode", + "name": "sourceStake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Source stake account for to merge. This account will be drained" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "From" + } + }, + { + "kind": "instructionAccountNode", + "name": "clockSysvar", + "isWritable": false, + "isSigner": false, + "docs": [ + "Clock sysvar" + ], + "defaultValue": { + "kind": "publicKeyValueNode", + "publicKey": "SysvarC1ock11111111111111111111111111111111" + }, + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionAccountNode", + "name": "stakeHistory", + "isWritable": false, + "isSigner": false, + "docs": [ + "Stake history sysvar that carries stake warmup/cooldown history" + ], + "defaultValue": { + "kind": "publicKeyValueNode", + "publicKey": "SysvarStakeHistory1111111111111111111111111" + }, + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionAccountNode", + "name": "stakeAuthority", + "isWritable": false, + "isSigner": true, + "docs": [ + "Stake authority" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 7 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Merge stake accounts", + "interpolatedIntent": "Merge ${accounts.sourceStake} into ${accounts.destinationStake}" + } + }, + { + "kind": "instructionNode", + "name": "authorizeWithSeed", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "stake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Stake account to be updated" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "base", + "isWritable": false, + "isSigner": true, + "docs": [ + "Base key of stake or withdraw authority" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Base Key" + } + }, + { + "kind": "instructionAccountNode", + "name": "clockSysvar", + "isWritable": false, + "isSigner": false, + "docs": [ + "Clock sysvar" + ], + "defaultValue": { + "kind": "publicKeyValueNode", + "publicKey": "SysvarC1ock11111111111111111111111111111111" + }, + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionAccountNode", + "name": "lockupAuthority", + "isWritable": false, + "isSigner": true, + "isOptional": true, + "docs": [ + "Lockup authority, if updating `StakeAuthorize::Withdrawer` before lockup expiration" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 8 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionArgumentNode", + "name": "arg0", + "type": { + "kind": "definedTypeLinkNode", + "name": "authorizeWithSeedParams" + }, + "display": { + "kind": "structFieldDisplayNode", + "flatten": true + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Update stake authority", + "interpolatedIntent": "Change an authority of ${accounts.stake}" + } + }, + { + "kind": "instructionNode", + "name": "initializeChecked", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "stake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Uninitialized stake account" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "rentSysvar", + "isWritable": false, + "isSigner": false, + "docs": [ + "Rent sysvar" + ], + "defaultValue": { + "kind": "publicKeyValueNode", + "publicKey": "SysvarRent111111111111111111111111111111111" + }, + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionAccountNode", + "name": "stakeAuthority", + "isWritable": false, + "isSigner": false, + "docs": [ + "The stake authority" + ] + }, + { + "kind": "instructionAccountNode", + "name": "withdrawAuthority", + "isWritable": false, + "isSigner": true, + "docs": [ + "The withdraw authority" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 9 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Initialize stake account", + "interpolatedIntent": "Initialize stake account ${accounts.stake}" + } + }, + { + "kind": "instructionNode", + "name": "authorizeChecked", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "stake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Stake account to be updated" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "clockSysvar", + "isWritable": false, + "isSigner": false, + "docs": [ + "Clock sysvar" + ], + "defaultValue": { + "kind": "publicKeyValueNode", + "publicKey": "SysvarC1ock11111111111111111111111111111111" + }, + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionAccountNode", + "name": "authority", + "isWritable": false, + "isSigner": true, + "docs": [ + "The stake or withdraw authority" + ] + }, + { + "kind": "instructionAccountNode", + "name": "newAuthority", + "isWritable": false, + "isSigner": true, + "docs": [ + "The new stake or withdraw authority" + ] + }, + { + "kind": "instructionAccountNode", + "name": "lockupAuthority", + "isWritable": false, + "isSigner": true, + "isOptional": true, + "docs": [ + "Lockup authority, if updating `StakeAuthorize::Withdrawer` before lockup expiration" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 10 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionArgumentNode", + "name": "stakeAuthorize", + "type": { + "kind": "definedTypeLinkNode", + "name": "stakeAuthorize" + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Authority Type" + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Update stake authority", + "interpolatedIntent": "Set the ${data.stakeAuthorize} authority of ${accounts.stake} to ${accounts.newAuthority}" + } + }, + { + "kind": "instructionNode", + "name": "authorizeCheckedWithSeed", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "stake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Stake account to be updated" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "base", + "isWritable": false, + "isSigner": true, + "docs": [ + "Base key of stake or withdraw authority" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Base Key" + } + }, + { + "kind": "instructionAccountNode", + "name": "clockSysvar", + "isWritable": false, + "isSigner": false, + "docs": [ + "Clock sysvar" + ], + "defaultValue": { + "kind": "publicKeyValueNode", + "publicKey": "SysvarC1ock11111111111111111111111111111111" + }, + "display": { + "kind": "instructionAccountDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionAccountNode", + "name": "newAuthority", + "isWritable": false, + "isSigner": true, + "docs": [ + "The new stake or withdraw authority" + ] + }, + { + "kind": "instructionAccountNode", + "name": "lockupAuthority", + "isWritable": false, + "isSigner": true, + "isOptional": true, + "docs": [ + "Lockup authority, if updating `StakeAuthorize::Withdrawer` before lockup expiration" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 11 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionArgumentNode", + "name": "arg0", + "type": { + "kind": "definedTypeLinkNode", + "name": "authorizeCheckedWithSeedParams" + }, + "display": { + "kind": "structFieldDisplayNode", + "flatten": true + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Update stake authority", + "interpolatedIntent": "Set an authority of ${accounts.stake} to ${accounts.newAuthority}" + } + }, + { + "kind": "instructionNode", + "name": "setLockupChecked", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "stake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Initialized stake account" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "authority", + "isWritable": false, + "isSigner": true, + "docs": [ + "Lockup authority or withdraw authority" + ] + }, + { + "kind": "instructionAccountNode", + "name": "newAuthority", + "isWritable": false, + "isSigner": true, + "isOptional": true, + "docs": [ + "New lockup authority" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 12 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionArgumentNode", + "name": "arg0", + "type": { + "kind": "definedTypeLinkNode", + "name": "lockupCheckedParams" + }, + "display": { + "kind": "structFieldDisplayNode", + "flatten": true + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Set stake lockup", + "interpolatedIntent": "Update the lockup of ${accounts.stake}" + } + }, + { + "kind": "instructionNode", + "name": "getMinimumDelegation", + "optionalAccountStrategy": "omitted", + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 13 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Get minimum stake delegation" + } + }, + { + "kind": "instructionNode", + "name": "deactivateDelinquent", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "stake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Delegated stake account" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Stake Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "delinquentVote", + "isWritable": false, + "isSigner": false, + "docs": [ + "Delinquent vote account for the delegated stake account" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Delinquent Vote Account" + } + }, + { + "kind": "instructionAccountNode", + "name": "referenceVote", + "isWritable": false, + "isSigner": false, + "docs": [ + "Reference vote account that has voted at least once in the last `MINIMUM_DELINQUENT_EPOCHS_FOR_DEACTIVATION` epochs" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "Reference Vote Account" + } + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 14 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Deactivate delinquent stake", + "interpolatedIntent": "Deactivate delinquent stake ${accounts.stake}" + } + }, + { + "kind": "instructionNode", + "name": "redelegate", + "optionalAccountStrategy": "omitted", + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 15 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ] + }, + { + "kind": "instructionNode", + "name": "moveStake", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "sourceStake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Active source stake account" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "From" + } + }, + { + "kind": "instructionAccountNode", + "name": "destinationStake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Active or inactive destination stake account" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "To" + } + }, + { + "kind": "instructionAccountNode", + "name": "stakeAuthority", + "isWritable": false, + "isSigner": true, + "docs": [ + "Stake authority" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 16 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionArgumentNode", + "name": "args", + "type": { + "kind": "numberTypeNode", + "format": "u64", + "endian": "le", + "display": { + "kind": "amountNumberDisplayNode", + "decimals": { + "kind": "numberValueNode", + "number": 9 + }, + "unit": { + "kind": "stringValueNode", + "string": "SOL" + } + } + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Amount" + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Move stake", + "interpolatedIntent": "Move ${data.args} of active stake from ${accounts.sourceStake} to ${accounts.destinationStake}" + } + }, + { + "kind": "instructionNode", + "name": "moveLamports", + "optionalAccountStrategy": "omitted", + "accounts": [ + { + "kind": "instructionAccountNode", + "name": "sourceStake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Active or inactive source stake account" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "From" + } + }, + { + "kind": "instructionAccountNode", + "name": "destinationStake", + "isWritable": true, + "isSigner": false, + "docs": [ + "Mergeable destination stake account" + ], + "display": { + "kind": "instructionAccountDisplayNode", + "label": "To" + } + }, + { + "kind": "instructionAccountNode", + "name": "stakeAuthority", + "isWritable": false, + "isSigner": true, + "docs": [ + "Stake authority" + ] + } + ], + "arguments": [ + { + "kind": "instructionArgumentNode", + "name": "discriminator", + "defaultValueStrategy": "omitted", + "type": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + }, + "defaultValue": { + "kind": "numberValueNode", + "number": 17 + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + }, + { + "kind": "instructionArgumentNode", + "name": "args", + "type": { + "kind": "numberTypeNode", + "format": "u64", + "endian": "le", + "display": { + "kind": "amountNumberDisplayNode", + "decimals": { + "kind": "numberValueNode", + "number": 9 + }, + "unit": { + "kind": "stringValueNode", + "string": "SOL" + } + } + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Amount" + } + } + ], + "discriminators": [ + { + "kind": "fieldDiscriminatorNode", + "name": "discriminator", + "offset": 0 + } + ], + "display": { + "kind": "instructionDisplayNode", + "intent": "Move unstaked SOL", + "interpolatedIntent": "Move ${data.args} from ${accounts.sourceStake} to ${accounts.destinationStake}" + } + } + ], + "definedTypes": [ + { + "kind": "definedTypeNode", + "name": "lockupParams", + "type": { + "kind": "structTypeNode", + "fields": [ + { + "kind": "structFieldTypeNode", + "name": "unixTimestamp", + "type": { + "kind": "optionTypeNode", + "item": { + "kind": "definedTypeLinkNode", + "name": "unixTimestamp" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u8", + "endian": "le" + } + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Locked Until" + } + }, + { + "kind": "structFieldTypeNode", + "name": "epoch", + "type": { + "kind": "optionTypeNode", + "item": { + "kind": "definedTypeLinkNode", + "name": "epoch" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u8", + "endian": "le" + } + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Locked Until Epoch" + } + }, + { + "kind": "structFieldTypeNode", + "name": "custodian", + "type": { + "kind": "optionTypeNode", + "item": { + "kind": "publicKeyTypeNode" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u8", + "endian": "le" + } + } + } + ] + } + }, + { + "kind": "definedTypeNode", + "name": "lockupCheckedParams", + "type": { + "kind": "structTypeNode", + "fields": [ + { + "kind": "structFieldTypeNode", + "name": "unixTimestamp", + "type": { + "kind": "optionTypeNode", + "item": { + "kind": "definedTypeLinkNode", + "name": "unixTimestamp" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u8", + "endian": "le" + } + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Locked Until" + } + }, + { + "kind": "structFieldTypeNode", + "name": "epoch", + "type": { + "kind": "optionTypeNode", + "item": { + "kind": "definedTypeLinkNode", + "name": "epoch" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u8", + "endian": "le" + } + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Locked Until Epoch" + } + } + ] + } + }, + { + "kind": "definedTypeNode", + "name": "authorizeWithSeedParams", + "type": { + "kind": "structTypeNode", + "fields": [ + { + "kind": "structFieldTypeNode", + "name": "newAuthorizedPubkey", + "type": { + "kind": "publicKeyTypeNode" + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "New Authority" + } + }, + { + "kind": "structFieldTypeNode", + "name": "stakeAuthorize", + "type": { + "kind": "definedTypeLinkNode", + "name": "stakeAuthorize" + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Authority Type" + } + }, + { + "kind": "structFieldTypeNode", + "name": "authoritySeed", + "type": { + "kind": "sizePrefixTypeNode", + "type": { + "kind": "stringTypeNode", + "encoding": "utf8" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u64", + "endian": "le" + } + } + }, + { + "kind": "structFieldTypeNode", + "name": "authorityOwner", + "type": { + "kind": "publicKeyTypeNode" + } + } + ] + } + }, + { + "kind": "definedTypeNode", + "name": "authorizeCheckedWithSeedParams", + "type": { + "kind": "structTypeNode", + "fields": [ + { + "kind": "structFieldTypeNode", + "name": "stakeAuthorize", + "type": { + "kind": "definedTypeLinkNode", + "name": "stakeAuthorize" + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Authority Type" + } + }, + { + "kind": "structFieldTypeNode", + "name": "authoritySeed", + "type": { + "kind": "sizePrefixTypeNode", + "type": { + "kind": "stringTypeNode", + "encoding": "utf8" + }, + "prefix": { + "kind": "numberTypeNode", + "format": "u64", + "endian": "le" + } + } + }, + { + "kind": "structFieldTypeNode", + "name": "authorityOwner", + "type": { + "kind": "publicKeyTypeNode" + } + } + ] + } + }, + { + "kind": "definedTypeNode", + "name": "stakeFlags", + "type": { + "kind": "structTypeNode", + "fields": [ + { + "kind": "structFieldTypeNode", + "name": "bits", + "type": { + "kind": "numberTypeNode", + "format": "u8", + "endian": "le" + } + } + ] + } + }, + { + "kind": "definedTypeNode", + "name": "stakeState", + "type": { + "kind": "enumTypeNode", + "variants": [ + { + "kind": "enumEmptyVariantTypeNode", + "name": "uninitialized" + }, + { + "kind": "enumTupleVariantTypeNode", + "name": "initialized", + "tuple": { + "kind": "tupleTypeNode", + "items": [ + { + "kind": "definedTypeLinkNode", + "name": "meta" + } + ] + } + }, + { + "kind": "enumTupleVariantTypeNode", + "name": "stake", + "tuple": { + "kind": "tupleTypeNode", + "items": [ + { + "kind": "definedTypeLinkNode", + "name": "meta" + }, + { + "kind": "definedTypeLinkNode", + "name": "stake" + } + ] + } + }, + { + "kind": "enumEmptyVariantTypeNode", + "name": "rewardsPool" + } + ], + "size": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + } + } + }, + { + "kind": "definedTypeNode", + "name": "stakeStateV2", + "type": { + "kind": "enumTypeNode", + "variants": [ + { + "kind": "enumEmptyVariantTypeNode", + "name": "uninitialized" + }, + { + "kind": "enumTupleVariantTypeNode", + "name": "initialized", + "tuple": { + "kind": "tupleTypeNode", + "items": [ + { + "kind": "definedTypeLinkNode", + "name": "meta" + } + ] + } + }, + { + "kind": "enumTupleVariantTypeNode", + "name": "stake", + "tuple": { + "kind": "tupleTypeNode", + "items": [ + { + "kind": "definedTypeLinkNode", + "name": "meta" + }, + { + "kind": "definedTypeLinkNode", + "name": "stake" + }, + { + "kind": "definedTypeLinkNode", + "name": "stakeFlags" + } + ] + } + }, + { + "kind": "enumEmptyVariantTypeNode", + "name": "rewardsPool" + } + ], + "size": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + } + } + }, + { + "kind": "definedTypeNode", + "name": "stakeAuthorize", + "type": { + "kind": "enumTypeNode", + "variants": [ + { + "kind": "enumEmptyVariantTypeNode", + "name": "staker" + }, + { + "kind": "enumEmptyVariantTypeNode", + "name": "withdrawer" + } + ], + "size": { + "kind": "numberTypeNode", + "format": "u32", + "endian": "le" + } + } + }, + { + "kind": "definedTypeNode", + "name": "lockup", + "type": { + "kind": "structTypeNode", + "fields": [ + { + "kind": "structFieldTypeNode", + "name": "unixTimestamp", + "type": { + "kind": "definedTypeLinkNode", + "name": "unixTimestamp" + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Locked Until" + } + }, + { + "kind": "structFieldTypeNode", + "name": "epoch", + "type": { + "kind": "definedTypeLinkNode", + "name": "epoch" + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Locked Until Epoch" + } + }, + { + "kind": "structFieldTypeNode", + "name": "custodian", + "type": { + "kind": "publicKeyTypeNode" + } + } + ] + } + }, + { + "kind": "definedTypeNode", + "name": "authorized", + "type": { + "kind": "structTypeNode", + "fields": [ + { + "kind": "structFieldTypeNode", + "name": "staker", + "type": { + "kind": "publicKeyTypeNode" + } + }, + { + "kind": "structFieldTypeNode", + "name": "withdrawer", + "type": { + "kind": "publicKeyTypeNode" + } + } + ] + } + }, + { + "kind": "definedTypeNode", + "name": "meta", + "type": { + "kind": "structTypeNode", + "fields": [ + { + "kind": "structFieldTypeNode", + "name": "rentExemptReserve", + "type": { + "kind": "numberTypeNode", + "format": "u64", + "endian": "le", + "display": { + "kind": "amountNumberDisplayNode", + "decimals": { + "kind": "numberValueNode", + "number": 9 + }, + "unit": { + "kind": "stringValueNode", + "string": "SOL" + } + } + } + }, + { + "kind": "structFieldTypeNode", + "name": "authorized", + "type": { + "kind": "definedTypeLinkNode", + "name": "authorized" + } + }, + { + "kind": "structFieldTypeNode", + "name": "lockup", + "type": { + "kind": "definedTypeLinkNode", + "name": "lockup" + } + } + ] + } + }, + { + "kind": "definedTypeNode", + "name": "delegation", + "type": { + "kind": "structTypeNode", + "fields": [ + { + "kind": "structFieldTypeNode", + "name": "voterPubkey", + "type": { + "kind": "publicKeyTypeNode" + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Vote Account" + } + }, + { + "kind": "structFieldTypeNode", + "name": "stake", + "type": { + "kind": "numberTypeNode", + "format": "u64", + "endian": "le", + "display": { + "kind": "amountNumberDisplayNode", + "decimals": { + "kind": "numberValueNode", + "number": 9 + }, + "unit": { + "kind": "stringValueNode", + "string": "SOL" + } + } + }, + "display": { + "kind": "structFieldDisplayNode", + "label": "Delegated Amount" + } + }, + { + "kind": "structFieldTypeNode", + "name": "activationEpoch", + "type": { + "kind": "definedTypeLinkNode", + "name": "epoch" + } + }, + { + "kind": "structFieldTypeNode", + "name": "deactivationEpoch", + "type": { + "kind": "definedTypeLinkNode", + "name": "epoch" + } + }, + { + "kind": "structFieldTypeNode", + "name": "reserved", + "type": { + "kind": "arrayTypeNode", + "item": { + "kind": "numberTypeNode", + "format": "u8", + "endian": "le" + }, + "count": { + "kind": "fixedCountNode", + "value": 8 + } + }, + "display": { + "kind": "structFieldDisplayNode", + "skip": "always" + } + } + ] + } + }, + { + "kind": "definedTypeNode", + "name": "stake", + "type": { + "kind": "structTypeNode", + "fields": [ + { + "kind": "structFieldTypeNode", + "name": "delegation", + "type": { + "kind": "definedTypeLinkNode", + "name": "delegation" + } + }, + { + "kind": "structFieldTypeNode", + "name": "creditsObserved", + "type": { + "kind": "numberTypeNode", + "format": "u64", + "endian": "le" + } + } + ] + } + } + ], + "errors": [ + { + "kind": "errorNode", + "name": "noCreditsToRedeem", + "code": 0, + "message": "Not enough credits to redeem" + }, + { + "kind": "errorNode", + "name": "lockupInForce", + "code": 1, + "message": "Lockup has not yet expired" + }, + { + "kind": "errorNode", + "name": "alreadyDeactivated", + "code": 2, + "message": "Stake already deactivated" + }, + { + "kind": "errorNode", + "name": "tooSoonToRedelegate", + "code": 3, + "message": "One re-delegation permitted per epoch" + }, + { + "kind": "errorNode", + "name": "insufficientStake", + "code": 4, + "message": "Split amount is more than is staked" + }, + { + "kind": "errorNode", + "name": "mergeTransientStake", + "code": 5, + "message": "Stake account with transient stake cannot be merged" + }, + { + "kind": "errorNode", + "name": "mergeMismatch", + "code": 6, + "message": "Stake account merge failed due to different authority, lockups or state" + }, + { + "kind": "errorNode", + "name": "custodianMissing", + "code": 7, + "message": "Custodian address not present" + }, + { + "kind": "errorNode", + "name": "custodianSignatureMissing", + "code": 8, + "message": "Custodian signature not present" + }, + { + "kind": "errorNode", + "name": "insufficientReferenceVotes", + "code": 9, + "message": "Insufficient voting activity in the reference vote account" + }, + { + "kind": "errorNode", + "name": "voteAddressMismatch", + "code": 10, + "message": "Stake account is not delegated to the provided vote account" + }, + { + "kind": "errorNode", + "name": "minimumDelinquentEpochsForDeactivationNotMet", + "code": 11, + "message": "Stake account has not been delinquent for the minimum epochs required for deactivation" + }, + { + "kind": "errorNode", + "name": "insufficientDelegation", + "code": 12, + "message": "Delegation amount is less than the minimum" + }, + { + "kind": "errorNode", + "name": "redelegateTransientOrInactiveStake", + "code": 13, + "message": "Stake account with transient or inactive stake cannot be redelegated" + }, + { + "kind": "errorNode", + "name": "redelegateToSameVoteAccount", + "code": 14, + "message": "Stake redelegation to the same vote account is not permitted" + }, + { + "kind": "errorNode", + "name": "redelegatedStakeMustFullyActivateBeforeDeactivationIsPermitted", + "code": 15, + "message": "Redelegated stake must be fully activated before deactivation" + }, + { + "kind": "errorNode", + "name": "epochRewardsActive", + "code": 16, + "message": "Stake action is not permitted while the epoch rewards period is active" + } + ] + } +} \ No newline at end of file diff --git a/package.json b/package.json index 614d8379..71922bca 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,10 @@ { "private": true, "devDependencies": { + "@codama/renderers-core": "^1.4.0", "@codama/renderers-js": "^2.3.1", "@codama/renderers-rust": "^3.1.3", - "codama": "^1.10.1", + "codama": "^1.10.2", "typescript": "^7.0.2" }, "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 905b35a3..283bb085 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,6 +8,9 @@ importers: .: devDependencies: + '@codama/renderers-core': + specifier: ^1.4.0 + version: 1.4.0 '@codama/renderers-js': specifier: ^2.3.1 version: 2.3.1(typescript@7.0.2) @@ -15,16 +18,16 @@ importers: specifier: ^3.1.3 version: 3.1.3(typescript@7.0.2) codama: - specifier: ^1.10.1 - version: 1.10.1 + specifier: ^1.10.2 + version: 1.10.2 typescript: specifier: ^7.0.2 version: 7.0.2 packages: - '@codama/cli@1.6.1': - resolution: {integrity: sha512-U7YtSNIz2AeNue0TM+lZhVtQgoYD9zbuNzRIzaicnrdpAWvVGPfZhoKBOjDyVt7xxr00VF6ilu2wDCgak1yQfQ==} + '@codama/cli@1.6.2': + resolution: {integrity: sha512-UFrWJxtELsPHOoG8soVuUqv/nSSUebLccaN3WQ43+5J7pFBetscEUsoy20lzV2gxYEfvYf6JqyuIUXGDmtnj9g==} hasBin: true '@codama/errors@1.10.0': @@ -35,8 +38,12 @@ packages: resolution: {integrity: sha512-AOeZ7SuSuCHlhh2irN6nI/YSkEDh+v7+/1ihqstJpYM5mYx67MuKNw1X3COe9nF8e3lkU+eVtq51ILdAJa34jA==} hasBin: true - '@codama/fragments@0.1.3': - resolution: {integrity: sha512-ITa3UYs74AWx7se/6EZN+YXqV1Vu89L3n2v0/irsQNbPcy8wP26p/GKns/1H4a8vGvAKuzWdIGO535dwcauInw==} + '@codama/errors@1.10.2': + resolution: {integrity: sha512-relp9Inq9QkhZ0JUklKujSFWLkVfQSsn2/ms303vsGVWlFBXQmoEsmZCVKgJ7k5APNBbsD8Hc9GGU4J+P05SLA==} + hasBin: true + + '@codama/fragments@0.1.5': + resolution: {integrity: sha512-aisr+cdayABykLhysE1pcDWMJJZNAAWyi5NEzkMLpyTmQrhIK6Mca14gSJIw3a0uo3E5s5Zc4d6gsxRjfYpLuw==} '@codama/node-types@1.10.0': resolution: {integrity: sha512-fMoJQ8TgB9A5Pl+GA8ffhDbGK63cV1nrbDrYTgIhPDKeVqBSdkSAoAuAtvWfRd7X2ML73H6RRi6jZRJmo2xfHQ==} @@ -44,14 +51,20 @@ packages: '@codama/node-types@1.10.1': resolution: {integrity: sha512-PANkfJ0/1rWwgWPWPRQoCoVbozWOb5YPvYDkEEvqXbnofC1qIioglMwy8pT3N1nJybMwS4J1prk05hSPmhRvag==} + '@codama/node-types@1.10.2': + resolution: {integrity: sha512-qFHqpuCmAoJy9ggkLadtug2Nlmnai6LrEmr+sfsK6dEJVOFGMNBR4dxwheziOu/Sn9oWGfnFfKbzQIdWE0qHHg==} + '@codama/nodes@1.10.0': resolution: {integrity: sha512-P3NXVw6kZq2VDb4wYU6zQ3xFksDqSuDYqp11P6Dpei9XIZZ11NtL2jBjBcqsIudGIx104bMgSo4SZ7Hlej056A==} '@codama/nodes@1.10.1': resolution: {integrity: sha512-hcfCCpubRf/BA0vOSEBu95Q8R42yhs0myrqWVCYgv4DQrEqeAiTJxav5NEgmRj8kdFm04Qn854IT4vVXVLP9mA==} - '@codama/renderers-core@1.3.11': - resolution: {integrity: sha512-VSGrfmwPVv5cRAiHitgIq+rc9ktIN/Q9czbUORaqhZCmM+M3Ux5cd5r90PVTbeIt8vI0Zlw74OUFwdKqdEfSNw==} + '@codama/nodes@1.10.2': + resolution: {integrity: sha512-wR2LKg6/GQ+ctgOiH9XPVb7ktq+gu7X/WEiCk45d4L1+P/JJh2kJeS/sMbktrgJNimcoO2G1Ms3+eUDjrwfo5g==} + + '@codama/renderers-core@1.4.0': + resolution: {integrity: sha512-JkqKWaN5nKampHgJ3jWh7u6kNPrwp7DB/lpkyS1hpL6NiC45tZGie6foaq8TnSTpaVPtVsL8Q46AP1MZpongpg==} '@codama/renderers-js@2.3.1': resolution: {integrity: sha512-+7WtjpcqnlPkweG+tWWiER2XkJP7SF+RJgYpI0RHc91ZP60Umt0qc+0JPuqMyiPhVrLTN2U/lpsBDQw2MeEsvA==} @@ -61,8 +74,8 @@ packages: resolution: {integrity: sha512-z5hPKlqT/0umZOdVMZfRw03mfN/GkdZ0z646cIComcosDk4VKTO4AFr98sg1L/aO5MXfoBrTfNOqYzD1fyUotg==} engines: {node: '>=20.18.0'} - '@codama/validators@1.10.1': - resolution: {integrity: sha512-cUe+D4gsZttbynBCH1vxTabsW61jFXCcv+FDrb3DNokf+gJKXkiNAyzTMQPazWCAQZkEVIdRkcj+J4vv1sTE+A==} + '@codama/validators@1.10.2': + resolution: {integrity: sha512-Ppf8qcbBMclncrTLZU/bxi2Y5Gf9cTg1SybHTIDankOholgRWzf8wdZ40Vc/BaphY223pHOUBXiEmwZ6eTRX7A==} '@codama/visitors-core@1.10.0': resolution: {integrity: sha512-8koBGs4m/NI4nDLJZx7Q1KzRUKkBy/GAnZq4xOEFGlhTvDCIAzEgo3biAhNFynGY45gzZJSX08QTDWKsPRjnaA==} @@ -70,8 +83,11 @@ packages: '@codama/visitors-core@1.10.1': resolution: {integrity: sha512-l5dEZ7Ra5KU64y0Nw79CUp4bAlKRQg9m1DlW1nfQtMEByWEzqteOYesKCgK1z3ypCOXqkN9qlrLAqaYSbOa9Vw==} - '@codama/visitors@1.10.1': - resolution: {integrity: sha512-odsT0HMGpByL4fynLEmVJVoWB1jU5+DNg6pSiJXHmWpJE68mHvgK3tXUTj7eU8zAW+lAjfQWui6pcFp8W4xhJA==} + '@codama/visitors-core@1.10.2': + resolution: {integrity: sha512-hxoISIWUUiu9Ma97OxsXl3Db5qvYmqUm9JVCf6MCb/+uE5nd4U/jZuTIKQFLulitiGRWhQr8IJI16YgO79Nuyw==} + + '@codama/visitors@1.10.2': + resolution: {integrity: sha512-DUkpq9TEuevg4mEOW9fyBJiYHGzj6ByNtgVAyLRWcUEz6Mz3Qn8+lRDpqqVyuzRbAdurf9bWsO8ln+zswPP4hg==} '@iarna/toml@2.2.5': resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} @@ -258,8 +274,8 @@ packages: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - codama@1.10.1: - resolution: {integrity: sha512-GWbRUN+cbgfNrBNzWkpi0z9JcgQxwkkQLW3L+1xCvJQilHmOIC/Si3Wxv5+AiXUad1jSwkacWfM/utpTMtPS5w==} + codama@1.10.2: + resolution: {integrity: sha512-fm6bFmgTrd6wPJ8o758wVVCYSEmEOU7Ctvlm8TxZoyPG0DlRS94AqnG3yC0HODXfGMAbai6pCxe9D04n3yl5AQ==} hasBin: true commander@14.0.3: @@ -383,11 +399,11 @@ packages: snapshots: - '@codama/cli@1.6.1': + '@codama/cli@1.6.2': dependencies: - '@codama/nodes': 1.10.1 - '@codama/visitors': 1.10.1 - '@codama/visitors-core': 1.10.1 + '@codama/nodes': 1.10.2 + '@codama/visitors': 1.10.2 + '@codama/visitors-core': 1.10.2 commander: 15.0.0 picocolors: 1.1.1 prompts: 2.4.2 @@ -404,14 +420,22 @@ snapshots: commander: 15.0.0 picocolors: 1.1.1 - '@codama/fragments@0.1.3': + '@codama/errors@1.10.2': dependencies: - '@codama/errors': 1.10.0 + '@codama/node-types': 1.10.2 + commander: 15.0.0 + picocolors: 1.1.1 + + '@codama/fragments@0.1.5': + dependencies: + '@codama/errors': 1.10.2 '@codama/node-types@1.10.0': {} '@codama/node-types@1.10.1': {} + '@codama/node-types@1.10.2': {} + '@codama/nodes@1.10.0': dependencies: '@codama/errors': 1.10.0 @@ -422,18 +446,23 @@ snapshots: '@codama/errors': 1.10.1 '@codama/node-types': 1.10.1 - '@codama/renderers-core@1.3.11': + '@codama/nodes@1.10.2': dependencies: - '@codama/errors': 1.10.0 - '@codama/fragments': 0.1.3 - '@codama/nodes': 1.10.0 - '@codama/visitors-core': 1.10.0 + '@codama/errors': 1.10.2 + '@codama/node-types': 1.10.2 + + '@codama/renderers-core@1.4.0': + dependencies: + '@codama/errors': 1.10.2 + '@codama/fragments': 0.1.5 + '@codama/nodes': 1.10.2 + '@codama/visitors-core': 1.10.2 '@codama/renderers-js@2.3.1(typescript@7.0.2)': dependencies: '@codama/errors': 1.10.0 '@codama/nodes': 1.10.0 - '@codama/renderers-core': 1.3.11 + '@codama/renderers-core': 1.4.0 '@codama/visitors-core': 1.10.0 '@solana/codecs-strings': 7.0.0(typescript@7.0.2) prettier: 3.9.6 @@ -446,7 +475,7 @@ snapshots: dependencies: '@codama/errors': 1.10.1 '@codama/nodes': 1.10.1 - '@codama/renderers-core': 1.3.11 + '@codama/renderers-core': 1.4.0 '@codama/visitors-core': 1.10.1 '@iarna/toml': 2.2.5 '@solana/codecs-strings': 7.0.0(typescript@7.0.2) @@ -457,11 +486,11 @@ snapshots: - fastestsmallesttextencoderdecoder - typescript - '@codama/validators@1.10.1': + '@codama/validators@1.10.2': dependencies: - '@codama/errors': 1.10.1 - '@codama/nodes': 1.10.1 - '@codama/visitors-core': 1.10.1 + '@codama/errors': 1.10.2 + '@codama/nodes': 1.10.2 + '@codama/visitors-core': 1.10.2 '@codama/visitors-core@1.10.0': dependencies: @@ -475,11 +504,17 @@ snapshots: '@codama/nodes': 1.10.1 json-stable-stringify: 1.3.0 - '@codama/visitors@1.10.1': + '@codama/visitors-core@1.10.2': dependencies: - '@codama/errors': 1.10.1 - '@codama/nodes': 1.10.1 - '@codama/visitors-core': 1.10.1 + '@codama/errors': 1.10.2 + '@codama/nodes': 1.10.2 + json-stable-stringify: 1.3.0 + + '@codama/visitors@1.10.2': + dependencies: + '@codama/errors': 1.10.2 + '@codama/nodes': 1.10.2 + '@codama/visitors-core': 1.10.2 '@iarna/toml@2.2.5': {} @@ -594,13 +629,13 @@ snapshots: chalk@5.6.2: {} - codama@1.10.1: + codama@1.10.2: dependencies: - '@codama/cli': 1.6.1 - '@codama/errors': 1.10.1 - '@codama/nodes': 1.10.1 - '@codama/validators': 1.10.1 - '@codama/visitors': 1.10.1 + '@codama/cli': 1.6.2 + '@codama/errors': 1.10.2 + '@codama/nodes': 1.10.2 + '@codama/validators': 1.10.2 + '@codama/visitors': 1.10.2 commander@14.0.3: {}