codama-idl / codama

Generate clients, CLIs, documentation and more from your Solana programs
MIT License
73 stars 16 forks source link

Add default value to `variablePdaSeedNode` #107

Open lorisleiva opened 3 months ago

lorisleiva commented 3 months ago

This could be useful when we know the value of a PDA seed most of the time but would like to allow users to override it when necessary.

For instance, in the following example, we could parameterize the tokenProgram seed whilst making the SPL token the default value.

const node = pdaNode({
    name: 'associatedToken',
    seeds: [
        variablePdaSeedNode('mint', publicKeyTypeNode()),
        constantPdaSeedNode(
            publicKeyTypeNode(),
            publicKeyValueNode('TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'),
        ),
        variablePdaSeedNode('owner', publicKeyTypeNode()),
    ],
});