Documentation

    Transaction Builder

    Indexable

    • [key: number]: boolean
    Index

    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>, any, any> & {
                  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<ArrayBufferLike> | SerializedBcs<any, any>,
          ):
              | { $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] };
      }

      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>, any, any> & {
                  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<ArrayBufferLike> | SerializedBcs<any, any>,
          ):
              | { $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
        • Type Parameters

          Parameters

          Returns T

        • (
              value: Uint8Array<ArrayBufferLike> | SerializedBcs<any, any>,
          ):
              | { $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] }
        • Parameters

          • value: Uint8Array<ArrayBufferLike> | 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
              | { $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] }

      • 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

          Parameters

          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

          Parameters

          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<ArrayBufferLike>>

    • 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

      • transaction: string | Uint8Array<ArrayBufferLike> | Transaction

      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<ArrayBufferLike>

      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

    MMNEPVFCICPMFPCPTTAAATR