SerializedTransactionDataV2: ObjectSchema<
    {
        commands: ArraySchema<
            GenericSchema<
                EnumInputShape<
                    {
                        $Intent: {
                            data: { [key: string]: unknown };
                            inputs: {
                                [key: string]:
                                    | EnumInputShape<
                                        { GasCoin: ...; Input: ...; NestedResult: ...; Result: ... },
                                    >
                                    | EnumInputShape<(...)>[];
                            };
                            name: string;
                        };
                        MakeMoveVec: {
                            elements: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [(...), (...)];
                                    Result: number;
                                },
                            >[];
                            type: null
                            | string;
                        };
                        MergeCoins: {
                            destination: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [number, number];
                                    Result: number;
                                },
                            >;
                            sources: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [(...), (...)];
                                    Result: number;
                                },
                            >[];
                        };
                        MoveCall: {
                            arguments: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [(...), (...)];
                                    Result: number;
                                },
                            >[];
                            function: string;
                            module: string;
                            package: string;
                            typeArguments: string[];
                        };
                        Publish: { dependencies: string[]; modules: string[] };
                        SplitCoins: {
                            amounts: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [(...), (...)];
                                    Result: number;
                                },
                            >[];
                            coin: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [number, number];
                                    Result: number;
                                },
                            >;
                        };
                        TransferObjects: {
                            address: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [number, number];
                                    Result: number;
                                },
                            >;
                            objects: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [(...), (...)];
                                    Result: number;
                                },
                            >[];
                        };
                        Upgrade: {
                            dependencies: string[];
                            modules: string[];
                            package: string;
                            ticket: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [number, number];
                                    Result: number;
                                },
                            >;
                        };
                    },
                >,
                EnumInputShape<
                    {
                        $Intent: {
                            data: { [key: string]: unknown };
                            inputs: {
                                [key: string]:
                                    | EnumInputShape<
                                        { GasCoin: ...; Input: ...; NestedResult: ...; Result: ... },
                                    >
                                    | EnumInputShape<(...)>[];
                            };
                            name: string;
                        };
                        MakeMoveVec: {
                            elements: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [(...), (...)];
                                    Result: number;
                                },
                            >[];
                            type: null
                            | string;
                        };
                        MergeCoins: {
                            destination: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [number, number];
                                    Result: number;
                                },
                            >;
                            sources: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [(...), (...)];
                                    Result: number;
                                },
                            >[];
                        };
                        MoveCall: {
                            arguments: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [(...), (...)];
                                    Result: number;
                                },
                            >[];
                            function: string;
                            module: string;
                            package: string;
                            typeArguments: string[];
                        };
                        Publish: { dependencies: string[]; modules: string[] };
                        SplitCoins: {
                            amounts: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [(...), (...)];
                                    Result: number;
                                },
                            >[];
                            coin: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [number, number];
                                    Result: number;
                                },
                            >;
                        };
                        TransferObjects: {
                            address: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [number, number];
                                    Result: number;
                                },
                            >;
                            objects: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [(...), (...)];
                                    Result: number;
                                },
                            >[];
                        };
                        Upgrade: {
                            dependencies: string[];
                            modules: string[];
                            package: string;
                            ticket: EnumInputShape<
                                {
                                    GasCoin: true;
                                    Input: number;
                                    NestedResult: [number, number];
                                    Result: number;
                                },
                            >;
                        };
                    },
                >,
            >,
            undefined,
        >;
        expiration: NullishSchema<
            GenericSchema<
                EnumInputShape<{ Epoch: string | number; None: true }>,
                EnumInputShape<{ Epoch: string | number; None: true }>,
            >,
            never,
        >;
        gasData: ObjectSchema<
            {
                budget: NullableSchema<
                    SchemaWithPipe<
                        [
                            UnionSchema<
                                [StringSchema<undefined>, SchemaWithPipe<[(...), (...)]>],
                                undefined,
                            >,
                            CheckAction<string | number, "Invalid u64">,
                        ],
                    >,
                    never,
                >;
                owner: NullableSchema<
                    SchemaWithPipe<
                        [
                            StringSchema<undefined>,
                            TransformAction<string, string>,
                            CheckAction<string, undefined>,
                        ],
                    >,
                    never,
                >;
                payment: NullableSchema<
                    ArraySchema<
                        ObjectSchema<
                            {
                                digest: StringSchema<undefined>;
                                objectId: SchemaWithPipe<
                                    [
                                        StringSchema<(...)>,
                                        TransformAction<(...), (...)>,
                                        CheckAction<(...), (...)>,
                                    ],
                                >;
                                version: SchemaWithPipe<
                                    [UnionSchema<(...), (...)>, CheckAction<(...), (...)>],
                                >;
                            },
                            undefined,
                        >,
                        undefined,
                    >,
                    never,
                >;
                price: NullableSchema<
                    SchemaWithPipe<
                        [
                            UnionSchema<
                                [StringSchema<undefined>, SchemaWithPipe<[(...), (...)]>],
                                undefined,
                            >,
                            CheckAction<string | number, "Invalid u64">,
                        ],
                    >,
                    never,
                >;
            },
            undefined,
        >;
        inputs: ArraySchema<
            GenericSchema<
                EnumInputShape<
                    {
                        Object: EnumInputShape<
                            {
                                ImmOrOwnedObject: {
                                    digest: string;
                                    objectId: string;
                                    version: string
                                    | number;
                                };
                                Receiving: {
                                    digest: string;
                                    objectId: string;
                                    version: string
                                    | number;
                                };
                                SharedObject: {
                                    initialSharedVersion: string
                                    | number;
                                    mutable: boolean;
                                    objectId: string;
                                };
                            },
                        >;
                        Pure: { bytes: string };
                        UnresolvedObject: {
                            digest?: null | string;
                            initialSharedVersion?: null | string | number;
                            objectId: string;
                            version?: null | string | number;
                        };
                        UnresolvedPure: { value: unknown };
                    },
                >,
                EnumInputShape<
                    {
                        Object: EnumInputShape<
                            {
                                ImmOrOwnedObject: {
                                    digest: string;
                                    objectId: string;
                                    version: string
                                    | number;
                                };
                                Receiving: {
                                    digest: string;
                                    objectId: string;
                                    version: string
                                    | number;
                                };
                                SharedObject: {
                                    initialSharedVersion: string
                                    | number;
                                    mutable: boolean;
                                    objectId: string;
                                };
                            },
                        >;
                        Pure: { bytes: string };
                        UnresolvedObject: {
                            digest?: null | string;
                            initialSharedVersion?: null | string | number;
                            objectId: string;
                            version?: null | string | number;
                        };
                        UnresolvedPure: { value: unknown };
                    },
                >,
            >,
            undefined,
        >;
        sender: NullishSchema<
            SchemaWithPipe<
                [
                    StringSchema<undefined>,
                    TransformAction<string, string>,
                    CheckAction<string, undefined>,
                ],
            >,
            never,
        >;
        version: LiteralSchema<2, undefined>;
    },
    undefined,
> = ...