@metaplex-foundation/umi-serializers
Version:
A comprehensive set of serializers for the Umi framework
1 lines • 2.56 kB
Source Map (JSON)
{"version":3,"file":"publicKey.mjs","sources":["../../src/publicKey.ts"],"sourcesContent":["import {\n PUBLIC_KEY_LENGTH,\n PublicKey,\n PublicKeyInput,\n publicKeyBytes,\n publicKey as toPublicKey,\n} from '@metaplex-foundation/umi-public-keys';\nimport {\n BaseSerializerOptions,\n DeserializingEmptyBufferError,\n NotEnoughBytesError,\n Serializer,\n} from '@metaplex-foundation/umi-serializers-core';\n\n/**\n * Defines the options for `PublicKey` serializers.\n * @category Serializers\n */\nexport type PublicKeySerializerOptions = BaseSerializerOptions;\n\n/**\n * Creates a serializer for base58 encoded public keys.\n *\n * @param options - A set of options for the serializer.\n * @category Serializers\n */\nexport function publicKey(\n options: PublicKeySerializerOptions = {}\n): Serializer<PublicKeyInput, PublicKey> {\n return {\n description: options.description ?? 'publicKey',\n fixedSize: 32,\n maxSize: 32,\n serialize: (value: PublicKeyInput) => publicKeyBytes(toPublicKey(value)),\n deserialize: (bytes: Uint8Array, offset = 0) => {\n const pubkeyBytes = bytes.slice(offset, offset + 32);\n if (pubkeyBytes.length === 0) {\n throw new DeserializingEmptyBufferError('publicKey');\n }\n if (pubkeyBytes.length < PUBLIC_KEY_LENGTH) {\n throw new NotEnoughBytesError(\n 'publicKey',\n PUBLIC_KEY_LENGTH,\n pubkeyBytes.length\n );\n }\n return [toPublicKey(pubkeyBytes), offset + 32];\n },\n };\n}\n"],"names":["publicKey","options","description","fixedSize","maxSize","serialize","value","publicKeyBytes","toPublicKey","deserialize","bytes","offset","pubkeyBytes","slice","length","DeserializingEmptyBufferError","PUBLIC_KEY_LENGTH","NotEnoughBytesError"],"mappings":";;;AAcA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,SAAS,CACvBC,OAAmC,GAAG,EAAE,EACD;EACvC,OAAO;AACLC,IAAAA,WAAW,EAAED,OAAO,CAACC,WAAW,IAAI,WAAW;AAC/CC,IAAAA,SAAS,EAAE,EAAE;AACbC,IAAAA,OAAO,EAAE,EAAE;IACXC,SAAS,EAAGC,KAAqB,IAAKC,cAAc,CAACC,WAAW,CAACF,KAAK,CAAC,CAAC;AACxEG,IAAAA,WAAW,EAAE,CAACC,KAAiB,EAAEC,MAAM,GAAG,CAAC,KAAK;MAC9C,MAAMC,WAAW,GAAGF,KAAK,CAACG,KAAK,CAACF,MAAM,EAAEA,MAAM,GAAG,EAAE,CAAC,CAAA;AACpD,MAAA,IAAIC,WAAW,CAACE,MAAM,KAAK,CAAC,EAAE;AAC5B,QAAA,MAAM,IAAIC,6BAA6B,CAAC,WAAW,CAAC,CAAA;AACtD,OAAA;AACA,MAAA,IAAIH,WAAW,CAACE,MAAM,GAAGE,iBAAiB,EAAE;QAC1C,MAAM,IAAIC,mBAAmB,CAC3B,WAAW,EACXD,iBAAiB,EACjBJ,WAAW,CAACE,MAAM,CACnB,CAAA;AACH,OAAA;MACA,OAAO,CAACN,WAAW,CAACI,WAAW,CAAC,EAAED,MAAM,GAAG,EAAE,CAAC,CAAA;AAChD,KAAA;GACD,CAAA;AACH;;;;"}