| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import {
- accountNode,
- numberTypeNode,
- pdaLinkNode,
- publicKeyTypeNode,
- sizeDiscriminatorNode,
- structFieldTypeNode,
- structTypeNode,
- } from '@kinobi-so/nodes';
- import test from 'ava';
- import {
- deleteNodesVisitorMacro,
- getDebugStringVisitorMacro,
- identityVisitorMacro,
- mergeVisitorMacro,
- } from './_setup.js';
- const node = accountNode({
- data: structTypeNode([
- structFieldTypeNode({ name: 'mint', type: publicKeyTypeNode() }),
- structFieldTypeNode({ name: 'owner', type: publicKeyTypeNode() }),
- structFieldTypeNode({ name: 'amount', type: numberTypeNode('u64') }),
- ]),
- discriminators: [sizeDiscriminatorNode(72)],
- name: 'token',
- pda: pdaLinkNode('associatedToken'),
- size: 72,
- });
- test(mergeVisitorMacro, node, 10);
- test(identityVisitorMacro, node);
- test(deleteNodesVisitorMacro, node, '[accountNode]', null);
- test(deleteNodesVisitorMacro, node, '[pdaLinkNode]', accountNode({ ...node, pda: undefined }));
- test(
- getDebugStringVisitorMacro,
- node,
- `
- accountNode [token]
- | structTypeNode
- | | structFieldTypeNode [mint]
- | | | publicKeyTypeNode
- | | structFieldTypeNode [owner]
- | | | publicKeyTypeNode
- | | structFieldTypeNode [amount]
- | | | numberTypeNode [u64]
- | pdaLinkNode [associatedToken]
- | sizeDiscriminatorNode [72]`,
- );
|