UNPKG

@solana/spl-name-service

Version:

SPL Name Service JavaScript API

28 lines 1.04 kB
import { PublicKey } from '@solana/web3.js'; import { deserialize } from 'borsh'; export class NameRegistryState { constructor(obj) { this.parentName = new PublicKey(obj.parentName); this.owner = new PublicKey(obj.owner); this.class = new PublicKey(obj.class); } static async retrieve(connection, nameAccountKey) { const nameAccount = await connection.getAccountInfo(nameAccountKey, 'processed'); if (!nameAccount) { throw new Error('Invalid name account provided'); } const deserialized = deserialize(this.schema, nameAccount.data); const res = new NameRegistryState(deserialized); res.data = nameAccount.data?.slice(this.HEADER_LEN); return res; } } NameRegistryState.HEADER_LEN = 96; NameRegistryState.schema = { struct: { parentName: { array: { type: 'u8', len: 32 } }, owner: { array: { type: 'u8', len: 32 } }, class: { array: { type: 'u8', len: 32 } }, }, }; //# sourceMappingURL=state.js.map