@aptos-labs/ts-sdk - v5.1.4
    Preparing search index...

    Class MoveVector<T>

    This class is the Aptos Typescript SDK representation of a Move vector<T>, where T represents either a primitive type (bool, u8, u64, ...) or a BCS-serializable struct itself.

    It is a BCS-serializable, array-like type that contains an array of values of type T, where T is a class that implements Serializable.

    The purpose of this class is to facilitate easy construction of BCS-serializable Move vector<T> types.

    // in Move: `vector<u8> [1, 2, 3, 4];`
    const vecOfU8s = new MoveVector<U8>([new U8(1), new U8(2), new U8(3), new U8(4)]);
    // in Move: `std::bcs::to_bytes(vector<u8> [1, 2, 3, 4]);`
    const bcsBytes = vecOfU8s.toUint8Array();

    // vector<vector<u8>> [ vector<u8> [1], vector<u8> [1, 2, 3, 4], vector<u8> [5, 6, 7, 8] ];
    const vecOfVecs = new MoveVector<MoveVector<U8>>([
    new MoveVector<U8>([new U8(1)]),
    MoveVector.U8([1, 2, 3, 4]),
    MoveVector.U8([5, 6, 7, 8]),
    ]);

    // vector<Option<u8>> [ std::option::some<u8>(1), std::option::some<u8>(2) ];
    const vecOfOptionU8s = new MoveVector<MoveOption<U8>>([
    MoveOption.U8(1),
    MoveOption.U8(2),
    ]);

    // vector<MoveString> [ std::string::utf8(b"hello"), std::string::utf8(b"world") ];
    const vecOfStrings = new MoveVector([new MoveString("hello"), new MoveString("world")]);
    const vecOfStrings2 = MoveVector.MoveString(["hello", "world"]);

    an Array of values where T is a class that implements Serializable

    a MoveVector<T> with the values values

    Type Parameters

    Hierarchy (View Summary)

    Implements

    Index

    Implementation - BCS

    • Converts the BCS-serialized bytes of a value into a Hex instance. This function provides a Hex representation of the BCS-serialized data for easier handling and manipulation.

      Returns Hex

      A Hex instance with the BCS-serialized bytes loaded into its underlying Uint8Array.

    • Factory method to generate a MoveVector from a boolean or undefined. This method allows you to create an optional boolean value that can be used in various contexts where a boolean may or may not be present.

      Parameters

      • values: boolean[]

        The value used to fill the MoveVector. If value is undefined, the resulting MoveVector's .isSome() method will return false.

      Returns MoveVector<Bool>

      A MoveVector with an inner value value.

      * const v = MoveVector.Bool([true, false, true, false]);
      
    • Deserialize a MoveVector of type T, specifically where T is a Serializable and Deserializable type.

      NOTE: This only works with a depth of one. Generics will not work.

      NOTE: This will not work with types that aren't of the Serializable class.

      If you're looking for a more flexible deserialization function, you can use the deserializeVector function in the Deserializer class.

      Type Parameters

      Parameters

      • deserializer: Deserializer

        the Deserializer instance to use, with bytes loaded into it already.

      • cls: Deserializable<T>

        the class to typecast the input values to, must be a Serializable and Deserializable type.

      Returns MoveVector<T>

      a MoveVector of the corresponding class T

      const vec = MoveVector.deserialize(deserializer, U64);
      
    • Factory method to generate a MoveVector from a string or undefined. This function creates a MoveVector that encapsulates a MoveString if the provided value is not null or undefined.

      Parameters

      • values: string[]

        The value used to fill the MoveVector. If value is undefined, the resulting MoveVector's .isSome() method will return false.

      Returns MoveVector<MoveString>

      A MoveVector with an inner value value.

      const v = MoveVector.MoveString(["hello", "world"]);
      
    • Factory method to generate a MoveVector from a number, bigint, or undefined.

      Parameters

      • values: AnyNumber[]

        The value used to fill the MoveVector. If value is undefined, the resulting MoveVector's .isSome() method will return false.

      Returns MoveVector<U128>

      A MoveVector with an inner value value.

      const v = MoveVector.U128([1, 2, 3, 4]);
      
    • Factory method to generate a MoveOption from a number or null.

      This method allows you to create a MoveVector that can either hold a U16 value or be empty.

      Parameters

      • values: number[]

        The value used to fill the MoveVector. If value is null or undefined, the resulting MoveVector's .isSome() method will return false.

      Returns MoveVector<U16>

      A MoveVector with an inner value value.

      const v = MoveVector.U16([1, 2, 3, 4]);
      
    • Factory method to generate a MoveVector from a number, bigint, or null/undefined. This allows for the creation of an optional U256 value, enabling checks for presence or absence of a value.

      Parameters

      • values: AnyNumber[]

        The value used to fill the MoveVector. If value is undefined or null, the resulting MoveVector's .isSome() method will return false.

      Returns MoveVector<U256>

      A MoveVector with an inner value value.

      const v = MoveVector.U256([1, 2, 3, 4]);
      
    • Factory method to generate a MoveVector from a number or null.

      This method allows you to create a MoveVector that can either hold a U32 value or be empty.

      Parameters

      • values: number[]

        The value used to fill the MoveVector. If value is null or undefined, the resulting MoveVector's .isSome() method will return false.

      Returns MoveVector<U32>

      A MoveVector with an inner value value.

      const v = MoveVector.U32([1, 2, 3, 4]);
      
    • Factory method to generate a MoveVector from a number, bigint, or null/undefined. This allows for the creation of an optional U64 value that can be checked for presence.

      Parameters

      • values: AnyNumber[]

        The value used to fill the MoveVector. If value is undefined or null, the resulting MoveVector's .isSome() method will return false.

      Returns MoveVector<U64>

      A MoveVector with an inner value value.

      const v = MoveVector.U64([1, 2, 3, 4]);
      
    • Factory method to generate a MoveVector from a number or undefined.

      This method allows you to create a MoveVector that encapsulates a U8 value, enabling you to handle optional U8 values effectively.

      Parameters

      • values: HexInput | number[]

        The values used to fill the MoveVector. If values is undefined or null, the resulting MoveVector's .isSome() method will return false.

      Returns MoveVector<U8>

      A MoveVector with an inner value value.

      const v = MoveVector.U8([1, 2, 3, 4]);
      

    Methods

    • Returns the hex string representation of the Serializable value with the 0x prefix.

      Returns string

      the hex formatas a string prefixed by 0x.

    Properties

    values: T[]