import * as borsh from 'borsh'; class Assignable { constructor(properties) { for (const [key, value] of Object.entries(properties)) { this[key] = value; } } } export enum SplMinterInstruction { Create = 0, Mint = 1, } export class CreateTokenArgs extends Assignable { toBuffer() { return Buffer.from(borsh.serialize(CreateTokenArgsSchema, this)); } } const CreateTokenArgsSchema = new Map([ [ CreateTokenArgs, { kind: 'struct', fields: [ ['instruction', 'u8'], ['token_title', 'string'], ['token_symbol', 'string'], ['token_uri', 'string'], ], }, ], ]); export class MintToArgs extends Assignable { toBuffer() { return Buffer.from(borsh.serialize(MintToArgsSchema, this)); } } const MintToArgsSchema = new Map([ [ MintToArgs, { kind: 'struct', fields: [ ['instruction', 'u8'], ['quantity', 'u64'], ], }, ], ]);