TransactionData: ObjectSchema<
    {
        commands: ArraySchema<
            EnumSchema<
                {
                    $Intent: ObjectSchema<
                        {
                            data: RecordSchema<
                                StringSchema<undefined>,
                                UnknownSchema,
                                undefined,
                            >;
                            inputs: RecordSchema<
                                StringSchema<undefined>,
                                UnionSchema<
                                    [GenericSchema<(...), (...)>, ArraySchema<(...), (...)>],
                                    undefined,
                                >,
                                undefined,
                            >;
                            name: StringSchema<undefined>;
                        },
                        undefined,
                    >;
                    MakeMoveVec: ObjectSchema<
                        {
                            elements: ArraySchema<
                                GenericSchema<
                                    | { GasCoin: ... }
                                    | { Input: ...; type?: ... }
                                    | { Result: ... }
                                    | { NestedResult: ... },

                                        | { $kind: ...; GasCoin: ... }
                                        | { $kind: ...; Input: ...; type?: ... }
                                        | { $kind: ...; Input: ...; type?: ... }
                                        | { $kind: ...; Result: ... }
                                        | { $kind: ...; NestedResult: ... },
                                >,
                                undefined,
                            >;
                            type: NullableSchema<StringSchema<undefined>, never>;
                        },
                        undefined,
                    >;
                    MergeCoins: ObjectSchema<
                        {
                            destination: GenericSchema<
                                | { GasCoin: true }
                                | { Input: number; type?: (...) | (...) | (...) }
                                | { Result: number }
                                | { NestedResult: [(...), (...)] },

                                    | { $kind: "GasCoin"; GasCoin: true }
                                    | { $kind: "Input"; Input: number; type?: (...) | (...) }
                                    | { $kind: "Input"; Input: number; type?: (...) | (...) }
                                    | { $kind: "Result"; Result: number }
                                    | { $kind: "NestedResult"; NestedResult: [(...), (...)] },
                            >;
                            sources: ArraySchema<
                                GenericSchema<
                                    | { GasCoin: ... }
                                    | { Input: ...; type?: ... }
                                    | { Result: ... }
                                    | { NestedResult: ... },

                                        | { $kind: ...; GasCoin: ... }
                                        | { $kind: ...; Input: ...; type?: ... }
                                        | { $kind: ...; Input: ...; type?: ... }
                                        | { $kind: ...; Result: ... }
                                        | { $kind: ...; NestedResult: ... },
                                >,
                                undefined,
                            >;
                        },
                        undefined,
                    >;
                    MoveCall: ObjectSchema<
                        {
                            _argumentTypes: OptionalSchema<
                                NullableSchema<
                                    ArraySchema<ObjectSchema<(...), (...)>, undefined>,
                                    never,
                                >,
                                never,
                            >;
                            arguments: ArraySchema<
                                GenericSchema<
                                    | { GasCoin: ... }
                                    | { Input: ...; type?: ... }
                                    | { Result: ... }
                                    | { NestedResult: ... },

                                        | { $kind: ...; GasCoin: ... }
                                        | { $kind: ...; Input: ...; type?: ... }
                                        | { $kind: ...; Input: ...; type?: ... }
                                        | { $kind: ...; Result: ... }
                                        | { $kind: ...; NestedResult: ... },
                                >,
                                undefined,
                            >;
                            function: StringSchema<undefined>;
                            module: StringSchema<undefined>;
                            package: SchemaWithPipe<
                                [
                                    StringSchema<undefined>,
                                    TransformAction<string, string>,
                                    CheckAction<string, undefined>,
                                ],
                            >;
                            typeArguments: ArraySchema<StringSchema<undefined>, undefined>;
                        },
                        undefined,
                    >;
                    Publish: ObjectSchema<
                        {
                            dependencies: ArraySchema<
                                SchemaWithPipe<
                                    [
                                        StringSchema<(...)>,
                                        TransformAction<(...), (...)>,
                                        CheckAction<(...), (...)>,
                                    ],
                                >,
                                undefined,
                            >;
                            modules: ArraySchema<StringSchema<undefined>, undefined>;
                        },
                        undefined,
                    >;
                    SplitCoins: ObjectSchema<
                        {
                            amounts: ArraySchema<
                                GenericSchema<
                                    | { GasCoin: ... }
                                    | { Input: ...; type?: ... }
                                    | { Result: ... }
                                    | { NestedResult: ... },

                                        | { $kind: ...; GasCoin: ... }
                                        | { $kind: ...; Input: ...; type?: ... }
                                        | { $kind: ...; Input: ...; type?: ... }
                                        | { $kind: ...; Result: ... }
                                        | { $kind: ...; NestedResult: ... },
                                >,
                                undefined,
                            >;
                            coin: GenericSchema<
                                | { GasCoin: true }
                                | { Input: number; type?: (...) | (...) | (...) }
                                | { Result: number }
                                | { NestedResult: [(...), (...)] },

                                    | { $kind: "GasCoin"; GasCoin: true }
                                    | { $kind: "Input"; Input: number; type?: (...) | (...) }
                                    | { $kind: "Input"; Input: number; type?: (...) | (...) }
                                    | { $kind: "Result"; Result: number }
                                    | { $kind: "NestedResult"; NestedResult: [(...), (...)] },
                            >;
                        },
                        undefined,
                    >;
                    TransferObjects: ObjectSchema<
                        {
                            address: GenericSchema<
                                | { GasCoin: true }
                                | { Input: number; type?: (...) | (...) | (...) }
                                | { Result: number }
                                | { NestedResult: [(...), (...)] },

                                    | { $kind: "GasCoin"; GasCoin: true }
                                    | { $kind: "Input"; Input: number; type?: (...) | (...) }
                                    | { $kind: "Input"; Input: number; type?: (...) | (...) }
                                    | { $kind: "Result"; Result: number }
                                    | { $kind: "NestedResult"; NestedResult: [(...), (...)] },
                            >;
                            objects: ArraySchema<
                                GenericSchema<
                                    | { GasCoin: ... }
                                    | { Input: ...; type?: ... }
                                    | { Result: ... }
                                    | { NestedResult: ... },

                                        | { $kind: ...; GasCoin: ... }
                                        | { $kind: ...; Input: ...; type?: ... }
                                        | { $kind: ...; Input: ...; type?: ... }
                                        | { $kind: ...; Result: ... }
                                        | { $kind: ...; NestedResult: ... },
                                >,
                                undefined,
                            >;
                        },
                        undefined,
                    >;
                    Upgrade: ObjectSchema<
                        {
                            dependencies: ArraySchema<
                                SchemaWithPipe<
                                    [
                                        StringSchema<(...)>,
                                        TransformAction<(...), (...)>,
                                        CheckAction<(...), (...)>,
                                    ],
                                >,
                                undefined,
                            >;
                            modules: ArraySchema<StringSchema<undefined>, undefined>;
                            package: SchemaWithPipe<
                                [
                                    StringSchema<undefined>,
                                    TransformAction<string, string>,
                                    CheckAction<string, undefined>,
                                ],
                            >;
                            ticket: GenericSchema<
                                | { GasCoin: true }
                                | { Input: number; type?: (...) | (...) | (...) }
                                | { Result: number }
                                | { NestedResult: [(...), (...)] },

                                    | { $kind: "GasCoin"; GasCoin: true }
                                    | { $kind: "Input"; Input: number; type?: (...) | (...) }
                                    | { $kind: "Input"; Input: number; type?: (...) | (...) }
                                    | { $kind: "Result"; Result: number }
                                    | { $kind: "NestedResult"; NestedResult: [(...), (...)] },
                            >;
                        },
                        undefined,
                    >;
                },
            >,
            undefined,
        >;
        expiration: NullishSchema<
            EnumSchema<
                {
                    Epoch: SchemaWithPipe<
                        [
                            UnionSchema<
                                [StringSchema<undefined>, SchemaWithPipe<[(...), (...)]>],
                                undefined,
                            >,
                            CheckAction<string | number, "Invalid u64">,
                        ],
                    >;
                    None: LiteralSchema<true, undefined>;
                },
            >,
            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<
            EnumSchema<
                {
                    Object: EnumSchema<
                        {
                            ImmOrOwnedObject: ObjectSchema<
                                {
                                    digest: StringSchema<undefined>;
                                    objectId: SchemaWithPipe<[(...), (...), (...)]>;
                                    version: SchemaWithPipe<[(...), (...)]>;
                                },
                                undefined,
                            >;
                            Receiving: ObjectSchema<
                                {
                                    digest: StringSchema<undefined>;
                                    objectId: SchemaWithPipe<[(...), (...), (...)]>;
                                    version: SchemaWithPipe<[(...), (...)]>;
                                },
                                undefined,
                            >;
                            SharedObject: ObjectSchema<
                                {
                                    initialSharedVersion: SchemaWithPipe<[(...), (...)]>;
                                    mutable: BooleanSchema<undefined>;
                                    objectId: SchemaWithPipe<[(...), (...), (...)]>;
                                },
                                undefined,
                            >;
                        },
                    >;
                    Pure: ObjectSchema<{ bytes: StringSchema<undefined> }, undefined>;
                    UnresolvedObject: ObjectSchema<
                        {
                            digest: OptionalSchema<
                                NullableSchema<StringSchema<undefined>, never>,
                                never,
                            >;
                            initialSharedVersion: OptionalSchema<
                                NullableSchema<SchemaWithPipe<[(...), (...)]>, never>,
                                never,
                            >;
                            objectId: SchemaWithPipe<
                                [
                                    StringSchema<undefined>,
                                    TransformAction<string, string>,
                                    CheckAction<string, undefined>,
                                ],
                            >;
                            version: OptionalSchema<
                                NullableSchema<SchemaWithPipe<[(...), (...)]>, never>,
                                never,
                            >;
                        },
                        undefined,
                    >;
                    UnresolvedPure: ObjectSchema<{ value: UnknownSchema }, undefined>;
                },
            >,
            undefined,
        >;
        sender: NullishSchema<
            SchemaWithPipe<
                [
                    StringSchema<undefined>,
                    TransformAction<string, string>,
                    CheckAction<string, undefined>,
                ],
            >,
            never,
        >;
        version: LiteralSchema<2, undefined>;
    },
    undefined,
> = ...