This package defines the various nodes that make up the Codama IDL. It provides types and helper functions to work with these nodes. If you are looking for a type-only version of these nodes, you can find them in the @codama/node-types
package.
pnpm install @codama/nodes
Note
This package is included in the main codama
package. Meaning, you already have access to its content if you are installing Codama this way.
pnpm install codama
The Codama IDL is composed of various nodes that describe different aspects of a Solana program. Some nodes are categorised together as they share a similar purpose. For instance, all the nodes that describe a data structure that can be encoded and decoded into buffers are grouped under the TypeNode
category.
Below are all of the available nodes and their documentation. Also note that you can refer to any node using the Node
helper type.
AccountNode
DefinedTypeNode
ErrorNode
InstructionAccountNode
InstructionArgumentNode
InstructionByteDeltaNode
InstructionNode
InstructionRemainingAccountsNode
PdaNode
ProgramNode
RootNode
ContextualValueNode
(abstract)CountNode
(abstract)DiscriminatorNode
(abstract)LinkNode
(abstract)PdaSeedNode
(abstract)TypeNode
(abstract)AmountTypeNode
ArrayTypeNode
BooleanTypeNode
BytesTypeNode
DateTimeTypeNode
EnumEmptyVariantTypeNode
EnumStructVariantTypeNode
EnumTupleVariantTypeNode
EnumTypeNode
EnumVariantTypeNode
(abstract)FixedSizeTypeNode
HiddenPrefixTypeNode
HiddenSuffixTypeNode
MapTypeNode
NestedTypeNode
(helper)NumberTypeNode
OptionTypeNode
PostOffsetTypeNode
PreOffsetTypeNode
PublicKeyTypeNode
RemainderOptionTypeNode
SentinelTypeNode
SetTypeNode
SizePrefixTypeNode
SolAmountTypeNode
StringTypeNode
StructFieldTypeNode
StructTypeNode
TupleTypeNode
ZeroableOptionTypeNod
ValueNode
(abstract)