TS SDK Move Types
When developing on Aptos, and specifically working with the SDK, developers often need to handle Move types serialization and deserialization. Whether is to construct a transaction payload, build a raw transaction or read BCS data.
The SDK provides a convenient Move subclasses to easily interact with move types to perform serialization or deserialization operations.
Each class has a serialize
, serializeForEntryFunction
and serializeForScriptFunction
methods and a deserialize
static class.
In addition, for complex types like Vector
the SDK supports nested serialization and deserialization.
Move primitive types
Classes to handle Move primitive types:
- U8
- U16
- U32
- U64
- U128
- U256
- Bool
- AccountAddress
const serializer = new Serializer();
const u8 = new U8(1);
u8.serialize(serializer);
u8.serializeForEntryFunction(serializer);
u8.serializeForScriptFunction(serializer);
const deserializer = new Deserializer();
U8.deserialize(deserializer);
Move struct types
- MoveVector
- MoveString
- MoveOption
const serializer = new Serializer();
const moveString = new MoveString("hello world");
moveString.serialize(serializer);
moveString.serializeForEntryFunction(serializer);
moveString.serializeForScriptFunction(serializer);
const deserializer = new Deserializer();
MoveString.deserialize(deserializer);