The BCS-deserializable class to deserialize the buffered bytes into.
the deserialized value of class type T
Deserializes a an optional deserializable class.
BCS layout for Optional
The BCS-deserializable class to deserialize the buffered bytes into.
the deserialized value of class type T
const deserializer = new Deserializer(new Uint8Array([1, 2, 3]));
const value = deserializer.deserializeOption(MyClass); // where MyClass has a `deserialize` function
// value is now an instance of MyClass
const deserializer = new Deserializer(new Uint8Array([0]));
const value = deserializer.deserializeOption(MyClass); // where MyClass has a `deserialize` function
// value is undefined
Deserializes a string. UTF8 string is supported. Reads the string's bytes length "l" first, and then reads "l" bytes of content. Decodes the byte array into a string.
BCS layout for "string": string_length | string_content where string_length is a u32 integer encoded as a uleb128 integer, equal to the number of bytes in string_content.
Deserializes an array of BCS Deserializable values given an existing Deserializer instance with a loaded byte buffer.
The BCS-deserializable class to deserialize the buffered bytes into.
an array of deserialized values of type T
// serialize a vector of addresses
const addresses = new Array<AccountAddress>(
AccountAddress.from("0x1"),
AccountAddress.from("0x2"),
AccountAddress.from("0xa"),
AccountAddress.from("0xb"),
);
const serializer = new Serializer();
serializer.serializeVector(addresses);
const serializedBytes = serializer.toUint8Array();
// deserialize the bytes into an array of addresses
const deserializer = new Deserializer(serializedBytes);
const deserializedAddresses = deserializer.deserializeVector(AccountAddress);
// deserializedAddresses is now an array of AccountAddress instances
Helper function that primarily exists to support alternative syntax for deserialization. That is, if we have a
const deserializer: new Deserializer(...)
, instead of having to useMyClass.deserialize(deserializer)
, we can calldeserializer.deserialize(MyClass)
.