JSPM

@layerzerolabs/lz-serdes

3.0.75-test.0
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 12262
    • Score
      100M100P100Q155024F
    • License BUSL-1.1

    LayerZero Core Library

    Package Exports

      Readme

      @layerzerolabs/lz-serdes

      The LayerZero SerDes package provides essential functions and interfaces for serialization and deserialization of data. It includes utilities for serializing and deserializing various data types.

      Features

      • Serialization: Serialize various data types into bytes.
      • Deserialization: Deserialize bytes into various data types.

      Installation

      To install the LayerZero SerDes package, you can use npm or yarn:

      npm install @layerzerolabs/lz-serdes

      or

      yarn add @layerzerolabs/lz-serdes

      Usage

      Serialization

      Class representing a serializer for various data types.

      • serializeStr(value: string): void: Serializes a string.
      • serializeBytes(value: Bytes): void: Serializes an array of bytes.
      • serializeBool(value: boolean): void: Serializes a boolean value.
      • serializeU8(value: Uint8): void: Serializes a uint8 number.
      • serializeU16(value: Uint16): void: Serializes a uint16 number.
      • serializeU32(value: Uint32): void: Serializes a uint32 number.
      • serializeU64(value: AnyNumber): void: Serializes a uint64 number.
      • serializeU128(value: AnyNumber): void: Serializes a uint128 number.
      • serializeU256(value: AnyNumber): void: Serializes a uint256 number.
      • getBytes(): Bytes: Returns the buffered bytes.
      import { Serializer } from "@layerzerolabs/lz-serdes";
      
      const serializer = new Serializer();
      serializer.serializeStr("Hello, world!");
      const bytes = serializer.getBytes();
      console.log(`Serialized bytes: ${bytes}`);

      Deserialization

      Class representing a deserializer for various data types.

      • deserializeStr(): string: Deserializes a string.
      • deserializeBytes(): Bytes: Deserializes an array of bytes.
      • deserializeBool(): boolean: Deserializes a boolean value.
      • deserializeU8(): Uint8: Deserializes a uint8 number.
      • deserializeU16(): Uint16: Deserializes a uint16 number.
      • deserializeU32(): Uint32: Deserializes a uint32 number.
      • deserializeU64(): Uint64: Deserializes a uint64 number.
      • deserializeU128(): Uint128: Deserializes a uint128 number.
      • deserializeU256(): Uint256: Deserializes a uint256 number.
      import { Deserializer } from "@layerzerolabs/lz-serdes";
      
      const bytes = new Uint8Array([
        12, 72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33,
      ]);
      const deserializer = new Deserializer(bytes);
      const str = deserializer.deserializeStr();
      console.log(`Deserialized string: ${str}`);

      BCS Serialization

      Serialize a uint64 Value

      Serializes a uint64 value to bytes using BCS.

      • value: The value to serialize.
      • Returns: The serialized bytes.
      import { bcsSerializeUint64 } from "@layerzerolabs/lz-serdes";
      
      const value = 123456789n;
      const bytes = bcsSerializeUint64(value);
      console.log(`Serialized uint64 bytes: ${bytes}`);

      Serialize a String

      Serializes a string value to bytes using BCS.

      • value: The value to serialize.
      • Returns: The serialized bytes.
      import { bcsSerializeStr } from "@layerzerolabs/lz-serdes";
      
      const value = "Hello, world!";
      const bytes = bcsSerializeStr(value);
      console.log(`Serialized string bytes: ${bytes}`);