JSPM

@layerzerolabs/lz-serdes

3.0.95-aptos-301.4
    • ESM via JSPM
    • ES Module Entrypoint
    • Export Map
    • Keywords
    • License
    • Repository URL
    • TypeScript Types
    • README
    • Created
    • Published
    • Downloads 12040
    • Score
      100M100P100Q150736F
    • License BUSL-1.1

    LayerZero Core Library

    Package Exports

    • @layerzerolabs/lz-serdes
    • @layerzerolabs/lz-serdes/package.json

    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}`);