Transaction Builder

Indexable

  • [key: number]: boolean

Constructors

  • Returns Transaction

Properties

object: {
    clock(): { $kind: "Input"; Input: number; type?: "object" };
    denyList(): { $kind: "Input"; Input: number; type?: "object" };
    option(
        __namedParameters: {
            type: string;
            value: null | TransactionObjectInput;
        },
    ): (tx: Transaction) => TransactionResult;
    random(): { $kind: "Input"; Input: number; type?: "object" };
    system(): { $kind: "Input"; Input: number; type?: "object" };
    (
        value: TransactionObjectInput,
    ): { $kind: "Input"; Input: number; type?: "object" };
} = ...

Add a new object input to the transaction.

Accessors

  • get blockData(): {
        expiration?: null
        | { Epoch: number }
        | { None: null | true };
        gasConfig: {
            budget?: string | number | bigint;
            owner?: string;
            payment?: {
                digest: string;
                objectId: string;
                version: string | number | bigint;
            }[];
            price?: string
            | number
            | bigint;
        };
        inputs: (
            | { index: number; kind: "Input"; type?: "object"; value: unknown }
            | { index: number; kind: "Input"; type: "pure"; value: unknown }
        )[];
        sender?: string;
        transactions: (
            | {
                arguments: (
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number }
                )[];
                kind: "MoveCall";
                target: `${string}::${string}::${string}`;
                typeArguments: string[];
            }
            | {
                address: | {
                    index: number;
                    kind: "Input";
                    type?: "object";
                    value: unknown;
                }
                | { index: number; kind: "Input"; type: "pure"; value: unknown }
                | { kind: "GasCoin" }
                | { index: number; kind: "Result" }
                | { index: number; kind: "NestedResult"; resultIndex: number };
                kind: "TransferObjects";
                objects: (
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number }
                )[];
            }
            | {
                amounts: (
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number }
                )[];
                coin:
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number };
                kind: "SplitCoins";
            }
            | {
                destination: | {
                    index: number;
                    kind: "Input";
                    type?: "object";
                    value: unknown;
                }
                | { index: number; kind: "Input"; type: "pure"; value: unknown }
                | { kind: "GasCoin" }
                | { index: number; kind: "Result" }
                | { index: number; kind: "NestedResult"; resultIndex: number };
                kind: "MergeCoins";
                sources: (
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number }
                )[];
            }
            | {
                kind: "MakeMoveVec";
                objects: (
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number }
                )[];
                type: { Some: TypeTag } | { None: null | true };
            }
            | { dependencies: string[]; kind: "Publish"; modules: number[][] }
            | {
                dependencies: string[];
                kind: "Upgrade";
                modules: number[][];
                packageId: string;
                ticket:
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number };
            }
        )[];
        version: 1;
    }
  • Returns {
        expiration?: null | { Epoch: number } | { None: null | true };
        gasConfig: {
            budget?: string | number | bigint;
            owner?: string;
            payment?: {
                digest: string;
                objectId: string;
                version: string | number | bigint;
            }[];
            price?: string
            | number
            | bigint;
        };
        inputs: (
            | { index: number; kind: "Input"; type?: "object"; value: unknown }
            | { index: number; kind: "Input"; type: "pure"; value: unknown }
        )[];
        sender?: string;
        transactions: (
            | {
                arguments: (
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number }
                )[];
                kind: "MoveCall";
                target: `${string}::${string}::${string}`;
                typeArguments: string[];
            }
            | {
                address: | {
                    index: number;
                    kind: "Input";
                    type?: "object";
                    value: unknown;
                }
                | { index: number; kind: "Input"; type: "pure"; value: unknown }
                | { kind: "GasCoin" }
                | { index: number; kind: "Result" }
                | { index: number; kind: "NestedResult"; resultIndex: number };
                kind: "TransferObjects";
                objects: (
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number }
                )[];
            }
            | {
                amounts: (
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number }
                )[];
                coin:
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number };
                kind: "SplitCoins";
            }
            | {
                destination: | {
                    index: number;
                    kind: "Input";
                    type?: "object";
                    value: unknown;
                }
                | { index: number; kind: "Input"; type: "pure"; value: unknown }
                | { kind: "GasCoin" }
                | { index: number; kind: "Result" }
                | { index: number; kind: "NestedResult"; resultIndex: number };
                kind: "MergeCoins";
                sources: (
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number }
                )[];
            }
            | {
                kind: "MakeMoveVec";
                objects: (
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number }
                )[];
                type: { Some: TypeTag } | { None: null | true };
            }
            | { dependencies: string[]; kind: "Publish"; modules: number[][] }
            | {
                dependencies: string[];
                kind: "Upgrade";
                modules: number[][];
                packageId: string;
                ticket:
                    | { index: number; kind: "Input"; type?: "object"; value: unknown }
                    | { index: number; kind: "Input"; type: "pure"; value: unknown }
                    | { kind: "GasCoin" }
                    | { index: number; kind: "Result" }
                    | { index: number; kind: "NestedResult"; resultIndex: number };
            }
        )[];
        version: 1;
    }

    Use getData() instead.

  • get gas(): { $kind: "GasCoin"; GasCoin: true }
  • Returns an argument for the gas coin, to be used in a transaction.

    Returns { $kind: "GasCoin"; GasCoin: true }

  • get pure(): {
        id: (
            value: string,
        ) =>
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        address(
            value: string,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        bool(
            value: boolean,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        option<Type extends PureTypeName>(
            type: Type,
            value: undefined | null | ShapeFromPureTypeName<Type>,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        string(
            value: string,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        u128(
            value: string | number | bigint,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        u16(
            value: number,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        u256(
            value: string | number | bigint,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        u32(
            value: number,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        u64(
            value: string | number | bigint,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        u8(
            value: number,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        vector<Type extends PureTypeName>(
            type: Type,
            value: Iterable<ShapeFromPureTypeName<Type>> & { length: number },
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        <T extends PureTypeName>(
            type: T extends PureTypeName ? ValidPureTypeName<T<T>> : T,
            value: ShapeFromPureTypeName<T>,
        ): T;
        (value: Uint8Array | SerializedBcs<any, any>): T;
    }
  • Returns {
        id: (
            value: string,
        ) =>
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        address(
            value: string,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        bool(
            value: boolean,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        option<Type extends PureTypeName>(
            type: Type,
            value: undefined | null | ShapeFromPureTypeName<Type>,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        string(
            value: string,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        u128(
            value: string | number | bigint,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        u16(
            value: number,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        u256(
            value: string | number | bigint,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        u32(
            value: number,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        u64(
            value: string | number | bigint,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        u8(
            value: number,
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        vector<Type extends PureTypeName>(
            type: Type,
            value: Iterable<ShapeFromPureTypeName<Type>> & { length: number },
        ):
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] };
        <T extends PureTypeName>(
            type: T extends PureTypeName ? ValidPureTypeName<T<T>> : T,
            value: ShapeFromPureTypeName<T>,
        ): T;
        (value: Uint8Array | SerializedBcs<any, any>): T;
    }

      • <T extends PureTypeName>(
            type: T extends PureTypeName ? ValidPureTypeName<T<T>> : T,
            value: ShapeFromPureTypeName<T>,
        ): T
      • Type Parameters

        • T extends PureTypeName

        Parameters

        • type: T extends PureTypeName ? ValidPureTypeName<T<T>> : T
        • value: ShapeFromPureTypeName<T>

        Returns T

      • (value: Uint8Array | SerializedBcs<any, any>): T
      • Parameters

        • value: Uint8Array | SerializedBcs<any, any>

          The pure value, serialized to BCS. If this is a Uint8Array, then the value is assumed to be raw bytes, and will be used directly.

        Returns T

    • id: (
          value: string,
      ) =>
          | { $kind: "GasCoin"; GasCoin: true }
          | { $kind: "Input"; Input: number; type?: "pure" }
          | { $kind: "Input"; Input: number; type?: "object" }
          | { $kind: "Result"; Result: number }
          | { $kind: "NestedResult"; NestedResult: [number, number] }
    • address:function
      • Parameters

        • value: string

        Returns
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] }

    • bool:function
      • Parameters

        • value: boolean

        Returns
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] }

    • option:function
      • Type Parameters

        • Type extends PureTypeName

        Parameters

        • type: Type
        • value: undefined | null | ShapeFromPureTypeName<Type>

        Returns
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] }

    • string:function
      • Parameters

        • value: string

        Returns
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] }

    • u128:function
      • Parameters

        • value: string | number | bigint

        Returns
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] }

    • u16:function
      • Parameters

        • value: number

        Returns
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] }

    • u256:function
      • Parameters

        • value: string | number | bigint

        Returns
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] }

    • u32:function
      • Parameters

        • value: number

        Returns
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] }

    • u64:function
      • Parameters

        • value: string | number | bigint

        Returns
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] }

    • u8:function
      • Parameters

        • value: number

        Returns
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] }

    • vector:function
      • Type Parameters

        • Type extends PureTypeName

        Parameters

        • type: Type
        • value: Iterable<ShapeFromPureTypeName<Type>> & { length: number }

        Returns
            | { $kind: "GasCoin"; GasCoin: true }
            | { $kind: "Input"; Input: number; type?: "pure" }
            | { $kind: "Input"; Input: number; type?: "object" }
            | { $kind: "Result"; Result: number }
            | { $kind: "NestedResult"; NestedResult: [number, number] }

Methods

  • Parameters

    Returns void

  • Build the transaction to BCS bytes.

    Parameters

    Returns Promise<Uint8Array>

  • Get a snapshot of the transaction data, in JSON form:

    Returns {
        commands: EnumOutputShapeWithKeys<
            {
                $Intent: {
                    data: { [key: string]: unknown };
                    inputs: {
                        [key: string]:
                            | { $kind: "GasCoin"; GasCoin: true }
                            | { $kind: "Input"; Input: number; type?: "pure" }
                            | { $kind: "Input"; Input: number; type?: "object" }
                            | { $kind: "Result"; Result: number }
                            | { $kind: "NestedResult"; NestedResult: [number, number] }
                            | (
                                | { $kind: "GasCoin"; GasCoin: true }
                                | { $kind: "Input"; Input: number; type?: (...) | (...) }
                                | { $kind: "Input"; Input: number; type?: (...) | (...) }
                                | { $kind: "Result"; Result: number }
                                | { $kind: "NestedResult"; NestedResult: [(...), (...)] }
                            )[];
                    };
                    name: string;
                };
                MakeMoveVec: {
                    elements: (
                        | { $kind: "GasCoin"; GasCoin: true }
                        | { $kind: "Input"; Input: number; type?: "pure" }
                        | { $kind: "Input"; Input: number; type?: "object" }
                        | { $kind: "Result"; Result: number }
                        | { $kind: "NestedResult"; NestedResult: [number, number] }
                    )[];
                    type: null | string;
                };
                MergeCoins: {
                    destination: | { $kind: "GasCoin"; GasCoin: true }
                    | { $kind: "Input"; Input: number; type?: "pure" }
                    | { $kind: "Input"; Input: number; type?: "object" }
                    | { $kind: "Result"; Result: number }
                    | { $kind: "NestedResult"; NestedResult: [number, number] };
                    sources: (
                        | { $kind: "GasCoin"; GasCoin: true }
                        | { $kind: "Input"; Input: number; type?: "pure" }
                        | { $kind: "Input"; Input: number; type?: "object" }
                        | { $kind: "Result"; Result: number }
                        | { $kind: "NestedResult"; NestedResult: [number, number] }
                    )[];
                };
                MoveCall: {
                    _argumentTypes?: | null
                    | { body: OpenMoveTypeSignatureBody; ref: null
                    | "&"
                    | "&mut" }[];
                    arguments: (
                        | { $kind: "GasCoin"; GasCoin: true }
                        | { $kind: "Input"; Input: number; type?: "pure" }
                        | { $kind: "Input"; Input: number; type?: "object" }
                        | { $kind: "Result"; Result: number }
                        | { $kind: "NestedResult"; NestedResult: [number, number] }
                    )[];
                    function: string;
                    module: string;
                    package: string;
                    typeArguments: string[];
                };
                Publish: { dependencies: string[]; modules: string[] };
                SplitCoins: {
                    amounts: (
                        | { $kind: "GasCoin"; GasCoin: true }
                        | { $kind: "Input"; Input: number; type?: "pure" }
                        | { $kind: "Input"; Input: number; type?: "object" }
                        | { $kind: "Result"; Result: number }
                        | { $kind: "NestedResult"; NestedResult: [number, number] }
                    )[];
                    coin:
                        | { $kind: "GasCoin"; GasCoin: true }
                        | { $kind: "Input"; Input: number; type?: "pure" }
                        | { $kind: "Input"; Input: number; type?: "object" }
                        | { $kind: "Result"; Result: number }
                        | { $kind: "NestedResult"; NestedResult: [number, number] };
                };
                TransferObjects: {
                    address: | { $kind: "GasCoin"; GasCoin: true }
                    | { $kind: "Input"; Input: number; type?: "pure" }
                    | { $kind: "Input"; Input: number; type?: "object" }
                    | { $kind: "Result"; Result: number }
                    | { $kind: "NestedResult"; NestedResult: [number, number] };
                    objects: (
                        | { $kind: "GasCoin"; GasCoin: true }
                        | { $kind: "Input"; Input: number; type?: "pure" }
                        | { $kind: "Input"; Input: number; type?: "object" }
                        | { $kind: "Result"; Result: number }
                        | { $kind: "NestedResult"; NestedResult: [number, number] }
                    )[];
                };
                Upgrade: {
                    dependencies: string[];
                    modules: string[];
                    package: string;
                    ticket: | { $kind: "GasCoin"; GasCoin: true }
                    | { $kind: "Input"; Input: number; type?: "pure" }
                    | { $kind: "Input"; Input: number; type?: "object" }
                    | { $kind: "Result"; Result: number }
                    | { $kind: "NestedResult"; NestedResult: [number, number] };
                };
            },
            | "MoveCall"
            | "TransferObjects"
            | "SplitCoins"
            | "MergeCoins"
            | "Publish"
            | "MakeMoveVec"
            | "Upgrade"
            | "$Intent",
        >[];
        expiration?: | null
        | EnumOutputShapeWithKeys<
            { Epoch: string
            | number; None: true },
            "None" | "Epoch",
        >;
        gasData: {
            budget: null | string | number;
            owner: null | string;
            payment:
                | null
                | { digest: string; objectId: string; version: string
                | number }[];
            price: null | string | number;
        };
        inputs: EnumOutputShapeWithKeys<
            {
                Object: EnumOutputShapeWithKeys<
                    {
                        ImmOrOwnedObject: {
                            digest: string;
                            objectId: string;
                            version: string
                            | number;
                        };
                        Receiving: {
                            digest: string;
                            objectId: string;
                            version: string
                            | number;
                        };
                        SharedObject: {
                            initialSharedVersion: string
                            | number;
                            mutable: boolean;
                            objectId: string;
                        };
                    },
                    "ImmOrOwnedObject"
                    | "SharedObject"
                    | "Receiving",
                >;
                Pure: { bytes: string };
                UnresolvedObject: {
                    digest?: null | string;
                    initialSharedVersion?: null | string | number;
                    objectId: string;
                    version?: null | string | number;
                };
                UnresolvedPure: { value: unknown };
            },
            "Pure"
            | "Object"
            | "UnresolvedPure"
            | "UnresolvedObject",
        >[];
        sender?: null | string;
        version: 2;
    }

  • Derive transaction digest

    Parameters

    Returns Promise<string>

  • Parameters

    • __namedParameters:
          | {
              arguments?: (SerializedBcs<any, any> | TransactionArgument)[];
              function: string;
              module: string;
              package: string;
              typeArguments?: string[];
          }
          | {
              arguments?: (SerializedBcs<any, any> | TransactionArgument)[];
              target: string;
              typeArguments?: string[];
          }

    Returns TransactionResult

  • Add a new object input to the transaction using the fully-resolved object reference. If you only have an object ID, use builder.object(id) instead.

    Parameters

    • ...args: [{ digest: string; objectId: string; version: string | number }]

    Returns { $kind: "Input"; Input: number; type?: "object" }

  • Parameters

    • __namedParameters: { dependencies: string[]; modules: string[] | number[][] }

    Returns TransactionResult

  • Add a new receiving input to the transaction using the fully-resolved object reference. If you only have an object ID, use builder.object(id) instead.

    Parameters

    • ...args: [{ digest: string; objectId: string; version: string | number }]

    Returns { $kind: "Input"; Input: number; type?: "object" }

  • Returns string

    Use toJSON instead. For synchronous serialization, you can use getData()

  • Parameters

    • Optionalexpiration: null | EnumInputShape<{ Epoch: string | number; None: true }>

    Returns void

  • Parameters

    • budget: number | bigint

    Returns void

  • Parameters

    • budget: number | bigint

    Returns void

  • Parameters

    • owner: string

    Returns void

  • Parameters

    • payments: { digest: string; objectId: string; version: string | number }[]

    Returns void

  • Parameters

    • price: number | bigint

    Returns void

  • Parameters

    • sender: string

    Returns void

  • Sets the sender only if it has not already been set. This is useful for sponsored transaction flows where the sender may not be the same as the signer address.

    Parameters

    • sender: string

    Returns void

  • Add a new shared object input to the transaction using the fully-resolved shared object reference. If you only have an object ID, use builder.object(id) instead.

    Parameters

    • ...args: [{ initialSharedVersion: string | number; mutable: boolean; objectId: string }]

    Returns { $kind: "Input"; Input: number; type?: "object" }

  • Build the transaction to BCS bytes, and sign it with the provided keypair.

    Parameters

    • options: SignOptions

    Returns Promise<SignatureWithBytes>

  • Type Parameters

    Parameters

    Returns { $kind: "Result"; Result: number } & {
        [K in string | number | symbol]: {
            $kind: "NestedResult";
            NestedResult: [number, number];
        }
    }

  • Parameters

    • __namedParameters: {
          dependencies: string[];
          modules: string[] | number[][];
          package: string;
          ticket: string | TransactionObjectArgument;
      }

    Returns TransactionResult

  • Converts from a serialized transaction format to a Transaction class. There are two supported serialized formats:

    • A string returned from Transaction#serialize. The serialized format must be compatible, or it will throw an error.
    • A byte array (or base64-encoded bytes) containing BCS transaction data.

    Parameters

    Returns Transaction

  • Converts from a serialize transaction kind (built with build({ onlyTransactionKind: true })) to a Transaction class. Supports either a byte array, or base64-encoded bytes.

    Parameters

    • serialized: string | Uint8Array

    Returns Transaction

  • Parameters

    Returns void

    global plugins should be registered with a name

  • Parameters

    Returns void

    global plugins should be registered with a name

  • Parameters

    Returns void

    global plugins should be registered with a name

  • Parameters

    Returns void

    global plugins should be registered with a name

  • Parameters

    • name: string

    Returns void

  • Parameters

    • name: string

    Returns void