| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import {
- accountNode,
- bytesTypeNode,
- bytesValueNode,
- constantPdaSeedNodeFromProgramId,
- definedTypeNode,
- errorNode,
- fieldDiscriminatorNode,
- fixedSizeTypeNode,
- instructionArgumentNode,
- instructionNode,
- pdaLinkNode,
- pdaNode,
- programNode,
- structTypeNode,
- } from '@codama/nodes';
- import { expect, test } from 'vitest';
- import { programNodeFromAnchorV00 } from '../../src';
- test('it creates program nodes', () => {
- const node = programNodeFromAnchorV00({
- accounts: [{ name: 'myAccount', seeds: [{ kind: 'programId' }], type: { fields: [], kind: 'struct' } }],
- errors: [{ code: 42, msg: 'my error message', name: 'myError' }],
- instructions: [{ accounts: [], args: [], name: 'myInstruction' }],
- metadata: { address: '1111', origin: 'shank' },
- name: 'myProgram',
- types: [{ name: 'myType', type: { fields: [], kind: 'struct' } }],
- version: '1.2.3',
- });
- expect(node).toEqual(
- programNode({
- accounts: [accountNode({ name: 'myAccount', pda: pdaLinkNode('myAccount') })],
- definedTypes: [definedTypeNode({ name: 'myType', type: structTypeNode([]) })],
- errors: [
- errorNode({
- code: 42,
- docs: ['myError: my error message'],
- message: 'my error message',
- name: 'myError',
- }),
- ],
- instructions: [
- instructionNode({
- arguments: [
- instructionArgumentNode({
- defaultValue: bytesValueNode('base16', (0).toString(16)),
- defaultValueStrategy: 'omitted',
- name: 'discriminator',
- type: fixedSizeTypeNode(bytesTypeNode(), 1),
- }),
- ],
- discriminators: [fieldDiscriminatorNode('discriminator')],
- name: 'myInstruction',
- }),
- ],
- name: 'myProgram',
- origin: 'shank',
- pdas: [pdaNode({ name: 'myAccount', seeds: [constantPdaSeedNodeFromProgramId()] })],
- publicKey: '1111',
- version: '1.2.3',
- }),
- );
- });
|