@aptos-labs/ts-sdk
Version:
Aptos TypeScript SDK
60 lines • 2.87 kB
TypeScript
import { Serializer, Serializable } from "../serializer.js";
import { Deserializer } from "../deserializer.js";
import { FixedBytes } from "./fixedBytes.js";
import { EntryFunctionArgument } from "../../transactions/instances/transactionArgument.js";
/**
* This class exists solely to represent a sequence of fixed bytes as a serialized entry function, because
* serializing an entry function appends a prefix that's *only* used for entry function arguments.
*
* NOTE: Using this class for serialized script functions will lead to erroneous and unexpected behavior.
*
* If you wish to convert this class back to a TransactionArgument, you must know the type
* of the argument beforehand, and use the appropriate class to deserialize the bytes within
* an instance of this class.
* @group Implementation
* @category BCS
*/
export declare class EntryFunctionBytes extends Serializable implements EntryFunctionArgument {
readonly value: FixedBytes;
/**
* Creates an instance of the class with a specified hexadecimal input value.
*
* @param value - The hexadecimal input to be converted into FixedBytes.
* @group Implementation
* @category BCS
*/
private constructor();
/**
* Serializes the value using the provided serializer.
* This function is essential for accurately representing a sequence of bytes that are already BCS-serialized as a type.
*
* Note that to see the Move, BCS-serialized representation of the underlying fixed byte vector,
* we must not serialize the length prefix.
*
* @param serializer - The serializer instance used to perform the serialization.
* @group Implementation
* @category BCS
*/
serialize(serializer: Serializer): void;
/**
* Serializes the current instance for use as an entry function argument by converting the underlying fixed byte vector to a
* type-agnostic byte vector.
* This process includes serializing the length prefix of the byte vector.
*
* @param serializer - The serializer instance used to perform the serialization.
* @group Implementation
* @category BCS
*/
serializeForEntryFunction(serializer: Serializer): void;
/**
* The only way to create an instance of this class is to use this static method.
* This function should only be used when deserializing a sequence of EntryFunctionPayload arguments.
* @param deserializer - The deserializer instance with the buffered bytes.
* @param length - The length of the bytes to deserialize.
* @returns An instance of this class, which will now only be usable as an EntryFunctionArgument.
* @group Implementation
* @category BCS
*/
static deserialize(deserializer: Deserializer, length: number): EntryFunctionBytes;
}
//# sourceMappingURL=entryFunctionBytes.d.ts.map